Revision: 201031
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Wed, 18 Aug 2010 10:06:46 +0300
changeset 40 2cb9bae34d17
parent 31 f1bdd6b078d1
child 49 37f5d84451bd
Revision: 201031 Kit: 201033
fep/aknfep/CenRep/keys_aknfep.xls
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/data/AknFepUiAvkonPlugin.rss
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/group/AknFepUiAvkonPlugin.mmp
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/group/bld.inf
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepAvkonCandidatePopup.h
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepIndicatorAvkon.h
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepPredOwnWordsModel.h
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepPredictiveSettingData.h
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepPredictiveSettingDialog.h
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepPredictiveSettingList.h
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepQuery.h
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlCandidatePane.h
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlCandidateSelected.h
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlContainerChinese.h
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlContainerJapanese.h
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlDualLanguageSetting.hrh
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlDualLanguageSettingData.h
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlDualLanguageSettingDialog.h
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlDualLanguageSettingList.h
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlDualLanguageSettingModel.h
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlInputPane.h
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlJapaneseCandidateCellListBoxData.h
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlJapaneseCandidateHeadingPane.h
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlJapaneseCandidateListbox.h
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlJapaneseCandidateListboxView.h
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlJapaneseCandidatePane.h
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlJapaneseKutenQueryDialog.h
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlJapanesePredictiveCellListBoxData.h
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlJapanesePredictiveListBoxModel.h
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlJapanesePredictiveListbox.h
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlJapanesePredictiveListboxItemDrawer.h
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlJapanesePredictiveListboxView.h
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlJapanesePredictivePane.h
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlPinyinPopup.h
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUiAvkonCtrlExactWordPopupContent.h
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUiAvkonImpl.h
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUiAvkonMenus.h
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUiAvkonStylusPopUpMenu.h
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUiInterfacePanic.h
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUserDictionaryEditDialog.h
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/aknfepchineseuidataconv.h
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/aknfepuictrleepcontrol.h
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/aknfepuictrleepcontrol.inl
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/aknfepuictrlpinyineep.h
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/aknfepuilayoutdatamgr.h
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/insertionpoint.h
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepAvkonCandidatePopup.cpp
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepIndicatorAvkon.cpp
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepPredOwnWordsModel.cpp
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepPredictiveSettingData.cpp
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepPredictiveSettingDialog.cpp
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepPredictiveSettingList.cpp
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepQuery.cpp
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlCandidatePane.cpp
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlCandidateSelected.cpp
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlContainerChinese.cpp
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlContainerJapanese.cpp
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlDualLanguageSettingData.cpp
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlDualLanguageSettingDialog.cpp
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlDualLanguageSettingList.cpp
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlDualLanguageSettingModel.cpp
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlExactWordPopupContent.cpp
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlInputPane.cpp
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlJapaneseCandidateCellListBoxData.cpp
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlJapaneseCandidateHeadingPane.cpp
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlJapaneseCandidateListbox.cpp
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlJapaneseCandidateListboxView.cpp
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlJapaneseCandidatePane.cpp
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlJapaneseKutenQueryDialog.cpp
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlJapanesePredictiveCellListBoxData.cpp
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlJapanesePredictiveListBoxModel.cpp
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlJapanesePredictiveListbox.cpp
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlJapanesePredictiveListboxItemDrawer.cpp
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlJapanesePredictiveListboxView.cpp
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlJapanesePredictivePane.cpp
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlPinyinPopup.cpp
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonImpl.cpp
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonMenus.cpp
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonPlugin.cpp
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonStylusPopUpMenu.cpp
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUserDictionaryEditDialog.cpp
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/aknfepchineseuidataconv.cpp
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/aknfepuictrleepcontrol.cpp
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/aknfepuictrlpinyineep.cpp
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/aknfepuilayoutdatamgr.cpp
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/insertionpoint.cpp
fep/aknfep/UiPlugins/AknFepUiInterface/bwins/aknfepuiinterfaceu.def
fep/aknfep/UiPlugins/AknFepUiInterface/eabi/aknfepuiinterfaceu.def
fep/aknfep/UiPlugins/AknFepUiInterface/group/AknFepUiInterface.mmp
fep/aknfep/UiPlugins/AknFepUiInterface/group/bld.inf
fep/aknfep/UiPlugins/AknFepUiInterface/inc/AknFepCandidatePopup.h
fep/aknfep/UiPlugins/AknFepUiInterface/inc/AknFepCandidatePopupCallback.h
fep/aknfep/UiPlugins/AknFepUiInterface/inc/AknFepIndicator.h
fep/aknfep/UiPlugins/AknFepUiInterface/inc/AknFepUICtrlCandidatePane.h
fep/aknfep/UiPlugins/AknFepUiInterface/inc/AknFepUICtrlCandidatePaneInterface.h
fep/aknfep/UiPlugins/AknFepUiInterface/inc/AknFepUICtrlCandidateSelected.h
fep/aknfep/UiPlugins/AknFepUiInterface/inc/AknFepUICtrlContainerJapanese.h
fep/aknfep/UiPlugins/AknFepUiInterface/inc/AknFepUICtrlInputPane.h
fep/aknfep/UiPlugins/AknFepUiInterface/inc/AknFepUICtrlPinyinPopup.h
fep/aknfep/UiPlugins/AknFepUiInterface/inc/AknFepUiCtrlContainerChinese.h
fep/aknfep/UiPlugins/AknFepUiInterface/inc/AknFepUiInterfacePlugin.h
fep/aknfep/UiPlugins/AknFepUiInterface/inc/AknFepUiStylusPopupMenu.h
fep/aknfep/UiPlugins/AknFepUiInterface/inc/AknFepUiWordPopupContent.h
fep/aknfep/UiPlugins/AknFepUiInterface/inc/aknfepuictrleditentrypopup.h
fep/aknfep/UiPlugins/AknFepUiInterface/inc/aknfepuictrleditpane.h
fep/aknfep/UiPlugins/AknFepUiInterface/src/AknFepIndicator.cpp
fep/aknfep/UiPlugins/AknFepUiInterface/src/AknFepUiInterface.cpp
fep/aknfep/UiPlugins/AknFepUiInterface/src/AknFepUiMenus.cpp
fep/aknfep/conf/aknfep.confml
fep/aknfep/conf/aknfep_101F876D.crml
fep/aknfep/conf/aknfep_japan.confml
fep/aknfep/conf/aknfep_thai.confml
fep/aknfep/group/AknFep.mmp
fep/aknfep/group/Iconlist.txt
fep/aknfep/group/aknfep_Data/ARM4_UDEB/TargetDataWindows.tdt
fep/aknfep/group/aknfep_Data/ARM4_UREL/TargetDataWindows.tdt
fep/aknfep/group/aknfep_icons.mk
fep/aknfep/group/aknfep_icons_dc.mk
fep/aknfep/group/bld.inf
fep/aknfep/group/fep.ini
fep/aknfep/group/fep_ecom.ini
fep/aknfep/inc/AknFep.hrh
fep/aknfep/inc/AknFepCaseManager.h
fep/aknfep/inc/AknFepFnKeyManager.h
fep/aknfep/inc/AknFepHashKeyManager.h
fep/aknfep/inc/AknFepInlineTextDecorator.h
fep/aknfep/inc/AknFepKeyCatcher.h
fep/aknfep/inc/AknFepLanguageManager.h
fep/aknfep/inc/AknFepManager.h
fep/aknfep/inc/AknFepManagerInterface.h
fep/aknfep/inc/AknFepManagerUIInterface.h
fep/aknfep/inc/AknFepPanic.h
fep/aknfep/inc/AknFepPlugin.h
fep/aknfep/inc/AknFepPluginManager.h
fep/aknfep/inc/AknFepPluginMenuManager.h
fep/aknfep/inc/AknFepSharedDataInterface.h
fep/aknfep/inc/AknFepThaiSCTSelector.h
fep/aknfep/inc/AknFepUIInputStateEntryMiniQwertyCangJie.h
fep/aknfep/inc/AknFepUIInputStateEntryMiniQwertyPinyinPhrase.h
fep/aknfep/inc/AknFepUIInputStateEntryThaiMultitap.h
fep/aknfep/inc/AknFepUIInputStateInitialIndicMultitap.h
fep/aknfep/inc/AknFepUIInputStateInitialThaiMultitap.h
fep/aknfep/inc/AknFepUIInputStateInitialVietnameseMultitap.h
fep/aknfep/inc/AknFepUIManagerJapanese.h
fep/aknfep/inc/AknFepUIManagerStateInterface.h
fep/aknfep/inc/AknFepUiIndicEnums.h
fep/aknfep/inc/AknFepUiIndicInputManager.h
fep/aknfep/inc/AknFepUiInputStateBase.h
fep/aknfep/inc/AknFepUiInputStateCandidate.h
fep/aknfep/inc/AknFepUiInputStateCandidateBase.h
fep/aknfep/inc/AknFepUiInputStateCandidateBaseChinesePhrase.h
fep/aknfep/inc/AknFepUiInputStateCandidateBasePhrase.h
fep/aknfep/inc/AknFepUiInputStateCandidateChinese.h
fep/aknfep/inc/AknFepUiInputStateCandidateChinesePhrase.h
fep/aknfep/inc/AknFepUiInputStateCandidateHalfQwertyChinesePhrase.h
fep/aknfep/inc/AknFepUiInputStateCandidateHiraganaKanji.h
fep/aknfep/inc/AknFepUiInputStateCandidateMiniQwertyPinyinAndStrokePhrase.h
fep/aknfep/inc/AknFepUiInputStateCandidateMiniQwertyZhuyinPhrase.h
fep/aknfep/inc/AknFepUiInputStateCandidatePhrase.h
fep/aknfep/inc/AknFepUiInputStateCandidatePinyinAndStrokePhrase.h
fep/aknfep/inc/AknFepUiInputStateCandidateQwerty.h
fep/aknfep/inc/AknFepUiInputStateCandidateQwertyBase.h
fep/aknfep/inc/AknFepUiInputStateCandidateQwertyBaseChinesePhrase.h
fep/aknfep/inc/AknFepUiInputStateCandidateQwertyBasePhrase.h
fep/aknfep/inc/AknFepUiInputStateCandidateQwertyChinese.h
fep/aknfep/inc/AknFepUiInputStateCandidateQwertyChineseBase.h
fep/aknfep/inc/AknFepUiInputStateCandidateQwertyChinesePhrase.h
fep/aknfep/inc/AknFepUiInputStateCandidateQwertyPhrase.h
fep/aknfep/inc/AknFepUiInputStateCandidateQwertyZhuyin.h
fep/aknfep/inc/AknFepUiInputStateCandidateQwertyZhuyinPhrase.h
fep/aknfep/inc/AknFepUiInputStateCandidateRetroActive.h
fep/aknfep/inc/AknFepUiInputStateChineseBase.h
fep/aknfep/inc/AknFepUiInputStateChineseBaseQwerty.h
fep/aknfep/inc/AknFepUiInputStateChineseFindQwerty.h
fep/aknfep/inc/AknFepUiInputStateCompletionHiraganaKanji.h
fep/aknfep/inc/AknFepUiInputStateCompletionJapaneseMultitap.h
fep/aknfep/inc/AknFepUiInputStateCompletionKatakana.h
fep/aknfep/inc/AknFepUiInputStateCompletionLatinJapanese.h
fep/aknfep/inc/AknFepUiInputStateCompletionPredictiveHiraganaKanji.h
fep/aknfep/inc/AknFepUiInputStateConversionHiraganaKanji.h
fep/aknfep/inc/AknFepUiInputStateEntryArabicHebrewPredictive.h
fep/aknfep/inc/AknFepUiInputStateEntryHalfQwertyWesternPredictive.h
fep/aknfep/inc/AknFepUiInputStateEntryHiraganaKanji.h
fep/aknfep/inc/AknFepUiInputStateEntryIndicPredictive.h
fep/aknfep/inc/AknFepUiInputStateEntryJapaneseMultitap.h
fep/aknfep/inc/AknFepUiInputStateEntryKatakana.h
fep/aknfep/inc/AknFepUiInputStateEntryLatinJapanese.h
fep/aknfep/inc/AknFepUiInputStateEntryMiniQwertyZhuyinPhrase.h
fep/aknfep/inc/AknFepUiInputStateEntryPinyin.h
fep/aknfep/inc/AknFepUiInputStateEntryPinyinPhrase.h
fep/aknfep/inc/AknFepUiInputStateEntryQwertyBase.h
fep/aknfep/inc/AknFepUiInputStateEntryQwertyBaseChinesePhrase.h
fep/aknfep/inc/AknFepUiInputStateEntryQwertyBasePhrase.h
fep/aknfep/inc/AknFepUiInputStateEntryQwertyCangJie.h
fep/aknfep/inc/AknFepUiInputStateEntryQwertyPinyin.h
fep/aknfep/inc/AknFepUiInputStateEntryQwertyPinyinPhrase.h
fep/aknfep/inc/AknFepUiInputStateEntryQwertyStroke.h
fep/aknfep/inc/AknFepUiInputStateEntryQwertyStrokePhrase.h
fep/aknfep/inc/AknFepUiInputStateEntryQwertyWesternPredictive.h
fep/aknfep/inc/AknFepUiInputStateEntryQwertyZhuyin.h
fep/aknfep/inc/AknFepUiInputStateEntryQwertyZhuyinPhrase.h
fep/aknfep/inc/AknFepUiInputStateEntryStroke.h
fep/aknfep/inc/AknFepUiInputStateEntryStrokePhrase.h
fep/aknfep/inc/AknFepUiInputStateEntryThaiPredictive.h
fep/aknfep/inc/AknFepUiInputStateEntryVietnamesePredictive.h
fep/aknfep/inc/AknFepUiInputStateEntryWesternPredictive.h
fep/aknfep/inc/AknFepUiInputStateEntryWesternPredictiveJp.h
fep/aknfep/inc/AknFepUiInputStateEntryZhuyin.h
fep/aknfep/inc/AknFepUiInputStateEntryZhuyinPhrase.h
fep/aknfep/inc/AknFepUiInputStateEntryZhuyinStrokeBase.h
fep/aknfep/inc/AknFepUiInputStateEntryZhuyinStrokeBasePhrase.h
fep/aknfep/inc/AknFepUiInputStateHalfQwerty.h
fep/aknfep/inc/AknFepUiInputStateInitialArabicHebrewMultitap.h
fep/aknfep/inc/AknFepUiInputStateInitialArabicHebrewPredictive.h
fep/aknfep/inc/AknFepUiInputStateInitialChineseGeneric.h
fep/aknfep/inc/AknFepUiInputStateInitialChineseGenericHalfQwerty.h
fep/aknfep/inc/AknFepUiInputStateInitialChineseGenericQwerty.h
fep/aknfep/inc/AknFepUiInputStateInitialChineseMultitapBase.h
fep/aknfep/inc/AknFepUiInputStateInitialFullNumber.h
fep/aknfep/inc/AknFepUiInputStateInitialHalfQwertyWesternPredictive.h
fep/aknfep/inc/AknFepUiInputStateInitialHiragana.h
fep/aknfep/inc/AknFepUiInputStateInitialHiraganaKanji.h
fep/aknfep/inc/AknFepUiInputStateInitialIndicPredictive.h
fep/aknfep/inc/AknFepUiInputStateInitialJapaneseBase.h
fep/aknfep/inc/AknFepUiInputStateInitialKatakana.h
fep/aknfep/inc/AknFepUiInputStateInitialKoreanMultitap.h
fep/aknfep/inc/AknFepUiInputStateInitialLatinJapanese.h
fep/aknfep/inc/AknFepUiInputStateInitialLatinMultitap.h
fep/aknfep/inc/AknFepUiInputStateInitialMultitapBase.h
fep/aknfep/inc/AknFepUiInputStateInitialNumber.h
fep/aknfep/inc/AknFepUiInputStateInitialQwertyWesternPredictive.h
fep/aknfep/inc/AknFepUiInputStateInitialStrokeFind.h
fep/aknfep/inc/AknFepUiInputStateInitialThaiPredictive.h
fep/aknfep/inc/AknFepUiInputStateInitialWesternPredictive.h
fep/aknfep/inc/AknFepUiInputStateInitialZhuyinFind.h
fep/aknfep/inc/AknFepUiInputStateJapaneseBase.h
fep/aknfep/inc/AknFepUiInputStateJapanesePredictiveBase.h
fep/aknfep/inc/AknFepUiInputStateNextWordJapanesePredictive.h
fep/aknfep/inc/AknFepUiInputStatePredictiveCandidate.h
fep/aknfep/inc/AknFepUiInputStatePredictiveCandidateChinesePhrase.h
fep/aknfep/inc/AknFepUiInputStatePredictiveCandidateHalfQwertyChinesePhrase.h
fep/aknfep/inc/AknFepUiInputStatePredictiveCandidateMiniQwertyChinesePhrase.h
fep/aknfep/inc/AknFepUiInputStatePredictiveCandidatePhrase.h
fep/aknfep/inc/AknFepUiInputStatePredictiveCandidatePinyin.h
fep/aknfep/inc/AknFepUiInputStatePredictiveCandidatePinyinPhrase.h
fep/aknfep/inc/AknFepUiInputStatePredictiveCandidateQwertyZhuyin.h
fep/aknfep/inc/AknFepUiInputStatePredictiveCandidateQwertyZhuyinPhrase.h
fep/aknfep/inc/AknFepUiInputStatePredictiveCandidateStroke.h
fep/aknfep/inc/AknFepUiInputStatePredictiveCandidateStrokePhrase.h
fep/aknfep/inc/AknFepUiInputStatePredictiveInput.h
fep/aknfep/inc/AknFepUiInputStatePredictiveInputChinese.h
fep/aknfep/inc/AknFepUiInputStatePredictiveInputChinesePhrase.h
fep/aknfep/inc/AknFepUiInputStatePredictiveInputJapanese.h
fep/aknfep/inc/AknFepUiInputStatePredictiveInputMiniQwertyChinesePhrase.h
fep/aknfep/inc/AknFepUiInputStatePredictiveInputPhrase.h
fep/aknfep/inc/AknFepUiInputStatePredictiveInputQwerty.h
fep/aknfep/inc/AknFepUiInputStatePredictiveInputQwertyChinesePhrase.h
fep/aknfep/inc/AknFepUiInputStatePredictiveInputQwertyPhrase.h
fep/aknfep/inc/AknFepUiInputStatePredictiveInputQwertyPinyin.h
fep/aknfep/inc/AknFepUiInputStatePredictiveInputQwertyPinyinPhrase.h
fep/aknfep/inc/AknFepUiInputStatePredictiveInputQwertyStroke.h
fep/aknfep/inc/AknFepUiInputStatePredictiveInputQwertyStrokePhrase.h
fep/aknfep/inc/AknFepUiInputStatePredictiveInputQwertyZhuyin.h
fep/aknfep/inc/AknFepUiInputStatePredictiveInputQwertyZhuyinPhrase.h
fep/aknfep/inc/AknFepUiInputStateQwerty.h
fep/aknfep/inc/AknFepUiInputStateQwertyKorean.h
fep/aknfep/inc/AknFepUiInputStateZhuyinFindQwerty.h
fep/aknfep/inc/AknFepUiInputStatelStrokeFindQwerty.h
fep/aknfep/inc/AknFepUiManagerBase.h
fep/aknfep/inc/AknFepUiManagerChinese.h
fep/aknfep/inc/AknFepUiManagerKorean.h
fep/aknfep/inc/AknFepUiManagerWestern.h
fep/aknfep/inc/AknFepVietnameseInputTables.h
fep/aknfep/inc/AknFepVietnameseToneManager.h
fep/aknfep/inc/AknFepZhuyinAnalyser.h
fep/aknfep/inc/AknFepZhuyinAnalyserDb.h
fep/aknfep/inc/AknFepZhuyinAnalyserDb.inl
fep/aknfep/inc/aknfepinputstatecandidatepinyinphrasecreation.h
fep/aknfep/inc/aknfepinputstateminiqwertyzhuyinkeymap.h
fep/aknfep/inc/aknfepinputstatepinyinphrasecreationbase.h
fep/aknfep/inc/aknfepinputstatespellingpinyinphrasecreation.h
fep/aknfep/inc/aknfeppeninputimeplugin.h
fep/aknfep/inc/aknfepuifingeritutinputstategeneric.h
fep/aknfep/inc/aknfepuiinputminiqwertypinyinphrasebase.h
fep/aknfep/inc/aknfepuiinputminiqwertystrokephrasebase.h
fep/aknfep/inc/aknfepuiinputminiqwertyzhuyinphrasebase.h
fep/aknfep/inc/aknfepuiinputstateentryhalfqwertyphrase.h
fep/aknfep/inc/aknfepuiinputstateentrypinyinphrasecreation.h
fep/aknfep/inc/aknfepuiinputstateentryzhuyinphrasecreation.h
fep/aknfep/inc/aknfepuiinputstateindicphoneticqwerty.h
fep/aknfep/inc/aknfepuiinputstateinitialindicphoneticmultitap.h
fep/aknfep/inc/aknfepuiinputstateminiqwertystrokephrase.h
fep/aknfep/inc/aknfepuiinputstateminiqwertyzhuyinphrase.h
fep/aknfep/inc/aknfepuiinputstatestrokephrasebase.h
fep/aknfep/inc/aknfepuiinputstatezhuyinphrasecreationbase.h
fep/aknfep/inc/aknfepuimanagerfingeritutchinese.h
fep/aknfep/inc/aknfepuispellcontainer.h
fep/aknfep/inc/aknfepuispellinputpane.h
fep/aknfep/inc/aknfepuserdbdlg.h
fep/aknfep/inc/aknfepuserdbquerydlg.h
fep/aknfep/inc/aknfepzhuyinconvertion.h
fep/aknfep/inc/aknfepzhuyinkeyhandler.h
fep/aknfep/inc/aknfepzhuyinkeyhandlerinterface.h
fep/aknfep/inc/dbmanagement.h
fep/aknfep/peninputplugins/PeninputPluginKr/data/E95A395D.rss
fep/aknfep/peninputplugins/PeninputPluginKr/data/PeninputPluginKr.loc
fep/aknfep/peninputplugins/PeninputPluginKr/data/PeninputPluginKrRes.rss
fep/aknfep/peninputplugins/PeninputPluginKr/group/PeninputPluginKr.mmp
fep/aknfep/peninputplugins/PeninputPluginKr/group/bld.inf
fep/aknfep/peninputplugins/PeninputPluginKr/group/peninputpluginkrproxy.d
fep/aknfep/peninputplugins/PeninputPluginKr/inc/PeninputImePluginKr.h
fep/aknfep/peninputplugins/PeninputPluginKr/inc/PeninputPluginKr.h
fep/aknfep/peninputplugins/PeninputPluginKr/inc/PeninputPluginKr.hrh
fep/aknfep/peninputplugins/PeninputPluginKr/inc/PeninputPluginKr.pan
fep/aknfep/peninputplugins/PeninputPluginKr/inc/PeninputPluginKrDbg.h
fep/aknfep/peninputplugins/PeninputPluginKr/inc/PluginKrFepManagerBase.h
fep/aknfep/peninputplugins/PeninputPluginKr/inc/PluginKrFepManagerHwr.h
fep/aknfep/peninputplugins/PeninputPluginKr/inc/PluginKrFepManagerItut.h
fep/aknfep/peninputplugins/PeninputPluginKr/inc/PluginKrFepManagerVkb.h
fep/aknfep/peninputplugins/PeninputPluginKr/sis/PeninputPluginKr_EKA2.pkg
fep/aknfep/peninputplugins/PeninputPluginKr/sis/PeninputPluginKr_stub.pkg
fep/aknfep/peninputplugins/PeninputPluginKr/sis/PeninputPluginKr_stub.sis
fep/aknfep/peninputplugins/PeninputPluginKr/src/PeninputPluginKr.cpp
fep/aknfep/peninputplugins/PeninputPluginKr/src/PeninputPluginKrDllMain.cpp
fep/aknfep/peninputplugins/PeninputPluginKr/src/PeninputPluginKrProxy.cpp
fep/aknfep/peninputplugins/PeninputPluginKr/src/PluginKrFepManagerBase.cpp
fep/aknfep/peninputplugins/PeninputPluginKr/src/PluginKrFepManagerHwr.cpp
fep/aknfep/peninputplugins/PeninputPluginKr/src/PluginKrFepManagerItut.cpp
fep/aknfep/peninputplugins/PeninputPluginKr/src/PluginKrFepManagerVkb.cpp
fep/aknfep/peninputplugins/peninputimeplugincn/group/bld.inf
fep/aknfep/peninputplugins/peninputimeplugincn/group/peninputimeplugincn.mmp
fep/aknfep/peninputplugins/peninputimeplugincn/inc/peninputimeplugincn.h
fep/aknfep/peninputplugins/peninputimeplugincn/inc/peninputimeplugincn.inl
fep/aknfep/peninputplugins/peninputimeplugincn/inc/peninputimeplugincndebug.h
fep/aknfep/peninputplugins/peninputimeplugincn/inc/pluginfepmanagerbase.h
fep/aknfep/peninputplugins/peninputimeplugincn/inc/pluginfepmanagerhwr.h
fep/aknfep/peninputplugins/peninputimeplugincn/inc/pluginfepmanagervkb.h
fep/aknfep/peninputplugins/peninputimeplugincn/src/peninputimeplugincn.cpp
fep/aknfep/peninputplugins/peninputimeplugincn/src/peninputimeplugincnmain.cpp
fep/aknfep/peninputplugins/peninputimeplugincn/src/peninputimeplugincnproxy.cpp
fep/aknfep/peninputplugins/peninputimeplugincn/src/pluginfepmanagerbase.cpp
fep/aknfep/peninputplugins/peninputimeplugincn/src/pluginfepmanagerhwr.cpp
fep/aknfep/peninputplugins/peninputimeplugincn/src/pluginfepmanagervkb.cpp
fep/aknfep/peninputplugins/peninputimeplugincn/srcdata/10207361.rss
fep/aknfep/peninputplugins/peninputimeplugingeneric/group/bld.inf
fep/aknfep/peninputplugins/peninputimeplugingeneric/group/peninputimeplugingeneric.mmp
fep/aknfep/peninputplugins/peninputimeplugingeneric/inc/peninputimeplugingeneric.h
fep/aknfep/peninputplugins/peninputimeplugingeneric/inc/peninputimeplugingeneric.inl
fep/aknfep/peninputplugins/peninputimeplugingeneric/inc/peninputimeplugingenericdebug.h
fep/aknfep/peninputplugins/peninputimeplugingeneric/inc/pluginfepmanagerbase.h
fep/aknfep/peninputplugins/peninputimeplugingeneric/inc/pluginfepmanagerhwr.h
fep/aknfep/peninputplugins/peninputimeplugingeneric/inc/pluginfepmanagervkb.h
fep/aknfep/peninputplugins/peninputimeplugingeneric/src/peninputimeplugingeneric.cpp
fep/aknfep/peninputplugins/peninputimeplugingeneric/src/peninputimeplugingenericmain.cpp
fep/aknfep/peninputplugins/peninputimeplugingeneric/src/peninputimeplugingenericproxy.cpp
fep/aknfep/peninputplugins/peninputimeplugingeneric/src/pluginfepmanagerbase.cpp
fep/aknfep/peninputplugins/peninputimeplugingeneric/src/pluginfepmanagerhwr.cpp
fep/aknfep/peninputplugins/peninputimeplugingeneric/src/pluginfepmanagervkb.cpp
fep/aknfep/peninputplugins/peninputimeplugingeneric/srcdata/1028235F.rss
fep/aknfep/peninputplugins/peninputimepluginitut/group/bld.inf
fep/aknfep/peninputplugins/peninputimepluginitut/group/peninputimepluginitut.mmp
fep/aknfep/peninputplugins/peninputimepluginitut/inc/peninputimepluginitut.h
fep/aknfep/peninputplugins/peninputimepluginitut/inc/peninputimepluginitut.inl
fep/aknfep/peninputplugins/peninputimepluginitut/inc/peninputimepluginitutdebug.h
fep/aknfep/peninputplugins/peninputimepluginitut/inc/pluginfepmanagerbase.h
fep/aknfep/peninputplugins/peninputimepluginitut/inc/pluginfepmanageritut.h
fep/aknfep/peninputplugins/peninputimepluginitut/src/peninputimepluginitut.cpp
fep/aknfep/peninputplugins/peninputimepluginitut/src/peninputimepluginitutmain.cpp
fep/aknfep/peninputplugins/peninputimepluginitut/src/peninputimepluginitutproxy.cpp
fep/aknfep/peninputplugins/peninputimepluginitut/src/pluginfepmanagerbase.cpp
fep/aknfep/peninputplugins/peninputimepluginitut/src/pluginfepmanageritut.cpp
fep/aknfep/peninputplugins/peninputimepluginitut/srcdata/2000B133.rss
fep/aknfep/peninputplugins/peninputimepluginjp/group/bld.inf
fep/aknfep/peninputplugins/peninputimepluginjp/group/peninputimepluginjp.mmp
fep/aknfep/peninputplugins/peninputimepluginjp/inc/peninputimepluginjp.h
fep/aknfep/peninputplugins/peninputimepluginjp/inc/peninputimepluginjp.inl
fep/aknfep/peninputplugins/peninputimepluginjp/inc/peninputimepluginjpdebug.h
fep/aknfep/peninputplugins/peninputimepluginjp/inc/pluginfepmanagerbase.h
fep/aknfep/peninputplugins/peninputimepluginjp/inc/pluginfepmanagerhwr.h
fep/aknfep/peninputplugins/peninputimepluginjp/inc/pluginfepmanagervkb.h
fep/aknfep/peninputplugins/peninputimepluginjp/src/peninputimepluginjp.cpp
fep/aknfep/peninputplugins/peninputimepluginjp/src/peninputimepluginjpmain.cpp
fep/aknfep/peninputplugins/peninputimepluginjp/src/peninputimepluginjpproxy.cpp
fep/aknfep/peninputplugins/peninputimepluginjp/src/pluginfepmanagerbase.cpp
fep/aknfep/peninputplugins/peninputimepluginjp/src/pluginfepmanagerhwr.cpp
fep/aknfep/peninputplugins/peninputimepluginjp/src/pluginfepmanagervkb.cpp
fep/aknfep/peninputplugins/peninputimepluginjp/srcdata/10282419.rss
fep/aknfep/resource/100056de.rss
fep/aknfep/resource/AknFep.rss
fep/aknfep/rom/PeninputPluginKr.iby
fep/aknfep/rom/aknfepResources.iby
fep/aknfep/rom/aknfep_variant.iby
fep/aknfep/rom/aknfepuiinterface.iby
fep/aknfep/rom/peninputimeplugincn_Variant.iby
fep/aknfep/rom/peninputimeplugingeneric.iby
fep/aknfep/rom/peninputimepluginitut_Variant.iby
fep/aknfep/rom/peninputimepluginjp_Variant.iby
fep/aknfep/src/AknFepCaseManager.cpp
fep/aknfep/src/AknFepFnKeyManager.cpp
fep/aknfep/src/AknFepHashKeyManager.cpp
fep/aknfep/src/AknFepInlineTextDecorator.cpp
fep/aknfep/src/AknFepInputStateInitialChineseGenericHalfQwerty.cpp
fep/aknfep/src/AknFepKeyCatcher.cpp
fep/aknfep/src/AknFepLanguageManager.cpp
fep/aknfep/src/AknFepManager.cpp
fep/aknfep/src/AknFepPlugin.cpp
fep/aknfep/src/AknFepPluginManager.cpp
fep/aknfep/src/AknFepPluginMenuManager.cpp
fep/aknfep/src/AknFepSharedDataInterface.cpp
fep/aknfep/src/AknFepThaiSCTSelector.cpp
fep/aknfep/src/AknFepUIInputStateEntryMiniQwertyCangJie.cpp
fep/aknfep/src/AknFepUIInputStateEntryMiniQwertyPinyinPhrase.cpp
fep/aknfep/src/AknFepUIInputStatePredictiveInputMiniQwertyChinesePhrase.cpp
fep/aknfep/src/AknFepUiIndicInputManager.cpp
fep/aknfep/src/AknFepUiInputSAknFepUiInputStateCandidateQwertyStrokePhrase.cpp
fep/aknfep/src/AknFepUiInputStateBase.cpp
fep/aknfep/src/AknFepUiInputStateCandidate.cpp
fep/aknfep/src/AknFepUiInputStateCandidateBase.cpp
fep/aknfep/src/AknFepUiInputStateCandidateBaseChinesePhrase.cpp
fep/aknfep/src/AknFepUiInputStateCandidateBasePhrase.cpp
fep/aknfep/src/AknFepUiInputStateCandidateChinese.cpp
fep/aknfep/src/AknFepUiInputStateCandidateChinesePhrase.cpp
fep/aknfep/src/AknFepUiInputStateCandidateHalfQwertyChinesePhrase.cpp
fep/aknfep/src/AknFepUiInputStateCandidateHiraganaKanji.cpp
fep/aknfep/src/AknFepUiInputStateCandidateMiniQwertyPinyinAndStrokePhrase.cpp
fep/aknfep/src/AknFepUiInputStateCandidateMiniQwertyZhuyinPhrase.cpp
fep/aknfep/src/AknFepUiInputStateCandidatePhrase.cpp
fep/aknfep/src/AknFepUiInputStateCandidatePinyinAndStrokePhrase.cpp
fep/aknfep/src/AknFepUiInputStateCandidateQwerty.cpp
fep/aknfep/src/AknFepUiInputStateCandidateQwertyBase.cpp
fep/aknfep/src/AknFepUiInputStateCandidateQwertyBaseChinesePhrase.cpp
fep/aknfep/src/AknFepUiInputStateCandidateQwertyBasePhrase.cpp
fep/aknfep/src/AknFepUiInputStateCandidateQwertyChinese.cpp
fep/aknfep/src/AknFepUiInputStateCandidateQwertyChineseBase.cpp
fep/aknfep/src/AknFepUiInputStateCandidateQwertyChinesePhrase.cpp
fep/aknfep/src/AknFepUiInputStateCandidateQwertyPhrase.cpp
fep/aknfep/src/AknFepUiInputStateCandidateQwertyStrokePhrase.cpp
fep/aknfep/src/AknFepUiInputStateCandidateQwertyZhuyin.cpp
fep/aknfep/src/AknFepUiInputStateCandidateQwertyZhuyinPhrase.cpp
fep/aknfep/src/AknFepUiInputStateCandidateRetroActive.cpp
fep/aknfep/src/AknFepUiInputStateChineseBase.cpp
fep/aknfep/src/AknFepUiInputStateChineseBaseQwerty.cpp
fep/aknfep/src/AknFepUiInputStateChineseFindQwerty.cpp
fep/aknfep/src/AknFepUiInputStateCompletionHiraganaKanji.cpp
fep/aknfep/src/AknFepUiInputStateCompletionJapaneseMultitap.cpp
fep/aknfep/src/AknFepUiInputStateCompletionKatakana.cpp
fep/aknfep/src/AknFepUiInputStateCompletionLatinJapanese.cpp
fep/aknfep/src/AknFepUiInputStateCompletionPredictiveHiraganaKanji.cpp
fep/aknfep/src/AknFepUiInputStateConversionHiraganaKanji.cpp
fep/aknfep/src/AknFepUiInputStateEntryArabicHebrewPredictive.cpp
fep/aknfep/src/AknFepUiInputStateEntryHalfQwertyWesternPredictive.cpp
fep/aknfep/src/AknFepUiInputStateEntryHiraganaKanji.cpp
fep/aknfep/src/AknFepUiInputStateEntryIndicPredictive.cpp
fep/aknfep/src/AknFepUiInputStateEntryJapaneseMultitap.cpp
fep/aknfep/src/AknFepUiInputStateEntryKatakana.cpp
fep/aknfep/src/AknFepUiInputStateEntryLatinJapanese.cpp
fep/aknfep/src/AknFepUiInputStateEntryMiniQwertyZhuyinPhrase.cpp
fep/aknfep/src/AknFepUiInputStateEntryPinyin.cpp
fep/aknfep/src/AknFepUiInputStateEntryPinyinPhrase.cpp
fep/aknfep/src/AknFepUiInputStateEntryQwertyBase.cpp
fep/aknfep/src/AknFepUiInputStateEntryQwertyBaseChinesePhrase.cpp
fep/aknfep/src/AknFepUiInputStateEntryQwertyBasePhrase.cpp
fep/aknfep/src/AknFepUiInputStateEntryQwertyCangJie.cpp
fep/aknfep/src/AknFepUiInputStateEntryQwertyPinyin.cpp
fep/aknfep/src/AknFepUiInputStateEntryQwertyPinyinPhrase.cpp
fep/aknfep/src/AknFepUiInputStateEntryQwertyStroke.cpp
fep/aknfep/src/AknFepUiInputStateEntryQwertyStrokePhrase.cpp
fep/aknfep/src/AknFepUiInputStateEntryQwertyWesternPredictive.cpp
fep/aknfep/src/AknFepUiInputStateEntryQwertyZhuyin.cpp
fep/aknfep/src/AknFepUiInputStateEntryQwertyZhuyinPhrase.cpp
fep/aknfep/src/AknFepUiInputStateEntryStroke.cpp
fep/aknfep/src/AknFepUiInputStateEntryStrokePhrase.cpp
fep/aknfep/src/AknFepUiInputStateEntryThaiPredictive.cpp
fep/aknfep/src/AknFepUiInputStateEntryVietnamesePredictive.cpp
fep/aknfep/src/AknFepUiInputStateEntryWesternPredictive.cpp
fep/aknfep/src/AknFepUiInputStateEntryWesternPredictiveJp.cpp
fep/aknfep/src/AknFepUiInputStateEntryZhuyin.cpp
fep/aknfep/src/AknFepUiInputStateEntryZhuyinPhrase.cpp
fep/aknfep/src/AknFepUiInputStateEntryZhuyinStrokeBase.cpp
fep/aknfep/src/AknFepUiInputStateEntryZhuyinStrokeBasePhrase.cpp
fep/aknfep/src/AknFepUiInputStateHalfQwerty.cpp
fep/aknfep/src/AknFepUiInputStateInitialArabicHebrewMultitap.cpp
fep/aknfep/src/AknFepUiInputStateInitialArabicHebrewPredictive.cpp
fep/aknfep/src/AknFepUiInputStateInitialChineseGeneric.cpp
fep/aknfep/src/AknFepUiInputStateInitialChineseGenericQwerty.cpp
fep/aknfep/src/AknFepUiInputStateInitialChineseMultitapBase.cpp
fep/aknfep/src/AknFepUiInputStateInitialFullNumber.cpp
fep/aknfep/src/AknFepUiInputStateInitialHalfQwertyWesternPredictive.cpp
fep/aknfep/src/AknFepUiInputStateInitialHiragana.cpp
fep/aknfep/src/AknFepUiInputStateInitialHiraganaKanji.cpp
fep/aknfep/src/AknFepUiInputStateInitialIndicMultitap.cpp
fep/aknfep/src/AknFepUiInputStateInitialIndicPredictive.cpp
fep/aknfep/src/AknFepUiInputStateInitialJapaneseBase.cpp
fep/aknfep/src/AknFepUiInputStateInitialKatakana.cpp
fep/aknfep/src/AknFepUiInputStateInitialKoreanMultitap.cpp
fep/aknfep/src/AknFepUiInputStateInitialLatinJapanese.cpp
fep/aknfep/src/AknFepUiInputStateInitialLatinMultitap.cpp
fep/aknfep/src/AknFepUiInputStateInitialMultitapBase.cpp
fep/aknfep/src/AknFepUiInputStateInitialNumber.cpp
fep/aknfep/src/AknFepUiInputStateInitialQwertyWesternPredictive.cpp
fep/aknfep/src/AknFepUiInputStateInitialThaiMultitap.cpp
fep/aknfep/src/AknFepUiInputStateInitialThaiPredictive.cpp
fep/aknfep/src/AknFepUiInputStateInitialVietnameseMultitap.cpp
fep/aknfep/src/AknFepUiInputStateInitialWesternPredictive.cpp
fep/aknfep/src/AknFepUiInputStateInitialZhuyinFind.cpp
fep/aknfep/src/AknFepUiInputStateJapaneseBase.cpp
fep/aknfep/src/AknFepUiInputStateJapanesePredictiveBase.cpp
fep/aknfep/src/AknFepUiInputStateNextWordJapanesePredictive.cpp
fep/aknfep/src/AknFepUiInputStatePredictiveCandidate.cpp
fep/aknfep/src/AknFepUiInputStatePredictiveCandidateChinesePhrase.cpp
fep/aknfep/src/AknFepUiInputStatePredictiveCandidateHalfQwertyChinesePhrase.cpp
fep/aknfep/src/AknFepUiInputStatePredictiveCandidateMiniQwertyChinesePhrase.cpp
fep/aknfep/src/AknFepUiInputStatePredictiveCandidatePhrase.cpp
fep/aknfep/src/AknFepUiInputStatePredictiveCandidatePinyin.cpp
fep/aknfep/src/AknFepUiInputStatePredictiveCandidatePinyinPhrase.cpp
fep/aknfep/src/AknFepUiInputStatePredictiveCandidateQwertyZhuyin.cpp
fep/aknfep/src/AknFepUiInputStatePredictiveCandidateQwertyZhuyinPhrase.cpp
fep/aknfep/src/AknFepUiInputStatePredictiveCandidateStroke.cpp
fep/aknfep/src/AknFepUiInputStatePredictiveCandidateStrokePhrase.cpp
fep/aknfep/src/AknFepUiInputStatePredictiveInput.cpp
fep/aknfep/src/AknFepUiInputStatePredictiveInputChinese.cpp
fep/aknfep/src/AknFepUiInputStatePredictiveInputChinesePhrase.cpp
fep/aknfep/src/AknFepUiInputStatePredictiveInputJapanese.cpp
fep/aknfep/src/AknFepUiInputStatePredictiveInputPhrase.cpp
fep/aknfep/src/AknFepUiInputStatePredictiveInputQwerty.cpp
fep/aknfep/src/AknFepUiInputStatePredictiveInputQwertyChinesePhrase.cpp
fep/aknfep/src/AknFepUiInputStatePredictiveInputQwertyPhrase.cpp
fep/aknfep/src/AknFepUiInputStatePredictiveInputQwertyPinyin.cpp
fep/aknfep/src/AknFepUiInputStatePredictiveInputQwertyPinyinPhrase.cpp
fep/aknfep/src/AknFepUiInputStatePredictiveInputQwertyStroke.cpp
fep/aknfep/src/AknFepUiInputStatePredictiveInputQwertyStrokePhrase.cpp
fep/aknfep/src/AknFepUiInputStatePredictiveInputQwertyZhuyin.cpp
fep/aknfep/src/AknFepUiInputStatePredictiveInputQwertyZhuyinPhrase.cpp
fep/aknfep/src/AknFepUiInputStateQwerty.cpp
fep/aknfep/src/AknFepUiInputStateStrokeFindQwerty.cpp
fep/aknfep/src/AknFepUiInputStateZhuyinFindQwerty.cpp
fep/aknfep/src/AknFepUiInputstateInitialStrokeFind.cpp
fep/aknfep/src/AknFepUiManagerBase.cpp
fep/aknfep/src/AknFepUiManagerChinese.cpp
fep/aknfep/src/AknFepUiManagerJapanese.cpp
fep/aknfep/src/AknFepUiManagerKorean.cpp
fep/aknfep/src/AknFepUiManagerWestern.cpp
fep/aknfep/src/AknFepVietnameseToneManager.cpp
fep/aknfep/src/AknFepZhuyinAnalyser.cpp
fep/aknfep/src/AknFepZhuyinAnalyserDb.cpp
fep/aknfep/src/aknfepinputstatecandidatepinyinphrasecreation.cpp
fep/aknfep/src/aknfepinputstateminiqwertyzhuyinkeymap.cpp
fep/aknfep/src/aknfepinputstatepinyinphrasecreationbase.cpp
fep/aknfep/src/aknfepinputstatespellingpinyinphrasecreation.cpp
fep/aknfep/src/aknfepuifingeritutinputstategeneric.cpp
fep/aknfep/src/aknfepuiinputminiqwertypinyinphrasebase.cpp
fep/aknfep/src/aknfepuiinputminiqwertystrokephrasebase.cpp
fep/aknfep/src/aknfepuiinputminiqwertyzhuyinphrasebase.cpp
fep/aknfep/src/aknfepuiinputstateentryhalfqwertyphrase.cpp
fep/aknfep/src/aknfepuiinputstateentrypinyinphrasecreation.cpp
fep/aknfep/src/aknfepuiinputstateentryzhuyinphrasecreation.cpp
fep/aknfep/src/aknfepuiinputstateindicphoneticqwerty.cpp
fep/aknfep/src/aknfepuiinputstateinitialindicphoneticmultitap.cpp
fep/aknfep/src/aknfepuiinputstateminiqwertystrokephrase.cpp
fep/aknfep/src/aknfepuiinputstateminiqwertyzhuyinphrase.cpp
fep/aknfep/src/aknfepuiinputstateqwertykorean.cpp
fep/aknfep/src/aknfepuiinputstatestrokephrasebase.cpp
fep/aknfep/src/aknfepuiinputstatezhuyinphrasecreationbase.cpp
fep/aknfep/src/aknfepuimanagerfingeritutchinese.cpp
fep/aknfep/src/aknfepuispellcontainer.cpp
fep/aknfep/src/aknfepuispellinputpane.cpp
fep/aknfep/src/aknfepuserdbdlg.cpp
fep/aknfep/src/aknfepuserdbquerydlg.cpp
fep/aknfep/src/aknfepzhuyinconvertion.cpp
fep/aknfep/src/aknfepzhuyinkeyhandler.cpp
fep/aknfep/src/dbmanagement.cpp
inputmethods_plat/ptiengine_key_definations_api/tsrc/group/ptiEngTestDomApi.mmp
inputmethods_pub/ptiengine_iti_api/tsrc/group/ptiEngineTestSdkApi.mmp
textinput/peninputarc/inc/pensrvcliinc/penuiwndctrl.h
textinput/peninputarc/src/peninputserverapp/penuiwndctrl.cpp
textinput/peninputcommonctrls/bwins/peninputcommonctrlsU.DEF
textinput/peninputcommonctrls/eabi/peninputcommonctrlsU.DEF
textinput/peninputcommonctrls/group/bld.inf
textinput/peninputcommonctrls/group/iconlist.txt
textinput/peninputcommonctrls/group/peninputcommonctrls.mmp
textinput/peninputcommonctrls/group/peninputcommonctrls_icons.mk
textinput/peninputcommonctrls/inc/peninputbasewindow/peninputbasewindow.h
textinput/peninputcommonctrls/inc/peninputbasewindow/peninputbasewindow.inl
textinput/peninputcommonctrls/inc/peninputbasewindow/peninputbasewindowext.h
textinput/peninputcommonctrls/inc/peninputbasewindow/peninputbasewindowext.inl
textinput/peninputcommonctrls/inc/peninputbuttons/peninputbutton.h
textinput/peninputcommonctrls/inc/peninputbuttons/peninputcommonbutton.h
textinput/peninputcommonctrls/inc/peninputbuttons/peninputdragbutton.h
textinput/peninputcommonctrls/inc/peninputbuttons/peninputeventbutton.h
textinput/peninputcommonctrls/inc/peninputbuttons/peninputmultiimagebutton.h
textinput/peninputcommonctrls/inc/peninputbuttons/peninputmultimodebutton.h
textinput/peninputcommonctrls/inc/peninputbuttons/peninputmultimodebutton.inl
textinput/peninputcommonctrls/inc/peninputbuttons/peninputrawkeybutton.h
textinput/peninputcommonctrls/inc/peninputbuttons/peninputrawkeybutton.inl
textinput/peninputcommonctrls/inc/peninputbuttons/peninputrepeatbutton.h
textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputbitmapdb.h
textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputcandidate.h
textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputdropdownlist.h
textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputdropdownlist.rh
textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputdropdownlistcontext.h
textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputlist.h
textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputlistexpandablemultirowwithouticon.h
textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputlistmanager.h
textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputlistmultirowrollwithicon.h
textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputlistmultirowrollwithiconwithbubble.h
textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputlistmultirowwithicon.h
textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputlistmultirowwithiconwithbubble.h
textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputlistmultirowwithouticon.h
textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputlistonerowrollwithicon.h
textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputlistonerowrollwithiconwithbubble.h
textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputlistonerowwithicon.h
textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputlistonerowwithiconwithbubble.h
textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputlistonerowwithouticon.h
textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputlistonerowwithouticonwithbubble.h
textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputpages.h
textinput/peninputcommonctrls/inc/peninputgeneralheaders/peninputcommonctrls.hrh
textinput/peninputcommonctrls/inc/peninputgeneralheaders/peninputcommonctrls.rh
textinput/peninputcommonctrls/inc/peninputlabel/peninputlabel.h
textinput/peninputcommonctrls/inc/peninputrangebar/peninputrangebar.h
textinput/peninputcommonctrls/inc/peninputrangebar/peninputrangebar.inl
textinput/peninputcommonctrls/inc/peninputselectionlist/peninputcommonchoicelist.h
textinput/peninputcommonctrls/inc/peninputselectionlist/peninputlayoutinputmodechoice.h
textinput/peninputcommonctrls/inc/peninputselectionlist/peninputscrollablelist.h
textinput/peninputcommonctrls/inc/peninputselectionlist/peninputselectionlist.h
textinput/peninputcommonctrls/inc/peninputvkbctrl/peninputvkbctrlext.h
textinput/peninputcommonctrls/inc/peninputvkbctrl/peninputvkbctrllayout.h
textinput/peninputcommonctrls/inc/peninputvkbctrl/peninputvkbctrllayout.inl
textinput/peninputcommonctrls/loc/peninputcommonctrls.loc
textinput/peninputcommonctrls/rom/peninputcommonctrls.iby
textinput/peninputcommonctrls/rom/peninputcommonctrlsresources.iby
textinput/peninputcommonctrls/src/peninputbasewindow/peninputbasewindow.cpp
textinput/peninputcommonctrls/src/peninputbasewindow/peninputbasewindowext.cpp
textinput/peninputcommonctrls/src/peninputbuttons/peninputbutton.cpp
textinput/peninputcommonctrls/src/peninputbuttons/peninputrawkeybutton.cpp
textinput/peninputcommonctrls/src/peninputdropdownlist/peninputbitmapdb.cpp
textinput/peninputcommonctrls/src/peninputdropdownlist/peninputcandidate.cpp
textinput/peninputcommonctrls/src/peninputdropdownlist/peninputdropdownlist.cpp
textinput/peninputcommonctrls/src/peninputdropdownlist/peninputlist.cpp
textinput/peninputcommonctrls/src/peninputdropdownlist/peninputlistexpandablemultirowwithouticon.cpp
textinput/peninputcommonctrls/src/peninputdropdownlist/peninputlistmanager.cpp
textinput/peninputcommonctrls/src/peninputdropdownlist/peninputlistmultirowrollwithicon.cpp
textinput/peninputcommonctrls/src/peninputdropdownlist/peninputlistmultirowrollwithiconwithbubble.cpp
textinput/peninputcommonctrls/src/peninputdropdownlist/peninputlistmultirowwithicon.cpp
textinput/peninputcommonctrls/src/peninputdropdownlist/peninputlistmultirowwithiconwithbubble.cpp
textinput/peninputcommonctrls/src/peninputdropdownlist/peninputlistmultirowwithouticon.cpp
textinput/peninputcommonctrls/src/peninputdropdownlist/peninputlistonerowrollwithicon.cpp
textinput/peninputcommonctrls/src/peninputdropdownlist/peninputlistonerowrollwithiconwithbubble.cpp
textinput/peninputcommonctrls/src/peninputdropdownlist/peninputlistonerowwithicon.cpp
textinput/peninputcommonctrls/src/peninputdropdownlist/peninputlistonerowwithiconwithbubble.cpp
textinput/peninputcommonctrls/src/peninputdropdownlist/peninputlistonerowwithouticon.cpp
textinput/peninputcommonctrls/src/peninputdropdownlist/peninputlistonerowwithouticonwithbubble.cpp
textinput/peninputcommonctrls/src/peninputdropdownlist/peninputpages.cpp
textinput/peninputcommonctrls/src/peninputlabel/peninputlabel.cpp
textinput/peninputcommonctrls/src/peninputrangebar/peninputrangebar.cpp
textinput/peninputcommonctrls/src/peninputselectionlist/peninputcommonchoicelist.cpp
textinput/peninputcommonctrls/src/peninputselectionlist/peninputlayoutinputmodechoice.cpp
textinput/peninputcommonctrls/src/peninputselectionlist/peninputscrollablelist.cpp
textinput/peninputcommonctrls/src/peninputselectionlist/peninputselectionlist.cpp
textinput/peninputcommonctrls/src/peninputvkbctrl/peninputvkbctrlext.cpp
textinput/peninputcommonctrls/src/peninputvkbctrl/peninputvkbctrllayout.cpp
textinput/peninputcommonctrls/srcdata/peninputmodeswitchutils.rss
textinput/peninputcommonctrls/srcdata/peninputmodeswitchutilsnew.rss
textinput/peninputcommonlayout/BWINS/peninputcommonlayoutU.DEF
textinput/peninputcommonlayout/EABI/peninputcommonlayoutU.DEF
textinput/peninputcommonlayout/group/bld.inf
textinput/peninputcommonlayout/group/peninputcommonlayout.mmp
textinput/peninputcommonlayout/inc/peninputclientayoutinfo.inl
textinput/peninputcommonlayout/inc/peninputclientlayoutinfo.h
textinput/peninputcommonlayout/inc/peninputclientlayoutinfo.inl
textinput/peninputcommonlayout/inc/peninputcommonlayout.h
textinput/peninputcommonlayout/inc/peninputcommonlayout.rh
textinput/peninputcommonlayout/inc/peninputcommonlayoutext.h
textinput/peninputcommonlayout/inc/peninputcommonlayoutglobalenum.h
textinput/peninputcommonlayout/inc/peninputctrlpool.h
textinput/peninputcommonlayout/inc/peninputdataconverter.h
textinput/peninputcommonlayout/inc/peninputdatamgr.h
textinput/peninputcommonlayout/inc/peninputdataprovider.h
textinput/peninputcommonlayout/inc/peninputlayoutconfig.h
textinput/peninputcommonlayout/inc/peninputlayoutconfig.inl
textinput/peninputcommonlayout/inc/peninputlayoutcontext.h
textinput/peninputcommonlayout/inc/peninputlayoutwindow.h
textinput/peninputcommonlayout/inc/peninputlayoutwindowext.h
textinput/peninputcommonlayout/inc/peninputnumerickeymappingmgr.h
textinput/peninputcommonlayout/inc/peninputrangebarinfo.h
textinput/peninputcommonlayout/inc/peninputrangebarinfo.inl
textinput/peninputcommonlayout/inc/peninputshiftcapsInfo.h
textinput/peninputcommonlayout/inc/peninputshiftcapsinfo.inl
textinput/peninputcommonlayout/inc/peninputuistatebase.h
textinput/peninputcommonlayout/inc/peninputuistatemgr.h
textinput/peninputcommonlayout/inc/peninputuistatemgrinterface.h
textinput/peninputcommonlayout/rom/peninputcommonlayout.iby
textinput/peninputcommonlayout/src/peninputclientlayoutinfo.cpp
textinput/peninputcommonlayout/src/peninputcommonlayout.cpp
textinput/peninputcommonlayout/src/peninputcommonlayoutext.cpp
textinput/peninputcommonlayout/src/peninputctrlpool.cpp
textinput/peninputcommonlayout/src/peninputdataconverter.cpp
textinput/peninputcommonlayout/src/peninputdatamgr.cpp
textinput/peninputcommonlayout/src/peninputlayoutconfig.cpp
textinput/peninputcommonlayout/src/peninputlayoutwindow.cpp
textinput/peninputcommonlayout/src/peninputlayoutwindowext.cpp
textinput/peninputcommonlayout/src/peninputnumerickeymappingmgr.cpp
textinput/peninputcommonlayout/src/peninputrangebarinfo.cpp
textinput/peninputcommonlayout/src/peninputshiftcapsInfo.cpp
textinput/peninputcommonlayout/src/peninputuistatebase.cpp
textinput/peninputcommonlayout/src/peninputuistatemgr.cpp
textinput/peninputhwrtrui/data/TrainUiPreset.dat
textinput/peninputhwrtrui/data/trui.rss
textinput/peninputhwrtrui/data/trui_reg.rss
textinput/peninputhwrtrui/group/bld.inf
textinput/peninputhwrtrui/group/iconlist.txt
textinput/peninputhwrtrui/group/iconlist_aif.txt
textinput/peninputhwrtrui/group/trui.mmp
textinput/peninputhwrtrui/group/trui_aif.mk
textinput/peninputhwrtrui/inc/trui.hrh
textinput/peninputhwrtrui/inc/trui.rh
textinput/peninputhwrtrui/inc/truiapplication.h
textinput/peninputhwrtrui/inc/truiappradiobutton.h
textinput/peninputhwrtrui/inc/truiappui.h
textinput/peninputhwrtrui/inc/truicontainerbase.h
textinput/peninputhwrtrui/inc/truidocument.h
textinput/peninputhwrtrui/inc/truiengine.h
textinput/peninputhwrtrui/inc/truiengine.inl
textinput/peninputhwrtrui/inc/truihelp.h
textinput/peninputhwrtrui/inc/truihwrbox.h
textinput/peninputhwrtrui/inc/truihwrboxobserver.h
textinput/peninputhwrtrui/inc/truiinfomessagecontainer.h
textinput/peninputhwrtrui/inc/truiinfomessageview.h
textinput/peninputhwrtrui/inc/truilanguagerelation.h
textinput/peninputhwrtrui/inc/truimainview.h
textinput/peninputhwrtrui/inc/truimainviewcontainer.h
textinput/peninputhwrtrui/inc/truiradiobuttonobserver.h
textinput/peninputhwrtrui/inc/truishortcuteditcontainer.h
textinput/peninputhwrtrui/inc/truishortcutedittextview.h
textinput/peninputhwrtrui/inc/truishortcuteditview.h
textinput/peninputhwrtrui/inc/truishortcutscontainer.h
textinput/peninputhwrtrui/inc/truishortcutsview.h
textinput/peninputhwrtrui/inc/truisupportedlanguageid.h
textinput/peninputhwrtrui/inc/truitextsettingpagecontainer.h
textinput/peninputhwrtrui/loc/trui.loc
textinput/peninputhwrtrui/rom/peninputhwrtruiresources.iby
textinput/peninputhwrtrui/rom/peninputhwrtruivariant.iby
textinput/peninputhwrtrui/src/trui.cpp
textinput/peninputhwrtrui/src/truiapplication.cpp
textinput/peninputhwrtrui/src/truiappradiobutton.cpp
textinput/peninputhwrtrui/src/truiappui.cpp
textinput/peninputhwrtrui/src/truicontainerbase.cpp
textinput/peninputhwrtrui/src/truidocument.cpp
textinput/peninputhwrtrui/src/truiengine.cpp
textinput/peninputhwrtrui/src/truihwrbox.cpp
textinput/peninputhwrtrui/src/truiinfomessagecontainer.cpp
textinput/peninputhwrtrui/src/truiinfomessageview.cpp
textinput/peninputhwrtrui/src/truilanguagerelation.cpp
textinput/peninputhwrtrui/src/truimainview.cpp
textinput/peninputhwrtrui/src/truimainviewcontainer.cpp
textinput/peninputhwrtrui/src/truishortcuteditcontainer.cpp
textinput/peninputhwrtrui/src/truishortcutedittextview.cpp
textinput/peninputhwrtrui/src/truishortcuteditview.cpp
textinput/peninputhwrtrui/src/truishortcutscontainer.cpp
textinput/peninputhwrtrui/src/truishortcutsview.cpp
textinput/peninputhwrtrui/src/truitextsettingpagecontainer.cpp
Binary file fep/aknfep/CenRep/keys_aknfep.xls has changed
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/data/AknFepUiAvkonPlugin.rss	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
-* Copyright (c) 2007 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:          
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-
-#include "registryinfo.rh"
-
-// Declares info for two implementations
-RESOURCE REGISTRY_INFO theInfo
-	{
-	// UID for the DLL
-	dll_uid = 0x10285839;
-	// Declare array of interface info
-	interfaces = 
-		{
-		INTERFACE_INFO
-			{
-			// UID of interface that is implemented ime plugin interface
-			interface_uid = 0x10285779;
-			implementations = 
-				{
-				// Info for CImplementation1
-				IMPLEMENTATION_INFO
-					{
-					implementation_uid = 0x10285839;
-					version_no = 1;
-					display_name = "";
-					default_data = "";
-					opaque_data= "";
-					}
-				};
-			}
-		};
-	}
-
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/group/AknFepUiAvkonPlugin.mmp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,153 +0,0 @@
-/*
-* Copyright (c) 2007 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:         
-*       MakMake Project file.  
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include <data_caging_paths.hrh>
-#include <bldvariant.hrh>
-#include <platform_paths.hrh>
-
-TARGET          aknfepuiavkonplugin.dll
-TARGETTYPE      plugin
-// ECom Dll recognition UID followed by the unique UID for this dll
-UID             0x10009D8D 0x10285839
-TARGETPATH      /system/libs
-
-CAPABILITY      CAP_ECOM_PLUGIN
-VENDORID        VID_DEFAULT
-
-MACRO    __ITI_VIRTUAL_TOUCH_FIRST_GENERATION_SUPPORT__
-USERINCLUDE     ../inc .
-USERINCLUDE     ../../../../inc
-
-// Added APP_LAYER_SYSTEMINCLUDE for header split and relocation activity
-APP_LAYER_SYSTEMINCLUDE
-
-MW_LAYER_SYSTEMINCLUDE
-
-SYSTEMINCLUDE   ../inc
-SYSTEMINCLUDE   ../../inc
-SYSTEMINCLUDE   ../../../../../../inc
-SYSTEMINCLUDE   /epoc32/include/ecom
-
-SOURCEPATH      ../src
-
-SOURCE          AknFepUiAvkonPlugin.cpp
-SOURCE          AknFepIndicatorAvkon.cpp
-SOURCE          AknFepUiAvkonImpl.cpp
-SOURCE          AknFepQuery.cpp
-SOURCE          AknFepUiAvkonMenus.cpp
-SOURCE          AknFepUiAvkonStylusPopUpMenu.cpp
-
-// Chinese UI Controls
-SOURCE          AknFepUiAvkonCtrlContainerChinese.cpp
-SOURCE          AknFepUiAvkonCtrlInputPane.cpp
-SOURCE          AknFepUiAvkonCtrlCandidatePane.cpp
-SOURCE          AknFepUiAvkonCtrlCandidateSelected.cpp
-SOURCE          AknFepUiAvkonCtrlPinyinPopup.cpp
-SOURCE          aknfepuilayoutdatamgr.cpp
-SOURCE          aknfepchineseuidataconv.cpp
-// for phrase creation
-SOURCE          aknfepuictrleepcontrol.cpp 
-SOURCE          aknfepuictrlpinyineep.cpp 
-SOURCE          insertionpoint.cpp 
-
-// Japanese UI Controls
-SOURCE          AknFepUiAvkonCtrlContainerJapanese.cpp
-SOURCE          AknFepUiAvkonCtrlJapaneseCandidateCellListBoxData.cpp
-SOURCE          AknFepUiAvkonCtrlJapaneseCandidateHeadingPane.cpp
-SOURCE          AknFepUiAvkonCtrlJapaneseCandidateListbox.cpp
-SOURCE          AknFepUiAvkonCtrlJapaneseCandidateListboxView.cpp
-SOURCE          AknFepUiAvkonCtrlJapaneseCandidatePane.cpp
-SOURCE          AknFepUiAvkonCtrlJapanesePredictiveCellListBoxData.cpp
-SOURCE          AknFepUiAvkonCtrlJapanesePredictiveListbox.cpp
-SOURCE          AknFepUiAvkonCtrlJapanesePredictiveListboxItemDrawer.cpp
-SOURCE          AknFepUiAvkonCtrlJapanesePredictiveListBoxModel.cpp
-SOURCE          AknFepUiAvkonCtrlJapanesePredictiveListboxView.cpp
-SOURCE          AknFepUiAvkonCtrlJapanesePredictivePane.cpp
-// for Japanese
-SOURCE          AknFepUiAvkonCtrlJapaneseKutenQueryDialog.cpp
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-// for western predictive
-SOURCE 			AknFepAvkonCandidatePopup.cpp
-SOURCE			AknFepUiAvkonCtrlExactWordPopupContent.cpp
-SOURCE			AknFepPredictiveSettingDialog.cpp
-SOURCE			AknFepPredictiveSettingList.cpp 
-SOURCE 			AknFepPredictiveSettingData.cpp
-#ifdef __USER_DICTIONARY_EDITING__
-SOURCE 			AknFepPredOwnWordsModel.cpp 
-SOURCE			AknFepUserDictionaryEditDialog.cpp
-#endif
-#ifdef FF_DUAL_LANGUAGE_SUPPORT
-SOURCE 			AknFepUiAvkonCtrlDualLanguageSettingData.cpp 
-SOURCE 			AknFepUiAvkonCtrlDualLanguageSettingDialog.cpp 
-SOURCE 			AknFepUiAvkonCtrlDualLanguageSettingList.cpp 
-SOURCE 			AknFepUiAvkonCtrlDualLanguageSettingModel.cpp
-#endif //FF_DUAL_LANGUAGE_SUPPORT
-#endif //RD_INTELLIGENT_TEXT_INPUT
-
-SOURCEPATH      ../data
-START RESOURCE AknFepUiAvkonPlugin.rss
-TARGET aknfepuiavkonplugin.rsc
-END
-
-LIBRARY         euser.lib
-LIBRARY         ecom.lib
-LIBRARY         eikcore.lib
-LIBRARY         avkon.lib
-LIBRARY         eikdlg.lib
-LIBRARY         eikcoctl.lib
-LIBRARY         cone.lib
-LIBRARY         bafl.lib
-LIBRARY         featmgr.lib
-LIBRARY         fepbase.lib
-LIBRARY         ws32.lib
-LIBRARY         etext.lib
-LIBRARY         tagma.lib
-LIBRARY         gdi.lib
-LIBRARY         AknIcon.lib
-LIBRARY         AknFepUiInterface.lib
-
-LIBRARY         cdlengine.lib   // using Chinese
-LIBRARY         AknSkins.lib    // using Chinese
-LIBRARY         charconv.lib    // using Japanese only
-LIBRARY         efsrv.lib       // using Japanese only
-LIBRARY         AknLayout2Scalable.lib  // using Japanese only
-LIBRARY         FontUtils.lib   // using Japanese only
-LIBRARY         aknlayout2.lib   // using Chinese and Japanese
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-LIBRARY         aknlayout.lib 	 // using western predictive 
-LIBRARY         CentralRepository.lib
-LIBRARY         commonengine.lib
-LIBRARY         AknNotify.lib 
-LIBRARY		eikctl.lib
-LIBRARY         ptiengine.lib
-LIBRARY         hlplch.lib 
-#ifdef __ITI_VIRTUAL_TOUCH_FIRST_GENERATION_SUPPORT__       
-LIBRARY         CenRepNotifHandler.lib
-#endif //__ITI_VIRTUAL_TOUCH_FIRST_GENERATION_SUPPORT__
-#endif //RD_INTELLIGENT_TEXT_INPUT
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/group/bld.inf	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
-* Copyright (c) 2007 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:          
-*       Bldmake component description file.  
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-PRJ_PLATFORMS
-ARMV5 WINSCW
-
-
-PRJ_MMPFILES
-AknFepUiAvkonPlugin.mmp
-
-
-// End of File  
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepAvkonCandidatePopup.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,222 +0,0 @@
-/*
-* Copyright (c) 2007 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:             Avkon implementation of non-focusing popup menu to show word candidates.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_AVKON_CANDIDATE_POPUP_H
-#define __AKN_FEP_AVKON_CANDIDATE_POPUP_H
-
-#include "AknFepCandidatePopup.h"
-#include "AknFepCandidatePopupCallback.h"
-#include <aknPopup.h>
-#include <PtiDefs.h>
-
-// FORWARD DECLARATIONS
-class TAknPopupLayouts;
-class TRect;
-
-
-// CLASS DECLARATION
-class CAknFepAvkonCandidatePopup : public CAknPopupList, public MAknFepCandidatePopup
-    {
-public: // construction and destruction
-
-    /**
-    * Two-phased constructor
-    * @param    aOwner  Reference to the owner of the popup which provides 
-    *                   the candidates to be shown
-    * @return   A new instance of the class.
-    */
-    static CAknFepAvkonCandidatePopup* NewL( MAknFepCandidatePopupCallback& aOwner );
-    
-    /**
-    * Destructor
-    */
-    ~CAknFepAvkonCandidatePopup();
-    
-public: // methods
-
-    /**
-    * Getter for the currently active word
-    * @return   The currently active word as pointer descriptor
-    */
-    TPtrC ActiveWord() const;
-    
-    /**
-    * Getter for the exact word (the word with ordinal 0)
-    * @return   The exact word as pointer descriptor.
-    */
-    TPtrC ExactWord() const;
-    
-    /**
-    * Makes the pop-up selection list visible and blocks until the dialog has been dismissed.
-    * @param    aInlineEditorRect    Tells the place of the inline editor. If possible, the popup is opened
-    *                                so that it does not hide the inline editor.
-    * @param    aSelectedIdx         Output argument for the selected index.
-    * @param    aLastKeyEvent        The last key event received by the popup. On return this is the event
-    *                                which closed the popup.
-    * @param    aRightToLeftLanguage Direction of the candidate language.ETrue is right to left. EFalse otherwise
-    * @param    aKeyboard            Type of keyboard in use.
-    * 
-    * @return   The command id used to close the window. EAknFepSoftkeySpell, EAknSoftkeyCancel, or EAknSoftkeySelect
-    */
-    TInt ExecutePopupL( const TRect& aInlineEditorRect, TInt& aSelectedIdx, TKeyEvent& aLastKeyEvent, TBool aRightToLeftLanguage, TInt aKeyboard );
-    
-    /**
-    * Function called when the dialog is dismissed. Among other things, this hides the dialog
-    * and deblocks the thread. Unlike in the base class, the instance is not destroyed here. 
-    * The same popup instance can be reused by calling ExecutePopupL() again. 
-    * @param    aAccept     EFalse  if the dialog was cancelled.
-    *                       ETrue   otherwise.
-    */
-    void AttemptExitL(TBool aAccept); 
-    /**
-    * Function called when there is a change of resource, typically when there is a layout switch.
-    * Overidden the base implementation for the same. This is because the position of the popup
-    * also chnages when there is a layout change.
-    * @param    aType : Specifies the type of layout switch.
-    */
-    void HandleResourceChange(TInt aType); 
-
-    /**
-    * Removes the focus from the candidate list and makes the editor to be in focus.
-    */
-    void UnFocus();
-    /**
-    * Changes the position where the candidate list is shown. The position of the candidate list is choosen by the
-    * candidate list itself but can be controlled by the inline text rectangle.
-    * @param    aRect  The inline text rect.
-    */
-    void ShowAtNewPosition(TRect aRect);
-    
-    /**
-     * Reduce the candidate pop up control priority and add it to stack.
-     * Basically, this function is called,if after void UnFocus();
-     * 
-     * Whenever layout Change is happen opencandidate list, then candidatelist priority
-     * should be reduce, otherwise updated inline rect 
-     */
-    void SetFocusAddStackReducePriorityL();
-   
-protected: // methods
-    
-    /**
-    * Handler for key evemts.
-    * @param    aKeyEvent   The key event to be handled.
-    * @param    aType       The type of the key event to be handled.
-    * @return   EKeyWasConsumed     If the offered key event is consumed.
-    *           EKeyWasNotConsumed  Otherwise.
-    */
-    virtual TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType);
-
-    /**
-    * Processing of the CBA commands
-    * @param  aCommandId  The command to be handled.
-    */
-    virtual void ProcessCommandL(TInt aCommandId);
-
-    /**
-    * Calculates the position for the popup window and places it there
-    * @param    aInlineEditorRect   The placement of the inline editor is used as reference.
-    *                               The inline editor is not hidden behind the popup if possible.
-    *                               The preferred location for the popup is under the inline editor.
-    *                               The next best place is on the right side of the inline editor,
-    *                               then on the top of the editor and last on the left side of the editor.
-    */
-    virtual void SetupWindowLocation( const TRect& aInlineEditorRect );
-    
-    /**
-    * Sets up the layout of the popup window.
-    * Modified from CAknPopupList::SetupWindowLayout()
-    */
-    virtual void SetupWindowLayout( AknPopupLayouts::TAknPopupLayouts aType );
-
-    /**
-    * Calculates the width of the popup window based on the candidates available on the list. 
-    * The with is always set to as small as possible without truncation. 
-    * The client application area is used as reference to ensure that the popup is never wider
-    * than the application area.
-    * @param    aClientRect The client application area.
-    * @return   The window widt in pixels.
-    */    
-    TInt CalculateWindowWidth( const TRect& aClientRect );
-    
-    /**
-    * Updates the popup window layout.
-    * Modified from AknPopupLayouts::HandleSizeChanged()
-    */
-    void HandleSizeChanged( TAknPopupWindowLayoutDef &aDef,
-                            AknPopupLayouts::TAknPopupLayouts aLayout_1,
-                            TAknPopupLayoutsNode *aNode );
-    
-    /**
-    * The C++ constructor
-    * @param    aOwner  Reference to the owner of the popup which provides 
-    *                   the candidates to be shown 
-    */
-    CAknFepAvkonCandidatePopup( MAknFepCandidatePopupCallback& aOwner );
-
-    /**
-    * Second phase constructor.
-    */
-    void ConstructL();
-    
-    
-    static TInt HandleChrKeyMonitorCallback(TAny* aParam);
-
-private: // data
-
-    //! Owner of this popup. Provides the candidates.
-    MAknFepCandidatePopupCallback& iOwner;
-
-    //! The listbox embedded into this popup
-    CEikFormattedCellListBox* iList;
-    
-    //! Array of candidates shown in the popup list
-    CDesCArray* iCandidates;
-    
-    //! Pointer to variable containing the index of currently selected word.
-    TInt* iSelectedIdx;         // not owned
-    
-    //! Pointer to variable containing the last received key event.
-    TKeyEvent* iLastKeyEvent;   // not owned
-    
-    //! Last received command. EAknSoftkeySelect, EAknSoftkeySpell, or EAknSoftkeyCancel.
-    TInt iLastCommandId;
-    
-    //! Candidate Language direction.
-    TBool iRightToLeftCandidate;
-    //! Keyboard type in use.
-    TPtiKeyboardType iKeyboard;
-    
-    CPeriodic*     iChrKeypressMonitor;
-    //The inline text rectangle that is used as a reference for showing the candidate list.
-    TRect iInlineTextRect;
-    };
-    
-
-#endif // __AKN_FEP_AVKON_CANDIDATE_POPUP_H   
-
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepIndicatorAvkon.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the CAknFepIndicatorAvkon definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef AknFepAvkonIND_H
-#define AknFepAvkonIND_H
-
-#include <AknFepIndicator.h>
-#include <aknEditStateIndicator.h>  //MAknEditingStateIndicator
-
-class CAknNavigationDecorator;
-class CAknNavigationControlContainer;
-class CEikonEnv;
-
-class CAknFepIndicatorAvkon : public CAknFepIndicator
-    {
-public:
-    static CAknFepIndicator* NewL();
-    ~CAknFepIndicatorAvkon();
-    virtual void SetState(TAknEditingState aState); 
-    virtual CAknIndicatorContainer* IndicatorContainer();
-
-public: // new functions    
-    /**
-     * Sets flag that copy mode is ON
-     */    
-    void SetCopyMode(TBool aCopyMode); 
-
-private:
-    CAknFepIndicatorAvkon();
-    void AddContainerL(CAknNavigationControlContainer* aNaviPane);
-    void RemoveContainer();
-    void SetIndicator(TInt aIndicator, TInt aMode, TBool aDrawNow = ETrue);
-    CAknNavigationControlContainer* NaviPaneL();
-    
-     /** Since 3.2
- 	  * 	 Returns True if Predictive Mode is On so that - the appropriate indicator is set
- 	  */
-    TBool QueryPredictiveState(TAknEditingState aState);
-    
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-     /** Since 5.0
- 	  * 	 Returns True if AutoCompletion Mode is On so that - the appropriate indicator is set
- 	  */
-    
-    TBool QueryPredictiveAutoCompleteState(TAknEditingState aState);
-    
-#endif     // RD_PRED_AW_COMPLETION
-     /** Since 3.2
-      * 	 Returns the indicator to be displayed based on the Editor state 
-      */
-    TInt EvaluateState(TAknEditingState aState);
-private:
-    CAknIndicatorContainer*     iIndicatorContainer;
-    CAknNavigationDecorator*    iNaviDecorator;
-    TAknEditingState            iPreviousState;
-    CEikonEnv& iEikEnv;
-    CAknNavigationControlContainer* iNaviPane;
-    TBool iNaviPaneChanged;
-    };
-
-#endif // AknFepIND_H
-
-// End of file
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepPredOwnWordsModel.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,131 +0,0 @@
-/*
-* 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 AKNFEPPREDOWNWORDSLISTBOX_H_
-#define AKNFEPPREDOWNWORDSLISTBOX_H_
-
-#include <e32base.h>
-#include <eikclb.h>
-
-//For accessing user dictionary through PtiEngine:
-#include <PtiDefs.h>
-#include <PtiEngine.h>
-#include <PtiUserDicEntry.h>
-
-
-class CAknFepPredOwnWordsModel : public CBase
-    {
-public:
-    /**
-    * Function:     NewL
-    *
-    * Discussion:   Factory function used to create a new instance of
-    *               CAknFepPredictiveSettingDialog
-    *
-    * Params :      aTextArray - pointer to array of UDB entries  
-    * Returns:      A newly created instance of CAknFepPredOwnWordsModel
-    */
-    static CAknFepPredOwnWordsModel* NewL( MDesCArray* aTextArray );
-
-    /**
-    * Function:     NewLC
-    *
-    * Discussion:   Factory function used to create a new instance of
-    *               CAknFepPredictiveSettingDialog and leave a pointer to it on the
-    *               cleanup stack.
-    *
-    * Params:       aTextArray - pointer to array of UDB entries
-    * Returns:      A newly created instance of CAknFepUserDictionaryEditDialog
-    */
-    static CAknFepPredOwnWordsModel* NewLC( MDesCArray* aTextArray );
-    
-    //Destructor
-    ~CAknFepPredOwnWordsModel();
-    
-    /**
-    * Function:     RemoveSelectedWordL
-    *
-    * Discussion:   Removes existing word from UDB
-    *
-    * Params:       aWordIndex - index to the word to be removed 
-    *                            in the list of UDB entries
-    * Returns:      If successful, it returns the index of the word
-    *               in the list of UDB entries which should be focussed. 
-    *               Else, returns one of the system wide error codes.  
-    */
-    TInt RemoveSelectedWordL( TInt aWordIndex );
-    
-    /**
-    * Function:     RemoveSelectedWordsL
-    *
-    * Discussion:   Removes existing word from UDB
-    *
-    * Params:       aSelectedItems - array of indices to the words to be 
-    *                                removed from the list of UDB entries
-    * Returns:      If successful, it returns KErrNone. 
-    *               Else, returns one of the system wide error codes.  
-    */
-    TInt RemoveSelectedWordsL( const CArrayFix<TInt>* aSelectedItems );
-    
-    /**
-    * Function:     AddNewWordL
-    *
-    * Discussion:   Adds the word to UDB
-    *
-    * Params:       aNewWord - new word to be added
-    * Returns:      If successful, it returns the index of the newly added word
-    *               in the list of UDB entries. 
-    *               Else, returns one of the system wide error codes  
-    */
-    TInt AddNewWordL( TDesC& aNewWord );    
-    
-private:
-    CAknFepPredOwnWordsModel();
-    void ConstructL( MDesCArray* aTextArray );
-    
-    //Helper methods:
-    /**
-    * Function:     UpdateItemsL
-    *
-    * Discussion:   Refreshes the word list with the current UDB entries
-    *
-    * Params:       aTextArray
-    * Returns:      no return value.  
-    */
-    void UpdateItemsL( MDesCArray* aTextArray );
-    
-    //to read user dictionary entries through PtiEngine
-    void ReadUDBEntriesL();
-    
-    //to format the words for list box
-    HBufC* FormListBoxEntryFromWordLC( const TDesC& aWord );
-    
-    //data:
-    CPtiEngine* iPtiEngine;
-    CDesCArrayFlat* iUDBWords;
-    
-    };
-#endif /*AKNFEPPREDOWNWORDSLISTBOX_H_*/
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepPredictiveSettingData.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,185 +0,0 @@
-/*
-* 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:          
-*
-*/
-
-
-
-
-
-
-
-
-
-
-/*
- * ============================================================================
- *  Name     : CAknFepPredictiveSettingData from AknFepPredictiveSettingData.h
- * ============================================================================
- */
-
-#ifndef __AKN_FEP_PREDICTIVESETTING_DATA_H
-#define __AKN_FEP_PREDICTIVESETTING_DATA_H
-
-#include <e32base.h>
-
-/**
- * Class: 		CAknFepPredictiveSettingData
- *
- * Discussion:	An aggregate class containing data for all editing controls
- *				This class is used as a central respository for all data
- *				to be displayed and editted within this app.
- */
-class CAknFepPredictiveSettingData : public CBase
-{
-public:
-	/**
- 	* Function: 	NewL
-	*
- 	* Discussion:	Factory function used to create a new instance of
- 	* 				CAknFepPredictiveSettingData
-	*
- 	* Returns:		A newly created instance of CAknFepPredictiveSettingData with all data
- 	*				items valid
-	*/
-	static CAknFepPredictiveSettingData* NewL();
-
-	/**
- 	* Function: 	NewLC
-	*
- 	* Discussion:	Factory function used to create a new instance of
- 	* 				CAknFepPredictiveSettingData and leave a pointer to it on the cleanup
- 	*				stack
-	*
- 	* Returns:		A newly created instance of CAknFepPredictiveSettingData with all data
- 	*				items valid
-	*/
-	static CAknFepPredictiveSettingData* NewLC();
-
-	/**
-	* Function:		~CAknFepPredictiveSettingData
-	*
-	* Discussion: 	Virtual destructor for CAknFepPredictiveSettingData. Ensures that all
-	*				allocated memory is returned to the heap before deletion
-	* 				of object.
-	*
-	*/
-	virtual ~CAknFepPredictiveSettingData();
-
-    /**
-    * Function:    LoadL
-    * 
-    * Discussion:  Loads itself with parameters passed.
-    * 
-    */
-    void LoadL(TInt aAutoWordCompl,
-			   TInt aTypingCorrection,
-			   TInt aNumberCandidates,
-			   TInt aPrimaryCandidate,
-			   TInt aPhysicalKeyboards,
-			   TInt aAWCBitmask);
-    
-    /**
-    * Function:     SaveL
-    * 
-    * Discussion:   Saves itself.
-    * 
-    */
-	void SaveL() const;
-    
-	/**
- 	* Function: 	AutoWordCompl
-	*
- 	* Discussion:	Trivial accessor function
-	*
- 	* Returns:		A reference to the iAutoWordCompl member
-	*/
-	inline TInt& AutoWordCompl() {return iAutoWordCompl; }
-	
-	/**
- 	* Function: 	TypingCorrection
-	*
- 	* Discussion:	Trivial accessor function
-	*
- 	* Returns:		A reference to the iTypingCorrection member
-	*/
-	inline TInt& TypingCorrection() { return iTypingCorrection; }
-
-	
-	/**
- 	* Function: 	NumberCandidates
-	*
- 	* Discussion:	Trivial accessor function
-	*
- 	* Returns:		A reference to the iNumberCandidates member
-	*/
-	inline TInt& NumberCandidates() {return iNumberCandidates; }
-	
-	/**
- 	* Function: 	PrimaryCandidate
-	*
- 	* Discussion:	Trivial accessor function
-	*
- 	* Returns:		A reference to the iPrimaryCandidate member
-	*/
-	inline TInt& PrimaryCandidate() {return iPrimaryCandidate; }
-	
-	/**
-	* Function:     PhysicalKeyboards
-	*
-	* Discussion:   Trivial accessor function
-	*
-	* Returns:      Value of iPhysicalKeyboards member
-	*/
-	inline TInt PhysicalKeyboards() {return iPhysicalKeyboards; }
-
-    /**
-    * Function:     AWCBitmask
-    *
-    * Discussion:   Trivial accessor function
-    *
-    * Returns:      Value of iPhysicalKeyboards member
-    */
-    inline TInt& AWCBitmask() {return iAWCBitmask; }
-private:
-	/**
-	* Function:		CAknFepPredictiveSettingData
-	*
-	* Discussion: 	Hidden, first-stage non-leaving constructor.
-	*
-	*/
-	CAknFepPredictiveSettingData();
-
-	/**
-	* Function:		ConstructL
-	*
-	* Discussion: 	Hidden, second-stage possibly-leaving constructor.
-	*
-	*/
-	void ConstructL();
-
-
-public:
-	TInt iAutoWordCompl;					/* Data for AutoWordCompl field          */
-	TInt iTypingCorrection;					/* Data for TypingCorrection text field  */
-	TInt iNumberCandidates;					/* Data for NumberCandidates field       */
-	TInt iPrimaryCandidate;					/* Data for PrimaryCandidate field       */
-    TInt iPhysicalKeyboards;                /* Data for PhysicalKeyboards field      */
-    TInt iAWCBitmask;                       /* AWC data in bitmask form              */
-    
-};
-
-#endif // __AKN_FEP_PREDICTIVESETTING_DATA_H
-
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepPredictiveSettingDialog.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +0,0 @@
-/*
-* 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:          
-*
-*/
-
-
-
-
-
-
-
-
-
-
-/*
- * ============================================================================
- *  Name     : CAknFepPredictiveSettingList from AknFepPredictiveSettingList 
- * ============================================================================
- */
-
-#ifndef __AKN_FEP_PREDICTIVESETTING_DIALOG_H
-#define __AKN_FEP_PREDICTIVESETTING_DIALOG_H
-
-#include <AknDialog.h>
-#include "AknFepPredictiveSettingList.h"
-#include "AknFepPredictiveSettingData.h"
-
-class CRepository;
-class CAknTitlePane;
-class CAknNavigationControlContainer;
-class CAknNavigationDecorator;
-
-enum TInputSettings
-{
-	EAutoWordCompletion,
-	ETypingCorrectionLevel,
-	ENumberCandidate,
-	EPrimaryCandidate
-};
-
-class CAknFepPredictiveSettingDialog : public CAknDialog
-{
-	public:
-	/**
-	 	* Function: 	NewL
-		*
-	 	* Discussion:	Factory function used to create a new instance of
-	 	* 				CAknFepPredictiveSettingDialog
-		*
-		* Params:		aMenuResId - menu resource id.
-		* Params:		aConfirmationQueryResId - Confirmation Query resource id.
-		* Params:       aTitlePaneResId - Titlepane resource id.
-		* Returns:		A newly created instance of CAknFepPredictiveSettingDialog
-		*/
-		static CAknFepPredictiveSettingDialog* NewL(TInt aMenuResId, TInt aConfirmationQueryResId, TInt aTitlePaneResId);
-
-		/**
-	 	* Function: 	NewLC
-		*
-	 	* Discussion:	Factory function used to create a new instance of
-	 	* 				CAknFepPredictiveSettingDialog and leave a pointer to it on the
-	 	*				cleanup	stack.
-		*
-		* Params:		aMenuResId - menu resource id.
-		* Params:		aConfirmationQueryResId - Confirmation Query resource id.
-		* Params:       aTitlePaneResId - Titlepane resource id.
-	 	* Returns:		A newly created instance of CAknFepPredictiveSettingDialog
-		*/
-		static CAknFepPredictiveSettingDialog* NewLC(TInt aMenuResId, TInt aConfirmationQueryResId, TInt aTitlePaneResId);
-
-		/**
-		* Function:		~CAknFepPredictiveSettingDialog
-		*
-		* Discussion: 	Virtual destructor for CAknFepPredictiveSettingDialog. Ensures that all
-		*				allocated memory is returned to the heap before deletion
-		* 				of object.
-		*
-		*/
-		virtual ~CAknFepPredictiveSettingDialog();
-		
-		virtual SEikControlInfo CreateCustomControlL(TInt aControlType);
-		virtual CAknFepPredictiveSettingDialog::TFormControlTypes ConvertCustomControlTypeToBaseControlType(TInt aControlType) const;
-
-		virtual TBool OkToExitL(TInt aButtonId);
-		virtual void ProcessCommandL(TInt aCommandId);
-		virtual void HandleResourceChange(TInt aType);
-		
-		void EditItemL(TBool aCalledFromMenu);
-		
-		void HandlePointerEventL(const TPointerEvent& aPointerEvent);
-		
-		// From MEikMenuObserver
-		virtual void DynInitMenuPaneL( TInt aResourceId, 
-		                               CEikMenuPane* aMenuPane );
-	    
-	private:
-		void ConstructL( TInt aMenuTitleResourceId );
-		CAknFepPredictiveSettingDialog(TInt aConfirmationQueryResId, TInt aTitlePaneResId);
-		void ReadSettingsDataL();
-	    void SaveSettingsDataL() const;
-	    void SaveCurrentSettingsDataL() const;
-	    void LaunchPredictiveSettingOffQueryIfNecessaryL(TInt prevSettings);
-	    TInt CurrentSettings();
-	    void PrepareStatusPaneL();
-	    void SetTitlePaneL();
-	    void RestoreStatusPaneL();
-	    TInt  iConfirmationQueryResId;
-	    TInt  iPredictiveTextFlag;
-	    TBool iPredictiveSettingOffQueryNotShown;
-	    
-	    CAknTitlePane* iTitlePane;
-	    CAknNavigationControlContainer* iNaviPane;
-	    CAknNavigationDecorator*        iNaviDecoratedTabGroup;
-	    HBufC* iLastTitle;
-	    HBufC* iStatusTitle;
-	    TInt iTitlePaneResId;
-	    
-		static TInt EventCheckCallback(TAny* aObj);
-		void AttemptToExitL();
-
-#ifdef __ITI_VIRTUAL_TOUCH_FIRST_GENERATION_SUPPORT__		
-	    TInt 						iOriginalKeyboardLayout;
-#endif //__ITI_VIRTUAL_TOUCH_FIRST_GENERATION_SUPPORT__
-	    
-	    // iSettingItemInEditingState is introduced to avoid the crash when we are editing 
-	    // the settings item and the flip staus changes.
-	    TBool 						iSettingItemInEditingState; 
-	    CIdle* 						iItemCloseEventCheck;
-	
-	protected:
-	CAknFepPredictiveSettingList*	iSettingsList;
-	CAknFepPredictiveSettingData*	iSettingsData;
-	CRepository*					iAknFepRepository;
-};
-#endif //__AKN_FEP_PREDICTIVESETTING_DIALOG_H
\ No newline at end of file
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepPredictiveSettingList.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,177 +0,0 @@
-/*
-* 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:          
-*
-*/
-
-
-
-
-
-
-
-
-
-
-/*
- * ============================================================================
- *  Name     : CAknFepPredictiveSettingList from SettingExampleSettingList.h
- * ============================================================================
- */
-
-#ifndef __AKN_FEP_PREDICTIVESETTING_LIST_H
-#define __AKN_FEP_PREDICTIVESETTING_LIST_H
-
-
-#include <coecntrl.h>
-#include <aknsettingitemlist.h> 
-#include <akncheckboxsettingpage.h>
-
-//class CAknFepPredictiveSettingData;
-#include "AknFepPredictiveSettingData.h"
-
-class CAknFepPredictiveSettingDialog;
-/**
- * Class: CAknFepMultiSelectionSettingItem
- *
- * Discussion:  An implementation of CAknBigSettingItemBase, providing a 
- *              big setting item that opens a multiselection (checkbox)
- *              setting page. Specialized implementation to show
- *              word autocompletion settings.
- * 
- */
-class CAknFepMultiSelectionSettingItem : public CAknBigSettingItemBase
-    {
-public:
-    CAknFepMultiSelectionSettingItem( TInt aResourceId, CAknFepPredictiveSettingData &aData,
-            CCoeEnv* aCoeEnv );
-    virtual ~CAknFepMultiSelectionSettingItem();
-    virtual void EditItemL( TBool aCalledFromMenu );
-    virtual void StoreL();
-    virtual void LoadL();
-
-private:
-    CSelectionItemList* CreateSelectionItemListL();
-    
-    CAknFepPredictiveSettingData &iData; // not owned
-    CSelectionItemList* iSelection;
-    CCoeEnv* iCoeEnv;
-    TInt iItutIndex;
-    TInt iHalfQwertyIndex;
-    TInt iQwertyIndex;
-    };
-
-/**
- * Class: CAknFepPredictiveSettingList
- *
- * Discussion: 	A specialised subclass of CAknSettingItemList. This class is
- *				the control used to both display the current values of the
- *				settings and to launch the relevant editor for those items.
- *
- */
-class CAknFepPredictiveSettingList : public CAknSettingItemList
-	{
-public:
-	/**
- 	* Function: 	NewL
-	*
- 	* Discussion:	Factory function used to create a new instance of
- 	* 				CAknFepPredictiveSettingList
-	*
-	* Params:		aData - reference to the data to be displayed and edited.
-	*
- 	* Returns:		A newly created instance of CAknFepPredictiveSettingList
-	*/
-	static CAknFepPredictiveSettingList* NewL(CAknFepPredictiveSettingData &aData, CAknFepPredictiveSettingDialog &aDialog);
-
-	/**
- 	* Function: 	NewLC
-	*
- 	* Discussion:	Factory function used to create a new instance of
- 	* 				CAknFepPredictiveSettingList and leave a pointer to it on the
- 	*				cleanup	stack.
-	*
-	* Params:		aData - reference to the data to be displayed and edited.
-	*
- 	* Returns:		A newly created instance of CAknFepPredictiveSettingList
-	*/
-	static CAknFepPredictiveSettingList* NewLC(CAknFepPredictiveSettingData &aData, CAknFepPredictiveSettingDialog &aDialog);
-
-	/**
-	* Function:		~CAknFepPredictiveSettingList
-	*
-	* Discussion: 	Virtual destructor for CAknFepPredictiveSettingList. Ensures that
-	*				all	allocated memory is returned to the heap before
-	*				deletion of object.
-	*
-	*/
-	virtual ~CAknFepPredictiveSettingList();
-
-
-	/**
-	* Function:		SizeChanged
-	*
-	* Discussion: 	Inherited from CCoeControl. Calculates size based on
-	*				contained control required sizes.
-	*
-	*/
-	void SizeChanged();
-
-	/**
-	 * Function:	EditCurrentItemL
-     * Params:		aCalledFromMenu - ETrue if called from menu, EFalse otherwise.
-	 *
- 	 *
-	 * Discussion:	Starts the setting page for the currently selected item 
-	 *				in the list.
-	 */
-	void EditCurrentItemL(TBool aCalledFromMenu);
-	
-    TBool DeviceHasMultipleKeyboards(); 
-	
-	
-private:
-	/**
-	* Function:		CAknFepPredictiveSettingList
-	*
-	* Discussion: 	Hidden, first-stage non-leaving constructor.
-	*
-	* Params:		aData - reference to the data to be displayed and edited.
-	*
-	*/
-	CAknFepPredictiveSettingList(CAknFepPredictiveSettingData &aData, CAknFepPredictiveSettingDialog &aDialog);
-
-	/**
-	* Function:		CreateSettingItemL
-	*
-	* Discussion: 	Factory function for creating CAknSettingItem derived
-	*				SettingItem classes used t display current values
-	*
-	* Params:		aSettingId - the id of the control which should be created
-	*
-	*/
-	CAknSettingItem* CreateSettingItemL (TInt aSettingId);
-	
-	
-	void HandleListBoxEventL(CEikListBox* aListBox, TListBoxEvent aEventType);
-
-	void HandleResourceChange(TInt aType);
-
-private:
-	CAknFepPredictiveSettingData &iSettingsData;		/* Reference to data owned by Dialog */
-	CAknFepPredictiveSettingDialog &iSettingsDialog;
-	};
-
-#endif // __AKN_FEP_PREDICTIVESETTING_LIST_H
-
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepQuery.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* Copyright (c) 2002 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 __AKNFEPQUERY__
-#define __AKNFEPQUERY__
-
-#if !defined(__AKNQUERYDIALOG_H__)
-#include <AknQueryDialog.h>
-#endif
-
-class CAknEdwinState;
-
-class CAknFepTextQueryDialog : public CAknTextQueryDialog
-    {
-    public:
-        CAknFepTextQueryDialog(TDes& aDataText, CAknEdwinState& aEditorState, 
-            const TTone aTone = ENoTone, const TInt aEditorFlag = 0);
-        virtual ~CAknFepTextQueryDialog();
-    protected: //from CEikDialog
-        void PreLayoutDynInitL();
-    private:
-        CAknEdwinState& iUnderlyingEditorState; // not owned
-        TInt iEditorFlag;
-    };
-
-#endif
-
-// End of File
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlCandidatePane.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,502 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the CAknFepUICtrlCandidatePane definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_AVKON_CANDIDATE_PANE_H__
-#define __AKN_FEP_AVKON_CANDIDATE_PANE_H__
-
-#include <e32std.h>
-#include <coecntrl.h>
-
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUIAvkonCtrlContainerChinese.h"
-
-class CAknFepUICtrlCandidateSelected;
-
-/**
- * Pane which displays the Chinese Candidates.
- */
-NONSHARABLE_CLASS(CAknFepUICtrlCandidatePane) : public CCoeControl, public MAknFepUICtrlCandidatePane
-    {
-public:
-    /**
-     * first phase construction
-     */
-    static CAknFepUICtrlCandidatePane* NewL(RWindow& aParent, CAknFepUiLayoutDataMgr* aLafDataMgr);
-    /**
-     * destructor
-     */
-    ~CAknFepUICtrlCandidatePane();
-public:
-    /**
-     * Get a buffer that can be filled with candidate characters, 
-     * which will subsequently be displayed.
-     *
-     * @output the text buffer of the Pane
-     */
-    const TDesC& TextBuffer() const;
-
-    /**
-     * Allows the client to set a descriptor pointer into an existing buffer of 
-     * data, avoiding unnecessary copying of data.
-     * <p> Note that if the buffer contains less characters than the current
-     * visible count, then the remaining characters will not be displayed. 
-     * <p> Note also that if the current selection falls outside the range
-     * of the size of the new buffer, it will be made not visible. 
-     * However, the current highlighted state remains, so if the selection 
-     * is set once more to a valid entry (or if the buffer is set to a length that 
-     * includes the currently selected position), and the highlight is still enabled,
-     * the highlight will reappear.
-     *
-     * @param aBufferPtr descriptor that contains the candidates for display,
-     *                              could be a pointer into a subset of a larger descriptor 
-     *                              that contains all the candidates. Note that only the 
-     *                              first EMaxCandidates of aBuffer will be used. 
-     *                              Length must be > 0.
-     */
-    void SetCandidateBuffer(const TDesC& aBuffer);
-
-    /**
-     * This function sets the highlighted status of the pane for rendering purposes. 
-     * If the Pane is highlighted it displays the current selected Candidate, 
-     * plus numbers with each of the other Candidates. 
-     * 
-     * @param aHighlighted ETrue if the highlight is to be set
-     *                                  EFalse if the highlight is to be removed
-     */
-    void SetHighlighted(TBool aHighlighted);
-
-    /**
-     * This function returns the highlighted status of the Pane.
-     *
-     * @return ETrue if highlight was set
-     *              EFalse if highlight was not set
-     *
-     */
-    TBool Highlighted() const;
-
-    /**
-     * Set the candidate mode for the specified candidate. This is used for 
-     * setting the colour of the font for components in stroke mode
-     *
-     * @param aMode the new mode
-     */
-    void SetCandidateMode(TInt aIndex, TCandidateMode aMode);
-
-    /**
-     * Get the candidate mode for the specified candidate.
-     *
-     * @return aMode the new mode
-     */
-    TCandidateMode CandidateMode(TInt aIndex);
-
-    /**
-     * are the Horizontal Scroll Arrows enabled?
-     *
-     * @return if arrows not enabled, returns EFalse
-     */
-    TBool IsShowHorizontalScrollArrows() const;
-
-    /**
-     * enable/disable the rendering of the Horizontal Scroll Arrows. 
-     *
-     * @param aValue if ETrue, enable the arrows
-     *                          if EFalse, disable the arrrows
-     */
-    void ShowHorizontalScrollArrows(TBool aValue);
-
-
-    /**
-     * enable/disable the rendering of the up Scroll Arrows. 
-     *
-     * @param aValue if ETrue, enable the arrows
-     *  if EFalse, disable the arrrows
-     */
-    void ShowUpScrollArrows(TBool aValue);
-
-    /**
-     * enable/disable the rendering of the down Scroll Arrows. 
-     *
-     * @param aValue if ETrue, enable the arrows
-     *  if EFalse, disable the arrrows
-     */
-    void ShowDownScrollArrows(TBool aValue);
-    
-     /**
-     * enable/disable the rendering of the left Scroll Arrows. 
-     *
-     * @param aValue if ETrue, enable the arrows
-     *  if EFalse, disable the arrrows
-     */
-    void ShowLeftScrollArrows(TBool aValue);
-    
-        /**
-     * enable/disable the rendering of the right Scroll Arrows. 
-     *
-     * @param aValue if ETrue, enable the arrows
-     *  if EFalse, disable the arrrows
-     */
-    void ShowRightScrollArrows(TBool aValue);
-
-    /**
-     * are the Vertical Scroll Arrows enabled?
-     *
-     * @return if arrows not enabled, returns EFalse
-     */
-    TBool IsShowVerticalScrollArrows() const;
-
-    /**
-     * enable/disable the rendering of the Vertical Scroll Arrows. 
-     *
-     * @param aValue if ETrue, enable the arrows
-     *                          if EFalse, disable the arrrows
-     */
-    void ShowVerticalScrollArrows(TBool aValue);
-
-    /**
-     * enable/disable the rendering of the candidate ordinal numbers
-     *
-     * @param aValue if ETrue, enable the ordinals
-     *                          if EFalse, disable the ordinals
-     *
-     */
-    void ShowCandidateOrdinals(TBool aValue);
-
-    /**
-     * enable/disable the rendering of the candidate ordinal numbers
-     *
-     * @return if not shown, return EFalse
-     */
-    TBool IsShowCandidateOrdinals() const;
-
-    /**
-     * This function returns the number of Candidates that are visible in the pane 
-     * in its current configuration.
-     *
-     * @return number of candidates that are currently visible
-     */
-    TInt VisibleCandidateCount() const;
-
-    /**
-     * This function sets the number of candidates that are visible. 
-     * This will affect the size of the control as determined by the layout. 
-     *
-     * @param aCount the new visible count, 
-     *              must be 1 <= aCount <= EMaxCandidates
-     */
-    void SetVisibleCandidateCount(TInt aCount);
-
-    /**
-     * Select the first visible item in the candidate buffer
-     *
-     * @return ETrue if success, EFalse if no items visible
-     *
-     */
-    TBool SelectFirst();
-
-    /**
-     * Select the first visible phrase item in the candidate buffer
-     *
-     * @return ETrue if success, EFalse if no items visible
-     *
-     */
-    TBool SelectFirstPhrase();
-    
-    /**
-     * Select the last visible item in the candidate buffer
-     *
-     * @return ETrue if success, EFalse if no items visible
-     *
-     */
-    TBool SelectLast();
-
-    /**
-     * Select the last visible phrase item in the candidate buffer
-     *
-     * @return ETrue if success, EFalse if no items visible
-     *
-     */
-    TBool SelectLastPhrase();
-
-    /**
-     * Select the next visible item
-     *
-     * @return ETrue if success, 
-     *              EFalse if no items visible, or if already on last visible item
-     */
-    TBool SelectNext();
-    /**
-     * Select the previous visible item
-     *
-     * @return ETrue if success, 
-     *              EFalse if no items visible, or if already on first visible item
-     */
-    TBool SelectPrev();
-
-    /**
-     * This function selects the given index. 
-     * <p> Note that if the new selected index is within the visible count, 
-     * but falls on a candidate that is not valid (i.e. if it falls outside the
-     * length of the candidate buffer) then nothing happens and EFalse is returned
-     *
-     * @param aIndex If aIndex falls outside length of candidate buffer, 
-     *                          then return EFalse to indicate failure. 
-     * @return ETrue if index was valid, EFalse if index not valid
-     */
-    TBool SelectIndex(TInt aIndex, TBool selected = ETrue);
-
-    /**
-     * This function returns the selected index of the Candidate Pane. 
-     * 
-     * @return the index of the selected item. If the Pane is not highlighted it returns 0.
-     *
-     */
-    TInt SelectedIndex() const;
-
-    /**
-     * This function returns the character at index of the current selection
-     *
-     * @return a descrptor containing the character that is currently selected.
-     *              If the currect selection falls outside the length of the current buffer,
-     *              then return a null descriptor
-     *
-     */
-    TPtrC CurrentCandidate() const;
-    /**
-     * This function returns the phrase at index of the current selection
-     *
-     * @return a descrptor containing the character that is currently selected.
-     *              If the currect selection falls outside the length of the current buffer,
-     *              then return a null descriptor
-     *
-     */
-    TPtrC CurrentPhraseCandidate() const;
-	/**
-	*	This  function calculate the input pane's size for phrase input layout
-	*   @return input pane's size
-	*   
-	*/
-	TInt LabelTextWidthInPixels(TInt aIndex);
-	/**
-	*	Set layout 
-	*   @param aPaneLayout the new panelayout
-	*   
-	*/
-	void SetPaneLayout(CAknFepUICtrlContainerChinese::TPaneLayout aPaneLayout);
-    /**
-	*	Split phrase candidates into pages 
-	*/
-    void SplitPhraseCandidatesIntoPages();
-  
-    /**
-	*	Navigate to next page 
-	*/
-    void NextCandidatePage(void);
-   
-    /**
-	*	Navigate to previous page 
-	*/
-    void PreviousCandidatePage(void);
-
-    /**
-	*	Return candidate array 
-	*/
-    CDesCArrayFlat* CandidateArray(void);
-
-    /**
-	*	Set phrase candidate buffer
-	*/
-    void SetCandidateBuffer(void);
-	
-	/**
-	*	Reset candidate pane state and variables
-	*/
-	void ResetCandidateState();
-	
-	/**
-	 *	To test whether current page is the first page
-	 */
-	TBool IsFirstPage();
-	
-	/**
-	 *	To test whether current page is the last page
-	 */
-	TBool IsLastPage();
-	
-	/**
-     *  To set all the cnadidate label invisible(phrase creation)
-     */
-    void SetInVisiable();
-	/**
-	 *	To test whether need to get new candidate page
-	 */
-	TBool NeedGetNewCandidatePage();
-	
-public: // from CCoeControl
-    /**
-     * size changed
-     */
-    virtual void SizeChanged();
-
-    /**
-     * count component controls
-     *
-     * @return number of contained controls
-     */
-    TInt CountComponentControls() const;
-
-    /**
-     * Component control
-     *
-     * @param aIndex the control to return, must be between 0 and the number of controls
-     * @return pointer to contained control, ownership is not passed
-     * 
-     */
-    CCoeControl* ComponentControl(TInt aIndex) const;
-
-    /**
-     * draw
-     *
-     * @param aRect rectangle
-     *
-     */
-    virtual void Draw(const TRect& aRect) const;
-    
-    
-    //Bug Fixing for ESSG-7P5CSZ
-    void Enable(TBool aEnable);
-
-protected:
-    /**
-     * second phase construction
-     */
-    void ConstructL(RWindow& aParent);
-
-    /**
-     * Construct all the bitmap classes
-     */
-    void ConstructBitmapsL();
-
-    /**
-     * constructor
-     */
-    CAknFepUICtrlCandidatePane( CAknFepUiLayoutDataMgr* aLafDataMgr );
-
-    /**
-     * layout the rectangles
-     */
-    void LayoutRects();
-
-    /**
-     * layout contained controls
-     */
-    void LayoutContainedControls();
-
-    /**
-     * layout the labels for a single candidate
-     */
-    void LayoutLabel(TInt aIndex);
-
-    /**
-     * layout the labels for all the candidates (even those that are not currently visible)
-     */
-    void LayoutLabels();
-
-    /**
-     * layout selected candidate
-     * <p> Note that there is only one instance, as there can 
-     * only be one selected candidate at a time. Therefore, the control
-     * is placed in the position that is correct based on the current selection
-     *
-     * @param aIndex the index of the new position of the selected candidate
-     *
-     */
-    void LayoutCandidateSelected();
-
-    /**
-     * set label vilisibilty, according to the current pane layout
-     */
-    void UpdateLabelVisibility();
-
-    /**
-     * draw background color 
-     *
-     * @param aRect rect in which to draw
-     */
-    void DrawBackground(const TRect& aRect) const;
-
-    /**
-     * Internal candidate paging function,
-     * Only paging once per call.
-     * 
-     */
-    void InternalSpilitPhraseCandidate();
-
-private: // the following are owned
-    CAknFepUICtrlCandidateSelected* iCandidateSelected;
-    CFbsBitmap* iNaviArrowBitmapLeft;
-    CFbsBitmap* iNaviArrowBitmapLeftMask;
-    CFbsBitmap* iNaviArrowBitmapRight;
-    CFbsBitmap* iNaviArrowBitmapRightMask;
-    CFbsBitmap* iNaviArrowBitmapUp;
-    CFbsBitmap* iNaviArrowBitmapUpMask;
-    CFbsBitmap* iNaviArrowBitmapDown;
-    CFbsBitmap* iNaviArrowBitmapDownMask;
-private: // the following need resetting
-    RPointerArray<CEikLabel> iCandidateLabelArray;
-    RPointerArray<CEikLabel> iOrdinalLabelArray;
-    RArray<TCandidateMode> iCandidateModeArray;
-private: // the following are members
-    CAknFepUiLayoutDataMgr* iLafDataMgr;
-    TAknLayoutRect iIndiFepArrowLeft;
-    TAknLayoutRect iIndiFepArrowRight;
-    TAknLayoutRect iIndiFepArrowUp;
-    TAknLayoutRect iIndiFepArrowDown;
-    TBufC<EMaxCandidates> iBuffer;
-    CAknFepUICtrlContainerChinese::TPaneLayout iPaneLayout;
-    TInt iVisibleCount;
-    TInt iSelected;
-    TBool iHighlighted;
-    TBool iShowHorizontalScrollArrows;
-    TBool iShowVerticalScrollArrows;
-    TBool iShowUpScrollArrows;
-    TBool iShowDownScrollArrows;
-    TBool iShowLeftScrollArrows;
-    TBool iShowRightScrollArrows;
-    TBool iShowCandidateOrdinals;
-    RArray<TPage> iPages;
-    //next paging candidate index
-    TInt iUnpagedIndex;
-    TInt iCurDisplayPage;
-    CDesCArrayFlat* iCandidateArray;
-    TInt iOrdinalLableWidth;
-    };
-
-#endif //__AKN_FEP_AVKON_CANDIDATE_PANE_H__
-
-// End of file
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlCandidateSelected.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,176 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the CAknFepUICtrlCandidateSelected definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_CANDIDATE_SELECTED_PANE_H__
-#define __AKN_FEP_CANDIDATE_SELECTED_PANE_H__
-
-#include <e32std.h>
-#include <coecntrl.h>
-
-#include "AknFepUICtrlCandidatePane.h"
-
-class CEikLabel;
-
-/**
- * Control representing the selected candidate. Is a window owning control,
- * that appears over the candidate pane such that it obscures the labels
- * beneath. Can be hidden, for example if there is no visible selection, 
- * or if highlighting is disabled.
- */
-NONSHARABLE_CLASS(CAknFepUICtrlCandidateSelected) : public CCoeControl
-    {
-public:
-    enum
-        {
-		EOneCandidate = 1,
-        EMaxSelectedCandidateLength = 10 // extend buffer for phrase input
-        };
-public:
-
-    /**
-     * first phase construction
-     */
-    static CAknFepUICtrlCandidateSelected* NewL(RWindowTreeNode& aParent);
-
-    /**
-     * destructor
-     */
-    ~CAknFepUICtrlCandidateSelected();
-
-    /**
-     * Set the text buffer of the Pane.
-     *
-     * @param aCharacter, the label will be filled with the characters from aCharacter
-     */
-    void SetText(TPtrC aCharacter);
-    
-    /**
-     * Set the ordinal of the Pane.
-     *
-     * @param aOrdinal
-     */
-    void SetOrdinal(TInt aOrdinal);
-
-    /**
-     * This function sets the candidate mode of the pane for rendering purposes.
-     *
-     * @param aMode the new mode
-     */
-    void SetCandidateMode(MAknFepUICtrlCandidatePane::TCandidateMode aMode);
-
-	/**
-	* Set layout
-	* @param aLayout the new layout
-	*/
-	void SetLayout(MAknFepUICtrlContainerChinese::TPaneLayout aLayout);
-	/**
-	* Set ordinal status
-	* @param aValue the new status
-	*/
-	void ShowOrdinal(TBool aValue);
-
-public: // from CCoeControl
-    /**
-     * size changed
-     */
-    virtual void SizeChanged();
-
-    /**
-     * count component controls
-     *
-     * @return number of contained controls
-     */
-    TInt CountComponentControls() const;
-
-    /**
-     * Component control
-     *
-     * @param aIndex the control to return, must be between 0 and the number of controls
-     * @return pointer to contained control, ownership is not passed
-     */
-    CCoeControl* ComponentControl(TInt aIndex) const;
-
-    /**
-     * draw
-     *
-     * @param aRect rectangle
-     */
-    virtual void Draw(const TRect& aRect) const;
-
-protected:
-    /**
-     * second phase construction
-     */
-    void ConstructL(RWindowTreeNode& aParent);
-
-     /**
-      * constructor
-      */
-    CAknFepUICtrlCandidateSelected();
-
-    /**
-     * layout the rectangles
-     */
-    void LayoutRects();
-
-    /**
-     * layout contained controls
-     */
-    void LayoutContainedControls();
-
-    /**
-     * layout the background frames
-     *
-     * @param aOuterRect filled with outer rect coords
-     * @param aInnerRect filled with inner rect coords
-     *
-     */
-    void CalculateFrameRects(TRect& aOuterRect, TRect& aInnerRect) const;
-
-    /**
-     * set label vilisibilty, according to the current pane layout
-     */
-    void UpdateLabelVisibility();
-
-private:
-    TAknLayoutRect iRectShadow;
-    TAknLayoutRect iRectHighlight;
-	TBufC<EMaxSelectedCandidateLength> iBuffer;
-    MAknFepUICtrlCandidatePane::TCandidateMode iCandidateMode;
-    TInt iIndex;
-    MAknFepUICtrlContainerChinese::TPaneLayout iPaneLayout;
-	TBool iShowOrdinal;
-private: // the following are owned
-    CEikLabel* iCandidateLabel;
-    CEikLabel* iOrdinalLabel;
-    };
-
-#endif //__AKN_FEP_CANDIDATE_SELECTED_PANE_H__
-
-// End of file
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlContainerChinese.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,344 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the CAknFepUICtrlContainerChinese definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_AVKON_CONTAINER_CHINESE_H__
-#define __AKN_FEP_UI_AVKON_CONTAINER_CHINESE_H__
-
-#include <AknFepUiCtrlContainerChinese.h>
-#include <coecntrl.h>
-#include <AknUtils.h>
-
-class CAknsFrameBackgroundControlContext;
-class CAknFepUICtrlInputPane;
-class CAknFepUICtrlCandidatePane;
-class CAknFepUICtrlPinyinPopup;
-class CAknFepUICtrlPinyinEEP;
-class MAknFepManagerUIInterface;
-class CAknFepUiLayoutDataMgr;
-
-class MAknFepUICtrlPinyinPopupSizeChangedObserver
-    {
-public:
-    /// this is called when the selection popup changes size
-    virtual void SelectionPopupSizeChanged(TInt aNumLines) = 0;
-
-    /// this is called when the popup is enabled
-    virtual void SelectionPopupEnabled(TBool aEnabled) = 0;
-    };
-
-NONSHARABLE_CLASS(CAknFepUICtrlContainerChinese)
-    : 
-    public CCoeControl, 
-    public MAknFepUICtrlPinyinPopupSizeChangedObserver,
-    public MAknFepUICtrlContainerChinese
-{
-public:
-    /**
-     * first phase construction
-     */
-    static CAknFepUICtrlContainerChinese* NewL();
-
-    /**
-     * destructor
-     */
-    ~CAknFepUICtrlContainerChinese();
-
-    /**
-     * get the input pane
-     *
-     * @return pointer to the input pane, ownership is not passed
-     */
-    MAknFepUICtrlInputPane* InputPane() const;
-
-    /**
-     * get the candidate pane
-     *
-     * @return pointer to the candidate pane, ownership is not passed
-     */
-    MAknFepUICtrlCandidatePane* CandidatePane() const;
-
-    /**
-     * get the phrase pinyin popup window 
-     *
-     * @return pointer to the phrase popup window, ownership is not passed
-     */
-    MAknFepUICtrlPinyinPopup* PinyinPopupWindow() const;
-
-    /**
-     * 
-     * get the pinyin phrase creation popup window 
-     * 
-     * @return pointer to the pinyin phrase popup window, ownership is not passed
-    */
-    MAknFepUICtrlEditPane* EditPaneWindow() const;    
-    
-    /**
-     * Is the control displayed on the screen?
-     *
-     * @return if not enabled, returns EFalse
-     *
-     */
-    TBool IsEnabled() const;
-	 /**
-     * Enables the display of the control. Sets the control's 
-     * window postion and visibility, but only if the value has
-     * changed (so it's ok to call it excessively). 
-     *
-     * @param aEnable if ETrue, makes visible
-     *                          if EFalse, makes non-visible
-     *
-     */
-    void Enable(TBool aEnable);
-
-    /**
-     * Arrange the constituent panes into the correct proportions for 
-     * the required layout. 
-     *
-     * @param aPaneLayout the required layout
-     *
-     */
-    void SetLayout(TPaneLayout aPaneLayout);
- 
-
-    /**
-     * Set the Highlight to the desired control.
-     *
-     * @param aValue if aValue is ETrue set the focus to the Candidate Pane.
-     *                          if aValue is EFalse set focus to the Chinese Input Pane 
-     */
-    void FocusCandidatePane(TBool aValue);
-
-    /**
-     * enable/disable the rendering of the Horizontal Scroll Arrows. 
-     *
-     * @param aValue if ETrue, enable the arrows
-     *                          if EFalse, disable the arrrows
-     */
-    void ShowHorizontalScrollArrows(TBool aValue);
-    
-    /**
-     * enable/disable the rendering of the Vertical Scroll Arrows. 
-     *
-     * @param aValue if ETrue, enable the arrows
-     *                          if EFalse, disable the arrrows
-     */
-    void ShowVerticalScrollArrows(TBool aValue);
-
-    /**
-     * Call this method if the fep is being displayed for a control that is 
-     * contained in a popup window (i.e. a Query). It changes the layout 
-     * of the container.
-     *
-     * @param aValue if ETrue, use the layout for display with a query
-     *                          if EFalse, use the normal layout
-     */
-    void SetIsShownWithPopupWindows(TBool aValue);
-
-     /**
-     * This function sets cursor position.
-     *
-     * @param aCurPos containing the cursor position 
-     * @param aHeight containing font height
-     */
-    void SetContainerPosition(TPoint aCurPos,TInt aHeight);
-    
-    /**
-     * Set Candidate and pinyin popup invisible
-     *
-     */
-    void SetControlInVisible( TBool aVisible ); 
-    
-    /**
-     * Set the state to phrase creation
-     */
-    void PhraseCreation( TBool aPhraseCreation );
-    
-    /**
-     * Is the state is in phrase creation
-     *
-     * @return if not enabled, return EFalse
-     */
-    TInt& IsPhraseCreation();
-    
-    /**
-     * Set FepMan
-     *
-     * @return if not enabled, return EFalse
-     */
-    void SetFepMan( MAknFepManagerUIInterface* aFepMan );
-
-public: // from CCoeControl
-
-    /**
-     * size changed
-     */
-    virtual void SizeChanged();
-
-    /**
-     * count component controls
-     *
-     * @return number of contained controls
-     */
-    TInt CountComponentControls() const;
-
-    /**
-     * Component control
-     *
-     * @param aIndex the control to return, must be between 0 and the number of controls
-     * @return pointer to contained control, ownership is not passed
-     * 
-     */
-    CCoeControl* ComponentControl(TInt aIndex) const;
-
-    /**
-     * draw
-     *
-     * @param aRect rectangle
-     *
-     */
-    virtual void Draw(const TRect& aRect) const;
-
-    virtual void HandleResourceChange(TInt aType); 
-	
-protected: // From CCoeControl
-    TTypeUid::Ptr MopSupplyObject(TTypeUid aId);
-
-public: // from MAknFepUICtrlPinyinPopupSizeChangedObserver
-
-    /**
-     * called when the popup window changes size, so that it can be 
-     * laid out correctly
-     *
-     * @param aNumLines the number of visible lines
-     */
-    void SelectionPopupSizeChanged(TInt aNumLines);
-
-    /**
-     * the popup has been enabled or disabled, so change layout where necessary 
-     *
-     * @param aEnabled ETrue if popup has been enabled
-     *                              EFalse if popup has been disabled
-     */
-    void SelectionPopupEnabled(TBool aEnabled);
-protected:
-
-    /**
-     * second phase construction
-     */
-    void ConstructL();
-
-    /**
-     * constructor
-     */
-    CAknFepUICtrlContainerChinese();
-
-    /**
-     * layout this control relative to the control pane (aka the CBA).
-     */
-    void LayoutContainer();
-    /**
-     * layout the rectangles
-     */
-    void LayoutRects();
-	/**
-     * layout entry pane
-     */
-	void LayoutInputPane();
-    /**
-     * layout contained controls
-     */
-    void LayoutContainedControls();
-
-    /**
-     * layout the popup window
-     */
-    void LayoutPinyinPopupWindow();
-    
-    /**
-     * layout the EEP window
-     */
-    void LayoutPinyinEEPWindow();
-
-    /**
-     * set control vilisibilty, according to the current pane layout
-     */
-    void SetControlVisibility();
-
-    /**
-     * return the layout as an index that can be passed to the 
-     * layout dll 
-     *
-     * @return index into layout macro
-     */
-    TInt ConvertLayoutToIndex() const;
-
-    /**
-     * layout the background frames
-     */
-	void LayoutFrames();
-
-    /**
-     * layout the background frames
-	 *
-	 * @param aOuterRect filled with outer rect coords
-	 * @param aInnerRect filled with inner rect coords
-	 *
-     */
-	void CalculateFrameRects(TRect& aOuterRect, TRect& aInnerRect) const;    
-
-private:
-    CAknFepUiLayoutDataMgr* iLafDataMgr;
-    CAknFepUICtrlInputPane* iInputPane;
-    CAknFepUICtrlCandidatePane* iCandidatePane;
-	CAknFepUICtrlPinyinPopup* iPinyinPopupWindow;
-	CAknFepUICtrlPinyinEEP* iEditPane;
-	CAknsFrameBackgroundControlContext* iBgContext; 
-
-private:
-	TBool iEnabled;
-	TPaneLayout iPaneLayout;
-    TBool iIsShownWithPopupWindows;
-	// input pane
-	TAknLayoutRect iRectCoverMainPaneInput;
-    TAknLayoutRect iRectFirstShadowInput;
-    TAknLayoutRect iRectOutlineFrameInput;
-    TAknLayoutRect iRectInsideAreaInput;
-    TAknLayoutRect iHorizLine; //line between input pane and candidate pane
-    TAknLayoutRect iEEPFirstHorizLine; //line between input pane and EEP pane
-    TAknLayoutRect iEEPSecondHorizLine;////line between input pane and candidate pane when EEP exist
-    TPoint iContainerPosition;
-    TBool isPCLPosed;
-    TBool iPhraseCreationLaf;
-    
-    TInt iPhraseCreation;
-    MAknFepManagerUIInterface* iFepMan;
-};
-#endif  // __AKN_FEP_UI_AVKON_CONTAINER_CHINESE_H__
-
-// End of file
-
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlContainerJapanese.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +0,0 @@
-/*
-* Copyright (c) 2003 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:           
-*       Provides the CAknFepUICtrlContainerJapanese definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_AVKON_CONTAINER_JAPANESE_H__
-#define __AKN_FEP_UI_AVKON_CONTAINER_JAPANESE_H__
-
-// INCLUDES
-#include <AknFepUICtrlContainerJapanese.h>
-#include <badesca.h>
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATION
-
-// CLASS DECLARATION
-class CAknFepUIManagerJapanese;
-
-/**
- * Container for the Japanese Candidate Pane and the Predictive Candidate Pane.
- *
- * @lib AknFep.lib
- * @since 2.6
- */
-NONSHARABLE_CLASS(CAknFepUICtrlContainerJapanese)
-    : 
-    public CBase,
-    public MAknFepUICtrlContainerJapanese
-    {
-public: // Constructer and Destructor
-    /**
-     * first phase construction
-     * @since 2.6
-     * @param aUiMng
-     * @return 
-     */
-    static CAknFepUICtrlContainerJapanese* NewL(CAknFepUIManagerJapanese* aUiMng);
-
-    /**
-     * Destructor.
-     */
-    ~CAknFepUICtrlContainerJapanese();
-
-public: // New faunctions
-    /**
-     * @since 2.6
-     * @param aId
-     * @return
-     */
-    MAknFepUICtrlCandidatePaneInterface* CandidatePane(TAknFepUICtrlCandidatePaneId aId);
-
-private:
-    /**
-     * private c++ constructor.
-     * @since 2.6
-     */
-    CAknFepUICtrlContainerJapanese();
-
-    /**
-     * Second phase construction
-     * @since 2.6
-     * @param aUiMng
-     */
-    void ConstructL(CAknFepUIManagerJapanese* aUiMng);
-
-private: // Data
-    CArrayPtrFlat<MAknFepUICtrlCandidatePaneInterface>*     iCandidatePaneArray;
-    };
-
-#endif // __AKN_FEP_UI_AVKON_CONTAINER_JAPANESE_H__
-
-// End of file
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlDualLanguageSetting.hrh	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
-* 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 __AKNFEPDUALLANGUAGESETTING_HRH_
-#define __AKNFEPDUALLANGUAGESETTING_HRH_
-
-
-enum TAknFepDualLanguageSettingDualInput
-    {
-    EAknFepDualLanguageSettingDualInputPrimary,
-    EAknFepDualLanguageSettingDualInputSecondary
-    };
-#endif
\ No newline at end of file
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlDualLanguageSettingData.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,159 +0,0 @@
-/*
-* 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 __AKNFEPDUALLANGUAGESETTINGDATA_H
-#define __AKNFEPDUALLANGUAGESETTINGDATA_H
-
-#include <e32base.h>
-#include <badesca.h>
-#include <aknsettingitemlist.h>
-
-/**
- * Class: 		CAknFepDualLanguageSettingData
- *
- * Discussion:	An aggregate class containing data for all editing controls
- *				This class is used as a central respository for all data
- *				to be displayed and editted within this app.
- */
-class CAknFepDualLanguageSettingData : public CBase
-{
-public:
-	/**
- 	* Function: 	NewL
-	*
- 	* Discussion:	Factory function used to create a new instance of
- 	* 				CAknFepDualLanguageSettingData
-	*
- 	* Returns:		A newly created instance of CAknFepDualLanguageSettingData with all data
- 	*				items valid
-	*/
-	static CAknFepDualLanguageSettingData* NewL();
-
-	/**
- 	* Function: 	NewLC
-	*
- 	* Discussion:	Factory function used to create a new instance of
- 	* 				CAknFepDualLanguageSettingData and leave a pointer to it on the cleanup
- 	*				stack
-	*
- 	* Returns:		A newly created instance of CAknFepDualLanguageSettingData with all data
- 	*				items valid
-	*/
-	static CAknFepDualLanguageSettingData* NewLC();
-
-	/**
-	* Function:		~CAknFepDualLanguageSettingData
-	*
-	* Discussion: 	Virtual destructor for CCAknFepDualLanguageSettingData. Ensures that all
-	*				allocated memory is returned to the heap before deletion
-	* 				of object.
-	*
-	*/
-	virtual ~CAknFepDualLanguageSettingData();
-
-    /**
-    * Function:    LoadL
-    * 
-    * Discussion:  Loads itself with parameters passed.
-    * 
-    */
-	void LoadL(CDesCArrayFlat* aItems,
-	           CDesCArrayFlat* aSecondaryItems,
-	           TInt aCurrentValue,
-	           TInt aCurrentSecondaryValue);
-
-    
-    /**
-    * Function:     SaveL
-    * 
-    * Discussion:   Saves itself.
-    * 
-    */
-	void SaveL() const;
-    
-	/**
- 	* Function: 	Items
-	*
- 	* Discussion:	Trivial accessor function
-	*
- 	* Returns:		A reference to the iItems member
-	*/
-	inline CDesCArrayFlat* Items() {return iItems; }
-	
-	/**
- 	* Function: 	SecondaryItems
-	*
- 	* Discussion:	Trivial accessor function
-	*
- 	* Returns:		A reference to the iSecondaryItems member
-	*/
-	inline CDesCArrayFlat* SecondaryItems() { return iSecondaryItems; }
-
-	/**
- 	* Function: 	CurrentValue
-	*
- 	* Discussion:	Trivial accessor function
-	*
- 	* Returns:		A reference to the iCurrentValue member
-	*/
-	inline TInt& CurrentValue() {return iCurrentValue; }
-
-	/**
- 	* Function: 	CurrentSecondaryValue
-	*
- 	* Discussion:	Trivial accessor function
-	*
- 	* Returns:		A reference to the iCurrentSecondaryValue member
-	*/
-	inline TInt& CurrentSecondaryValue() {return iCurrentSecondaryValue; }
-	
-private:
-	/**
-	* Function:		CAknFepDualLanguageSettingData
-	*
-	* Discussion: 	Hidden, first-stage non-leaving constructor.
-	*
-	*/
-    CAknFepDualLanguageSettingData();
-
-	/**
-	* Function:		ConstructL
-	*
-	* Discussion: 	Hidden, second-stage possibly-leaving constructor.
-	*
-	*/
-	void ConstructL();
-
-
-public:
-    CDesCArrayFlat* iItems;
-    CDesCArrayFlat* iSecondaryItems;
-    TInt iCurrentValue;
-    TInt iCurrentSecondaryValue;    
-};
-
-#endif // __AKNFEPDUALLANGUAGESETTINGDATA_H
-
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlDualLanguageSettingDialog.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
-* 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 __AKNFEPDUALLANGUAGESETTINGDIALOG_H
-#define __AKNFEPDUALLANGUAGESETTINGDIALOG_H
-
-#include <AknDialog.h>
-#include "AknFepUIAvkonCtrlDualLanguageSettingList.h"
-#include "AknFepUIAvkonCtrlDualLanguageSettingData.h"
-
-class CAknFepDualLanguageSettingModel;
-
-class CAknFepDualLanguageSettingDialog : public CAknDialog
-{
-    public:
-        static CAknFepDualLanguageSettingDialog* NewL(TInt aMenuResId);
-        static CAknFepDualLanguageSettingDialog* NewLC(TInt aMenuResId);
-        virtual ~CAknFepDualLanguageSettingDialog();
-        
-        virtual SEikControlInfo CreateCustomControlL(TInt aControlType);
-        virtual CAknFepDualLanguageSettingDialog::TFormControlTypes ConvertCustomControlTypeToBaseControlType(TInt aControlType) const;
-
-        virtual TBool OkToExitL(TInt aButtonId);
-        virtual void ProcessCommandL(TInt aCommandId);
-        void EditItemL(TBool aCalledFromMenu);
-        
-    private:
-        CAknFepDualLanguageSettingDialog();
-        void ReadSettingsDataL();
-        void SaveSettingsDataL() const;
-        
-        TInt  iPredictiveTextFlag;
-        
-    protected:
-    CAknFepDualLanguageSettingList*   iSettingsList;
-    CAknFepDualLanguageSettingData*   iLangData;
-    CAknFepDualLanguageSettingModel*          iModel;
-    CArrayFixFlat<TInt>*   iLanguages;
-    CArrayFixFlat<TInt>*   iSecondaryLanguages;
-};
-#endif //__AKNFEPDUALLANGUAGESETTINGDIALOG_H
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlDualLanguageSettingList.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,152 +0,0 @@
-/*
-* 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 __AKNFEPDUALLANGUAGESETTINGLIST_H
-#define __AKNFEPDUALLANGUAGESETTINGLIST_H
-
-
-#include <coecntrl.h>
-#include <aknsettingitemlist.h> 
-#include <akncheckboxsettingpage.h>
-#include "AknFepUIAvkonCtrlDualLanguageSettingModel.h"
-#include "AknFepUIAvkonCtrlDualLanguageSettingData.h"
-
-class CAknFepDualLanguageSettingDialog;
-
-class CAknFepDualLanguageSettingItem : public CAknEnumeratedTextPopupSettingItem
-    {
-public:
-    CAknFepDualLanguageSettingItem( TInt aResourceId, TBool aPrimary, CAknFepDualLanguageSettingData* aData );
-    virtual ~CAknFepDualLanguageSettingItem();
-protected:
-    virtual void CompleteConstructionL();
-private:
-    CAknFepDualLanguageSettingData* iData;
-    TBool iPrimary;
-    };
-
-/**
- * Class: CAknFepDualLanguageSettingList
- *
- * Discussion:  A specialised subclass of CAknSettingItemList. This class is
- *              the control used to both display the current values of the
- *              settings and to launch the relevant editor for those items.
- *
- */
-class CAknFepDualLanguageSettingList : public CAknSettingItemList
-    {
-public:
-    /**
-    * Function:     NewL
-    *
-    * Discussion:   Factory function used to create a new instance of
-    *               CAknFepDualLanguageSettingList
-    *
-    * Params:       aData - reference to the data to be displayed and edited.
-    *
-    * Returns:      A newly created instance of CAknFepDualLanguageSettingList
-    */
-    static CAknFepDualLanguageSettingList* NewL(CAknFepDualLanguageSettingData* aData, CAknFepDualLanguageSettingDialog* aDialog);
-
-    /**
-    * Function:     NewLC
-    *
-    * Discussion:   Factory function used to create a new instance of
-    *               CAknFepDualLanguageSettingList and leave a pointer to it on the
-    *               cleanup stack.
-    *
-    * Params:       aData - reference to the data to be displayed and edited.
-    *
-    * Returns:      A newly created instance of CAknFepDualLanguageSettingList
-    */
-    static CAknFepDualLanguageSettingList* NewLC(CAknFepDualLanguageSettingData* aData, CAknFepDualLanguageSettingDialog* aDialog);
-
-    /**
-    * Function:     ~CAknFepDualLanguageSettingList
-    *
-    * Discussion:   Virtual destructor for CAknFepDualLanguageSettingList. Ensures that
-    *               all allocated memory is returned to the heap before
-    *               deletion of object.
-    *
-    */
-    virtual ~CAknFepDualLanguageSettingList();
-
-
-    /**
-    * Function:     SizeChanged
-    *
-    * Discussion:   Inherited from CCoeControl. Calculates size based on
-    *               contained control required sizes.
-    *
-    */
-    void SizeChanged();
-
-    /**
-     * Function:    EditCurrentItemL
-     * Params:      aCalledFromMenu - ETrue if called from menu, EFalse otherwise.
-     *
-     *
-     * Discussion:  Starts the setting page for the currently selected item 
-     *              in the list.
-     */
-    void EditCurrentItemL(TBool aCalledFromMenu);
-    
-    // Toggle whether secondary input item is visible
-    void HideSecondaryInputL(TBool aHidden);
-    
-private:
-    /**
-    * Function:     CAknFepDualLanguageSettingList
-    *
-    * Discussion:   Hidden, first-stage non-leaving constructor.
-    *
-    * Params:       aData - reference to the data to be displayed and edited.
-    *
-    */
-    CAknFepDualLanguageSettingList(CAknFepDualLanguageSettingData* aData, CAknFepDualLanguageSettingDialog* aDialog);
-
-    /**
-    * Function:     CreateSettingItemL
-    *
-    * Discussion:   Factory function for creating CAknSettingItem derived
-    *               SettingItem classes used t display current values
-    *
-    * Params:       aSettingId - the id of the control which should be created
-    *
-    */
-    CAknSettingItem* CreateSettingItemL (TInt aSettingId);
-    
-    void HandleListBoxEventL(CEikListBox* /*aListBox*/, TListBoxEvent aEventType);
-
-private:
-    CAknFepDualLanguageSettingData* iData;
-	CAknFepDualLanguageSettingDialog* iDialog;
-    TInt iPrimaryValue;
-    TInt iSecondaryValue;
-    };
-
-#endif // __AKNFEPDUALLANGUAGESETTINGLIST_H
-
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlDualLanguageSettingModel.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
-* 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 __AKNFEPDUALLANGUAGESETTINGMODEL_H_
-#define __AKNFEPDUALLANGUAGESETTINGMODEL_H_
-
-#include    <e32base.h>
-#include <BADESCA.H> //CDesCArray
-#include <coemain.h> //For CCoeEnv
-#include <centralrepository.h>
-
-class CAknFepDualLanguageSettingModel : public CBase
-    {
-public:
-    static CAknFepDualLanguageSettingModel* NewL();
-    enum TLanguageType
-                {                
-                // Writing language
-                EAknFepDualLanguageSettingInputLanguage,
-                // Secondary writing language
-                EAknFepDualLanguageSettingInputLanguageSecondary
-                };
-    void GetSecondaryInputLanguagesL(
-                  CArrayFix<TInt>* aSeedLanguages,
-                  CDesCArray* aLanguageNames,
-                  CCoeEnv* aCoeEnv);
-    void ShowDualInputLanguageSettingListL(CCoeEnv* aCoeEnv);
-    
-    void GetLanguagesFromPtiL(
-        CArrayFix<TInt>* aInstalledLangCodes,
-        CArrayFix<TInt>* aSeedLanguages,
-        CDesCArray* aLanguageNames );
-    TInt LanguageL( TLanguageType aType );
-    TBool SetLanguageL( TLanguageType aType, TInt aLanguage );
-    
-    /*
-    * Returns Bool value according to predictive dictionary availability.
-    * PTI Engine used for lang avaibility retrieving
-    * @return ETrue: no errors
-    *         EFalse: an error has occurred
-    * @since 2.6
-    */
-    TBool CheckDictionaryFromPtiL(TInt aLangCode );
-    ~CAknFepDualLanguageSettingModel();
-private:
-    CAknFepDualLanguageSettingModel(){};
-    void ConstructL();
-private:
-    CRepository* iAknFepRepository;
-    };
-#endif //__AKNFEPDUALLANGUAGESETTINGMODEL_H_
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlInputPane.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,283 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the CAknFepUICtrlInputPane definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_AVKON_INPUT_PANE_H__
-#define __AKN_FEP_AVKON_INPUT_PANE_H__
-
-#include <AknFepUICtrlInputPane.h>
-#include <coecntrl.h>
-#include <AknUtils.h>
-
-#include "AknFepUIAvkonCtrlContainerChinese.h"
-class CEikLabel;
-class CAknsFrameBackgroundControlContext;
-
-
-/**
- * pane in which the user's input is shown
- */
-NONSHARABLE_CLASS(CAknFepUICtrlInputPane) : public CCoeControl, public MAknFepUICtrlInputPane
-    {
-public:
-    /**
-     * first phase construction
-     *
-     * @param aParent parent window
-     * @param aPaneLayout the required layout
-     *
-     */
-    static CAknFepUICtrlInputPane* NewL(RWindow& aParent, 
-                                        TInputPaneLayout aPaneLayout,
-                                        CAknFepUiLayoutDataMgr* aLafDataMgr);
-
-    /**
-     * destructor
-     */
-    ~CAknFepUICtrlInputPane();
-	
-	 /**
-     * set the observer
-     * <p> Note that only one observer is supported!
-     *
-     * @param aObserver pointer to the observer
-     */
-
-    void SetSizeChangedObserver(MAknFepUICtrlPinyinPopupSizeChangedObserver* aObserver);
-
-    /**
-     * Set the text buffer of the pane.
-     *
-     * @param aDes, the label will be filled with the first N characters from aDes,
-     *                              where N=EMaxInputCharsNotIncludingToneMark
-     *
-     */
-    void SetText(const TDesC& aDes);
-
-    /**
-     * Get the text buffer of the pane
-     *
-     * @output aText the buffer is filled with the contents of the candidate
-     *              of the pane, up to the size of the buffer
-     */
-    void GetText(TDes& aText) const;
-
-    /**
-     * This function sets the highlighted status of the pane for rendering purposes.
-     *
-     * @param aHighlighted whether or not the input pane has the highlight
-     */
-    void SetHighlighted(TBool aHighlighted);
-
-    /**
-     * This function returns the highlighted status of the Pane.
-     *
-     * @return whether the pane is highlighted
-     */
-    TBool Highlighted() const;
-
-    /**
-     * This function sets the Tone Mark for the Pane.
-     *
-     * @param aToneMark descriptor containing the tone mark character
-     */
-    void SetToneMark(const TDesC& aToneMark);
-
-    /**
-     * This function gets the Tone Mark for the Pane.
-     *
-     * @output aToneMark descriptor containing the tone mark character
-     */
-    void GetToneMark(TDes& aToneMark) const;
-
-    /**
-     * This function sets the validity of the tonemark
-     *
-     * @param aValid if ETrue, tonemark will be displayed as valid
-     *                          if EFalse, tonemark will be displayed as not valid
-     */
-    void SetToneMarkValidity(TBool aValid);
-
-    /**
-     * sets the layout index to use when accessing the 
-     * layout dll
-     */
-    void SetLayoutIndex(TInt aIndex);
-
-    /**
-     * sets the font to be used, which will override the font from LAF
-     *
-     * @param aFontId the new font id, pass in 0 to use the one from LAF
-     *
-     */
-    void SetOverrideFontId(TInt aFontId);
-
-    /**
-     * This function determines whether the current text is shown or not
-     *
-     * @param aValid if ETrue, text will be displayed
-     *                          if EFalse, text will be displayed
-     */
-    void MakeTextVisible(TBool aVisible);
-	/**
-	*	This  function calculate the input pane's size for phrase input layout
-	*   @return input pane's size
-	*   
-	*/
-	TInt LabelTextWidthInPixels() const;
-
-    /**
-    * Set,clear and check phonetic change status (for phrase input)
-    */
-    inline void SetFlag(TInt aFlag);
-    inline void ClearFlag(TInt aFlag);
-    inline TBool IsFlagSet(TInt aFlag) const;
-    
-    void SetLayout( TInputPaneLayout aPaneLayout );
-    
-
-public: // from CCoeControl
-    /**
-     * size changed
-     */
-    virtual void SizeChanged();
-
-    /**
-     * count component controls
-     *
-     * @return number of contained controls
-     */
-    TInt CountComponentControls() const;
-
-    /**
-     * Component control
-     *
-     * @param aIndex the control to return, must be between 0 and the number of controls
-     * @return pointer to contained control, ownership is not passed
-     * 
-     */
-    CCoeControl* ComponentControl(TInt aIndex) const;
-
-    /**
-     * draw
-     *
-     * @param aRect rectangle
-     *
-     */
-    virtual void Draw(const TRect& aRect) const;
-
-protected:
-
-    /**
-     * second phase construction
-     *
-     * @param aParent parent window
-     */
-    void ConstructL(RWindow& aParent);
-
-     /**
-      * constructor
-      *
-      * @param aPaneLayout the required layout
-      */
-    CAknFepUICtrlInputPane(TInputPaneLayout aPaneLayout, CAknFepUiLayoutDataMgr* aLafDataMgr);
-
-    /**
-     * Update the contents of the label, by combining
-     * the buffer with the tone mark
-     */
-    void UpdateLabelContents();
-
-    /**
-     * layout contained controls
-     */
-    void LayoutContainedControls();
-
-    /**
-     * layout the background frames
-     *
-     * @param aOuterRect filled with outer rect coords
-     * @param aInnerRect filled with inner rect coords
-     *
-     */
-    void CalculateFrameRects(TRect& aOuterRect, TRect& aInnerRect) const;
-	
-private:
-
-    /**
-     * Get dispalying input text
-     *
-     * @param aDes Input text
-     */
-    TInt CalculateMaxTextLength(const TDesC& aDes) const;
-    
-    /**
-     * layout input text
-     *
-     * @param aDes Input text
-     */
-    TInt CalculateTextLength(const TDesC& aDes) const;
-	
-private:
-    TBool iHighlighted;
-    TInputPaneLayout iLayout;
-    TInt iLayoutIndex;
-    TInt iMaxInputChars;
-    TAknLayoutRect iUnselectedStringHighlight;
-    TBufC<EMaxToneMarkLength> iToneMarkBuffer;
-    TBool iToneMarkValidity;
-    TInt iFontId;
-    TInt iFlags;
-private: // the following are owned
-    HBufC* iBuffer;
-    CEikLabel* iLabel;
-    CEikLabel* iLabelToneMark;
-
-private: // the following are not owned
-    CAknFepUiLayoutDataMgr* iLafDataMgr;
-    MAknFepUICtrlPinyinPopupSizeChangedObserver* iSizeChangedObserver;
-    };
-
-inline void CAknFepUICtrlInputPane::SetFlag(TInt aFlag)
-    {
-    iFlags |= aFlag;
-    }
-
-inline void CAknFepUICtrlInputPane::ClearFlag(TInt aFlag)
-    {
-    iFlags &= ~aFlag;
-    }
-
-inline TBool CAknFepUICtrlInputPane::IsFlagSet(TInt aFlag) const
-    {
-    return iFlags & aFlag;
-    }
-
-#endif //__AKN_FEP_AVKON_INPUT_PANE_H__
-
-// End of file
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlJapaneseCandidateCellListBoxData.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +0,0 @@
-/*
-* Copyright (c) 2003 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:            Candidate list
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef CAKNFEPUICTRLJAPANESECANDIDATECELLLISTBOXDATA_H
-#define CAKNFEPUICTRLJAPANESECANDIDATECELLLISTBOXDATA_H
-
-// INCLUDES
-#include <eikfrlbd.h>   // CFormattedCellListBoxData
-
-// CONSTANTS
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-
-/**
-*  CAknFepUICtrlJapaneseCandidateHeadingPane class.
-*
-*  @lib AknFep.lib
-*  @since 2.6
-*/
-NONSHARABLE_CLASS(CAknFepUICtrlJapaneseCandidateCellListBoxData)
-        : public CFormattedCellListBoxData
-    {
-    public:  // Constructors and destructor
-        /**
-        * Two-phased constructor.
-        */
-        static CAknFepUICtrlJapaneseCandidateCellListBoxData* NewL();
-
-    public: // Functions from CFormattedCellListBoxData
-        /**
-        * From CFormattedCellListBoxData Draw() is the most important method
-        * in CAknFepUICtrlJapaneseCandidateCellListBoxData.
-        * This is the only method that needs to be implemented in this class
-        * and it draws the whole list item.
-        * @since 2.6
-        * @param aProperties Properties attached to the list item
-        * @param aGc Graphics context used for drawing the list item
-        * @param aText a text string describing the list item cells
-        * @param aRect the area of the screen for the whole list item
-        * @param aHighlight whether the list item is selected
-        * @param aColors the colours used for drawing the item
-        */
-        virtual void Draw(TListItemProperties aProperties,
-                          CWindowGc& aGc,
-                          const TDesC* aText,
-                          const TRect& aRect,
-                          TBool aHighlight, 
-                          const TColors& aColors) const;
-
-        /**
-        * From CFormattedCellListBoxData DrawDefaultHighlight() is ...
-        * @since 2.6
-        * @param aGc 
-        * @param aItemRect
-        * @param aHighlight
-        */
-        void DrawDefaultHighlight(CWindowGc& aGc,
-                                  const TRect& aItemRect,
-                                  TBool aHighlight) const;
-    };
-
-#endif  // CAKNFEPUICTRLJAPANESECANDIDATECELLLISTBOXDATA_H
-
-// End of File
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlJapaneseCandidateHeadingPane.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
-* Copyright (c) 2003 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:            Candidate list
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef CAKNFEPUICTRLJAPANESECANDIDATEHEADINGPANE_H
-#define CAKNFEPUICTRLJAPANESECANDIDATEHEADINGPANE_H
-
-// INCLUDES
-#include <aknPopupHeadingPane.h>    // CAknPopupHeadingPane
-
-// CONSTANTS
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-
-/**
-*  CAknFepUICtrlJapaneseCandidateHeadingPane class.
-*
-*  @lib AknFep.lib
-*  @since 2.6
-*/
-NONSHARABLE_CLASS(CAknFepUICtrlJapaneseCandidateHeadingPane) : public CAknPopupHeadingPane
-    {
-    public:     // New functions
-        /**
-        * Set the parent window rect of heading pane
-        * @since 2.6
-        * @param aParentRect    parent window rect
-        */
-        void SetParentRect(const TRect& aParentRect);
-
-    public:     // Functions from CAknPopupHeadingPane
-        virtual void SizeChanged();
-
-    public:     // Functions from CCoeControl
-        virtual void ActivateL();
-
-    private:    // Functions from CCoeControl
-        TInt CountComponentControls() const;
-        CCoeControl* ComponentControl(TInt aIndex) const;
-
-    private:    // Functions from CAknPopupHeadingPane
-        void LayoutListHeadingPane();
-
-    private:    // Data
-        TRect iParentRect;
-
-    };
-
-#endif  // CAKNFEPUICTRLJAPANESECANDIDATEHEADINGPANE_H
-
-// End of File
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlJapaneseCandidateListbox.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-/*
-* Copyright (c) 2003 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:            Candidate list
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef CAKNFEPUICTRLJAPANESECANDIDATELISTBOX_H
-#define CAKNFEPUICTRLJAPANESECANDIDATELISTBOX_H
-
-// INCLUDES
-
-// CONSTANTS
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-
-/**
-*  CAknFepUICtrlJapaneseCandidateListbox class.
-*
-*  @lib AknFep.lib
-*  @since 2.6
-*/
-NONSHARABLE_CLASS(CAknFepUICtrlJapaneseCandidateListbox)
-        : public CAknSinglePopupMenuStyleListBox
-    {
-    public: // New functions
-        /**
-        * Set max digit number for listbox
-        * @since 2.6
-        * @param aMaximumColumns    max digit number
-        */
-        void SetMaximumColumns(const TInt aMaximumColumns);
-
-        /**
-        * Set max visible rows for listbox
-        * @since 3.0
-        * @param aMaximumRows    max visible rows
-        */
-        void SetMaximumRows(const TInt aMaximumRows);
-
-        /**
-        * Return max visible rows for listbox
-        * @since 3.0
-        */
-        inline TInt MaximumRows();
-
-        /**
-         * Handling of pointer event within the @c CEikListBox.
-         * Used for e.g. selecting an item from the list box.
-         *
-         * @since 3.2
-         * @param aPointerEvent Details of the pointer event that is being handled.
-         */
-        void HandlePointerEventL(const TPointerEvent& aPointerEvent);
-
-    public: // Functions from CAknSinglePopupMenuStyleListBox
-        virtual void SizeChanged();
-
-    public: // Functions from CEikFormattedCellListBox
-        virtual CListBoxView* MakeViewClassInstanceL();
-
-    protected:  // Functions from CAknSinglePopupMenuStyleListBox
-        virtual void CreateItemDrawerL();
-
-    protected: // Functions from CEikListBox
-        /**
-         * from CEikListBox
-         * Used for scrolling through the items in the list box.
-         *
-         * @param aScrollBar Scroll bar for the list box.
-         * @param aEventType Type of the event that occured.
-         */
-        virtual void HandleScrollEventL(CEikScrollBar* aScrollBar,
-                                                 TEikScrollEvent aEventType);
-
-    private:    // Data
-        TInt iMaximumColumns;
-        TInt iMaximumRows;
-    };
-
-TInt CAknFepUICtrlJapaneseCandidateListbox::MaximumRows()
-    {
-    return iMaximumRows;
-    }
-
-#endif  // CAKNFEPUICTRLJAPANESECANDIDATELISTBOX_H
-
-// End of File
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlJapaneseCandidateListboxView.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* Copyright (c) 2003 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:            Candidate list
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef CAKNFEPUICTRLJAPANESECANDIDATELISTBOXVIEW_H
-#define CAKNFEPUICTRLJAPANESECANDIDATELISTBOXVIEW_H
-
-// INCLUDES
-
-// CONSTANTS
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-
-/**
-*  CAknFepUICtrlJapaneseCandidateListboxView draws all the list items and 
-*  manages the area of the screen allocated for list itself. In particular,
-*  this class does not handle margins of the whole list.
-*
-*  @lib AknFep.lib
-*  @since 2.6
-*/
-NONSHARABLE_CLASS(CAknFepUICtrlJapaneseCandidateListboxView) : public CListBoxView
-    {
-    public: // Functions from CListBoxView
-        virtual void Draw(const TRect* aClipRect = NULL) const;
-        virtual void DrawItem(TInt aItemIndex) const;
-    };
-
-#endif  // CAKNFEPUICTRLJAPANESECANDIDATELISTBOXVIEW_H
-
-// End of File
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlJapaneseCandidatePane.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,335 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:            Candidate list
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef CAKNFEPUICTRLJAPANESECANDIDATEPANE_H
-#define CAKNFEPUICTRLJAPANESECANDIDATEPANE_H
-
-// INCLUDES
-#include <aknPopup.h>   // CAknPopupList
-#include "AknFepUICtrlCandidatePaneInterface.h"
-                        // MAknFepUICtrlCandidatePaneInterface
-
-// CONSTANTS
-
-// FORWARD DECLARATIONS
-// CLASS DECLARATION
-class CAknFepUIManagerJapanese;
-
-/**
-*  CAknFepUICtrlJapaneseCandidatePane class.
-*
-*  @lib AknFep.lib
-*  @since 2.6
-*/
-NONSHARABLE_CLASS(CAknFepUICtrlJapaneseCandidatePane) :
-    public CAknPopupList,
-    public MAknFepUICtrlCandidatePaneInterface
-    {
-    public: // Constructors and destructor
-        /**
-        * Two-phased constructor.
-        */
-        static CAknFepUICtrlJapaneseCandidatePane* NewL(CAknFepUIManagerJapanese* aUiMng);
-
-        /**
-        * Destructor.
-        */
-        virtual ~CAknFepUICtrlJapaneseCandidatePane();
-
-    public: // New functions
-        /**
-        * Show Pop-up list
-        * @since 2.6
-        */
-        void ShowWindow();
-
-        /**
-        * Close Pop-up list
-        * @since 2.6
-        */
-        void CloseCandidateList();
-
-        /**
-        * Specify the cursor position of a pop-up list
-        * @since 2.6
-        * @param aItemIndex  The index of the cursor position
-        * @param aDraw  ETrue is redraw.
-        */
-        void SetCurrentItemIndexL(TInt aItemIndex, TBool aDraw);
-
-        /**
-        * Specify the display position of a pop-up list
-        * @since 2.6
-        * @param aOffset     Offset of a window display position
-        */
-        void SetOffsetPosition(TPoint aOffset);
-
-    public: // Functions from MAknFepUICtrlCandidatePaneInterface
-        /**
-        * From MAknFepUICtrlCandidatePaneInterface
-        * Set position to display candidate list
-        * @since 2.6
-        * @param aLeftSideOfBaseLine    left side of font
-        * @param aHeight                font hight
-        * @param aAscent                Ascent position
-        */
-        void SetWindowPosition(const TPoint& aLeftSideOfBaseLine,
-                              TInt aHeight,
-                              TInt aAscent);
-
-        /**
-        * From MAknFepUICtrlCandidatePaneInterface
-        * Show candidate list popup window
-        * @since 2.6
-        * @param aItems     array of candidate list
-        * @param aIndex     selecting number when displaying
-        *
-        */
-        void ShowCandidateListL(CDesCArrayFlat* aItems, TInt aIndex, TInt aResourceID=0);
-
-        /**
-        * From MAknFepUICtrlCandidatePaneInterface
-        * Hide candidate popup window
-        * @since 2.6
-        */
-        void HideWindow();
-
-        /**
-        * From MAknFepUICtrlCandidatePaneInterface
-        * Return a selected candidate item number currently
-        * @since 2.6
-        */
-        TInt CurrentItemIndexOfCandidate();
-
-        /**
-        * From MAknFepUICtrlCandidatePaneInterface
-        * Move a current item in an appointed direction
-        * @since 2.6
-        * @param aDirection     direction
-        */
-        TInt MoveItem(TAknFepUICtrlScroll aDirection);
-
-    protected: // Functions from CAknPopupList
-        /**
-        * From CAknPopupList Set up a window layout type
-        * @since 2.6
-        * @param aType       Layout type
-        */
-        virtual void SetupWindowLayout(AknPopupLayouts::TAknPopupLayouts aType);
-
-        /**
-        * From CAknPopupList Set the title for the selection list
-        * @since 2.6
-        * @param aAccept
-        */
-        virtual void AttemptExitL(TBool aAccept);
-
-        TTypeUid::Ptr MopSupplyObject(TTypeUid aId);
-
-        /**
-        * from CAknPopupList of MEikCommandObserver
-        * @since 3.2
-        * @param aCommandId aCommandId  Event Id from the soft-key
-        */
-        void ProcessCommandL(TInt aCommandId);
-
-    protected: // from MEikListBoxObserver
-        /**
-         * Handle pointer up event
-         *
-         * @since S60 V3.2
-         * @param aListBox ListBox control
-         * @param aEventType
-         * @return None
-         */
-        virtual void HandleListBoxEventL(CEikListBox* aListBox, TListBoxEvent aEventType);
-
-    private:
-        /**
-        * constructor.
-        */
-        CAknFepUICtrlJapaneseCandidatePane(CAknFepUIManagerJapanese* aUiMng);
-
-        /**
-        * Symbian 2nd phase constructor can leave.
-        */
-        void ConstructL();
-
-        /**
-        * Set the title for the selection list
-        * @since 2.6
-        * @param aTitle      The character string of a title
-        */
-        void SetTitleL(const TDesC& aTitle);
-
-        /**
-        * The handler function for size change
-        * @since 2.6
-        * @param aDef                    layout information of popup-window
-        * @param aHeading                heading Pane object
-        * @param aListBox                listbox object
-        * @param aWindowOwningControl    owner control
-        */
-        void HandleSizeChanged(TAknPopupWindowLayoutDef& aDef,
-                               CAknPopupHeadingPane* aHeading,
-                               CEikListBox* aListBox,
-                               CCoeControl* aWindowOwningControl
-                               );
-
-        /**
-        * The handler function for Draw
-        * @since 2.6
-        * @param aEikEnv         EikEnv
-        * @param aGc             Gc
-        * @param aDef            layout information of popup-window
-        * @param aListBox        listbox object
-        * @param aHeadingOrNull  heading Pane object
-        */
-        static void HandleDraw(CEikonEnv* aEikEnv,
-                   CWindowGc& aGc,
-                   const TAknPopupWindowLayoutDef& aDef,
-                   CEikListBox* aListBox,
-                   CAknPopupHeadingPane* aHeadingOrNull);
-
-        /**
-        * Set up the information on a pop-up window
-        * @since 2.6
-        * @param aDef        layout information of popup-window
-        * @param aRect       rect
-        * @param num         total cantidate number
-        */
-        void CalcPopupMenuWindow(TAknPopupWindowLayoutDef& aDef,
-                                 const TRect& aRect,
-                                 TInt num);
-
-        /**
-        * Set up the information on a pop-up window
-        * @since 2.6
-        * @param aDef        layout information of popup-window
-        * @param num         total cantidate number
-        * @param heading     ETrue:with heading pane/ EFalse:without heading pane
-        */
-        void SetupMenuPopupWindow(TAknPopupWindowLayoutDef& aDef,
-                                  TInt num,
-                                  TBool heading);
-
-        /**
-        * The handler function for size and a location
-        * @since 2.6
-        * @param aDef                layout information of popup-window
-        * @param aContentInsidePopup
-        * @param aHeadingOrNull      heading pane object
-        */
-        static void HandleSizeAndPositionOfComponents(
-                                const TAknPopupWindowLayoutDef& aDef,
-                                CCoeControl* aContentInsidePopup,
-                                CAknPopupHeadingPane* aHeadingOrNull);
-
-        /**
-        * Draws a window shadow
-        * @since 2.6
-        * @param aCoverRect the area covered by the shadow
-        * @param aSecondShadowRect the area used for second shadow
-        * @param aFirstShadowRect  the area of first shadow
-        * @param aOutliineFrameRect the area of black outline frame
-        * @param aInsideAreaRect   the area of content inside the window
-        */
-        static void DrawWindowShadow(
-                                CWindowGc& aGc,
-                                const TAknLayoutRect& aCoverRect,
-                                const TAknLayoutRect& aSecondShadowRect,
-                                const TAknLayoutRect& aFirstShadowRect,
-                                const TAknLayoutRect& aOutlineFrameRect,
-                                const TAknLayoutRect& aInsideAreaRect);
-
-        /**
-        * This function returns maximum columns to be able to display in listbox, this function
-        * find longest candidate string in candidate list. Return 11 columns in case more than 11 columns, and minimum is 3 columns.
-        * @since 2.6
-        * @param aModel listbox model object
-        * @return maximum columns
-        */
-        TInt MaximumColumns(CTextListBoxModel* aModel);
-
-        /**
-        * This function returns maximum rows to be able to display in listbox.
-        * Maximum is 7 rows and  minimum is 3 columns.
-        * @since 2.6
-        * @param aModel listbox model object
-        * @return maximum line
-        */
-        TInt MaximumRows(CTextListBoxModel* aModel);
-
-        /**
-        * Called by the framework to draw the control
-        * @param aRect  Rectangle in which the Cone framework believes drawing
-        *               is needed
-        */
-        virtual void Draw(const TRect& aRect) const;
-
-        /**
-        * Handle key events. When a key event occurs,
-        * CONE calls this function for each control on the control stack,
-        * until one of them returns EKeyWasConsumed to indicate that
-        * it processed the key event.
-        *
-        * @param aKeyEvent  The key event.
-        * @param aType      The type of the event:
-        *                           EEventKey, EEventKeyUp or EEventKeyDown.
-        * @return           Indicates whether or not the key event was used
-        *                   by this control.
-        */
-        virtual TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,
-                                    TEventCode aType);
-
-        /**
-        * show cba
-        * @since 2.6
-        */
-        void ShowWindowCbaL();
-
-        /**
-        * Changing the cba
-        * @since 3.2
-        * @param aResourceID
-        */
-        void UpdateCbaL(TInt aResourceID);
-
-    private:    // Data
-        TRect  iMainPaneRect;
-        TPoint iOffsetPosition;
-        TInt   iSrcTextHeight;
-
-        TInt iMaximumColumns;
-        TInt iMaximumRows;
-        CAknFepUIManagerJapanese* iUiMng;
-    };
-
-#endif  // CAKNFEPUICTRLJAPANESECANDIDATEPANE_H
-
-// End of File
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlJapaneseKutenQueryDialog.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,174 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:            Kuten code query dialog
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef AKNFEPUICTRLJAPANESEKUTENQUERYDIALOG_H
-#define AKNFEPUICTRLJAPANESEKUTENQUERYDIALOG_H
-
-// INCLUDES
-#include <AknQueryDialog.h> // CAknTextQueryDialog
-
-// FORWARD DECLARATIONS
-
-// CONSTANTS
-
-// CLASS DECLARATION
-
-/**
-*  CAknFepUICtrlJapaneseKutenQueryDialog class.
-*
-*  @lib AknFep.lib
-*  @since 2.6
-*/
-NONSHARABLE_CLASS(CAknFepUICtrlJapaneseKutenQueryDialog) : public CAknTextQueryDialog
-    {
-    public:  // Constructors and destructor
-        /**
-        * Two-phased constructor.
-        */
-        static CAknFepUICtrlJapaneseKutenQueryDialog* NewL(
-                        TInt& aCharCode, const TTone& aTone = ENoTone);
-
-        /**
-        * Destructor.
-        */
-        virtual ~CAknFepUICtrlJapaneseKutenQueryDialog();
-        TInt ExecuteLD(TInt aResourceId);
-
-        TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType);
-    protected:  // Functions from CEikDialog
-        /**
-        * From CEikdialog   This function is called by the EIKON framework
-        *                   if the user activates a button in the button panel.
-        *                   It is not called if the Cancel button is activated,
-        *                   unless the EEikDialogFlagNotifyEsc flag is set.
-        * @since 2.6
-        * @param aButtonId  The ID of the button that was activated
-        * @return           Should return ETrue if the dialog should exit,
-        *                   and EFalse if it should not.
-        */
-        virtual TBool OkToExitL(TInt aButtonId);
-
-    protected:  // Functions from CAknQueryDialog
-        /**
-        * If the query text is ok (retrieved form query control) then display the
-        * left soft key, otherwise hide it.
-        * @since 2.6
-        */
-        virtual void  UpdateLeftSoftKeyL();
-
-    private:
-        /**
-        * constructor.
-        */
-        CAknFepUICtrlJapaneseKutenQueryDialog(
-                        TInt& aCharCode, const TTone& aTone = ENoTone);
-
-        /**
-        * Set visibility of the left softkey.
-        * Softkey is hidden when data in the query is not acceptable.
-        * @since 2.6
-        */
-        void MakeLeftSoftkeyVisibleL();
-
-        enum TJisElementsCharMap
-            {
-            EJisFirstMin = 0x21,
-            EJisFirstMax = 0x74,
-            EJisSecondMin = 0x21,
-            EJisSecondMax = 0x7E,
-            EJisLastSecondMax = 0x2F
-            };
-
-        enum TSjisElements
-            {
-            ESjisFirstMin1   = 0x81,
-            ESjisFirstMax1   = 0x9F,
-            ESjisFirstMin2   = 0xE0,
-            ESjisFirstMax2   = 0xEA,
-//          ESjisFirstMax2   = 0xEE,                // NEC extended kanji code
-//          ESjisFirstMax2   = 0xFC,                // IBM extended kanji code
-            ESjisFirstCount  = (ESjisFirstMax2 - ESjisFirstMin2 + 1
-                                + ESjisFirstMax1 - ESjisFirstMin1 + 1),
-            ESjisSecondMin1  = 0x40,
-            ESjisSecondMax1  = 0x7E,
-            ESjisSecondMin2  = 0x80,
-            ESjisSecondMax2  = 0xFC,
-            ESjisSecondCount = (ESjisSecondMax2 - ESjisSecondMin2 + 1
-                                + ESjisSecondMax1 - ESjisSecondMin1 + 1)
-            };
-
-        /**
-        * Convert from Kuten code to unicode, Kuten code is 4 characters which inputted in query dialog.
-        * @since 2.6
-        * @return unicode, it is one character.
-        */
-        TText   ConvertKutenCode2Unicode();
-
-        /**
-        * Convert to valid jis code. If inputting invalid code, this function converts nearly valid code.
-        * @since 2.6
-        */
-        void    AdjustJisCode(TText& aJisCode);
-
-        /**
-        * Convert to valid s-jis code. If inputting invalid code, this function converts nearly valid code.
-        * @since 2.6
-        * @return ETrue: s-jis code EFalse: none s-jis code
-        */
-        TBool   AdjustSjisCode(TText& aSjisCode);
-
-        /**
-        * Convert from JIS to S-JIS
-        * @since 2.6
-        * @return s-jis code as inputting jis code
-        */
-        TText   JisToSjis(TText aJisCode);
-
-        /**
-        * Check a s-jis code inputted in dialog
-        * @since 2.6
-        * @return ETrue: s-jis code EFalse: none s-jis code
-        */
-        TBool   CheckSjisCode(TText aSjisCode);
-
-        /**
-        * Convert from s-jis to unicode
-        * @since 2.6
-        * @return unicode code as inputting s-jis code
-        */
-        TText   ConvSjisToUnicode(TText aSjisCode);
-
-    private:
-        TInt&       iCharCode;
-        TBuf<5>     iBuffer;
-        TUint       iCbaResId;
-    };
-
-#endif  // AKNFEPUICTRLJAPANESEKUTENQUERYDIALOG_H
-
-// End of File
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlJapanesePredictiveCellListBoxData.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +0,0 @@
-/*
-* Copyright (c) 2003 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:            Predictive Candidate list
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef CAKNFEPUICTRLJAPANESEPREDICTIVECELLLISTBOXDATA_H
-#define CAKNFEPUICTRLJAPANESEPREDICTIVECELLLISTBOXDATA_H
-
-// INCLUDES
-
-// CONSTANTS
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-
-/**
-*  CAknFepUICtrlJapanesePredictiveCellListBoxData class.
-*
-*  @lib AknFep.lib
-*  @since 2.6
-*/
-NONSHARABLE_CLASS(CAknFepUICtrlJapanesePredictiveCellListBoxData)
-        : public CFormattedCellListBoxData
-    {
-    public:  // Constructors and destructor
-        /**
-        * Two-phased constructor.
-        */
-        static CAknFepUICtrlJapanesePredictiveCellListBoxData* NewL();
-
-    public: // New functions
-        /**
-        * Set a starting x-point and ending to highlight
-        * @since 2.6
-        * @param aHighlightStartXPos    a starting x-point
-        * @param aHighlightEndXPos      a ending x-point
-        */
-        void SetHighlightArea(TInt aHighlightStartXPos,
-                              TInt aHighlightEndXPos);
-
-    public: // Functions from CFormattedCellListBoxData
-
-        /**
-        * From CFormattedCellListBoxData Draw() is the most important method in
-        * CAknFepUICtrlJapanesePredictiveCellListBoxData.
-        * This is the only method that needs to be implemented in this class and
-        * it draws the whole listi tem.
-        * @since 0.0
-        * @param aProperties Properties attached to the list item
-        * @param aGc Graphics context used for drawing the list item
-        * @param aText a text string describing the list item cells
-        * @param aRect the area of the screen for the whole list item
-        * @param aHighlight whether the list item is selected
-        * @param aColors the colours used for drawing the item
-        * @return None.
-        */
-        virtual void Draw(TListItemProperties aProperties,
-                          CWindowGc& aGc,
-                          const TDesC* aText,
-                          const TRect& aRect,
-                          TBool aHighlight,
-                          const TColors& aColors) const;
-
-        /**
-        * From CFormattedCellListBoxData
-        * Show hightlight area in listbox
-        * @since 2.6
-        * @param aGc        Gc
-        * @param aItemRect  rect to highlight
-        * @param aHighlight ETrue is highlight. EFalse is non-highlight.
-        */
-        void DrawDefaultHighlight(CWindowGc &aGc,
-                                  const TRect &aItemRect,
-                                  TBool aHighlight) const;
-
-    private:    // Data
-        TInt iHighlightStartXPos;
-        TInt iHighlightEndXPos;
-    };
-
-#endif  // CAKNFEPUICTRLJAPANESEPREDICTIVECELLLISTBOXDATA_H
-
-// End of File
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlJapanesePredictiveListBoxModel.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,157 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:            Predictive Candidate list
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef CAKNFEPUICTRLJAPANESEPREDICTIVELISTBOXMODEL_H
-#define CAKNFEPUICTRLJAPANESEPREDICTIVELISTBOXMODEL_H
-
-// INCLUDES
-
-// CONSTANTS
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-
-/**
-*  TPredictivePopupElement class.
-*  This structure stores the information to display a candidate.
-*
-*  @lib AknFep.lib
-*  @since 2.6
-*/
-struct TPredictivePopupElement
-    {
-    TInt iStartXPos;
-    TInt iEndXPos;
-    TInt iCandidateNo;
-    };
-
-typedef CArrayFixFlat<TPredictivePopupElement> CPredictivePopupElementArray;
-
-// CLASS DECLARATION
-
-/**
-*  CPredictivePopupLineInfo class.
-*  This class stores a line information on predictive candidate list.
-*
-*  @lib AknFep.lib
-*  @since 2.6
-*/
-NONSHARABLE_CLASS(CPredictivePopupLineInfo) : public CBase
-    {
-public:
-    inline CPredictivePopupLineInfo() {};
-    virtual ~CPredictivePopupLineInfo();
-
-    HBufC* iLineText;
-    CPredictivePopupElementArray* iElementsOnLine;
-    };
-
-typedef CArrayPtrFlat<CPredictivePopupLineInfo> CPredictivePopupLineInfoArray;
-
-
-// CLASS DECLARATION
-
-/**
-*  CAknFepUICtrlJapanesePredictiveListBoxModel class.
-*
-*  @lib AknFep.lib
-*  @since 2.6
-*/
-NONSHARABLE_CLASS(CAknFepUICtrlJapanesePredictiveListBoxModel)
-        : public CAknFilteredTextListBoxModel
-    {
-    public: // New functions
-        /**
-        * This function registeres the array of line information of candidate list.
-        * @since 2,6
-        * @param aLineInfoArray
-        */
-        void SetLineInfoArray(CPredictivePopupLineInfoArray* aLineInfoArray);
-
-        /**
-        * This function returns a arrary object that the information is included each line.
-        * @since 2.6
-        * @return array object
-        */
-        CPredictivePopupLineInfoArray* LineInfoArray() const;
-
-        /**
-        * This function searches a item index as key in a candidate number
-        * 
-        * @since 2.6
-        * @param aCandidateNo   candidate number
-        * @return item index
-        */
-        TInt SearchItemIndexFromCandidateNo(TInt aCandidateNo) const;
-
-        /**
-        * This function is that it checks whether the candidate is included in the line.
-        * If including it, The displaying information is returned.
-        * @since 2.6
-        * @param aLineNo        line number
-        * @param aCandidateNo   candidate number
-        * @param aElement       display mode
-        * @return ETrue if including candidate
-        */
-        TBool SearchElement(TInt aLineNo,
-                            TInt aCandidateNo,
-                            TPredictivePopupElement& aElement);
-
-        /**
-        * Set total item numbers in listbox
-        * @since 2.6
-        * @param aMaximumItems  total item numbers
-        */
-        void SetMaximumItems(TInt aMaximumItems);
-
-        /**
-        * Return total item numbers
-        * @since 2.6
-        * @return total item numbers
-        */
-        TInt MaximumItems();
-
-        /**
-        * This function searches a CandidateNo from linenumber and Position
-        * @since 3.2
-        * @param aLineNo        line number
-        * @param aPoint         position
-        * @eturn candidate number
-        */
-        TInt SearchCandidateNoFromPosition(
-                TInt aLineNo, const TPoint& aPoint) const;
-
-    private:    // Data
-        CPredictivePopupLineInfoArray* iLineInfoArray;
-        TInt iMaximumItems;
-    };
-
-#endif  // CAKNFEPUICTRLJAPANESEPREDICTIVELISTBOXMODEL_H
-
-// End of File
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlJapanesePredictiveListbox.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +0,0 @@
-/*
-* Copyright (c) 2003 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:            Predictive Candidate list
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef CAKNFEPUICTRLJAPANESEPREDICTIVELISTBOX_H
-#define CAKNFEPUICTRLJAPANESEPREDICTIVELISTBOX_H
-
-// INCLUDES
-
-// CONSTANTS
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-
-/**
-*  CAknFepUICtrlJapanesePredictiveListbox class.
-*
-*  @lib AknFep.lib
-*  @since 2.6
-*/
-NONSHARABLE_CLASS(CAknFepUICtrlJapanesePredictiveListbox)
-        : public CAknSinglePopupMenuStyleListBox
-    {
-    public:  // Constructors and destructor
-        void ConstructL(const CCoeControl* aParent, TInt aFlags);
-
-    public: // New functions
-        /**
-        * Selecting the index as argument
-        * @since 2.6
-        * @param aCandidateNo  The index of the cursor position
-        * @param aDraw  ETrue is redraw.
-        */
-        void SetCurrentCandidateNo(TInt aCandidateNo, TBool aDraw);
-
-        /**
-        * Return the candidate number selected currently
-        * @since 2.6
-        * @return the candidate number selected currently
-        */
-        TInt CurrentCandidateNo();
-
-        /**
-        * selecting a previous candidate
-        * @since 2.6
-        * @return the candidate number selected currently
-        */
-        TInt MovePreviousItem();
-
-        /**
-        * selecting a next candidate
-        * @since 2.6
-        * @return the candidate number selected currently
-        */
-        TInt MoveNextItem();
-
-        /**
-        * selecting a previous line candidate
-        * @since 2.6
-        * @return the candidate number selected currently
-        */
-        TInt MovePreviousLineItem();
-
-        /**
-        * selecting a next line candidate
-        * @since 2.6
-        * @return the candidate number selected currently
-        */
-        TInt MoveNextLineItem();
-
-        /**
-         * Handling of pointer event within the @c CEikListBox.
-         * Used for e.g. selecting an item from the list box.
-         *
-         * @since 3.2
-         * @param aPointerEvent Details of the pointer event that is being handled.
-         */
-        void HandlePointerEventL(const TPointerEvent& aPointerEvent);
-
-    public: // Functions from CAknSinglePopupMenuStyleListBox
-        virtual void SizeChanged();
-
-    public: // Functions from CEikFormattedCellListBox
-        virtual CListBoxView* MakeViewClassInstanceL();
-
-    protected: // Functions from CAknSinglePopupMenuStyleListBox
-        virtual void CreateItemDrawerL();
-
-    protected: // Functions from CEikListBox
-        /**
-         * Sets an item as the current item, even if it is not currently
-         * visible. Redraws the list box to reflect the change. This
-         * should not be called from within another Draw function.
-         *
-         * @param aItemIndex The index of the list box item to update.
-         */
-        virtual void UpdateCurrentItem(TInt aItemIndex) const;
-
-        /**
-         * from CEikListBox
-         * Used for scrolling through the items in the list box.
-         *
-         * @param aScrollBar Scroll bar for the list box.
-         * @param aEventType Type of the event that occured.
-         */
-        virtual void HandleScrollEventL(CEikScrollBar* aScrollBar,
-                                                 TEikScrollEvent aEventType);
-    };
-
-#endif  // CAKNFEPUICTRLJAPANESEPREDICTIVELISTBOX_H
-
-// End of File
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlJapanesePredictiveListboxItemDrawer.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,88 +0,0 @@
-/*
-* Copyright (c) 2003 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:            Predictive Candidate list
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef CAKNFEPUICTRLJAPANESEPREDICTIVELISTBOXITEMDRAWER_H
-#define CAKNFEPUICTRLJAPANESEPREDICTIVELISTBOXITEMDRAWER_H
-
-// INCLUDES
-
-// CONSTANTS
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-
-/**
-*  CAknFepUICtrlJapanesePredictiveListboxItemDrawer draws a single list item
-*  and manages list item properties.
-*
-*  @lib AknFep.lib
-*  @since 2.6
-*/
-NONSHARABLE_CLASS(CAknFepUICtrlJapanesePredictiveListboxItemDrawer)
-        : public CFormattedCellListBoxItemDrawer
-    {
-    public:  // Constructors and destructor
-        /**
-        * Constructors
-        * @since 2.6
-        * @param aTextListBoxModel
-        * @param aFont
-        * @param aFormattedCellData
-        */
-        CAknFepUICtrlJapanesePredictiveListboxItemDrawer(
-                                    MTextListBoxModel* aTextListBoxModel,
-                                    const CFont* aFont,
-                                    CFormattedCellListBoxData* aFormattedCellData);
-
-    public: // New functions
-        /**
-        * Drawing listbox items
-        * @since 2.6
-        * @param aItemIndex         a item index to draw
-        * @param aItemRectPos       a rect to draw
-        * @param aItemIsSelected    a flag to select
-        * @param aItemIsCurrent     a flag to current
-        * @param aViewIsEmphasized  
-        * @param aViewIsDimmed      
-        * @param aHighlightStartXPos    a starting x-position to hightlight
-        * @param aHighlightEndXPos      a ending x-position to hightlight
-        */
-        void DrawItem(TInt aItemIndex,
-                      TPoint aItemRectPos,
-                      TBool aItemIsSelected,
-                      TBool aItemIsCurrent,
-                      TBool aViewIsEmphasized,
-                      TBool aViewIsDimmed,
-                      TInt aHighlightStartXPos,
-                      TInt aHighlightEndXPos) const;
-    };
-
-#endif  // CAKNFEPUICTRLJAPANESEPREDICTIVELISTBOXITEMDRAWER_H
-
-// End of File
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlJapanesePredictiveListboxView.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-/*
-* Copyright (c) 2003 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:            Predictive Candidate list
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef CAKNFEPUICTRLJAPANESEPREDICTIVELISTBOXVIEW_H
-#define CAKNFEPUICTRLJAPANESEPREDICTIVELISTBOXVIEW_H
-
-// INCLUDES
-
-// CONSTANTS
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-
-/**
-*  CAknFepUICtrlJapanesePredictiveListboxView draws all the list items and manages
-*  the area of the screen allocated for list itself. In particular,
-*  this class does not handle margins of the whole list.
-*
-*  @lib AknFep.lib
-*  @since 2.6
-*/
-NONSHARABLE_CLASS(CAknFepUICtrlJapanesePredictiveListboxView) : public CListBoxView
-    {
-    public: // New functions
-        /**
-        * Return the selected candidate number currently
-        * @since 2.6
-        * @return candidate number
-        */
-        TInt CurrentCandidateNo() const;    
-
-        /**
-        * Set current candidate number
-        * @since 2.6
-        * @param    aCandidateNo    candidate number
-        * @return   item index including candidate number
-        */
-        TInt SetCurrentCandidateNo(TInt aCandidateNo); 
-
-        /**
-        * Return previous candidate number
-        * @since 2.6
-        * @return candidate number
-        */
-        TInt PreviousItem();
-
-        /**
-        * Return next candidate number
-        * @since 2.6
-        * @return candidate number
-        */
-        TInt NextItem();
-
-        /**
-        * Return candidate number of previous line
-        * @since 2.6
-        * @return candidate number
-        */
-        TInt PreviousLineItem();
-
-        /**
-        * Return candidate number of next line
-        * @since 2.6
-        * @return candidate number
-        */
-        TInt NextLineItem();
-
-        /**
-        * Return the selected candidate number currently
-        * @since 3.2
-        * @return candidate number
-        */
-        TInt OldCandidateNo() const;
-
-        /**
-        * Set current candidate number from point
-        * @since 3.2
-        * @param aLineNo        line number
-        * @param aPoint         position
-        * @return candidate number
-        */
-        TInt SetCurrentCandidateNo(TInt aLineNo, const TPoint& aPoint);
-
-    public: // from CListBoxView
-        virtual void DrawItem(TInt aItemIndex) const;
-
-    private:    // Data
-        TInt iCurrentCandidateNo;
-        TInt iOldCandidateNo;
-    };
-
-#endif  // CAKNFEPUICTRLJAPANESEPREDICTIVELISTBOXVIEW_H
-
-// End of File
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlJapanesePredictivePane.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,385 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:            Predictive Candidate list
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef CAKNFEPUICTRLJAPANESEPREDICTIVEPANE_H
-#define CAKNFEPUICTRLJAPANESEPREDICTIVEPANE_H
-
-// INCLUDES
-#include <aknPopup.h>
-#include "AknFepUICtrlCandidatePaneInterface.h" // MAknFepUICtrlCandidatePaneInterface
-#include "AknFepUIAvkonCtrlJapanesePredictiveListBoxModel.h"
-
-// CONSTANTS
-const TInt KJapPredictiveVisibleListRowsMax = 3;
-const TInt KJapPredictiveVisibleListRowsMin = 1;
-
-// FORWARD DECLARATIONS
-class CAknFepUIManagerJapanese;
-
-// CLASS DECLARATION
-
-/**
-*  CAknFepUICtrlJapanesePredictivePane class.
-*
-*  @lib AknFep.lib
-*  @since 2.6
-*/
-NONSHARABLE_CLASS(CAknFepUICtrlJapanesePredictivePane) :
-    public CAknPopupList,
-    public MAknFepUICtrlCandidatePaneInterface
-    {
-    public: // Constructors and destructor
-        /**
-        * Two-phased constructor.
-        */
-        static CAknFepUICtrlJapanesePredictivePane* NewL(CAknFepUIManagerJapanese* aUiMng);
-
-        /**
-        * Destructor.
-        */
-        virtual ~CAknFepUICtrlJapanesePredictivePane();
-
-    public: // New functions
-        /**
-        * Show Pop-up list
-        * @since 2.6
-        */
-        void ShowWindow();
-
-        /**
-        * Close Pop-up list
-        * @since 2.6
-        */
-        void ClosePredictiveList();
-
-        /**
-        * Specify the cursor position of a pop-up list
-        * @since 2.6
-        * @param aItemIndex  The index of the cursor position
-        */
-        void SetCurrentItemIndex(TInt aItemIndex);
-
-        /**
-        * Specify the display position of a pop-up list
-        *
-        * @since 2.6
-        * @param aOffset     Offset of a window display position
-        */
-        void SetOffsetPosition(TPoint aOffset);
-
-public: // Functions from MAknFepUICtrlCandidatePaneInterface
-        /**
-        * From MAknFepUICtrlCandidatePaneInterface
-        * Set position to show candidate list
-        * @since 2.6
-        * @param aLeftSideOfBaseLine    left side of font
-        * @param aHeight                font height
-        * @param aAscent                ascent position
-        */
-        void SetWindowPosition(const TPoint& aLeftSideOfBaseLine,
-                               TInt aHeight,
-                               TInt aAscent);
-
-        /**
-        * From MAknFepUICtrlCandidatePaneInterface
-        * Show candidate list popup window
-        * @since 2.6
-        * @param aItems     array including each candidate string
-        * @param aIndex     selecting candidate number to display first time
-        *
-        */
-        void ShowCandidateListL(CDesCArrayFlat* aItems, TInt aIndex, TInt aResourceID);
-
-        /**
-        * From MAknFepUICtrlCandidatePaneInterface
-        * Hide candidate list popup window
-        * @since 2.6
-        */
-        void HideWindow();
-
-        /**
-        * From MAknFepUICtrlCandidatePaneInterface
-        * Return a selected candidate item number currently
-        * @since 2.6
-        */
-        TInt CurrentItemIndexOfCandidate();
-
-        /**
-        * From MAknFepUICtrlCandidatePaneInterface
-        * Move a current item in an appointed direction
-        * @since 2.6
-        * @param aDirection     direction
-        */
-        TInt MoveItem(TAknFepUICtrlScroll aDirection);
-
-    protected: // Functions from CAknPopupList
-        /**
-        * From CAknPopupList Set up a window layout type
-        * @since 2.6
-        * @param aType       Layout type
-        */
-        virtual void SetupWindowLayout(AknPopupLayouts::TAknPopupLayouts aType);
-
-        /**
-        * From CAknPopupList Set the title for the selection list
-        * @since 2.6
-        * @param aAccept
-        */
-        virtual void AttemptExitL(TBool aAccept);
-
-        TTypeUid::Ptr MopSupplyObject(TTypeUid aId);
-
-    protected: // from MEikListBoxObserver
-        /**
-         * Handle pointer up event
-         *
-         * @since S60 V3.2
-         * @param aListBox ListBox control
-         * @param aEventType
-         * @return None
-         */
-        virtual void HandleListBoxEventL(CEikListBox* aListBox, TListBoxEvent aEventType);
-
-    private:
-        /**
-        * constructor.
-        */
-        CAknFepUICtrlJapanesePredictivePane(CAknFepUIManagerJapanese* aUiMng);
-
-        /**
-        * Symbian 2nd phase constructor can leave.
-        */
-        void ConstructL();
-
-        /**
-        * Create array with line information in candidate list
-        * @since 2.6
-        * @param aItems                     array with candidate string
-        * @param aMaxDisplayWidthInPixel    maximum width in pixel
-        * @param aFontId                    font id
-        * @return array with line information
-        */
-        CPredictivePopupLineInfoArray*
-        CreatePredictivePopupLineInfoArrayL(CDesCArrayFlat* aItems,
-                                            const TInt aMaxDisplayWidthInPixel,
-                                            const TInt aFontId);
-
-        /**
-        * Append to array with line information
-        * @since 2.6
-        * @param aLineArray     array with line information
-        * @param aLineText      string to show in a line
-        * @param aElementArray  array with element information
-        */
-        void PredictivePopupAppendLineL(CPredictivePopupLineInfoArray* aLineArray,
-                                   const TDesC& aLineText,
-                                   CPredictivePopupElementArray* aElementArray);
-
-        /**
-        * Create arrary with string to show in a line
-        * @since 2.6
-        * @param aLineArray     arrary with line information
-        * @return   string array
-        */
-        CDesCArrayFlat* CreateListTextArrayL(
-                                      CPredictivePopupLineInfoArray* aLineArray);
-
-        /**
-        * The handler function for size change
-        * @since 2.6
-        * @param aDef                    layout information of popup-window
-        * @param aHeading                heading pane object
-        * @param aListBox                listbox object
-        * @param aWindowOwningControl    Owner control
-        */
-        void HandleSizeChanged(TAknPopupWindowLayoutDef& aDef,
-                               CAknPopupHeadingPane* aHeading,
-                               CEikListBox* aListBox,
-                               CCoeControl* aWindowOwningControl
-                               );
-
-        /**
-        * The handler function for Draw
-        * @since 2.6
-        * @param aEikEnv         EikEnv
-        * @param aGc             Gc
-        * @param aDef            layout information of popup-window
-        * @param aListBox        Listbox object
-        * @param aHeadingOrNull  Heading Pane object
-        */
-        static void HandleDraw(CEikonEnv* aEikEnv,
-                   CWindowGc& aGc,
-                   const TAknPopupWindowLayoutDef& aDef,
-                   CEikListBox* aListBox,
-                   CAknPopupHeadingPane* aHeadingOrNull);
-
-        /**
-        * Set up the information on a pop-up window
-        * @since 2.6
-        * @param aDef        layout information of popup-window
-        * @param aRect       rect
-        * @param num         total cantidate number
-        */
-        void CalcPopupMenuWindow(TAknPopupWindowLayoutDef& aDef,
-                                 const TRect& aRect,
-                                 TInt num);
-
-        /**
-        * Set up the information on a pop-up window
-        * @since 2.6
-        * @param aDef        layout information of popup-window
-        * @param num         total cantidate number
-        * @param heading     ETrue id with heading area, EFalse is without one.
-        */
-        void SetupMenuPopupWindow(TAknPopupWindowLayoutDef& aDef,
-                                  TInt num,
-                                  TBool heading);
-
-        /**
-        * The handler function for size and a location
-        * @since 2.6
-        * @param aDef                layout information of popup-window
-        * @param aContentInsidePopup
-        * @param aHeadingOrNull      Heading Pane object
-        */
-        static void HandleSizeAndPositionOfComponents(
-                            const TAknPopupWindowLayoutDef& aDef,
-                            CCoeControl* aContentInsidePopup,
-                            CAknPopupHeadingPane* aHeadingOrNull);
-
-        /**
-        * Draws a window shadow
-        * @since 2.6
-        * @param aCoverRect         the area covered by the shadow
-        * @param aSecondShadowRect  the area used for second shadow
-        * @param aFirstShadowRect   the area of first shadow
-        * @param aOutliineFrameRect the area of black outline frame
-        * @param aInsideAreaRect    the area of content inside the window
-        */
-        static void DrawWindowShadow(CWindowGc& aGc,
-                                     const TAknLayoutRect& aCoverRect,
-                                     const TAknLayoutRect& aSecondShadowRect,
-                                     const TAknLayoutRect& aFirstShadowRect,
-                                     const TAknLayoutRect& aOutlineFrameRect,
-                                     const TAknLayoutRect& aInsideAreaRect);
-
-        /**
-        * This function returns maximum rows to be able to display in listbox.
-        * Maximum is 7 rows and  minimum is 3 columns.
-        * @since 2.6
-        * @param aModel listbox model object
-        * @return maximum line
-        */
-        TInt MaximumRows(CTextListBoxModel* aModel);
-
-        /**
-        * Called by the framework to draw the control
-        * @since 2.6
-        * @param aRect  Rectangle in which the Cone framework believes drawing
-        *               is needed
-        */
-        void Draw(const TRect& aRect) const;
-
-        /**
-        * Handle key events. When a key event occurs,
-        * CONE calls this function for each control on the control stack,
-        * until one of them returns EKeyWasConsumed to indicate that
-        * it processed the key event.
-        *
-        * @since 2.6
-        * @param aKeyEvent  The key event.
-        * @param aType      The type of the event:
-        *                           EEventKey, EEventKeyUp or EEventKeyDown.
-        * @return           Indicates whether or not the key event was used
-        *                   by this control.
-        */
-        TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,
-                                    TEventCode aType);
-
-        /**
-        * selecting a previous candidate
-        * @since 2.6
-        * @return selected candidate number
-        */
-        TInt MovePreviousItem();
-
-        /**
-        * selecting a next candidate
-        * @since 2.6
-        * @return selected candidate number
-        */
-        TInt MoveNextItem();
-
-        /**
-        * selecting a previous line candidate
-        * @since 2.6
-        * @return selected candidate number
-        */
-        TInt MovePreviousLineItem();
-
-        /**
-        * selecting a next line candidate
-        * @since 2.6
-        * @return selected candidate number
-        */
-        TInt MoveNextLineItem();
-
-        /**
-        * Changing the cba
-        * @since 2.6
-        * @param aResourceID
-        */
-        void UpdateCbaL(TInt aResourceID);
-
-        /**
-        * from CAknPopupList of MEikCommandObserver
-        * @since 2.6
-        * @param aCommandId aCommandId  Event Id from the soft-key
-        */
-        void ProcessCommandL(TInt aCommandId);
-
-        /**
-        * show cba
-        * @since 2.6
-        */
-        void ShowWindowCbaL();
-
-    private:    // Data
-        TRect   iMainPaneRect;
-        TPoint  iOffsetPosition;
-        TInt    iSrcTextHeight;
-
-        TInt    iMaximumRows;
-        CPredictivePopupLineInfoArray* iLineInfoArray;
-        CDesCArrayFlat* iListTextArray;
-        CAknFepUIManagerJapanese* iUiMng;
-    };
-
-#endif  // CAKNFEPUICTRLJAPANESEPREDICTIVEPANE_H
-
-// End of File
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUIAvkonCtrlPinyinPopup.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,698 +0,0 @@
-/*
-* Copyright (c) 2004 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:           
-*       Provides the CAknFepUICtrlPinyinPopup class definitions.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_AVKON_PINYIN_POPUP_H
-#define __AKN_FEP_UI_AVKON_PINYIN_POPUP_H
-
-#include <AknFepUICtrlPinyinPopup.h>
-#include <badesca.h>
-#include <coecntrl.h>
-#include <AknUtils.h>
-#include "AknFepUIAvkonCtrlInputPane.h"
-#include "AknFepUIAvkonCtrlCandidatePane.h"
-
-class MAknFepUICtrlPinyinPopupSizeChangedObserver;
-
-NONSHARABLE_CLASS(CAknFepUICtrlPinyinPopup):public CCoeControl, public MAknFepUICtrlPinyinPopup
-{
-public:
-    /**
-     * First phase construction
-     */
-    static CAknFepUICtrlPinyinPopup* NewL(RWindow& aParent, CAknFepUiLayoutDataMgr* aLafDataMgr);
-    /**
-     * destructor
-     */
-    ~CAknFepUICtrlPinyinPopup();
-    /**
-     * This function returns the index of the selected phrase item .
-     *
-     * @return aIndex index of entry in window, zero based
-     */
-    TInt CurrentSelection() const;
-    /**
-     * This function returns the visible index of the selected item.
-     *
-     * @return aIndex index of entry in window, zero based
-     */
-    TInt CurrentVisibleSelection() const;
-	 /**
-     * set the observer
-     * <p> Note that only one observer is supported!
-     *
-     * @param aObserver pointer to the observer
-     */
-    void SetSizeChangedObserver(MAknFepUICtrlPinyinPopupSizeChangedObserver* aObserver);
-
-    /**
-     * Enables the display of the control. Sets the control's 
-     * window postion and visibility, but only if the value has
-     * changed (so it's ok to call it excessively). 
-     *
-     * @param aEnable if ETrue, makes visible
-     *                          if EFalse, makes non-visible
-     *
-     */
-    void Enable(TBool aEnable);
-	/**
-     * set the number of selections that are visible
-     *
-     * @param aCount the number of visible selections, must be 
-     *                          0 < aCount <= KMaxNumberOfSelections 
-     */
-    void SetVisibleSelectionCount(TInt aCount);
-	/**
-     * set the number of selections that are visible
-     *
-     * @param aCount the number of visible selections, must be 
-     *                          0 < aCount <= KMaxNumberOfSelections 
-     */
-    void SetVisibleCount(TInt aCount);
-
-    /**
-     * get the current visible selection count
-     *
-     * @return visible selection count
-     */
-    TInt VisibleSelectionCount() const;
-
-
-    /**
-     * This sets the string of the internal buffer for the item index aIndex to aText,
-     * even if the index falls outside the current visible candidates.
-     *
-     * @param aText new contents of text item
-     * @return ETrue if successful
-     *              EFalse if index outside visible candidates (but value is still set)
-     *
-     */
-    TBool SetItemText(TInt aIndex, const TDesC& aText);
-
-    /**
-    *   Sets the string of the internal buffer for visible item 
-    */
-    TBool SetPhraseItemTexts();
-    
-    /**
-     * This function gets the text at the index aIndex. 
-     *
-     * @param aIndex index of entry in window, zero based
-     * @output aText contains contents of text item
-     * @return ETrue always
-     *
-     */
-    TBool GetItemText(TInt aIndex, TDes& aText) const;
-
-    /**
-     * This function sets the Tone Mark for all entries
-     * 
-     * @param aToneMark the tone mark
-     *
-     */
-    void SetToneMark(const TDesC& aToneMark);
-
-    /**
-     * This function sets the Tone Mark for a specific entry
-     * 
-     * @param aIndex index of entry
-     * @param aToneMark the tone mark
-     *
-     */
-    void SetToneMark(TInt aIndex, const TDesC& aToneMark);
-
-    /**
-     * This function gets the Tone Mark for a specific entry
-     * 
-     * @param aIndex index of entry
-     * @output aToneMark the tone mark
-     *
-     */
-    void GetToneMark(TInt aIndex, TDes& aToneMark) const;
-
-    /**
-     * This function sets the validity of the tonemark
-     *
-     * @param aIndex index of the entry to be affected
-     * @param aValid if ETrue, tonemark will be displayed as valid
-     *                          if EFalse, tonemark will be displayed as not valid
-     */
-    void SetItemToneMarkValidity(TInt aIndex, TBool aValid);
-    /**
-     * Is the control enabled for display?
-     *
-     * @return if not enabled, return EFalse
-     */
-    TBool IsEnabled() const;
-
-    /**
-     * Select the next visible item. If already on the last one, loop to the 
-     * first one.
-     *
-     * @return ETrue if success, 
-     *              EFalse if no items visible, or if selection is outside visible items
-     */
-    TBool SelectNextPhrase();
-
-    /**
-     * Select the previous visible item. If already on the first one, loop to the 
-     * last one.
-     *
-     * @return ETrue if success, 
-     *              EFalse if no items visible, or if selection is outside visible items
-     */
-    TBool SelectPrevPhrase();
-
-    /**
-     * This function selects the item at index aIndex. 
-     *
-     * @param aIndex index of entry in window, zero based
-     * @return ETrue if success, EFalse if failure.
-     */
-    TBool SelectIndex(TInt aIndex);
-
-    /**
-	*	Return Pinyin spelling candidate array 
-	*/
-    CDesCArrayFlat* PhoneticSpellingArray(void);
-
-    /**
-	*	Return Pinyin spelling candidate array 
-	*/
-    CDesCArrayFlat* PhoneticSpellingIndexArray();    
-    /**
-	*	Split phrase pinyin spelling candidates into pages 
-	*/
-    void SplitPhraseSpellingIntoPages(void);
-
-    /**
-	*	Split pinyin spelling candidates into pages 
-	*/
-    void SplitSpellingIntoPages(TInt aCount);
-    
-    /**
-	*	Set display page for deliberate selection 
-	*/
-    void SetDisplayPage(TInt aSelection);
-    /**
-	*	Return current page start spelling index 
-	*/
-    TInt CurrentPageStartIndex(void);
-
-    /**
-	*	Return kestroke array 
-	*/
-    CDesCArrayFlat* KeystrokeArray(void);
-    
-    /**
-	*	Return in effect kestroke array 
-	*/    
-    CDesCArrayFlat* InEffectKeystrokeArray();
-    
-    /**
-	*	Return  show kestroke array 
-	*/    
-    CDesCArrayFlat* ShowKeystrokeArray();
-
-    /**
-	 *	Return Optimize Spelling array 
-	 */    
-    CDesCArrayFlat* OptimizeSpelling();
-    
-    /**
-     *  Return temp Spelling array 
-     */    
-    CDesCArrayFlat* TempSpelling();
-    
-    /**
-     *	Return choose chinese charater array 
-     */
-    CDesCArrayFlat* ChooseChineseCharacterArray();    
-
-    /**
-     *	Return choose chiese charater keystroke array 
-     */
-    CDesCArrayFlat* ChooseChineseCharacterArrayKeystroke();    
-    
-    /**
-     *	Return the tone mark state 
-     */
-    TBool GetTonemarkState();   
-    
-    /**
-     *	set the tone mark state 
-     */
-     void SetTonemarkState( TBool aState );    
-     
-    /**
-    *   Set, clear and check flags status
-    */
-    inline void SetFlag(TInt aFlag);
-    inline void ClearFlag(TInt aFlag);
-    inline TBool IsFlagSet(TInt aFlag) const;
-	void PopupSizeChanged();
-	
-    /**
-     *  Set all the input pane not highlight
-     */
-	void SetNoneHighlighted();
-	
-    /**
-    *   Return kestroke array 
-    */
-	CDesCArrayFlat* KeystrokeArrayForStroke();
-
-    /**
-    *   Return in effect kestroke array 
-    */  
-	CDesCArrayFlat* InEffectKeystrokeArrayForStroke();
-
-    /**
-    *   Return  show kestroke array 
-    */ 
-	CDesCArrayFlat* ShowKeystrokeArrayForStroke();
-
-    /**
-     *  Return choose chinese charater array 
-     */
-	CDesCArrayFlat* ChooseChineseCharacterArrayForStroke();
-
-    /**
-     *  Return choose chiese charater keystroke array 
-     */
-	CDesCArrayFlat* ChooseChineseCharacterArrayKeystrokeForStroke();
-	
-    CDesCArrayFlat* ZhuyinSymbols();
-    
-    CDesCArrayFlat* ZhuyinShowSymbols();
-    
-    CDesCArrayFlat* FirstValidZhuyinGrp() ;
-    
-    CDesCArrayFlat* ChineseCharsDisped() ;
-    
-    CDesCArrayFlat* ZhuyinSymbolsForChineseCharsDisped() ;
-    
-    void SetEEPContent ( const TDes& aDes );
-    TDes& GetEEPContent ( );
-    
-    void SetEEPContentValid ( TBool aValid );
-    TBool GetEEPContentValid ( );
-    
-    /**
-     *  Reset all array 
-     */
-	void ResetStrokeArray();
-	
-    /**
-     *  Set the state is changed 
-     */
-    void SetChangeState( TBool aChangeState );
-    
-    /**
-     *  Return if has changed state or not 
-     */
-    TBool IsChangeStatet() const;
-    
-    /**
-     * Set whether state change from entry to spelling editing is automatical.
-     * 
-     * @param aState.1 for automatical, 0 for manual.
-     * @return None.
-     */
-    void SetState( TInt aState );
-    
-    /**
-     * Get state change status.
-     */
-    TInt GetState();
-    
-    /**
-     * Set whether state change from pinyin input state to pinyin phrase creation.
-     * 
-     * @param aState. ETrue for state change from pinyin input to phrase creation,
-     *  EFalse is not.
-     * @return None.
-     */
-    void SetPhraseCreationState( TBool aState );
-    
-    /**
-     * Set whether state change from pinyin input state to pinyin phrase creation.
-     * 
-     * @return ETrue for state change from pinyin input to phrase creation,
-     *  EFalse is not.
-     */
-    TBool GetPhraseCreationState();
-    
-    /**
-     * Set whether at the editing state happen editing for pinyin phrase creation.
-     * 
-     * @param aState. ETrue happen editing,EFalse others.
-     * @return None.
-     */
-    void SetPhraseCreationEditingState( TBool aState );
-    
-    /**
-     * Get whether at the editing state happen editing for pinyin phrase creation.
-     * 
-     * @param aState. ETrue happen editing,EFalse others.
-     * @return None.
-     */
-    TBool GetPhraseCreationEditingState();
-    
-    /**
-     * Set flag whether from candidate state change state.
-     * 
-     * @param aFlag  ETrue from the candidate state change state, other EFalse.
-     * @since S60 V5.0
-     * @return none.
-     */
-    void SetFromCandidateChangeStateFlag( TBool aFlag );
-    
-    /**
-     * Get flag whether from candidate state change state.
-     * 
-     * @since S60 V5.0
-     * @return ETrue from the candidate state change state, other EFalse.
-     */
-    TBool GetFromCandidateChangeStateFlag();
-
-    /**
-     * Set count of valid keystroke.
-     * 
-     * @since S60 V5.0
-     * @return none
-     */
-    void SetValidKeystrokeCount( TInt aCount );
-    
-    /**
-     * get count of valid keystroke.
-     * 
-     * @since S60 V5.0
-     * @return count of valid keystroke.
-     */
-    TInt GetValidKeystrokeCount();
-    
-    /**
-     * Set last cba resouce id.
-     * 
-     * @since S60 V5.0
-     * @return None
-     */
-    void SetLastResouce( TInt aResouceId );
-    
-    /**
-     * Get last cba resouce id.
-     * 
-     * @since S60 V5.0
-     * @return last resouce id
-     */
-    TInt GetLastResouce();
-    
-    
-    /**
-     * Set change state from Edit to Spelling flag.
-     * 
-     * @param aFlag,If ETrue Change from Edit state to spelling state,EFalse others. 
-     * @since S60 V5.0
-     * @return none.
-     */
-    void SetFromEditToSpellingFlag( TBool aFlag = EFalse );
-
-    /**
-     * Get change state from Edit to Spelling flag.
-     * 
-     * @param none. 
-     * @since S60 V5.0
-     * @return ETrue Change from Edit state to spelling state,EFalse others..
-     */
-    TInt GetFromEditToSpellingFlag();
-    
-    
-    /**
-     * Set valid keystroke change flag.
-     * 
-     * @param aFlag, ETrue valid keystroke changed,EFalse others.
-     * @since S60 V5.0
-     * @return none
-     */
-    void SetValidKeystrokeChange( TBool aFlag );
-    
-    /**
-     * Get valid keystroke change flag.
-     * 
-     * @since S60 V5.0
-     * @return ETrue,if vallid keystroke changed, others EFalse.
-     */
-    TBool GetValidKeystrokeChange();
-    
-    /**
-     * Set PreStateIsPredict flag.
-     * 
-     * @param aFlag, ETrue PreStateIsPredict,EFalse others.
-     * @since S60 V5.0
-     * @return none
-     */
-    void SetPreStateIsPredictive( TBool aFlag );
-    
-    /**
-     * Get PreStateIsPredict flag.
-     * 
-     * @since S60 V5.0
-     * @return ETrue,if PreStateIsPredict, others EFalse.
-     */
-    TBool GetPreStateIsPredictive();
-
-    void SetInputLayoutMiniQwertyZhuyin();
-    
-    void ResetInputLayoutMiniQwertyZhuyin();
-
-protected: // From CCoeControl
-	TTypeUid::Ptr MopSupplyObject(TTypeUid aId);
-
-protected:
-    /**
-     * constructor
-     */
-	CAknFepUICtrlPinyinPopup(CAknFepUiLayoutDataMgr* aLafDataMgr);
-    /**
-     * second phase construction
-     */
-    void ConstructL(RWindow& aParent);
-	/**
-     * Construct arrow bitmap class
-     */
-	void ConstructBitmapsL();
-    /**
-     * layout the rectangles
-     */
-    void LayoutRects();
-
-    /**
-     * layout contained controls
-     */
-    void LayoutContainedControls();
-
-    /**
-     * Layout the input panes
-     */
-    void LayoutInputPanes();
- 
-	/**
-     * set the visibility of the input panes, according to the current layout
-     */
-    void SetInputPaneVisibility();
-
-    /**
-     * layout the background frames
-     */
-    void LayoutFrames();
-
-    /**
-     * just layout one of the input panes
-     *
-     * @param aIndex index of input pane to lay out
-     *
-     */
-    void LayoutInputPane(TInt aIndex);
-
-    /**
-     * update input panes' visibility
-     */
-    void UpdateInputPaneVisibility(void);
-
-	
-public: //from CcoeControl
-     /**
-     * size changed
-     */
-    virtual void SizeChanged();
-
-    /**
-     * count component controls
-     *
-     * @return number of contained controls
-     */
-    TInt CountComponentControls() const;
-
-    /**
-     * Component control
-     *
-     * @param aIndex the control to return, must be between 0 and the number of controls
-     * @return pointer to contained control, ownership is not passed
-     * 
-     */
-    CCoeControl* ComponentControl(TInt aIndex) const;
-    /**
-     * draw
-     *
-     * @param aRect rectangle
-     *
-     */
-    virtual void Draw(const TRect& aRect) const;
-    /**
-     * layout the background frames
-     *
-     * @param aOuterRect filled with outer rect coords
-     * @param aInnerRect filled with inner rect coords
-     *
-     */
-    void CalculateFrameRects(TRect& aOuterRect, TRect& aInnerRect) const;
- 
-private: // the following need resetting
-    RPointerArray<CAknFepUICtrlInputPane> iInputPaneArray;
-private: // the following are not owned
-    CAknFepUiLayoutDataMgr* iLafDataMgr;
-    MAknFepUICtrlPinyinPopupSizeChangedObserver* iSizeChangedObserver;
-private: // the following are owned
-    CAknsFrameBackgroundControlContext* iBgContext; 
-    CFbsBitmap* iNaviArrowBitmapLeft;
-    CFbsBitmap* iNaviArrowBitmapLeftMask;
-    CFbsBitmap* iNaviArrowBitmapRight;
-    CFbsBitmap* iNaviArrowBitmapRightMask;
-
-private:
-	TAknLayoutRect iIndiFepArrowLeft;
-    TAknLayoutRect iIndiFepArrowRight;
-    TInt iSelected;
-    TInt iEnabled;
-    TToneMark iToneMark;
-   	TAknLayoutRect iRectCoverMainPaneInput;
-    TAknLayoutRect iRectFirstShadowInput;
-    TAknLayoutRect iRectOutlineFrameInput;
-    TAknLayoutRect iRectInsideAreaInput;
-	TInt iVisibleCount;
-    RArray<TPage> iPages;
-    TInt iCurDisplayPage;
-    CDesCArrayFlat* iSpellingArray;
-    //Spelling index array
-    CDesCArrayFlat* iSpellingIndexArray;
-    //keystroke arrray
-    CDesCArrayFlat* iKeystrokeArray;
-    //in effect keystroke array
-    CDesCArrayFlat* iInEffectKeystrokeArray;
-    //show Keystroke array
-    CDesCArrayFlat* iShowKeystrokeArray;
-    //Optimize Keystroke array
-    CDesCArrayFlat* iOptimizeSpelling;
-    //temp Keystroke array
-    CDesCArrayFlat* iTempSpelling;
-    //Chinese array
-    CDesCArrayFlat* iChooseChineseCharacterArray;
-    //Chinese Keystroke array
-    CDesCArrayFlat* iChooseChineseCharacterArrayKeystroke;
-    
-    CDesCArrayFlat* iKeystrokeArrayForStroke;
-    CDesCArrayFlat* iInEffectKeystrokeArrayForStroke;
-    CDesCArrayFlat* iShowKeystrokeArrayForStroke;
-    CDesCArrayFlat* iChooseChineseCharacterArrayForStroke;
-    CDesCArrayFlat* iChooseChineseCharacterArrayKeystrokeForStroke;
-
-    CDesCArrayFlat* iZhuyinSymbols;
-    CDesCArrayFlat* iZhuyinShowSymbols;
-    CDesCArrayFlat* iFirstValidZhuyinGrp;
-    CDesCArrayFlat* iChineseCharsDisped;
-    CDesCArrayFlat* iZhuyinSymbolsForChineseCharsDisped;
-    TBuf<100> iEEPContent;
-    TBool iEEPContentValid;
-    
-    //the tone mark state
-    TInt iTonemarkState;
-    
-    //the stroke state
-    TInt iStrokeState;
-    
-    // The highlight goes back to wrong position when transfer from pinyin 
-    // spelling pane to pinyin candidate pane more than one time.
-    TInt iHighLightFlag;
-    
-    TInt iFlags;
-    
-    TInt iValidKeystrokeCount;
-    TInt iPhraseCreation;
-    TInt iPhraseCreationEditingState;
-    TInt iChangeState;
-    /**
-     * whether the state change from entry to spelling editing is automatical.
-     */
-    TInt iState;
-    
-    TInt iLastResouce;
-    
-    /**
-     * whether the state change from Edit to spelling.
-     */
-    TInt iChangeStateFromEditToSpelling;
-    
-    /**
-     * whether the valid keystroke changed.
-     */
-    TInt iValidKeystrokeChanged;
-    
-    /**
-     * whether the previous state is predictive display.
-     */
-    TBool iPreStateIsPredictive;
-};
-
-inline void CAknFepUICtrlPinyinPopup::SetFlag(TInt aFlag)
-    {
-    iFlags |= aFlag;
-    }
-
-inline void CAknFepUICtrlPinyinPopup::ClearFlag(TInt aFlag)
-    {
-    iFlags &= ~aFlag;
-    }
-
-inline TBool CAknFepUICtrlPinyinPopup::IsFlagSet(TInt aFlag) const
-    {
-    return iFlags & aFlag;
-    }
-
-#endif // __AKN_FEP_UI_AVKON_PINYIN_POPUP_H
-
-// End of file
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUiAvkonCtrlExactWordPopupContent.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,165 +0,0 @@
-/*
-* Copyright (c) 2007 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:             Contents of the exact word tooltip shown above inline editor
-*                when the exact word differs from the inline word in Western
-*                QWERTY predictive mode.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_EXACT_WORD_POPUP_CONTENT_H 
-#define __AKN_FEP_EXACT_WORD_POPUP_CONTENT_H
-#include <coecntrl.h>
-#include "AknFepUiWordPopupContent.h"
-
-// FORWARD DECLARATIONS
-class CAknPreviewPopUpController;
-
-
-// CLASS DECLARATION
-class CAknFepExactWordPopupContent : public CCoeControl, public MAknFepUiWordPopupContent
-    {
-    public: // construction and destruction
-    
-        /**
-        * Two phased constructor
-        */
-        static CAknFepExactWordPopupContent* NewL();
-        
-        /**
-        * Destructor
-        */
-        ~CAknFepExactWordPopupContent();
-        
-    private: // construction
-        
-        /**
-        * C++ constructor
-        */
-        CAknFepExactWordPopupContent();
-        
-        /**
-        * Second phase constructor
-        */
-        void ConstructL();
-        
-    public: // new interface functions
-    
-        /**
-        * Sets the text to be shown in the popup
-        */
-        void SetTextL( const TDesC& aText );
-        
-        /**
-        * Sets the popup controller pointer. This must be called before drawing the popup contents.
-        * @param    aController Pointer to the popup for which this object provides the content.
-        
-        void SetPopupController( CAknPreviewPopUpController* aController );
-		*/
-		
-        /**
-        * Sets the direction of the arrow included in the popup. This should be used as a hint
-        * about the direction to tap to select the word shown in the popup.
-        */
-        void SetArrowDirection( TArrowDirection aDirection );
-
-    public: // functions from base classes
-    	/**
-     	* Returns the minimuz size of this preview popup content.
-     	*/    
-        TSize MinimumSize();        
-    
-    public: //new interface functions
-    	/**
-        * Sets the delay used before showing the preview popup. The default 
-        * delay is one second.
-        * @param aDelay Delay in microseconds.
-        */
-    	void SetPopUpShowDelay( const TTimeIntervalMicroSeconds32& aDelay );
-    	/**
-        * Sets the preview popup visible after specified delay. If the popup
-        * is already visible it is hidden immediately and shown again after the
-        * showing delay. Popup is automatically hidden after its hiding delay
-        * unless the delay is zero in which case the popup is shown infinitely.
-        */
-        virtual void ShowPopUp();
-        
-        /**
-        * Hides the popup immediately.
-        */
-        virtual void HidePopUp();
-        /**
-        * Sets the position of preview popup. Popup's size is determined by the
-        * size of its content. The popup is placed left and down from the given 
-        * point. If fixed mode is used then this function has no effect.
-        * @param aPoint Popup's position.
-        */
-        virtual void SetPosition( const TPoint& aPoint );
-
-        /**
-        * Updates popup's size to reflect a change in content's size.
-        * Should be called if the size of the content is changed dynamically.
-        */
-        virtual void UpdateContentSize();
-        
-        /**
-        * Returns the popup's size.
-        */
-        virtual TSize Size() const; 
-		
-		/**
-        * Returns true if the popup is visible.
-        */
-        virtual TBool IsPopUpVisible();
-        virtual void HandlePointerEventL( const TPointerEvent& aPointerEvent )	;        
-     
-    private: // functions from base classes
-    
-        /**
-        * Draws the contents of the popup
-        * @aRect    The area which should be redrawn.
-        */
-        void Draw( const TRect& aRect ) const;
-        
-        /**
-        * Draws the upwards or downwards pointing arrow, depending on the value
-        * set by SetArrowDirection(). The upward arrow is placed in the bottom of the popup
-        * while the downward arrow is drawn on the top part of the popup.
-        * @aTextRect    The area of the poup which is reserved for the text.
-        */ 
-        void DrawArrowL( const TRect& aTextRect ) const;
-        
-    private: // data
-    	TBool iIsPopUpVisible;
-        //! The text label to be shown in the popup
-        CEikLabel* iLabel;
-        
-        //! The popup where this object provides the content.
-        CAknPreviewPopUpController* iPopupController; // not owned
-        
-        //! Tells the direction of the arrow included in the popup
-        MAknFepUiWordPopupContent::TArrowDirection iArrowDirection;
-    };
-
-#endif // AKN_FEP_EXACT_WORD_POPUP_CONTENT_H
\ No newline at end of file
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUiAvkonImpl.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,199 +0,0 @@
-/*
-* Copyright (c) 2007 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:           
-*       Avkon implementation of the FEP's UI component access
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#ifndef AKNFEPUIAVKONIMPL_H
-#define AKNFEPUIAVKONIMPL_H
-
-#include "aknfepuiinterface.h"
-#include "AknFepUiAvkonMenus.h"
-#include <eikmobs.h>
-#ifdef __ITI_VIRTUAL_TOUCH_FIRST_GENERATION_SUPPORT__
-#include <e32property.h>
-#endif
-
-class CEikButtonGroupContainer;
-class CAknCharMapDialog;
-class CEikDialog;
-class CAknFepPredictiveSettingDialog;
-class CAknListQueryDialog;
-class CAknFepTextQueryDialog;
-
-#ifdef __ITI_VIRTUAL_TOUCH_FIRST_GENERATION_SUPPORT__
-class CRepository;
-#endif
-
-class CAknFepUIAvkonImpl : public CAknFepUIInterface, public MEikMenuObserver
-	{
-private:
-    void ConstructL();
-public:
-	static CAknFepUIAvkonImpl* NewL();
-	~CAknFepUIAvkonImpl();
-	CAknFepUIAvkonImpl();
-public:	// menu abstraction
-	void SetFepMenuObserver(MAknFepUiInterfaceMenuObserver* aObserver);
-	CAknFepUiInterfaceMenuBar* EditorStateMenuBar(CAknEdwinState* aEditorState);
-	CAknFepUiInterfaceMenuBar* NewMenuBarL(MAknFepUiInterfaceMenuObserver* aObserver, TInt aHotKeyResourceId, TInt aMenuTitleResourceId);
-	CAknFepUiInterfaceMenuBar* ObjectProviderMenuBar(MObjectProvider* aObjectProvider);
-
-public:	// stylus pop-up menu abstraction
-    CAknFepUiInterfaceStylusPopUpMenu* NewStylusPopUpMenuL(MAknFepUiInterfaceMenuObserver* aObserver, const TPoint& aPoint);
-	
-public: // indicator abstraction
-	virtual CAknFepIndicator* NewIndicatorL();
-	
-public:	// use case abstraction
-	void LaunchConfirmationNoteL(TInt aResourceId);
-	void LaunchHelpTextQueryL(TInt aResourceId);
-	TInt LaunchCangJieOptionDlgL(TInt aResourceId, TInt& aLevel, MDesC16Array* aItems);
-	TInt LaunchListPopupL(TInt aResourceId, TInt& aIndex, TInt aInitialIndex, MDesC16Array* aItems, CArrayPtr<CGulIcon>* aIcons);
-	void UpdateSoftkeysL(TInt aResourceId, CAknEdwinState* aEditorState, MEikCommandObserver* aObserver, TInt aInputMode);
-	TBool SoftkeysExist();
-	TInt SoftkeyCommandId(TInt aPosition);
-	void DeleteSoftkeys();
-	void DrawSoftkeysNow();
-	void CreateSoftkeys(TInt aResourceId, MEikCommandObserver* aObserver);
-	TBool UpdateSoftkeyLabelL(TInt aPosition, TInt aCommandId, TInt aTextResId);
-	TInt CharMapDialogL(TInt aCharCase, TDes& aSpecialChars, TInt aCharSetResourceId, TBool aLockNumericKeys, TBool aShowPictographsFirst, TBool aShowNoPictographs, TBool aShowAnotherTable, TInt aAfterSctChars, TInt aResId, TBool aDisableRecentItemRow );
-	TInt TextQueryDialogL(TDes& aDataText, CAknEdwinState& aEditorState, TInt aEditorFlag, TInt aResId);
-	CPlainText* PlainText(CAknEdwinState* aEditorState);
-	void UpdateEditorContext(MAknEditingStateIndicator& aIndicator, MAknFepManagerInterface& aManager);
-
-    void TouchPaneSetFepPenSupportInterface(MAknFepPenSupportInterface* aFepPenSupportInterface);
-    void TouchPaneAllowInputMethodActivation(TBool aValue);
-    void TouchPaneRefreshL();
-    void TouchPaneSetInputMethodIconActivated(TBool aActivated);
-
-	TBool IsDisplayDataQuery(TBool aIsFepAwareTextEditor);
-
-public:	// APAC abstraction
-	MAknFepUICtrlContainerChinese* NewAknFepUICtrlContainerChineseL();
-	MAknFepUICtrlContainerJapanese* NewAknFepUICtrlContainerJapaneseL(CAknFepUIManagerJapanese* aUiMng);
-	void JapaneseKutenQueryDialogL(TInt aResId, TInt& aCharCode, TInt aTone);
-	
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-// Predictive QWERTY (XT9) changes ---->
-public:	// candidate words pop-up abstraction
-	MAknFepCandidatePopup* NewCandidatePopupL(MAknFepCandidatePopupCallback& aOwner);
-
-public:	//bubble implmentation
-	MAknFepUiWordPopupContent* CreateWordPopupContentL();
-	
-public: // for predictive setting dialog
-	void LaunchPredictiveSettingDialogL(TInt aDialogResId, 
-										TInt aMenuResId, 
-										TInt aConfirmationQueryResId,
-										TInt aTitlePaneResId );
-#ifdef FF_DUAL_LANGUAGE_SUPPORT
-	void LaunchWritingLanguageSettingDialogL(TInt aDialogResId, TInt aMenuResId, TInt aTitlePaneResId);
-#endif //FF_DUAL_LANGUAGE_SUPPORT
-
-#ifdef __USER_DICTIONARY_EDITING__
-	//for editing user dictionary
-	void LaunchUserDictEditDialogL();
-#endif //__USER_DICTIONARY_EDITING__
-
-// Predictive QWERTY (XT9) changes <----	
-#endif //RD_INTELLIGENT_TEXT_INPUT
-	void DeleteDialogs();
-	
-private:	// from MEikMenuObserver
-	void DynInitMenuPaneL(TInt aResourceId,CEikMenuPane* aMenuPane);
-	void DynInitMenuBarL(TInt aResourceId,CEikMenuBar* aMenuBar);
-	void SetEmphasis(CCoeControl* aMenuControl,TBool aEmphasis);
-
-private:	// from MEikCommandObserver
-	void ProcessCommandL(TInt aCommandId);
-
-private:
-    /**
-     *  Show cba of aResourceId using owns cba object(iCba)
-     *
-     *  @since 3.2
-     *  @param aResourceId softkeys resource id.
-     *  @return None
-     */
-    void ShowOwnsSoftkeysL(const TInt aResourceId, MEikCommandObserver* aObserver);
-
-    /**
-    * This method is that empty softkeys is shown in case aShown is ETrue.
-    * If aShown is EFalse, empty softkeys is erased.
-    * @param aShown    If ETrue, empty softkeys is shown.
-    */
-	void ShowEmptySoftkeysL(TBool aShown, MEikCommandObserver* aObserver, TInt aInputMode);
-	
-#ifdef RD_INTELLIGENT_TEXT_INPUT	
-#ifdef __ITI_VIRTUAL_TOUCH_FIRST_GENERATION_SUPPORT__
-        class CSubscriber : public CActive
-            {
-        public:
-            CSubscriber(TCallBack aCallBack, RProperty& aProperty);
-            ~CSubscriber();
-
-        public: // New functions
-            void SubscribeL();
-            void StopSubscribe();
-
-        private: // from CActive
-            void RunL();
-            void DoCancel();
-
-        private:
-            TCallBack   iCallBack;
-            RProperty&  iProperty;
-            };
-        /**
-         * Call back function to handle a change in keyboard layout.
-         */ 
-        static TInt HandleKeyboardLayoutChangeNotification(TAny* aObj);
-        
-        void HandleKeyboardLayoutChange();
-        
-        CSubscriber*    iKeyboardLayoutStatusSubscriber;
-        RProperty       iKeyboardLayoutStatusProperty;    
-        
-        friend class CSubscriber;
-#endif //__ITI_VIRTUAL_TOUCH_FIRST_GENERATION_SUPPORT__        
-#endif
-        
-private:
-    CEikButtonGroupContainer* iCba;         // own
-    CAknFepUIAvkonMenuPaneImpl iTempMenuPane;
-    CAknFepUIAvkonMenuBarImpl iTempMenuBar;
-    CAknFepUIAvkonMenuBarImpl iEditorMenuBar;
-    CAknFepUIAvkonMenuBarImpl iObjectProviderMenuBar;
-    MAknFepUiInterfaceMenuObserver* iFepMenuObserver;
-    CAknCharMapDialog* iCharMapDialog;
-    CEikDialog* iDialog;
-    CAknFepPredictiveSettingDialog* iPredictiveSettingDialog;
-    CAknListQueryDialog* iListQueryDialog;
-    CAknFepTextQueryDialog* iTextQueryDialog;
-	};
-
-
-#endif
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUiAvkonMenus.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,114 +0,0 @@
-/*
-* Copyright (c) 2007 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:           
-*       Avkon implementation of the FEP's Menu component
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#ifndef AKNFEPUIAVKONMENUS_H
-#define AKNFEPUIAVKONMENUS_H
-
-#include "aknfepuimenus.h"
-#include <eikmobs.h>
-
-class CEikMenuPane;
-class CEikMenuBar;
- 
-
-class CAknFepUIAvkonMenuPaneImpl : public CAknFepUiInterfaceMenuPane
-	{
-public:
-	CAknFepUIAvkonMenuPaneImpl();
-    void ConstructMenuSctRowFromDialogL( TInt aCharCase, TDes& aSpecialChars, TInt aResourceId );
-    void ConstructMenuSctRowL( TDes& aSpecialChars, TInt aResourceId );
-    void DeleteMenuItem(TInt aCommandId);	
-    void InsertMenuItemL(const SItemData& aMenuItem, TInt aPosition);
-    TBool MenuItemExists(TInt aCommandId, TInt& aPosition);
-    TInt NumberOfItemsInPane() const;
-    void SetItemDimmed(TInt aCommandId, TBool aDimmed);
-    void SetMenuPane(CEikMenuPane* aMenuPane);
-    CEikMenuPane* GetMenuPane();
-public:
-	CEikMenuPane* iMenuPane;	// not owned
-	};
-
-
-class CAknFepUIAvkonMenuBarImpl : public CAknFepUiInterfaceMenuBar
-	{
-private:
-	NONSHARABLE_CLASS(TEditMenuObserver) : public MEikMenuObserver
-		{
-	public: // from MEikMenuObserver
-		void ProcessCommandL(TInt aCommandId);
-		void DynInitMenuPaneL(TInt aResourceId,CEikMenuPane* aMenuPane);
-		void SetEmphasis(CCoeControl* aMenuControl,TBool aEmphasis);
-	public:
-		MAknFepUiInterfaceMenuObserver* iObserver;
-		CAknFepUIAvkonMenuPaneImpl iTempPane;
-		};
-public:
-	CAknFepUIAvkonMenuBarImpl();
-	CAknFepUiInterfaceMenuPane* MenuPane();
-	void SetMenuType(TMenuType aMenuType);
-	void StopDisplayingMenuBar();
-	void ReplaceAllMenuPanes(TInt aResourceId);
-	void TryDisplayMenuBarL();
-	void SetFocus(TBool aFocus);
-	void RemoveFromStack();
-	TInt FirstMenuPaneResourceId();
-	TBool IsDisplayed();
-	void AddToStackL(TInt aPriority,TInt aStackingFlags);
-    void TryDisplayMenuBarWithoutFepMenusL();
-    void SetMenuTitleResourceId(TInt aResourceId);
-    void SetEditMenuObserver(MAknFepUiInterfaceMenuObserver* aEditMenuObserver);
-    void RemoveEditMenuObserver(MAknFepUiInterfaceMenuObserver* aEditMenuObserver);
-
-public:
-	CEikMenuBar* iMenuBar;	// not owned
-	CAknFepUIAvkonMenuPaneImpl iTempMenuPane;
-	TEditMenuObserver iEditMenuObserver;
-	};
-
-
-class CAknFepUIAvkonMenuBarOwningImpl : public CAknFepUIAvkonMenuBarImpl, public MEikMenuObserver
-	{
-public:
-	~CAknFepUIAvkonMenuBarOwningImpl();
-	void ConstructL(MAknFepUiInterfaceMenuObserver* aObserver, TInt aHotKeyResourceId, TInt aMenuTitleResourceId);
-
-private:	// from MEikMenuObserver
-	void DynInitMenuPaneL(TInt aResourceId,CEikMenuPane* aMenuPane);
-	void DynInitMenuBarL(TInt aResourceId,CEikMenuBar* aMenuBar);
-	void SetEmphasis(CCoeControl* aMenuControl,TBool aEmphasis);
-
-private:	// from MEikCommandObserver
-	void ProcessCommandL(TInt aCommandId);
-
-private:
-	// owns CAknFepUIAvkonMenuBarImpl::iMenuBar
-	MAknFepUiInterfaceMenuObserver* iObserver;
-	};
-
-
-#endif
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUiAvkonStylusPopUpMenu.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
-* Copyright (c) 2007 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:           
-*       Avkon implementation of the FEP's UI component access
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#ifndef AKNFEPUIAVKONSTYLUSPOPUPMENU_H
-#define AKNFEPUIAVKONSTYLUSPOPUPMENU_H
-
-#include "AknFepUiStylusPopupMenu.h"
-#include <eikmobs.h>
-
-class CAknStylusPopUpMenu;
-class MAknFepUiInterfaceMenuObserver;
-
-
-class CAknFepUIAvkonStylusPopUpMenu : public CAknFepUiInterfaceStylusPopUpMenu, public MEikMenuObserver
-	{
-public:
-	~CAknFepUIAvkonStylusPopUpMenu();
-	void ConstructL(MAknFepUiInterfaceMenuObserver* aObserver, const TPoint& aPoint);
-
-public:
-    void AddMenuItemL(const TDesC& aItem, const TInt aCommandId);
-    void SetPosition(const TPoint& aPoint);    
-    void ShowMenu();
-
-private:	// from MEikMenuObserver
-	void DynInitMenuPaneL(TInt aResourceId,CEikMenuPane* aMenuPane);
-	void DynInitMenuBarL(TInt aResourceId,CEikMenuBar* aMenuBar);
-	void SetEmphasis(CCoeControl* aMenuControl,TBool aEmphasis);
-
-private:	// from MEikCommandObserver
-	void ProcessCommandL(TInt aCommandId);
-
-private:
-	MAknFepUiInterfaceMenuObserver* iObserver;
-	CAknStylusPopUpMenu* iPopupMenu;
-	};
-
-
-#endif
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUiInterfacePanic.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Panic definitions.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#if !defined(__AknFepUiInterfacePanic_h__)
-#define __AknFepUiInterfacePanic_h__
-
-#include <e32std.h>
-
-enum TAknFepUiInterfacePanic
-    {
-    EAknFepUiInterfacePanicCurrentSelectionOutsideVisibleCandidates,
-    EAknFepUiInterfacePanicAttemptedSelectionOutsideVisibleCandidates,
-    EAknFepUiInterfacePanicAttemptedSetItemTextOutsideMaxCandidates,
-    EAknFepUiInterfacePanicAttemptedSetModeOutsideMaxCandidates,
-    EAknFepUiInterfacePanicAttemptedLayoutOutsideVisibleCount,
-    EAknFepUiInterfacePanicNewVisibleCountExceedsRange,
-    EAknFepUiInterfacePanicCandidatesEmpty,
-    EAknFepUiInterfacePanicNoCandidatePane,
-    EAknFepUiInterfacePanicCandidatePaneNotSupportScrollDirection,
-    EAvkonImplNotSupported
-    };
-
-GLREF_C void AknFepUiInterfacePanic(TAknFepUiInterfacePanic aPanic);
-
-#endif
-
-// End of file
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUserDictionaryEditDialog.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,146 +0,0 @@
-/*
-* 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:          
-*
-*/
-
-
-
-
-
-
-
-
-
-
-/*
- * ============================================================================
- *  Name     : CAknFepUserDictionaryEditDialog 
- * ============================================================================
- */
-
-#ifndef AKNFEPUSERDICTIONARYEDITDIALOG_H_
-#define AKNFEPUSERDICTIONARYEDITDIALOG_H_
-
-#include <aknselectionlist.h>
-#include <aknfep.rsg>
-#include <aknsfld.h>
-#include <AknQueryDialog.h>
-#include <avkon.hrh>
-#include <AknsUtils.h>
-#include <AknsConstants.h>
-#include <aknconsts.h>
-#include <aknlists.h>
-#include <avkon.mbg>
-
-#include <StringLoader.h>
-#include <fbs.h>
-
-#include "AknFepPredOwnWordsModel.h"
-
-const TInt KMaxUDBLength = 64;
-
-class CAknFepUserDictionaryEditDialog : public CAknMarkableListDialog
-{
-
-    public:
-        /**
-        * Function:     NewL
-        *
-        * Discussion:   Factory function used to create a new instance of
-        *               CAknFepPredictiveSettingDialog
-        *
-        * Returns:      A newly created instance of CAknFepUserDictionaryEditDialog
-        */
-        static CAknFepUserDictionaryEditDialog* NewL(
-                TInt aOpenedItem,
-                CArrayFixFlat<TInt> *aSelectedItems,
-                MDesCArray *aArray);
-
-        /**
-        * Function:     NewLC
-        *
-        * Discussion:   Factory function used to create a new instance of
-        *               CAknFepPredictiveSettingDialog and leave a pointer to it on the
-        *               cleanup stack.
-        *
-        * Params:       aMenuResId - menu resource id.
-        * Params:       aConfirmationQueryResId - Confirmation Query resource id.
-        * Returns:      A newly created instance of CAknFepUserDictionaryEditDialog
-        */
-        static CAknFepUserDictionaryEditDialog* NewLC(
-                TInt aOpenedItem,
-                CArrayFixFlat<TInt> *aSelectedItems,
-                MDesCArray *aArray);
-        
-        // the static RunDlgLD launch function
-        static void RunDlgLD();
-        
-        /**
-        * Function:     ~CAknFepPredictiveSettingDialog
-        *
-        * Discussion:   Virtual destructor for CAknFepUserDictionaryEditDialog. Ensures that all
-        *               allocated memory is returned to the heap before deletion
-        *               of object.
-        */
-        virtual ~CAknFepUserDictionaryEditDialog();
-        
-    private:
-        //virtual methods from CAknMarkableListDialog:
-        void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane *aMenuPane);
-        TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );
-        TBool OkToExitL(TInt aButtonId);
-        // the control initializer function
-        void PreLayoutDynInitL();
-                
-        void ProcessCommandL( TInt aCommandId );
-        
-        //Constructor
-        CAknFepUserDictionaryEditDialog(
-                TInt aOpenedItem,
-                CArrayFixFlat<TInt> *aSelectedItems,
-                MDesCArray *aArray );
-                
-                
-        
-        //Own methods - 
-        void UpdateMSKLabelL();
-        
-        //Query for new word from user. Also used to edit existing word
-        TBool QueryWordL( const TDesC& aTitle, TDes& aNewWord );
-        
-        //Confirmation query for deletion
-        TBool ConfirmDeleteL( const TDesC& aPrompt );
-        
-        //To handle different commands from the options menu or soft keys:
-        void HandleEditCommandL();
-        void HandleAddNewCommandL();
-        void HandleDeleteCommandL();      
-        
-        //To get the correct index if a filtered list is being shown
-        TInt CurrentItemIndex();
-        const CArrayFix<TInt>* SelectedItemsL();     
-        void HandleAddNewIntoFilteredListL( TInt &aOriginalItemIndex );
-        
-    private: //data
-         
-        CEikColumnListBox*  iOwnWordsListBox;
-        TInt iOpenedItem;
-        CArrayFixFlat<TInt>* iSelectedItems;
-        CAknFepPredOwnWordsModel* iOwnWordsModel;
-        TInt iMSKPosition;
-                
-};
-
-#endif /*AKNFEPUSERDICTIONARYEDITDIALOG_H_*/
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/aknfepchineseuidataconv.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-/*
-* 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 AKNFEPCHINESEUIDATACONV_H_
-#define AKNFEPCHINESEUIDATACONV_H_
-
-// System includes
-#include <e32cmn.h>
-#include <e32des16.h>
-#include <e32def.h>
-#include <gdi.h>
-#include <AknLayout2Def.h>
-#include <AknUtils.h>
-
-class CAknFepChineseUIDataConv : public CBase
-    {
-public:
-    static TInt AnyToInt(TAny* aOriginal);
-
-    static TRect AnyToRect(TAny* aOriginal);
-
-    static TPoint AnyToPoint(TAny* aOriginal);
-
-    static TRgb AnyToRgb(TAny* aOriginal);
-
-    static CFont* AnyToFont(TAny* aOriginal);
-    
-    static TSize AnyToSize(TAny* aOriginal);
-    
-    static TAknTextLineLayout AnyToTextLine(TAny* aOriginal);
-    
-    static TAknLayoutText AnyToLayoutText(TAny* aOriginal);
-    
-    static TAknWindowLineLayout AnyToWindowLine(TAny* aOriginal);
-    
-    static TAknLayoutRect AnyToLayoutRect(TAny* aOriginal);
-    
-    };
-
-#endif /*AKNFEPCHINESEUIDATACONV_H_*/
-
-//End of File
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/aknfepuictrleepcontrol.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,360 +0,0 @@
-/*
-* Copyright (c) 2008 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:           
- *      Provides the CAknFepUICtrlEEPControl definition 
- *
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef C_AKNFEPUICTRLEEPCONTROL_H
-#define C_AKNFEPUICTRLEEPCONTROL_H
-
-#include <e32std.h>
-#include <e32base.h>
-#include <coecntrl.h>
-
-#include "insertionpoint.h"
-
-class CAknFepUiLayoutDataMgr;
-/**
- * The editable entry pane control class.
- * 
- * @lib aknfepuiavkonplugin.dll
- * @since S60 v5.0
- */
-const TInt KLROffset = 5;
-const TInt KCursorResetOffset = 20;
-const TInt KCursorResetStartOffset = 85;
-const TInt KDenominator = 100;
-
-class CAknFepUICtrlEEPControl : public CCoeControl, public MRefreshObserver
-    {
-public:
-    /**
-     * The display style for the text.
-     */
-    enum TDspStyle
-        {
-        ENomal,
-        EUnderline,
-        EHighlight,
-        EUnderlineHighlight
-        };
-    
-    class TSegment
-        {
-    public:
-        /**
-         * C++ constructor.
-         * 
-         * @since S60 v5.0
-         * @param None.
-         * @return self object.
-         */
-        TSegment( TInt aBeg, TInt aEnd, TDspStyle aStyle );
-        
-        /**
-         * Compare the Index
-         * 
-         * @since S60 v5.0
-         * 
-         * @param s1 the TSegment object.
-         * @param s2 the TSegment object.
-         * @return index 
-         */
-        static TInt
-            CompareByBegIndex( const TSegment& s1, const TSegment& s2 );
-        TInt iBegin;
-        TInt iEnd;
-        TDspStyle iStyle;
-        };
-    
-    /**
-     * NewL function.
-     * 
-     * @since S60 v5.0
-     * @param aParent. the RWindow object.
-     * @return self object.
-     */
-    static CAknFepUICtrlEEPControl* NewL( RWindow& aParent, CAknFepUiLayoutDataMgr* aLafDataMgr );
-
-    /**
-     * NewLC function.
-     * 
-     * @since S60 v5.0
-     * @param aParent. the RWindow object.
-     * @return self object.
-     */
-    static CAknFepUICtrlEEPControl* NewLC( RWindow& aParent, CAknFepUiLayoutDataMgr* aLafDataMgr );
-
-
-    /**
-     * Cancel and destroy.
-     * 
-     * @since S60 v5.0
-     * 
-     * @return none.
-     */
-    virtual ~CAknFepUICtrlEEPControl( );
-
-    /**
-     * From CCoeControl
-     * Draw the control.
-     * 
-     * @since S60 v5.0
-     * @param aRect need to draw rect.
-     * @return None.
-     */
-    virtual void Draw( const TRect& aRect ) const;
-
-    /**
-     * From CCoeControl
-     * 
-     * @since S60 v5.0
-     * @param None.
-     * @return None.
-     */
-    virtual void SizeChanged( );
-
-    /**
-     * From MRefreshObserver
-     * Called by the cursor object.
-     * 
-     * @since S60 v5.0
-     * @param None.
-     * @return None.
-     */
-    void Refresh();
-
-    /**
-     * Set the visual text and store it into member data buffer.
-     * 
-     * @since S60 v5.0
-     * @param aDes. The buffer you want to display.
-     * @return None.
-     */
-    void SetText( const TDesC& aDes );
-
-    /**
-     * Set the cursor position in the visual text rect.
-     * 
-     * @since S60 v5.0
-     * @param aIndex. it represent the cursor should appear in front of aIndex character.
-     * @return. error code. 0 for success.
-     */
-    TInt SetCursorPosition( TInt aIndex );
-
-    /**
-     * Get the cursor position in visual text.
-     * 
-     * @since S60 v5.0
-     * @param None.
-     * @return. The cursor position.
-     */
-    TInt GetCursorPosition( );
-
-    /**
-     * Set the underlined text beginning index and ending index.
-     * 
-     * @since S60 v5.0
-     * @param aBeg. the beginning index for underlined text.
-     * @param aEnd. the ending index for underlined text.
-     * @return. error code, 0 for success.
-     */
-    TInt SetUnderline( TInt aBeg, TInt aEnd );
-
-    /**
-     * Set the highlighted text beginning index and ending index.
-     * 
-     * @since S60 v5.0
-     * @param aBeg. the beginning index for highlighted text.
-     * @param aEnd. the ending index for highlighted text.
-     * @param aColor. the color of highlighted text, KRgbRed by default.
-     * @return. error code, 0 for success.
-     */
-    TInt SetHighlight( TInt aBeg, TInt aEnd );
-    
-    /**
-     * Add a TSegment into iArray to identify the segment with a specified style.
-     * 
-     * @since S60 v5.0
-     * @param aBeg. the beginning index.
-     * @param aEnd. the ending index.
-     * @param aType. the specified style.
-     */
-    void SetSegmentL ( TInt aBeg, TInt aEnd, TDspStyle aStyle );
-    
-    /**
-     * Add a TSegment into iArray to identify the segment with a specified style.
-     * 
-     * @since S60 v5.0
-     * @param aBeg. the beginning index.
-     * @param aEnd. the ending index.
-     * @param aType. the specified style.
-     */
-    void SetSegment ( TInt aBeg, TInt aEnd, TDspStyle aStyle );
-
-    /**
-     * Active the cursor,the cursor will be appeared with a glint.
-     * 
-     * @since S60 v5.0
-     * @param None.
-     * @return None.
-     */
-    void ActiveCursor( );
-
-    /**
-     * Deactive the cursor, the cursor will be gray and with no glint.
-     * 
-     * @since S60 v5.0
-     * @param None.
-     * @return None.
-     */
-    void DeactiveCursor( );
-    
-    /**
-     * Enable the cursor.
-     * 
-     * @since S60 v5.0
-     * @param None.
-     * @return None.
-     */
-    void EnableCursor( );
-
-    /**
-     * Disable the cursor.
-     *  
-     * @since S60 v5.0
-     * @param None.
-     * @return None.
-     */
-    void DisableCursor( );
-
-    /**
-     * Move cursor to the left by a specified stride.
-     * 
-     * @since S60 v5.0
-     * @param aStride. specify the stride.
-     * @return. error code, 0 for success.
-     */
-    TInt MoveCursorLeft( TInt aStride );
-
-    /**
-     * Move cursor to the right by a specified stride.
-     * 
-     * @since S60 v5.0
-     * @param aStride. specify the stride.
-     * @return. error code, 0 for success.
-     */
-    TInt MoveCursorRight( TInt aStride );
-
-    /**
-     * Reset all its member data to initialized state.
-     * 
-     * @since S60 v5.0
-     * @param None.
-     * @return None.
-     */
-    void ResetAll( );
-
-private:
-
-    /**
-     * C++ constructor.
-     * 
-     * @since S60 v5.0
-     * @param None.
-     */
-    CAknFepUICtrlEEPControl(CAknFepUiLayoutDataMgr* aLafDataMgr);
-
-    /**
-     * Two-phrase constructor.
-     * 
-     * @since S60 v5.0
-     * @param None.
-     * @return None.
-     */
-    void ConstructL( RWindow& aParent );
-
-    /**
-     * Calculate the frame rect.
-     * 
-     * @since S60 v5.0
-     * @param aOuterRect. a output param for storing the outer rect.
-     * @param aInnerRect. a output param for storing the inner rect.
-     * @return None.
-     */
-    void CalculateFrameRects( TRect& aOuterRect, TRect& aInnerRect ) const;
-
-private:
-    //Data.
-
-    /**
-     * Laf data manager.
-     */
-	CAknFepUiLayoutDataMgr* iLafDataMgr;
-	
-    /**
-     * Store visual text.
-     * Own
-     */
-    HBufC* iBuffer;
-    
-    /**
-     * Whether cursor should be drawn on the screen.
-     */
-    TBool isCursorDraw;
-    
-    /**
-     * The cursor pointer.
-     * Own
-     */
-    CInsertionPoint* iInsertionPoint;
-    
-    /**
-     * The cursor position in visual text.
-     */
-    TInt iCursorPosition;
-    
-    /**
-     * the color for highlighted text.
-     */
-    TRgb iHighlightColor;
-    
-    /**
-     * The color for non-highlighted text.
-     */
-    TRgb iDefaultTextColor;
-    
-    /**
-     * Distinguish different segment with a different format to its context.
-     */
-    RPointerArray<TSegment> iArray;
-    };
-
-#include "aknfepuictrleepcontrol.inl"
-
-#endif /* C_AKNFEPUICTRLEEPCONTROL_H */
-
-// End of file
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/aknfepuictrleepcontrol.inl	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
-* Copyright (c) 2008 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:           
- *      Provides the CAknFepUICtrlPinyinEEP definition 
- *
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// ---------------------------------------------------------
-// C++ constructor.
-// ---------------------------------------------------------
-//
-inline CAknFepUICtrlEEPControl::TSegment::TSegment( TInt aBeg, TInt aEnd,
-    TDspStyle aStyle )
-    {
-    iBegin = aBeg;
-    iEnd = aEnd;
-    iStyle = aStyle;
-    }
-
-// ---------------------------------------------------------
-// Compare the Index.
-// ---------------------------------------------------------
-//
-inline TInt CAknFepUICtrlEEPControl::TSegment::CompareByBegIndex(
-    const TSegment& s1, const TSegment& s2 )
-    {
-    if ( s1.iBegin == s2.iBegin )
-        return 0;
-    else
-        return s1.iBegin > s2.iBegin ? 1 : -1;
-    }
-
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/aknfepuictrlpinyineep.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,960 +0,0 @@
-/*
-* Copyright (c) 2008 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:           
- *      Provides the CAknFepUICtrlPinyinEEP definition 
- *
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef C_AKNFEPUICTRLPINYINEEP_H
-#define C_AKNFEPUICTRLPINYINEEP_H
-
-#include <e32std.h>
-#include <e32base.h>
-#include <coecntrl.h>
-#include <AknUtils.h>
-#include <AknsFrameBackgroundControlContext.h> 
-
-#include "aknfepuictrleditpane.h"
-#include "aknfepuictrleepcontrol.h"
-
-/**
- * The parent control of CAknFepUICtrlEEPControl.
- * 
- * @lib aknfepuiavkonplugin.dll
- * @since S60 v5.0
- */
-const TInt KMaxBufLen = 100;
-class CAknFepUICtrlPinyinEEP : public CCoeControl, public MAknFepUICtrlEditPane
-    {
-public:
-    enum
-        {
-        EEditableEntryPane
-        };
-    enum
-        {
-        EZhuyinNULL,
-        EZhuyinInsert,
-        EZhuyinDelete,
-        EZhuyinReplace,
-        EZhuyinMoveCursor
-        };
-    /**
-     * NewL function.
-     * 
-     * @since S60 v5.0
-     * @param aParent. the RWindow object.
-     * @return self object.
-     */
-    static CAknFepUICtrlPinyinEEP* NewL( RWindow& aParent, CAknFepUiLayoutDataMgr* aLafDataMgr );
-
-    /**
-     * NewLC function.
-     * 
-     * @since S60 v5.0
-     * @param aParent. the RWindow object.
-     * @return self object.
-     */
-    static CAknFepUICtrlPinyinEEP* NewLC( RWindow& aParent, CAknFepUiLayoutDataMgr* aLafDataMgr );
-
-    /**
-     * Destructor.
-     * 
-     * @return none.
-     */
-    virtual ~CAknFepUICtrlPinyinEEP();
-
-    /**
-     * From CCoeControl.
-     * 
-     * @return. count of controls.
-     */
-    virtual TInt CountComponentControls() const;
-
-    /**
-     * From CCoeControl.
-     * 
-     * @param aIndex.
-     * @return. the pointer of sub-control
-     */
-    virtual CCoeControl* ComponentControl( TInt aIndex ) const;
-
-    /**
-     * From CCoeControl.
-     * 
-     * @param aRect.
-     * @return None.
-     */
-    virtual void Draw( const TRect& aRect ) const;
-
-    /**
-     * From CCoeControl.
-     * 
-     * @param None.
-     * @return None.
-     */
-    virtual void SizeChanged();
-
-    /**
-     * From MAknFepUICtrlEditPane.
-     * Set the text buffer and maintain the current cursor position.
-     * 
-     * @since S60 v5.0
-     * @param aDes. the content you set.
-     * @return None.
-     */
-    void SetText( const TDesC& aDes );
-
-    /**
-     * From MAknFepUICtrlEditPane.
-     * Set the text buffer and posit the cursor index.
-     * 
-     * @since S60 v5.0
-     * @param aDes. the content you set.
-     * @param aCursorPos. the position of cursor.
-     * @param aMiniQwertyZhuyin 
-     * @return None.
-     */
-    void SetText( const TDesC& aDes, TInt aCursorIndex, TBool aMiniQwertyZhuyin = EFalse );
-
-    /**
-     * From MAknFepUICtrlEditPane.
-     * Set the text buffer and posit the cursor index for zhuyin.
-     * 
-     * @since S60 v5.0
-     * @param aDes. the content you set.
-     * @param aCursorPos. the position for cursor.
-     * @param aChineseCount. the count for chinese characters.
-     * @param aJudgeSeed. current zhuyin symbols' descriptor.
-     * @param aKeystroke. current key stroke position.
-     * @param aInvalid. whether aDes is invalid. ETrue for invalid, EFalse for valid.
-     * @return None.
-     */
-    void SetTextForZhuyin( const TDesC& aDes, TInt aCursorIndex, TInt aChineseCount,
-        const TDesC& aJudgeSeed, TInt aKeystroke, TBool aInvalid = EFalse, TBool aMiniQwertyZhuyin = EFalse );
-
-    /**
-     * From MAknFepUICtrlEditPane
-     * Set the cursor position.
-     * 
-     * @since S60 v5.0
-     * @param aIndex. the cursor position you set.
-     * @return None.
-     */
-    void SetCursor( const TInt aIndex );
-
-    /**
-     * From MAknFepUICtrlEditPane
-     * get the position index of cursor.The max cursor index must be larger
-     * than the length of text buffer by 1.
-     * 
-     * @since S60 v5.0
-     * @param None.
-     * @return. the position index.
-     */
-    TInt GetCursor();
-
-    /**
-     * From MAknFepUICtrlEditPane
-     * move cursor to the left by a 1 stride.
-     * 
-     * @since S60 v5.0
-     * @param aStride. the stride for motion
-     * @return. succeed or not.
-     */
-    TBool MoveCursorLeft( TInt aStride = 1 );
-
-    /**
-     * From MAknFepUICtrlEditPane
-     * move cursor to the right by a 1 stride.
-     * 
-     * @since S60 v5.0
-     * @param aStride. the stride for motion
-     * @return. succeed or not.
-     */
-    TBool MoveCursorRight( TInt aStride = 1);
-
-    /**
-     * From MAknFepUICtrlEditPane.
-     * active the cursor,the cursor will be black and with a wink.this cursor
-     * state represent this control is focused.
-     * 
-     * @since S60 v5.0
-     * @param None.
-     * @return None.
-     */
-    void ActiveCursor();
-
-    /**
-     * From MAknFepUICtrlEditPane.
-     * deactive the cursor, the cursor will be gray and no wink this cursor
-     * state represent this control with no focus.
-     * 
-     * @since S60 v5.0
-     * @param None.
-     * @return None.
-     */
-    void DeactiveCursor();
-
-    /**
-     * From MAknFepUICtrlEditPane.
-     * enable the cursor,the cursor will be drawn.
-     * 
-     * @since S60 v5.0
-     * @param None.
-     * @return None.
-     */
-    void EnableCursor();
-
-    /**
-     * From MAknFepUICtrlEditPane.
-     * deactive the cursor, the cursor will not be drawn.
-     * @since S60 v5.0
-     * @param None.
-     * @return None.
-     */
-    void DisableCursor();
-
-    /**
-     * From MAknFepUICtrlEditPane.
-     * set the beginning and ending index for the underline text.
-     * 
-     * @since S60 v5.0
-     * @param aBeg. the beginning index for underlined text.
-     * @param aEnd. the ending index for underlined text.
-     * @return None.
-     */
-    void SetUnderline( TInt aBeg, TInt aEnd );
-
-    /**
-     * From MAknFepUICtrlEditPane.
-     * get the indexes for text with underline.
-     * 
-     * @since S60 v5.0
-     * @param aBeg. a output param for receiving beginning index for underlined text.
-     * @param aEnd. a output param for receiving ending index for underlined text.
-     * @return None.
-     */
-    void GetUnderlineIndex( TInt& aBeg, TInt& aEnd );
-
-    /**
-     * From MAknFepUICtrlEditPane.
-     * set the indexes for the text with highlight
-     * 
-     * @since S60 v5.0
-     * @Param aBeg. the beginning index for highlighted text.
-     * @param aEnd. the ending index for highlighted text.
-     * @return None.
-     */
-    void SetHighlight( TInt aBeg, TInt aEnd );
-
-    /**
-     * From MAknFepUICtrlEditPane.
-     * get the indexes for the text with highlight
-     * 
-     * @since S60 v5.0
-     * @param aBeg. a output parameter which will receive the beginning index.
-     * @param aEnd. a output parameter which will receive the ending index.
-     * @return None.
-     */
-    void GetHighlightIndex( TInt& aBeg, TInt& aEnd );
-
-    /**
-     * From MAknFepUICtrlEditPane.
-     * set keystroke index. 
-     * 
-     * @since S60 v5.0
-     * @param aStartIndex. the keystroke index.
-     * @return None.
-     */
-    void SetCursorIndexOfKeystroke( const TInt aStartIndex );
-
-    /**
-     * From MAknFepUICtrlEditPane.
-     * get the keystroke index
-     * 
-     * @since S60 v5.0
-     * @param None.
-     * @return. the keystroke index.
-     */
-    TInt GetCursorIndexOfKeystroke();
-
-    /**
-     * From MAknFepUICtrlEditPane.
-     * whether this control will be actived.ETrue represent enable otherwise
-     * disable.
-     * 
-     * @since S60 v5.0
-     * @param aEnable.ETrue represent enable this control,otherwise disable.
-     * @return None.
-     */
-    void Enable( TBool aEnable );
-
-    /**
-     * From MAknFepUICtrlEditPane.
-     * return whether this control is enabled.
-     * 
-     * @since S60 v5.0
-     * @param None.
-     * @return.ETrue represent this control is enabled, otherwise disabled.
-     */
-    TBool IsEnabled() const;
-
-    /**
-     * Get the info before cursor.
-     * 
-     * @since S60 v5.0
-     * @param aText the show info.
-     * @return none.
-     */
-    void GetText( TDes& aText );
-
-    /**
-     * Get the info before cursor.
-     * 
-     * @since S60 v5.0
-     * @param aOut the info before cursor.
-     * @return ETrue if can get the info.
-     */
-    TBool GetDesBeforeCursor( TDes& aOut );
-
-    /**
-     * From MAknFepUICtrlEditPane.
-     * Not used.
-     */
-    void SetToneMark( const TDesC& aToneMark );
-
-    /**
-     * From MAknFepUICtrlEditPane.
-     * Not used.
-     */
-    void SetToneMarkValidity( TBool aValid );
-
-    /**
-     * From MAknFepUICtrlEditPane.
-     * Not used.
-     */
-    void SetOverrideFontId( TInt aFontId );
-
-    /**
-     * From MAknFepUICtrlEditPane.
-     * Not used.
-     */
-    void SetFlag( TInt aFlag );
-
-    /**
-     * From MAknFepUICtrlEditPane.
-     * Not used.
-     */
-    void ClearFlag( TInt aFlag );
-
-    /**
-     * From MAknFepUICtrlEditPane.
-     * Not used.
-     */
-    TBool IsFlagSet( TInt aFlag ) const;
-
-    /**
-     * Set the cursor index for moving to the left.
-     * 
-     * @since S60 v5.0
-     * @param aIndex. the cursor index for moving left.
-     * @return None.
-     */
-    void SetCursorForMoveLeft( const TInt aIndex );
-
-    /**
-     * Set the cursor index for moving to the right.
-     * 
-     * @since S60 v5.0
-     * @param aIndex. the cursor index for moving right.
-     * @return None.
-     */
-    void SetCursorForMoveRight( const TInt aIndex );
-    /**
-     * Add some text at the end of buffer.
-     * 
-     * @since S60 v5.0
-     * @param aDes. the content you want to append.
-     * @return. ETrue represent success, otherwise failure.
-     */
-    TBool Append( const TDesC& aDes );
-
-    /**
-     * delete the content begin with aBeg index, and with an aLen length.
-     * 
-     * @since S60 v5.0
-     * @param aBeg. the beginning index for delete.
-     * @param aLen. the length you delete.
-     * @return ETrue for success, and EFalse for failure.
-     */
-    TBool Delete( TInt aBeg, TInt aLen = 1 );
-
-    /**
-     * Insert some text after aIndex character.
-     * 
-     * @since S60 v5.0
-     * @param aIndex. the index for insert.
-     * @param aDes. the content you insert.
-     * @return ETrue for success, and EFalse for failure.
-     */
-    TBool Insert( TInt aIndex, const TDesC& aDes );
-
-    /**
-     * Replace text from aBeg index to aBeg + aLen with aDes.
-     * 
-     * @since S60 v5.0
-     * @param aBeg. the beginning index for replace.
-     * @param aLen. the length for replace.
-     * @param aDes. the new content after replacing.
-     * @return ETrue for success, and EFalse for failure.
-     */
-    TBool Replace( TInt aBeg, TInt aLen, const TDesC& aDes );
-
-    /**
-     * Reset private member viariable.
-     * 
-     * @since S60 v5.0
-     * @param None.
-     * @return None.
-     */
-	void Reset();
-
-	/**
-     * Return kestroke array.
-     * 
-     * @since S60 v3.2.3
-     * @param None.
-     * @return pointer of array.
-     */
-    CDesCArrayFlat* KeystrokeArray();
-    
-	/**
-     * Return keycode array.
-     * 
-     * @since S60 v3.2.3
-     * @param None.
-     * @return pointer of array.
-     */
-    RArray<TInt>* KeycodeArray();
-
-    /**
-     * Return show kestroke array. 
-     * 
-     * @since S60 v3.2.3
-     * @param None.
-     * @return pointer of array.
-     */
-    CDesCArrayFlat* ShowKeystrokeArray();
-
-    /**
-     * Return choose chinese charater array. 
-     * 
-     * @since S60 v3.2.3
-     * @param None.
-     * @return pointer of array.
-     */
-    CDesCArrayFlat* PhraseArray();
-
-    /**
-     * Return choose chinese charater show keystroke array. 
-     * 
-     * @since S60 v3.2.3
-     * @param None.
-     * @return pointer of array.
-     */
-    CDesCArrayFlat* PhraseShowKeyStrokeArray();
-    
-	/**
-     * Return phrase keycode array.
-     * 
-     * @since S60 v3.2.3
-     * @param None.
-     * @return pointer of array.
-     */
-    RArray<TInt>* PhraseKeycodeArray();
-    
-    /**
-     * Return temp array. 
-     * 
-     * @since S60 v3.2.3
-     * @param None.
-     * @return pointer of array.
-     */
-    CDesCArrayFlat* TempArray();    
-    
-    /**
-     * Reset private member viariable array.
-     * 
-     * @since S60 v3.2.3
-     * @param None.
-     * @return None.
-     */
-    void ResetAllArray();
-    
-    /**
-     * change state flag.
-     * 
-     * @since S60 v3.2.3
-     * @param aState, ETrue change state.
-     * @return None.
-     */
-    void SetChangeState( TBool aState = ETrue );
-    
-    /**
-     * check change state flag.
-     * 
-     * @since S60 v3.2.3
-     * @param None.
-     * @return ETrue if change state, EFalse others.
-     */
-    TBool IsChangeState();
-
-    /**
-     * Set auto change state flag.
-     * 
-     * @since S60 v3.2.3
-     * @param aState, ETrue auto change state, EFalse manual change state.
-     * @return None.
-     */
-    void SetAutoChangeStateFlag( TBool aState = ETrue );
-    
-    /**
-     * Get the auto change state flag.
-     * 
-     * @since S60 v3.2.3
-     * @param None.
-     * @return ETrue atuo change state, EFalse others.
-     */
-    TBool GetAutoChangeStateFlag();
-    
-    /**
-     * Set all the keystroke valid flag.
-     * 
-     * @since S60 v3.2.3
-     * @param aState, ETrue all the keystroke is valid, EFalse others.
-     * @return None.
-     */
-    void SetAllValidFlag( TBool aState = ETrue );
-    
-    /**
-     * Get all the keystroke valid flag.
-     * 
-     * @since S60 v3.2.3
-     * @param None.
-     * @return ETrue all the keystroke is valid, EFalse others.
-     */
-    TBool GetAllValidFlag();
-    
-    /**
-     * Set Phrase Creation flag.
-     * 
-     * @since S60 v3.2.3
-     * @param aState, ETrue is phrase creation, EFalse others.
-     * @return None.
-     */
-    void SetPhraseCreationFlag( TBool aState );
-    
-    /**
-     * Get Phrase Creation flag.
-     * 
-     * @since S60 v3.2.3
-     * @param None.
-     * @return ETrue is phrase creation, EFalse others.
-     */
-    TBool GetPhraseCreationFlag();
-    
-    /**
-     * Set the keystroke invalid index.
-     * 
-     * @since S60 v3.2.3
-     * @param aIndex, the keystroke invalid index.
-     * @return None.
-     */
-    void SetInvalidIndex( TInt aIndex = 0 );
-    
-    /**
-     * Get all the invalid keystroke index.
-     * 
-     * @since S60 v3.2.3
-     * @param None.
-     * @return invalid keystroke index.
-     */
-    TInt GetInvalidIndex();
-    
-    /**
-     * Set Phrase Candidate state need refresh UI flag.
-     * 
-     * @since S60 v3.2.3
-     * @param aState, ETrue is that Candidate state need refresh UI,other don't need.
-     * @return None.
-     */
-    void SetCandidateRefreshFlag( TBool aState );
-    
-    /**
-     * Get Phrase Candidate state need refresh UI flag.
-     * 
-     * @since S60 v3.2.3
-     * @param None.
-     * @return ETrue is that Candidate state need refresh UI,EFalse don't need.
-     */
-    TBool GetCandidateRefreshFlag();
-    
-    /**
-     * Set the delimiter count of keystroke.
-     * 
-     * @since S60 v3.2.3
-     * @param aCount, the delimiter count of keystroke.
-     * @return None.
-     */
-    void SetDelimiterCount( TInt aCount );
-    
-    /**
-     * Get the delimiter count of keystroke. 
-     * 
-     * @since S60 v3.2.3
-     * @param None.
-     * @return aCount, the delimiter count of keystroke.
-     */
-    TInt GetDelimiterCount();
-    
-    /**
-     * Get current cba resource id. 
-     * 
-     * @since S60 v3.2.3
-     * @param None.
-     * @return current cba resource id.
-     */
-    TInt GetCurrentCBAResID();
-    
-    /**
-     * Set current cba resource id. 
-     * 
-     * @since S60 v3.2.3
-     * @param aResourceId, current cba resource id.
-     * @return None.
-     */
-    void SetCurrentCBAResID( TInt aResourceId );
-    
-    void SetEffictiveLength( TInt aLength );
-    
-    TInt GetEffictiveLength();
-    
-    void DecEffictiveLength();
-    
-    void AddEffictiveLength();
-    
-    void SetNeedClearDeliberateSelection( TBool aNeedClearDeliberateSelection );
-    
-    TBool NeedClearDeliberateSelection();
-    
-protected:
-
-    /**
-     * Layout contained controls.
-     * 
-     * @since S60 v5.0
-     * @param None.
-     * @return None.
-     */
-    void LayoutContainedControls();
-
-    /**
-     * layout the background frames.
-     * 
-     * @since S60 v5.0
-     * @param None.
-     * @return None.
-     */
-    void LayoutFrames();
-
-    /**
-     * layout its rectangles
-     * 
-     * @since S60 v5.0
-     * @param None.
-     * @return None.
-     */
-    void LayoutRects();
-
-private:
-    /**
-     * C++ constructor.
-     */
-    CAknFepUICtrlPinyinEEP( CAknFepUiLayoutDataMgr* aLafDataMgr );
-
-    /**
-     * Two-phrase constructor.
-     */
-    void ConstructL( RWindow& aParent, CAknFepUiLayoutDataMgr* aLafDataMgr );
-
-    /**
-     * Calculate visual text for appending.
-     * 
-     * @since S60 v5.0
-     * @param aDes.the content you want to append.
-     * @return None.
-     */
-    void CalculateVisualTextForAppend( const TDesC& aDes );
-
-    /**
-     * Calculate visual text for deleting.
-     * 
-     * @since S60 v5.0
-     * @param aBeg. the beginning index you want to delete.
-     * @param aLen. the length you want to delete, 1 by default.
-     * @return None.
-     */
-    void CalculateVisualTextForDelete( TInt aBeg, TInt aLen = 1 );
-
-    /**
-     * Calculate visual text for inserting.
-     * 
-     * @since S60 v5.0
-     * @param aBeg. the beginning index for your insert.
-     * @param aDes. the content you want to insert.
-     * @return None.
-     */
-    void CalculateVisualTextForInsert( TInt aBeg, const TDesC& aDes );
-
-    /**
-     * Calculate visual text for replacing.
-     * 
-     * @since S60 v5.0
-     * @param aBeg. the beginning index for you replace.
-     * @param aLen. the length for your replace.
-     * @param aDes. the new content after your replace.
-     * @return None.
-     */
-    void CalculateVisualTextForReplace( TInt aBeg, TInt aLen,
-        const TDesC& aDes );
-
-    /**
-     * Calculate visual text for moving to left.
-     * 
-     * @since S60 v5.0
-     * @param None.
-     * @return None.
-     */
-    void CalculateVisualTextForMoveLeft();
-
-    /**
-     * Calculate visual text for moving to the right.
-     * 
-     * @since S60 v5.0
-     * @param None.
-     * @return None.
-     */
-    void CalculateVisualTextForMoveRight();
-
-    /**
-     * Calculate the underline indexes and highlight indexes according to the
-     * absolute value.
-     * 
-     * @since S60 v5.0
-     * @param None.
-     * @return None.
-     */
-    void CalculateVisualIndex();
-
-    /**
-     * layout the background frames.
-     *
-     * @since S60 v5.0
-     * @param aOuterRect filled with outer rect coords
-     * @param aInnerRect filled with inner rect coords
-     * @return None.
-     */
-    void CalculateFrameRects( TRect& aOuterRect, TRect& aInnerRect ) const;
-
-private:
-    // Data.
-	CAknFepUiLayoutDataMgr* iLafDataMgr;
-    /**
-     * the position of keystroke.
-     */
-    TInt iIndex;
-    /**
-     * Whether EEP control is enabled ( visible ) .
-     */
-    TBool iEnabled;
-    /**
-     * The background context for this control.
-     */
-    CAknsFrameBackgroundControlContext* iBgContext;
-
-    TAknLayoutRect iRectCoverMainPaneInput;
-    TAknLayoutRect iRectFirstShadowInput;
-    TAknLayoutRect iRectOutlineFrameInput;
-    TAknLayoutRect iRectInsideAreaInput;
-    /**
-     * Its contained control only for display.
-     * own
-     */
-    CAknFepUICtrlEEPControl* iEditableEntryPane;
-    /**
-     * All the text its caller set.
-     * own
-     */
-    HBufC* iAbsoluteBuffer;
-    /**
-     * The text displayed on the contained control.
-     * own
-     */
-    HBufC* iVisualBuffer;
-    /**
-     * The cursor position relative to iAbsoluteBuffer which is set by its
-     * caller.
-     */
-    TInt iAbsoluteCursorPos;
-    /**
-     * The offset between the beginning position of iVisualBuffer and
-     * iAbsoluteBuffer.
-     */
-    TInt iOffset;
-    /**
-     * The beginning position of underlined text.
-     */
-    TInt iAbsoluteUnderlineBeg;
-    /**
-     * The end position of underlined text.
-     */
-    TInt iAbsoluteUnderlineEnd;
-    /**
-     * The beginning position of highlighted text.
-     */
-    TInt iAbsoluteHighlightBeg;
-    /**
-     * The end position of highlighted text.
-     */
-    TInt iAbsoluteHighlightEnd;
-    /**
-     * Store the highlight-setting&underline-setting sequence
-     */
-    RPointerArray<CAknFepUICtrlEEPControl::TSegment> iArray;
-
-    /**
-     * Only for zhuyin use
-     * the seed descriptor used in zhuyin input method. 
-     * used to store zhuyin symbols every time.
-     */
-    TBuf<KMaxBufLen> iJudgeSeed;
-    /**
-     * used to store count for chinese character.
-     */
-    TInt iChineseCount;
-    
-    /**
-     * whether the last displayed text is valid.
-     */
-    TBool iLastValid;
-    
-    /**
-     * keystroke arrray.
-     */
-    CDesCArrayFlat* iKeystrokeArray;
-    
-    /**
-     * Keycode arrray.
-     */
-    RArray<TInt> iKeycodeArray;
-
-    /**
-     * show Keystroke array.
-     */
-    CDesCArrayFlat* iShowKeystrokeArray;
-    
-    /**
-     * Chinese array.
-     */
-    CDesCArrayFlat* iPhraseArray;
-    
-    /**
-     * phrase Keycode arrray.
-     */
-    RArray<TInt> iPhraseKeycodeArray;
-    
-    /**
-     * KeyStroke array for the Chinese which have been selected.
-     */
-    CDesCArrayFlat* iPhraseShowKeyStrokeArray;
-    
-    /**
-     * The temp array.
-     */
-    CDesCArrayFlat* iTempArray;
-    
-    /**
-     * the change state flag.
-     */
-    TInt iChangeFlag;
-    
-    /**
-     * the auto change state flag.
-     */
-    TInt iAutoChangeFlag;
-    
-    /**
-     * The all kyestroke is valid.
-     */
-    TInt iAllValidFlag;
-    
-    /**
-     * The invalid keystroke index.
-     */
-    TInt iInvalidKeystrokeIndex;
-    
-    /**
-     * Is phrase creation.
-     */
-    TInt iPhraseCreation;
-    
-    /**
-     * The candidate refresh flag.
-     */
-    TInt iCandidateRefreshFlag;
-    
-    /**
-     * The delimiter count of keystroke.
-     */
-    TInt iDelimiterCount;
-    
-    /**
-     * Current CBA resource id.
-     */
-    TInt iCurrentCBAResId;
-    
-    TInt iEffictiveLength;
-    
-    TBool iMiniQwertyZhuyin;
-    
-    TBool iNeedClearDeliberateSelection;
-    
-    };
-
-#endif /* C_AKNFEPUICTRLPINYINEEP_H */
-
-// End of File
-
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/aknfepuilayoutdatamgr.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,196 +0,0 @@
-/*
-* Copyright (c) 2008 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:  This file contains classes of phrase creation layout data management
-*
-*/
-
-
-#ifndef C_PHRASECREATIONLAYOUTDATAMGR_H
-#define C_PHRASECREATIONLAYOUTDATAMGR_H
-
-#include <e32std.h>
-#include <e32base.h>
-#include <badesca.h>
-#include <coecntrl.h>
-#include <AknUtils.h>
-#include <AknLayout2ScalableDef.h>
-
-enum TAknFepChineseUiLafDataType
-    {
-    EPopupRectEntry,
-    EPopupRectCandatate,
-    EPopupRectEEP,
-    EPopupHeightEntry,
-    EPopupHeightEEP,
-    EEntryPaneWindowLine,
-    ECandidatePaneWindowLine,
-    EEEPWindowLayout,
-    EEEPWindowRect,
-    ECandidatePaneTextLine,
-    EOrdinalCandidateTextLayout,
-    ECandidateWindowLine1,
-    ECandidateWindowLine2,
-    ECandidateWindowLine3,
-    ECandidateWindowLine4,
-    ELayoutCandidateItem,
-    ELayoutEntryItem,
-    ERectCoverMainPaneInputEntry,
-    ERectFirstShadowInputEntry,
-    ERectOutlineFrameInputEntry,
-    ERectInsideAreaInputEntry, 
-    ERectCoverMainPaneInputCandidate,
-    ERectFirstShadowInputCandidate,
-    ERectOutlineFrameInputCandidate,
-    ERectInsideAreaInputCandidate, 
-    ERectCoverMainPaneInputEEP,
-    ERectFirstShadowInputEEP,
-    ERectOutlineFrameInputEEP,
-    ERectInsideAreaInputEEP,
-    ELayoutInputPaneText,
-    ELayoutLineRectEntryPane,
-    EEntryTextLayout,
-    EEntryPaneRect,
-    EIndiFepArrowLeft,
-    EIndiFepArrowRight,   	
-    ERectCoverMainPaneInput,
-    ERectFirstShadowInput,
-    ERectOutlineFrameInput,
-    ERectInsideAreaInput,
-    EEEPTextLine,
-    EEEPCursorHeight,
-    EEEPTextColor,
-    EHorizLine,
-    EEEPFirstHorizLine,
-    EEEPSecondHorizLine,
-    EEntryHorizLineWindow,
-    EEEPSecondHorizLineWindow,
-    EEEPFirstHorizLineWindow
-    
-    };
-//class CAknFepUiLayoutDataMgr;
-/**
- *  CAknFepUiLayoutDataMgr
- *  This class provides the phrase creation layout 
- *  data interface management
- *  to the program other component
- */
-/**
-* CAknFepUiLayoutDataMgr is a static fascade interface to the singleton layout data mgr object.
-* There is at most one CAknFepUiLayoutDataMgr per thread. This static interface ensures that this
-* fact can not be changed.
-*/
-class CAknFepUiLayoutDataMgr  : public CBase
-    {
-public:
-    // General public API
-
-    /**
-     * First phase construction
-     */
-    static CAknFepUiLayoutDataMgr* NewL();
-    
-    /**
-     * Read LAF info 
-     * @return None.
-     */
-    void ReadLafInfo();
-    
-    /**
-     * Get LAF info 
-     */
-    TAny* RequestData(TInt aDataType);
-    
-private:
-    
-    /**
-     * Constructor
-     */
-    CAknFepUiLayoutDataMgr();
-    
-    /**
-     * Second phase construction
-     */
-    void ConstructL();
-    
-private:
-    TSize iScreenSize;
-    TBool iLandScape;
-    
-    TRect iPopupRectEntry;
-    TRect iPopupRectCandidate;
-    TRect iPopupRectEEP;
-    TInt iPopupHeightEntry;
-    TInt iPopupHeightEEP;
-    TInt16 iEEPHeight;
-    
-    TAknWindowLineLayout iEntryPaneWindowLine;
-    TAknWindowLineLayout iCandidatePaneWindowLine;
-    
-    TAknWindowLineLayout iEEPWindowLayout;
-    TRect iEEPWindowRect;
-    TRect iEntryPaneRect;
-    
-    TAknTextLineLayout iCandidatePaneTextLine;
-    TAknWindowLineLayout iCandidateWindowLine1;
-    TAknWindowLineLayout iCandidateWindowLine2;
-    TAknWindowLineLayout iCandidateWindowLine3;
-    TAknWindowLineLayout iCandidateWindowLine4;
-    TAknWindowLineLayout iLayoutCandidateItem;
-    TAknWindowLineLayout iLayoutEntryItem;
-    
-    TAknTextLineLayout iOrdinalCandidateTextLayout;
-    TAknTextLineLayout iEntryTextLayout;
-    
-    //
-    TAknLayoutRect iRectCoverMainPaneInputEntry;
-    TAknLayoutRect iRectFirstShadowInputEntry;
-    TAknLayoutRect iRectOutlineFrameInputEntry;
-    TAknLayoutRect iRectInsideAreaInputEntry;
-    
-    TAknLayoutRect iRectCoverMainPaneInputCandidate;
-    TAknLayoutRect iRectFirstShadowInputCandidate;
-    TAknLayoutRect iRectOutlineFrameInputCandidate;
-    TAknLayoutRect iRectInsideAreaInputCandidate;
-    
-    TAknLayoutRect iRectCoverMainPaneInputEEP;
-    TAknLayoutRect iRectFirstShadowInputEEP;
-    TAknLayoutRect iRectOutlineFrameInputEEP;
-    TAknLayoutRect iRectInsideAreaInputEEP;
-    
-    TAknWindowLineLayout iEntryHorizLineWindow;
-    TAknWindowLineLayout iEEPSecondHorizLineWindow;
-    TAknWindowLineLayout iEEPFirstHorizLineWindow;
-    TAknLayoutRect iHorizLine;
-    TAknLayoutRect iEEPFirstHorizLine;
-    TAknLayoutRect iEEPSecondHorizLine;
-    
-    TAknLayoutText iLayoutInputPaneText;
-    TAknLayoutRect iLayoutLineRectEntryPane;
-    
-	TAknLayoutRect iIndiFepArrowLeft;
-    TAknLayoutRect iIndiFepArrowRight;
-    
-   	TAknLayoutRect iRectCoverMainPaneInput;
-    TAknLayoutRect iRectFirstShadowInput;
-    TAknLayoutRect iRectOutlineFrameInput;
-    TAknLayoutRect iRectInsideAreaInput;
-    
-    TAknTextLineLayout iEEPTextLine;
-    TInt iEEPCursorHeight;
-    TRgb iEEPTextColor;
-    };
-
-#endif // C_PHRASECREATIONLAYOUTDATAMGR_H
-
-// End of File
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/insertionpoint.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,282 +0,0 @@
-/*
-* Copyright (c) 2008-2008 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:           
-*       Provides the CInsertionPoint definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#ifndef INSERTIONPOINT_H
-#define INSERTIONPOINT_H
-
-#include <e32base.h>	// For CActive, link against: euser.lib
-#include <e32std.h>		// For RTimer, link against: euser.lib
-#include <w32std.h>
-#include "aknfepuilayoutdatamgr.h"
-
-/**
- * The cursor observer interface.
- * 
- * @lib aknfepuiavkonplugin.dll
- * @since S60 v5.0
- */
-class MRefreshObserver
-    {
-public:
-    /**
-     * When the cursor state is changed,it will notify its observer through this function.
-     * 
-     * @since S60 v5.0
-     * @param None.
-     * @return None.
-     */
-    virtual void Refresh( ) = 0;
-    };
-
-/**
- * The cursor class.
- * 
- * @lib aknfepuiavkonplugin.dll
- * @since S60 v5.0
- */
-
-class CInsertionPoint : public CActive
-    {
-public:
-    enum TInsertionPointState
-        {
-        EUninitialized,
-        EInitialized,
-        EError
-        };
-
-    /**
-     * Cancel and destroy.
-     * 
-     * @since S60 v5.0.
-     * @return none.
-     */
-    virtual ~CInsertionPoint( );
-
-    /**
-     * NewL function.
-     * 
-     * @since S60 v5.0.
-     * @return none.
-     */
-     static CInsertionPoint* NewL( CAknFepUiLayoutDataMgr* aLafDataMgr );
-
-    /**
-     * NewLC funciton. 
-     * 
-     * @since S60 v5.0.
-     * @return none. 
-     */
-     static CInsertionPoint* NewLC( CAknFepUiLayoutDataMgr* aLafDataMgr );
-
-    /**
-     * Set iRefreshObserver member.
-     * 
-     * @since S60 v5.0
-     * @param aObserver. The observer you want to set.
-     * @return none.
-     */
-     void SetRefreshObserver( MRefreshObserver* aObserver );
-
-    /**
-     * Set the position of cursor.
-     * The max position of cursor is larger than length of visual text 
-     * by 1 stride.
-     * 
-     * @since S60 5.0
-     * @param aOffset. The cursor position which based on 0 index.
-     * @return None.
-     */
-     void SetPosition( TInt aOffSet );
-
-    /**
-     * Set the rect where visual text will be displayed.
-     * 
-     * @since S60 v5.0
-     * @param aRect. The rect you want to display the visual text in.
-     * @return None.
-     */
-     void SetTextRect( TRect aRect );
-
-    /**
-     * Set the height of cursor.
-     * 
-     * @since S60 v5.0
-     * @param aHeight. The cursor height you want to set.
-     * @return.
-     */
-     void SetHeight();
-
-    /**
-     * Draw the cursor on the screen.
-     * 
-     * @since S60 v5.0
-     * @param aGc. the gc you used to draw the cursor.
-     * @return.
-     */
-     void Draw( CWindowGc& aGc );
-
-    /**
-     * Active the cursor into active state.
-     * 
-     * @since S60 v5.0
-     * @param None.
-     * @return None.
-     */
-     void Active();
-
-    /**
-     * Deactive the cursor into deactive state.
-     * 
-     * @since S60 v5.0
-     * @param None.
-     * return None.
-     */
-     void Deactive();
-
-private:
-
-    /**
-     * Insertion Point.
-     * 
-     * @since S60 v5.0
-     * @param None.
-     */
-    CInsertionPoint( CAknFepUiLayoutDataMgr* aLafDataMgr );
-
-    /**
-     * Two-phrase constructor.
-     * 
-     * @since S60 v5.0
-     * @param None.
-     * @return None.
-     */
-    void ConstructL();
-
-    /**
-     * From CActive.
-     * The callback function used by CActiveScheduler.
-     * 
-     * @since S60 v5.0
-     * @param None.
-     * @return None.
-     */
-    void RunL();
-
-    /**
-     * From CActive.
-     * How to cancel me.
-     * 
-     * @since S60 v5.0
-     * @param None.
-     * @return None.
-     */
-    void DoCancel();
-
-    /**
-     * From CActive.
-     * Handle leaves from RunL().
-     * 
-     * @since S60 v5.0
-     * @param None.
-     * @return None.
-     */
-    TInt RunError( TInt aError );
-
-    /**
-     * Start the cursor with glint if actived or with gray color if deactived.
-     * 
-     * @since S60 v5.0
-     * @param aDelay. After this time, the RunL should be called.
-     * @return None.
-     */
-    void StartL( TTimeIntervalMicroSeconds32 aDelay );
-
-private:
-    // Data.
-    /**
-     * The state of CInsertionPoint object.
-     */
-    TInt iState;
-    /**
-     * The timer for changing the visibility of this cursor.
-     */
-    RTimer iTimer;
-    /**
-     * The rect that visual text must be displayed on.
-     */
-    TRect iTextRect;
-    /**
-     * the cursor rect which will be drawn onto the screen.
-     */
-    TRect iCursorRect;
-    /**
-     * Whether this cursor should be displayed.
-     */
-    TBool isVisible;
-    /**
-     * the length from the beginning of visual text to the cursor position.
-     */
-    TInt iOffSet;
-    /**
-     * the height of cursor.
-     */
-    TInt iHeight;
-    /**
-     * the BrushColor of active cursor.
-     */
-    TRgb iActiveBrushColor;
-    /**
-     * the PenColor of active cursor.
-     */
-    TRgb iActivePenColor;
-    /**
-     * the BrushColor of active cursor.
-     */
-    TRgb iInactiveBrushColor;
-    /**
-     * the PenColor of active cursor.
-     */
-    TRgb iInactivePenColor;
-    /**
-     * the width of cursor.
-     */
-    TInt iWidth;
-    /**
-     * Whether this cursor is actived.
-     */
-    TBool isActive;
-    /**
-     * The observer for caring of the cursor's change.
-     * Not own.
-     */
-    MRefreshObserver* iRefreshObserver;
-	CAknFepUiLayoutDataMgr* iLafDataMgr;
-    };
-
-#endif /* INSERTIONPOINT_H */
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepAvkonCandidatePopup.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,950 +0,0 @@
-/*
-* Copyright (c) 2007 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:             Avkon implementation of non-focusing popup menu to show word candidates.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-
-#include <eikenv.h>
-#include <eikappui.h>
-#include <badesca.h>
-#include <coemain.h>
-#include <aknPopupHeadingPane.h>
-#include <aknsfld.h>
-#include <AknsFrameBackgroundControlContext.h>
-#include <aknlists.h>
-#include <aknmessagequerycontrol.h> 
-#include <skinlayout.cdl.h>
-#include <AknLayout2ScalableDef.h>
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <layoutmetadata.cdl.h>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <AknFepInternalCRKeys.h>
-#include <AvkonInternalCRKeys.h>
-
-#include <aknfep.rsg>
-#include <AknFepGlobalEnums.h>
-#include <avkon.hrh>
-#include "AknFepAvkonCandidatePopup.h"
-#include "AknPriv.hrh"
-const TInt KChrKeyTimeout = 250000;
-const TInt KChrKeyRepeatDelay = 1000000;
-
-const TInt KScreenWidthQHDLandscape = 640;
-const TInt KScreenHeightQHDLandscape = 360;
-const TInt KOffsetWidthForCandidatePopup = 32;
-
-/**
-* Creates the pop-up list
-*
-*/
-CAknFepAvkonCandidatePopup* CAknFepAvkonCandidatePopup::NewL( MAknFepCandidatePopupCallback& aOwner )
-    {
-    CAknFepAvkonCandidatePopup* self = new(ELeave)CAknFepAvkonCandidatePopup( aOwner );        
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-
-/**
-* C++ constructor
-*
-* @param    aOwner  The owner of the popup list. Provides the candidates and receives notification
-*                   when candidate selected.
-*
-*/
-CAknFepAvkonCandidatePopup::CAknFepAvkonCandidatePopup( MAknFepCandidatePopupCallback& aOwner )
-    : CAknPopupList()
-    , iOwner(aOwner)
-    , iKeyboard(EPtiKeyboardNone)
-    {
-        
-    }
-    
-    
-/**
-* 2nd phase construction
-*
-*/
-void CAknFepAvkonCandidatePopup::ConstructL()
-    {
-    // Construct the inner listbox and the base class
-   	iList = new( ELeave ) CAknSinglePopupMenuStyleListBox;
-   	TInt primaryCandidate = 0;
-    
-    CRepository* aknFepRepository = NULL;
-    aknFepRepository = CRepository::NewL(KCRUidAknFep);
-    if(aknFepRepository)
-    	{
-       	aknFepRepository->Get(KAknFepPrimaryCandidateFlag, primaryCandidate);
-        delete aknFepRepository;
-        }
-    
-    TInt keyboardLayout = 0;
-    RProperty::Get(KCRUidAvkon, KAknKeyBoardLayout, keyboardLayout);
-    TPtiKeyboardType layout = (TPtiKeyboardType)keyboardLayout;
-    
-	// Not use embedded CBA, so new the CBA seperately
-    TInt cbaResource = 0;
-    if(primaryCandidate && layout != EPtiKeyboard12Key  )
-    	{
-    	CAknPopupList::ConstructL( iList,R_AKNFEP_SOFTKEYS_OK_CANCEL_SELECT,
-    						   AknPopupLayouts::EMenuWindow );
-		cbaResource = R_AKNFEP_SOFTKEYS_OK_CANCEL_SELECT;
-    	}
-    else
-    	{
-    	CAknPopupList::ConstructL( iList, R_AKNFEP_SOFTKEYS_SPELL_CANCEL_SELECT,
-    						   AknPopupLayouts::EMenuWindow );  
-	    cbaResource = R_AKNFEP_SOFTKEYS_SPELL_CANCEL_SELECT;
-    	}
-	// To add new CBA, here set its flag as the base class, 
-	// but just not set Embedded flag.
-	TUint flags = CEikButtonGroupContainer::EAddToStack;
-    if ( AknLayoutUtils::PenEnabled() )
-        {
-        flags |= CEikButtonGroupContainer::EDelayActivation;
-        }
-	// Destroy the CBA constructed in base class, and new its own CBA
-    delete iPopoutCba;
-    iPopoutCba =  CEikButtonGroupContainer::NewL(
-            CEikButtonGroupContainer::ECba,
-            CEikButtonGroupContainer::EHorizontal,
-            this, cbaResource, *this, flags );	
-
-	iList->ConstructL( this, CEikListBox::ELeftDownInViewRect );
-    iList->CreateScrollBarFrameL( ETrue );
-    iList->ScrollBarFrame()->SetScrollBarVisibilityL( CEikScrollBarFrame::EOff,      //< horizontal
-                                                      CEikScrollBarFrame::EAuto );   //< vertical
-    iList->SetNonFocusing();
-
-
-    // Construct the item array
-    iCandidates = new (ELeave) CDesCArrayFlat( KPredictiveListCandidateMax ); 
-    CTextListBoxModel* model = iList->Model();
-    model->SetItemTextArray( iCandidates );
-    model->SetOwnershipType( ELbmDoesNotOwnItemArray );
-    iChrKeypressMonitor = CPeriodic::NewL(CActive::EPriorityStandard);
-    SetNonFocusing();
-    MakeVisible(EFalse); 
-    }
-    
-
-MAknFepCandidatePopup::~MAknFepCandidatePopup()
-{
-	
-}
-
-/**
-* Destructor
-*
-*/
-CAknFepAvkonCandidatePopup::~CAknFepAvkonCandidatePopup()
-    {
-    delete iList;
-    delete iCandidates;
-    if( iChrKeypressMonitor )
-        {
-        iChrKeypressMonitor->Cancel();
-        delete iChrKeypressMonitor;
-        iChrKeypressMonitor = NULL;
-        }
-    }
- 
-
-TPtrC CAknFepAvkonCandidatePopup::ActiveWord() const
-    {
-    if ( iCandidates->Count()>*iSelectedIdx && *iSelectedIdx>0 )
-        {
-        return (*iCandidates)[*iSelectedIdx];    
-        }
-    else
-        {
-        return TPtrC( KNullDesC );
-        }
-    }
-    
-    
-TPtrC CAknFepAvkonCandidatePopup::ExactWord() const
-    {
-    if ( iCandidates->Count() > 0 )
-        {
-        return (*iCandidates)[0];        
-        }
-    else
-        {
-        return TPtrC( KNullDesC );
-        }
-    }
- 
- 
-/**
-* Makes the pop-up selection list visible.
-*
-* @param        aInlineEditorRect   Tells the place of the inline editor. If possible, the popup is opened
-*                                   so that it does not hide the inline editor.
-*
-* @param        aSelectedIdx        Input/output argument for the selected index. If legal index is given in,
-*                                   it will be used as default selection. Otherwise the default selection will
-*                                   be the currently active word. On succesful exit this variable contains
-*                                   the index selected by the user.
-*
-* @param        aLastKeyEvent       The last key event received by the popup. On return this is the event
-*                                   which closed the popup.
-*               
-* @return       The command id used to close the window. EAknFepSoftkeySpell, EAknSoftkeyCancel, or EAknSoftkeySelect
-*/
-TInt CAknFepAvkonCandidatePopup::ExecutePopupL( const TRect& aInlineEditorRect, TInt& aSelectedIdx,
-												TKeyEvent& aLastKeyEvent, TBool aRightToLeftLanguage,
-												TInt aKeyboard )
-    {
-    iSelectedIdx = &aSelectedIdx;
-    iLastKeyEvent = &aLastKeyEvent;
-    iKeyboard = (TPtiKeyboardType)aKeyboard;
-    //This is the inline text rectangle, this is needed in the event of a layout change
-    iInlineTextRect = aInlineEditorRect;
-    
-    TInt requestedSelection = *iSelectedIdx;
-    iOwner.GetCandidatesL( *iCandidates, *iSelectedIdx );
-    if ( requestedSelection >= 0 && requestedSelection < iCandidates->Count() )
-        {
-        *iSelectedIdx = requestedSelection;
-        }
-    
-    iListBox->SetCurrentItemIndex( *iSelectedIdx );
-    
-    iRightToLeftCandidate = aRightToLeftLanguage;
-    
-    const TSize screenSize = iAvkonAppUi->ApplicationRect().Size(); //TSize(AKN_LAYOUT_WINDOW_screen.iW,AKN_LAYOUT_WINDOW_screen.iH);
-    iPopoutCba->SetBoundingRect(TRect(screenSize));
-
-    SetupWindowLayout(iWindowType);
-    SetupWindowLocation( aInlineEditorRect );
-
-    iListBox->SetListBoxObserver(this);        
-
-    iEikonEnv->RemoveFromStack(this);
-    iEikonEnv->EikAppUi()->AddToStackL(this,ECoeStackPriorityDialog/*ECoeStackPriorityFep*/);
-
-
-    ActivateL();
-    // this is required here to make code like
-    // iList->SetCurrentItemIndex( last item of the list );
-    // iPopupList->ExecuteLD();
-    // to work as it used to. Without this current item of the
-    // list would be topmost item, and there would be unused empty
-    // space below that.
-    iListBox->UpdateScrollBarsL();
-
-    // The main rule is to make the first index (the exact match) visible. However, the active index should never
-    // be hidden.
-    iListBox->ScrollToMakeItemVisible( 0 );
-    if ( iListBox->BottomItemIndex() < *iSelectedIdx )
-        {
-        iListBox->ScrollToMakeItemVisible( *iSelectedIdx );
-        }
-        
-    // Ensure that the popup is on top. Without this the popup window is left in the background at least
-    // in the dialogs of the Phonebook application.
-    //Window().SetOrdinalPosition(0);
-    //iPopoutCba->SetContainerWindowL( Window() ); this didn't help
-        
-    // Make the popup visible
-    iPopoutCba->MakeVisible(ETrue);
-    iListBox->MakeVisible(ETrue);    
-    MakeVisible(ETrue);
-    SetFocus(ETrue);
-    FadeBehindPopup(EFalse);
-    TInt returnValue;
-    iReturn = &returnValue;
-    iLastCommandId = EAknSoftkeySelect;
-    iWait.Start();
-    return returnValue;
-    }
-
-
-/**
-* Called when the popup is closed. Unlike the base class, this class does not commit suicide on this situation.
-*
-* @return        ETrue if the popup was accepted. EFalse if the popup was cancelled
-*/
-void CAknFepAvkonCandidatePopup::AttemptExitL(TBool aAccept)
-    {
-    *iSelectedIdx = iList->CurrentItemIndex();
-
-    if (iCoeEnv && iEikonEnv)
-        {
-        iEikonEnv->RemoveFromStack(this);
-        }
-      
-    SetFocus(EFalse);
-    MakeVisible(EFalse);
-    ListBox()->MakeVisible(EFalse);    
-    iPopoutCba->MakeVisible(EFalse);
-
-    if (iReturn) //Always not null unless ExecutePopupL leaves
-        {
-        if (!aAccept)
-            {
-            *iReturn = EAknSoftkeyCancel;
-            }
-        else
-            {
-            *iReturn = iLastCommandId;                        
-            }
-        }
-	if(iWait.IsStarted())
-    iWait.AsyncStop();
-    }
-
-
-void CAknFepAvkonCandidatePopup::HandleResourceChange(TInt aType)
-    {
-    CAknPopupList::HandleResourceChange(aType);
-    //When there is a dynamic layout change, the candidate list position needs to be aligned with
-    //the new position of the inline text.
-    if(aType == KEikDynamicLayoutVariantSwitch)
-        {
-        // Move back candidate popup control priority.
-        iEikonEnv->RemoveFromStack(this);        
-        TRAP_IGNORE( iEikonEnv->EikAppUi()->AddToStackL(this, ECoeStackPriorityDialog )) ;       
-        // Get candidate update position based on layout.
-        TRAP_IGNORE(iOwner.GetUpdateCandidatePositionL(iInlineTextRect));
-
-	// Ensure that the popup is on top.
-	Window().SetOrdinalPosition(0); 
- 
-        SetupWindowLocation( iInlineTextRect);
-        DrawNow();
-        }
-    else if(aType == KAknMessageFocusLost)
-    	FadeBehindPopup(ETrue);
- 
-    }
-
-
-void CAknFepAvkonCandidatePopup::UnFocus()
-    {
-    //Remove the candidate list from the control stack so that it does not receive any key event.
-    if (iCoeEnv && iEikonEnv)
-        {
-        iEikonEnv->RemoveFromStack(this);
-        }
-    //Un-Focus the candidate list
-    SetFocus(EFalse);
-    }
-void CAknFepAvkonCandidatePopup::ShowAtNewPosition(TRect aRect)
-    {
-    if (iCoeEnv && iEikonEnv)
-        {
-        TRAP_IGNORE( iEikonEnv->EikAppUi()->AddToStackL(this,ECoeStackPriorityDialog/*ECoeStackPriorityFep*/ ));
-        }
-    SetFocus(ETrue);
-    iInlineTextRect = aRect;
-    SetupWindowLocation( iInlineTextRect);
-    DrawNow();
-    }
-
-void CAknFepAvkonCandidatePopup::SetFocusAddStackReducePriorityL()
-    {
-    if (iCoeEnv && iEikonEnv)
-        {
-        iEikonEnv->EikAppUi()->AddToStackL(this, ECoeStackPriorityDefault-1/*ECoeStackPriorityDialog-1*/ );
-        }
-    SetFocus(ETrue);
-    }
-
-TInt CAknFepAvkonCandidatePopup::HandleChrKeyMonitorCallback(TAny* aParam)
-    {
-    // the timer will be cancelled only when the key up event is received
-    // the down arrow key event is simulated now
-    TKeyEvent keyEvent;
-    keyEvent.iCode = EKeyDownArrow;	
-//    TEventCode type = EEventKey;
-    TRAP_IGNORE( ((CAknFepAvkonCandidatePopup*)aParam)->ListBox()->OfferKeyEventL(keyEvent, EEventKey) );
-    // Prevent the screen saver
-    User::ResetInactivityTime();
-    return 1;
-    }
-
-/**
-* Modified from CAknPopupList::OfferKeyEventL().
-*/
-TKeyResponse CAknFepAvkonCandidatePopup::OfferKeyEventL(const TKeyEvent& aKeyEvent, 
-														TEventCode aType)
-    {
-    *iLastKeyEvent = aKeyEvent;
-    
-    // Selection key is substituted with the space key. Thus, selecting a candidate with the selection
-    // key auto-appends space character.
-    if ( aKeyEvent.iScanCode == EStdKeyDevice3 )
-        {
-        //iLastKeyEvent->iScanCode = EStdKeySpace;
-        iLastKeyEvent->iCode = EKeyOK;
-        }
-    // Asterisk is substituted with arrow down key to get same functionality in ITU-T keypads
-    // Emulator sends key event with scancode EStdKeyNkpAsterisk and hardware an event
-    // with code '*' so we check for both
-    else if ( ( (aKeyEvent.iScanCode == EStdKeyNkpAsterisk || aKeyEvent.iCode == '*' ) 
-            && iKeyboard == EPtiKeyboard12Key ) )
-        {
-        iLastKeyEvent->iCode = EKeyDownArrow;
-        }
-    else if( aKeyEvent.iScanCode == EStdKeyLeftFunc
-            && iKeyboard == EPtiKeyboardHalfQwerty  ) 
-    	{
-    	if( aType == EEventKeyDown)
-    		{
-    		iLastKeyEvent->iCode = EKeyDownArrow;	
-    		// start the timer
-    		if(iChrKeypressMonitor->IsActive())
-    		    {
-    		    iChrKeypressMonitor->Cancel();
-    		    }
-            iChrKeypressMonitor->Start( KChrKeyRepeatDelay, KChrKeyTimeout, 
-                TCallBack(HandleChrKeyMonitorCallback, this));
-
-    		aType = EEventKey;
-    		}    	
-    	else
-    		{
-    		iChrKeypressMonitor->Cancel();
-    		return EKeyWasNotConsumed;
-    		}
-    	}
-    // this must be first check, since window will be faded when fast
-    // swap window is visible
-    if (aType==EEventKey && aKeyEvent.iCode == EKeyEscape)
-        {
-        AttemptExitL(EFalse);
-        return EKeyWasConsumed;
-        }
-
-    if ( Window().IsFaded() )
-        {
-        // this happens, when popuplist has a findbox, and user
-        // presses shift to launch fep menu. Fep menu has priority menu
-        // in control stack, but we have dialog priority. As result,
-        // keyevents will get here first. If we return
-        // EKeyWasNotConsumed, fep menu will catch those events
-        // next.
-        return EKeyWasNotConsumed;
-        }
-
-    TBool needRefresh = EFalse;
-    TKeyResponse res = AknFind::HandleFindOfferKeyEventL(aKeyEvent, aType, this,
-    													 ListBox(), FindBox(), EFalse, needRefresh);
-
-    if (needRefresh && FindBox())
-        {
-        DrawNow();
-        }
-
-    if ( res == EKeyWasConsumed )
-        {
-        return res;
-        }
- 
-    if (aType==EEventKey)
-        {
-        // Handle arrow keys based on iScancode
-        TBool keyEventHandled = EFalse;
-        switch (iLastKeyEvent->iScanCode)
-            {
-            case EStdKeyUpArrow: //fall through
-            case EStdKeyDownArrow:
-            			keyEventHandled = ETrue;
-                 return iListBox->OfferKeyEventL(*iLastKeyEvent, aType);
-                 
-            case EStdKeyLeftArrow:
-                    if(iRightToLeftCandidate)
-                        // These keys confirm the selection and are then handled by AknFepManager
-                        AttemptExitL(ETrue);
-                    else
-                        // These keys cancel the selection and are then handled by AknFepManager
-                        AttemptExitL(EFalse);
-                    keyEventHandled = ETrue;
-                    return EKeyWasConsumed;
-                
-            case EStdKeyRightArrow:  
-                    if(iRightToLeftCandidate)
-                            // These keys cancel the selection and are then handled by AknFepManager
-                            AttemptExitL(EFalse);
-                        else
-                            // These keys confirm the selection and are then handled by AknFepManager
-                            AttemptExitL(ETrue);
-               			keyEventHandled = ETrue;
-                    return EKeyWasConsumed;
-
-            }
-        if (!keyEventHandled)
-        	{
-        // Handle through iCode
-	        switch (iLastKeyEvent->iCode)
-	            {
-	
-	            case EKeyUpArrow: //fall through
-	            case EKeyDownArrow:
-	                 return iListBox->OfferKeyEventL(*iLastKeyEvent, aType);
-	                 
-	            case EKeyLeftArrow:
-	                    if(iRightToLeftCandidate)
-	                        // These keys confirm the selection and are then handled by AknFepManager
-	                        AttemptExitL(ETrue);
-	                    else
-	                        // These keys cancel the selection and are then handled by AknFepManager
-	                        AttemptExitL(EFalse);
-	                    return EKeyWasConsumed;
-	                
-	            case EKeyRightArrow:  
-	                    if(iRightToLeftCandidate)
-	                            // These keys cancel the selection and are then handled by AknFepManager
-	                            AttemptExitL(EFalse);
-	                        else
-	                            // These keys confirm the selection and are then handled by AknFepManager
-	                            AttemptExitL(ETrue);
-	                    
-	                        return EKeyWasConsumed;
-	
-	            
-	            case EKeyEnter:
-	            case EKeyOK:
-	            case EKeySpace:
-	            case EKeyTab:
-	            default:
-	                // These keys confirm the selection and are then handled by AknFepManager
-	                AttemptExitL(ETrue);
-	                return EKeyWasConsumed;                
-							case	EKeyApplication:
-							case	EKeyPhoneEnd:
-							// Flip open close event.
-				      case EKeyFlipOpen:
-				      case EKeyFlipClose:            
-									AttemptExitL(EFalse);
-				            		return EKeyWasNotConsumed;
-	   
-	            }
-          }              
-        }
-        
-     // For Layout switching
-     // If user switch the layout, means QWERTY to ITU-T and vice versa
-     // Keyboard layout going to cahnge, So, not need to open the candidate
-     // list as it is, becz its may predict differnt list of word.
-        if (aKeyEvent.iScanCode == EStdKeyApplicationE ||
-            aKeyEvent.iScanCode ==  EStdKeyApplication10 ||
-        	aKeyEvent.iScanCode ==   EStdKeyDeviceF ||
-    		aKeyEvent.iScanCode ==   EStdKeyDeviceA ||
-        	aKeyEvent.iScanCode ==   EStdKeyApplication12 ||
-        	aKeyEvent.iScanCode ==   EStdKeyApplication15 ||
-        	aKeyEvent.iScanCode ==   EStdKeyApplication16 ||
-        	aKeyEvent.iScanCode ==   EStdKeyDeviceB)
-	        {
-	        AttemptExitL(EFalse);
-	        return EKeyWasConsumed;
-	        }
- 
-    return EKeyWasNotConsumed;
-    }
-
-
-/**
-* Process commands from CBA buttons.
-* @param  aCommandId  The command to handle.
-*/
-void CAknFepAvkonCandidatePopup::ProcessCommandL(TInt aCommandId)
-    {
-    iLastCommandId = aCommandId;
-    if (aCommandId==EAknFepSoftkeySpell 
-    || aCommandId == EAknSoftkeyOk)
-       {
-        AttemptExitL(ETrue);
-        }
-    else
-        {
-        CAknPopupList::ProcessCommandL(aCommandId);
-        }
-    }
-
-
-/**
-* Calculates the position for the popup window and places it there
-* @param    aInlineEditorRect   The placement of the inline editor is used as reference.
-*                               The inline editor is not hidden if possible.
-*/
-void CAknFepAvkonCandidatePopup::SetupWindowLocation( const TRect& aInlineEditorRect )
-    {
-    TRect clientRect;
-    AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EMainPane, clientRect);
-    
-    TRect popupRect = Rect();
-    
-    // 1. Is it possible to place the popup under the inline editor
-    if ( aInlineEditorRect.iBr.iY + popupRect.Height() < clientRect.iBr.iY )
-        {
-        SetPosition( TPoint(aInlineEditorRect.iTl.iX, aInlineEditorRect.iBr.iY) );        
-        }
-        
-    // 2. Is it possible to place the popup on the right side of the inline editor
-    else if ( aInlineEditorRect.iBr.iX + popupRect.Width() < clientRect.iBr.iX )
-        {
-        SetPosition( TPoint(aInlineEditorRect.iBr.iX, aInlineEditorRect.iTl.iY) );
-        }
-        
-    // 3. Is it possible to place the popup above the inline editor
-    else if ( aInlineEditorRect.iTl.iY > popupRect.Height() )
-        {
-        SetPosition( aInlineEditorRect.iTl - TPoint(0, popupRect.Height()) );
-        }
-        
-    // 4. Is it possible to place the popup on the left side of the inline editor
-    else if ( aInlineEditorRect.iTl.iX > popupRect.Width() )
-        {
-        SetPosition( aInlineEditorRect.iTl - TPoint(popupRect.Width(), 0) );
-        }
-
-    // 5. If everything else fails, place the popup in the center of the screen
-    else
-        {
-        TInt xMargins = clientRect.Width() - popupRect.Width();
-        TInt yMargins = clientRect.Height() - popupRect.Height();
-        SetPosition( TPoint(xMargins/2, yMargins/2) );
-        }
-        
-        
-        
-    // Shift popup to left if necessary
-    if ( Position().iX + popupRect.Width() > clientRect.iBr.iX )
-        {
-        SetPosition( TPoint(clientRect.iBr.iX-popupRect.Width(), Position().iY) );
-        }
-
-    // Shift popup upwards if necessary
-    if ( Position().iY + popupRect.Height() > clientRect.iBr.iY )
-        {
-        SetPosition( TPoint(Position().iX, clientRect.iBr.iY-popupRect.Height()) );
-        }
-    }
-
-
-/**
-* Sets up the layout of the popup window.
-* Modified from CAknPopupList::SetupWindowLayout()
-*/
-void CAknFepAvkonCandidatePopup::SetupWindowLayout(AknPopupLayouts::TAknPopupLayouts aType)
-    {
-    // A linked list for HandleSizeChanged().
-    TAknPopupLayoutsNode list = { 0, EListNode, ListBox() };
-    TAknPopupLayoutsNode heading = { &list, EHeadingNode, Heading() };
-    TAknPopupLayoutsNode windowOwning = { &heading, EWindowOwningNode, this };
-    TAknPopupLayoutsNode findPane = { &windowOwning, EFindBoxNode, FindBox() };
-    TAknPopupLayoutsNode *listBegin = &findPane;
-    
-    HandleSizeChanged( Layout(), aType, listBegin );
-
-    // create skin context for popuplist (list itemdrawer uses normal list skinning)
-    TRect windowRect = Rect();
-
-    TAknLayoutRect topLeft;
-    topLeft.LayoutRect(windowRect, 
-    				   SkinLayout::Popup_windows_skin_placing__frame_general__Line_2());
-
-    TAknLayoutRect bottomRight;
-    bottomRight.LayoutRect(windowRect,
-    					   SkinLayout::Popup_windows_skin_placing__frame_general__Line_5());
-
-    TRect outerRect = TRect(topLeft.Rect().iTl, bottomRight.Rect().iBr);
-    TRect innerRect = TRect(topLeft.Rect().iBr, bottomRight.Rect().iTl);
-    
-    // we can safely use FormattedCellData only if normal popup layouts are in use
-    switch(iWindowType)
-        {
-        case AknPopupLayouts::EMenuUnknownColumnWindow:
-        case AknPopupLayouts::EMenuUnknownFormattedCellWindow:
-            break;
-        default:  
-            {
-            CFormattedCellListBoxData *boxData =
-            	((CEikFormattedCellListBox*)ListBox())->ItemDrawer()->FormattedCellData();
-
-            boxData->SetSkinPopupFrame(&KAknsIIDQsnFrPopup,&KAknsIIDQsnFrPopupCenter);
-            boxData->SetSkinPopupFramePosition(outerRect,innerRect);
-            }
-            break;
-        }
-
-    //CListItemDrawer::SetItemCellSize needs to be called to set the selection bar width
-    TSize cellSize = iList->ItemDrawer()->ItemCellSize();
-    cellSize.iWidth = iLayout.iListRect.Rect().Width();
-    iList->ItemDrawer()->SetItemCellSize( cellSize );
-    }
-    
-
-/**
-* Calculates the width of the popup window based on the candidates available on the list. 
-* The with is always set to as small as possible without truncation. 
-* The client application area is used as reference to ensure that the popup is never wider
-* than the application area.
-*/
-TInt CAknFepAvkonCandidatePopup::CalculateWindowWidth( const TRect& aClientRect )
-    {
-    // Fetch the font
-    const CFont* font = AknLayoutUtils::FontFromId(AKN_LAYOUT_TEXT_List_pane_texts__menu_single__Line_1(0).FontId());
-	
-	TInt maxTextWidth = 0;
-	
-	for (TInt i=0 ; i<iCandidates->Count() ; ++i)
-	    {
-	    TInt curTextWidth = font->TextWidthInPixels( (*iCandidates)[i] );
-        if ( curTextWidth > maxTextWidth )
-            {
-            maxTextWidth = curTextWidth;
-            }
-   	    }
-   	
-   	TInt popupWidth = maxTextWidth + ( 2 * font->MaxCharWidthInPixels() ); 
-   	
-   	// Modified as per Avkon team's suggestions
-   	// From Avkon:-
-    // Layout data of listscroll_menu_pane are changed for CR 417-35260.
-    // The change is just for QHD landscape model.
-    // The CR makes listscroll_menu_pane's ir or il bigger than normal,
-    // so that width of list item is smaller than needs. Then, first cell 
-    // of list item can not be drawn on proper position.
-    // Adjustment of layout is a solution for this problem. This is not a perfect idea, but
-    // creating a new layout for popuplist is too complex to do that. Adjustment is a must.
-
-   	if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-         const TSize screenSize = iAvkonAppUi->ApplicationRect().Size();
-         
-         if( KScreenWidthQHDLandscape == screenSize.iWidth && 
-             KScreenHeightQHDLandscape == screenSize.iHeight )
-             {
-             popupWidth += KOffsetWidthForCandidatePopup;
-             }
-        }
-
-   	if ( popupWidth > aClientRect.Width() )
-   	    {
-   	    popupWidth = aClientRect.Width();
-   	    }
-   	    
-   	return popupWidth;
-    }
-
-    
-/**
-* Utility function copied from aknpopuplayout.cpp
-*/
-static CCoeControl *FindControl(TAknPopupLayoutsNode *aNode, TInt aId)
-    {
-    while(aNode)
-        {
-        if (aId == aNode->iId)
-            {
-            return aNode->iControl;
-            }
-        aNode = aNode -> iNext;
-        }
-    return NULL;
-    }
-
-/**
-* Utility function copied from aknpopuplayout.cpp
-*/
-static TInt GetMaxListHeight()
-    {
-    TAknLayoutRect temp, layout;
-
-    TRect mainPane;
-    TRect statusPane;
-    TRect controlPane;
-    AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, mainPane );
-    AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EStatusPane, statusPane );
-    AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EControlPane, controlPane );
-    
-    // in landscape orientation popuplist can't go on top of statuspane
-    if ( !Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        mainPane.iTl.iY -= statusPane.Height();
-        }
-    
-    
-    // treat mainpane+statuspane area as popup window
-    // too bad we can't use this, because e.g. QVGA landscape has border-size 7
-    // in avkon layout and border-size 9 in skin drawing...
-	/*temp.LayoutRect( mainPane, AknLayoutScalable_Avkon::listscroll_menu_pane(0));
-	layout.LayoutRect( temp.Rect(), AknLayoutScalable_Avkon::list_menu_pane(0));
-    return layout.Rect().Height();*/
-    	
-    // shadow
-    TInt varietyIndex = Layout_Meta_Data::IsLandscapeOrientation();
-    
-    TAknLayoutRect insideArea;
-    insideArea.LayoutRect(
-        mainPane,
-        AknLayoutScalable_Avkon::bg_popup_window_pane_g1(varietyIndex) );
-    
-    return insideArea.Rect().Height();
-    }
-    
-/**
-* Modified from AknPopupLayouts::HandleSizeChanged()
-*/
-void CAknFepAvkonCandidatePopup::HandleSizeChanged( TAknPopupWindowLayoutDef &aDef,
-                                                AknPopupLayouts::TAknPopupLayouts /*aLayout_1*/,
-                                                TAknPopupLayoutsNode *aNode)
-    {
-    CAknPopupHeadingPane *heading = (CAknPopupHeadingPane*)FindControl(aNode, EHeadingNode);
-    CEikListBox *listBox = (CEikListBox*)FindControl(aNode, EListNode);
-    CCoeControl *windowOwningControl = FindControl(aNode, EWindowOwningNode);
-    //CAknMessageQueryControl *msgQueryCtrl = (CAknMessageQueryControl*)FindControl(aNode, EMessageBoxNode);
-    
-    //TInt layout = aLayout_1;
-    TInt numofitems = listBox->Model()->NumberOfItems();
-
-    TRAP_IGNORE( listBox->View()->ItemDrawer()->SetSkinEnabledL(ETrue) );
-    
-    TInt maxListHeight = GetMaxListHeight();
-
-    // position popup window's bottom correctly
-    TRect clientRect;
-    AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EMainPane, clientRect);
-    // set windowrect to minimum size - this will be adjusted later    
-    TAknLayoutRect windowRect;
-    windowRect.LayoutRect( clientRect, AknLayoutScalable_Avkon::popup_menu_window(8));
-   
-    aDef.iWindowRect = windowRect.Rect();
-    aDef.iWindowRect.SetWidth( CalculateWindowWidth(clientRect) );
-    TRAP_IGNORE( listBox->View()->ItemDrawer()->SetSkinEnabledL(ETrue) );
-    
-    TInt minItems = 1;
-    
-    TAknWindowLineLayout listLayout;
-    TAknLayoutScalableParameterLimits listLimits;
-    
-    listLayout = AknLayoutScalable_Avkon::list_single_pane_cp2(0);
-    listLimits = AknLayoutScalable_Avkon::list_single_pane_cp2_ParamLimits();
-
-	TInt maxLayoutItems = listLimits.LastRow() + 1; // last row is a zero based index, we need num items which is 1 based
-        
-    TAknLayoutRect listItemRect;
-	listItemRect.LayoutRect( aDef.iWindowRect, listLayout);
-    TInt listItemHeight = listItemRect.Rect().Height();
-    TInt maxItems = maxListHeight / listItemHeight;
-    // minItems == 1 only if the popuplist is dynamically changeable
-    if ( (numofitems > 1) && (minItems == 1) )
-        {
-        minItems = numofitems;
-        }
-    if (minItems > maxItems)
-        {
-        minItems = maxItems;
-        }
-    // maxItems might be greater than max items from layout -> use layout's maximum
-    if (minItems > maxLayoutItems)
-        {
-        minItems = maxLayoutItems;
-        }
-
-    TRect window_rect = AknPopupLayouts::MenuRect(aDef);
-
-    TAknLayoutRect temp, layout;
-    temp.LayoutRect( window_rect, AknLayoutScalable_Avkon::listscroll_menu_pane(0));
-	layout.LayoutRect( temp.Rect(), AknLayoutScalable_Avkon::list_menu_pane(0));
-	
-	
-    TRect tempListRect = layout.Rect(); // this is list's rect for the whole window
-
-    // We really don't want parent relative list layout here because findbox will be overwritten.
-    // Just calculate list height and use that.
-    TRect nullRect(0,0,0,0);
-    listLayout.iH = (TInt16)(minItems * listItemHeight);
-    listLayout.ib = ELayoutEmpty;
-
-    aDef.iListRect.LayoutRect(tempListRect,
-        listLayout);
-
-    // we have to scale iWindowRect to list rect - layout is not (yet) correct
-    TInt usedHeight = aDef.iListRect.Rect().Height();
-
-    // popupwindow's inside area
-    TInt varietyIndex = Layout_Meta_Data::IsLandscapeOrientation();
-    
-    TAknLayoutRect insideArea;
-    insideArea.LayoutRect(
-        window_rect,
-        AknLayoutScalable_Avkon::bg_popup_window_pane_g1(varietyIndex) );
-
-    if (layout.Rect().Height() < usedHeight)
-        {
-        aDef.iWindowRect.iTl.iY -= (usedHeight - layout.Rect().Height());
-        }
-    
-
-    // now we finally know the window rect
-    AknPopupLayouts::MenuPopupWindowGraphics(aDef);
-    
-    TAknWindowLineLayout line = AknLayoutScalable_Avkon::listscroll_menu_pane(0).LayoutLine();
-        
-    layout.LayoutRect(AknPopupLayouts::MenuRect(aDef), line);
-    TRect scrollBarClientRect(layout.Rect());
-
-    varietyIndex = 0;
-    AknLayoutUtils::LayoutVerticalScrollBar(
-        listBox->ScrollBarFrame(),
-        scrollBarClientRect, 
-        AknLayoutScalable_Avkon::scroll_pane_cp25(varietyIndex).LayoutLine() ) ;
-
-    windowOwningControl->SetRect(AknPopupLayouts::WindowRect(aDef));
-    AknPopupLayouts::HandleSizeAndPositionOfComponents(aDef, listBox, heading);
-
-    window_rect = AknPopupLayouts::WindowRect(aDef);
-    MAknsControlContext *cc = AknsDrawUtils::ControlContext( listBox );
-    TBool defaultContext = EFalse;
-    if (!cc)
-        {
-        cc = listBox->View()->ItemDrawer()->SkinBackgroundControlContext();
-        defaultContext = ETrue;
-        }
-    if (cc)
-        {
-        CAknsBasicBackgroundControlContext *bcc = (CAknsBasicBackgroundControlContext*)cc;
-        TAknLayoutRect popupBgRect;
-         popupBgRect.LayoutRect(window_rect,
-                               SkinLayout::Popup_windows_skin_placing__background_slice__Line_1(window_rect));
-    
-         bcc->SetBitmap(KAknsIIDQsnFrPopupCenter);
-        if (defaultContext) bcc->SetRect(popupBgRect.Rect());
-        bcc->SetParentPos(windowOwningControl->PositionRelativeToScreen());
-        if (defaultContext)
-            bcc->SetParentPos(TPoint(0,0));
-        }        
-    }
-
-// end of file
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepIndicatorAvkon.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,584 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the CAknFepIndicator methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include <eikenv.h>         //CEikEnv
-#include <eikspane.h>       //CEikStatusPane
-#include <avkon.hrh>
-#include <aknnavi.h>        //CAknNavigationControlContainer
-#include <aknnavide.h>      //CAknNavigationDecorator
-#include <AknIndicatorContainer.h>  //CAknIndicatorContainer
-#include <aknEditStateIndicator.h>
-#include <AknUtils.h>
-#include "AknFepIndicatorAvkon.h"
-
-#include "AknFepGlobalEnums.h"
-
-/**
- *
- */ 
-CAknFepIndicator* CAknFepIndicatorAvkon::NewL()
-    {
-    CAknFepIndicatorAvkon* self = new(ELeave)CAknFepIndicatorAvkon();
-    return self;
-    }
-
-/**
- *
- */
-CAknFepIndicatorAvkon::~CAknFepIndicatorAvkon()
-    {
-    RemoveContainer();
-    }
-
- TBool CAknFepIndicatorAvkon::QueryPredictiveState(TAknEditingState aState)
- {
-    return  (( aState == EIndicatorStatePinyin) ||
-             ( aState == EIndicatorStatePinyinPhrase) ||
-             ( aState == EIndicatorStateZhuyin) ||
-             ( aState == EIndicatorStateZhuyinPhrase) ||
-             ( aState == EIndicatorStateZhuyinFind) ||
-             ( aState == EIndicatorStateStrokeFind) ||
-             ( aState == EIndicatorStateStroke) || 
-             ( aState == EIndicatorStateStrokePhrase) ||
-			 ( aState == EIndicatorStateCangJie) ||
-             ( aState == EIndicatorStateStrokeTrad) || 
-             ( aState == EIndicatorStateStrokeTradPhrase) ||
-             ( aState == ET9Upper) ||
-             ( aState == ET9Shifted) ||
-             ( aState == ET9Lower) ||
-             ( aState == ET9Arabic) ||
-             ( aState == ET9Hebrew) ||
-             ( aState == ET9FarsiAndUrdu) ||
-             ( aState == ET9Thai) ||
-             ( aState == EIndicatorStatePredictiveHindi) ||
-#ifdef RD_MARATHI
-             ( aState == EIndicatorStatePredictiveMarathi) ||
-#endif // RD_MARATHI
-             ( aState == EIndicatorStateJapanesePredictive) ||
-             ( aState == ET9UpperVietnamese) ||
-             ( aState == ET9LowerVietnamese) ||
-             ( aState == ET9ShiftedVietnamese) ||
-             ( aState == ET9UpperGreek) ||
-             ( aState == ET9LowerGreek) ||
-             ( aState == ET9ShiftedGreek) ||
-             ( aState == ET9UpperCyrillic) ||
-             ( aState == ET9LowerCyrillic) ||
-             ( aState == ET9ShiftedCyrillic) ); 
- }
- 
-  
-#ifndef RD_INTELLIGENT_TEXT_INPUT
- TBool CAknFepIndicatorAvkon::QueryPredictiveAutoCompleteState(TAknEditingState aState)
- {
- 	 	        
-    return (( aState == EAutoCompleteUpper ) ||  
-     		( aState == EAutoCompleteShifted )  ||
-     		( aState == EAutoCompleteLower ) || 
-     		( aState == EAutoCompleteHindi ) ||
-     		( aState == EAutoCompleteArabic ) ||
-     		( aState == EAutoCompleteHebrew ) ||
-     		( aState == EAutoCompleteFarsiAndUrdu ) ||
-     		( aState == EAutoCompleteThai ) ||
-     		( aState == EAutoCompleteUpperVietnamese ) ||
-     		( aState == EAutoCompleteLowerVietnamese ) ||
-     		( aState == EAutoCompleteShiftedVietnamese ));
- }
-
-#endif
-TInt CAknFepIndicatorAvkon::EvaluateState(TAknEditingState aState)
-{
-	TInt result = 0;
-	switch(aState)
-	{
-		case EArabicIndicNumeric:
-  			 result = EAknNaviPaneEditorIndicatorArabicIndicNumberCase;
-  			 break;
-  			 
-		case ET9Thai:
-		case EMultitapThai:
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-		case EAutoCompleteThai:
-#endif
-			result = EAknNaviPaneEditorIndicatorThai;
-			break;				
-			
-		case EIndicatorStatePredictiveHindi:
-		case EIndicatorStateMultitapHindi:
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-		case EAutoCompleteHindi:
-#endif
-#ifdef RD_MARATHI
-		case EIndicatorStateMultitapMarathi:
-		case EIndicatorStatePredictiveMarathi:
-#endif // RD_MARATHI
-			result = EAknNaviPaneEditorIndicatorDevanagariCase;
-			break;	
-			
-		case ET9Arabic:
-		case EMultitapArabic:
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-		case EAutoCompleteArabic:
-#endif
-			result = EAknNaviPaneEditorIndicatorArabicCase;
-			break;	
-
-		case ET9Hebrew:
-		case EMultitapHebrew:
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-		case EAutoCompleteHebrew:
-#endif
-			result = EAknNaviPaneEditorIndicatorHebrewCase;
-			break;	
-			
-		case ET9FarsiAndUrdu:
-		case EMultitapFarsiAndUrdu:
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-		case EAutoCompleteFarsiAndUrdu:
-#endif
-			result = EAknNaviPaneEditorIndicatorFarsiAndUrduCase;
-			break;					
-
-
-		case ET9Upper:
-		case EMultitapUpper:
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-		case EAutoCompleteUpper:
-#endif
-				if(iCopyMode)
-					{
-					result = EAknNaviPaneEditorIndicatorUpperCaseSelect;		
-					}
-				else
-					{
-					result = EAknNaviPaneEditorIndicatorUpperCase;	
-					}
-			
-			break;
-
-		case ET9Lower:
-		case EMultitapLower:
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-		case EAutoCompleteLower:
-#endif
-				if(iCopyMode)
-					{
-					result = EAknNaviPaneEditorIndicatorLowerCaseSelect;		
-					}
-				else
-					{
-					result = EAknNaviPaneEditorIndicatorLowerCase;	
-					}		
-			break;
-
-		case ET9Shifted:
-		case EMultitapShifted:
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-		case EAutoCompleteShifted:
-#endif
-				if(iCopyMode)
-					{
-					result = EAknNaviPaneEditorIndicatorTextCaseSelect;		
-					}
-				else
-					{
-					result = EAknNaviPaneEditorIndicatorTextCase;	
-					}		
-			break;
-			
-		case ENumeric:
-				if(iCopyMode)
-					{
-					result = EAknNaviPaneEditorIndicatorNumberCaseSelect;		
-					}
-				else
-					{
-					result = EAknNaviPaneEditorIndicatorNumberCase;	
-					}		
-			break;		
-  			 
-  			 	
-		case EIndicatorStatePinyin:
-			result = EAknNaviPaneEditorIndicatorPinyin;
-			break;
-		case EIndicatorStatePinyinPhrase:
-			result = EAknNaviPaneEditorIndicatorPinyinPhrase;
-			break;
-			
-		case EIndicatorStateZhuyin:
-			 result = EAknNaviPaneEditorIndicatorZhuyin;
-			break;
-		case EIndicatorStateZhuyinPhrase:
-			 result = EAknNaviPaneEditorIndicatorZhuyinPhrase;
-			break;
-
-		case EIndicatorStateZhuyinFind:
-			result = EAknNaviPaneEditorIndicatorZhuyinFind;
-			break;
-
-		case EDevanagariIndicNumeric :
-			result = EAknNaviPaneEditorIndicatorDevanagariIndicNumberCase;
-			break;
-		
-		case EIndicatorStateHiraganaKanji:
-		case EIndicatorStateJapanesePredictive:
-			result = EAknNaviPaneEditorIndicatorJapaneseHiraganaKanji;
-			break;
-
-		case EIndicatorStateFullKatakana:
-			result = EAknNaviPaneEditorIndicatorJapaneseFullKatakana;
-			break;
-
-		case EIndicatorStateHalfKatakana:
-			result = EAknNaviPaneEditorIndicatorJapaneseHalfKatakana;
-			break;
-
-		case EIndicatorStateFullLatinText:
-			result = EAknNaviPaneEditorIndicatorJapaneseFullTextAlphabet;
-			break;
-
-		case EIndicatorStateFullLatinUpper:
-			result = EAknNaviPaneEditorIndicatorJapaneseFullUpperAlphabet;
-			break; 
-
-		case EIndicatorStateFullLatinLower:
-			result = EAknNaviPaneEditorIndicatorJapaneseFullLowerAlphabet;
-			break;
-
-		case EIndicatorStateFullNumeric:
-			result = EAknNaviPaneEditorIndicatorJapaneseFullNumeric;
-			break;
-
-		case EIndicatorStateHiragana:
-			result = EAknNaviPaneEditorIndicatorJapaneseHiragana;
-			break;
-
-		case EIndicatorStateStroke:
-			result = EAknNaviPaneEditorIndicatorStroke;
-			break;
-		case EIndicatorStateStrokePhrase:
-			result = EAknNaviPaneEditorIndicatorStrokePhrase;
-			break;
-
-		case EIndicatorStateStrokeTrad:
-			result = EAknNaviPaneEditorIndicatorStrokeTrad;
-			break;
-		case EIndicatorStateStrokeTradPhrase:
-			result = EAknNaviPaneEditorIndicatorStrokeTradPhrase;
-			break;
-
-		case EQwertyShift:
-			result = EAknNaviPaneEditorIndicatorQwertyShift;
-			break;
-
-		case EIndicatorStateStrokeFind:
-			result = EAknNaviPaneEditorIndicatorStrokeFind;
-			break;
-
-		case EIndicatorStateCangJie:
-			result = EAknNaviPaneEditorIndicatorCangJie;
-			break;
-			
-		case EIndicatorStateHangul:
-			if(iCopyMode)
-					{
-					result = EAknNaviPaneEditorIndicatorKoreanHangulSelect;		
-					}
-				else
-					{
-					result = EAknNaviPaneEditorIndicatorKoreanHangul;	
-					}
-			break;
-		
-		case ET9UpperVietnamese:
-		case EMultitapUpperVietnamese:
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-		case EAutoCompleteUpperVietnamese:
-#endif
-			result = EAknNaviPaneEditorIndicatorVietnameseUpperCase;
-			break;			
-			
-		case ET9LowerVietnamese:
-		case EMultitapLowerVietnamese:
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-		case EAutoCompleteLowerVietnamese:
-#endif
-			result = EAknNaviPaneEditorIndicatorVietnameseLowerCase;
-			break;	
-			
-		case ET9ShiftedVietnamese:
-		case EMultitapShiftedVietnamese:
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-		case EAutoCompleteShiftedVietnamese:
-#endif
-			result = EAknNaviPaneEditorIndicatorVietnameseTextCase;
-			break;
-#ifdef RD_HINDI_PHONETIC_INPUT	
-		case EIndicatorStateHindiPhoneticUpper:
-			result = EAknNaviPaneEditorIndicatorDevanagariPhoneticUpperCase;
-			break;
-		case EIndicatorStateHindiPhoneticLower:
-			result = EAknNaviPaneEditorIndicatorDevanagariPhoneticLowerCase;
-			break;
-#endif
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-              case EFnKeyPressed:
-			result = EAknNaviPaneEditorIndicatorFnKeyPressed;
-			break;
-              case EFnKeyLocked:
-			result = EAknNaviPaneEditorIndicatorFnKeyLocked;
-			break;
-#endif
-        case ET9UpperGreek:
-        case EMultitapUpperGreek:
-            result = EAknNaviPaneEditorIndicatorGreekUpperCase;
-            break;
-            
-        case ET9LowerGreek:
-        case EMultitapLowerGreek:
-            result = EAknNaviPaneEditorIndicatorGreekLowerCase;
-            break;
-        
-        case ET9ShiftedGreek:
-        case EMultitapShiftedGreek:
-            result = EAknNaviPaneEditorIndicatorGreekTextCase;
-            break;
-            
-        case ET9UpperCyrillic:
-        case EMultitapUpperCyrillic:
-            result = EAknNaviPaneEditorIndicatorCyrillicUpperCase;
-            break;
-            
-        case ET9LowerCyrillic:
-        case EMultitapLowerCyrillic:
-            result = EAknNaviPaneEditorIndicatorCyrillicLowerCase;
-            break;
-        
-        case ET9ShiftedCyrillic:
-        case EMultitapShiftedCyrillic:
-            result = EAknNaviPaneEditorIndicatorCyrillicTextCase;
-            break;
-	}
-	return result;
-}
-/**
- *
- */
-void CAknFepIndicatorAvkon::SetState(TAknEditingState aState)
-    {
-    CAknNavigationControlContainer* naviPane = 0;
-    TRAPD(err, naviPane = NaviPaneL());
-
-    // If the navi pane has been changed, clean up and start again.
-    if (iNaviPane != naviPane)
-        {
-        RemoveContainer();
-        iNaviPane = naviPane;
-        iNaviPaneChanged = ETrue;
-        }
-    
-    if ( (iPreviousState == aState) && !iNaviPaneChanged  && !iCopyModeChanged)
-        {
-        // The required state already exists and navi pane has not been changed 
-        // by launching embedded application. Leave the contents alone.
-        return;
-        }
-    iCopyModeChanged = EFalse;    
-        
-    if (aState == EStateNone) 
-        {
-        if ( iNaviDecorator && naviPane )
-            {
-            CCoeControl* decoratedControl = iNaviDecorator->DecoratedControl();
-            if ( decoratedControl )
-                {
-                decoratedControl->MakeVisible(EFalse);
-                }
-            naviPane->Pop(iNaviDecorator);
-            }
-        if(iPreviousState && (iPreviousState != EStateNone))
-    	    {
-	   		SetIndicator(EvaluateState(iPreviousState), EAknIndicatorStateOff, EFalse); 	   	
-	   		// Also set off predictive / query (pen) indicator.
-	   		SetIndicator(EAknNaviPaneEditorIndicatorQuery, EAknIndicatorStateOff, EFalse); 	   			   		
-	   		SetIndicator(EAknNaviPaneEditorIndicatorT9, EAknIndicatorStateOff, EFalse); 	   			   		
-        	}
-        iPreviousState = aState;
-        iNaviPaneChanged = EFalse;
-        return;
-        }
-    
-    if ( err == KErrNone )
-        {
-        iNaviPaneChanged = EFalse;
-        TRAP(err,AddContainerL(naviPane));
-        
-
-        // selection indicator
-        
-        SetIndicator(EvaluateState(iPreviousState), EAknIndicatorStateOff, EFalse); 
-        
-        // selection indicator
-        if (iCopyMode)
-            {
-            // clear normal indicators first
-            SetIndicator(EAknNaviPaneEditorIndicatorTextCase, EAknIndicatorStateOff,  ETrue);
-            SetIndicator(EAknNaviPaneEditorIndicatorLowerCase, EAknIndicatorStateOff, ETrue);
-            SetIndicator(EAknNaviPaneEditorIndicatorUpperCase, EAknIndicatorStateOff, ETrue);
-            SetIndicator(EAknNaviPaneEditorIndicatorNumberCase,EAknIndicatorStateOff, ETrue);       
-            SetIndicator(EAknNaviPaneEditorIndicatorKoreanHangul,EAknIndicatorStateOff, ETrue); 
-            }
-	    else
-            {
-            // clear selection indicators first
-            SetIndicator(EAknNaviPaneEditorIndicatorTextCaseSelect, EAknIndicatorStateOff,  ETrue);
-            SetIndicator(EAknNaviPaneEditorIndicatorLowerCaseSelect, EAknIndicatorStateOff, ETrue);
-            SetIndicator(EAknNaviPaneEditorIndicatorUpperCaseSelect, EAknIndicatorStateOff, ETrue);
-            SetIndicator(EAknNaviPaneEditorIndicatorNumberCaseSelect,EAknIndicatorStateOff, ETrue);       
-            SetIndicator(EAknNaviPaneEditorIndicatorKoreanHangulSelect,EAknIndicatorStateOff, ETrue);  
-            }
-             
-  		TBool predictiveMode = QueryPredictiveState(aState);
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-  		TBool predictiveAutoCompleteMode = EFalse;
-  		if(!predictiveMode)
-  			{
-  			predictiveAutoCompleteMode = QueryPredictiveAutoCompleteState(aState);		
-  			}
-#endif
-        
-        SetIndicator(EAknNaviPaneEditorIndicatorQuery, 
-            ( predictiveMode || aState == EStateNone  
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-			|| predictiveAutoCompleteMode
-#endif
-            )? EAknIndicatorStateOff : EAknIndicatorStateOn, EFalse);
-        SetIndicator(EAknNaviPaneEditorIndicatorT9, predictiveMode 
-            ? EAknIndicatorStateOn : EAknIndicatorStateOff, EFalse);
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-        // Indicator for Auto Word Completion Mode
-     	SetIndicator(EAknNaviPaneEditorIndicatorAutoComplete, predictiveAutoCompleteMode 
-            ? EAknIndicatorStateOn : EAknIndicatorStateOff, EFalse);
-#endif
-       
-      SetIndicator(EvaluateState(aState), EAknIndicatorStateOn, EFalse);
-
-        // Push the state to the navi-pane
-        if (naviPane && iNaviDecorator)
-            {
-            CCoeControl* decoratedControl = iNaviDecorator->DecoratedControl();
-            if ( decoratedControl )
-                {
-                decoratedControl->MakeVisible(ETrue);
-                }
-            TRAP_IGNORE(naviPane->PushL(*iNaviDecorator));
-            }        
-        }
-    iPreviousState = aState;    
-    }
-
-/**
- *
- */
-CAknIndicatorContainer* CAknFepIndicatorAvkon::IndicatorContainer()
-    {
-    CAknNavigationControlContainer* naviPane = 0;
-    TRAPD(err, naviPane = NaviPaneL());
-
-    // If the navi pane have changed, clean up and start again
-    if ( naviPane != iNaviPane )
-        {
-        RemoveContainer();
-        iNaviPane = naviPane;
-        iNaviPaneChanged = ETrue;
-        }
-    if ( !iIndicatorContainer )
-        {
-        TRAP(err, AddContainerL(naviPane));        
-        }
-    return iIndicatorContainer;
-    }
-
-/**
- *
- */
-CAknFepIndicatorAvkon::CAknFepIndicatorAvkon()
-    :iPreviousState(EStateNone), iEikEnv(*CEikonEnv::Static())
-    {
-    }
-
-/**
- *  Create a new indicator container and push it to the navi-pane
- */
-void CAknFepIndicatorAvkon::AddContainerL(CAknNavigationControlContainer* aNaviPane)
-    {
-    // Create a new indicator container and push it to the navi-pane
-    if (!iIndicatorContainer && aNaviPane)
-        {
-        iNaviDecorator = aNaviPane->CreateEditorIndicatorContainerL();
-        iIndicatorContainer = STATIC_CAST(CAknIndicatorContainer*, iNaviDecorator->DecoratedControl());
-        }
-    }
-
-/**
- * Pop the indicator container from the navi-pane
- */
-void CAknFepIndicatorAvkon::RemoveContainer()
-    {
-    // Pop the indicator container from the navi-pane
-    if (iIndicatorContainer)
-        {
-        delete iNaviDecorator;
-        iNaviDecorator = NULL;
-        iIndicatorContainer = NULL;
-        }
-    }
-
-/**
- *
- */
-void CAknFepIndicatorAvkon::SetIndicator(TInt aIndicator, TInt aMode, TBool aDrawNow)
-    {
-    if ( iIndicatorContainer )
-        {
-        iIndicatorContainer->SetIndicatorState(TUid::Uid(aIndicator), aMode, aDrawNow);
-        }
-    }
-
-/**
- *  get a handle to the Navi Pane
- */
-CAknNavigationControlContainer* CAknFepIndicatorAvkon::NaviPaneL()
-    {
-    CEikStatusPane *sp = iEikEnv.AppUiFactory()->StatusPane();
-    User::LeaveIfNull(sp);
-    // Fetch pointer to the default navi pane control
-    return (CAknNavigationControlContainer *)sp->ControlL(TUid::Uid(EEikStatusPaneUidNavi));
-    }
-
-// End of file
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepPredOwnWordsModel.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,224 +0,0 @@
-/*
-* 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:          
-*
-*/
-
-
-
-
-
-
-
-
-
-
-#include "AknFepPredOwnWordsModel.h"
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CAknFepPredOwnWordsModel::NewL()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CAknFepPredOwnWordsModel* CAknFepPredOwnWordsModel::NewL( MDesCArray* aTextArray )
-    {
-    CAknFepPredOwnWordsModel* self = CAknFepPredOwnWordsModel::NewLC( aTextArray );
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepPredOwnWordsModel::NewLC()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CAknFepPredOwnWordsModel* CAknFepPredOwnWordsModel::NewLC( MDesCArray* aTextArray )
-    {
-    CAknFepPredOwnWordsModel* self = new ( ELeave ) CAknFepPredOwnWordsModel();
-    CleanupStack::PushL(self);
-    self->ConstructL( aTextArray );
-    return self;
-    }
-// -----------------------------------------------------------------------------
-// CAknFepPredOwnWordsModel::ConstructL()
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CAknFepPredOwnWordsModel::ConstructL( MDesCArray* aTextArray )
-    {
-    iPtiEngine = CPtiEngine::NewL(ETrue); 
-    //for our purposes(adding/removing UDB entries), 
-    //we are not dependent on language. Hence using English here
-    //as it should be available on all variants/devices.
-    iPtiEngine->ActivateLanguageL( ELangEnglish, EPtiEnginePredictive );
-    
-    //Now read the UDB entires into the text array
-    UpdateItemsL( aTextArray );
-    }
-// -----------------------------------------------------------------------------
-// CAknFepPredOwnWordsModel::~CAknFepPredOwnWordsModel()
-// C++ default constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CAknFepPredOwnWordsModel::CAknFepPredOwnWordsModel()
-    {
-    // No implementation required
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepPredOwnWordsModel::~CAknFepPredOwnWordsModel()
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CAknFepPredOwnWordsModel::~CAknFepPredOwnWordsModel()
-    {
-    delete iPtiEngine;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepPredOwnWordsModel::UpdateItemsL()
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-void CAknFepPredOwnWordsModel::UpdateItemsL( MDesCArray* aTextArray )
-    {
-    iUDBWords = (CDesCArrayFlat*)aTextArray;
-    ReadUDBEntriesL();
-    }
-
-// -----------------------------------------------------------------------------
-//  Read all the user dictionary words through PtiEngine
-// -----------------------------------------------------------------------------
-//
-void CAknFepPredOwnWordsModel::ReadUDBEntriesL()
-    {
-    if (NULL == iUDBWords)
-        {
-        //iUDBWords is not created here. We take referrence of item array
-        //from listbox parameter passed to the MAknFepPredUserDictEditingModel
-        //methods. So this is an error condition - list box is not 
-        //completely/properly initialized
-        User::Leave(KErrCorrupt);
-        }
-    
-    TInt numOfUDBEntries = iPtiEngine->NumberOfEntriesInUserDictionary();
-    for (TInt i(0) ; i < numOfUDBEntries ; ++i)
-        {
-        TPtiUserDictionaryEntry udbEntry;
-        TInt getEntryResult = iPtiEngine->GetUserDictionaryEntry( i, udbEntry);
-        if ( KErrNone == getEntryResult )
-            {
-            HBufC *listEntry = FormListBoxEntryFromWordLC( udbEntry.Word() ); 
-            iUDBWords->AppendL( *listEntry );
-            CleanupStack::PopAndDestroy( listEntry );
-            }
-        else if ( KErrNotFound != getEntryResult )
-            {
-            //As this is not an empty slot, this could be an error condition
-            User::Leave(KErrCorrupt);
-            }   
-        }
-    iUDBWords->Sort();
-    }
-
-// -----------------------------------------------------------------------------
-//  Helper method for listbox string formatting
-// -----------------------------------------------------------------------------
-//
-HBufC* CAknFepPredOwnWordsModel::FormListBoxEntryFromWordLC( const TDesC& aWord )
-    {
-    _LIT( KListItemPrefix, "\t" );
-    TInt length = aWord.Length();
-    //add 2 to length of word to store the tab seperator
-    HBufC* listItem = HBufC::NewLC( length + 2 );
-    listItem->Des().Copy( KListItemPrefix() ); 
-    listItem->Des().Append( aWord );
-    return ( listItem );
-    }
-
-
-//Adding new word
-TInt CAknFepPredOwnWordsModel::AddNewWordL( TDesC& aNewWord )
-    {
-    TPtiUserDictionaryEntry udbEntry;
-    udbEntry.SetWord( aNewWord );
-    TInt status = iPtiEngine->AddUserDictionaryEntry( udbEntry );
-    if (KErrNone == status || KErrAlreadyExists == status)
-        {
-        HBufC *listEntry = FormListBoxEntryFromWordLC( aNewWord ); 
-        //If the word already exists, just move focus to it.
-        //If it is a new word, add it to the list box items too.
-        if ( KErrNone == status )
-            {
-            iUDBWords->AppendL( *listEntry );
-            iUDBWords->Sort();
-            }
-        TInt selectedWordIndex(-1);
-        iUDBWords->Find( *listEntry, selectedWordIndex, ECmpNormal );
-        CleanupStack::PopAndDestroy( listEntry );
-        return selectedWordIndex;
-        }
-    else
-        {
-        return KErrGeneral;
-        }
-    }
-
-//Removing existing word
-TInt CAknFepPredOwnWordsModel::RemoveSelectedWordL( TInt aWordIndex )
-    {
-    TPtiUserDictionaryEntry udbEntry;
-    TPtrC word = ( (*iUDBWords)[aWordIndex] ).Mid(1);
-    udbEntry.SetWord( word );
-    if ( KErrNone == iPtiEngine->RemoveEntryFromUserDictionary( udbEntry ) )
-        {
-        iUDBWords->Delete( aWordIndex );
-        return KErrNone;
-        }
-    else
-        {
-        return KErrGeneral;
-        }
-    }
-
-//Only to be called if it is known for sure that at least one item is marked/selected
-TInt CAknFepPredOwnWordsModel::RemoveSelectedWordsL( const CArrayFix<TInt>* aSelectedItems )
-    {
-    TPtiUserDictionaryEntry udbEntry;
-    TInt numOfSelections = aSelectedItems->Count();
-    /*TKeyArrayFix actNumKey(0,ECmpTInt);
-    aSelectedItems->Sort( actNumKey );
-    */
-    //loop backwards so we don't disturb the indices after deletion
-    for (TInt i(numOfSelections-1); i >= 0 ; --i )
-        {
-        TInt selectedItem = aSelectedItems->At(i);
-        TPtrC word = ( (*iUDBWords)[selectedItem] ).Mid(1);
-        udbEntry.SetWord( word );
-        if ( KErrNone == iPtiEngine->RemoveEntryFromUserDictionary( udbEntry ) )
-            {
-            iUDBWords->Delete( selectedItem );
-            }
-        else
-            {
-            return KErrGeneral;
-            }
-        }
-    
-    return KErrNone;
-    }
-
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepPredictiveSettingData.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
-* 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:          
-*
-*/
-
-
-
-
-
-
-
-
-
-
-/*
- * ============================================================================
- *  Name     : CAknFepPredictiveSettingData from AknFepPredictiveSettingData 
- * ============================================================================
- */
-
-#include "AknFepPredictiveSettingData.h"
-
-CAknFepPredictiveSettingData *CAknFepPredictiveSettingData::NewL()
-	{
-	CAknFepPredictiveSettingData *self = CAknFepPredictiveSettingData::NewLC();
-	CleanupStack::Pop(self);
-	return self;
-	}
-
-CAknFepPredictiveSettingData *CAknFepPredictiveSettingData::NewLC()
-	{
-	CAknFepPredictiveSettingData *self = new (ELeave) CAknFepPredictiveSettingData();
-	CleanupStack::PushL(self);
-	return self;
-	}
-
-CAknFepPredictiveSettingData::~CAknFepPredictiveSettingData()
-	{
-	}
-
-CAknFepPredictiveSettingData::CAknFepPredictiveSettingData()
-	{
-	}
-
-
-
-void CAknFepPredictiveSettingData::LoadL(TInt aAutoWordCompl,
-										 TInt aTypingCorrection,
-										 TInt aNumberCandidates,
-										 TInt aPrimaryCandidate,
-										 TInt aPhysicalKeyboards,
-										 TInt aAWCBitmask)
-    {
-    iAutoWordCompl = aAutoWordCompl;
-    iTypingCorrection = aTypingCorrection;
-    iNumberCandidates = aNumberCandidates;
-    iPrimaryCandidate = aPrimaryCandidate;
-    iPhysicalKeyboards = aPhysicalKeyboards;
-    iAWCBitmask = aAWCBitmask;
-    }
-    
-void CAknFepPredictiveSettingData::SaveL() const
-    {
-    }
-//EOF
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepPredictiveSettingDialog.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,798 +0,0 @@
-/*
-* 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:          
-*
-*/
-
-
-
-
-
-
-
-
-
-
-/*
- * ============================================================================
- *  Name     : CAknFepPredictiveSettingList from AknFepPredictiveSettingList 
- * ============================================================================
- */
-#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
-#include <uikon/eikctrlstatus.h>
-#endif
-#include <centralrepository.h>
-#include <AknQueryDialog.h>
-#include <AknFepInternalCRKeys.h>
-#include <PtiDefs.h>
-#include <e32property.h>
-#include <AvkonInternalCRKeys.h>
-#include <AknFepGlobalEnums.h>
-#include "AknFepPredictiveSettingDialog.h"
-#include <aknnotewrappers.h>
-#include <aknfep.rsg>
-#include <hlplch.h>
-//#include <csxhelp/cp.hlp.hrh> 
-#include <akntitle.h> //CAknTitlePane
-#include <StringLoader.h>
-#include <aknnavide.h>
-
-_LIT(KFEPIMPLPREDINPUT_HLP_INPUT, "PREDINPUT_HLP_INPUT"); // 
-
-CAknFepPredictiveSettingDialog *CAknFepPredictiveSettingDialog::NewL(TInt aMenuResId, TInt aConfirmationQueryResId, TInt aTitlePaneResId)
-	{
-	CAknFepPredictiveSettingDialog* self = CAknFepPredictiveSettingDialog::NewLC(aMenuResId, aConfirmationQueryResId, aTitlePaneResId);		
-	CleanupStack::Pop(self);
-	return self;
-	}
-
-CAknFepPredictiveSettingDialog *CAknFepPredictiveSettingDialog::NewLC(TInt aMenuResId, TInt aConfirmationQueryResId, TInt aTitlePaneResId)
-	{
-	CAknFepPredictiveSettingDialog* self = new (ELeave) CAknFepPredictiveSettingDialog(aConfirmationQueryResId, aTitlePaneResId);
-	CleanupStack::PushL(self);
-	self->ConstructL(aMenuResId);
-    return self;
-	}
-
-void CAknFepPredictiveSettingDialog::ConstructL( TInt aMenuTitleResourceId )
-	{
-	CAknDialog::ConstructL(aMenuTitleResourceId);
-	PrepareStatusPaneL();
-	iItemCloseEventCheck = CIdle::NewL(CActive::EPriorityStandard);
-	}
-
-CAknFepPredictiveSettingDialog ::CAknFepPredictiveSettingDialog(TInt aConfirmationQueryResId, TInt aTitlePaneResId):
-	iConfirmationQueryResId(aConfirmationQueryResId),
-	iPredictiveSettingOffQueryNotShown(ETrue),
-	iTitlePane(NULL),
-	iNaviPane(NULL),
-	iNaviDecoratedTabGroup(NULL),
-	iLastTitle(NULL),
-	iStatusTitle(NULL),
-	iTitlePaneResId(aTitlePaneResId),
-	iSettingItemInEditingState(EFalse)
-	{
-#ifdef __ITI_VIRTUAL_TOUCH_FIRST_GENERATION_SUPPORT__
-	RProperty::Get(KCRUidAvkon, KAknKeyBoardLayout, iOriginalKeyboardLayout);
-#endif //__ITI_VIRTUAL_TOUCH_FIRST_GENERATION_SUPPORT__
-	}
-	
-CAknFepPredictiveSettingDialog::~CAknFepPredictiveSettingDialog()
-	{
-	TRAP_IGNORE(RestoreStatusPaneL());
-	delete iSettingsData;
-
-	delete iItemCloseEventCheck;
-	iItemCloseEventCheck = NULL;
-	if (iAknFepRepository)
-		delete iAknFepRepository;
-	
-	delete iLastTitle;
-	delete iStatusTitle;
-	}
-
-
-SEikControlInfo CAknFepPredictiveSettingDialog::CreateCustomControlL(TInt /*aControlType*/)
-{
-	
-	// construct the data object the settings list will use
-	iSettingsData = CAknFepPredictiveSettingData::NewL();
-	iAknFepRepository = CRepository::NewL(KCRUidAknFep);	
-	ReadSettingsDataL();
-		
-	iSettingsList = CAknFepPredictiveSettingList::NewL(*iSettingsData, *this);
-	
-	SEikControlInfo controlInfo;
-	controlInfo.iFlags = EEikControlHasEars;
-	controlInfo.iTrailerTextId = 0;
-	controlInfo.iControl = iSettingsList;
-	STATIC_CAST(CAknFepPredictiveSettingList*, controlInfo.iControl)->SetContainerWindowL(*this);
-	
-	return controlInfo;
-}
-
-
-CAknFepPredictiveSettingDialog::TFormControlTypes CAknFepPredictiveSettingDialog::ConvertCustomControlTypeToBaseControlType(TInt /*aControlType*/) const
-{
-	return EPopfieldDerived;
-}
-
-
-TBool CAknFepPredictiveSettingDialog::OkToExitL(TInt aButtonId)
-{
-	TBool retValue = EFalse;
-	switch(aButtonId)
-	{
-	case EAknSoftkeyBack:
-		iSettingsList->StoreSettingsL();
-		SaveSettingsDataL();
-		retValue = ETrue;
-		break;
-	
-	case EAknSoftkeyOptions:
-		DisplayMenuL();
-		break;
-	
-	case EAknSoftkeyChange:
-        EditItemL(EFalse);
-		break;
-	}
-	return retValue;
-}
-
-void CAknFepPredictiveSettingDialog::ProcessCommandL(TInt aCommandId)
-	{
-    if(iSettingItemInEditingState && aCommandId == EAknCmdExit)
-        {
-        // If we are currently editing the settings item then generate a cancel event
-        RWsSession& wsSession = CEikonEnv::Static()->WsSession();
-        TKeyEvent escapeEvent = {EKeyEscape, EStdKeyEscape, 0, 0};
-        TRAP_IGNORE(CEikonEnv::Static()->SimulateKeyEventL(escapeEvent, EEventKey));
-        wsSession.Flush();
-		// After generating cancel event, start the callback function so the settings
-		// page is dismissed.
-        iItemCloseEventCheck->Start( TCallBack(EventCheckCallback, this) );
-        return;
-        }   	
-	
-	// This is TSW eror fixing.
-	// This function is called by dialog framework, whenever menu item is 
-	// selected. we should have to hide existing display menu first to maitain the
-	// control stack .
-	// If user try to stop displaying menu after creating any control
-	// In that situation whenever application goes to background framework remove the
-	// control from the stack when try to remove the menubar from control stack.
-	CAknDialog::ProcessCommandL(aCommandId);
-	
-	switch(aCommandId)
-		{
-		case EAknFepCmdPredSettingChange:
-			EditItemL(ETrue);
-			break;
-		case EAknCmdHelp:
-			{
-				
-            const TInt KArrayGranularity = 3;
-            CArrayFix<TCoeHelpContext>* contexts =
-                    new (ELeave) CArrayFixFlat<TCoeHelpContext>( KArrayGranularity );
-	    	CleanupStack::PushL ( contexts );
-	    	TUid appuid = { 0x100058EC };
-	    	contexts->AppendL( TCoeHelpContext( appuid, KFEPIMPLPREDINPUT_HLP_INPUT ) );
-	    	CleanupStack::Pop( contexts );
-	    	HlpLauncher::LaunchHelpApplicationL( CEikonEnv::Static()->WsSession(), contexts );		
-			}
-			break;
-		case EAknCmdExit:
-			// Save the setting and exit application.
-			iSettingsList->StoreSettingsL();
-			SaveSettingsDataL();
-			// Pass the EAknCmdExit command to Avkon 
-			// Framework 
-			iAvkonAppUi->ProcessCommandL(aCommandId);
-			break;
-		}
-	}
-
-void CAknFepPredictiveSettingDialog::ReadSettingsDataL()
-    {
-    TInt autoWordCompl = 0;
-	TInt typingCorrection = 0;
-	TInt numberCandidates = 0;
-	TInt primaryCandidate = 0;
-	TInt physicalKeyboards = 0;
-    // Read CenRep 
-	if( iAknFepRepository )
-		{
-		iAknFepRepository->Get(KAknFepPredTxtFlagExtension, iPredictiveTextFlag);
-		iAknFepRepository->Get(KAknFepAutoCompleteFlag, autoWordCompl);
-		iAknFepRepository->Get(KAknFepTypingCorrectionLevel, typingCorrection);
-		iAknFepRepository->Get(KAknFepNumberCandidateFlag, numberCandidates);
-		iAknFepRepository->Get(KAknFepPrimaryCandidateFlag, primaryCandidate);
-		iAknFepRepository->Get(KAknFepPhysicalKeyboards, physicalKeyboards);
-		}
-
-    // Parse keyboard dependent settings for current keyboard from bitmask
-	TInt keyboardLayout = 0;
-	RProperty::Get(KCRUidAvkon, KAknKeyBoardLayout, keyboardLayout);
-	TPtiKeyboardType layout = (TPtiKeyboardType)keyboardLayout;
-	TInt autoTmp = autoWordCompl;
-	
-	// This part of code for error fixing:	    
-	// IF ITI is off for QWERTY/ITU-T iPredictiveTextFlag = 0
-	// IF ITI is on for ITU-T 		  iPredictiveTextFlag = 1
-	// IF ITI is on for QWERTY 	  	  iPredictiveTextFlag = 2
-	
-	switch(layout)
-	    {
-	    case EPtiKeyboardNone:
-	        break;
-	  	case EPtiKeyboard12Key:
-	        autoTmp &= EKeyboardStyle12Key;
-	        iPredictiveTextFlag &= EKeyboardStyle12Key;
-	        break;
-	    case EPtiKeyboardHalfQwerty:
-	        autoTmp &= EKeyboardStyleHalfQwerty;
-	        iPredictiveTextFlag &= EKeyboardStyleHalfQwerty;
-	        break;
-	  	case EPtiKeyboardQwerty4x12:
-	  	case EPtiKeyboardQwerty4x10:
-	  	case EPtiKeyboardQwerty3x11:	  	
-	  	case EPtiKeyboardCustomQwerty:
-	        autoTmp &= EKeyboardStyleQwerty;
-	        iPredictiveTextFlag &= EKeyboardStyleQwerty;
-	        break;
-	  	default:
-	  	    break;
-	    }
-	
-	//load setting data
-	iSettingsData->LoadL(( autoTmp ? 1 : 0), typingCorrection, numberCandidates,
-	           primaryCandidate, physicalKeyboards, autoWordCompl);
-   
-    }
-    
-
-void CAknFepPredictiveSettingDialog::SaveSettingsDataL() const
-    {
-    // Read setting data and fill CenRep.
-	if( iAknFepRepository )
-	  	{
-	   	TInt autoFlag = 0;
-	   	iAknFepRepository->Get(KAknFepAutoCompleteFlag, autoFlag);
-	   	TInt predFlag = 0;
-	   	iAknFepRepository->Get(KAknFepPredTxtFlagExtension, predFlag);
-
-	   	// Parse keyboard dependent settings for current keyboard from bitmask
-	   	TInt keyboardLayout = 0;
-	   	RProperty::Get(KCRUidAvkon, KAknKeyBoardLayout, keyboardLayout);
-	   	TPtiKeyboardType layout = (TPtiKeyboardType)keyboardLayout;
-	   	switch(layout)
-	   	    {
-	   	    case EPtiKeyboardNone:
-	   	        break;
-	   	    case EPtiKeyboard12Key:
-	   	        if (iSettingsData->AutoWordCompl())
-	   	            {
-	   	            autoFlag |= EKeyboardStyle12Key;
-	   	            }
-	   	        else
-	   	            {
-	   	            autoFlag &= ~EKeyboardStyle12Key;
-	   	            }
-	   	        break;
-	   	    case EPtiKeyboardHalfQwerty:
-	   	        if (iSettingsData->AutoWordCompl())
-	   	            {
-	   	            autoFlag |= EKeyboardStyleHalfQwerty;
-	   	            }
-	   	        else
-	   	            {
-	   	            autoFlag &= ~EKeyboardStyleHalfQwerty;
-	   	            }
-	   	    case EPtiKeyboardQwerty4x12:
-	   	    case EPtiKeyboardQwerty4x10:
-	   	    case EPtiKeyboardQwerty3x11:
-	   	    
-	   	    case EPtiKeyboardCustomQwerty:
-	   	        if (iSettingsData->AutoWordCompl())
-	   	            {
-	   	            autoFlag |= EKeyboardStyleQwerty;
-	   	            }
-	   	        else
-	   	            {
-	   	            autoFlag &= ~EKeyboardStyleQwerty;
-	   	            }
-	   	        break;
-	   	    default:
-	   	        break;
-	   	    }
-
-	    if(iSettingsList->DeviceHasMultipleKeyboards())
-	        {
-	        iAknFepRepository->Set(KAknFepAutoCompleteFlag, iSettingsData->AWCBitmask());
-	        }
-	    else
-	        {
-	        iAknFepRepository->Set(KAknFepAutoCompleteFlag, autoFlag);            
-	        }
-	    iAknFepRepository->Set(KAknFepTypingCorrectionLevel, iSettingsData->TypingCorrection());
-	    iAknFepRepository->Set(KAknFepNumberCandidateFlag, iSettingsData->NumberCandidates());
-	    iAknFepRepository->Set(KAknFepPrimaryCandidateFlag, iSettingsData->PrimaryCandidate());
-	    }
-    }
-
-void CAknFepPredictiveSettingDialog::SaveCurrentSettingsDataL() const
-    {
-    // Read setting data and fill CenRep.
-   	if(iAknFepRepository)
-      	{
-      	if(EAutoWordCompletion == iSettingsList->ListBox()->CurrentItemIndex())
-      		{
-	   		TInt autoFlag = 0;
-	   		iAknFepRepository->Get(KAknFepAutoCompleteFlag, autoFlag);
-	   		TInt predFlag = 0;
-	   		iAknFepRepository->Get(KAknFepPredTxtFlagExtension, predFlag);
-
-	   		// Parse keyboard dependent settings for current keyboard from bitmask
-	   		TInt keyboardLayout = 0;
-		   	RProperty::Get(KCRUidAvkon, KAknKeyBoardLayout, keyboardLayout);
-		   	TPtiKeyboardType layout = (TPtiKeyboardType)keyboardLayout;
-	   		switch(layout)
-	   	    	{
-		   	    case EPtiKeyboardNone:
-		   	        break;
-	   		    case EPtiKeyboard12Key:
-	   	    	    if (iSettingsData->AutoWordCompl())
-	   	        	    {
-	   	            	autoFlag |= EKeyboardStyle12Key;
-		   	            }
-		   	        else
-	   		            {
-	   	    	        autoFlag &= ~EKeyboardStyle12Key;
-	   	        	    }
-		   	        break;
-		   	    case EPtiKeyboardHalfQwerty:
-	   		        if (iSettingsData->AutoWordCompl())
-	   	    	        {
-	   	        	    autoFlag |= EKeyboardStyleHalfQwerty;
-	   	            	}
-		   	        else
-		   	            {
-	   		            autoFlag &= ~EKeyboardStyleHalfQwerty;
-	   	    	        }
-		   	        break;
-		   	    case EPtiKeyboardQwerty4x12:
-	   		    case EPtiKeyboardQwerty4x10:
-	   	    	case EPtiKeyboardQwerty3x11:
-		   	    case EPtiKeyboardCustomQwerty:
-	   		        if (iSettingsData->AutoWordCompl())
-	   	    	        {
-	   	        	    autoFlag |= EKeyboardStyleQwerty;
-	   	            	}
-		   	        else
-		   	            {
-	   		            autoFlag &= ~EKeyboardStyleQwerty;
-	   	    	        }
-		   	        break;
-		   	    default:
-	   		        break;
-	   	    	}
-
-		    if(iSettingsList->DeviceHasMultipleKeyboards())
-	    	    {
-	        	iAknFepRepository->Set(KAknFepAutoCompleteFlag, iSettingsData->AWCBitmask());
-		        }
-		    else
-	    	    {
-	        	iAknFepRepository->Set(KAknFepAutoCompleteFlag, autoFlag);            
-		        }
-      		}
-        else if(ETypingCorrectionLevel == iSettingsList->ListBox()->CurrentItemIndex())
-        	{
-        	iAknFepRepository->Set(KAknFepTypingCorrectionLevel, iSettingsData->TypingCorrection());
-        	}
-        else if(ENumberCandidate  == iSettingsList->ListBox()->CurrentItemIndex())
-        	{
-        	iAknFepRepository->Set(KAknFepNumberCandidateFlag, iSettingsData->NumberCandidates());	
-        	}
-        else if(EPrimaryCandidate == iSettingsList->ListBox()->CurrentItemIndex())
-        	{
-        	iAknFepRepository->Set(KAknFepPrimaryCandidateFlag, iSettingsData->PrimaryCandidate());	
-        	}
-        }
-    }
-
-
-void CAknFepPredictiveSettingDialog::EditItemL(TBool aCalledFromMenu)
-	{
-	TInt prevSettings = CurrentSettings();
-	
-	// Set the flag as we are currently editing the settings item
-	iSettingItemInEditingState = ETrue;
-
-	iSettingsList->EditCurrentItemL(aCalledFromMenu);
-	if(iSettingItemInEditingState == EFalse)
-	    {
-	    User::Leave(KErrNone);
-	    }
-	LaunchPredictiveSettingOffQueryIfNecessaryL(prevSettings);
-	SaveCurrentSettingsDataL();
-
-	//Reset the flag as the current item edit is over
-	iSettingItemInEditingState = EFalse;	
-	}
-
-void CAknFepPredictiveSettingDialog::LaunchPredictiveSettingOffQueryIfNecessaryL(TInt prevSettings)
-	{
-	if(iPredictiveSettingOffQueryNotShown)
-		{
-   		if(iAknFepRepository)
-   			{
-   			iAknFepRepository->Get(KAknFepPredTxtFlagExtension,iPredictiveTextFlag);
-   			}
-   		TInt keyboardLayout = 0;
-       	RProperty::Get(KCRUidAvkon, KAknKeyBoardLayout, keyboardLayout);
-       	TPtiKeyboardType layout = (TPtiKeyboardType)keyboardLayout;   		
-       	TBool QueryNeeded = EFalse;
-		if(iSettingsList->DeviceHasMultipleKeyboards())
-			{
-			TInt activateITIForKbd = 0;
-       		if(EAutoWordCompletion == iSettingsList->ListBox()->CurrentItemIndex() && 
-       			iSettingsData->AWCBitmask() != prevSettings & 0xF)
-       			{
-       			// if AWC is ON and Prev.Settings of AWC is not ON and ITI is OFF
-       			if((iSettingsData->AWCBitmask() & EKeyboardStyle12Key) && 
-       			   ((prevSettings & 0xF) & EKeyboardStyle12Key)!=1 &&
-       			   (iPredictiveTextFlag & EKeyboardStyle12Key) == 0)
-       				{
-       				QueryNeeded = ETrue;
-       				activateITIForKbd |= EKeyboardStyle12Key ;
-       				if(layout == EPtiKeyboard12Key)
-       					iPredictiveSettingOffQueryNotShown = EFalse;
-       				}
-       			// if AWC is ON and Prev.Settings of AWC is not ON and ITI is OFF		
-       			if((iSettingsData->AWCBitmask() & EKeyboardStyleQwerty) && 
-       			   ((prevSettings & 0xF) & EKeyboardStyleQwerty)!=2 &&
-       			   (iPredictiveTextFlag & EKeyboardStyleQwerty) == 0)
-       				{
-       				QueryNeeded = ETrue;
-       				activateITIForKbd |= EKeyboardStyleQwerty ;
-       				if(layout == EKeyboardStyleQwerty)
-       					iPredictiveSettingOffQueryNotShown = EFalse;
-       				}
-       			if((iSettingsData->AWCBitmask() & EKeyboardStyleHalfQwerty) && 
-       			   ((prevSettings & 0xF) & EKeyboardStyleHalfQwerty)!=4 &&
-       			   (iPredictiveTextFlag & EKeyboardStyleHalfQwerty) == 0)
-       				{
-       				QueryNeeded = ETrue;
-       				activateITIForKbd |= EKeyboardStyleHalfQwerty ;
-       				if(layout == EKeyboardStyleHalfQwerty)
-       					iPredictiveSettingOffQueryNotShown = EFalse;
-       				}
-       			}
-       		// if Prev.Setting of TypingCorrection != Curr.Settng of TypingCorrection and
-       		// Current TypingCorrection != OFF and ITI is OFF	
-       		else if(iSettingsData->iTypingCorrection != ((prevSettings >> 4)&0xF) &&
-					ETypingCorrectionLevel == iSettingsList->ListBox()->CurrentItemIndex() && 
-			        0 != iSettingsData->TypingCorrection() &&
-			        (iPredictiveTextFlag & EKeyboardStyleQwerty) == 0)
-				{
-				QueryNeeded = ETrue;
-				iPredictiveSettingOffQueryNotShown = EFalse;
-				activateITIForKbd |= EKeyboardStyleQwerty ;
-				}
-			// if Prev.Setting of NumberCandidate != Curr.Settng of NumberCandidate and
-       		// Current NumberCandidate is ON and ITI is OFF		
-       		else if(iSettingsData->iNumberCandidates != ((prevSettings >> 8)&0xF) &&
-       				ENumberCandidate == iSettingsList->ListBox()->CurrentItemIndex() && 
-			        1 == iSettingsData->NumberCandidates() &&
-			        (iPredictiveTextFlag & EKeyboardStyleQwerty) == 0)
-       			{
-       			QueryNeeded = ETrue;
-       			iPredictiveSettingOffQueryNotShown = EFalse;
-       			activateITIForKbd |= EKeyboardStyleQwerty ;
-       			}
-			
-			if(QueryNeeded)
-				{
-				CAknQueryDialog* dlg = CAknQueryDialog::NewL();
-				if(dlg->ExecuteLD(iConfirmationQueryResId))
-					{
-				    if(activateITIForKbd & EKeyboardStyle12Key)
-				    	{
-				    	iPredictiveTextFlag |= EKeyboardStyle12Key;
-				    	}
-		       	    	
-		       	    if(activateITIForKbd & EKeyboardStyleQwerty)
-		       	    	{
-		       	    	iPredictiveTextFlag |= EKeyboardStyleQwerty;
-		       	    	}
-						if(activateITIForKbd & EKeyboardStyleHalfQwerty)
-		       	    	{
-		       	    	iPredictiveTextFlag |= EKeyboardStyleHalfQwerty;
-		       	    	} 	
-		       	    }
-				}
-			}
-		else
-			{
-			TInt predFlag = 0;
-			iAknFepRepository->Get(KAknFepPredTxtFlagExtension, predFlag);
-			TInt autoFlag = 0;
-       		iAknFepRepository->Get(KAknFepAutoCompleteFlag, autoFlag);
-
-	       	switch(layout)
-    	   	    {
-       		    case EPtiKeyboardNone:
-       	    	    break;
-       	    	case EPtiKeyboard12Key:
-       	    		autoFlag = ((autoFlag & EPtiKeyboard12Key)!=0);
-	       	    	// if ITI is ON for QWERTY then iPredictiveTextFlag = 2; In that case we have to find out the ITI state for ITU-T
-    	   	        if (!( iPredictiveTextFlag & EKeyboardStyle12Key ))
-       		            {
-       	    	        predFlag |= EKeyboardStyle12Key;
-       	        	    }
-       	    		
-       	    		break;
-       	    	case EPtiKeyboardHalfQwerty:
-       	    		autoFlag = ((autoFlag & EKeyboardStyleHalfQwerty)!=0);
-    	   	        if (!(iPredictiveTextFlag & EKeyboardStyleHalfQwerty ))
-       		            {
-       	    	        predFlag |= EKeyboardStyleHalfQwerty;
-       	            	}
-       	    		break;
-				case EPtiKeyboardQwerty4x12:
-       	    	case EPtiKeyboardQwerty4x10:
-       	    	case EPtiKeyboardQwerty3x11:
-       	    	case EPtiKeyboardCustomQwerty:
-       	    		autoFlag = ((autoFlag & EKeyboardStyleQwerty)!=0);
-	       	    	// if ITI is ON for ITU-T then iPredictiveTextFlag = 1; In that case we have to find out the ITI state for QWERTY
-    	   	        if (!(iPredictiveTextFlag & EKeyboardStyleQwerty ))
-       		            {
-       	    	        predFlag |= EKeyboardStyleQwerty;
-       	            	}
-       	    		break;
-       	    	default:
-       	    		break;
-    	   	    }
-
-			
-			if (predFlag != iPredictiveTextFlag)
-			    {
-			    switch(iSettingsList->ListBox()->CurrentItemIndex())
-			    	{
-			    	case EAutoWordCompletion:
-			    		if(iSettingsData->iAutoWordCompl != autoFlag &&
-			    			1 == iSettingsData->AutoWordCompl())
-			    			{
-			    			QueryNeeded = ETrue;	
-			    			}
-			    		break;
-			    	case ETypingCorrectionLevel:
-			    		if(iSettingsData->iTypingCorrection != ((prevSettings >> 4)&0xF) && 
-			    			0 != iSettingsData->TypingCorrection())
-			    			{
-			    			QueryNeeded = ETrue;
-			    			}
-			    		break;
-			    	case ENumberCandidate:
-			    		if(iSettingsData->iNumberCandidates != ((prevSettings >> 8)&0xF) && 
-			    			0 != iSettingsData->NumberCandidates())
-			    			{
-			    			QueryNeeded = ETrue;
-			    			}
-			    		break;
-			    	}
-				
-				if(QueryNeeded)
-					{
-					CAknQueryDialog* dlg = CAknQueryDialog::NewL();
-					if(dlg->ExecuteLD(iConfirmationQueryResId))
-						iPredictiveTextFlag = predFlag;
-
-					iPredictiveSettingOffQueryNotShown = EFalse;	
-					}
-				}
-			}
-		if(iAknFepRepository && QueryNeeded)
-			{
-			iAknFepRepository->Set(KAknFepPredTxtFlagExtension,iPredictiveTextFlag);
-       		iAknFepRepository->Set(KAknFepPredTxtFlag, iPredictiveTextFlag != 0); // For backwards compatibility							
-			}						
-		}
-	}
-TInt CAknFepPredictiveSettingDialog::CurrentSettings()
-	{
-	TInt settings = 0;
-	//settings are the values of first 16 bits
-	//	settings & 0xF = iAWCBitmask
-	//	(settings >> 4) & 0xF = iNumberCandidates
-	//	(settings >> 8) & 0xF = iTypingCorrection
-	//	(settings >> 12) & 0xF = iPrimaryCandidate
-	settings = (iSettingsData->iPrimaryCandidate << 12) |
-				(iSettingsData->iNumberCandidates << 8) |
-				(iSettingsData->iTypingCorrection << 4) |
-				(iSettingsData->AWCBitmask());
-	return settings;				
-	}
-
-// This part of code for error fixing multiple layout.
-void CAknFepPredictiveSettingDialog::HandleResourceChange(TInt aType)
-	{
-	
-    CAknDialog::HandleResourceChange(aType);
- 
-    // Check for keyboard layout change
-    // If layout is changed, load the setting information based on 
-    // Layout.
-    if(aType==KEikDynamicLayoutVariantSwitch)
-        {
-    
-    	// Read the Predictive setting
-         if(iAknFepRepository)
-        	{
-        	iAknFepRepository->Get(KAknFepPredTxtFlagExtension, iPredictiveTextFlag);
-        	}
-   
-   		// Adjust predictive flag after layout switch
-        TInt keyboardLayout = EPtiKeyboardNone;
-        RProperty::Get(KCRUidAvkon, KAknKeyBoardLayout, keyboardLayout);
-	//settings page not to be retained on change of keyboard layout for Touch Input.
-#ifdef __ITI_VIRTUAL_TOUCH_FIRST_GENERATION_SUPPORT__
-        if (iOriginalKeyboardLayout != keyboardLayout)
-            {
-            if(iSettingItemInEditingState)
-            	{
-            	// If we are currently editing the settings item then generate a cancel event
-            	// and start the scheduler so as to close the settings page 
-            	// when the blocking call completes. 
-            	RWsSession& wsSession = CEikonEnv::Static()->WsSession();
-            	TKeyEvent escapeEvent = {EKeyEscape, EStdKeyEscape, 0, 0};
-            	TRAP_IGNORE(CEikonEnv::Static()->SimulateKeyEventL(escapeEvent, EEventKey));
-            	wsSession.Flush();
-            	iItemCloseEventCheck->Start( TCallBack(EventCheckCallback, this) );
-            	}
-            else
-	            {
-    	        // In case the current settings item is not in editing state then directly 
-    	        // close the settings page.
-            	TRAP_IGNORE(TryExitL(EAknSoftkeyBack));	
-    	        }
-            return;
-            }
-#endif //__ITI_VIRTUAL_TOUCH_FIRST_GENERATION_SUPPORT__
-     	switch(keyboardLayout)
-   	    	{
-	   	    case EPtiKeyboard12Key:
-	   	    	// Dictionary is ON for ITU-T
-	   	    	iPredictiveTextFlag	&= EKeyboardStyle12Key;
-	   	    	break;
-	   	    case EPtiKeyboardQwerty4x12:
-	   	    case EPtiKeyboardQwerty4x10:
-	   	    case EPtiKeyboardQwerty3x11:
-	   	    case EPtiKeyboardHalfQwerty:
-	   	    case EPtiKeyboardCustomQwerty:
-	   	    	// 	// Dictionary is ON for QWERTY
-	   	    	iPredictiveTextFlag &= EKeyboardStyleQwerty;
-	   	    case EPtiKeyboardNone:
-	   	    default:
-	   	        break;
-   	        }
-        TRAP_IGNORE(SetTitlePaneL());
-        }    
-	}
-
-TInt CAknFepPredictiveSettingDialog::EventCheckCallback(TAny* aObj)
-	{
-    TRAP_IGNORE(static_cast<CAknFepPredictiveSettingDialog*>(aObj)->AttemptToExitL());
-    return KErrNone;	
-	}
-	
-void CAknFepPredictiveSettingDialog::AttemptToExitL()
-	{
-	if(iItemCloseEventCheck->IsActive())
-		{
-		iItemCloseEventCheck->Cancel();	
-		}
-	// iSettingItemInEditingState sets before the blocking call of editing item state and 
-	// gets reset after the blocking call.
-    if (!iSettingItemInEditingState)
-    	{
-    	// In case we are here, then we need to close the settings item because of layout change
-    	TRAP_IGNORE(TryExitL(EAknSoftkeyBack));	
-    	}
-    else
-    	{
-    	// Because of priority we hit the scheduler first and then the blocking call gets
-    	// executed. To handle such a scenario, restart the scheduler.
-    	iItemCloseEventCheck->Start( TCallBack(EventCheckCallback, this) );	
-    	}
-	}
-	
-void CAknFepPredictiveSettingDialog::PrepareStatusPaneL()
-    {
-    CCoeEnv* coeEnv = CCoeEnv::Static();
-    CAknAppUi* appUi = static_cast<CAknAppUi*>(coeEnv->AppUi());
-    CEikStatusPane* statusPane = appUi->StatusPane();
-    
-    iTitlePane = static_cast<CAknTitlePane*>( statusPane->ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) );
-    
-    const TDesC* appTitle = iTitlePane->Text();
-    iLastTitle = appTitle->AllocL();
-    CleanupStack::PushL(iLastTitle);
-    
-    iStatusTitle = StringLoader::LoadLC( iTitlePaneResId,coeEnv);
-    SetTitlePaneL();
-    CleanupStack::Pop(iStatusTitle);
-    CleanupStack::Pop(iLastTitle);
-    
-    iNaviPane = static_cast<CAknNavigationControlContainer*>(statusPane->ControlL( TUid::Uid( EEikStatusPaneUidNavi ) ) );
-    
-    if(iNaviPane)
-        {
-        // Create a new tab Groub for Settings Page and push it on the Navigation Pane
-        // This is done so as to avoid previous page Tab Group to be used
-        iNaviDecoratedTabGroup = iNaviPane->CreateTabGroupL();
-        if(iNaviDecoratedTabGroup)
-            {
-            // Tab Group visibility is set to false
-            iNaviDecoratedTabGroup->MakeVisible(EFalse);
-            iNaviPane->PushL(*iNaviDecoratedTabGroup);
-            }
-        } 
-    }
-
-void CAknFepPredictiveSettingDialog::SetTitlePaneL()
-    {
-    iTitlePane->SetTextL( *iStatusTitle );
-    }
-
-void CAknFepPredictiveSettingDialog::RestoreStatusPaneL()
-    {
-    iTitlePane->SetTextL( *iLastTitle );
-    
-    if(iNaviPane && iNaviDecoratedTabGroup)
-        {
-        // Pop the Tab Group created for the Settings page
-        iNaviPane->Pop();
-        delete iNaviDecoratedTabGroup;
-        iNaviDecoratedTabGroup = NULL;
-        }    
-    }
-
-void CAknFepPredictiveSettingDialog::HandlePointerEventL(const TPointerEvent& aPointerEvent)
-    {
-    if ( aPointerEvent.iType == TPointerEvent::EDrag )
-        {
-        iSettingsList->HandlePointerEventL(aPointerEvent);
-        }
-    else
-        {
-        CAknDialog::HandlePointerEventL(aPointerEvent);
-        }
-    }
-
-/**
- *From MEikCommandObserver
- */
-void CAknFepPredictiveSettingDialog::DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane) 
-    {
-    if ( iAvkonAppUi->IsSingleClickCompatible() )
-        {
-        if ( R_PREDICTIVESETTINGDIALOG_MENU == aResourceId )
-            {
-            aMenuPane->SetItemDimmed(EAknFepCmdPredSettingChange, ETrue);
-            }
-        } 
-    }
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepPredictiveSettingList.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,407 +0,0 @@
-/*
-* 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:          
-*
-*/
-
-
-
-
-
-
-
-
-
-
-/*
- * ============================================================================
- *  Name     : CAknFepPredictiveSettingList from AknFepPredictiveSettingList 
- * ============================================================================
- */
-
-#include <barsread.h>
-#include <AvkonInternalCRKeys.h>
-#include <e32property.h>
-#include <PtiDefs.h>
-#include <aknfep.rsg>
-#include <AknFepGlobalEnums.h>
-#include <featmgr.h> 
-
-#include "AknFepPredictiveSettingList.h"
-#include "AknFepPredictiveSettingData.h"
-#include "AknFepPredictiveSettingDialog.h"
-
-CAknFepMultiSelectionSettingItem::CAknFepMultiSelectionSettingItem ( 
-        TInt aResourceId, CAknFepPredictiveSettingData &aData, CCoeEnv* aCoeEnv )
-    : CAknBigSettingItemBase(aResourceId), iData(aData), iCoeEnv(aCoeEnv)
-    {
-    iItutIndex = -1;
-    iQwertyIndex = -1;
-    iHalfQwertyIndex = -1;    
-    }
-
-CAknFepMultiSelectionSettingItem::~CAknFepMultiSelectionSettingItem()
-    {
-    if (iSelection)
-        {
-        iSelection->ResetAndDestroy();
-        }
-    delete iSelection;
-    }
-        
-void CAknFepMultiSelectionSettingItem::EditItemL( TBool /*aCalledFromMenu*/ )
-    {
-    if(!iSelection)
-        {
-        iSelection = CreateSelectionItemListL();
-        }
-    CAknCheckBoxSettingPage* settingPage = 
-        new( ELeave) CAknCheckBoxSettingPage( R_AUTOWORDCOMPLMULTI_PAGE, iSelection);
-
-    SetSettingPage(settingPage);
-    
-    if( settingPage->ExecuteLD(CAknSettingPage::EUpdateWhenAccepted))
-        {
-        StoreL();
-        }
-    else
-        {
-        TInt physicalKeyboards = iData.PhysicalKeyboards();
-        
-        if( iItutIndex > -1 )
-            {
-            TBool selected = iData.AWCBitmask() & EKeyboardStyle12Key ? ETrue : EFalse;
-            iSelection->At(iItutIndex)->SetSelectionStatus( selected );
-            }
-        
-        if( iQwertyIndex > -1  )
-            {
-            TBool selected = iData.AWCBitmask() & EKeyboardStyleQwerty ? ETrue : EFalse;
-            iSelection->At(iQwertyIndex)->SetSelectionStatus( selected );
-            }
-        
-        if( iHalfQwertyIndex > -1 )
-            {
-            TBool selected = iData.AWCBitmask() & EKeyboardStyleHalfQwerty ? ETrue : EFalse;
-            iSelection->At(iHalfQwertyIndex)->SetSelectionStatus( selected );
-            }
-        }
-    SetSettingPage(0);
-    }
-
-void CAknFepMultiSelectionSettingItem::StoreL()
-    {
-    if(iSelection)
-        {
-        if ( iItutIndex > -1 )
-            {
-            if(iSelection->At(iItutIndex)->SelectionStatus())
-                {
-                iData.AWCBitmask() |= EKeyboardStyle12Key;
-                }
-            else
-                {
-                iData.AWCBitmask() &= ~EKeyboardStyle12Key;
-                }
-            }
-        
-        if( iHalfQwertyIndex > -1 )
-            {                   
-            if(iSelection->At(iHalfQwertyIndex)->SelectionStatus())
-                {
-                iData.AWCBitmask() |= EKeyboardStyleHalfQwerty;
-                }
-            else
-                {
-                iData.AWCBitmask() &= ~EKeyboardStyleHalfQwerty;
-                }
-            }
-        if ( iQwertyIndex > -1 )
-            {
-            if(iSelection->At(iQwertyIndex)->SelectionStatus())
-                {
-                iData.AWCBitmask() |= EKeyboardStyleQwerty;
-                }
-            else
-                {
-                iData.AWCBitmask() &= ~EKeyboardStyleQwerty;
-                }
-            }
-        }
-    }
-
-void CAknFepMultiSelectionSettingItem::LoadL()
-    {
-    if(iSelection)
-        {
-        iSelection->ResetAndDestroy();
-        delete iSelection;   
-        iSelection = NULL;
-        }
-    iSelection = CreateSelectionItemListL();
-    }
-
-CSelectionItemList* CAknFepMultiSelectionSettingItem::CreateSelectionItemListL()
-    {
-    iItutIndex = -1;
-    iQwertyIndex = -1;
-    iHalfQwertyIndex = -1;
-    
-    CSelectionItemList* selection = new (ELeave) CSelectionItemList(2);
-    CleanupStack::PushL( selection );
-    
-    TInt physicalKeyboards = iData.PhysicalKeyboards();
-    TInt count = 0;
-    
-    TInt qwertyMask = EPhysicalKeyboardQwerty4x12 | EPhysicalKeyboardQwerty4x10 | 
-                      EPhysicalKeyboardQwerty3x11 | EPhysicalKeyboardCustomQwerty;
-    
-    TBool supportVFSQ = FeatureManager::FeatureSupported( KFeatureIdVirtualFullscrQwertyInput );
-    
-    if ( physicalKeyboards & EPhysicalKeyboard12key ) //itut
-        {
-        TBool active = iData.AWCBitmask() & EKeyboardStyle12Key ? ETrue : EFalse; 
-        HBufC* text = iCoeEnv->AllocReadResourceLC( R_AKNFEP_PRED_SETTING_ITUT );
-        iItutIndex = count++;
-        
-        CSelectableItem* item = new (ELeave) CSelectableItem( *text, active );
-        CleanupStack::PushL( item );
-        item->ConstructL();
-        selection->AppendL( item );
-        CleanupStack::Pop( item );
-        CleanupStack::PopAndDestroy( text );        
-        }
-    
-    if ( ( physicalKeyboards & qwertyMask ) || supportVFSQ ) //4x12,4x10,3x11,custom, FSQ
-        {
-        TBool active = iData.AWCBitmask() & EKeyboardStyleQwerty ? ETrue : EFalse;
-        HBufC* text = iCoeEnv->AllocReadResourceLC( R_AKNFEP_PRED_SETTING_QWERTY );
-        iQwertyIndex = count++;
-
-        CSelectableItem* item = new (ELeave) CSelectableItem( *text, active );
-        CleanupStack::PushL( item );
-        item->ConstructL();
-        selection->AppendL( item );
-        CleanupStack::Pop( item );
-        CleanupStack::PopAndDestroy( text );          
-        }
-  
-    if ( physicalKeyboards & EPhysicalKeyboardHalfQwerty ) //half qwerty
-        {
-        TBool active = iData.AWCBitmask() & EKeyboardStyleHalfQwerty ? ETrue : EFalse; 
-        HBufC* text = iCoeEnv->AllocReadResourceLC( R_AKNFEP_PRED_SETTING_HALF_QWERTY );
-        iHalfQwertyIndex = count++;
-        
-        CSelectableItem* item = new (ELeave) CSelectableItem( *text, active );
-        CleanupStack::PushL( item );
-        item->ConstructL();
-        selection->AppendL( item );
-        CleanupStack::Pop( item );
-        CleanupStack::PopAndDestroy( text );        
-        }
-    
-    CleanupStack::Pop( selection );
-    
-    return selection;
-    }
-
-CAknFepPredictiveSettingList *CAknFepPredictiveSettingList::NewL(CAknFepPredictiveSettingData &aData, CAknFepPredictiveSettingDialog &aDialog)
-	{
-	CAknFepPredictiveSettingList* self = CAknFepPredictiveSettingList::NewLC(aData, aDialog);		
-	CleanupStack::Pop(self);
-	return self;
-	}
-
-CAknFepPredictiveSettingList *CAknFepPredictiveSettingList::NewLC(CAknFepPredictiveSettingData &aData, CAknFepPredictiveSettingDialog &aDialog)
-	{
-	CAknFepPredictiveSettingList* self = new (ELeave) CAknFepPredictiveSettingList(aData, aDialog);
-	CleanupStack::PushL(self);
-	return self;
-	}
-
-CAknFepPredictiveSettingList::CAknFepPredictiveSettingList(CAknFepPredictiveSettingData &aData, CAknFepPredictiveSettingDialog &aDialog) : 
-	CAknSettingItemList(),
-	iSettingsData(aData),
-	iSettingsDialog(aDialog)	
-	{
-	}
-
-CAknFepPredictiveSettingList::~CAknFepPredictiveSettingList()
-	{
-	// no specific destruction code required - no owned data
-	}
-
-
-void CAknFepPredictiveSettingList::SizeChanged()
-    {
-	// if size changes, make sure component takes whole available space
-	CEikFormattedCellListBox *listbox = ListBox();
-
-    if (listbox) 
-        {
-        listbox->SetRect(Rect());
-        }
-    }
-
-void CAknFepPredictiveSettingList::HandleListBoxEventL(CEikListBox* aListBox, TListBoxEvent aEventType)
-	{
-	TBool isSingleClick = iAvkonAppUi->IsSingleClickCompatible();
-	if( aEventType == EEventEnterKeyPressed || aEventType == EEventItemDoubleClicked 
-	      || ( isSingleClick && ( aEventType == EEventItemSingleClicked )))
-		{
-		iSettingsDialog.EditItemL(EFalse);//EditCurrentItemL(EFalse);
-		}
-	else
-	    {
-	    CAknSettingItemList::HandleListBoxEventL( aListBox,aEventType );
-	    }
-	}
-
-void CAknFepPredictiveSettingList::EditCurrentItemL(TBool aCalledFromMenu)
-	{
-	// invoke EditItemL on the current item
-	TInt index = SettingItemArray()->ItemIndexFromVisibleIndex(ListBox()->CurrentItemIndex());
-	
-	EditItemL(index, aCalledFromMenu);	// invoked from menu,or not
-			  
-	StoreSettingsL();
-	}
-
-CAknSettingItem * CAknFepPredictiveSettingList::CreateSettingItemL (TInt aIdentifier) 
-	{
-	// method is used to create specific setting item as required at run-time.
-	// aIdentifier is used to determine what kind of setting item should be 
-	// created
-	CAknSettingItem* settingItem = NULL;
-	TInt keyboardLayout = 0;
-	RProperty::Get(KCRUidAvkon, KAknKeyBoardLayout, keyboardLayout);
-    switch (aIdentifier)
-        {
-        case EAknFepCmdPredAutoComplSetting:
-            settingItem = new (ELeave) CAknBinaryPopupSettingItem (
-                        aIdentifier, iSettingsData.AutoWordCompl());
-            if(DeviceHasMultipleKeyboards())
-                {
-                settingItem->SetHidden(ETrue);
-                }
-            break;
-        case EAknFepCmdPredAutoComplMultiSetting:
-            settingItem = new (ELeave) CAknFepMultiSelectionSettingItem (
-                    aIdentifier, iSettingsData, iCoeEnv ); 
-            if(!DeviceHasMultipleKeyboards())
-                {
-                settingItem->SetHidden(ETrue);
-                }
-            break;
-        case EAknFepCmdPredNumberCandidateSetting:
-            settingItem = new (ELeave) CAknBinaryPopupSettingItem (
-                                            aIdentifier, 
-                                            iSettingsData.NumberCandidates());
-            if(keyboardLayout == EPtiKeyboard12Key || keyboardLayout == EPtiKeyboardHalfQwerty)
-                settingItem->SetHidden(ETrue);
-            break;
-        case EAknFepCmdPredTypingCorrectionSetting:
-            settingItem = new (ELeave) CAknEnumeratedTextPopupSettingItem (
-                                            aIdentifier, 
-                                            iSettingsData.TypingCorrection());
-            // Disabled for ITU-T
-            if(keyboardLayout == EPtiKeyboard12Key || keyboardLayout == EPtiKeyboardHalfQwerty)
-                settingItem->SetHidden(ETrue);
-            break;
-        case EAknFepCmdPredPrimaryCandidateSetting:
-            settingItem = new (ELeave) CAknBinaryPopupSettingItem (
-                                            aIdentifier, 
-                                            iSettingsData.PrimaryCandidate());
-            // Disabled for Half Qwerty and ITU-T
-            if(keyboardLayout == EPtiKeyboardHalfQwerty ||
-                    keyboardLayout == EPtiKeyboard12Key)
-                settingItem->SetHidden(ETrue);
-            break;
-        default:
-            break;
-        }
-
-    return settingItem;
-	}
-
-TBool CAknFepPredictiveSettingList::DeviceHasMultipleKeyboards() 
-    {
-    TInt physicalKeyboards = iSettingsData.PhysicalKeyboards();
-    TBool firstFound = EFalse;
-    for(TUint i = 0x01; i <= 0xF0; i = i << 1)
-        {
-        if(physicalKeyboards & i)
-            {
-            if (firstFound)
-                {
-                return ETrue;
-                }
-            else
-                {
-                firstFound = ETrue;
-                }
-            }
-        }
-    return EFalse;
-    }
-
-void CAknFepPredictiveSettingList::HandleResourceChange(TInt aType)
-    {
-    CAknSettingItemList::HandleResourceChange(aType);
-    // Check for keyboard layout change
-    // If layout is changed, close settings with information note
-    if(aType==KEikDynamicLayoutVariantSwitch)
-        {
-        TInt keyboardLayout = 0;
-        RProperty::Get(KCRUidAvkon, KAknKeyBoardLayout, keyboardLayout);
-        if(keyboardLayout == EPtiKeyboard12Key)
-            {
-#ifndef __ITI_VIRTUAL_TOUCH_FIRST_GENERATION_SUPPORT__
-			// Adding this under the flag would avoid flickering as settings page will be
-			// dismissed if __ITI_VIRTUAL_TOUCH_FIRST_GENERATION_SUPPORT__ is defined
-            // Number candidate
-            SettingItemArray()->At(2)->SetHidden(ETrue);
-            // Typing correction
-            SettingItemArray()->At(3)->SetHidden(ETrue);
-            // Primary Candidate
-            SettingItemArray()->At(4)->SetHidden(ETrue);
-#endif            
-            }
-        else if (keyboardLayout == EPtiKeyboardHalfQwerty)
-            {
-            // Number candidate
-            SettingItemArray()->At(2)->SetHidden(ETrue);
-            // Typing correction
-            SettingItemArray()->At(3)->SetHidden(ETrue);
-            // Primary Candidate
-            SettingItemArray()->At(4)->SetHidden(ETrue);
-            }
-        else
-            {
-            // Number candidate
-            SettingItemArray()->At(2)->SetHidden(EFalse);
-            // Typing correction
-            SettingItemArray()->At(3)->SetHidden(EFalse);
-            // Primary Candidate
-            SettingItemArray()->At(4)->SetHidden(EFalse);            
-            }
-            
-        TRAP_IGNORE(
-        { 								 
-        HandleChangeInItemArrayOrVisibilityL();	
-        });
-        
-        }
-    }
-
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepQuery.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include <aknedsts.h>
-#include "AknFepQuery.h"
-#include <featmgr.h>                //FeatureManager
-
-CAknFepTextQueryDialog::CAknFepTextQueryDialog(TDes& aDataText, CAknEdwinState& aEditorState, 
-    const TTone aTone, const TInt aEditorFlag) :
-    CAknTextQueryDialog(aDataText, aTone),
-    iUnderlyingEditorState(aEditorState),
-    iEditorFlag(aEditorFlag)
-    {
-    }
-
-CAknFepTextQueryDialog::~CAknFepTextQueryDialog()
-    {
-    }
-
-void CAknFepTextQueryDialog::PreLayoutDynInitL()
-    {
-    CAknTextQueryDialog::PreLayoutDynInitL();
-
-    // need to set query editor's case and sct resource based on editor present when this is launched
-    CAknQueryControl* ctrl=STATIC_CAST(CAknQueryControl*, ControlOrNull(EGeneralQuery));
-    CEikEdwin* editor=STATIC_CAST(CEikEdwin*, ctrl->ControlByLayoutOrNull(EDataLayout));
-    if (editor)
-        {
-        if (iEditorFlag)
-	       { 
-	       editor->SetAknEditorFlags(editor->AknEdwinFlags() | iEditorFlag );	     
-	       }
-        TInt currentCase = iUnderlyingEditorState.CurrentCase();
-        if (currentCase != 0)
-            {
-            editor->SetAknEditorCase(iUnderlyingEditorState.CurrentCase());
-            }
-        else
-            {
-            editor->SetAknEditorCase(EAknEditorUpperCase);
-            }
-        if( iUnderlyingEditorState.Flags() & EAknEditorFlagLatinInputModesOnly )
-            {
-            editor->SetAknEditorFlags(editor->AknEdwinFlags() | EAknEditorFlagLatinInputModesOnly);
-            }
-        if (FeatureManager::FeatureSupported(KFeatureIdJapanese))
-            {
-            editor->SetAknEditorFlags(editor->AknEdwinFlags() | EAknEditorFlagLatinInputModesOnly);
-            }
-        TInt underlyingEditorSCTResId=iUnderlyingEditorState.SpecialCharacterTableResourceId();
-        if (FeatureManager::FeatureSupported(KFeatureIdChinese))
-            {
-            if (!underlyingEditorSCTResId || underlyingEditorSCTResId == R_AVKON_SPECIAL_CHARACTER_TABLE_DIALOG)
-                {
-                underlyingEditorSCTResId = R_AVKON_SPECIAL_CHARACTER_TABLE_DIALOG_CHINESE;
-                }
-            }
-        else if (!underlyingEditorSCTResId)
-            {
-            underlyingEditorSCTResId = R_AVKON_SPECIAL_CHARACTER_TABLE_DIALOG;
-            }
-        editor->SetAknEditorSpecialCharacterTable(underlyingEditorSCTResId);
-        }
-    }
-
-// End of File
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlCandidatePane.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1172 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the CAknFepUICtrlCandidatePane methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
-#include <uikon/eikdefmacros.h>
-#endif
-#include <eiklabel.h>
-#include <AknsDrawUtils.h>
-#include <AknBidiTextUtils.h> 
-#include <AknsUtils.h>
-#include <AknIconUtils.h>
-
-#include <aknfepuictrls.mbg>
-#include "AknFepUiInterfacePanic.h"
-#include "AknFepUIAvkonCtrlCandidatePane.h"
-#include "AknFepUIAvkonCtrlCandidateSelected.h"
-#include "aknfepchineseuidataconv.h"
-#include "aknfepuilayoutdatamgr.h"
-
-
-#include "data_caging_path_literals.hrh"
-
-const TInt CandidateCountLeft = 10;
-
-_LIT(KFepUiControlsBitmapFile, "aknfepuictrls.mbm");
-
-CAknFepUICtrlCandidatePane* CAknFepUICtrlCandidatePane::NewL(RWindow& aParent, CAknFepUiLayoutDataMgr* aLafDataMgr)
-    {
-    CAknFepUICtrlCandidatePane* self = new(ELeave) CAknFepUICtrlCandidatePane( aLafDataMgr );
-    CleanupStack::PushL(self);
-    self->ConstructL(aParent);
-    CleanupStack::Pop();
-    return self;
-    }
-
-CAknFepUICtrlCandidatePane::~CAknFepUICtrlCandidatePane()
-    {
-    delete iCandidateSelected;
-    delete iNaviArrowBitmapLeft;
-    delete iNaviArrowBitmapLeftMask;
-    delete iNaviArrowBitmapRight;
-    delete iNaviArrowBitmapRightMask;
-    delete iNaviArrowBitmapUp;
-    delete iNaviArrowBitmapUpMask;
-    delete iNaviArrowBitmapDown;
-    delete iNaviArrowBitmapDownMask;
-    if(iCandidateArray)
-    	{
-    	iCandidateArray->Reset();
-		delete iCandidateArray;
-    	}
-    iCandidateLabelArray.ResetAndDestroy();
-    iOrdinalLabelArray.ResetAndDestroy();
-    iCandidateModeArray.Reset();
-    iPages.Reset();
-    }
-
-const TDesC& CAknFepUICtrlCandidatePane::TextBuffer() const
-    {
-    return iBuffer;
-    }
-
-void CAknFepUICtrlCandidatePane::SetCandidateBuffer(const TDesC& aBuffer)
-    {
-    TInt newLength = aBuffer.Length();
-    TInt oldLength = iBuffer.Length();
-    if(newLength > EMaxCandidates)
-        {
-        newLength = EMaxCandidates;
-        }
-    if(newLength - 1 < iSelected)
-        {
-        // as far as the client is concerned, they have removed the character that was selected
-        // therefore we must now hide the selected candidate, although the highlighting
-        // state remains unchanged
-        iCandidateSelected->MakeVisible(EFalse);
-        }
-    else
-        {
-        if(iHighlighted)
-            {
-            // make sure that the candidate is visible, as the selection is now
-            // within a visible range (it might have been hidden last time
-            // the buffer was set)
-            iCandidateSelected->MakeVisible(ETrue);
-            }
-        }
-
-    TPtrC newText = aBuffer.Left(newLength);
-    TPtr ptr = iBuffer.Des();
-    if(ptr != newText)
-        {
-        for(TInt i = 0; i < newLength; i++)
-            {
-            TBool valueChanged = ETrue;
-            TPtrC newChar = aBuffer.Mid(i, EOneCandidate);
-            if(i < oldLength)
-                {
-                TPtrC oldChar = iBuffer.Mid(i, EOneCandidate);
-                if(newChar == oldChar)
-                    {
-                    valueChanged = EFalse;
-                    }
-                }
-            // only update and redraw label background if the value has changed
-            if(valueChanged)
-                {
-                // we have already allocated enough memory for this
-                CEikLabel* candidateLabel = iCandidateLabelArray[i];
-                TRAP_IGNORE(candidateLabel->SetTextL(newChar));
-
-                // need to update the character if it is in the current selected candidate
-                if(i == iSelected)
-                    {
-                    iCandidateSelected->SetText(newChar);
-                    iCandidateSelected->SetOrdinal(i + 1);
-                    DrawDeferred();
-                    }
-                if(i < iVisibleCount)
-                    {
-                    // only redraw characters that are visible
-                    TRect rect = candidateLabel->Rect();
-                    Window().Invalidate(rect);
-                    }
-                }
-            }
-        ptr.Copy(newText);
-        LayoutLabels();
-        LayoutCandidateSelected();
-        iVisibleCount = newLength;
-        UpdateLabelVisibility();
-        }
-    }
-
-CDesCArrayFlat* CAknFepUICtrlCandidatePane::CandidateArray(void)
-    {
-    return iCandidateArray;
-    }
-
-void CAknFepUICtrlCandidatePane::SetCandidateBuffer(void)
-    {
-    if(iPages.Count() == 0)
-        {
-        return;
-        }
-    TPage curPage = iPages[iCurDisplayPage];
-    iVisibleCount = curPage.iEndIndex - curPage.iStartIndex + 1;
-
-    if(iVisibleCount - 1 < iSelected)
-        {
-        iCandidateSelected->MakeVisible(EFalse);
-        }
-    else
-        {
-        if(iHighlighted)
-            {
-            iCandidateSelected->MakeVisible(ETrue);
-            }
-        }
-
-    TBufC<EPhraseLength> buf;
-    TPtr newText = buf.Des();
-
-    for(TInt i = 0; i < iVisibleCount; i ++)
-        {
-        CEikLabel* candidateLabel = iCandidateLabelArray[i];
-        const TDesC* txtLabel = candidateLabel->Text();
-        newText = (*iCandidateArray)[curPage.iStartIndex + i];
-
-        if((txtLabel->Compare(newText) != 0) )
-            {
-            // we have already allocated enough memory for this
-            TRAP_IGNORE( candidateLabel->SetTextL(newText));
-            }
-            
-            // need to update the character if it is in the current selected candidate
-            if(i == iSelected)
-                {
-                iCandidateSelected->SetText(newText);
-                iCandidateSelected->SetOrdinal(i + 1);
-                DrawDeferred();
-                }
-            if(i < iVisibleCount)
-                {
-                // only redraw labels that are visible
-                TRect rect = candidateLabel->Rect();
-                Window().Invalidate(rect);
-            }
-        }
-    LayoutLabels();
-    LayoutCandidateSelected();
-    DrawDeferred();
-    UpdateLabelVisibility();
-    }
-
-void CAknFepUICtrlCandidatePane::SetHighlighted(TBool aHighlighted)
-    {
-    if(!COMPARE_BOOLS(iHighlighted, aHighlighted))
-        {
-        iHighlighted = aHighlighted;
-        iCandidateSelected->MakeVisible(aHighlighted);
-
-        iCandidateSelected->DrawDeferred();
-        }
-    }
-
-TBool CAknFepUICtrlCandidatePane::Highlighted() const
-    {
-    return iHighlighted;
-    }
-
-void CAknFepUICtrlCandidatePane::SetCandidateMode(TInt aIndex, TCandidateMode aMode)
-    {
-    __ASSERT_DEBUG(aIndex < EMaxCandidates, AknFepUiInterfacePanic(EAknFepUiInterfacePanicAttemptedSetModeOutsideMaxCandidates));
-    __ASSERT_DEBUG(aIndex >= 0, AknFepUiInterfacePanic(EAknFepUiInterfacePanicAttemptedSetModeOutsideMaxCandidates));
-
-    TCandidateMode oldMode = iCandidateModeArray[aIndex];
-    if(oldMode != aMode)
-        {
-        iCandidateModeArray[aIndex] = aMode;
-        if(iSelected == aIndex)
-            {
-            LayoutCandidateSelected();
-            }
-        // only do drawing if visible
-        if(aIndex < iVisibleCount)
-            {
-            LayoutLabel(aIndex);
-            if(iSelected == aIndex && iHighlighted)
-                {
-                iCandidateSelected->DrawDeferred();
-                }
-            else
-                {
-                CEikLabel* candidateLabel = iCandidateLabelArray[aIndex];
-                TRect rect = candidateLabel->Rect();
-                Window().Invalidate(rect);
-                }
-            }
-        }
-    }
-
-CAknFepUICtrlCandidatePane::TCandidateMode CAknFepUICtrlCandidatePane::CandidateMode(TInt aIndex)
-    {
-    return iCandidateModeArray[aIndex];
-    }
-
-TBool CAknFepUICtrlCandidatePane::IsShowHorizontalScrollArrows() const
-    {
-    return EFalse;
-    }
-
-void CAknFepUICtrlCandidatePane::ShowHorizontalScrollArrows(TBool /*aValue*/)
-    {
-    // If the state is changed, the arrows will be redrawn in the new state.
-    //    if(!COMPARE_BOOLS(iShowHorizontalScrollArrows, aValue))
-    //        {
-    //        iShowHorizontalScrollArrows = aValue;
-    //        TRect rect = iIndiFepArrowLeft.Rect();
-    //        Window().Invalidate(rect);
-    //        rect = iIndiFepArrowRight.Rect();
-    //        Window().Invalidate(rect);
-    //        }
-    }
-
-void CAknFepUICtrlCandidatePane::ShowUpScrollArrows(TBool aValue)
-    {
-    if (iShowUpScrollArrows != aValue)
-        {
-        iShowUpScrollArrows = aValue;
-        TRect rect = iIndiFepArrowUp.Rect();
-        Window().Invalidate(rect);
-        }
-    }
-    
-void CAknFepUICtrlCandidatePane::ShowDownScrollArrows(TBool aValue)
-    {
-    if (iShowDownScrollArrows != aValue)
-        {
-        iShowDownScrollArrows = aValue;
-        TRect rect = iIndiFepArrowDown.Rect();
-        Window().Invalidate(rect);
-        }
-        
-    }
-    
-void CAknFepUICtrlCandidatePane::ShowLeftScrollArrows(TBool /*aValue*/)
-    {
-    //    if (iShowLeftScrollArrows != aValue)
-    //        {
-    //        iShowLeftScrollArrows = aValue;
-    //        TRect rect = iIndiFepArrowLeft.Rect();
-    //        Window().Invalidate(rect);
-    //        }
-    }
-        
-void CAknFepUICtrlCandidatePane::ShowRightScrollArrows(TBool /*aValue*/)
-    {
-    //    if (iShowRightScrollArrows != aValue)
-    //        {
-    //        iShowRightScrollArrows = aValue;
-    //        TRect rect = iIndiFepArrowRight.Rect();
-    //        Window().Invalidate(rect);
-    //        }
-    }
-
-TBool CAknFepUICtrlCandidatePane::IsShowVerticalScrollArrows() const
-    {
-    return iShowVerticalScrollArrows;
-    }
-
-void CAknFepUICtrlCandidatePane::ShowVerticalScrollArrows(TBool aValue)
-    {
-    // If the state is changed, the arrows will be redrawn in the new state.
-    if(!COMPARE_BOOLS(iShowVerticalScrollArrows, aValue))
-        {
-        iShowVerticalScrollArrows = aValue;
-        TRect rect = iIndiFepArrowUp.Rect();
-        Window().Invalidate(rect);
-        rect = iIndiFepArrowDown.Rect();
-        Window().Invalidate(rect);
-        }
-    }
-
-void CAknFepUICtrlCandidatePane::ShowCandidateOrdinals(TBool aValue)
-    {
-    if(!COMPARE_BOOLS(iShowCandidateOrdinals, aValue))
-        {
-        iShowCandidateOrdinals = aValue;
-        iCandidateSelected->ShowOrdinal(aValue);
-        UpdateLabelVisibility();
-        }
-    }
-
-TBool CAknFepUICtrlCandidatePane::IsShowCandidateOrdinals() const
-    {
-    return iShowCandidateOrdinals;
-    }
-
-TInt CAknFepUICtrlCandidatePane::VisibleCandidateCount() const
-    {
-    return iVisibleCount;
-    }
-
-void CAknFepUICtrlCandidatePane::SetVisibleCandidateCount(TInt aCount)
-    {
-    __ASSERT_DEBUG(aCount > 0, AknFepUiInterfacePanic(EAknFepUiInterfacePanicNewVisibleCountExceedsRange));
-    __ASSERT_DEBUG(aCount <= EMaxCandidates, AknFepUiInterfacePanic(EAknFepUiInterfacePanicNewVisibleCountExceedsRange));
-    if(iVisibleCount != aCount)
-        {
-        if(aCount - 1 < iSelected)
-            {
-            // automatically move the selection to be at the end of the new
-            // candidate buffer
-            SelectIndex(aCount - 1); // ignore return code
-            }
-        iVisibleCount = aCount;
-        UpdateLabelVisibility();
-        }
-    }
-
-TBool CAknFepUICtrlCandidatePane::SelectFirstPhrase()
-    {
-    if(iVisibleCount >= 1)
-        {
-        return SelectIndex(0,EFalse);
-        }
-    else
-        {
-        return EFalse;
-        }
-    }
-
-TBool CAknFepUICtrlCandidatePane::SelectFirst()
-    {
-    if(iBuffer.Length())
-        {
-        return SelectIndex(0);
-        }
-    else
-        {
-        return EFalse;
-        }
-    }
-
-TBool CAknFepUICtrlCandidatePane::SelectLastPhrase()
-    {
-    if(iVisibleCount > 1)
-        {
-        return SelectIndex(iVisibleCount - 1);
-        }
-    else
-        {
-        return EFalse;
-        }
-    }
-
-TBool CAknFepUICtrlCandidatePane::SelectLast()
-    {
-    TInt length = iBuffer.Length();
-    if(length)
-        {
-        TInt index = length < iVisibleCount ? length : iVisibleCount;
-        return SelectIndex(index - 1);
-        }
-    else
-        {
-        return EFalse;
-        }
-    }
-
-TBool CAknFepUICtrlCandidatePane::SelectNext()
-    {
-    if(iSelected < iVisibleCount - 1)
-        {
-        return SelectIndex(iSelected + 1);
-        }
-    else
-        {
-        return EFalse;
-        }
-    }
-
-TBool CAknFepUICtrlCandidatePane::SelectPrev()
-    {
-    if(iSelected > 0)
-        {
-        return SelectIndex(iSelected - 1);
-        }
-    else
-        {
-        return EFalse;
-        }
-    }
-
-TBool CAknFepUICtrlCandidatePane::SelectIndex(TInt aIndex, TBool selected)
-    {
-    if(aIndex + 1 > iVisibleCount || aIndex < 0)
-        {
-        return EFalse;
-        }
-    if(iSelected != aIndex)
-        {
-        if(iSelected + 1 > iVisibleCount && iHighlighted)
-            {
-            // candidate selection is currently hidden, as the current 
-            // selection is outside the range of valid candidates, therefore 
-            // show it again
-            iCandidateSelected->MakeVisible(ETrue);
-            }
-        iSelected = aIndex;
-        // move and repopulate the selected candidate control
-        const TDesC* txtLabel = iCandidateLabelArray[aIndex]->Text();
-        iCandidateSelected->SetText(*txtLabel);
-        iCandidateSelected->SetOrdinal(iSelected + 1);
-        
-        LayoutCandidateSelected();
-        if( selected )
-           {
-
-           DrawDeferred();
-           }
-        
-		}
-    return ETrue;
-    }
-
-TInt CAknFepUICtrlCandidatePane::SelectedIndex() const
-    {
-    return iSelected;
-    }
-
-TPtrC CAknFepUICtrlCandidatePane::CurrentPhraseCandidate() const
-    {
-    __ASSERT_DEBUG(iSelected >= 0, AknFepUiInterfacePanic(EAknFepUiInterfacePanicCurrentSelectionOutsideVisibleCandidates));
-    if(iVisibleCount > iSelected)
-        {
-        return *(iCandidateLabelArray[iSelected]->Text());
-        }
-    else
-        {
-        return TPtrC();
-        }
-    }
-
-TPtrC CAknFepUICtrlCandidatePane::CurrentCandidate() const
-    {
-    __ASSERT_DEBUG(iSelected >= 0, AknFepUiInterfacePanic(EAknFepUiInterfacePanicCurrentSelectionOutsideVisibleCandidates));
-    if(iBuffer.Length() > iSelected)
-        {
-        return iBuffer.Mid(iSelected, EOneCandidate);
-        }
-    else
-        {
-        return TPtrC();
-        }
-    }
-
-TInt CAknFepUICtrlCandidatePane::LabelTextWidthInPixels( TInt aIndex)
-    {
-    TAknLayoutText layoutText;
-    TAknTextLineLayout candidatePaneLayoutText = 
-        CAknFepChineseUIDataConv::AnyToTextLine(iLafDataMgr->RequestData( ECandidatePaneTextLine ));
-       
-    layoutText.LayoutText(Rect(), candidatePaneLayoutText);
-
-    const CFont* font = layoutText.Font();
-
-    TInt labelWidthInPixels = 0;
-    if(font)
-        {
-        const TDesC* txtLabel = iCandidateLabelArray[aIndex]->Text();
-        if(txtLabel->Length() != 0)
-            {
-            labelWidthInPixels = font->TextWidthInPixels(*txtLabel);
-            }
-        }
-    return labelWidthInPixels;
-    }
-void CAknFepUICtrlCandidatePane::SetPaneLayout(CAknFepUICtrlContainerChinese::TPaneLayout aPaneLayout)
-    {
-    iPaneLayout = aPaneLayout;
-    }
-    
-void CAknFepUICtrlCandidatePane::SplitPhraseCandidatesIntoPages()
-    {
-    iPages.Reset();
-    iUnpagedIndex = 0;
-    
-    InternalSpilitPhraseCandidate();
-    
-    if( iPages.Count() == 0 )
-        {
-        iVisibleCount = 0;
-        }
-    else
-        {
-        iCurDisplayPage = 0;
-        SetVisibleCandidateCount(iPages[0].iEndIndex - iPages[0].iStartIndex + 1);
-        }
-    }
-    
-void CAknFepUICtrlCandidatePane::NextCandidatePage(void)
-    {
-    if(iCurDisplayPage == (iPages.Count() - 1))
-        {
-        if( iUnpagedIndex < iCandidateArray->Count() )
-            {
-            //continue page
-            InternalSpilitPhraseCandidate();
-            iCurDisplayPage++;
-            }
-        else
-            {
-            iCurDisplayPage = 0;
-            }
-        }
-    else
-        {
-        iCurDisplayPage ++;
-        }
-    // For fix bug of when the count of character in the last page is less than
-    // the previous page of the last page. And then select the last character of 
-    // the previous page of the last page, and select next page. First of the last 
-    // page is not refreshed.
-    iSelected = 0;
-    }
-
-void CAknFepUICtrlCandidatePane::PreviousCandidatePage(void)
-    {
-    if(iCurDisplayPage == 0)
-        {
-        iCurDisplayPage = iPages.Count() - 1;
-        }
-    else
-        {
-        iCurDisplayPage --;
-        }
-    }
-
-void CAknFepUICtrlCandidatePane::SizeChanged()
-    {
-    LayoutRects();
-    LayoutContainedControls();
-    }
-
-TInt CAknFepUICtrlCandidatePane::CountComponentControls() const
-    {
-    TInt count = 0;
-    count += iCandidateLabelArray.Count();
-    count += iOrdinalLabelArray.Count();
-
-    CCoeControl* controls[] =
-        {
-        iCandidateSelected
-        } ;
-
-    for (TUint ii = 0 ; ii < (sizeof(controls) / sizeof(CCoeControl*)) ; ii++)
-        {
-        if(controls[ii])
-            {
-            count++ ;
-            }   
-        }
-    return count ;
-    }
-
-CCoeControl* CAknFepUICtrlCandidatePane::ComponentControl(TInt aIndex) const
-    {
-    TInt candidateCount = iCandidateLabelArray.Count();
-    TInt ordinalCount = iOrdinalLabelArray.Count();
-
-    if(aIndex < candidateCount)
-        {
-        // because this method is const, the const [] operator is selected
-        // which means that the pointer is const, so have to cast away constness
-        // - a possible alternative is to make the array mutable?
-        return CONST_CAST(CEikLabel*, iCandidateLabelArray[aIndex]);
-        }
-    aIndex -= candidateCount;
-
-    if(aIndex < ordinalCount)
-        {
-        // because this method is const, the const [] operator is selected
-        // which means that the pointer is const, so have to cast away constness
-        // - a possible alternative is to make the array mutable?
-        return CONST_CAST(CEikLabel*, iOrdinalLabelArray[aIndex]);
-        }
-    aIndex -= ordinalCount;
-
-    CCoeControl* controls[] =
-        {
-        iCandidateSelected
-        } ;
-
-    for (TUint ii = 0; (ii < sizeof(controls) / sizeof(CCoeControl*)) ; ii++)
-        {
-        if (controls[ii] && aIndex-- == 0)
-            {
-            return controls[ii] ;
-            }
-        }
-    // shouldn't be called while no components.
-    return NULL ;
-    }
-
-void CAknFepUICtrlCandidatePane::Draw(const TRect& /* aRect */) const
-    {
-    CWindowGc& gc = SystemGc();
-
-    if(iShowHorizontalScrollArrows)
-        {
-        if (iShowLeftScrollArrows)
-            {
-            iIndiFepArrowLeft.DrawImage(gc, 
-                                        iNaviArrowBitmapLeft, 
-                                        iNaviArrowBitmapLeftMask);     
-            }
-        
-        if (iShowRightScrollArrows)
-            {
-            iIndiFepArrowRight.DrawImage(gc, 
-                                         iNaviArrowBitmapRight, 
-                                         iNaviArrowBitmapRightMask);
-            }
-        }
-    if(iShowVerticalScrollArrows)
-        {
-        if (iShowUpScrollArrows)
-            {
-            iIndiFepArrowUp.DrawImage(gc,
-                                      iNaviArrowBitmapUp, 
-                                      iNaviArrowBitmapUpMask);
-            }
-            
-        if (iShowDownScrollArrows)
-            {
-            iIndiFepArrowDown.DrawImage(gc, 
-                                        iNaviArrowBitmapDown, 
-                                        iNaviArrowBitmapDownMask);
-            }
-        }
-    }
-
-void CAknFepUICtrlCandidatePane::ConstructL(RWindow& aParent)
-    {
-    SetContainerWindowL(aParent);
-    ConstructBitmapsL();
-
-    TBuf<EOneCandidate> ordinal;
-    for(TInt i = 0; i < EMaxCandidates; i++)
-        {
-        CEikLabel* candidateLabel = new(ELeave) CEikLabel;
-        CleanupStack::PushL(candidateLabel);
-        candidateLabel->SetContainerWindowL(aParent);
-        candidateLabel->SetBufferReserveLengthL(EPhraseLength);
-        // ownership is passed, unless allocation is unsuccessful, in which case we still have it on the stack
-        User::LeaveIfError(iCandidateLabelArray.Append(candidateLabel));
-        CleanupStack::Pop(); // candidateLabel
-
-        CEikLabel* ordinalLabel = new(ELeave) CEikLabel;
-        CleanupStack::PushL(ordinalLabel);
-        ordinalLabel->SetContainerWindowL(aParent);
-        ordinalLabel->SetBufferReserveLengthL(EOneCandidate);
-        ordinal.Num((i+1)%10); // digits are [1, 2,,, 9, 0] - only want the last digit in the case of 10!
-        ordinalLabel->SetTextL(ordinal);
-        // ownership is passed, unless allocation is unsuccessful, in which case we still have it on the stack
-        User::LeaveIfError(iOrdinalLabelArray.Append(ordinalLabel));
-        CleanupStack::Pop(); // ordinalLabel
-
-        User::LeaveIfError(iCandidateModeArray.Append(ECandidateModeNormal));
-        }
-
-    iCandidateSelected = CAknFepUICtrlCandidateSelected::NewL(aParent);
-    iCandidateSelected->MakeVisible(iHighlighted);
-    iCandidateSelected->SetMopParent(this);
-    iCandidateArray = new(ELeave) CDesCArrayFlat(1);
-    }
-
-void CAknFepUICtrlCandidatePane::ConstructBitmapsL()
-    {    
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();  
-    
-    TFileName bmpFile;
-    bmpFile.Copy(_L("z:"));
-    bmpFile.Append(KDC_BITMAP_DIR);
-    bmpFile.Append(KFepUiControlsBitmapFile);  
-
-    AknsUtils::CreateColorIconL( skin,
-                                 KAknsIIDQgnIndiFepArrowLeft,
-                                 KAknsIIDQsnIconColors,
-                                 EAknsCIQsnIconColorsCG20,
-                                 iNaviArrowBitmapLeft,
-                                 iNaviArrowBitmapLeftMask,
-                                 bmpFile,
-                                 EMbmAknfepuictrlsQgn_indi_fep_arrow_left,
-                                 EMbmAknfepuictrlsQgn_indi_fep_arrow_left_mask,
-                                 AKN_LAF_COLOR( 0 )
-                             );    
-    AknsUtils::CreateColorIconL( skin,
-                                 KAknsIIDQgnIndiFepArrowRight,
-                                 KAknsIIDQsnIconColors,
-                                 EAknsCIQsnIconColorsCG20,
-                                 iNaviArrowBitmapRight,
-                                 iNaviArrowBitmapRightMask,
-                                 bmpFile,
-                                 EMbmAknfepuictrlsQgn_indi_fep_arrow_right,
-                                 EMbmAknfepuictrlsQgn_indi_fep_arrow_right_mask,
-                                 AKN_LAF_COLOR( 0 )
-                             );    
-
-    AknsUtils::CreateColorIconL( skin,
-                                 KAknsIIDQgnIndiFepArrowUp,
-                                 KAknsIIDQsnIconColors,
-                                 EAknsCIQsnIconColorsCG20,
-                                 iNaviArrowBitmapUp,
-                                 iNaviArrowBitmapUpMask,
-                                 bmpFile,
-                                 EMbmAknfepuictrlsQgn_indi_fep_arrow_up,
-                                 EMbmAknfepuictrlsQgn_indi_fep_arrow_up_mask,
-                                 AKN_LAF_COLOR( 0 )
-                             );    
-    AknsUtils::CreateColorIconL( skin,
-                                 KAknsIIDQgnIndiFepArrowDown,
-                                 KAknsIIDQsnIconColors,
-                                 EAknsCIQsnIconColorsCG20,
-                                 iNaviArrowBitmapDown,
-                                 iNaviArrowBitmapDownMask,
-                                 bmpFile,
-                                 EMbmAknfepuictrlsQgn_indi_fep_arrow_down,
-                                 EMbmAknfepuictrlsQgn_indi_fep_arrow_down_mask,
-                                 AKN_LAF_COLOR( 0 )
-                             );    
-    }
-
-CAknFepUICtrlCandidatePane::CAknFepUICtrlCandidatePane(CAknFepUiLayoutDataMgr* aLafDataMgr)
-    :
-    iPaneLayout(CAknFepUICtrlContainerChinese::ELayoutCandidate),
-    iHighlighted(EFalse),
-    iShowHorizontalScrollArrows(EFalse),
-    iShowVerticalScrollArrows(EFalse),
-    iShowUpScrollArrows(ETrue),
-    iShowDownScrollArrows(ETrue),
-    iShowLeftScrollArrows(ETrue),
-    iShowRightScrollArrows(ETrue),
-    iShowCandidateOrdinals(ETrue),
-    iCurDisplayPage(0),
-    iOrdinalLableWidth(0)
-    {
-    iLafDataMgr = aLafDataMgr;
-    }
-
-void CAknFepUICtrlCandidatePane::LayoutRects()
-    {
-    TRect rect = Rect();
-    
-    TAknWindowLineLayout candidateWindowLine1 = 
-      CAknFepChineseUIDataConv::AnyToWindowLine( iLafDataMgr->RequestData(ECandidateWindowLine1));
-    TAknWindowLineLayout candidateWindowLine2 = 
-      CAknFepChineseUIDataConv::AnyToWindowLine( iLafDataMgr->RequestData(ECandidateWindowLine2));
-    TAknWindowLineLayout candidateWindowLine3 = 
-      CAknFepChineseUIDataConv::AnyToWindowLine( iLafDataMgr->RequestData(ECandidateWindowLine3));
-    TAknWindowLineLayout candidateWindowLine4 = 
-      CAknFepChineseUIDataConv::AnyToWindowLine( iLafDataMgr->RequestData(ECandidateWindowLine4));
-
-    iIndiFepArrowLeft.LayoutRect(rect, candidateWindowLine1); 
-    AknIconUtils::SetSize(iNaviArrowBitmapLeft, iIndiFepArrowLeft.Rect().Size());
-
-    iIndiFepArrowRight.LayoutRect(rect, candidateWindowLine2); 
-    AknIconUtils::SetSize(iNaviArrowBitmapRight, iIndiFepArrowRight.Rect().Size());
-
-    iIndiFepArrowUp.LayoutRect(rect, candidateWindowLine3);
-    AknIconUtils::SetSize(iNaviArrowBitmapUp, iIndiFepArrowUp.Rect().Size());
-
-    iIndiFepArrowDown.LayoutRect(rect, candidateWindowLine4);
-    AknIconUtils::SetSize( iNaviArrowBitmapDown, iIndiFepArrowDown.Rect().Size() );
-    }
-
-void CAknFepUICtrlCandidatePane::LayoutContainedControls()
-    {
-    LayoutLabels();
-    LayoutCandidateSelected();
-    }
-
-void CAknFepUICtrlCandidatePane::LayoutLabel(TInt aIndex)
-    {
-    __ASSERT_DEBUG(aIndex >= 0, AknFepUiInterfacePanic(EAknFepUiInterfacePanicAttemptedLayoutOutsideVisibleCount));
-    __ASSERT_DEBUG(aIndex < iVisibleCount, AknFepUiInterfacePanic(EAknFepUiInterfacePanicAttemptedLayoutOutsideVisibleCount));
-    TRect rect = Rect();
-    CEikLabel* candidateLabel = iCandidateLabelArray[aIndex];
-    CEikLabel* ordinalLabel = iOrdinalLabelArray[aIndex];
-    TAknWindowLineLayout layoutCandidateItem = 
-        CAknFepChineseUIDataConv::AnyToWindowLine( iLafDataMgr->RequestData(ELayoutCandidateItem));
-    TAknTextLineLayout candidateLayout = 
-        CAknFepChineseUIDataConv::AnyToTextLine( iLafDataMgr->RequestData(ECandidatePaneTextLine));
-    
-    // layout candidate label
-    TAknLayoutRect layoutRectCandidateItem;
-    layoutRectCandidateItem.LayoutRect(rect,layoutCandidateItem);
-    TRect rectCandidateItem = layoutRectCandidateItem.Rect();
-    
-    if(aIndex > 0)
-	    {
-	    rectCandidateItem.iTl.iX = iCandidateLabelArray[aIndex - 1]->Rect().iBr.iX;
-        }
-    TAknLayoutText layoutText;
-    layoutText.LayoutText(rectCandidateItem,candidateLayout);
-    TRect rectText = layoutText.TextRect();
-    rectText.SetWidth(LabelTextWidthInPixels(aIndex));
-
-    candidateLabel->SetRect(rectText);
-    candidateLabel->SetFont(layoutText.Font());
-
-    // layout ordinal label
-    TAknTextLineLayout ordinalLayout = 
-        CAknFepChineseUIDataConv::AnyToTextLine( iLafDataMgr->RequestData(EOrdinalCandidateTextLayout));
-    TBufC16<1> buf;
-    TAknLayoutText layoutOrdinal;
-    TPtr16 ptr = buf.Des();
-    ptr = (*(ordinalLabel->Text())).Left(EOneCandidate);
-    
-    layoutOrdinal.LayoutText(rectCandidateItem,ordinalLayout);
-    
-    const CFont* font = layoutOrdinal.Font();
-    
-    TRect rectOrdinal = layoutOrdinal.TextRect();
-    // align ordinal label and candidate label 
-    
-    /* removed in 2006.03.29
-    rectOrdinal.iTl.iY = rectText.iTl.iY;
-    rectOrdinal.SetWidth(font->TextWidthInPixels(ptr));
-    rectOrdinal.SetHeight(font->HeightInPixels());
-    */
-    
-    // inserted in 2006.03.29
-    TPoint ordinalPosition;
-    TInt ordinalWidth = font->TextWidthInPixels(ptr);
-    ordinalPosition.iX = rectText.iTl.iX - ordinalWidth;
-    ordinalPosition.iY = rectText.iTl.iY;
-    
-    rectOrdinal = TRect(ordinalPosition,
-                        TPoint(ordinalPosition.iX + rectOrdinal.Width(),
-                               ordinalPosition.iY + rectOrdinal.Height()));
-    // end inserting                               
-
-    ordinalLabel->SetRect(rectOrdinal);
-    ordinalLabel->SetFont(font);
-    iOrdinalLableWidth = rectOrdinal.Width();
-
-    // override colours if skin data present
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    TRgb candidateLabelTextColor = layoutText.Color();
-    TRgb ordinalLabelTextColor = layoutOrdinal.Color();
-
-    AknsUtils::GetCachedColor(skin, candidateLabelTextColor, 
-                              KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG19);
-
-    AknsUtils::GetCachedColor(skin, ordinalLabelTextColor,
-        KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG19);
-
-    TRAP_IGNORE(
-        candidateLabel->OverrideColorL(EColorLabelText, candidateLabelTextColor);
-        ordinalLabel->OverrideColorL(EColorLabelText, ordinalLabelTextColor);
-        );
-    }
-
-void CAknFepUICtrlCandidatePane::LayoutLabels()
-    {
-    for(TInt i = 0; i < iVisibleCount; i++)
-        {
-        LayoutLabel(i);
-        }
-    }
-
-void CAknFepUICtrlCandidatePane::LayoutCandidateSelected()
-    {
-    TCandidateMode candidateMode = iCandidateModeArray[iSelected];
-    iCandidateSelected->SetCandidateMode(candidateMode);
-    iCandidateSelected->SetLayout(iPaneLayout);
-
-    TRect ordinalRect = iOrdinalLabelArray[iSelected]->Rect();
-
-    TAknLayoutRect layoutRect;
-    TAknWindowLineLayout layoutCandidateItem = 
-        CAknFepChineseUIDataConv::AnyToWindowLine( iLafDataMgr->RequestData(ELayoutCandidateItem));
-    layoutRect.LayoutRect(Rect(),layoutCandidateItem);
-    
-    TRect rectLayoutCandidateItem = layoutRect.Rect();
-    rectLayoutCandidateItem.iTl.iX = ordinalRect.iTl.iX;
-
-    TAknTextLineLayout candidateLayout = 
-        CAknFepChineseUIDataConv::AnyToTextLine( iLafDataMgr->RequestData(ECandidatePaneTextLine));
-    TAknTextLineLayout ordinalLayout = 
-        CAknFepChineseUIDataConv::AnyToTextLine( iLafDataMgr->RequestData(EOrdinalCandidateTextLayout));
-    rectLayoutCandidateItem.SetWidth(iCandidateLabelArray[iSelected]->Rect().Width() + candidateLayout.il - ordinalLayout.il);
-
-    rectLayoutCandidateItem.SetHeight(rectLayoutCandidateItem.Height() - 1);
-    
-    iCandidateSelected->SetRect(rectLayoutCandidateItem);
-    }
-
-void CAknFepUICtrlCandidatePane::UpdateLabelVisibility()
-    {
-    TInt number = 0;
-    // only show the labels corresponding to candidates that have been set
-    if(iPages.Count() != 0)
-        {
-        number = iPages[iCurDisplayPage].iEndIndex - iPages[iCurDisplayPage].iStartIndex + 1;
-        }
-    else
-        {
-        number = iBuffer.Length();
-        }
-
-    if(number > iVisibleCount)
-        {
-        number =  iVisibleCount;
-        }
-    for(TInt i = 0; i < EMaxCandidates; i++)
-        {
-        CEikLabel* candidateLabel = iCandidateLabelArray[i];
-        CEikLabel* ordinalLabel = iOrdinalLabelArray[i];
-        if(i < number)
-            {
-            candidateLabel->MakeVisible(ETrue);
-            ordinalLabel->MakeVisible(iShowCandidateOrdinals); // only show if needed
-            }
-        else
-            {
-            candidateLabel->MakeVisible(EFalse);
-            ordinalLabel->MakeVisible(EFalse); // don't show it as there is no character to go with it
-            }
-        }
-    }
-
-void CAknFepUICtrlCandidatePane::ResetCandidateState()
-    {
-    iPages.Reset();
-    }
-
-void CAknFepUICtrlCandidatePane::DrawBackground(const TRect& aRect) const
-    {
-    // instead of drawing one blank rectangle over each of the 20 labels,
-    // just draw one big rectangle covering the entire pane
-    CWindowGc& gc = SystemGc();
-    TRgb background = AKN_LAF_COLOR(0);
-    gc.SetBrushColor(background);
-    gc.Clear(aRect);
-    }
-
-void CAknFepUICtrlCandidatePane::InternalSpilitPhraseCandidate()
-    {
-    //__ASSERT_DEBUG(aStartIndex + aCount <= iCandidateArray->Count());
-    
-    TInt phraseCandidateNum = iCandidateArray->Count();
-    if( phraseCandidateNum == iUnpagedIndex )
-        {
-        //nothing need to be paged
-        return;
-        }
-        
-    TPage curPage;
-    TInt index = iUnpagedIndex;
-    CEikLabel* candidateLabel;
-    
-    curPage.iStartIndex = index;
-    curPage.iEndIndex = index;
-    TInt candidateLeftNum = phraseCandidateNum - index > EMaxCandidates? 
-                            EMaxCandidates : phraseCandidateNum - index;
-
-    TAknWindowLineLayout layoutCandidateItem = 
-        CAknFepChineseUIDataConv::AnyToWindowLine( iLafDataMgr->RequestData(ELayoutCandidateItem));
-    TAknTextLineLayout candidateLayout = 
-        CAknFepChineseUIDataConv::AnyToTextLine( iLafDataMgr->RequestData(ECandidatePaneTextLine));
-    
-    // avoid accessing layout data member
-    TAknLayoutRect layoutRect;
-    layoutRect.LayoutRect(Rect(),layoutCandidateItem);
-    TRect rectLayoutCandidateItem = layoutRect.Rect();
-
-    TAknLayoutText layoutText;
-    layoutText.LayoutText(rectLayoutCandidateItem,candidateLayout);
-    TRect rectText = layoutText.TextRect();
-            
-    TInt distance = rectText.iTl.iX - rectLayoutCandidateItem.iTl.iX + rectLayoutCandidateItem.iBr.iX - rectText.iBr.iX;
-    rectLayoutCandidateItem.iTl.iX += distance;
-
-    TInt width = 0;
-    TInt i = 0;     
-
-    const TInt candidateWidth = rectLayoutCandidateItem.Width();
-    for ( i = 0; i < candidateLeftNum; i ++ )
-        {
-        // Initialization
-        candidateLabel = iCandidateLabelArray[i];
-        // labelWidth in the font
-        const CFont* font = layoutText.Font();
-        TPtrC newText = (*iCandidateArray)[iUnpagedIndex + i];
-        TInt labelWidth = font->TextWidthInPixels( newText );
-        if ( labelWidth > candidateWidth )
-            {
-            TBufC<EPhraseLength+10> buf1;
-            TPtr text( buf1.Des() );
-            
-            AknBidiTextUtils::ConvertToVisualAndClip(newText, text, *font, 
-                candidateWidth, candidateWidth,
-                AknBidiTextUtils::EImplicit,0xFFFF);
-            
-            iCandidateArray->Delete( iUnpagedIndex + i );
-            TRAP_IGNORE(
-            {
-            iCandidateArray->InsertL( iUnpagedIndex + i, text );
-            candidateLabel->SetTextL(text);
-            });
-            	
-            }
-        else
-            {
-            TRAP_IGNORE( candidateLabel->SetTextL(newText));
-            width = LabelTextWidthInPixels(i)+ iOrdinalLableWidth; 
-            rectLayoutCandidateItem.iTl.iX += width;
-            }
-        if (rectLayoutCandidateItem.iTl.iX >= rectLayoutCandidateItem.iBr.iX)
-            {
-            if (index>0)
-                {
-                curPage.iEndIndex = index - 1;
-                }
-            else
-                {
-                curPage.iEndIndex = index;
-                }
-
-            iPages.Append(curPage);
-            break;
-            }
-        else
-            {
-            index ++;
-            }
-        
-        if( i == EMaxCandidates -1 )
-        	{
-            curPage.iEndIndex = index - 1;
-            iPages.Append(curPage);
-            break;
-        	}
-        
-        }
-        
-    if( i >= candidateLeftNum )
-        {
-        curPage.iEndIndex = index - 1;
-        iPages.Append(curPage);
-        }
-        
-    iUnpagedIndex = index;      
-    }
-
-TBool CAknFepUICtrlCandidatePane::IsFirstPage()
-    {
-    return iCurDisplayPage == 0;
-    }
-
-TBool CAknFepUICtrlCandidatePane::IsLastPage()
-    {
-    if( iCandidateArray->Count() == iUnpagedIndex )
-        {
-        return iCurDisplayPage == iPages.Count() - 1;
-        }
-    return EFalse;
-    }
-
-void CAknFepUICtrlCandidatePane::SetInVisiable()
-    {
-    for (TInt i = 0; i < EMaxCandidates; i ++)
-        {
-        CEikLabel* candidateLabel = iCandidateLabelArray[i];
-        CEikLabel* ordinalLabel = iOrdinalLabelArray[i];
-        candidateLabel->MakeVisible(EFalse);
-        ordinalLabel->MakeVisible(EFalse);
-        }
-    iCandidateSelected->MakeVisible(EFalse);
-    }
-
-TBool CAknFepUICtrlCandidatePane::NeedGetNewCandidatePage()
-    {
-    return (iCandidateArray->Count() - iUnpagedIndex < CandidateCountLeft);
-
-    }
-
-//Bug Fixing for ESSG-7P5CSZ
-void CAknFepUICtrlCandidatePane::Enable(TBool aEnable)
-	{
-	if (!aEnable)
-		{
-		for (TInt i=0; i<iVisibleCount; i++)
-			{
-			TRAP_IGNORE(iCandidateLabelArray[i]->SetTextL(KNullDesC));
-			}
-		iCandidateArray->Reset();
-		iVisibleCount = 0;
-		DrawNow();
-		}
-	}
-// End of file
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlCandidateSelected.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,309 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the CAknFepUICtrlCandidateSelected methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
-#include <uikon/eikdefmacros.h>
-#endif
-#include <eiklabel.h>
-#include <AknUtils.h>
-#include <AknsDrawUtils.h>
-#include "AknFepUIAvkonCtrlCandidateSelected.h"
-#include "AknFepUIAvkonCtrlPinyinPopup.h"
-#include "AknFepUiInterfacePanic.h"
-#include <skinlayout.cdl.h>
-
-class CEikLabel;
-
-CAknFepUICtrlCandidateSelected* CAknFepUICtrlCandidateSelected::NewL(RWindowTreeNode& aParent)
-    {
-    CAknFepUICtrlCandidateSelected* self = new(ELeave) CAknFepUICtrlCandidateSelected;
-    CleanupStack::PushL(self);
-    self->ConstructL(aParent);
-    CleanupStack::Pop();
-    return self;
-    }
-
-CAknFepUICtrlCandidateSelected::~CAknFepUICtrlCandidateSelected()
-    {
-    delete iOrdinalLabel;
-    delete iCandidateLabel;
-    }
-
-void CAknFepUICtrlCandidateSelected::SetText(TPtrC aCharacter)
-    {
-    // make sure that we only copy as many characters as we can show
-    TInt textLen = aCharacter.Length();
-    TInt textLength = textLen > EMaxSelectedCandidateLength? EMaxSelectedCandidateLength:textLen;
-    TPtrC newText = aCharacter.Left(textLength);
-    TPtr ptr = iBuffer.Des();
-    if(ptr != newText)
-        {
-        ptr.Copy(newText);
-        // ignore any errors... we have guaranteed that the descriptor already has sufficient characters to avoid a realloc
-        TRAP_IGNORE( iCandidateLabel->SetTextL(iBuffer)); 
-        }
-    }
-
-void CAknFepUICtrlCandidateSelected::SetOrdinal(TInt aOrdinal)
-    {
-    __ASSERT_DEBUG(aOrdinal < CAknFepUICtrlPinyinPopup::EMaxPhraseCandidate, AknFepUiInterfacePanic(EAknFepUiInterfacePanicNewVisibleCountExceedsRange));
-    __ASSERT_DEBUG(aOrdinal >= 0, AknFepUiInterfacePanic(EAknFepUiInterfacePanicNewVisibleCountExceedsRange));
-
-    TBuf<2> buf;
-    buf.Format(_L("%d"), aOrdinal);
-    TRAP_IGNORE(iOrdinalLabel->SetTextL(buf));
-    }
-
-void CAknFepUICtrlCandidateSelected::SetCandidateMode(CAknFepUICtrlCandidatePane::TCandidateMode aMode)
-    {
-    if(iCandidateMode != aMode)
-        {
-        iCandidateMode = aMode;
-        
-        LayoutRects();
-        LayoutContainedControls();
-        DrawDeferred();
-        }
-    }
-
-void CAknFepUICtrlCandidateSelected::SetLayout(CAknFepUICtrlContainerChinese::TPaneLayout aLayout)
-    {
-    iPaneLayout = aLayout;
-    }
-
-void CAknFepUICtrlCandidateSelected::ShowOrdinal(TBool aValue)
-	{
-	if(!COMPARE_BOOLS(iShowOrdinal,aValue))
-		{
-		iShowOrdinal = aValue;
-		UpdateLabelVisibility();
-		}
-	}
-
-void CAknFepUICtrlCandidateSelected::SizeChanged()
-    {
-    LayoutRects();
-    LayoutContainedControls();
-    }
-
-TInt CAknFepUICtrlCandidateSelected::CountComponentControls() const
-    {
-    CCoeControl* controls[] = 
-        {
-        iOrdinalLabel,
-        iCandidateLabel
-        } ;
-
-    TInt count = 0 ;
-    for (TUint ii = 0 ; ii < (sizeof(controls) / sizeof(CCoeControl*)) ; ii++)
-        if(controls[ii])
-            count++ ;
-    return count ;
-    }
-
-CCoeControl* CAknFepUICtrlCandidateSelected::ComponentControl(TInt aIndex) const 
-    {
-    CCoeControl* controls[] = 
-        {
-        iOrdinalLabel,
-        iCandidateLabel
-        } ;
-
-    for (TUint ii = 0; (ii < sizeof(controls) / sizeof(CCoeControl*)) ; ii++)
-        if (controls[ii] && aIndex-- == 0)
-            return controls[ii] ;
-    // shouldn't be called while no components.
-    return NULL ;
-    }
-
-void CAknFepUICtrlCandidateSelected::Draw(const TRect& /*aRect*/) const
-    {
-    CWindowGc& gc = SystemGc();
-
-    TBool skinnedDraw = EFalse;
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    TRect outerRect;
-    TRect innerRect;
-    CalculateFrameRects(outerRect, innerRect);
-
-    // draw the whole frame background according to the containing context, which in this case
-    // is the candidate pane, to avoid corner drawing mess and to cope with masked grid frame centre
-    MAknsControlContext* cc = AknsDrawUtils::ControlContext(this);
-    AknsDrawUtils::DrawBackground(skin, cc, this, gc, 
-        outerRect.iTl, outerRect, KAknsDrawParamDefault);
-
-    skinnedDraw = AknsDrawUtils::DrawFrame(skin, gc, outerRect, innerRect,
-        KAknsIIDQsnFrGrid, KAknsIIDQsnFrGridCenter); 
-
-    if(!skinnedDraw)
-        {
-        iRectShadow.DrawRect(gc);
-        iRectHighlight.DrawRect(gc);
-        }
-    }
-
-void CAknFepUICtrlCandidateSelected::ConstructL(RWindowTreeNode& aParent)
-    {
-    CreateWindowL(aParent);
-
-    iOrdinalLabel = new(ELeave) CEikLabel;
-    iOrdinalLabel->SetBufferReserveLengthL(EOneCandidate);
-    iOrdinalLabel->SetContainerWindowL(*this);
-
-    // force label to contain required number of characters from the outset
-    iCandidateLabel = new(ELeave) CEikLabel;
-    iCandidateLabel->SetBufferReserveLengthL(EMaxSelectedCandidateLength); // this will do a realloc now, so no need to later
-    iCandidateLabel->SetContainerWindowL(*this);
-    }
-
-CAknFepUICtrlCandidateSelected::CAknFepUICtrlCandidateSelected()
-    : 
-    iCandidateMode(CAknFepUICtrlCandidatePane::ECandidateModeNormal),
-    iPaneLayout(CAknFepUICtrlContainerChinese::ELayoutCandidate),
-    iShowOrdinal(ETrue)
-    {
-    }
-
-void CAknFepUICtrlCandidateSelected::LayoutRects()
-    {
-    TRect rect = Rect();
-    iRectShadow.LayoutRect(rect, AKN_LAYOUT_WINDOW_Candidate_selection_highlight_Line_1(rect));
-    iRectHighlight.LayoutRect(rect, AKN_LAYOUT_WINDOW_Candidate_selection_highlight_Line_2(rect));
-    }
-
-void CAknFepUICtrlCandidateSelected::LayoutContainedControls()
-    {
-    TRect rect = Rect();
-
-    // layout candidate label
-    TAknTextLineLayout candidateLayout = AKN_LAYOUT_TEXT_Chinese_universal_FEP_candidate_pane_texts_Line_1;
-    TAknTextLineLayout ordinalLayout = AKN_LAYOUT_TEXT_Chinese_universal_FEP_candidate_pane_texts_Line_3; 
-    candidateLayout.il = candidateLayout.il - ordinalLayout.il;
-
-    TAknLayoutText layoutCandidate;
-    layoutCandidate.LayoutText(rect,candidateLayout);
-    
-    const CFont* font = layoutCandidate.Font();
-    TInt labelWidthInPixels = 0;
-    if(font)
-	    {
-	    TInt bufLength = iBuffer.Length();
-	    if(bufLength != 0)
-		    {
-		    TPtrC newChars = iBuffer.Left(bufLength);
-		    labelWidthInPixels = font->TextWidthInPixels(newChars);
-		    }
-	    }
-    TRect rectCandidate = layoutCandidate.TextRect();
-    if(labelWidthInPixels == 0)
-	    {
-	    rectCandidate.iTl.iX = 0;
-	    }
-    rectCandidate.SetWidth(labelWidthInPixels);
-    iCandidateLabel->SetRect(rectCandidate);
-    iCandidateLabel->SetFont(font);
-    
-    // layout ordinal label
-    TBufC16<1> buf;
-    TPtr16 ptr = buf.Des();
-    ptr = (*(iOrdinalLabel->Text())).Left(EOneCandidate);
-
-    TAknLayoutText layoutOrdinal;
-    ordinalLayout.il = 0;
-	
-    layoutOrdinal.LayoutText(rect,ordinalLayout);
-    
-    const CFont* fontOrdinal = layoutOrdinal.Font();
-    
-    TRect ordinalRect = layoutOrdinal.TextRect();
-
-    // inserted in 2006.03.29
-    TPoint ordinalPosition;
-    // end inserting
-    TInt ordinalWidth = fontOrdinal->TextWidthInPixels(ptr);
-    
-    /* removing in 2006.03.29
-    ordinalRect.iTl.iX = rectCandidate.iTl.iX - ordinalWidth;
-    ordinalRect.iTl.iY = rectCandidate.iTl.iY;
-
-    ordinalRect.SetWidth(ordinalWidth);
-    ordinalRect.SetHeight(fontOrdinal->HeightInPixels());
-    */ // end removing
-
-    // inserted in 2006.03.29
-    ordinalPosition.iX = rectCandidate.iTl.iX - ordinalWidth;
-    ordinalPosition.iY = rectCandidate.iTl.iY;
-
-    ordinalRect = TRect(ordinalPosition,
-                        TPoint(ordinalPosition.iX + ordinalRect.Width(),
-                               ordinalPosition.iY + ordinalRect.Height()));
-    // end inserting
-
-    iOrdinalLabel->SetRect(ordinalRect);
-    iOrdinalLabel->SetFont(fontOrdinal);
-
-    // override with skin text color
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    TRgb labelTextColor;
-
-    AknsUtils::GetCachedColor(skin, labelTextColor, 
-                              KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG11);
-
-    TRAP_IGNORE( 
-	    iCandidateLabel->OverrideColorL(EColorLabelText, labelTextColor);
-	    iOrdinalLabel->OverrideColorL(EColorLabelText, labelTextColor);
-	    );
-    }
-
-void CAknFepUICtrlCandidateSelected::CalculateFrameRects(TRect& aOuterRect, TRect& aInnerRect) const
-    {
-    TRect windowRect = Rect();
-
-    TAknLayoutRect topLeft;
-    topLeft.LayoutRect(windowRect, SkinLayout::Highlight_skin_placing__grid__Line_2());
-
-    TAknLayoutRect bottomRight;
-    bottomRight.LayoutRect(windowRect, SkinLayout::Highlight_skin_placing__grid__Line_5());
-
-    aOuterRect = TRect(topLeft.Rect().iTl, bottomRight.Rect().iBr);
-    aInnerRect = TRect(topLeft.Rect().iBr, bottomRight.Rect().iTl);
-    }
-
-void CAknFepUICtrlCandidateSelected::UpdateLabelVisibility()
-	{
-	if(iShowOrdinal)
-		{
-		iOrdinalLabel->MakeVisible(ETrue);
-		}
-	else
-		{
-		iOrdinalLabel->MakeVisible(EFalse);
-		}
-	}
-
-// End of file
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlContainerChinese.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,692 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the CAknFepUICtrlContainerChinese methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include <coemain.h>
-#include <eikenv.h>
-#include <eikappui.h>
-#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
-#include <uikon/eikdefmacros.h>
-#endif
-
-
-#include <AknLayoutDef.h>
-#include <AknLayout.lag>
-#include <AknUtils.h>
-#include <AknsDrawUtils.h>
-#include <AknsFrameBackgroundControlContext.h>
-#include <skinlayout.cdl.h>
-#include <AknDef.h>
-
-#include "AknFepUiInterfacePanic.h"
-#include "AknFepUIAvkonCtrlContainerChinese.h"
-#include "AknFepUIAvkonCtrlCandidatePane.h"
-#include "AknFepUIAvkonCtrlInputPane.h"
-#include "AknFepUIAvkonCtrlPinyinPopup.h"
-#include "aknfepuictrlpinyineep.h"
-#include "AknFepManager.h"
-#include "aknfepchineseuidataconv.h"
-#include "aknfepuilayoutdatamgr.h"
-
-MAknFepUICtrlContainerChinese::~MAknFepUICtrlContainerChinese()
-	{
-	}
-	
-CAknFepUICtrlContainerChinese::CAknFepUICtrlContainerChinese()
-    :
-    iPaneLayout(ELayoutInput),
-    iContainerPosition(TPoint(0,0)),
-    isPCLPosed(EFalse)
-    {
-
-    }
-
-CAknFepUICtrlContainerChinese* CAknFepUICtrlContainerChinese::NewL()
-    {
-    CAknFepUICtrlContainerChinese* self = new(ELeave) CAknFepUICtrlContainerChinese;
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;
-    }
-
-MAknFepUICtrlInputPane* CAknFepUICtrlContainerChinese::InputPane() const
-    {
-    return iInputPane;
-    }
-
-MAknFepUICtrlCandidatePane* CAknFepUICtrlContainerChinese::CandidatePane() const
-    {
-    return iCandidatePane;
-    }
-
-MAknFepUICtrlPinyinPopup* CAknFepUICtrlContainerChinese::PinyinPopupWindow() const
-    {
-    return iPinyinPopupWindow;
-    }
-
-MAknFepUICtrlEditPane* CAknFepUICtrlContainerChinese::EditPaneWindow() const
-    {
-    return iEditPane;
-    }
-
-TBool CAknFepUICtrlContainerChinese::IsEnabled() const
-    {
-    return iEnabled;
-    }
-
-void CAknFepUICtrlContainerChinese::Enable(TBool aEnable)
-    {
-	if(!COMPARE_BOOLS(iEnabled, aEnable))
-        {
-        iEnabled = aEnable;
-        if(aEnable)
-            {
-            Window().SetOrdinalPosition(0, ECoeWinPriorityFep); // right at the front
-            // make sure we are not faded even if a query has appeared
-            Window().SetFaded(EFalse, RWindowTreeNode::EFadeIncludeChildren); 
-            }
-        else
-            {
-            // make sure that the popup window is disabled as well
-            iInputPane->MakeVisible(aEnable); 
-            iPinyinPopupWindow->Enable(aEnable);
-            iEditPane->Enable(aEnable);
-            iCandidatePane->Enable(aEnable);
-            }
-        MakeVisible(aEnable);
-        }
-    if ( aEnable == EFalse )
-        {
-        if ( iFepMan )
-            {
-            iFepMan->PinyinPhraseCreation( EFalse );
-            iFepMan->EntryPhrase( EFalse );
-            iFepMan->EnableKeyStar( ETrue );
-            iFepMan->PhraseCreation( EFalse );
-            }
-        PinyinPopupWindow()->ResetStrokeArray();
-        PinyinPopupWindow()->SetLastResouce( 0 );
-	    iPinyinPopupWindow->ResetInputLayoutMiniQwertyZhuyin();
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-	    iEditPane->ResetAllArray();
-	    iEditPane->SetEffictiveLength( 0 );
-	    iEditPane->SetChangeState( EFalse );
-#endif
-        }
-    }  
-  
-void CAknFepUICtrlContainerChinese::ConstructL()
-    {
-    CreateWindowL();
-    SetNonFocusing();
-    RWindow& window=Window();
-    window.SetOrdinalPosition(0, ECoeWinPriorityFep); // right at the front
-    MakeVisible(EFalse);
-
-    iEikonEnv->EikAppUi()->AddToStackL(this, ECoeStackPriorityDefault, ECoeStackFlagRefusesFocus);
-
-    iLafDataMgr = CAknFepUiLayoutDataMgr::NewL();
-    iInputPane = CAknFepUICtrlInputPane::NewL(window, CAknFepUICtrlInputPane::ELayoutPhraseInputPane, iLafDataMgr);
-    iCandidatePane = CAknFepUICtrlCandidatePane::NewL(window, iLafDataMgr);
-    iPinyinPopupWindow = CAknFepUICtrlPinyinPopup::NewL(window , iLafDataMgr);
-    iEditPane = CAknFepUICtrlPinyinEEP::NewL( window, iLafDataMgr );
-    iInputPane->SetMopParent(this);
-    iCandidatePane->SetMopParent(this);
-    iEditPane->SetMopParent(this);
-
-    iInputPane->SetSizeChangedObserver(this);
-    iPinyinPopupWindow->SetSizeChangedObserver(this);
-    iPinyinPopupWindow->MakeVisible(EFalse);
-    iEditPane->Enable(EFalse);
-
-    iCandidatePane->SetPaneLayout(iPaneLayout); // set pane layout
-    iCandidatePane->SetVisibleCandidateCount(iPaneLayout);
- 	iHorizLine = 
- 	    CAknFepChineseUIDataConv::AnyToLayoutRect(iLafDataMgr->RequestData(EHorizLine));	    
- 	iEEPFirstHorizLine = 
- 	    CAknFepChineseUIDataConv::AnyToLayoutRect(iLafDataMgr->RequestData(EEEPFirstHorizLine));
- 	iEEPSecondHorizLine = 
- 	    CAknFepChineseUIDataConv::AnyToLayoutRect(iLafDataMgr->RequestData(EEEPSecondHorizLine));
- 	TInt index = ConvertLayoutToIndex();
-    if ( index == 2 || index == 3 )
-        {
-        index = 0;
-        }
-    iInputPane->SetLayoutIndex(index);
-    TRect outerRect = TRect();
-    TRect innerRect = TRect();
-    CalculateFrameRects(outerRect, innerRect);
-
-    iBgContext = CAknsFrameBackgroundControlContext::NewL(KAknsIIDQsnFrPopup, outerRect, innerRect, ETrue);
-    LayoutContainer();
-    ActivateL();
-    }
-
-CAknFepUICtrlContainerChinese::~CAknFepUICtrlContainerChinese()
-    {
-    iEikonEnv->EikAppUi()->RemoveFromStack(this);
-    delete iLafDataMgr;
-    delete iInputPane;
-    delete iCandidatePane;
-    delete iPinyinPopupWindow;
-    delete iEditPane;
-    delete iBgContext;
-    }
-
-CCoeControl* CAknFepUICtrlContainerChinese::ComponentControl(TInt aIndex) const 
-    {
-    CCoeControl* controls[] = 
-        {
-        iInputPane,
-        iCandidatePane,
-        iEditPane,
-        iPinyinPopupWindow
-        } ;
-
-    for (TUint ii = 0; (ii < sizeof(controls) / sizeof(CCoeControl*)) ; ii++)
-        {
-        if (controls[ii] && aIndex-- == 0)
-            {
-            return controls[ii] ;
-            }
-        }
-    // shouldn't be called while no components.
-    return NULL ;
-    }
-
-TInt CAknFepUICtrlContainerChinese::CountComponentControls() const
-    {
-    CCoeControl* controls[] = 
-        {
-        iInputPane,
-        iCandidatePane,
-        iEditPane,
-        iPinyinPopupWindow
-        } ;
-
-    TInt count = 0 ;
-    for (TUint ii = 0 ; ii < (sizeof(controls) / sizeof(CCoeControl*)) ; ii++)
-        {
-        if(controls[ii])
-            {
-            count++ ;
-            }
-        }
-    return count ;
-    }
-
-TInt CAknFepUICtrlContainerChinese::ConvertLayoutToIndex() const
-    {
-    TInt layout = -1;
-    // switch on the cases in reverse order, and count our way through
-    // the possible layouts to determine the index into the layout
-    // this means that it is easier to add another layout in between
-    switch(iPaneLayout)
-        {
-        case ELayoutKeystroke: //index 3
-            layout++;
-        case ELayoutPhraseCreation: //index 2
-            layout++;
-	    case ELayoutCandidate: //index 1
-		    layout++;
-	    case ELayoutInput: //index 0
-		    layout++;
-        default:
-            break;
-        }
-    return layout;
-    }
-
-void CAknFepUICtrlContainerChinese::LayoutFrames()
-    {
-    TRect outerRect;
-    TRect innerRect;
-    CalculateFrameRects(outerRect, innerRect);
-    iBgContext->SetFrameRects(outerRect, innerRect);
-    iBgContext->SetParentPos(PositionRelativeToScreen());
-    }
-
-void CAknFepUICtrlContainerChinese::CalculateFrameRects(TRect& aOuterRect, TRect& aInnerRect) const
-    {
-    TRect windowRect = Rect();
-    TPoint lPoint(0,0);
-    TPoint rPoint(0,0);
-    TAknLayoutRect topLeft;
-    topLeft.LayoutRect(windowRect, SkinLayout::Submenu_skin_placing_Line_2());
-
-    TAknLayoutRect bottomRight;
-    bottomRight.LayoutRect(windowRect, SkinLayout::Submenu_skin_placing_Line_5());
-    lPoint.iX = bottomRight.Rect().iTl.iX;
-    lPoint.iY = bottomRight.Rect().iTl.iY;
-    rPoint.iX = bottomRight.Rect().iBr.iX;
-    rPoint.iY = bottomRight.Rect().iBr.iY;
-
-    aOuterRect = TRect(topLeft.Rect().iTl, bottomRight.Rect().iBr);
-    aInnerRect = TRect(topLeft.Rect().iBr, bottomRight.Rect().iTl);
-    }
-
-void CAknFepUICtrlContainerChinese::Draw(const TRect& /*aRect*/) const
-    {
-    CWindowGc& gc = SystemGc();
-    TBool skinnedDraw = EFalse;
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-
-    TRect outerRect;
-    TRect innerRect;
-    CalculateFrameRects(outerRect, innerRect);
-    gc.Clear(Rect());
-
-    skinnedDraw = AknsDrawUtils::DrawFrame(
-	    skin, gc, 
-	    outerRect, innerRect, 
-	    KAknsIIDQsnFrPopupSub, KAknsIIDQsnFrPopupCenterSubmenu); 
-
-    TRgb separatorColor = iHorizLine.Color();
-    AknsUtils::GetCachedColor( skin, separatorColor,
-          KAknsIIDQsnLineColors, EAknsCIQsnLineColorsCG8 );
-    gc.SetBrushStyle( CGraphicsContext::ESolidBrush );
-    gc.SetBrushColor( separatorColor );
-
-    if(!skinnedDraw)
-	    {
-	    iRectCoverMainPaneInput.DrawRect(gc);
-	    iRectFirstShadowInput.DrawRect(gc);
-	    iRectOutlineFrameInput.DrawRect(gc);
-	    iRectInsideAreaInput.DrawRect(gc);
-	    }
-	    
-    TInt index = ConvertLayoutToIndex();
-    if ( iInputPane->IsVisible( ) || iPinyinPopupWindow->IsVisible() || 
-            iPhraseCreationLaf)
-        {
-        if ( index == 0 || index == 1 )
-            {
-            iHorizLine.DrawRect(gc);
-            }
-        }
-    if ( index == 2 )
-        {
-        iEEPFirstHorizLine.DrawRect(gc);
-        iEEPSecondHorizLine.DrawRect(gc);
-        }
-    else if ( index == 3 )
-        {
-        iEEPFirstHorizLine.DrawRect(gc);
-        }
-
-    } 
-
-void CAknFepUICtrlContainerChinese::SizeChanged()
-    {
-    iLafDataMgr->ReadLafInfo();
-    LayoutRects();
-    LayoutContainedControls();
-    LayoutFrames();
-    }
-
-void CAknFepUICtrlContainerChinese::SetLayout(TPaneLayout aPaneLayout)
-    {
-    if(iPaneLayout != aPaneLayout)
-        {
-        iPaneLayout = aPaneLayout;
-        SetControlVisibility();
-        // set visible candidate length 
-        iCandidatePane->SetPaneLayout(aPaneLayout);
-        TInt index = ConvertLayoutToIndex();
-        if ( index == 2 || index == 3)
-            {
-            index = 0;
-            }
-        iCandidatePane->SetVisibleCandidateCount(aPaneLayout - index);
-        iInputPane->SetLayoutIndex( index );
-        LayoutContainer();
-        DrawDeferred();
-        }
-    }
-
-void CAknFepUICtrlContainerChinese::FocusCandidatePane(TBool aValue)
-    {
-    iInputPane->SetHighlighted(!aValue);
-    iCandidatePane->SetHighlighted(aValue);
-    }
-
-void CAknFepUICtrlContainerChinese::SelectionPopupEnabled(TBool /*aEnabled*/)
-    {
-    // ensure that the input pane is only visible if the popup is not enabled
-    SetControlVisibility();
-    }
-
-TTypeUid::Ptr CAknFepUICtrlContainerChinese::MopSupplyObject(TTypeUid aId)
-    {
-    if (aId.iUid == MAknsControlContext::ETypeId)
-        return ( MAknsControlContext::SupplyMopObject(aId, iBgContext));
-    return CCoeControl::MopSupplyObject(aId);
-    }
-
-void CAknFepUICtrlContainerChinese::SelectionPopupSizeChanged(TInt /*aNumLines*/)
-    {
-    LayoutContainer();
-    DrawDeferred();
-    }
-
-void CAknFepUICtrlContainerChinese::LayoutPinyinPopupWindow()
-    {
-    TRect popupRect(Position(), Size()); 
-    TRect pinyinRect = popupRect;
-    TAknWindowLineLayout entryHorizLine = 
-        CAknFepChineseUIDataConv::AnyToWindowLine( iLafDataMgr->RequestData( EEntryHorizLineWindow ));
-    TAknWindowLineLayout entryPaneLine = 
-        CAknFepChineseUIDataConv::AnyToWindowLine( iLafDataMgr->RequestData( EEntryPaneWindowLine ));
-    TAknWindowLineLayout eepFirstHorizLine = 
-        CAknFepChineseUIDataConv::AnyToWindowLine( iLafDataMgr->RequestData( EEEPFirstHorizLineWindow ));
-    TAknWindowLineLayout eepSecondHorizLine = 
-        CAknFepChineseUIDataConv::AnyToWindowLine( iLafDataMgr->RequestData( EEEPSecondHorizLineWindow ));
-    TAknLayoutRect layoutLineEntry, layoutLineEntryPane, layoutLineFirstHorizEEP, layoutLineSecondHorizEEP;
-    TRect layoutLineRectEntry, layoutLineRectEntryPane, layoutLineRectFirstHorizEEP, layoutLineRectSecondHorizEEP;
-    TInt index = ConvertLayoutToIndex();
-    if ( 2 == index )
-        {
-        layoutLineFirstHorizEEP.LayoutRect( popupRect, eepFirstHorizLine );
-        layoutLineRectFirstHorizEEP = layoutLineFirstHorizEEP.Rect();
-        layoutLineSecondHorizEEP.LayoutRect( popupRect, eepSecondHorizLine );
-        layoutLineRectSecondHorizEEP = layoutLineSecondHorizEEP.Rect();
-        
-        pinyinRect.iTl.iY = layoutLineRectFirstHorizEEP.iBr.iY;
-        pinyinRect.iBr.iY = layoutLineRectSecondHorizEEP.iTl.iY;
-        }
-    else
-        {
-        layoutLineEntry.LayoutRect( popupRect, entryHorizLine );
-        layoutLineRectEntry = layoutLineEntry.Rect();
-        layoutLineEntryPane.LayoutRect( popupRect, entryPaneLine );
-        layoutLineRectEntryPane = layoutLineEntryPane.Rect();
-        pinyinRect.iTl.iY = layoutLineRectEntryPane.iTl.iY;
-        pinyinRect.SetHeight(layoutLineRectEntry.iTl.iY - pinyinRect.iTl.iY);
-        }
-    iPinyinPopupWindow->SetRect(pinyinRect);
-    }
-
-void CAknFepUICtrlContainerChinese::LayoutPinyinEEPWindow()
-    {
-    TRect rect = Rect();  
-    TAknWindowLineLayout EEPWindowLayout;
-    if ( iPaneLayout == ELayoutPhraseCreation )
-    	{
-    	EEPWindowLayout =
-    	    CAknFepChineseUIDataConv::AnyToWindowLine(iLafDataMgr->RequestData(EEEPWindowLayout));
-    	}
-    else
-    	{
-    	EEPWindowLayout =
-    	    	    CAknFepChineseUIDataConv::AnyToWindowLine(iLafDataMgr->RequestData(EEntryPaneWindowLine));
-    	}       
-    AknLayoutUtils::LayoutControl(iEditPane, rect, EEPWindowLayout);
-    }
-
-void CAknFepUICtrlContainerChinese::SetControlVisibility()
-    {
-    TBool popupEnabled = iPinyinPopupWindow->IsEnabled();
-
-    switch(iPaneLayout)
-	    {
-    case ELayoutCandidate:
-        // predicative candidate state
-        iInputPane->MakeVisible(EFalse);
-        iPhraseCreationLaf = EFalse;
-        break;
-    case ELayoutInput:
-        // input state
-        iInputPane->MakeVisible(!popupEnabled);
-        iPhraseCreationLaf = EFalse;
-        break;
-    case ELayoutPhraseCreation:
-        if ( !iPhraseCreationLaf )
-            {
-            // input state
-            iInputPane->MakeVisible( !popupEnabled );
-            }
-        else
-            {
-            iPhraseCreationLaf= EFalse;
-            }
-    default:
-	    break;
-	    }
-    }
-
-void CAknFepUICtrlContainerChinese::SetIsShownWithPopupWindows(TBool aValue)
-    {
-    if(!COMPARE_BOOLS(iIsShownWithPopupWindows,aValue))	
-        { 
-        iIsShownWithPopupWindows = aValue;
-        // need to layout container first, so that the parent rect is the right size...
-        LayoutContainer();
-        // ... now we can layout the rects relative to the resized parent
-        LayoutRects();
-        // don't need to layout controls, only the rects are affected
-        DrawDeferred();
-        }
-    }
-
-void CAknFepUICtrlContainerChinese::SetContainerPosition(TPoint aCurPos, TInt aHeight)
-    {
-    TRect parentRect;
-    AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EMainPane, parentRect);
-    TInt windowHeight = 0;
-    TInt index = ConvertLayoutToIndex();
-    
-    if ( index != 2 )
-        {
-        windowHeight = 
-            CAknFepChineseUIDataConv::AnyToInt( iLafDataMgr->RequestData( EPopupHeightEntry ));
-        isPCLPosed = EFalse;
-        }
-    else
-        {
-        windowHeight = CAknFepChineseUIDataConv::AnyToInt( iLafDataMgr->RequestData( EPopupHeightEEP ));
-        isPCLPosed = ETrue;
-        }
-    // Laf comments: In case there is enough space on the main pane to show the window under the entry,
-    // the window is placed 3 pixels below the text baseline of the entry. In case there is no space on 
-    // the main pane to show the window fully under the entry, the window is placed 17(16 pixel font) or
-    // 13(12 pixel font) pixels above the baseline of the entry.
-    if(aCurPos.iY + 3 + windowHeight < parentRect.iBr.iY) 
-        {
-        iContainerPosition.iY = aCurPos.iY + 3; 
-        }
-    else
-        {
-        iContainerPosition.iY = aCurPos.iY - windowHeight - (aHeight + 1); 
-        }
-    if ((( iContainerPosition.iY + windowHeight ) > parentRect.iBr.iY ) ||
-        ( iContainerPosition.iY < parentRect.iTl.iY ))
-    {
-    iContainerPosition.iY = parentRect.iBr.iY - ( parentRect.iBr.iY - 
-                            parentRect.iTl.iY ) / 2 - windowHeight / 2;
-    }
-    LayoutContainer();
-    }
-
-void CAknFepUICtrlContainerChinese::ShowHorizontalScrollArrows(TBool aValue)
-    {
-    iCandidatePane->ShowHorizontalScrollArrows(aValue);
-    }    
-   
-void CAknFepUICtrlContainerChinese::ShowVerticalScrollArrows(TBool aValue)
-    {
-    iCandidatePane->ShowVerticalScrollArrows(aValue);
-    }
-
-void CAknFepUICtrlContainerChinese::LayoutInputPane()
-    {
-    TRect rect = Rect();
-    TAknWindowLineLayout entryPaneWindowLine = 
-        CAknFepChineseUIDataConv::AnyToWindowLine( iLafDataMgr->RequestData( EEntryPaneWindowLine ));
-    TInt index = ConvertLayoutToIndex();
-    if ( index == 2)
-        {
-        TInt eepPopupHeight = CAknFepChineseUIDataConv::AnyToInt( iLafDataMgr->RequestData( EPopupHeightEEP ));
-        TInt entryPopupHeight = CAknFepChineseUIDataConv::AnyToInt( iLafDataMgr->RequestData( EPopupHeightEntry ));
-        rect.iTl.iY = rect.iTl.iY + eepPopupHeight - entryPopupHeight;
-        }
-    AknLayoutUtils::LayoutControl(iInputPane, rect, entryPaneWindowLine);
-    }
-
-void CAknFepUICtrlContainerChinese::LayoutContainedControls()
-    {
-    LayoutInputPane();
-    // layout candidate pane
-    TAknWindowLineLayout candidatePaneWindowLine = 
-                CAknFepChineseUIDataConv::AnyToWindowLine( iLafDataMgr->RequestData( ECandidatePaneWindowLine ));
-    TInt index = ConvertLayoutToIndex();
-    if (index == 2)
-        {
-        if ( isPCLPosed )
-            {
-            iEditPane->Enable( ETrue );      
-            AknLayoutUtils::LayoutControl( iCandidatePane, Rect(), candidatePaneWindowLine );
-            LayoutPinyinPopupWindow();
-            LayoutPinyinEEPWindow();
-            }
-        }
-    else if ( index == 0 || index == 1 ) 
-        {
-        TRect rect = Rect();
-        iEditPane->Enable(EFalse);
-        AknLayoutUtils::LayoutControl(iCandidatePane, rect, candidatePaneWindowLine);
-        LayoutPinyinPopupWindow();
-        }
-    else
-        {
-        iEditPane->Enable(ETrue);
-        iPinyinPopupWindow->Enable(EFalse);
-        AknLayoutUtils::LayoutControl(iCandidatePane, Rect(), candidatePaneWindowLine);
-        LayoutPinyinEEPWindow();
-        }
-    }
-
-void CAknFepUICtrlContainerChinese::LayoutContainer()
-    {
-    TInt layoutIndex = ConvertLayoutToIndex(); // 0 : input state layout, 1 : candidate state layout
-    TRect rect;
-    switch ( layoutIndex )
-        {
-        case 2:
-            rect = CAknFepChineseUIDataConv::AnyToRect( iLafDataMgr->RequestData( EPopupRectEEP ));
-            break;
-        case 1:
-            rect = CAknFepChineseUIDataConv::AnyToRect( iLafDataMgr->RequestData( EPopupRectCandatate ));
-            break;
-        default:
-            rect = CAknFepChineseUIDataConv::AnyToRect( iLafDataMgr->RequestData( EPopupRectEntry ));
-            break;
-        }
-    TInt rectHeight = rect.iBr.iY - rect.iTl.iY;
-    rect.iTl.iY = iContainerPosition.iY;
-    rect.iBr.iY = iContainerPosition.iY + rectHeight;
-    SetRect(rect); 
-    }
-
-void CAknFepUICtrlContainerChinese::LayoutRects()
-    {
-    TInt index = ConvertLayoutToIndex();
-    TRect rect = Rect();
-
-    if ( index == 3 )
-        {
-        index = 0;
-        }
-    
-    switch (index) // 0 : input state, 1: predicative candidate state
-	    {
-	    case 0:
-		    iRectCoverMainPaneInput = CAknFepChineseUIDataConv::AnyToLayoutRect( iLafDataMgr->RequestData( ERectCoverMainPaneInputEntry ));
-		    iRectFirstShadowInput= CAknFepChineseUIDataConv::AnyToLayoutRect( iLafDataMgr->RequestData( ERectFirstShadowInputEntry ));
-		    iRectOutlineFrameInput= CAknFepChineseUIDataConv::AnyToLayoutRect( iLafDataMgr->RequestData( ERectOutlineFrameInputEntry ));
-		    iRectInsideAreaInput= CAknFepChineseUIDataConv::AnyToLayoutRect( iLafDataMgr->RequestData( ERectInsideAreaInputEntry ));
-		    break;
-        case 1:
-		    iRectCoverMainPaneInput = CAknFepChineseUIDataConv::AnyToLayoutRect( iLafDataMgr->RequestData( ERectCoverMainPaneInputCandidate ));
-		    iRectFirstShadowInput= CAknFepChineseUIDataConv::AnyToLayoutRect( iLafDataMgr->RequestData( ERectFirstShadowInputCandidate ));
-		    iRectOutlineFrameInput= CAknFepChineseUIDataConv::AnyToLayoutRect( iLafDataMgr->RequestData( ERectOutlineFrameInputCandidate ));
-		    iRectInsideAreaInput= CAknFepChineseUIDataConv::AnyToLayoutRect( iLafDataMgr->RequestData( ERectInsideAreaInputCandidate ));
-		    break;
-        case 2:
-		    iRectCoverMainPaneInput = CAknFepChineseUIDataConv::AnyToLayoutRect( iLafDataMgr->RequestData( ERectCoverMainPaneInputEEP));
-		    iRectFirstShadowInput= CAknFepChineseUIDataConv::AnyToLayoutRect( iLafDataMgr->RequestData( ERectFirstShadowInputEEP ));
-		    iRectOutlineFrameInput= CAknFepChineseUIDataConv::AnyToLayoutRect( iLafDataMgr->RequestData( ERectOutlineFrameInputEEP ));
-		    iRectInsideAreaInput= CAknFepChineseUIDataConv::AnyToLayoutRect( iLafDataMgr->RequestData( ERectInsideAreaInputEEP ));
-            break;
-        default: 
-            break;
-	    }
-    }
-
-void CAknFepUICtrlContainerChinese::HandleResourceChange(TInt aType)
-    {
-    // maybe should be KEikDynamicLayoutVariantSwitch_APAC, need to have a try after it's ready.
-    if(aType == KEikDynamicLayoutVariantSwitch)
-        {
-        LayoutContainer();
-        }
-    else
-        {
-        CCoeControl::HandleResourceChange(aType);
-        }
-    }
-void CAknFepUICtrlContainerChinese::SetControlInVisible( TBool aVisible )
-    {
-    ShowVerticalScrollArrows( EFalse );
-    if ( aVisible == EFalse )
-        {
-        iCandidatePane->SetInVisiable();
-        }
-    iPinyinPopupWindow->MakeVisible( EFalse );
-    iInputPane->MakeVisible( EFalse );
-    iPhraseCreationLaf= ETrue;
-    }
-
-
-TInt& CAknFepUICtrlContainerChinese::IsPhraseCreation()
-    {
-    return iPhraseCreation;
-    }
-
-void CAknFepUICtrlContainerChinese::PhraseCreation(  TBool aPhraseCreation )
-    {
-    if ( iPhraseCreation != aPhraseCreation )
-        {
-        iPhraseCreation = aPhraseCreation;
-        }
-    }
-
-void CAknFepUICtrlContainerChinese::SetFepMan( MAknFepManagerUIInterface* aFepMan )
-    {
-    iFepMan = aFepMan;
-    }
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlContainerJapanese.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,169 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the CAknFepUICtrlContainerJapanese methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include "AknFepUIAvkonCtrlContainerJapanese.h"
-#include "AknFepUIManagerJapanese.h"
-#include "AknFepUICtrlCandidatePaneInterface.h" // MAknFepUiCtrlCandidatePaneInterface
-#include "AknFepUIAvkonCtrlJapaneseCandidatePane.h"  // CAknFepUICtrlJapaneseCandidatePane
-#include "AknFepUIAvkonCtrlJapanesePredictivePane.h" // CAknFepUICtrlJapanesePredictivePane
-#include "AknFepUiInterfacePanic.h"
-
-// CONSTANTS
-
-/**
-*  CAknFepUICtrlContainerJapanese class.
-*
-*/
-
-//============================ MEMBER FUNCTIONS ==============================
-MAknFepUICtrlContainerJapanese::~MAknFepUICtrlContainerJapanese()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUICtrlContainerJapanese::NewL
-//
-// First phase construction
-// ---------------------------------------------------------------------------
-//
-CAknFepUICtrlContainerJapanese* CAknFepUICtrlContainerJapanese::NewL(CAknFepUIManagerJapanese* aUiMng)
-    {
-    CAknFepUICtrlContainerJapanese* self = new(ELeave) CAknFepUICtrlContainerJapanese();
-    CleanupStack::PushL(self);
-    self->ConstructL(aUiMng);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUICtrlContainerJapanese::~CAknFepUICtrlContainerJapanese
-//
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CAknFepUICtrlContainerJapanese::~CAknFepUICtrlContainerJapanese()
-    {
-    if (iCandidatePaneArray)
-        {
-        iCandidatePaneArray->ResetAndDestroy();
-        }
-    delete iCandidatePaneArray;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUICtrlContainerJapanese::CandidatePane
-//
-//
-// ---------------------------------------------------------------------------
-//
-MAknFepUICtrlCandidatePaneInterface*
-    CAknFepUICtrlContainerJapanese::CandidatePane(TAknFepUICtrlCandidatePaneId aId)
-    {
-    MAknFepUICtrlCandidatePaneInterface* candidatePane = NULL;
-
-    switch(aId)
-        {
-        case EJapaneseCandidatePane:
-            {
-            candidatePane = iCandidatePaneArray->At(EJapaneseCandidatePane);
-            }
-        break;
-
-        case EJapanesePredictiveCandidatePane:
-            {
-            candidatePane = iCandidatePaneArray->At(EJapanesePredictiveCandidatePane);
-            }
-        break;
-
-        default:
-            {
-            AknFepUiInterfacePanic(EAknFepUiInterfacePanicNoCandidatePane);
-            }
-        }
-    return candidatePane;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUICtrlContainerJapanese::CAknFepUICtrlContainerJapanese
-//
-// Default constructor
-// ---------------------------------------------------------------------------
-//
-CAknFepUICtrlContainerJapanese::CAknFepUICtrlContainerJapanese()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUICtrlContainerJapanese::ConstructL
-//
-// Second phase construction
-// ---------------------------------------------------------------------------
-//
-void CAknFepUICtrlContainerJapanese::ConstructL(CAknFepUIManagerJapanese* aUiMng)
-    {
-    MAknFepUICtrlCandidatePaneInterface* candidatePane;
-
-    iCandidatePaneArray = new(ELeave) CArrayPtrFlat<MAknFepUICtrlCandidatePaneInterface>(EJapaneseCandidatePaneMax);
-
-    for(TInt i = 0; i < EJapaneseCandidatePaneMax; i++)
-        {
-        candidatePane = NULL;
-        switch(i)
-            {
-            case EJapaneseCandidatePane:
-                {
-                candidatePane = CAknFepUICtrlJapaneseCandidatePane::NewL(aUiMng);
-                }
-                break;
-            case EJapanesePredictiveCandidatePane:
-                {
-                candidatePane = CAknFepUICtrlJapanesePredictivePane::NewL(aUiMng);
-                }
-                break;
-            default:
-                {
-                AknFepUiInterfacePanic(EAknFepUiInterfacePanicNoCandidatePane);
-                }
-                break;
-            }
-
-        if (candidatePane)
-            {
-            CleanupStack::PushL(candidatePane);
-            iCandidatePaneArray->AppendL(candidatePane);
-            CleanupStack::Pop(candidatePane); // candidatePane
-            }
-        else
-            {
-            iCandidatePaneArray->AppendL(candidatePane);
-            }
-        }
-    }
-// End of file
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlDualLanguageSettingData.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/*
-* 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:          
-*
-*/
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUIAvkonCtrlDualLanguageSettingData.h"
-
-CAknFepDualLanguageSettingData *CAknFepDualLanguageSettingData::NewL()
-	{
-	CAknFepDualLanguageSettingData *self = CAknFepDualLanguageSettingData::NewLC();
-	CleanupStack::Pop(self);
-	return self;
-	}
-
-CAknFepDualLanguageSettingData *CAknFepDualLanguageSettingData::NewLC()
-	{
-	CAknFepDualLanguageSettingData *self = new (ELeave) CAknFepDualLanguageSettingData();
-	CleanupStack::PushL(self);
-	return self;
-	}
-
-CAknFepDualLanguageSettingData::~CAknFepDualLanguageSettingData()
-	{
-	if(iItems != NULL)
-	    {
-	    delete iItems;
-	    }
-	if(iSecondaryItems != NULL)
-	    {
-	    delete iSecondaryItems;
-	    }
-	}
-
-CAknFepDualLanguageSettingData::CAknFepDualLanguageSettingData()
-	{
-	}
-
-void CAknFepDualLanguageSettingData::LoadL(CDesCArrayFlat* aItems,
-                                CDesCArrayFlat* aSecondaryItems,
-                                TInt aCurrentValue,
-                                TInt aCurrentSecondaryValue)
-    {
-    iItems = aItems;
-    iSecondaryItems = aSecondaryItems;
-    iCurrentValue = aCurrentValue;
-    iCurrentSecondaryValue = aCurrentSecondaryValue;
-    }
-    
-void CAknFepDualLanguageSettingData::SaveL() const
-    {
-    }
-//EOF
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlDualLanguageSettingDialog.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,248 +0,0 @@
-/*
-* 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:          
-*
-*/
-
-
-
-
-
-
-
-
-
-
-#include <CentralRepository.h>
-#include <AknQueryDialog.h>
-#include <AknFepInternalCRKeys.h>
-#include <PtiDefs.h>
-#include <e32property.h>
-#include <AvkonInternalCRKeys.h>
-#include <AknFepGlobalEnums.h>
-#include <aknnotewrappers.h>
-#include <aknfep.rsg>
-#include "AknFepUIAvkonCtrlDualLanguageSettingDialog.h"
-#include "AknFepUIAvkonCtrlDualLanguageSettingModel.h"
-#include "AknFepUIAvkonCtrlDualLanguageSettingData.h"
-
-CAknFepDualLanguageSettingDialog *CAknFepDualLanguageSettingDialog::NewL(TInt aMenuResId)
-    {
-    CAknFepDualLanguageSettingDialog* self = CAknFepDualLanguageSettingDialog::NewLC(aMenuResId);      
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-CAknFepDualLanguageSettingDialog *CAknFepDualLanguageSettingDialog::NewLC(TInt aMenuResId)
-    {
-    CAknFepDualLanguageSettingDialog* self = new (ELeave) CAknFepDualLanguageSettingDialog();
-    CleanupStack::PushL(self);
-    self->ConstructL(aMenuResId);
-    return self;
-    }
-
-CAknFepDualLanguageSettingDialog::CAknFepDualLanguageSettingDialog()    
-    {
-    }
-    
-CAknFepDualLanguageSettingDialog::~CAknFepDualLanguageSettingDialog()
-    {
-    delete iLangData;
-    delete iLanguages;
-    delete iSecondaryLanguages;
-    delete iModel;
-    }
-
-SEikControlInfo CAknFepDualLanguageSettingDialog::CreateCustomControlL(TInt /*aControlType*/)
-{
-    iModel = CAknFepDualLanguageSettingModel::NewL();
-    // construct the data object the settings list will use
-    ReadSettingsDataL();
-        
-    iSettingsList = CAknFepDualLanguageSettingList::NewL(iLangData, this);
-    
-    SEikControlInfo controlInfo;
-    controlInfo.iFlags = EEikControlHasEars;
-    controlInfo.iTrailerTextId = 0;
-    controlInfo.iControl = iSettingsList;
-    STATIC_CAST(CAknFepDualLanguageSettingList*, controlInfo.iControl)->SetContainerWindowL(*this);
-    
-    return controlInfo;
-}
-
-CAknFepDualLanguageSettingDialog::TFormControlTypes CAknFepDualLanguageSettingDialog::ConvertCustomControlTypeToBaseControlType(TInt /*aControlType*/) const
-{
-    return EPopfieldDerived;
-}
-
-TBool CAknFepDualLanguageSettingDialog::OkToExitL(TInt aButtonId)
-{
-    TBool retValue = EFalse;
-    switch(aButtonId)
-    {
-    case EAknSoftkeyBack:        
-        retValue = ETrue;
-        break;
-    
-    case EAknSoftkeyOptions:
-        DisplayMenuL();
-        break;
-    
-    case EAknSoftkeyChange:
-        EditItemL(EFalse);
-        break;
-    }
-    return retValue;
-}
-
-
-void CAknFepDualLanguageSettingDialog::ProcessCommandL(TInt aCommandId)
-    {
-    if(MenuShowing())
-        HideMenu();   
-    
-    switch(aCommandId) 
-        {
-        case EAknFepCmdPredSettingChange:
-            EditItemL(ETrue);
-            break;
-        case EAknCmdHelp:
-            break;
-        case EAknCmdExit:
-			// Pass the EAknCmdExit command to Avkon 
-			// Framework 
-			iAvkonAppUi->ProcessCommandL(aCommandId);
-            break;
-        }
-    }
-
-void CAknFepDualLanguageSettingDialog::ReadSettingsDataL()
-    {
-    if(iLangData == NULL)
-        {
-        iLangData = CAknFepDualLanguageSettingData::NewL();
-        }
-    
-    // If the setting page has a list create array which contains all
-    // the items of the list in the setting page:
-
-    //some dummy size of 10
-    iLanguages = new( ELeave )CArrayFixFlat<TInt>(10);
-
-    iSecondaryLanguages = new( ELeave )CArrayFixFlat<TInt>(10);
-
-    //some dummy size of 10
-    CDesCArrayFlat* items = new( ELeave )CDesCArrayFlat(10);
-    CleanupStack::PushL( items );
-
-    CDesCArrayFlat* secondaryItems = new( ELeave )CDesCArrayFlat(10);
-    CleanupStack::PushL( secondaryItems );
-    
-    //TODO: Adding the GetLanguage and GetSecondaryLanguage APIs
-    iModel->GetLanguagesFromPtiL( NULL, iLanguages, items );
-    iModel->GetSecondaryInputLanguagesL(iSecondaryLanguages, secondaryItems,
-            iCoeEnv);
-    
-    TInt i;
-    TInt currentItem = 0;
-    TInt currentItemSecondary = 0;
-
-    //fetch the current value from model:
-    // current item is the decimal value of T9 language code from shared data
-    TInt currentInputLanguage =
-    iModel->LanguageL( CAknFepDualLanguageSettingModel::EAknFepDualLanguageSettingInputLanguage );
-
-    TInt currentInputLanguageSecondary =
-    iModel->LanguageL( CAknFepDualLanguageSettingModel::EAknFepDualLanguageSettingInputLanguageSecondary );
-    
-    // total sum of available T9 dictionaries
-    TInt count = iLanguages->Count();
-
-    // compare sharedata languageCode with PtiLanguageCode array
-    // Ptilanguage <-> listindex converter
-
-    for ( i=0;i<count;i++ )
-        {
-        if ((*iLanguages)[i] == currentInputLanguage)
-            {
-            currentItem = i;
-            break;
-            }
-        }
-    
-    count = iSecondaryLanguages->Count();
-
-    // compare sharedata languageCode with PtiLanguageCode array
-    // Ptilanguage <-> listindex converter
-
-    for ( i=0;i<count;i++ )
-        {
-        if ((*iSecondaryLanguages)[i] == currentInputLanguageSecondary)
-            {
-            currentItemSecondary = i;
-            break;
-            }
-        }
-
-    iLangData->LoadL(items, secondaryItems, currentItem, currentItemSecondary);
-    
-    CleanupStack::Pop(secondaryItems);
-    CleanupStack::Pop(items);
-    }
-
-void CAknFepDualLanguageSettingDialog::SaveSettingsDataL() const
-    {    
-    TInt index = iSettingsList->SettingItemArray()->ItemIndexFromVisibleIndex(iSettingsList->ListBox()->CurrentItemIndex());
-    TInt curLang = (*iLanguages)[iLangData->CurrentValue()]; 
-       
-    if(0 == index)
-        iModel->SetLanguageL( CAknFepDualLanguageSettingModel::EAknFepDualLanguageSettingInputLanguage, curLang );
-    else
-        {        
-         if(curLang == ELangTaiwanChinese ||
-         curLang == ELangHongKongChinese ||
-         curLang == ELangPrcChinese ||
-         curLang == ELangJapanese ||
-         curLang == ELangKorean )
-             {
-             iModel->SetLanguageL( CAknFepDualLanguageSettingModel::EAknFepDualLanguageSettingInputLanguageSecondary, 0);
-             }
-         else
-             {
-             iModel->SetLanguageL( CAknFepDualLanguageSettingModel::EAknFepDualLanguageSettingInputLanguageSecondary,
-                               (*iSecondaryLanguages)[iLangData->CurrentSecondaryValue()]);
-             }
-         }
-    }
-    
-void CAknFepDualLanguageSettingDialog::EditItemL(TBool aCalledFromMenu)
-    {
-    iSettingsList->EditCurrentItemL(aCalledFromMenu);
-    TInt curLang = (*iLanguages)[iLangData->CurrentValue()]; 
-    if(curLang == ELangTaiwanChinese ||
-       curLang == ELangHongKongChinese ||
-       curLang == ELangPrcChinese ||
-       curLang == ELangJapanese ||
-       curLang == ELangKorean )
-        {
-        iSettingsList->HideSecondaryInputL(ETrue);
-        }
-    else
-        {
-        iSettingsList->HideSecondaryInputL(EFalse);
-        }
-    
-    iSettingsList->StoreSettingsL();
-    SaveSettingsDataL();
-    }
\ No newline at end of file
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlDualLanguageSettingList.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,188 +0,0 @@
-/*
-* 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:          
-*
-*/
-
-
-
-
-
-
-
-
-
-
-#include <barsread.h>
-#include <AvkonInternalCRKeys.h>
-#include <AknFepInternalCRKeys.h>
-#include <e32property.h>
-#include <PtiDefs.h>
-#include <AknFepGlobalEnums.h>
-#include <avkon.hrh>
-#include <aknsettingitemlist.h> 
-#include <aknfep.rsg>
-#include "AknFepUIAvkonCtrlDualLanguageSettingList.h"
-
-
-CAknFepDualLanguageSettingItem::CAknFepDualLanguageSettingItem( TInt aResourceId, TBool aPrimary, CAknFepDualLanguageSettingData* aData)
-    : CAknEnumeratedTextPopupSettingItem(aResourceId, (aPrimary?aData->iCurrentValue:aData->iCurrentSecondaryValue))
-      , iData(aData), iPrimary(aPrimary)
-    {
-    }
-
-CAknFepDualLanguageSettingItem::~CAknFepDualLanguageSettingItem()
-    {
-    }
-
-void CAknFepDualLanguageSettingItem::CompleteConstructionL()
-    {
-    CAknEnumeratedTextPopupSettingItem::CompleteConstructionL();
-    CArrayPtrFlat<HBufC>* dummyPtr = new (ELeave) CArrayPtrFlat<HBufC>(1);
-    CleanupStack::PushL(dummyPtr);
-    CArrayPtrFlat<CAknEnumeratedText>* items = new (ELeave) CArrayPtrFlat<CAknEnumeratedText>(10);
-    CleanupStack::PushL(items);
-    if(iPrimary)
-        {
-        for(TInt i = 0; i < iData->Items()->Count(); i++)
-            {
-            HBufC* buffer = HBufC::NewLC( 128 );
-            (*buffer) = (*iData->Items())[i];
-            CAknEnumeratedText* newItem = new (ELeave) CAknEnumeratedText(i, buffer);
-            CleanupStack::PushL(newItem);
-            items->AppendL(newItem);
-            CleanupStack::Pop(newItem);
-            CleanupStack::Pop(buffer);
-            }
-        SetEnumeratedTextArrays(items, dummyPtr);
-        SetInternalValue(iData->iCurrentValue);
-        SetExternalValue(iData->iCurrentValue);
-        }
-    else
-        {
-        for(TInt i = 0; i < iData->SecondaryItems()->Count(); i++)
-            {
-            HBufC* buffer = HBufC::NewLC( 128 );
-            (*buffer) = (*iData->SecondaryItems())[i];
-            CAknEnumeratedText* newItem = new (ELeave) CAknEnumeratedText(i, buffer);
-            CleanupStack::PushL(newItem);
-            items->AppendL(newItem);
-            CleanupStack::Pop(newItem);
-            CleanupStack::Pop(buffer);
-            }
-        SetEnumeratedTextArrays(items, dummyPtr);
-        SetInternalValue(iData->iCurrentSecondaryValue);
-        SetExternalValue(iData->iCurrentSecondaryValue);
-        }
-    CleanupStack::Pop(items);
-    CleanupStack::Pop(dummyPtr);
-    }
-
-CAknFepDualLanguageSettingList *CAknFepDualLanguageSettingList::NewL(CAknFepDualLanguageSettingData* aData, CAknFepDualLanguageSettingDialog* aDialog)
-    {
-    CAknFepDualLanguageSettingList* self = CAknFepDualLanguageSettingList::NewLC(aData, aDialog);        
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-CAknFepDualLanguageSettingList *CAknFepDualLanguageSettingList::NewLC(CAknFepDualLanguageSettingData* aData, CAknFepDualLanguageSettingDialog* aDialog)
-    {
-    CAknFepDualLanguageSettingList* self = new (ELeave) CAknFepDualLanguageSettingList(aData, aDialog);
-    CleanupStack::PushL(self);
-    return self;
-    }
-
-CAknFepDualLanguageSettingList::CAknFepDualLanguageSettingList(CAknFepDualLanguageSettingData* aData, CAknFepDualLanguageSettingDialog* aDialog) : 
-    CAknSettingItemList(), iData(aData), iDialog(aDialog)
-    {
-    }
-
-CAknFepDualLanguageSettingList::~CAknFepDualLanguageSettingList()
-    {
-    // no specific destruction code required - no owned data
-    }
-
-
-void CAknFepDualLanguageSettingList::SizeChanged()
-    {
-    // if size changes, make sure component takes whole available space
-    CEikFormattedCellListBox *listbox = ListBox();
-
-    if (listbox) 
-        {
-        listbox->SetRect(Rect());
-        }
-    }
-
-void CAknFepDualLanguageSettingList::HandleListBoxEventL(CEikListBox* /*aListBox*/, TListBoxEvent aEventType)
-    {
-    if(aEventType == EEventEnterKeyPressed)
-        {
-        EditCurrentItemL(EFalse);
-        }
-    }
-
-void CAknFepDualLanguageSettingList::EditCurrentItemL(TBool aCalledFromMenu)
-    {
-    // invoke EditItemL on the current item
-    TInt index = SettingItemArray()->ItemIndexFromVisibleIndex(ListBox()->CurrentItemIndex());
-    
-    EditItemL(index, aCalledFromMenu);  // invoked from menu,or not
-              
-    StoreSettingsL();
-    }
-
-CAknSettingItem * CAknFepDualLanguageSettingList::CreateSettingItemL (TInt aIdentifier) 
-    {
-    // method is used to create specific setting item as required at run-time.
-    // aIdentifier is used to determine what kind of setting item should be 
-    // created
-
-    CAknFepDualLanguageSettingItem* settingItem = NULL;
-    
-    TInt language = 0;
-    CRepository* aknFepRepository = CRepository::NewLC(KCRUidAknFep);
-    aknFepRepository->Get( KAknFepInputTxtLang, language );
-    
-    switch (aIdentifier)
-        {
-        case EAknFepDualLanguageSettingDualInputPrimary:
-            settingItem = new (ELeave) CAknFepDualLanguageSettingItem(
-                    R_PRIMARY_INPUT_LANGUAGE_SETTING_PAGE, ETrue, iData);
-            break;
-        case EAknFepDualLanguageSettingDualInputSecondary:
-            settingItem = new (ELeave) CAknFepDualLanguageSettingItem(
-                    R_SECONDARY_INPUT_LANGUAGE_SETTING_PAGE, EFalse, iData);
-            if(language == ELangTaiwanChinese ||
-               language == ELangHongKongChinese ||
-               language == ELangPrcChinese ||
-               language == ELangJapanese ||
-               language == ELangKorean )
-                {
-                settingItem->SetHidden(ETrue);
-                }
-            break;
-        default:
-            break;
-        }
-    CleanupStack::PopAndDestroy( aknFepRepository );
-    
-    return (CAknSettingItem*)settingItem;
-    }
-
-void CAknFepDualLanguageSettingList::HideSecondaryInputL(TBool aHidden)
-    {
-    SettingItemArray()->At(1)->SetHidden(aHidden);
-    HandleChangeInItemArrayOrVisibilityL();
-    }
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlDualLanguageSettingModel.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,326 +0,0 @@
-/*
-* 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:          
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#include    <PtiEngine.h>
-#include <AknAppUi.h> //For CAknAppUi
-#include <akntitle.h> //CAknTitlePane
-#include    <aknfep.rsg>  //For R_SECONDARY_WRITING_LANG_NONE
-#include <StringLoader.h>
-#include <AknFepInternalCRKeys.h>
-#include    <aknnotedialog.h>
-#include    <avkon.rsg>
-#include    <featmgr.h>
-#include <e32property.h>
-#include    <AvkonInternalCRKeys.h>
-#include <aknenv.h>  
-#include <AknSettingCache.h>
-#include "AknFepUIAvkonCtrlDualLanguageSettingModel.h"
-
-const TInt KAkFepDualLanguageMask = 0x03FF;
-const TInt KAkFepDualLanguageBufSize128 = 128;
-
-CAknFepDualLanguageSettingModel* CAknFepDualLanguageSettingModel::NewL()
-    {
-    CAknFepDualLanguageSettingModel* self = new( ELeave ) CAknFepDualLanguageSettingModel();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-void CAknFepDualLanguageSettingModel::ConstructL()
-    {
-    iAknFepRepository = CRepository::NewL( KCRUidAknFep );
-    }
-
-CAknFepDualLanguageSettingModel::~CAknFepDualLanguageSettingModel()
-    {
-    if(iAknFepRepository)
-        delete iAknFepRepository;
-    }
-void CAknFepDualLanguageSettingModel::GetSecondaryInputLanguagesL(
-              CArrayFix<TInt>* aSeedLanguages,
-              CDesCArray* aLanguageNames,
-              CCoeEnv* aCoeEnv)
-    {
-    CPtiEngine* ptiEngine = CPtiEngine::NewL();
-    CleanupStack::PushL( ptiEngine );
-
-    CArrayFix<TInt>* languageCodeArray = aSeedLanguages;
-    ptiEngine->GetAvailableLanguagesL( languageCodeArray );
-    languageCodeArray->InsertL(0,0); // No secondary input language as the first item
-    
-    TInt count = languageCodeArray->Count();
-    for ( TInt index = 0; index < count; ++index )
-        {
-        const TInt langCode = languageCodeArray->At(index);
-        if(langCode == ELangTaiwanChinese ||
-           langCode == ELangHongKongChinese ||
-           langCode == ELangPrcChinese ||
-           langCode == ELangJapanese ||
-           langCode == ELangKorean )
-            {
-            languageCodeArray->Delete(index);
-            count--;
-            index--;
-            }
-        }
-
-    HBufC* noneString = StringLoader::LoadLC( R_SECONDARY_WRITING_LANG_NONE, aCoeEnv);
-    TPtr nonePtr( noneString->Des() );
-    aLanguageNames->AppendL(nonePtr);
-    CleanupStack::PopAndDestroy( noneString );
-    
-    HBufC* buffer = HBufC::NewLC( KAkFepDualLanguageBufSize128 );
-    for ( TInt index = 1; index < count; ++index )
-        {
-        const TInt langId = languageCodeArray->At( index );
-
-        TPtr ptrToBuffer( buffer->Des() );
-        ptiEngine->GetLocalizedLanguageName( langId & KAkFepDualLanguageMask,
-                                             ptrToBuffer );
-
-        aLanguageNames->AppendL( ptrToBuffer );
-
-        ptrToBuffer.Zero();
-        }
-
-    CleanupStack::PopAndDestroy( buffer );
-    CleanupStack::PopAndDestroy( ptiEngine );
-    }
-void CAknFepDualLanguageSettingModel::ShowDualInputLanguageSettingListL(CCoeEnv* aCoeEnv)
-    {
-    CAknAppUi* appUi = static_cast<CAknAppUi*>(aCoeEnv->AppUi());
-
-    CAknTitlePane* titlePane = static_cast<CAknTitlePane*>( appUi->StatusPane()->ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) );
-
-    const TDesC* appTitle = titlePane->Text();
-    HBufC* oldTitle = appTitle->AllocL();
-    CleanupStack::PushL(oldTitle);
-    HBufC* title = StringLoader::LoadLC( R_INPUT_LANGUAGE_SETTINGS_TITLE, aCoeEnv);
-    titlePane->SetTextL( *title );
-    CleanupStack::PopAndDestroy(title);
-    
-    //Launch dialog
-
-    titlePane->SetTextL( *oldTitle );
-    CleanupStack::PopAndDestroy(oldTitle);
-    }
-
-
-// ================= DATA ACCESS FUNCTIONS ==================
-
-// ----------------------------------------------------------------------------
-// CAknFepDualLanguageSettingModel::GetLanguagesFromPtiL
-//
-// Utility routine to get available languages with Symbian OS codes
-// ----------------------------------------------------------------------------
-//
-void CAknFepDualLanguageSettingModel::GetLanguagesFromPtiL(
-    CArrayFix<TInt>* aInstalledLangCodes,
-    CArrayFix<TInt>* aSeedLanguages,
-    CDesCArray* aLanguageNames )
-    {
-    CPtiEngine* ptiEngine = CPtiEngine::NewL();
-    CleanupStack::PushL( ptiEngine );
-
-    CArrayFix<TInt>* languageCodeArray = aSeedLanguages;
-    if ( aInstalledLangCodes )
-        {
-        languageCodeArray = aInstalledLangCodes;
-        }
-    else
-        {
-        ptiEngine->GetAvailableLanguagesL( languageCodeArray );
-        }
-
-    HBufC* buffer = HBufC::NewLC( KAkFepDualLanguageBufSize128 );
-    const TInt count = languageCodeArray->Count();
-    for ( TInt index = 0; index < count; ++index )
-        {
-        const TInt langId = languageCodeArray->At( index );
-
-        TPtr ptrToBuffer( buffer->Des() );
-        ptiEngine->GetLocalizedLanguageName( langId & KAkFepDualLanguageMask,
-                                             ptrToBuffer );
-
-        if ( aInstalledLangCodes )
-            {
-            aSeedLanguages->AppendL( langId );
-            }
-        aLanguageNames->AppendL( ptrToBuffer );
-
-        ptrToBuffer.Zero();
-        }
-
-    CleanupStack::PopAndDestroy( buffer );
-    CleanupStack::PopAndDestroy( ptiEngine );
-    }
-
-TInt CAknFepDualLanguageSettingModel::LanguageL( TLanguageType aType )
-    {
-    TInt Language = KErrNone;
-    switch ( aType )
-        {
-        case EAknFepDualLanguageSettingInputLanguage:
-            {
-            User::LeaveIfError(
-                iAknFepRepository->Get( KAknFepInputTxtLang, Language ) );
-            }
-            break;
-        case EAknFepDualLanguageSettingInputLanguageSecondary:
-            {
-            User::LeaveIfError(
-                iAknFepRepository->Get( KAknFepInputTxtLangSecondary, Language ) );
-            }
-            break;
-        default:
-            break;
-        }
-    return Language;
-
-    }
-
-
-TBool CAknFepDualLanguageSettingModel::SetLanguageL( TLanguageType aType, TInt aLanguage )
-    {
-    TBool ret = ETrue;
-
-    switch( aType )
-        {
-        case EAknFepDualLanguageSettingInputLanguage:
-            {
-            if( iAknFepRepository->Set( KAknFepInputTxtLang,
-                                        aLanguage ) != KErrNone )
-                {
-                ret = EFalse;
-                }
-            
-            if(ret)
-                {
-                // now inform all open apps of the switch
-                TWsEvent event;
-                event.SetType(KEikInputLanguageChange);
-                CEikonEnv::Static()->WsSession().SendEventToAllWindowGroups(event);
-                CAknEnv::Static()->SettingCache().Update(KEikInputLanguageChange);
-                }
-            
-            // See if it cannot do predictive text entry
-            if( !CheckDictionaryFromPtiL( aLanguage ) )
-                {
-                CAknNoteDialog* dlg = new (ELeave) CAknNoteDialog( );
-                dlg->ExecuteDlgLD(
-                    CAknNoteDialog::EShortTimeout,
-                    CAknNoteDialog::ENoTone,
-                    R_AVKON_T9_NOTE_NO_AVAILABLE );                                   
-              
-                }
-            }
-            break;
-        case EAknFepDualLanguageSettingInputLanguageSecondary:
-            {
-            if( iAknFepRepository->Set( KAknFepInputTxtLangSecondary,
-                                        aLanguage ) != KErrNone )
-                {
-                ret = EFalse;
-                }
-            if(ret)
-                {
-                // now inform all open apps of the switch
-                // same event as primary input language change
-                TWsEvent event;
-                event.SetType(KEikInputLanguageChange);
-                CEikonEnv::Static()->WsSession().SendEventToAllWindowGroups(event);
-				CAknEnv::Static()->SettingCache().Update(KEikInputLanguageChange);
-                }
-            // Secondary input language does not need prediction
-            // so we don't check for it
-            }
-            break;
-        default:
-            break;
-
-        }
-    return ret;
-    }
-
-// ----------------------------------------------------------------------------
-// CGSLangModel::CheckDictionaryFromPtiL
-//
-// Checks if the selected language supports predictive text input.
-// In case this returns EFalse, the UI display's "Not available"
-// for Predictive text input.
-// ----------------------------------------------------------------------------
-//
-TBool CAknFepDualLanguageSettingModel::CheckDictionaryFromPtiL( TInt aLangCode )
-    {
-    TBool langSupport = EFalse;
-
-    if ( FeatureManager::FeatureSupported( KFeatureIdChinese ) ||
-        FeatureManager::FeatureSupported( KFeatureIdJapanese ) )
-        {
-        langSupport = ETrue;
-        }
-    else
-        {
-        CPtiEngine* ptiEngine = CPtiEngine::NewL();
-        CleanupStack::PushL( ptiEngine );
-
-        MPtiLanguage* ptiLang = ptiEngine->GetLanguage( aLangCode );
-        if ( ptiLang )
-            {
-            // the check here should be based on the keyboard      
-            TInt keyboardLayout = 0;
-            RProperty::Get(KCRUidAvkon, KAknKeyBoardLayout, keyboardLayout);
-            TPtiKeyboardType layout = (TPtiKeyboardType)keyboardLayout;
-            switch(layout)
-                {
-                case EPtiKeyboardHalfQwerty:
-                    langSupport = ptiLang->HasInputMode( (TPtiEngineInputMode)EPtiEngineHalfQwertyPredictive);
-                    break;
-                case EPtiKeyboardQwerty4x12:
-                case EPtiKeyboardQwerty4x10:  
-                case EPtiKeyboardQwerty3x11:
-                case EPtiKeyboardCustomQwerty:
-                    langSupport = ptiLang->HasInputMode( (TPtiEngineInputMode)EPtiEngineQwertyPredictive);
-                    break;
-                case EPtiKeyboardNone:
-                case EPtiKeyboard12Key:
-                    langSupport = ptiLang->HasInputMode( (TPtiEngineInputMode)EPtiEnginePredictive);
-                    break;
-                default:
-                    langSupport = ptiLang->HasInputMode( (TPtiEngineInputMode)EPtiEnginePredictive);
-                    break;    
-                }
-
-            }
-        CleanupStack::PopAndDestroy( ptiEngine );
-        ptiLang = NULL;
-        }
-
-    return langSupport;
-    }
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlExactWordPopupContent.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,225 +0,0 @@
-/*
-* Copyright (c) 2007 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:             Contents of the exact word tooltip shown above inline editor
-*                when the exact word differs from the inline word in Western
-*                QWERTY predictive mode.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include <eiklabel.h>
-#include <AknUtils.h>
-#include <AknsUtils.h>
-#include <AknPreviewPopUpController.h>
-#include "AknFepUiAvkonCtrlExactWordPopupContent.h"
-
-
-const TInt KArrowWidth = 10;
-const TInt KArrowHeight = 5;
-
-CAknFepExactWordPopupContent* CAknFepExactWordPopupContent::NewL()
-    {
-    CAknFepExactWordPopupContent* self = new (ELeave) CAknFepExactWordPopupContent;
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(self);
-    return self;
-    }
-    
-    
-CAknFepExactWordPopupContent::CAknFepExactWordPopupContent()
-    : iIsPopUpVisible(EFalse)
-    , iLabel( NULL )
-    , iPopupController( NULL )
-    , iArrowDirection( EUpwards )
-    {
-    }
-
-
-void CAknFepExactWordPopupContent::ConstructL()
-    {
-    iLabel = new (ELeave) CEikLabel;
-    iLabel->SetTextL(KNullDesC);
-
-  	const CFont* font = AknLayoutUtils::FontFromId( AknLayout::Link_shortcut_title_texts_Line_1().FontId() );
-    iLabel->SetFont(font);
-
-    TRgb textColor(KRgbBlack);
-    iLabel->GetColor(EColorLabelText, textColor);
-    AknsUtils::GetCachedColor(AknsUtils::SkinInstance(), textColor, 
-                              KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG20);
-    TRAP_IGNORE( AknLayoutUtils::OverrideControlColorL(*iLabel, EColorLabelText, textColor) );
-    
-    TRect screenRect;
- 	AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EScreen, screenRect );
-    iLabel->SetRect( screenRect );
-    SetRect( screenRect ); 
-     
-    iPopupController = CAknPreviewPopUpController::NewL( *this, 
-                                                        CAknPreviewPopUpController::EPermanentMode );
-    iPopupController->SetPopUpShowDelay(0);   
-    }
-
-MAknFepUiWordPopupContent::~MAknFepUiWordPopupContent()
-	{
-		
-	}
-    
-CAknFepExactWordPopupContent::~CAknFepExactWordPopupContent()
-    {
-    delete iLabel;
-    delete iPopupController;
-    }
-    
-        
-void CAknFepExactWordPopupContent::SetTextL( const TDesC& aText )
-    {
-    iLabel->SetTextL(aText);
-    }
-
-
-void CAknFepExactWordPopupContent::SetArrowDirection( MAknFepUiWordPopupContent::TArrowDirection aDirection )
-    {
-    iArrowDirection = aDirection;
-    }
-
-
-TSize CAknFepExactWordPopupContent::MinimumSize()
-    {
-    // Ensure we are on top. Otherwise the popup would be left on background in many applications
-    // (e.g. Notes, ActiveNotes, Messaging, Contacts).
-    Window().SetOrdinalPosition(0, ECoeWinPriorityAlwaysAtFront);
-
-    TSize minSize = iLabel->MinimumSize();
-    //minSize.iHeight *= 2;
-    return minSize;
-    }
-    
-        
-void CAknFepExactWordPopupContent::Draw( const TRect& aRect ) const
-    {
-    TRect labelRect(aRect);
-
-    if ( iPopupController )
-        {
-        labelRect.SetSize( iPopupController->Size() );
-        }
-    
-    // Reserve some space for the arrow, if it is going to be shown below the text
-    if ( iArrowDirection == EUpwards )
-        {
-        labelRect.iTl.iY -= KArrowHeight;
-        }
-        
-    iLabel->SetRect( labelRect );
-    iLabel->Draw( labelRect );
-
-    TRAP_IGNORE( DrawArrowL( aRect ) );
-    }
-        
-
-void CAknFepExactWordPopupContent::DrawArrowL( const TRect& aTextRect ) const
-    {
-    CWindowGc& gc = SystemGc();
-    gc.SetPenColor( iEikonEnv->ControlColor(EColorLabelText,*this) );
-    gc.SetBrushColor( iEikonEnv->ControlColor(EColorControlBackground,*this) );
-    gc.SetBrushStyle( CGraphicsContext::ESolidBrush );
-            
-    CArrayFix<TPoint>* arrow = new (ELeave) CArrayFixFlat<TPoint>(3);
-    CleanupStack::PushL(arrow);
-
-    TPoint offset( aTextRect.iTl.iX + aTextRect.Width()/2 - KArrowWidth/2, 0 );
-
-    TPoint angle1;
-    TPoint angle2;
-    TPoint angle3;
-
-
-    if ( iArrowDirection == EDownwards )
-        {
-        offset.iY = aTextRect.iTl.iY - KArrowHeight;
-        angle1.SetXY( 0, 0 );
-        angle2.SetXY( KArrowWidth, 0 );
-        angle3.SetXY( KArrowWidth/2, KArrowHeight );
-        }
-    else // EUpwards
-        {
-        offset.iY = aTextRect.iBr.iY;
-        angle1.SetXY( 0, KArrowHeight );
-        angle2.SetXY( KArrowWidth, KArrowHeight );
-        angle3.SetXY( KArrowWidth/2, 0 );
-        }
-
-    arrow->AppendL( angle1 + offset );
-    arrow->AppendL( angle2 + offset );
-    arrow->AppendL( angle3 + offset );
-
-    gc.DrawPolygon(arrow);
-    CleanupStack::PopAndDestroy(arrow);
-    }
-
-void CAknFepExactWordPopupContent::SetPopUpShowDelay( const TTimeIntervalMicroSeconds32& aDelay )
-	{
-	iPopupController->SetPopUpShowDelay( aDelay );
-	}
-void CAknFepExactWordPopupContent::ShowPopUp()
-	{
-	iIsPopUpVisible = ETrue;
-	iPopupController->ShowPopUp();
-	}
-void CAknFepExactWordPopupContent::HidePopUp()
-	{
-	iIsPopUpVisible = EFalse;
-	iPopupController->HidePopUp();	
-	}
-void CAknFepExactWordPopupContent::SetPosition( const TPoint& aPoint )
-	{
-	iPopupController->SetPosition( aPoint );
-	}
-void CAknFepExactWordPopupContent::UpdateContentSize()
-	{
-	iPopupController->UpdateContentSize();	
-	}
-TSize CAknFepExactWordPopupContent::Size() const 
-	{
-	return iPopupController->Size();
-	}
-TBool CAknFepExactWordPopupContent::IsPopUpVisible()
-	{
-	return iIsPopUpVisible;	
-	}
-	
-void CAknFepExactWordPopupContent::HandlePointerEventL( const TPointerEvent& aPointerEvent )	
-	{
-	if( !AknLayoutUtils::PenEnabled() )
-		{
-		return;
-		}
-
-	if (TPointerEvent::EButton1Down == aPointerEvent.iType)
-		{
-       	TKeyEvent keyUp = {EKeyUpArrow, EStdKeyUpArrow, 0, 0};
-    	CCoeEnv::Static()->WsSession().SimulateKeyEvent(keyUp);
-		}
-	}
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlInputPane.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,559 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the CAknFepUICtrlInputPane methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
-#include <uikon/eikdefmacros.h>
-#endif
-#include <gulfont.h> 
-#include <eiklabel.h>
-#include <AknUtils.h>
-#include <AknsDrawUtils.h>
-#include <skinlayout.cdl.h>
-
-#include "AknFepUIAvkonCtrlInputPane.h"
-#include "AknFepUIAvkonCtrlPinyinPopup.h"
-#include "aknfepchineseuidataconv.h"
-#include "aknfepuilayoutdatamgr.h"
-
-CAknFepUICtrlInputPane* CAknFepUICtrlInputPane::NewL(RWindow& aParent, 
-                                                     TInputPaneLayout aPaneLayout,
-                                                     CAknFepUiLayoutDataMgr* aLafDataMgr )
-    {
-    CAknFepUICtrlInputPane* self = new(ELeave) CAknFepUICtrlInputPane(aPaneLayout,aLafDataMgr);
-    CleanupStack::PushL(self);
-    self->ConstructL(aParent);
-    CleanupStack::Pop();
-    return self;
-    }
-
-CAknFepUICtrlInputPane::~CAknFepUICtrlInputPane()
-    {
-    delete iBuffer;
-    delete iLabel;
-    delete iLabelToneMark;
-    }
-
-void CAknFepUICtrlInputPane::SetSizeChangedObserver(
-    MAknFepUICtrlPinyinPopupSizeChangedObserver* aObserver)
-    {
-    iSizeChangedObserver = aObserver;
-    }
-
-void CAknFepUICtrlInputPane::SetText(const TDesC& aDes)
-    {
-    // make sure that we only copy as many characters as we can show
-    if(iLayout == ELayoutPhraseInputPane)
-        {
-        TPtrC newText = aDes.Right(CalculateMaxTextLength(aDes));        
-        TPtr ptr = iBuffer->Des();
-
-        if(ptr != newText)
-            {
-            ptr.Copy(newText);
-            UpdateLabelContents();
-
-            if(iLayout == ELayoutPhraseInputPane) 
-                {
-                iSizeChangedObserver->SelectionPopupSizeChanged(CAknFepUICtrlPinyinPopup::EMaxCandidates + 1); // indicate input pane layout
-                }
-            DrawNow();
-            }
-        }
-    else
-        {
-        TPtrC newText= aDes.Right(iMaxInputChars - EMaxToneMarkLength);
-        TPtr ptr = iBuffer->Des();
-
-        if(ptr != newText)
-            {
-            ptr.Copy(newText);
-            UpdateLabelContents();
-
-            if(iLayout == ELayoutPhraseInputPane) 
-                {
-                iSizeChangedObserver->SelectionPopupSizeChanged(CAknFepUICtrlPinyinPopup::EMaxCandidates + 1); // indicate input pane layout
-                }
-            DrawNow();
-            }
-        }
-    }
-
-void CAknFepUICtrlInputPane::GetText(TDes& aText) const
-    {
-    aText.Copy(*iBuffer);
-    }
-
-void CAknFepUICtrlInputPane::SetHighlighted(TBool aHighlighted)
-    {
-    if(!COMPARE_BOOLS(iHighlighted, aHighlighted))
-        {
-        iHighlighted = aHighlighted;
-        // need to change highlight colors
-        LayoutContainedControls();
-        DrawDeferred();
-        }
-    }
-
-TBool CAknFepUICtrlInputPane::Highlighted() const
-    {
-    return iHighlighted;
-    }
-
-void CAknFepUICtrlInputPane::SetToneMark(const TDesC& aToneMark)
-    {
-    TPtrC newText = aToneMark.Left(EMaxToneMarkLength);
-    TPtr tonePtr = iToneMarkBuffer.Des();
-
-    if(tonePtr != newText)
-        {
-        tonePtr.Copy(newText);
-        UpdateLabelContents();
-        if(iLayout == ELayoutPhraseInputPane)
-            {
-            iSizeChangedObserver->SelectionPopupSizeChanged(CAknFepUICtrlPinyinPopup::EMaxCandidates + 1);
-            }
-        DrawDeferred();
-        }
-    }
-
-void CAknFepUICtrlInputPane::GetToneMark(TDes& aToneMark) const
-    {
-    TInt length = aToneMark.MaxLength();
-    TPtrC toneMark = iToneMarkBuffer.Left(length);
-    aToneMark.Copy(toneMark);
-    }
-
-void CAknFepUICtrlInputPane::SetToneMarkValidity(TBool aValid)
-    {
-    if(!COMPARE_BOOLS(iToneMarkValidity, aValid))
-        {
-        iToneMarkValidity = aValid;
-        LayoutContainedControls();
-        UpdateLabelContents();
-        DrawDeferred();
-        }
-    }
-
-void CAknFepUICtrlInputPane::SetLayoutIndex(TInt aIndex)
-    {
-    if(iLayoutIndex != aIndex)
-        {
-        iLayoutIndex = aIndex;
-        LayoutContainedControls();
-        }
-    }
-
-void CAknFepUICtrlInputPane::SetOverrideFontId(TInt aFontId)
-    {
-    if(iFontId != aFontId)
-        {
-        iFontId = aFontId;
-        // need to update the layout, and then force the text to be formatted
-        LayoutContainedControls();
-        UpdateLabelContents();
-        DrawDeferred();
-        }
-    }
-
-void CAknFepUICtrlInputPane::MakeTextVisible(TBool aVisible)
-    {
-    if(aVisible)
-        {
-        UpdateLabelContents();
-        }
-    else
-        {
-        TRAP_IGNORE( 
-            iLabel->SetTextL(KNullDesC);
-            iLabelToneMark->SetTextL(KNullDesC);
-            );
-        }
-    }
-
-TInt CAknFepUICtrlInputPane::LabelTextWidthInPixels() const
-    {
-    TAknLayoutText layoutText = 
-            CAknFepChineseUIDataConv::AnyToLayoutText( iLafDataMgr->RequestData( ELayoutInputPaneText ));
-    const CFont* font = layoutText.Font();
-
-    TInt labelWidthInPixels = 0;
-    if(font)
-        {
-        TBufC<EMaxInputCharsInputPane> buf1;
-        TPtr ptr1 = buf1.Des();
-        GetText(ptr1);
-        TBufC<EMaxToneMarkLength> buf2;
-        TPtr ptr2 = buf2.Des();
-        GetToneMark(ptr2);
-        labelWidthInPixels = font->TextWidthInPixels(ptr1); 
-        labelWidthInPixels += font->TextWidthInPixels(ptr2);
-        }
-    TInt maxWidth = layoutText.TextRect().Width(); 
-    labelWidthInPixels = labelWidthInPixels > maxWidth? maxWidth:labelWidthInPixels;
-    return labelWidthInPixels;
-    }
-
-void CAknFepUICtrlInputPane::SizeChanged()
-    {
-    LayoutContainedControls();
-    }
-
-TInt CAknFepUICtrlInputPane::CountComponentControls() const
-    {
-    CCoeControl* controls[] = 
-        {
-        iLabel,
-        iLabelToneMark
-        } ;
-
-    TInt count = 0 ;
-    for (TUint ii = 0 ; ii < (sizeof(controls) / sizeof(CCoeControl*)) ; ii++)
-        {
-        if(controls[ii])
-            {
-            count++ ;
-            }
-        }
-    return count ;
-    }
-
-CCoeControl* CAknFepUICtrlInputPane::ComponentControl(TInt aIndex) const 
-    {
-    CCoeControl* controls[] = 
-        {
-        iLabel,
-        iLabelToneMark
-        } ;
-
-    for (TUint ii = 0; (ii < sizeof(controls) / sizeof(CCoeControl*)) ; ii++)
-        {
-        if (controls[ii] && aIndex-- == 0)
-            {
-            return controls[ii] ;
-            }
-        }
-    // shouldn't be called while no components.
-    return NULL ;
-    }
-
-void CAknFepUICtrlInputPane::Draw(const TRect& /*aRect*/) const
-    {
-    TBool skinnedDraw = EFalse;
-    CWindowGc& gc = SystemGc();
-
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    if(iHighlighted)
-        {
-        TRect outerRect;
-        TRect innerRect;
-        CalculateFrameRects(outerRect, innerRect);
-        skinnedDraw = AknsDrawUtils::DrawFrame(
-            skin, gc, outerRect, innerRect, KAknsIIDQsnFrList, KAknsIIDQsnFrListCenter); // or KAknsIIDDefault?
-        }
-    else
-        {
-        MAknsControlContext* cc = AknsDrawUtils::ControlContext(this);
-        skinnedDraw = AknsDrawUtils::Background(skin, cc, this, gc, Rect());
-        }
-
-    if(!skinnedDraw)
-        {
-        if(iHighlighted)
-            {
-            iUnselectedStringHighlight.DrawRect(gc);
-            }
-        else
-            {
-            gc.SetBrushColor(AKN_LAF_COLOR_STATIC(0)); 
-            gc.Clear(iUnselectedStringHighlight.Rect());
-            }
-        }
-    }
-
-void CAknFepUICtrlInputPane::ConstructL(RWindow& aParent)
-    {
-    SetContainerWindowL(aParent);
-    iBuffer = HBufC::NewL(iMaxInputChars);
-
-    // force label to contain required number of characters from the outset
-    iLabel = new(ELeave) CEikLabel;
-    iLabel->SetBufferReserveLengthL(iMaxInputChars); // this will do a realloc now, so no need to later
-    iLabel->SetContainerWindowL(aParent);
-    iLabel->SetMopParent(this);
-
-    iLabelToneMark = new(ELeave) CEikLabel;
-    iLabelToneMark->SetBufferReserveLengthL(EMaxToneMarkLength); // this will do a realloc now, so no need to later
-    iLabelToneMark->SetContainerWindowL(aParent);
-    iLabelToneMark->SetMopParent(this);
-
-    }
-
-CAknFepUICtrlInputPane::CAknFepUICtrlInputPane(TInputPaneLayout aPaneLayout, CAknFepUiLayoutDataMgr* aLafDataMgr)
-    : 
-    iHighlighted(EFalse),
-    iLayout(aPaneLayout),
-    iToneMarkValidity(ETrue),
-    iFlags(0),
-    iLafDataMgr(aLafDataMgr)
-    {
-    switch(iLayout)
-        {
-        case ELayoutPhraseInputPane:
-            iMaxInputChars = EMaxInputCharsInputPane;
-            break;
-        case ELayoutPhrasePinyinPopupPane:
-            iMaxInputChars = EMaxInputCharsPinyinPopup;
-            break;
-        default:
-            iMaxInputChars = EMaxInputCharsInputPane;
-            break;
-        };
-    }
-
-void CAknFepUICtrlInputPane::UpdateLabelContents()
-    {
-    // add on the tone mark for the purposes of clipping
-    TBufC<EMaxInputChars> combinedBuffer;
-    TPtr combinedPtr = combinedBuffer.Des();
-    combinedPtr.Copy(*iBuffer);
-    combinedPtr.Append(iToneMarkBuffer);
-
-    TRect rect = Rect();
-    if(iLayout == ELayoutPhrasePinyinPopupPane)
-        {
-        TAknLayoutRect layoutLineRectEntryPane = 
-                CAknFepChineseUIDataConv::AnyToLayoutRect( iLafDataMgr->RequestData( ELayoutLineRectEntryPane ));
-        rect = layoutLineRectEntryPane.Rect();
-        }
-    // avoid accessing text layout member data
-    TAknLayoutRect labelRect;
-    
-    TAknWindowLineLayout layoutEntryItem = 
-            CAknFepChineseUIDataConv::AnyToWindowLine( iLafDataMgr->RequestData(ELayoutEntryItem));
-    labelRect.LayoutRect(rect, layoutEntryItem);
-    TAknLayoutText layoutText;
-    TAknTextLineLayout entryTextLine = 
-        CAknFepChineseUIDataConv::AnyToTextLine( iLafDataMgr->RequestData(EEntryTextLayout));
-    layoutText.LayoutText(labelRect.Rect(),entryTextLine);
-    TInt maxWidth = layoutText.TextRect().Width(); 
-    
-    TAknLayoutText layoutText1 = 
-            CAknFepChineseUIDataConv::AnyToLayoutText( iLafDataMgr->RequestData( ELayoutInputPaneText ));
-    const CFont* font = layoutText1.Font();
-
-    TInt labelWidthInPixels = 0;
-    if(font)
-        {
-        TBufC<EMaxInputCharsInputPane> buf1;
-        TPtr ptr1 = buf1.Des();
-        GetText(ptr1);
-        TBufC<EMaxToneMarkLength> buf2;
-        TPtr ptr2 = buf2.Des();
-        GetToneMark(ptr2);
-        labelWidthInPixels = font->TextWidthInPixels(ptr1); 
-        labelWidthInPixels += font->TextWidthInPixels(ptr2);
-        }
-    
-    if(labelWidthInPixels > maxWidth)
-		{
-		AknTextUtils::ClipToFit(
-		combinedPtr,
-		*(iLabel->Font()),
-		maxWidth,
-		AknTextUtils::EClipFromBeginning, 
-		KDefaultClipWidth, 
-		KNullDesC); 
-		}
-
-    // now remove the tone mark again, as it has a separate label
-    TInt uncombinedLength = combinedPtr.Length() - iToneMarkBuffer.Length();
-    if(uncombinedLength < 0)
-        uncombinedLength = 0;
-    combinedPtr.SetLength(uncombinedLength); // always shorter, so won't be bigger than max
-
-    // ignore any errors... we have guaranteed that the descriptor already has sufficient characters to avoid a realloc
-    TRAP_IGNORE( 
-        iLabel->SetTextL(combinedPtr);
-        iLabelToneMark->SetTextL(iToneMarkBuffer);
-        );
-    }
-
-void CAknFepUICtrlInputPane::LayoutContainedControls()
-    {
-    TRect rect = Rect();
-    if(iLayout == ELayoutPhraseInputPane)
-		{
-	    TAknWindowLineLayout layoutEntryItem = 
-	            CAknFepChineseUIDataConv::AnyToWindowLine( iLafDataMgr->RequestData(ELayoutEntryItem));
-        iUnselectedStringHighlight.LayoutRect(rect, layoutEntryItem);
-        }
-    else if(iLayout == ELayoutPhrasePinyinPopupPane) 
-		{
-        iUnselectedStringHighlight.LayoutRect(rect, AKN_LAYOUT_WINDOW_Input_highlight_Line_1(rect));
-        }
-
-    // layout spelling label    
-    TAknTextLineLayout textLayout = 
-        CAknFepChineseUIDataConv::AnyToTextLine( iLafDataMgr->RequestData(EEntryTextLayout));
-    TAknLayoutText layoutText;
-    TRect rectHighlight = iUnselectedStringHighlight.Rect();
-    TRect textRect;
-    
-    layoutText.LayoutText(rectHighlight,textLayout);
-    textRect = layoutText.TextRect();
-    TRgb labelTextColor = layoutText.Color();
-
-    TInt labelWidth = LabelTextWidthInPixels();
-    if(textRect.Width() > labelWidth)
-        {
-        textRect.SetWidth(labelWidth);
-        }
-    iLabel->SetRect(textRect);
-    const CFont* font = layoutText.Font();
-    iLabel->SetFont(font);
-    
-    // layout tone mark label
-    TRgb labelToneMarkTextColor = labelTextColor;
-    TRect toneMarkRect;
-    TPtrC ptr = *iBuffer;
-    TInt toneMarkOffset = 0;
-
-    toneMarkOffset = iLabel->CalcMinimumSize(ptr).iWidth;
-    toneMarkRect.iTl.iX = textRect.iTl.iX + toneMarkOffset;
-    toneMarkRect.iTl.iY = textRect.iTl.iY;
-    toneMarkRect.iBr.iY = textRect.iBr.iY;
-    toneMarkRect.SetWidth(labelWidth - toneMarkOffset);
-    iLabelToneMark->SetRect(toneMarkRect);
-    iLabelToneMark->SetFont(font);
-    
-    // once we have layed out the labels from LAF, override the colours from the skin if necessary
-    // as the skin utils will only return RGB values, not colour ids.
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    TInt colorIndex = EAknsCIQsnTextColorsCG19;
-    if (iHighlighted)
-        {
-        colorIndex = EAknsCIQsnTextColorsCG11;
-        }
-            
-    AknsUtils::GetCachedColor(skin, labelTextColor, KAknsIIDQsnTextColors, colorIndex);
-
-    colorIndex = iToneMarkValidity ? EAknsCIQsnTextColorsCG10: EAknsCIQsnTextColorsCG11; 
-    AknsUtils::GetCachedColor(skin, labelToneMarkTextColor, KAknsIIDQsnTextColors, colorIndex);
-
-    TRgb tonemarkColor;
-    
-    if (iToneMarkValidity)
-    	{
-    	tonemarkColor = labelToneMarkTextColor;
-    	}
-    else
-    	{
-    	tonemarkColor = KRgbGray;	
-    	}	
-
-    TRAP_IGNORE( 
-        iLabel->OverrideColorL(EColorLabelText, labelTextColor);
-        iLabelToneMark->OverrideColorL(EColorLabelText, tonemarkColor);
-        );    
-    }
-
-void CAknFepUICtrlInputPane::CalculateFrameRects(TRect& aOuterRect, TRect& aInnerRect) const
-    {
-    TRect windowRect = Rect();
-    TRect entryRect = 
-        CAknFepChineseUIDataConv::AnyToRect( iLafDataMgr->RequestData(EEntryPaneRect));
-    
-    windowRect.SetHeight(entryRect.iBr.iY - entryRect.iTl.iY);
-    
-    TAknLayoutRect topLeft;
-    topLeft.LayoutRect(windowRect,SkinLayout::Submenu_skin_placing_Line_2());
-
-    TAknLayoutRect bottomRight;
-    bottomRight.LayoutRect(windowRect, SkinLayout::Submenu_skin_placing_Line_5());
-
-    aOuterRect = TRect(topLeft.Rect().iTl, bottomRight.Rect().iBr);
-    aInnerRect = TRect(topLeft.Rect().iBr, bottomRight.Rect().iTl);
-    if (aInnerRect.Width() <= 4)
-        {
-        aInnerRect.SetWidth(5);
-        }
-    }
-
-TInt CAknFepUICtrlInputPane::CalculateMaxTextLength(const TDesC& aDes) const
-    {
-    TAknLayoutText layoutText = 
-            CAknFepChineseUIDataConv::AnyToLayoutText( iLafDataMgr->RequestData( ELayoutInputPaneText ));
-    TInt maxWidth = layoutText.TextRect().Width();
-    TInt textWidth = 0;
-    
-    textWidth = aDes.Length();
-    
-    while (maxWidth < CalculateTextLength(aDes.Right(textWidth)))
-        {
-        textWidth--;
-        }
-    
-    return textWidth;
-    }
-
-TInt CAknFepUICtrlInputPane::CalculateTextLength(const TDesC& aDes) const
-    {
-    TAknLayoutText layoutText = 
-            CAknFepChineseUIDataConv::AnyToLayoutText( iLafDataMgr->RequestData( ELayoutInputPaneText ));
-    const CFont* font = layoutText.Font();
-
-    TInt labelWidthInPixels = 0;
-    if(font)
-        {
-        labelWidthInPixels = font->TextWidthInPixels(aDes); 
-        }
-        
-    return labelWidthInPixels;
-    }
-
-void CAknFepUICtrlInputPane::SetLayout( TInputPaneLayout aPaneLayout )
-    {
-    switch(aPaneLayout)
-        {
-        case ELayoutPhraseInputPane:
-            iMaxInputChars = EMaxInputCharsInputPane;
-            break;
-        case ELayoutPhrasePinyinPopupPane:
-            iMaxInputChars = EMaxInputCharsPinyinPopup;
-            break;
-        case ELayoutPhraseMiniQwertyZhuyin:
-            iMaxInputChars = EMaxInputCharsZhuyinPopup;
-            break;
-        default:
-            iMaxInputChars = EMaxInputCharsInputPane;
-            break;
-        };
-    }
-    
-// End of file
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlJapaneseCandidateCellListBoxData.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,145 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:            Candidate list
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include <aknViewAppUi.h>
-#include <avkon.hrh>
-
-#include <aknPopup.h>
-#include <AknsDrawUtils.h>
-
-#include "AknFepUiInterfacePanic.h"
-#include "AknFepUIAvkonCtrlJapaneseCandidateCellListBoxData.h" 
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidateCellListBoxData::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CAknFepUICtrlJapaneseCandidateCellListBoxData*
-    CAknFepUICtrlJapaneseCandidateCellListBoxData::NewL()
-    {
-    CAknFepUICtrlJapaneseCandidateCellListBoxData* self =
-            new(ELeave) CAknFepUICtrlJapaneseCandidateCellListBoxData;
-    self->ConstructLD();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidateCellListBoxData::Draw
-// Draw items
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapaneseCandidateCellListBoxData::Draw(
-        TListItemProperties aProperties,
-        CWindowGc& aGc,
-        const TDesC* aText,
-        const TRect& aRect,
-        TBool aHighlight, 
-        const TColors& aColors) const
-    {
-    const TRect &aItemRect = aRect;
-
-    DrawDefaultHighlight(aGc, aItemRect, aHighlight);
-
-    // Draw the actual items.
-    DrawFormatted(aProperties, aGc, aText, aItemRect, aHighlight, aColors);
-
-    aGc.Reset();
-
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidateCellListBoxData::DrawDefaultHighlight
-// Draw highlight item
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapaneseCandidateCellListBoxData::DrawDefaultHighlight(
-        CWindowGc& aGc,
-        const TRect& aItemRect,
-        TBool aHighlight) const
-    {
-    if (aHighlight)
-        {
-        MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-        TBool highlightDrawn = EFalse;
-        MAknsControlContext* cc = AknsDrawUtils::ControlContext(Control());
-        if (!cc)
-            {
-            cc = SkinBackgroundContext();
-            }
-        if (cc)
-            {
-            TAknLayoutRect topLeft;
-            topLeft.LayoutRect(aItemRect,
-                               ELayoutEmpty,
-                               1, 1, ELayoutEmpty, ELayoutEmpty, 5, 5);
-
-            TAknLayoutRect bottomRight;
-            bottomRight.LayoutRect(aItemRect,
-                                   ELayoutEmpty,
-                                   ELayoutEmpty, ELayoutEmpty, 1, 0, 5,5);
-
-            TRect outerRect =
-                        TRect(topLeft.Rect().iTl, bottomRight.Rect().iBr);
-            TRect innerRect =
-                        TRect(topLeft.Rect().iBr, bottomRight.Rect().iTl);
-            aGc.SetPenStyle(CGraphicsContext::ENullPen);
-
-            const TAknsItemID* skinHighlightFrameId =
-                                                &KAknsIIDQsnFrList;
-            const TAknsItemID* skinHighlightFrameCenterId =
-                                                &KAknsIIDQsnFrListCenter;
-            highlightDrawn = AknsDrawUtils::DrawFrame(
-                                                skin,
-                                                aGc,
-                                                outerRect, innerRect,
-                                                *skinHighlightFrameId,
-                                                *skinHighlightFrameCenterId);
-            }
-        
-        if (!highlightDrawn)
-            {
-            TAknLayoutRect highlightshadow;
-            TAknLayoutRect highlight;
-            highlightshadow.LayoutRect(
-                    aItemRect,
-                    AKN_LAYOUT_WINDOW_List_pane_highlight_graphics__various__Line_1(aItemRect));
-            highlight.LayoutRect(
-                    aItemRect,
-                    AKN_LAYOUT_WINDOW_List_pane_highlight_graphics__various__Line_2(aItemRect));
-
-            highlightshadow.DrawRect(aGc);
-            highlight.DrawRect(aGc);
-            }
-        }
-    }
-
-// End of File
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlJapaneseCandidateHeadingPane.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,126 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:            Candidate list
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include <eikdef.h>
-
-#include <aknViewAppUi.h>
-#include <avkon.hrh>
-#include <aknPopup.h>
-#include <aknlists.h>
-#include <AknsDrawUtils.h>
-#include <AknLayout.lag>
-
-#include "AknFepUiInterfacePanic.h"
-#include "AknFepUIAvkonCtrlJapaneseCandidateHeadingPane.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidateHeadingPane::SetParentRect
-// Set rect of parent window
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapaneseCandidateHeadingPane::SetParentRect(
-        const TRect& aParentRect)
-    {
-    iParentRect = aParentRect;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidateHeadingPane::SizeChanged
-// This function is called when changing window size.
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapaneseCandidateHeadingPane::SizeChanged()
-    {
-    LayoutListHeadingPane();
-    AknsUtils::RegisterControlPosition(this);
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidateHeadingPane::ActivateL
-// This function is called when doing active
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapaneseCandidateHeadingPane::ActivateL()
-    {
-    CCoeControl::ActivateL();
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidateHeadingPane::CountComponentControls
-// Return a number of control in Heading Pane
-// -----------------------------------------------------------------------------
-//
-TInt CAknFepUICtrlJapaneseCandidateHeadingPane::CountComponentControls() const
-    {
-    return 1;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidateHeadingPane::ComponentControl
-// Return a control object
-// -----------------------------------------------------------------------------
-//
-CCoeControl* CAknFepUICtrlJapaneseCandidateHeadingPane::ComponentControl(
-        TInt /*aIndex*/) const
-    {
-    return Prompt();
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidateHeadingPane::LayoutListHeadingPane
-// calculate layout from LAF information
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapaneseCandidateHeadingPane::LayoutListHeadingPane()
-    {
-    TAknTextLineLayout textLayout =
-            AKN_LAYOUT_TEXT_Candidate_selection_list_texts_Line_1;
-    textLayout.il = 0;
-
-    TRect parentRect(0, 0, iParentRect.Width(), iParentRect.Height());
-    AknLayoutUtils::LayoutLabel(Prompt(), parentRect, textLayout);
-
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    TRgb color;
-    TInt error = AknsUtils::GetCachedColor( skin,
-                                            color,
-                                            KAknsIIDQsnTextColors,
-                                            EAknsCIQsnTextColorsCG7 );
-    if (!error)
-        {
-        // Ignore error
-        TRAP_IGNORE( AknLayoutUtils::OverrideControlColorL(
-                            *Prompt(),
-                            EColorLabelText, color ) );
-        }
-    }
-
-// End of File
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlJapaneseCandidateListbox.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,250 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:            Candidate list
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include <eikdef.h>
-
-#include <aknViewAppUi.h>
-#include <avkon.hrh>
-#include <aknPopup.h>
-#include <aknlists.h>
-#include <AknsDrawUtils.h>
-#include <AknLayout.lag>
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <AknLayout2ScalableDef.h>
-
-#include "AknFepUiInterfacePanic.h"
-#include "AknFepUIAvkonCtrlJapaneseCandidateListbox.h" 
-#include "AknFepUIAvkonCtrlJapaneseCandidateListboxView.h" 
-#include "AknFepUIAvkonCtrlJapaneseCandidateCellListBoxData.h" 
-
-// CONSTANTS
-const TInt KLAFBaseListColumns = 3;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidateListbox::SetMaximumColumns
-// Set maximum columns in listbox
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapaneseCandidateListbox::SetMaximumColumns(
-        const TInt aMaximumColumns)
-    {
-    iMaximumColumns = aMaximumColumns;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidateListbox::SizeChanged
-// This function is called when changing window size.
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapaneseCandidateListbox::SizeChanged() 
-    {
-    CEikFormattedCellListBox& listBox = *this;
-    CFormattedCellListBoxItemDrawer* itemDrawer = listBox.ItemDrawer();
-
-    TAknWindowLineLayout textWindowLayout = 
-        AKN_LAYOUT_WINDOW_list_single_popup_jap_candidate_pane(
-            0, iMaximumColumns - KLAFBaseListColumns);
-    AknListBoxLayouts::SetupStandardListBox(listBox);
-    AknListBoxLayouts::SetupStandardFormListbox(itemDrawer);
-    AknListBoxLayouts::SetupListboxPos(listBox, textWindowLayout);
-
-    {
-    TRgb color( KRgbBlack );
-    // this does not modify color unless it gets a correct one
-    // no real need to check errors
-    AknsUtils::GetCachedColor( AknsUtils::SkinInstance(),
-                              color, KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG10 );
-    itemDrawer->SetHighlightedTextColor( color );
-    AknsUtils::GetCachedColor( AknsUtils::SkinInstance(),
-                               color, KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG7 );
-    iItemDrawer->SetTextColor( color );
-    }
-
-    // setting text box size in listbox
-    TAknTextLineLayout textLineLayout =
-        AKN_LAYOUT_TEXT_List_pane_text__single_japan_fep__Line_1(
-            iMaximumColumns - KLAFBaseListColumns);
-    TSize itemSize = View()->ItemSize();
-
-    AknListBoxLayouts::SetupFormAntiFlickerTextCell(
-            listBox, itemDrawer, 0, textLineLayout,
-            TPoint(0, 0),
-            TPoint(itemSize.iWidth, itemSize.iHeight)); // CheckColor.
-
-    CEikFormattedCellListBox::SizeChanged();
-
-    // Scroll bar
-    TAknWindowLineLayout scrollLineLayout = AknLayoutScalable_Avkon::scroll_pane_cp30().LayoutLine();
-    scrollLineLayout.il = ELayoutEmpty;
-    if (Model()->NumberOfItems() <= iMaximumRows)
-        {
-        scrollLineLayout.iW = 0;
-        }
-    TRect scrollBarParent = TRect(TPoint(listBox.Rect().iTl), 
-                                  TSize(listBox.Rect().Width() + scrollLineLayout.iW + scrollLineLayout.ir,
-                                        listBox.Rect().Height()));
-    AknLayoutUtils::LayoutVerticalScrollBar(iSBFrame, scrollBarParent, scrollLineLayout);
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidateListbox::MakeViewClassInstanceL
-// Create view class
-// -----------------------------------------------------------------------------
-//
-CListBoxView* CAknFepUICtrlJapaneseCandidateListbox::MakeViewClassInstanceL()
-    {
-    return new(ELeave) CAknFepUICtrlJapaneseCandidateListboxView;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidateListbox::CreateItemDrawerL
-// Create ItemDrawer
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapaneseCandidateListbox::CreateItemDrawerL()
-    {
-    CAknFepUICtrlJapaneseCandidateCellListBoxData* cellData =
-        CAknFepUICtrlJapaneseCandidateCellListBoxData::NewL();
-    CleanupStack::PushL( cellData );
-
-    // getting font object
-    TAknTextLineLayout textLineLayout =
-        AKN_LAYOUT_TEXT_List_pane_text__single_japan_fep__Line_1(0);
-    const CFont* font = AknLayoutUtils::FontFromId(textLineLayout.iFont);
-
-    iItemDrawer =
-        new(ELeave) CFormattedCellListBoxItemDrawer(Model(), font, cellData);
-    CleanupStack::Pop(cellData);
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidateListbox::SetMaximumRows
-// Set maximum visible rows in listbox
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapaneseCandidateListbox::SetMaximumRows(
-        const TInt aMaximumRows)
-    {
-    iMaximumRows = aMaximumRows;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidateListbox::HandlePointerEventL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapaneseCandidateListbox::HandlePointerEventL(const TPointerEvent& aPointerEvent)
-    {
-    const TInt old = CurrentItemIndex();
-    CAknSinglePopupMenuStyleListBox::HandlePointerEventL(aPointerEvent);
-    switch (aPointerEvent.iType)
-        {
-        case TPointerEvent::EButton1Up:
-            break;
-        case TPointerEvent::EButton1Down:
-            {
-            if (CurrentItemIndex() != old)
-                {
-                ReportListBoxEventL(MEikListBoxObserver::EEventItemDraggingActioned);// need draw.
-                }
-            }
-            break;
-        default:
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidateListbox::HandleScrollEventL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-void CAknFepUICtrlJapaneseCandidateListbox::HandleScrollEventL(
-                                                    CEikScrollBar* aScrollBar,
-                                                    TEikScrollEvent aEventType)
-    {
-    TInt oldThumbPos = (aEventType & KEikScrollEventBarMask) ?
-                                iView->HScrollOffset() : iView->TopItemIndex();
-    TInt newThumbPos = aScrollBar->ThumbPosition();
-    TInt maxThumbPos = static_cast<CTextListBoxModel*>(Model())->NumberOfItems()
-                                - MaximumRows();
-    TBool update = ETrue;
-    TInt newThumbPosBeforeCorrecting = newThumbPos;
-
-    if ((aEventType & KEikScrollEventBarMask) == KEikScrollEventFromVBar)
-        {
-        switch (aEventType)
-            {
-            case EEikScrollUp:
-                if ( oldThumbPos == 0  && (iListBoxFlags & ELoopScrolling))
-                    {
-                    newThumbPos = maxThumbPos;
-                    }
-                break;
-            case EEikScrollDown:
-                if ( oldThumbPos == maxThumbPos && (iListBoxFlags & ELoopScrolling) )
-                    {
-                    newThumbPos = 0;
-                    }
-                break;
-            case EEikScrollPageUp:
-            case EEikScrollPageDown:
-            case EEikScrollThumbDragVert:
-                break;
-            case EEikScrollThumbReleaseVert:
-                // in the case of drag events, the scrollbar automatically updates its thumb pos...
-                if(AknLayoutUtils::PenEnabled())
-                    {
-                    update = EFalse;
-                    }
-                break;
-
-            default:
-                break;
-            }
-        if ( (!AknLayoutUtils::PenEnabled()) || update )
-            {
-            iView->VScrollTo(newThumbPos);
-            if (aEventType != EEikScrollThumbDragVert)
-                {
-                aScrollBar->SetModelThumbPosition(iView->TopItemIndex());
-                }
-            }
-
-        // if event has changed thumb position, then update scroll bar
-        if ( AknLayoutUtils::PenEnabled() && newThumbPos != newThumbPosBeforeCorrecting )
-            {
-            UpdateScrollBarThumbs();
-            }
-        }
-    }
-
-
-// End of File
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlJapaneseCandidateListboxView.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:            Candidate list
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include <eikdef.h>
-
-#include <aknViewAppUi.h>
-#include <avkon.hrh>
-#include <aknPopup.h>
-#include <aknlists.h>
-
-#include "AknFepUiInterfacePanic.h"
-#include "AknFepUIAvkonCtrlJapaneseCandidateListboxView.h" 
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-#define ITEM_EXISTS_BEGIN TInt no_of_items__ = iModel->NumberOfItems()
-#define ITEM_EXISTS(x) (((x) > -1) && ((x) < no_of_items__))
-
-#define ITEM_EXISTS_ONCE(x) (((x) > -1) && ((x) < iModel->NumberOfItems()))
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidateListboxView::Draw
-// Drawing listbox
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapaneseCandidateListboxView::Draw(
-        const TRect* /*aClipRect*/) const
-    {
-    if (RedrawDisabled() || !IsVisible())
-        return;
-
-    if (iModel->NumberOfItems() > 0)
-        {
-        TInt firstPotentialItemIndex = iTopItemIndex;
-        TInt lastPotentialItemIndex =
-            iTopItemIndex + NumberOfItemsThatFitInRect(iViewRect) - 1;
-        TInt i;
-        ITEM_EXISTS_BEGIN;
-        for (i = firstPotentialItemIndex; i <= lastPotentialItemIndex; i++)
-            {
-            if (ITEM_EXISTS(i))
-                {
-                DrawItem(i);
-                }
-            else
-                {
-                break;
-                }
-            }
-        }
-    } 
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidateListboxView::DrawItem
-// Drawing item of index appointed with an argument
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapaneseCandidateListboxView::DrawItem(
-        TInt aItemIndex) const
-    {
-    if (RedrawDisabled() || !IsVisible())
-        {
-        return;
-        }
-
-    if (((aItemIndex > -1) && (aItemIndex < iModel->NumberOfItems()))
-        && ItemIsVisible(aItemIndex))
-        {
-        iItemDrawer->DrawItem(
-            aItemIndex,
-            ItemPos(aItemIndex),
-            ItemIsSelected(aItemIndex),
-            (aItemIndex == iCurrentItemIndex),
-            (iFlags & EEmphasized) > 0,
-            (iFlags & EDimmed) > 0);
-        }
-    }
-
-// End of File
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlJapaneseCandidatePane.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,973 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:            Candidate list
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include <eikdef.h>
-#include <aknViewAppUi.h>
-#include <avkon.hrh>
-#include <aknPopup.h>
-#include <aknlists.h>
-#include <aknPopupHeadingPane.h>
-#include <AknsDrawUtils.h>
-#include <AknsBasicBackgroundControlContext.h>
-#include <AknLayout.lag>
-#include <aknfep.rsg>
-
-#include <skinlayout.cdl.h>
-#include <AknLayout2ScalableDef.h>
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <layoutmetadata.cdl.h>
-
-#include "AknFepUiInterfacePanic.h"
-#include "AknFepUIAvkonCtrlJapaneseCandidateListbox.h"
-#include "AknFepUIAvkonCtrlJapaneseCandidateHeadingPane.h"
-#include "AknFepUIAvkonCtrlJapaneseCandidatePane.h"
-#include "AknFepUIManagerJapanese.h"
-
-// CONSTANTS
-const TInt KMaxTitleLength = 32;
-
-const TInt KMaxListRows = 7;
-const TInt KMinListRows = 5;
-const TInt KMaxListColumns = 9;
-const TInt KMinListColumns = 3;
-const TInt KLAFBaseListColumns = 3;
-const TInt KLAFBaseListRows = 1;
-
-const TInt KLAFBelowTextBaseline = 2;
-const TInt KLAFAboveTextBaseline = 1;
-const TInt KListboxMarge = 4;
-
-/**
-*  CAknFepUICtrlJapaneseCandidatePane class.
-*
-*/
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidatePane::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CAknFepUICtrlJapaneseCandidatePane* CAknFepUICtrlJapaneseCandidatePane::NewL(CAknFepUIManagerJapanese* aUiMng)
-    {
-    CAknFepUICtrlJapaneseCandidatePane* self =
-        new(ELeave) CAknFepUICtrlJapaneseCandidatePane(aUiMng);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(self);    // self
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidatePane::~CAknFepUICtrlJapaneseCandidatePane
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CAknFepUICtrlJapaneseCandidatePane::~CAknFepUICtrlJapaneseCandidatePane()
-    {
-    if (IsVisible())
-        {
-        HideWindow();
-        }
-    if (iListBox)
-        {
-        delete iListBox;
-        iListBox = NULL;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidatePane::ShowWindow
-// Show Pop-up list
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapaneseCandidatePane::ShowWindow()
-    {
-    RWindow& window=Window();
-    //Set ordinal position to top
-    window.SetOrdinalPosition(0,ECoeWinPriorityFep);
-    window.SetFaded(EFalse, RWindowTreeNode::EFadeIncludeChildren);
-    window.SetPointerCapture(ETrue);
-    TRAP_IGNORE( ActivateL());
-    MakeVisible(ETrue);
-    DrawNow();
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidatePane::CloseCandidateList
-// Close Pop-up list
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapaneseCandidatePane::CloseCandidateList()
-    {
-    CancelPopup();
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidatePane::SetCurrentItemIndex
-// Specify the cursor position of a pop-up list.
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapaneseCandidatePane::SetCurrentItemIndexL(
-        TInt aItemIndex,
-        TBool aDraw)
-    {
-    CTextListBoxModel* model =
-        static_cast<CTextListBoxModel*>(ListBox()->Model());
-    TInt numOfItem = model->NumberOfItems();
-    TBuf<KMaxTitleLength> title;
-    title.Format(_L("%d / %d"), aItemIndex + 1, numOfItem);
-    SetTitleL(title);
-
-    if (aDraw)
-        {
-        iListBox->SetCurrentItemIndexAndDraw(aItemIndex);
-        iTitle->DrawNow();
-        }
-    else
-        {
-        iListBox->SetCurrentItemIndex(aItemIndex);
-        }
-
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidatePane::SetOffsetPosition
-// Specify the display position of a pop-up list
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapaneseCandidatePane::SetOffsetPosition(TPoint aOffset)
-    {
-    iOffsetPosition = aOffset;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidatePane::SetWindowPosition
-// Set the drawing position for candidate list popup window
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapaneseCandidatePane::SetWindowPosition(
-        const TPoint& aLeftSideOfBaseLine, TInt aHeight, TInt aAscent)
-    {
-    // getting rectangle for main pane
-    TRect screen =
-        TRect(0, 0,
-              AKN_LAYOUT_WINDOW_screen.iW, AKN_LAYOUT_WINDOW_screen.iH);
-    TAknLayoutRect main_pane;
-    main_pane.LayoutRect(screen, AKN_LAYOUT_WINDOW_main_pane(screen, 0, 1, 1));
-    iMainPaneRect = main_pane.Rect();
-
-    TInt leftPos = aLeftSideOfBaseLine.iX;
-    if (leftPos < 0)
-        {
-        leftPos = iOffsetPosition.iX;
-        }
-
-    TPoint windowOffset(
-        leftPos,
-        aLeftSideOfBaseLine.iY + aHeight - aAscent - iMainPaneRect.iTl.iY);
-    SetOffsetPosition(windowOffset);
-
-    iSrcTextHeight = aHeight;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidatePane::ShowCandidateListL
-// Show Pop-up list
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapaneseCandidatePane::ShowCandidateListL(
-        CDesCArrayFlat* aItems, TInt aIndex, TInt aResourceID)
-    {
-    __ASSERT_DEBUG(aItems->Count() > 0,
-                   AknFepUiInterfacePanic(EAknFepUiInterfacePanicCandidatesEmpty));
-
-    // Set listitems.
-    CTextListBoxModel* model =
-        static_cast<CTextListBoxModel*>(ListBox()->Model());
-    model->SetItemTextArray(aItems);
-    model->SetOwnershipType(ELbmDoesNotOwnItemArray);
-
-    iMaximumColumns = MaximumColumns(model);
-    iMaximumRows    = MaximumRows(model);
-
-    SetCurrentItemIndexL(aIndex, EFalse);
-    SetMaximumHeight(iMaximumRows);
-
-    CAknFepUICtrlJapaneseCandidateListbox* listBox =
-        static_cast<CAknFepUICtrlJapaneseCandidateListbox*>(ListBox());
-
-    listBox->SetMaximumColumns(iMaximumColumns);
-
-    // Show popup list
-    TBool notShowingPopup = model->NumberOfItems() == 0 && iWindowType < 0x80;
-    if (!notShowingPopup)
-        {
-        const TSize screenSize=iCoeEnv->ScreenDevice()->SizeInPixels();
-        iPopoutCba->SetBoundingRect(TRect(screenSize));
-        }
-
-    // Create a CBA for use with the popup
-    if (aResourceID)
-        {
-        UpdateCbaL(aResourceID);
-        }
-
-    SetupWindowLayout(iWindowType);
-
-    iListBox->SetListBoxObserver(this);
-    iPopoutCba->MakeVisible(ETrue);
-
-    if (iMarkable)
-        {
-        // If markable, set the popup to observe event change events.
-        // Call HandleControlEvent to set the CBA appropriate to the 1st item
-        iListBox->SetObserver(this);
-        HandleControlEventL(iListBox, EEventStateChanged);
-        }
-
-    if (IsVisible())
-        {
-        DrawDeferred();
-        }
-    else
-        {
-        ShowWindow();
-        ActivateL();
-        ShowWindowCbaL();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidatePane::HideWindow
-// Hide Pop-up list
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapaneseCandidatePane::HideWindow()
-    {
-    MakeVisible(EFalse);
-    Window().SetPointerCapture(EFalse);
-
-    iEikonEnv->RemoveFromStack(iPopoutCba);
-
-    iPopoutCba->MakeVisible(EFalse);
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidatePane::CurrentItemIndexOfCandidate
-// Return a selected candidate item number currently
-// -----------------------------------------------------------------------------
-//
-TInt CAknFepUICtrlJapaneseCandidatePane::CurrentItemIndexOfCandidate()
-    {
-    return iListBox->CurrentItemIndex();
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidatePane::MoveItem
-// Move a current item in an appointed direction
-// -----------------------------------------------------------------------------
-//
-TInt CAknFepUICtrlJapaneseCandidatePane::MoveItem(
-        TAknFepUICtrlScroll aDirection)
-    {
-    __ASSERT_DEBUG(iListBox->IsVisible(),
-                   AknFepUiInterfacePanic(EAknFepUiInterfacePanicNoCandidatePane));
-
-    TInt index = iListBox->CurrentItemIndex();
-
-    CTextListBoxModel* model =
-        static_cast<CTextListBoxModel*>(ListBox()->Model());
-    const TInt numberOfItems = model->NumberOfItems();
-
-    switch(aDirection)
-        {
-        case EScrollUp:
-            {
-            --index;
-            if (index < 0)
-                index = numberOfItems - 1;
-            }
-        break;
-
-        case EScrollDown:
-            {
-            ++index;
-            if (index >= numberOfItems)
-                index = 0;
-            }
-        break;
-
-        default:
-            {
-            //Panic
-            AknFepUiInterfacePanic(EAknFepUiInterfacePanicCandidatePaneNotSupportScrollDirection);
-            }
-        break;
-        }
-    TRAPD(err, SetCurrentItemIndexL(index, ETrue));
-    if (err != KErrNone)
-        {
-        HideWindow();
-        index = 0;
-        }
-    return index;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidatePane::SetupWindowLayout
-// Set up a window layout type
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapaneseCandidatePane::SetupWindowLayout(
-        AknPopupLayouts::TAknPopupLayouts /*aType*/)
-    {
-    HandleSizeChanged(Layout(), Heading(), ListBox(), this);
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidatePane::AttemptExitL
-// Set the title for the selection list
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapaneseCandidatePane::AttemptExitL(TBool aAccept)
-    {
-    if (iReturn) //Always not null unless ExecuteLD leaves
-        *iReturn = aAccept;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidatePane::MopSupplyObject
-// -----------------------------------------------------------------------------
-//
-TTypeUid::Ptr CAknFepUICtrlJapaneseCandidatePane::MopSupplyObject(TTypeUid aId)
-    {
-    SetMopParent( iEikonEnv->EikAppUi() );
-    return CAknPopupList::MopSupplyObject(aId);
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictivePane::CAknFepUICtrlJapanesePredictivePane
-// Constructor
-// -----------------------------------------------------------------------------
-//
-CAknFepUICtrlJapaneseCandidatePane::CAknFepUICtrlJapaneseCandidatePane(CAknFepUIManagerJapanese* aUiMng)
-    : iUiMng(aUiMng)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidatePane::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapaneseCandidatePane::ConstructL()
-    {
-    // Create listbox.
-    CAknFepUICtrlJapaneseCandidateListbox* list =
-                new(ELeave) CAknFepUICtrlJapaneseCandidateListbox;
-    // "iListBox" member variable is defined in CAknPopupList class.
-    iListBox = list;
-    CAknPopupList::ConstructL(
-        iListBox, R_AKNFEP_SOFTKEYS_EMPTY_EMPTY_COMMIT, AknPopupLayouts::EMenuWindow);
-
-    list->ConstructL(this, CEikListBox::ELeftDownInViewRect);
-    list->CreateScrollBarFrameL(ETrue);
-    list->ScrollBarFrame()->SetScrollBarVisibilityL(
-                                CEikScrollBarFrame::EOff,
-                                CEikScrollBarFrame::EAuto);
-    iEikonEnv->RemoveFromStack(this);
-    SetNonFocusing();
-    MakeVisible(EFalse);
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidatePane::SetTitleL
-// Set the title for the selection list
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapaneseCandidatePane::SetTitleL(const TDesC& aTitle)
-    {
-    if (!iTitle)
-        {
-        iTitle = new(ELeave) CAknFepUICtrlJapaneseCandidateHeadingPane;
-        iTitle->SetContainerWindowL(*this);
-        iTitle->ConstructL(aTitle);
-        iTitle->SetMopParent(iListBox);
-        }
-    else
-        {
-        iTitle->SetTextL(aTitle);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidatePane::HandleSizeChanged
-// The handler function for size change
-// Original function is AknPopupLayouts::HandleSizeChanged()
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapaneseCandidatePane::HandleSizeChanged(
-        TAknPopupWindowLayoutDef &aDef,
-        CAknPopupHeadingPane *aHeading,
-        CEikListBox *aListBox,
-        CCoeControl *aWindowOwningControl)
-    {
-    if ( aHeading )
-        {
-        aHeading->SetLayout( CAknPopupHeadingPane::EListHeadingPane );
-        aHeading->SetSkinFrameId(TAknsItemID());
-        aHeading->SetSkinFrameCenterId(TAknsItemID());
-        }
-
-    TInt numofitems = aListBox->Model()->NumberOfItems();
-
-    TInt minItems = iMaximumRows;
-    TInt maxItems = KMaxListRows;
-
-    if (aDef.iMaximumHeight)
-        {
-        maxItems = aDef.iMaximumHeight;
-        }
-    AknPopupLayouts::CheckRange(numofitems, minItems, maxItems);
-    CalcPopupMenuWindow(aDef, iMainPaneRect, numofitems);
-    SetupMenuPopupWindow(aDef, numofitems, aHeading != 0);
-
-    CAknFepUICtrlJapaneseCandidateListbox* listbox =
-        static_cast<CAknFepUICtrlJapaneseCandidateListbox*>(aListBox);
-    listbox->SetMaximumColumns(iMaximumColumns);
-    listbox->SetMaximumRows(iMaximumRows);
-    SetMaximumHeight(iMaximumRows);
-
-    aWindowOwningControl->SetRect(AknPopupLayouts::WindowRect(aDef));
-    HandleSizeAndPositionOfComponents(aDef, aListBox, aHeading);
-
-    TRect windowRect = AknPopupLayouts::WindowRect(aDef);
-    MAknsControlContext *cc = AknsDrawUtils::ControlContext( aListBox );
-    TBool defaultContext = EFalse;
-    if (!cc)
-        {
-        cc = aListBox->View()->ItemDrawer()->SkinBackgroundControlContext();
-        defaultContext = ETrue;
-        }
-
-    if (cc)
-        {
-        CAknsBasicBackgroundControlContext *bcc =
-            (CAknsBasicBackgroundControlContext*)cc;
-        TAknLayoutRect popupBgRect;
-        popupBgRect.LayoutRect(
-            windowRect,
-            ELayoutEmpty,
-            0, 0, ELayoutEmpty, ELayoutEmpty,
-            windowRect.Size().iWidth, windowRect.Size().iHeight);
-        bcc->SetBitmap(KAknsIIDQsnFrPopupCenter);
-        if (defaultContext)
-            {
-            bcc->SetRect(popupBgRect.Rect());
-            }
-        bcc->SetParentPos(aWindowOwningControl->PositionRelativeToScreen());
-        if (defaultContext)
-            {
-            bcc->SetParentPos(TPoint(0,0));
-            }
-        }
-     }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidatePane::HandleDraw
-// The handler function for Draw
-// Original function is AknPopupLayouts::HandleDraw()
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapaneseCandidatePane::HandleDraw(CEikonEnv* /*aEikEnv*/,
-                  CWindowGc& aGc,
-                  const TAknPopupWindowLayoutDef& aDef,
-                  CEikListBox* aListBox,
-                  CAknPopupHeadingPane* aHeading)
-    {
-    TRect windowRect =
-        AknPopupLayouts::MenuRect(const_cast<TAknPopupWindowLayoutDef&>(aDef));
-    MAknsSkinInstance *skin = AknsUtils::SkinInstance();
-    MAknsControlContext *cc = AknsDrawUtils::ControlContext( aListBox );
-    TBool windowFrameDrawn = EFalse;
-    if (!cc)
-        {
-        cc = aListBox->View()->ItemDrawer()->SkinBackgroundControlContext();
-        }
-
-    if (cc)
-        {
-		TRegionFix<2> dontDrawRegion;
-		TRegionFix<8> drawRegion;
-		if ( aListBox )
-		    {
-	    	dontDrawRegion.AddRect( aListBox->Rect() );
-		    }
-		if ( aHeading )
-		    {
-	    	dontDrawRegion.AddRect( aHeading->Rect() );
-		    }
-		drawRegion.AddRect( windowRect );
-		drawRegion.SubRegion( dontDrawRegion );
-
-		const TAknsItemID *popupBgId = &KAknsIIDQsnBgPopupBackground;
-		TAknLayoutRect popupBgRect;
-        popupBgRect.LayoutRect(windowRect, SkinLayout::Popup_windows_skin_placing__background_slice__Line_1(windowRect));
-		AknsDrawUtils::DrawCachedImage(skin, aGc, popupBgRect.Rect(), *popupBgId);
-
-		const TAknsItemID *sliceId = &KAknsIIDQsnBgSlicePopup;
-		TAknLayoutRect sliceRect;
-        sliceRect.LayoutRect(windowRect, SkinLayout::Popup_windows_skin_placing__background_slice__Line_2());
-		AknsDrawUtils::DrawCachedImage(skin, aGc, sliceRect.Rect(), *sliceId);
-
-        // drawing frame
-        TAknLayoutRect topLeft;
-        topLeft.LayoutRect(
-            windowRect,
-            ELayoutEmpty, 0,0, ELayoutEmpty, ELayoutEmpty, KListboxMarge, KListboxMarge);
-
-        TAknLayoutRect bottomRight;
-        bottomRight.LayoutRect(
-            windowRect,
-            ELayoutEmpty,
-            ELayoutEmpty, ELayoutEmpty, 0, 0, KListboxMarge, KListboxMarge);
-
-        TRect outerRect = TRect(topLeft.Rect().iTl, bottomRight.Rect().iBr);
-        TRect innerRect = TRect(topLeft.Rect().iBr, bottomRight.Rect().iTl);
-        aGc.SetPenStyle(CGraphicsContext::ENullPen);
-        const TAknsItemID *frameId = &KAknsIIDQsnFrPopup;
-        const TAknsItemID *frameCenterId = &KAknsIIDQsnFrPopupCenter;
-		aGc.SetClippingRegion( drawRegion );
-        windowFrameDrawn =
-            AknsDrawUtils::DrawFrame(
-                skin, aGc,
-                outerRect, innerRect, *frameId, *frameCenterId);
-		aGc.CancelClippingRegion();
-        }
-
-    if (!windowFrameDrawn)
-        {
-        DrawWindowShadow(
-            aGc, aDef.iCover,
-            aDef.iSecond, aDef.iFirst, aDef.iOutline, aDef.iInside);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidatePane::CalcPopupMenuWindow
-// Set up the information on a pop-up window
-// Original function is AknPopupLayouts::CalcPopupMenuWindow()
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapaneseCandidatePane::CalcPopupMenuWindow(
-        TAknPopupWindowLayoutDef &aDef,const TRect& aRect, TInt /*num*/)
-    {
-    TAknLayoutRect popup_menu_window;
-
-    TBool sizeDesideFlag = EFalse;
-    TInt adjustOffsetX = 0;
-    TInt adjustOffsetY = 0;
-    TInt i;
-    TAknWindowLineLayout lafwidth =
-        AknLayoutScalable_Avkon::popup_fep_japan_candidate_window(iMaximumColumns - KLAFBaseListColumns).LayoutLine();
-
-    // calculating the number of indication line again in order to be able to arrange under a plan position
-    for (i = iMaximumRows; i >= KLAFBaseListRows && !sizeDesideFlag; i--)
-        {
-        TAknWindowLineLayout laf =
-            AknLayoutScalable_Avkon::popup_fep_japan_candidate_window(i).LayoutLine();
-        laf.il = 0;
-        laf.it = 0;
-        laf.iW = lafwidth.iW;
-        popup_menu_window.LayoutRect(aRect, laf);
-        // calculate a drawing position Y
-        TInt drawY = iMainPaneRect.iTl.iY + iOffsetPosition.iY
-                         + KLAFBelowTextBaseline + popup_menu_window.Rect().Height();
-        if (drawY < iMainPaneRect.iBr.iY)
-            {
-            adjustOffsetY = (-1) * KLAFBelowTextBaseline;
-            iMaximumRows = i;
-            sizeDesideFlag = ETrue;
-            }
-        if (iMaximumRows >= KMinListRows && i == KMinListRows)
-            {
-            break;
-            }
-        }
-
-    // if popup window cannot be arranged under a plan positon, it try whether popup is arranged top or not.
-    //
-    for (i = iMaximumRows; i >= KLAFBaseListRows && !sizeDesideFlag; i--)
-        {
-        TAknWindowLineLayout laf =
-            AknLayoutScalable_Avkon::popup_fep_japan_candidate_window(i).LayoutLine();
-        laf.il = 0;
-        laf.it = 0;
-        laf.iW = lafwidth.iW;
-        popup_menu_window.LayoutRect(aRect, laf);
-        // calculate a drawing position Y
-        TInt drawY = iMainPaneRect.iTl.iY + iOffsetPosition.iY - KLAFAboveTextBaseline
-                    - iSrcTextHeight - popup_menu_window.Rect().Height();
-        if (drawY > iMainPaneRect.iTl.iY)
-            {
-            adjustOffsetY = iSrcTextHeight + KLAFAboveTextBaseline + popup_menu_window.Rect().Height();
-            iMaximumRows = i;
-            sizeDesideFlag = ETrue;
-            }
-        if (iMaximumRows >= KMinListRows && i == KMinListRows)
-            {
-            break;
-            }
-        }
-
-    // In case popup window cannot be arrange both under and top,
-    // popup is shown on the bottom on screen.
-    if (!sizeDesideFlag)
-        {
-        TAknWindowLineLayout laf =
-            AknLayoutScalable_Avkon::popup_fep_japan_candidate_window(KMinListRows).LayoutLine();
-        laf.il = 0;
-        laf.it = 0;
-        laf.iW = lafwidth.iW;
-        popup_menu_window.LayoutRect(aRect, laf);
-        adjustOffsetY = iMainPaneRect.iTl.iY + iOffsetPosition.iY + KLAFBelowTextBaseline
-                      + popup_menu_window.Rect().Height()
-                      - iMainPaneRect.iBr.iY;
-        iMaximumRows = KMinListRows;
-        sizeDesideFlag = ETrue;
-        }
-
-    adjustOffsetX =
-        iMainPaneRect.iTl.iX
-        + iOffsetPosition.iX
-        + popup_menu_window.Rect().Width() - iMainPaneRect.iBr.iX;
-    adjustOffsetX = (adjustOffsetX > 0) ? adjustOffsetX : 0;
-    TPoint adjustOffset(-adjustOffsetX, -adjustOffsetY);
-
-    aDef.iWindowRect = popup_menu_window.Rect();
-    aDef.iWindowRect.Move(iOffsetPosition);
-    aDef.iWindowRect.Move(adjustOffset);
-
-    // getting a information of shadow in candidate list
-    TRect window_rect = AknPopupLayouts::MenuRect(aDef);
-
-    TAknWindowLineLayout laf1 =
-        AKN_LAYOUT_WINDOW_Candidate_selection_pop_up_window_graphics_Line_1(
-            aDef.iWindowRect);
-    laf1.iW = TInt16(aDef.iWindowRect.Width());
-    TAknWindowLineLayout laf2 =
-        AKN_LAYOUT_WINDOW_Candidate_selection_pop_up_window_graphics_Line_2(
-            aDef.iWindowRect);
-    laf2.iW = TInt16(aDef.iWindowRect.Width() - 4);
-    TAknWindowLineLayout laf3 =
-        AKN_LAYOUT_WINDOW_Candidate_selection_pop_up_window_graphics_Line_3(
-            aDef.iWindowRect);
-    laf3.iW = TInt16(aDef.iWindowRect.Width() - 3);
-    TAknWindowLineLayout laf4 =
-        AKN_LAYOUT_WINDOW_Candidate_selection_pop_up_window_graphics_Line_4(
-            aDef.iWindowRect);
-    laf4.iW = TInt16(aDef.iWindowRect.Width() - 5);
-
-    aDef.iCover.LayoutRect(window_rect, laf1);
-    aDef.iSecond.LayoutRect(window_rect, laf2);
-    aDef.iFirst.LayoutRect(window_rect, laf2);
-    aDef.iOutline.LayoutRect(window_rect, laf3);
-    aDef.iInside.LayoutRect(window_rect, laf4);
-    aDef.iPopupMenuWindowOffset = TPoint(0, 0);
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidatePane::SetupMenuPopupWindow
-// Set up the information on a pop-up window
-// Original function is AknPopupLayouts::SetupMenuPopupWindow()
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapaneseCandidatePane::SetupMenuPopupWindow(
-        TAknPopupWindowLayoutDef &aDef, TInt /*num*/, TBool /*heading*/)
-    {
-    AknPopupLayouts::SetupDefaults(aDef);
-    TRect window_rect = AknPopupLayouts::MenuRect(aDef);
-
-    // setting window size of listbox pane
-    // Those arguments aren't used in it.
-    TAknWindowLineLayout laf = AKN_LAYOUT_WINDOW_candidate_pane(0,0);
-    TAknWindowLineLayout textWindowLayout =
-        AKN_LAYOUT_WINDOW_list_single_popup_jap_candidate_pane(0,0);
-    laf.ib = ELayoutEmpty;
-    laf.iH = iMaximumRows * textWindowLayout.iH;
-    aDef.iListRect.LayoutRect(window_rect, laf);
-
-    // setting window size of heading pane
-    //   calculating window size of heading pane based on a shadow of popup window
-    //
-    TAknTextLineLayout lafHead =
-        AknLayoutScalable_Avkon::popup_fep_japan_candidate_window_t1().LayoutLine();
-
-    TRect rectFirstShadow = aDef.iFirst.Rect();
-    TRect rectListBox     = aDef.iListRect.Rect();
-    laf.it = (TInt16)(rectFirstShadow.iTl.iY - window_rect.iTl.iY);
-    laf.ib = ELayoutEmpty;
-    laf.iH = (TInt16)(rectListBox.iTl.iY - rectFirstShadow.iTl.iY);
-    aDef.iHeadingRect.LayoutRect(window_rect, laf);
-
-    CAknFepUICtrlJapaneseCandidateHeadingPane* headingPane =
-        static_cast<CAknFepUICtrlJapaneseCandidateHeadingPane*>(Heading());
-    headingPane->SetParentRect(aDef.iWindowRect);
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidatePane::HandleSizeAndPositionOfComponents
-// The handler function for size and a location
-// Original function is AknPopupLayouts::HandleSizeAndPositionOfComponents()
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapaneseCandidatePane::HandleSizeAndPositionOfComponents(
-        const TAknPopupWindowLayoutDef &aDef,
-        CCoeControl *aContent,
-        CAknPopupHeadingPane *aHeading)
-    {
-    TRect lbrect = aDef.iListRect.Rect();
-    TRect headrect;
-
-   if (AknLayoutUtils::ScalableLayoutInterfaceAvailable())
-        {
-        // set scroll size
-        CAknFepUICtrlJapaneseCandidateListbox* listBox =
-            static_cast<CAknFepUICtrlJapaneseCandidateListbox*>(aContent);
-        CTextListBoxModel* model = static_cast<CTextListBoxModel*>(listBox->Model());
-        const TInt items = model->NumberOfItems();
-        if (items > listBox->MaximumRows())
-            {
-            TAknWindowLineLayout scrollllinelayout = AknLayoutScalable_Avkon::scroll_pane_cp30().LayoutLine();
-            lbrect.iBr.iX -= scrollllinelayout.iW;
-            }
-        }
-
-    // set listbox view rectangle
-    aContent->SetRect(lbrect);
-    if (aHeading)
-        {
-        headrect = aDef.iHeadingRect.Rect();
-        aHeading->SetRect(headrect);
-        }
-
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidatePane::DrawWindowShadow
-// Draw window shadow
-//
-// Original function is AknDrawWithSkins::DrawWindowShadow()
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapaneseCandidatePane::DrawWindowShadow(
-        CWindowGc &aGc,
-        const TAknLayoutRect &aCoverRect,
-        const TAknLayoutRect &aSecondShadowRect,
-        const TAknLayoutRect &aFirstShadowRect,
-        const TAknLayoutRect &aOutlineFrameRect,
-        const TAknLayoutRect &aInsideAreaRect)
-    {
-    MAknsSkinInstance *skin = AknsUtils::SkinInstance();
-
-    TInt x2 = aFirstShadowRect.Rect().iTl.iX;
-    TInt x3 = aSecondShadowRect.Rect().iTl.iX;
-
-    TInt y2 = aFirstShadowRect.Rect().iTl.iY;
-    TInt y3 = aSecondShadowRect.Rect().iTl.iY;
-
-    TInt x4 = aOutlineFrameRect.Rect().iBr.iX;
-    TInt x5 = aFirstShadowRect.Rect().iBr.iX;
-    TInt x6 = aSecondShadowRect.Rect().iBr.iX;
-
-    TInt y4 = aOutlineFrameRect.Rect().iBr.iY;
-    TInt y5 = aFirstShadowRect.Rect().iBr.iY;
-    TInt y6 = aSecondShadowRect.Rect().iBr.iY;
-
-    aGc.SetBrushColor(aCoverRect.Color());
-    AknsDrawUtils::Background(skin, NULL, NULL, aGc, aCoverRect.Rect());
-    AknsDrawUtils::BackgroundBetweenRects(
-        skin, NULL, NULL, aGc,
-        TRect(x2,y2,x4-1,y4-1), aInsideAreaRect.Rect());
-
-    aOutlineFrameRect.DrawOutLineRect(aGc);
-    aGc.SetBrushColor(aFirstShadowRect.Color());
-    aGc.Clear(TRect(x2,y4,x5,y5));
-    aGc.Clear(TRect(x4,y2,x5,y4));
-    aGc.SetBrushColor(aSecondShadowRect.Color());
-    aGc.Clear(TRect(x3,y5,x6,y6));
-    aGc.Clear(TRect(x5,y3,x6,y5));
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidatePane::MaximumColumns
-// This function returns maximum columns to be able to display in listbox.
-// -----------------------------------------------------------------------------
-TInt CAknFepUICtrlJapaneseCandidatePane::MaximumColumns(
-        CTextListBoxModel* aModel)
-    {
-    TInt maximumCharacters = 0;
-    TInt numberOfItems = aModel->NumberOfItems();
-    TInt i;
-    for (i = 0; i < numberOfItems; i++)
-        {
-        TPtrC text = aModel->ItemText(i);
-        TInt textLength = text.Length();
-        if (maximumCharacters < textLength)
-            {
-            maximumCharacters = textLength;
-            }
-        }
-
-    TInt maximumColumns = Min(KMaxListColumns, maximumCharacters);
-    maximumColumns = Max(KMinListColumns, maximumColumns);
-
-    return maximumColumns;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidatePane::MaximumRows
-// This function returns maximum rows to be able to display in listbox.
-// -----------------------------------------------------------------------------
-TInt CAknFepUICtrlJapaneseCandidatePane::MaximumRows(
-        CTextListBoxModel* aModel)
-    {
-    TInt numberOfItems = aModel->NumberOfItems();
-    TInt maximumRows = Min(KMaxListRows, numberOfItems);
-
-    return maximumRows;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidatePane::Draw
-// Called by the framework to draw the control
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapaneseCandidatePane::Draw(const TRect& /*aRect*/) const
-    {
-    CWindowGc& gc = SystemGc();
-    gc.Clear();
-    HandleDraw(iEikonEnv, gc, Layout(), iListBox, Heading());
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidatePane::OfferKeyEventL
-// Handle key events. When a key event occurs
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CAknFepUICtrlJapaneseCandidatePane::OfferKeyEventL(
-        const TKeyEvent& /*aKeyEvent*/,TEventCode /*aType*/)
-    {
-    return EKeyWasNotConsumed;
-    }
-
-void CAknFepUICtrlJapaneseCandidatePane::ShowWindowCbaL()
-    {
-    RDrawableWindow* cbaWindow = iPopoutCba->ButtonGroup()->AsControl()->DrawableWindow();
-    cbaWindow->SetOrdinalPosition(0,ECoeWinPriorityFep);
-    cbaWindow->SetFaded(EFalse, RWindowTreeNode::EFadeWindowOnly);
-    cbaWindow->SetNonFading(ETrue);
-    iEikonEnv->EikAppUi()->AddToStackL(iPopoutCba,
-                                       ECoeStackPriorityFep,
-                                       ECoeStackFlagRefusesFocus);
-    iPopoutCba->ActivateL();
-    iPopoutCba->MakeVisible(ETrue);
-    iPopoutCba->DrawDeferred(); // to update the cba
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidatePane::ProcessCommandL
-// Processes events from the softkeys. Responds to EAknSoftkeyOk and EAknSoftkeyBack
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapaneseCandidatePane::ProcessCommandL(TInt aCommandId)
-    {
-    // Respond to softkey events
-    switch (aCommandId)
-        {
-        case EAknFepSoftkeyCommit:
-            iUiMng->HandleCommandL(aCommandId);
-            break;
-        case EAknFepSoftkeyRetroActiveHalf:
-        case EAknFepSoftkeyRetroActiveFull:
-            iUiMng->HandleCommandL(aCommandId);
-            break;
-        default:
-            CAknPopupList::ProcessCommandL(aCommandId);
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidatePane::UpdateCbaL
-// Changing the cba
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapaneseCandidatePane::UpdateCbaL(TInt aResourceID)
-    {
-    if (iCurrentResource == aResourceID)
-        {
-        return;
-        }
-
-    // store resource id
-    iPopoutCba->SetCommandSetL( aResourceID );
-    iCurrentResource = aResourceID;
-    iPopoutCba->DrawDeferred();
-    }
-
-// CallBack from ListBox
-// ---------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseCandidatePane::HandleListBoxEventL
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapaneseCandidatePane::HandleListBoxEventL(
-    CEikListBox* /*aListBox*/, TListBoxEvent aEventType)
-    {
-    switch (aEventType)
-        {
-        case EEventItemDraggingActioned: // Item Moved
-            DrawNow();
-            break;
-        case EEventItemClicked:
-            {
-            TKeyEvent ccpuStart = {EKeyOK, EStdKeyDevice3, 0, 0};
-            iEikonEnv->SimulateKeyEventL(ccpuStart, EEventKey);
-            }
-            break;
-        default:
-           break;
-        }
-    }
-// End of File
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlJapaneseKutenQueryDialog.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,454 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:            Kuten code query dialog
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include <barsread.h>
-
-#include <numberconversion.h>
-#include <AknQueryDialog.h>
-#include <aknQueryControl.h>
-#include <aknnotewrappers.h>                        // CAknInformationNote
-#include <aknsoundsystem.h>
-#include <charconv.h>
-#include <PtiDefs.h>                //keys
-#include <aknfep.rsg>
-#include <avkon.hrh>
-
-#include "AknFepUIAvkonCtrlJapaneseKutenQueryDialog.h"
-
-// MACROS
-
-// CONSTANTS
-const TInt KKutenCodeLength = 4;
-const TInt KDummyUnicode = 0xfffd;
-const TInt KTextKutenCodeErrorMaxSize = 32;
-const TText KHalfWidthNotSign = 0x00AC;
-const TText KFullWidthNotSign = 0xFFE2;
-
-// ================= MEMBER FUNCTIONS =========================================
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseKutenQueryDialog::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CAknFepUICtrlJapaneseKutenQueryDialog*
-CAknFepUICtrlJapaneseKutenQueryDialog::NewL(TInt& aCharCode, const TTone& aTone)
-    {
-    CAknFepUICtrlJapaneseKutenQueryDialog* self =
-        new (ELeave) CAknFepUICtrlJapaneseKutenQueryDialog(aCharCode, aTone);
-
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseKutenQueryDialog::~CAknFepUICtrlJapaneseKutenQueryDialog()
-// Destructor.
-// ----------------------------------------------------------------------------
-//
-CAknFepUICtrlJapaneseKutenQueryDialog::~CAknFepUICtrlJapaneseKutenQueryDialog()
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseKutenQueryDialog::OfferKeyEventL
-//
-// ----------------------------------------------------------------------------
-//
-TKeyResponse CAknFepUICtrlJapaneseKutenQueryDialog::OfferKeyEventL(const TKeyEvent& aKeyEvent,
-                                                                   TEventCode aType)
-{
-    if (aType == EEventKey)
-    {
-        TInt keyCode = aKeyEvent.iCode;
-        switch(keyCode)
-        {
-            case EPtiKey0:
-            case EPtiKey1:
-            case EPtiKey2:
-            case EPtiKey3:
-            case EPtiKey4:
-            case EPtiKey5:
-            case EPtiKey6:
-            case EPtiKey7:
-            case EPtiKey8:
-            case EPtiKey9:
-                {
-                    if (iDataText.Length() == KKutenCodeLength)
-                    {
-                        if (SoundSystem())
-                        {
-                        SoundSystem()->PlaySound(EErrorTone);
-                        }
-                    }
-                }
-                break;
-            default:
-                break;
-        }
-    }
-    return CAknTextQueryDialog::OfferKeyEventL(aKeyEvent, aType);
-}
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseKutenQueryDialog::OkToExitL
-// This function is called in case pressing OK or Cancel
-// -----------------------------------------------------------------------------
-//
-TBool CAknFepUICtrlJapaneseKutenQueryDialog::OkToExitL(TInt aButtonId)
-    {
-    TBool checkResult = EFalse;
-    iCharCode = ConvertKutenCode2Unicode();
-    if (iCharCode > 0)
-        {
-        checkResult = CAknTextQueryDialog::OkToExitL(aButtonId);
-        }
-    else
-        {
-        TResourceReader reader;
-        TBufC<KTextKutenCodeErrorMaxSize> string;
-        CCoeEnv::Static()->CreateResourceReaderLC(reader, R_AKNFEP_TEXT_KUTEN_INVALID_ERROR);
-        string = reader.ReadTPtrC();
-        CleanupStack::PopAndDestroy();      // reader
-
-        CAknInformationNote* dialog = new(ELeave) CAknInformationNote();
-        dialog->ExecuteLD(string);
-
-        CAknQueryControl* control = QueryControl();
-        if (control)
-            {
-            control->SetTextL(KNullDesC);
-            control->DrawNow();
-            }
-
-        UpdateLeftSoftKeyL();
-        }
-
-    return checkResult;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseKutenQueryDialog::UpdateLeftSoftKeyL
-// Updating left softkey
-//
-// If control text is ok then display left soft key
-// otherwise don't
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapaneseKutenQueryDialog::UpdateLeftSoftKeyL()
-    {
-    CAknQueryControl* control = QueryControl();
-    if ( control )
-        {
-        MakeLeftSoftkeyVisibleL();
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseKutenQueryDialog::CAknFepUICtrlJapaneseKutenQueryDialog()
-// Overload constructor.
-//-----------------------------------------------------------------------------
-//
-CAknFepUICtrlJapaneseKutenQueryDialog::CAknFepUICtrlJapaneseKutenQueryDialog(
-        TInt& aCharCode, const TTone& aTone)
-        : CAknTextQueryDialog(iBuffer, aTone),
-          iCharCode(aCharCode),
-          iCbaResId(R_AVKON_SOFTKEYS_CANCEL)
-    {
-    iCharCode = 0;
-    }
-
-TInt CAknFepUICtrlJapaneseKutenQueryDialog::ExecuteLD(TInt aResourceId)
-    {
-    PrepareLC(aResourceId);
-    CEikEdwin* edwin = STATIC_CAST(CEikEdwin*, (QueryControl()->ControlByLayoutOrNull(EDataLayout)));
-    edwin->SetAknEditorAllowedInputModes(EAknEditorNumericInputMode);
-    edwin->SetAknEditorNumericKeymap(EAknEditorPlainNumberModeKeymap);
-    return(RunLD());
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseKutenQueryDialog::MakeLeftSoftkeyVisibleL
-// Set visibility of the left softkey.
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapaneseKutenQueryDialog::MakeLeftSoftkeyVisibleL()
-    {
-    TBool visible = EFalse;
-    CAknQueryControl* control = QueryControl();
-    if (control)
-        {
-        control->GetText(iDataText);
-        if (iDataText.Length() == KKutenCodeLength)
-            {
-            visible = ETrue;
-            }
-        }
-    else
-        {
-        visible = EFalse;
-        }
-
-    TUint resid = R_AKNFEP_SOFTKEYS_EMPTY_CANCEL_EMPTY;
-    if (visible)
-        {
-        resid = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
-        }
-    if (iCbaResId != resid)
-        {
-        ButtonGroupContainer().SetCommandSetL(resid);
-        ButtonGroupContainer().DrawDeferred();
-        iCbaResId = resid;
-        }
-
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapaneseKutenQueryDialog::ConvertKutenCode2Unicode
-// Convert from Kuten code to unicode, Kuten code is 4 characters which inputted in query dialog.
-// -----------------------------------------------------------------------------
-TText CAknFepUICtrlJapaneseKutenQueryDialog::ConvertKutenCode2Unicode()
-    {
-    TText code = 0;
-    if (iBuffer.Length() == KKutenCodeLength)
-        {
-        TBuf<4 + 1> buf;
-        TBool valid = ETrue;
-        buf.FillZ(4 + 1);
-
-        for (TInt i = 0; i < KKutenCodeLength; ++i)
-            {
-            if ((iBuffer[i] >= '0') && (iBuffer[i] <= '9'))
-                {
-                buf[i] = (TText)(iBuffer[i] - '0');
-                }
-            else
-                {
-                valid = EFalse;
-                break;
-                }
-            }
-        if (valid)
-            {
-            TInt hi_code = buf[0] * 10 + buf[1] + 0x20;
-            TInt low_code = buf[2] * 10 + buf[3] + 0x20;
-            code = (TText)((hi_code << 8) + low_code);
-            AdjustJisCode(code);
-            code = JisToSjis((TText)code);
-            if (AdjustSjisCode(code))
-                {
-                code = ConvSjisToUnicode(code);
-                }
-            else
-                {
-                code = 0;
-                }
-            }
-        }
-
-    // '0244" Kuten codes is converted to '0x00AC' unicode of half-width
-    // character. In Japanese variant, Kuten code input must be always
-    // Full-width character, so it converts from '0x00AC' to '0xFFE2'
-    if (code == KHalfWidthNotSign)
-        {
-        code = KFullWidthNotSign;
-        }
-
-    return code;
-    }
-
-void CAknFepUICtrlJapaneseKutenQueryDialog::AdjustJisCode(TText& aJisCode)
-    {
-    TUint JisHi = (aJisCode >> 8) & 0x000000ff;
-    TUint JisLow = aJisCode & 0x000000ff;
-
-    if ((JisHi < EJisFirstMin) || (JisHi > EJisFirstMax))
-        {
-        JisHi = 0;
-        JisLow = 0;
-        }
-    else
-        {
-        if ((JisLow < EJisSecondMin) || (JisLow > EJisSecondMax))
-            {
-            JisHi = 0;
-            JisLow = 0;
-            }
-        else
-            {
-            if (JisHi == EJisFirstMax)
-                {
-                if (JisLow > EJisLastSecondMax)
-                    {
-                    JisHi = 0;
-                    JisLow = 0;
-                    }
-                }
-            }
-        }
-
-    aJisCode = (TText)((JisHi << 8) + JisLow);
-    return;
-    }
-
-TBool CAknFepUICtrlJapaneseKutenQueryDialog::AdjustSjisCode(TText& aSjisCode)
-{
-    TUint SjisHi = (aSjisCode >> 8) & 0x000000ff;
-    TUint SjisLow = aSjisCode & 0x000000ff;
-
-    if ((SjisHi < ESjisFirstMin1) || (SjisHi > ESjisFirstMax2)
-        || ((SjisHi > ESjisFirstMax1) && (SjisHi < ESjisFirstMin2)))
-        {
-        SjisHi = 0;
-        SjisLow = 0;
-        }
-    else
-        {
-        if ((SjisLow < ESjisSecondMin1) || (SjisLow > ESjisSecondMax2)
-            || ((SjisLow > ESjisSecondMax1) && (SjisLow < ESjisSecondMin2)))
-            {
-            SjisHi = 0;
-            SjisLow = 0;
-            }
-        
-        /*
-        else
-            {
-            if (SjisHi == ESjisFirstMax2)
-                {
-                if (SjisLow > ESjisSecondMax2)
-                    {
-                    SjisHi = 0;
-                    SjisLow = 0;
-                    }
-                }
-            }
-        */
-        }
-
-    if (CheckSjisCode((TText)((SjisHi << 8) + SjisLow)))
-        {
-        aSjisCode = (TText)((SjisHi << 8) + SjisLow);
-        return ETrue;
-        }
-    else
-        {
-        return EFalse;
-        }
-    }
-
-TText CAknFepUICtrlJapaneseKutenQueryDialog::JisToSjis(TText aJisCode)
-    {
-    if (aJisCode == 0)
-        {
-        return 0;
-        }
-
-    TUint jis_hi = (aJisCode >> 8) & 0x000000ff;    /* hi byte */
-    TUint jis_lo = aJisCode & 0x000000ff;           /* low byte */
-
-    jis_lo += 0x1F;
-    if  ((jis_hi & 1) == 0)
-        {
-        jis_hi >>= 1;
-        jis_hi--;
-        jis_lo += 0x5E;
-        }
-    else
-        {
-        jis_hi >>= 1;
-        }
-    if  (jis_lo >= 0x7F)
-        {
-        jis_lo++;
-        }
-    jis_hi += (jis_hi > 0x2E) ? 0xB1 : 0x71;
-
-    return (TText)((jis_hi << 8) + jis_lo);
-    }
-
-TBool CAknFepUICtrlJapaneseKutenQueryDialog::CheckSjisCode(TText aSjisCode)
-    {
-    const TText8 first = (TText8)((aSjisCode >> 8) & 0x000000ff);
-    const TText8 second = (TText8)(aSjisCode & 0x000000ff);
-    if ((((first >= ESjisFirstMin1) && (first <= ESjisFirstMax1))
-         || ((first >= ESjisFirstMin2) && (first <= ESjisFirstMax2)))
-        && (((second >= ESjisSecondMin1) && (second <= ESjisSecondMax1))
-            || ((second >= ESjisSecondMin2) && (second <= ESjisSecondMax2))))
-        {
-        return ETrue;
-        }
-    else
-        {
-        return EFalse;
-        }
-    }
-
-TText CAknFepUICtrlJapaneseKutenQueryDialog::ConvSjisToUnicode(TText aSjisCode)
-    {
-    TText8  sjis[2];
-    TText   unicode = 0;
-    if (aSjisCode & 0xff00)
-        {
-        sjis[0] = (TText8)((aSjisCode & 0xff00) >> 8);
-        sjis[1] = (TText8)(aSjisCode & 0x00ff);
-        }
-    else
-        {
-        sjis[0] = (TText8)aSjisCode;
-        sjis[1] = '\0';
-        }
-
-    TPtrC8 foreign((TUint8*)&sjis[0], sizeof sjis);
-    TPtr16 unicode_des((TUint16*)&unicode, 1);
-    RFs fileServerSession;
-
-    if (fileServerSession.Connect() == 0)
-        {
-        CCnvCharacterSetConverter*  charconv = NULL;
-        TRAPD(error, charconv = CCnvCharacterSetConverter::NewL());
-        if (error == KErrNone)
-            {
-            TRAP(error, charconv->PrepareToConvertToOrFromL(KCharacterSetIdentifierShiftJis, fileServerSession));
-            if (error == KErrNone)
-                {
-                TInt state = CCnvCharacterSetConverter::KStateDefault;
-                charconv->ConvertToUnicode(unicode_des, foreign, state);
-                }
-            delete charconv;
-            }
-        fileServerSession.Close();
-        }
-    if (unicode == (TText)KDummyUnicode)
-        {
-        unicode = 0;
-        }
-    return unicode;
-    }
-
-// End of File
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlJapanesePredictiveCellListBoxData.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,174 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:            Predictive candidate list
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include <eikdef.h>
-#include <aknViewAppUi.h>
-#include <avkon.hrh>
-#include <aknPopup.h>
-#include <aknlists.h>
-#include <AknsDrawUtils.h>
-#include <AknLayout.lag>
-#include <aknlayoutscalable_avkon.cdl.h>
-
-#include "AknFepUiInterfacePanic.h"
-#include "AknFepUIAvkonCtrlJapanesePredictiveCellListBoxData.h"
-
-#include <skinlayout.cdl.h>
-using namespace SkinLayout;
-
-// CONSTANTS
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictiveCellListBoxData::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CAknFepUICtrlJapanesePredictiveCellListBoxData*
-    CAknFepUICtrlJapanesePredictiveCellListBoxData::NewL()
-    {
-    CAknFepUICtrlJapanesePredictiveCellListBoxData* self =
-        new(ELeave) CAknFepUICtrlJapanesePredictiveCellListBoxData;
-    self->ConstructLD();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictiveCellListBoxData::SetHighlightArea
-// Setting rang of x-point to highlight
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapanesePredictiveCellListBoxData::SetHighlightArea(
-        TInt aHighlightStartXPos, TInt aHighlightEndXPos)
-    {
-    iHighlightStartXPos = aHighlightStartXPos;
-    iHighlightEndXPos   = aHighlightEndXPos;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictiveCellListBoxData::Draw
-// Drawing a item in listbox
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapanesePredictiveCellListBoxData::Draw(
-        TListItemProperties aProperties,
-        CWindowGc& aGc,
-        const TDesC* aText,
-        const TRect& aRect,
-        TBool aHighlight,
-        const TColors& aColors) const
-    {
-    const TRect& aItemRect = aRect;
-
-    aHighlight = (iHighlightStartXPos != 0 || iHighlightEndXPos != 0);
-    TRect highlightItemRect = aRect;
-
-    TAknTextLineLayout textLineLayout =
-        AKN_LAYOUT_TEXT_Predictive_candidate_selection_list_texts_Line_1(0,0);
-    TAknTextLineLayout highlighttextLineLayout =
-        AKN_LAYOUT_TEXT_Predictive_candidate_selection_list_texts_Line_1(1,0);
-    TAknWindowLineLayout laf =
-        AKN_LAYOUT_WINDOW_Predictive_candidate_selection_popup_window_graphics_Line_4(aItemRect);
-    TAknLayoutText textlay;
-    textlay.LayoutText(aItemRect, textLineLayout);
-    TAknTextComponentLayout scal = AknLayoutScalable_Avkon::popup_fep_japan_predictive_window_t1(0);
-
-    highlightItemRect.iBr.iX = highlightItemRect.iTl.iX + iHighlightEndXPos;
-    highlightItemRect.iTl.iX = highlightItemRect.iTl.iX + iHighlightStartXPos;
-    DrawDefaultHighlight(aGc, highlightItemRect, aHighlight);
-
-    // Draw the actual items.
-    DrawFormatted(aProperties, aGc, aText, aItemRect, EFalse, aColors);
-
-    aGc.Reset();
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictiveCellListBoxData::DrawDefaultHighlight
-// Highlighting a item
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapanesePredictiveCellListBoxData::DrawDefaultHighlight(
-        CWindowGc& aGc,
-        const TRect& aItemRect,
-        TBool aHighlight) const
-    {
-    if (aHighlight)
-        {
-        MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-        TBool highlightDrawn = EFalse;
-        MAknsControlContext* cc = AknsDrawUtils::ControlContext(Control());
-        if (!cc)
-            {
-            cc = SkinBackgroundContext();
-            }
-
-        if (cc)
-            {
-            TAknWindowLineLayout layCorner = List_highlight_skin_placing__general__Line_2();
-            TAknLayoutRect topLeft;
-            topLeft.LayoutRect(
-                aItemRect,
-                ELayoutEmpty,
-                0, 0, ELayoutEmpty, ELayoutEmpty, layCorner.iW, layCorner.iH);
-
-            TAknLayoutRect bottomRight;
-            bottomRight.LayoutRect(
-                aItemRect,
-                ELayoutEmpty,
-                ELayoutEmpty, ELayoutEmpty, -layCorner.iW, 0, layCorner.iW, layCorner.iH);
-
-            TRect outerRect = TRect(topLeft.Rect().iTl, bottomRight.Rect().iBr);
-            TRect innerRect = TRect(topLeft.Rect().iBr, bottomRight.Rect().iTl);
-            aGc.SetPenStyle(CGraphicsContext::ENullPen);
-
-            const TAknsItemID* skinHighlightFrameId = &KAknsIIDQsnFrList;
-            const TAknsItemID* skinHighlightFrameCenterId = &KAknsIIDQsnFrListCenter;
-            highlightDrawn =
-                AknsDrawUtils::DrawFrame(
-                    skin, aGc, outerRect, innerRect,
-                    *skinHighlightFrameId, *skinHighlightFrameCenterId);
-            }
-
-        if (!highlightDrawn)
-            {
-            TAknWindowLineLayout hl = AKN_LAYOUT_WINDOW_Predictive_candidate_selection_highlight_Line_1;
-            hl.iW = ELayoutEmpty;
-            hl.il += 1;
-            hl.it += 1;
-            hl.ir = -1;
-            TAknLayoutRect highlight;
-            highlight.LayoutRect(aItemRect, hl);
-            highlight.DrawRect(aGc);
-            }
-        }
-    }
-
-// End of File
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlJapanesePredictiveListBoxModel.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,188 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:            Predictive candidate list
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include <eikdef.h>
-#include <aknViewAppUi.h>
-#include <avkon.hrh>
-#include <aknPopup.h>
-#include <aknlists.h>
-
-#include "AknFepUiInterfacePanic.h"
-#include "AknFepUIAvkonCtrlJapanesePredictiveListBoxModel.h"
-#include "AknFepUIAvkonCtrlJapanesePredictivePane.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-// -----------------------------------------------------------------------------
-// CPredictivePopupLineInfo::~CPredictivePopupLineInfo
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CPredictivePopupLineInfo::~CPredictivePopupLineInfo()
-    {
-    delete iLineText;
-    delete iElementsOnLine;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictiveListBoxModel::SetLineInfoArray
-// Registering a array with candidate line information
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapanesePredictiveListBoxModel::SetLineInfoArray(
-        CPredictivePopupLineInfoArray* aLineInfoArray)
-    {
-    iLineInfoArray = aLineInfoArray;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictiveListBoxModel::LineInfoArray
-// Returning a arrary with candidate line information
-// -----------------------------------------------------------------------------
-//
-CPredictivePopupLineInfoArray*
-    CAknFepUICtrlJapanesePredictiveListBoxModel::LineInfoArray() const
-    {
-    return iLineInfoArray;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictiveListBoxModel::SearchItemIndexFromCandidateNo
-// This function searches a item index as key in a candidate number
-// -----------------------------------------------------------------------------
-//
-TInt CAknFepUICtrlJapanesePredictiveListBoxModel::SearchItemIndexFromCandidateNo(
-        TInt aCandidateNo) const
-    {
-    TInt lineNo = -1;
-    const TInt numberOfLine = iLineInfoArray->Count();
-    TInt i;
-    for (i = 0; i < numberOfLine && lineNo == -1; i++)
-        {
-        CPredictivePopupLineInfo* lineInfo = iLineInfoArray->At(i);
-        CPredictivePopupElementArray* elementArray =lineInfo->iElementsOnLine;
-
-        const TInt numberOfElement = elementArray->Count();
-        TInt j;
-        for (j = 0; j < numberOfElement; j++)
-            {
-            TPredictivePopupElement element = elementArray->At(j);
-            if (aCandidateNo == element.iCandidateNo)
-                {
-                lineNo = i;
-                break;
-                }
-            }
-        }
-    return lineNo;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictiveListBoxModel::SearchElement
-// This function is that it checks whether the candidate is included in the line.
-// If including it, The displaying information is returned.
-// -----------------------------------------------------------------------------
-//
-TBool CAknFepUICtrlJapanesePredictiveListBoxModel::SearchElement(
-        TInt aLineNo, TInt aCandidateNo, TPredictivePopupElement& aElement)
-    {
-    TBool foundFlag = EFalse;
-
-    CPredictivePopupLineInfo* lineInfo = iLineInfoArray->At(aLineNo);
-    CPredictivePopupElementArray* elementArray = lineInfo->iElementsOnLine;
-
-    const TInt numberOfElement = elementArray->Count();
-    TInt i;
-    for (i = 0; i < numberOfElement; i++)
-        {
-        TPredictivePopupElement element = elementArray->At(i);
-        if (aCandidateNo < element.iCandidateNo)
-            {
-            break;
-            }
-        else if (aCandidateNo == element.iCandidateNo)
-            {
-            aElement.iStartXPos   = element.iStartXPos;
-            aElement.iEndXPos     = element.iEndXPos;
-            aElement.iCandidateNo = element.iCandidateNo;
-            foundFlag = ETrue;
-            break;
-            }
-        }
-    return foundFlag;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictiveListBoxModel::SetMaximumItems
-// Set total item numbers in listbox
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapanesePredictiveListBoxModel::SetMaximumItems(
-        TInt aMaximumItems)
-    {
-    iMaximumItems = aMaximumItems;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictiveListBoxModel::MaximumItems
-// Return total item numbers
-// -----------------------------------------------------------------------------
-//
-TInt CAknFepUICtrlJapanesePredictiveListBoxModel::MaximumItems()
-    {
-    return iMaximumItems;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictiveListBoxModel::SearchCandidateNoFromPosition
-// This function searches a CandidateNo from linenumber and Position
-// -----------------------------------------------------------------------------
-TInt CAknFepUICtrlJapanesePredictiveListBoxModel::SearchCandidateNoFromPosition(
-        TInt aLineNo, const TPoint& aPoint) const
-    {
-    TInt candidateNo = -1;
-    if ( 0 <= aLineNo && iLineInfoArray->Count() > aLineNo )
-        {
-        CPredictivePopupLineInfo* lineInfo = iLineInfoArray->At(aLineNo);
-        CPredictivePopupElementArray* elementArray = lineInfo->iElementsOnLine;
-        const TInt numberOfElement = elementArray->Count();
-        candidateNo = elementArray->At(numberOfElement - 1).iCandidateNo;
-        for (TInt ii = 0; ii < numberOfElement; ii++)
-            {
-            TPredictivePopupElement element = elementArray->At(ii);
-            //if (aPoint.iX /*- margin*/ <= element.iEndXPos)
-            if (aPoint.iX <= element.iEndXPos)
-                {
-                candidateNo = element.iCandidateNo;
-                break;
-                }
-            }
-        }
-    return candidateNo;
-    }
-// End of File
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlJapanesePredictiveListbox.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,448 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:            Predictive candidate list
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include <eikdef.h>
-#include <aknViewAppUi.h>
-#include <avkon.hrh>
-#include <aknPopup.h>
-#include <aknlists.h>
-#include <AknLayout.lag>
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <AknFontId.h>
-
-#include "AknFepUiInterfacePanic.h"
-#include "AknFepUIAvkonCtrlJapanesePredictiveListboxView.h"
-#include "AknFepUIAvkonCtrlJapanesePredictiveListboxItemDrawer.h"
-#include "AknFepUIAvkonCtrlJapanesePredictiveCellListBoxData.h"
-#include "AknFepUIAvkonCtrlJapanesePredictiveListBoxModel.h"
-#include "AknFepUIAvkonCtrlJapanesePredictiveListbox.h"
-#include "AknFepUIAvkonCtrlJapanesePredictivePane.h"
-
-// CONSTANTS
-const TInt KListboxMarge = 4;
-const TInt KScrollRightMarge = 5;
-const TInt KListBoxVisibleRow = 3;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictiveListbox::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapanesePredictiveListbox::ConstructL(
-        const CCoeControl* aParent,
-        TInt aFlags)
-    {
-    CAknFilteredTextListBoxModel* model =
-            new(ELeave) CAknFepUICtrlJapanesePredictiveListBoxModel;
-    iModel=model;
-    model->ConstructL();
-    CreateItemDrawerL();
-
-    EnableExtendedDrawingL();
-
-    iItemDrawer->SetDrawMark(EFalse);
-    CEikListBox::ConstructL(aParent,aFlags);
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictiveListbox::SetCurrentCandidateNo
-// Selecting a candidate number appointed with an argument
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapanesePredictiveListbox::SetCurrentCandidateNo(
-        TInt aCandidateNo, TBool aDraw)
-    {
-    CAknFepUICtrlJapanesePredictiveListboxView* view =
-        static_cast<CAknFepUICtrlJapanesePredictiveListboxView*>(View());
-    TInt itemIndex = view->SetCurrentCandidateNo(aCandidateNo);
-
-    if (aDraw)
-        {
-        SetCurrentItemIndexAndDraw(itemIndex);
-        }
-    else
-        {
-        SetCurrentItemIndex(itemIndex);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictiveListbox::CurrentCandidateNo
-// Returning a selected number
-// -----------------------------------------------------------------------------
-//
-TInt CAknFepUICtrlJapanesePredictiveListbox::CurrentCandidateNo()
-    {
-    CAknFepUICtrlJapanesePredictiveListboxView* view =
-        static_cast<CAknFepUICtrlJapanesePredictiveListboxView*>(View());
-    return view->CurrentCandidateNo();
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictiveListbox::MovePreviousItem
-// selecting a previous candidate
-// -----------------------------------------------------------------------------
-//
-TInt CAknFepUICtrlJapanesePredictiveListbox::MovePreviousItem()
-    {
-    CAknFepUICtrlJapanesePredictiveListboxView* view =
-        static_cast<CAknFepUICtrlJapanesePredictiveListboxView*>(View());
-
-    TInt candidateNo = view->PreviousItem();
-    SetCurrentCandidateNo(candidateNo, ETrue);
-
-    return candidateNo;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictiveListbox::MoveNextItem
-// selecting a next candidate
-// -----------------------------------------------------------------------------
-//
-TInt CAknFepUICtrlJapanesePredictiveListbox::MoveNextItem()
-    {
-    CAknFepUICtrlJapanesePredictiveListboxView* view =
-        static_cast<CAknFepUICtrlJapanesePredictiveListboxView*>(View());
-
-    TInt candidateNo = view->NextItem();
-    SetCurrentCandidateNo(candidateNo, ETrue);
-
-    return candidateNo;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictiveListbox::MovePreviousLineItem
-// selecting a previous line candidate
-// -----------------------------------------------------------------------------
-//
-TInt CAknFepUICtrlJapanesePredictiveListbox::MovePreviousLineItem()
-    {
-    CAknFepUICtrlJapanesePredictiveListboxView* view =
-        static_cast<CAknFepUICtrlJapanesePredictiveListboxView*>(View());
-    TInt candidateNo = view->PreviousLineItem();
-    SetCurrentCandidateNo(candidateNo, ETrue);
-
-    return candidateNo;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictiveListbox::MoveNextLineItem
-// selecting a next line candidate
-// -----------------------------------------------------------------------------
-//
-TInt CAknFepUICtrlJapanesePredictiveListbox::MoveNextLineItem()
-    {
-    CAknFepUICtrlJapanesePredictiveListboxView* view =
-        static_cast<CAknFepUICtrlJapanesePredictiveListboxView*>(View());
-    TInt candidateNo = view->NextLineItem();
-    SetCurrentCandidateNo(candidateNo, ETrue);
-
-    return candidateNo;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictiveListbox::SizeChanged
-// This function is called in case changing size
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapanesePredictiveListbox::SizeChanged()
-    {
-    CEikFormattedCellListBox& listBox = *this;
-    CFormattedCellListBoxItemDrawer* itemDrawer = listBox.ItemDrawer();
-
-    TAknWindowLineLayout textWindowLayout =
-        AKN_LAYOUT_WINDOW_popup_fep_japan_predictive_window(0,0);
-    // setting textbox size in listbox
-    TAknTextLineLayout textLineLayout =
-        AKN_LAYOUT_TEXT_Predictive_candidate_selection_list_texts_Line_1(0,0);
-
-    TAknTextComponentLayout scal = AknLayoutScalable_Avkon::popup_fep_japan_predictive_window_t1(0);
-    TAknWindowLineLayout scrollLineLayout = AknLayoutScalable_Avkon::scroll_pane_cp29().LayoutLine();
-
-    TAknLayoutText text;
-    text.LayoutText(textWindowLayout.Rect(), textLineLayout);
-    textWindowLayout.iW = text.TextRect().Width();
-    CAknFepUICtrlJapanesePredictiveListBoxModel* model =
-        static_cast<CAknFepUICtrlJapanesePredictiveListBoxModel*>(Model());
-    TInt maxRows = model->LineInfoArray()->Count();
-    TInt maxVisibleRows = Min(KJapPredictiveVisibleListRowsMax, maxRows);
-    maxVisibleRows = Max(KJapPredictiveVisibleListRowsMin, maxVisibleRows);
-    textWindowLayout.iH = listBox.Size().iHeight / maxVisibleRows;
-
-    AknListBoxLayouts::SetupStandardListBox(listBox);
-    AknListBoxLayouts::SetupStandardFormListbox(itemDrawer);
-    AknListBoxLayouts::SetupListboxPos(listBox, textWindowLayout);
-    {
-    TRgb color( KRgbBlack );
-    // this does not modify color unless it gets a correct one
-    // no real need to check errors
-    AknsUtils::GetCachedColor( AknsUtils::SkinInstance(),
-                              color, KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG10 );
-    itemDrawer->SetHighlightedTextColor( color );
-    AknsUtils::GetCachedColor( AknsUtils::SkinInstance(),
-                               color, KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG7 );
-    iItemDrawer->SetTextColor( color );
-    }
-
-    textLineLayout.il -= KListboxMarge;
-    textLineLayout.ir = 0;
-    // Baseline must be set to textLineLayout.iB.
-    const CFont* font = AknLayoutUtils::FontFromId(textLineLayout.iFont);
-    TInt baseLineOffset = (textWindowLayout.iH - font->HeightInPixels())/2 + font->AscentInPixels();
-
-    if( TAknFontId::IsEncodedFont(textLineLayout.FontId()) )
-        {
-        textLineLayout.iB = textWindowLayout.iH - font->DescentInPixels() -1 - baseLineOffset;
-        }
-    else
-        {
-        textLineLayout.iB = baseLineOffset;
-        }
-    TSize itemSize = View()->ItemSize();
-
-    AknListBoxLayouts::SetupFormAntiFlickerTextCell(listBox, itemDrawer, 0,
-                            textLineLayout,
-                            TPoint(0, 0),
-                            TPoint(itemSize.iWidth, itemSize.iHeight));
-
-    CEikFormattedCellListBox::SizeChanged();
-
-    // Scroll bar
-    scrollLineLayout.il = ELayoutEmpty;
-    scrollLineLayout.ir = KScrollRightMarge;
-    scrollLineLayout.it = 0;
-    scrollLineLayout.ib = 0;
-    if (maxRows <= KJapPredictiveVisibleListRowsMax)
-        {
-        scrollLineLayout.iW = 0;
-        }
-    TAknWindowLineLayout laf =
-        AKN_LAYOUT_WINDOW_popup_fep_japan_predictive_window(0,0);
-    TRect scrollBarParent = TRect(TPoint(0, listBox.Rect().iTl.iY),
-                                  TPoint(laf.iW, listBox.Rect().iBr.iY));
-    AknLayoutUtils::LayoutVerticalScrollBar(iSBFrame, scrollBarParent, scrollLineLayout);
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictiveListbox::MakeViewClassInstanceL
-// Creating a view
-// -----------------------------------------------------------------------------
-//
-CListBoxView* CAknFepUICtrlJapanesePredictiveListbox::MakeViewClassInstanceL()
-    {
-    return new(ELeave) CAknFepUICtrlJapanesePredictiveListboxView;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictiveListbox::CreateItemDrawerL
-// Creating a ItemDrawer
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapanesePredictiveListbox::CreateItemDrawerL()
-    {
-    CAknFepUICtrlJapanesePredictiveCellListBoxData*
-        cellData = CAknFepUICtrlJapanesePredictiveCellListBoxData::NewL();
-    CleanupStack::PushL(cellData);
-
-    // getting font object
-    TAknTextLineLayout textLineLayout =
-        AKN_LAYOUT_TEXT_Predictive_candidate_selection_list_texts_Line_1(
-            0, 0);
-    const CFont* font = AknLayoutUtils::FontFromId(textLineLayout.iFont);
-
-    iItemDrawer =
-        new(ELeave) CAknFepUICtrlJapanesePredictiveListboxItemDrawer(
-                        Model(), font, cellData);
-
-    CleanupStack::Pop(cellData);
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictiveListbox::UpdateCurrentItem
-// Update the current index
-// Notes: The argument of aItemIndex means the current line. (not current candidate index)
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapanesePredictiveListbox::UpdateCurrentItem(TInt aItemIndex) const
-    {
-    CAknFepUICtrlJapanesePredictiveListBoxModel* model =
-        static_cast<CAknFepUICtrlJapanesePredictiveListBoxModel*>(Model());
-    CAknFepUICtrlJapanesePredictiveListboxView* view =
-        static_cast<CAknFepUICtrlJapanesePredictiveListboxView*>(View());
-
-    TPredictivePopupElement element;
-    TInt curCandi = view->CurrentCandidateNo();
-    TInt oldCandi = view->OldCandidateNo();
-    TInt maxLine = model->LineInfoArray()->Count();
-
-    TInt oldCurrentItemIndex = view->CurrentItemIndex();
-    if (oldCurrentItemIndex != aItemIndex)
-        {
-        // Set the current line
-        view->SetCurrentItemIndex(aItemIndex);
-
-        if ( IsReadyToDraw() )
-            {
-            // Draw the old line
-            view->DrawItem(oldCurrentItemIndex);
-            }
-
-        if (oldCurrentItemIndex+1 < maxLine
-         && oldCurrentItemIndex+1 != aItemIndex)
-            {
-            if (model->SearchElement(oldCurrentItemIndex+1,
-                                     oldCandi, element))
-                {
-                view->DrawItem(oldCurrentItemIndex+1);
-                }
-            }
-        // Set the top position
-        if (!(view->ItemIsVisible(aItemIndex)))
-            {
-            SetTopItemIndex(view->CalcNewTopItemIndexSoItemIsVisible(aItemIndex));
-            DrawNow();
-            }
-        }
-    // Draw the current line
-    DrawItem(aItemIndex);
-    // Check next line including the same candidate
-    TInt nextLine = aItemIndex+1;
-    if (nextLine < maxLine
-     && model->SearchElement(nextLine, curCandi, element))
-        {
-        if (!(view->ItemIsVisible(nextLine)))
-            {
-            SetTopItemIndex(view->CalcNewTopItemIndexSoItemIsVisible(nextLine));
-            DrawNow();
-            }
-        DrawItem(nextLine);
-        }
-    UpdateScrollBarThumbs();
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictiveListbox::HandlePointerEventL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-void CAknFepUICtrlJapanesePredictiveListbox::HandlePointerEventL(const TPointerEvent& aPointerEvent)
-    {
-    const TInt old = CurrentItemIndex();
-    CAknSinglePopupMenuStyleListBox::HandlePointerEventL(aPointerEvent);
-    switch (aPointerEvent.iType)
-        {
-        case TPointerEvent::EButton1Up:
-            break;
-        case TPointerEvent::EButton1Down:
-            {
-            CAknFepUICtrlJapanesePredictiveListboxView* view =
-                static_cast<CAknFepUICtrlJapanesePredictiveListboxView*>(View());
-            TInt oldCandidateNo = view->CurrentCandidateNo();
-            TPoint pos = aPointerEvent.iPosition - Rect().iTl;
-            TInt itemIndex = view->SetCurrentCandidateNo(CurrentItemIndex(), pos);
-            SetCurrentItemIndex(itemIndex);
-            TInt newCandidateNo = view->CurrentCandidateNo();
-
-            if (oldCandidateNo != newCandidateNo)
-                {
-                ReportListBoxEventL(MEikListBoxObserver::EEventItemDraggingActioned);// need draw.
-                }
-            }
-            break;
-        default:
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictiveListbox::HandleScrollEventL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-void CAknFepUICtrlJapanesePredictiveListbox::HandleScrollEventL(
-                                                    CEikScrollBar* aScrollBar,
-                                                    TEikScrollEvent aEventType)
-    {
-    TInt oldThumbPos = (aEventType & KEikScrollEventBarMask) ?
-                                iView->HScrollOffset() : iView->TopItemIndex();
-    TInt newThumbPos = aScrollBar->ThumbPosition();
-    TInt maxThumbPos = static_cast<CTextListBoxModel*>(Model())->NumberOfItems()
-                                - KListBoxVisibleRow;
-    TBool update = ETrue;
-    TInt newThumbPosBeforeCorrecting = newThumbPos;
-
-    if ((aEventType & KEikScrollEventBarMask) == KEikScrollEventFromVBar)
-        {
-        switch (aEventType)
-            {
-            case EEikScrollUp:
-                if ( oldThumbPos == 0  && (iListBoxFlags & ELoopScrolling))
-                    {
-                    newThumbPos = maxThumbPos;
-                    }
-                break;
-            case EEikScrollDown:
-                if ( oldThumbPos == maxThumbPos && (iListBoxFlags & ELoopScrolling) )
-                    {
-                    newThumbPos = 0;
-                    }
-                break;
-            case EEikScrollPageUp:
-            case EEikScrollPageDown:
-            case EEikScrollThumbDragVert:
-                break;
-            case EEikScrollThumbReleaseVert:
-                // in the case of drag events, the scrollbar automatically updates its thumb pos...
-                if(AknLayoutUtils::PenEnabled())
-                    {
-                    update = EFalse;
-                    }
-                break;
-
-            default:
-                break;
-            }
-        if ( (!AknLayoutUtils::PenEnabled()) || update )
-            {
-            iView->VScrollTo(newThumbPos);
-            if (aEventType != EEikScrollThumbDragVert)
-                {
-                aScrollBar->SetModelThumbPosition(iView->TopItemIndex());
-                }
-            }
-
-        // if event has changed thumb position, then update scroll bar
-        if ( AknLayoutUtils::PenEnabled() && newThumbPos != newThumbPosBeforeCorrecting )
-            {
-            UpdateScrollBarThumbs();
-            }
-        }
-    }
-
-// End of File
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlJapanesePredictiveListboxItemDrawer.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:            Predictive candidate list
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include <eikdef.h>
-#include <aknViewAppUi.h>
-#include <avkon.hrh>
-#include <aknPopup.h>
-#include <aknlists.h>
-
-#include "AknFepUiInterfacePanic.h"
-#include "AknFepUIAvkonCtrlJapanesePredictiveCellListBoxData.h"
-#include "AknFepUIAvkonCtrlJapanesePredictiveListboxItemDrawer.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictiveListboxItemDrawer::
-//                              CAknFepUICtrlJapanesePredictiveListboxItemDrawer
-// Constractor
-// -----------------------------------------------------------------------------
-//
-CAknFepUICtrlJapanesePredictiveListboxItemDrawer::CAknFepUICtrlJapanesePredictiveListboxItemDrawer(
-        MTextListBoxModel* aTextListBoxModel,
-        const CFont* aFont,
-        CFormattedCellListBoxData* aFormattedCellData)
-            : CFormattedCellListBoxItemDrawer(aTextListBoxModel,
-                                              aFont,
-                                              aFormattedCellData)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictiveListboxItemDrawer::DrawItem
-// Drawing a item
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapanesePredictiveListboxItemDrawer::DrawItem(
-        TInt aItemIndex,
-        TPoint aItemRectPos,
-        TBool aItemIsSelected,
-        TBool aItemIsCurrent,
-        TBool aViewIsEmphasized,
-        TBool aViewIsDimmed,
-        TInt aHighlightStartXPos,
-        TInt aHighlightEndXPos) const
-    {
-    TRect actualItemRect(aItemRectPos, iItemCellSize);
-
-    CAknFepUICtrlJapanesePredictiveCellListBoxData* data =
-        static_cast<CAknFepUICtrlJapanesePredictiveCellListBoxData*>(iData);
-    data->SetHighlightArea(aHighlightStartXPos, aHighlightEndXPos);
-
-    DrawActualItem(
-        aItemIndex,
-        actualItemRect, 
-        aItemIsCurrent, aViewIsEmphasized, aViewIsDimmed, aItemIsSelected);
-    }
-
-// End of File
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlJapanesePredictiveListboxView.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,334 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:            Predictive candidate list
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include <eikdef.h>
-#include <aknViewAppUi.h>
-#include <avkon.hrh>
-#include <aknPopup.h>
-#include <aknlists.h>
-
-#include "AknFepUiInterfacePanic.h"
-#include "AknFepUIAvkonCtrlJapanesePredictiveListBoxModel.h"
-#include "AknFepUIAvkonCtrlJapanesePredictiveListboxItemDrawer.h"
-#include "AknFepUIAvkonCtrlJapanesePredictiveListboxView.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictiveListboxView::CurrentCandidateNo
-// Return the selected candidate number currently
-// -----------------------------------------------------------------------------
-//
-TInt CAknFepUICtrlJapanesePredictiveListboxView::CurrentCandidateNo() const
-    {
-    return iCurrentCandidateNo;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictiveListboxView::SetCurrentCandidateNo
-// Set current candidate number
-// -----------------------------------------------------------------------------
-//
-TInt CAknFepUICtrlJapanesePredictiveListboxView::SetCurrentCandidateNo(
-        TInt aCandidateNo)
-    {
-    iOldCandidateNo = iCurrentCandidateNo;
-    iCurrentCandidateNo = aCandidateNo;
-
-    CAknFepUICtrlJapanesePredictiveListBoxModel* model =
-        static_cast<CAknFepUICtrlJapanesePredictiveListBoxModel*>(iModel);
-
-    const TInt itemIndex = model->SearchItemIndexFromCandidateNo(aCandidateNo);
-
-    return itemIndex;
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputJapanesePredictiveListBoxView::SetCurrentCandidateNo
-// Set current candidate number
-// -----------------------------------------------------------------------------
-TInt CAknFepUICtrlJapanesePredictiveListboxView::SetCurrentCandidateNo(
-        TInt aLineNo, const TPoint& aPoint)
-    {
-    CAknFepUICtrlJapanesePredictiveListBoxModel* model =
-        static_cast<CAknFepUICtrlJapanesePredictiveListBoxModel*>(iModel);
-
-    iCurrentCandidateNo = model->SearchCandidateNoFromPosition(aLineNo, aPoint);
-
-    return aLineNo;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictiveListboxView::PreviousItem
-// Return previous candidate number
-// -----------------------------------------------------------------------------
-//
-TInt CAknFepUICtrlJapanesePredictiveListboxView::PreviousItem()
-    {
-    CAknFepUICtrlJapanesePredictiveListBoxModel* model =
-        static_cast<CAknFepUICtrlJapanesePredictiveListBoxModel*>(iModel);
-    const TInt maximumItems = model->MaximumItems();
-
-    TInt itemindex = iCurrentCandidateNo - 1;
-    if (itemindex < 0)
-        {
-        itemindex = maximumItems - 1;
-        }
-
-    return itemindex;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictiveListboxView::NextItem
-// Return next candidate number
-// -----------------------------------------------------------------------------
-//
-TInt CAknFepUICtrlJapanesePredictiveListboxView::NextItem()
-    {
-    CAknFepUICtrlJapanesePredictiveListBoxModel* model =
-        static_cast<CAknFepUICtrlJapanesePredictiveListBoxModel*>(iModel);
-    const TInt maximumItems = model->MaximumItems();
-
-    TInt itemindex = iCurrentCandidateNo +1;
-    if (itemindex >= maximumItems)
-        {
-        itemindex = 0;
-        }
-
-    return itemindex;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictiveListboxView::PreviousLineItem
-// Return candidate number of previous line
-// -----------------------------------------------------------------------------
-//
-TInt CAknFepUICtrlJapanesePredictiveListboxView::PreviousLineItem()
-    {
-    TInt currentItemIndex = CurrentItemIndex();
-    TPredictivePopupElement currentElement;
-
-    CAknFepUICtrlJapanesePredictiveListBoxModel* model =
-        static_cast<CAknFepUICtrlJapanesePredictiveListBoxModel*>(iModel);
-    CPredictivePopupLineInfoArray* lineInfoArray = model->LineInfoArray();
-    const TInt lineInfoArrayCount = lineInfoArray->Count();
-
-    TInt previousItemIndex = currentItemIndex;
-    TInt previousCandidateNo = -1;
-
-    if (model->SearchElement(
-            currentItemIndex, iCurrentCandidateNo, currentElement))
-        {
-        do
-            {
-            previousItemIndex--;
-            if (previousItemIndex < 0)
-                {
-                previousItemIndex = lineInfoArrayCount - 1;
-                }
-
-            if (previousItemIndex == currentItemIndex)
-                {
-                break;      // in case one loop
-                }
-
-            CPredictivePopupLineInfo* lineInfo =
-                lineInfoArray->At(previousItemIndex);
-
-            CPredictivePopupElementArray* elementArray =
-                lineInfo->iElementsOnLine;
-
-            const TInt numberOfElement = elementArray->Count();
-            TInt lastCandidateNo = -1;
-            TInt i;
-            for (i = 0; i < numberOfElement; i++)
-                {
-                TPredictivePopupElement element = elementArray->At(i);
-                if (currentElement.iStartXPos >= element.iStartXPos
-                 && currentElement.iStartXPos < element.iEndXPos)
-                    {
-                    previousCandidateNo = element.iCandidateNo;
-                    break;
-                    }
-                else if (currentElement.iStartXPos < element.iStartXPos)
-                    {
-                    previousCandidateNo = element.iCandidateNo;
-                    break;
-                    }
-
-                lastCandidateNo = element.iCandidateNo;
-                }
-
-            if (previousCandidateNo == -1)
-                {
-                previousCandidateNo = lastCandidateNo;
-                }
-            }
-        while (previousCandidateNo == iCurrentCandidateNo);
-        }
-
-    if (previousCandidateNo == -1)
-        {
-        previousCandidateNo = iCurrentCandidateNo;
-        }
-
-    return previousCandidateNo;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictiveListboxView::NextLineItem
-// Return candidate number of next line
-// -----------------------------------------------------------------------------
-//
-TInt CAknFepUICtrlJapanesePredictiveListboxView::NextLineItem()
-    {
-    TInt currentItemIndex = CurrentItemIndex();
-    TPredictivePopupElement currentElement;
-
-    CAknFepUICtrlJapanesePredictiveListBoxModel* model =
-        static_cast<CAknFepUICtrlJapanesePredictiveListBoxModel*>(iModel);
-
-    CPredictivePopupLineInfoArray* lineInfoArray = model->LineInfoArray();
-    TInt nextCandidateNo = -1;
-
-    if (lineInfoArray)
-        {
-        const TInt lineInfoArrayCount = lineInfoArray->Count();
-
-        TInt nextItemIndex = currentItemIndex;
-
-        if (model->SearchElement(
-                    currentItemIndex, iCurrentCandidateNo, currentElement))
-            {
-            do
-                {
-                nextItemIndex++;
-                if (nextItemIndex >= lineInfoArrayCount)
-                    {
-                    nextItemIndex = 0;
-                    }
-
-                if (nextItemIndex == currentItemIndex)
-                    {
-                    break;      // in case one loop
-                    }
-
-                CPredictivePopupLineInfo* lineInfo =
-                    lineInfoArray->At(nextItemIndex);
-
-                CPredictivePopupElementArray* elementArray =
-                    lineInfo->iElementsOnLine;
-
-                const TInt numberOfElement = elementArray->Count();
-                TInt lastCandidateNo = -1;
-                TInt i;
-                for (i = 0; i < numberOfElement; i++)
-                    {
-                    TPredictivePopupElement element = elementArray->At(i);
-                    if (currentElement.iStartXPos >= element.iStartXPos
-                     && currentElement.iStartXPos < element.iEndXPos)
-                        {
-                        nextCandidateNo = element.iCandidateNo;
-                        break;
-                        }
-                    else if (currentElement.iStartXPos < element.iStartXPos)
-                        {
-                        nextCandidateNo = element.iCandidateNo;
-                        break;
-                        }
-
-                    lastCandidateNo = element.iCandidateNo;
-                    }
-
-                if (nextCandidateNo == -1)
-                    {
-                    nextCandidateNo = lastCandidateNo;
-                    }
-                }
-            while (nextCandidateNo == iCurrentCandidateNo);
-            }
-        }
-    if (nextCandidateNo == -1)
-        {
-        nextCandidateNo = iCurrentCandidateNo;
-        }
-    return nextCandidateNo;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictiveListboxView::DrawItem
-// Drawing item
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapanesePredictiveListboxView::DrawItem(TInt aItemIndex) const
-    {
-    if (RedrawDisabled() || !IsVisible())
-        return;
-
-    if (((aItemIndex > -1) && (aItemIndex < iModel->NumberOfItems()))
-        && ItemIsVisible(aItemIndex))
-        {
-        TInt highlightStartXPos = 0;
-        TInt highlightEndXPos = 0;
-
-        TPredictivePopupElement currentElement;
-        CAknFepUICtrlJapanesePredictiveListBoxModel* model =
-            static_cast<CAknFepUICtrlJapanesePredictiveListBoxModel*>(iModel);
-
-        if (model->SearchElement(aItemIndex,
-                                 iCurrentCandidateNo, currentElement))
-            {
-            highlightStartXPos = currentElement.iStartXPos;
-            highlightEndXPos   = currentElement.iEndXPos;
-            }
-
-        CAknFepUICtrlJapanesePredictiveListboxItemDrawer* itemDrawer =
-            static_cast<CAknFepUICtrlJapanesePredictiveListboxItemDrawer*>(iItemDrawer);
-
-        itemDrawer->DrawItem(
-            aItemIndex,
-            ItemPos(aItemIndex),
-            ItemIsSelected(aItemIndex),
-            (aItemIndex == iCurrentItemIndex),
-            (iFlags & EEmphasized) > 0, (iFlags & EDimmed) > 0,
-            highlightStartXPos, highlightEndXPos);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictiveListboxView::OldCandidateNo
-// Return the selected candidate number previously
-// -----------------------------------------------------------------------------
-//
-TInt CAknFepUICtrlJapanesePredictiveListboxView::OldCandidateNo() const
-    {
-    return iOldCandidateNo;
-    }
-
-// End of File
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlJapanesePredictivePane.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1089 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:            Predictive candidate list
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include <eikdef.h>
-#include <aknViewAppUi.h>
-#include <avkon.hrh>
-#include <aknPopup.h>
-#include <aknlists.h>
-#include <aknPopupHeadingPane.h>
-#include <AknsDrawUtils.h>
-#include <AknsBasicBackgroundControlContext.h>
-#include <aknfep.rsg>
-#include <barsread.h>
-#include <eikmop.h>
-#include <AknLayout.lag>
-#include <aknlayoutscalable_avkon.cdl.h>
-
-#include "AknFepUiInterfacePanic.h"
-#include "AknFepGlobalEnums.h"
-#include "AknFepUIAvkonCtrlJapanesePredictiveListbox.h"
-#include "AknFepUIAvkonCtrlJapanesePredictivePane.h"
-#include "AknFepUIManagerJapanese.h"
-
-// CONSTANTS
-const TInt KMaxListColumns = 30;
-const TInt KLAFBaseListRows = 1;
-const TInt KLAFBelowTextBaseline = 2;
-const TInt KLAFAboveTextBaseline = 1;
-const TInt KSpaceCharCode = ' ';
-const TInt KListboxFlameMarge = 4;
-const TInt KScrollRightMarge = 5;
-const TInt KListboxMarge = 3;
-
-/**
-*  CAknFepUICtrlJapanesePredictivePane class.
-*
-*/
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictivePane::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CAknFepUICtrlJapanesePredictivePane* CAknFepUICtrlJapanesePredictivePane::NewL(CAknFepUIManagerJapanese* aUiMng)
-    {
-    CAknFepUICtrlJapanesePredictivePane* self =
-        new(ELeave)CAknFepUICtrlJapanesePredictivePane(aUiMng);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(self);    // self
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictivePane::~CAknFepUICtrlJapanesePredictivePane
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CAknFepUICtrlJapanesePredictivePane::~CAknFepUICtrlJapanesePredictivePane()
-    {
-    if (IsVisible())
-        {
-        HideWindow();
-        }
-
-    if (iListBox)
-        {
-        delete iListBox;
-        iListBox = NULL;
-        }
-
-    if (iLineInfoArray)
-        {
-        iLineInfoArray->ResetAndDestroy();
-        delete iLineInfoArray;
-        iLineInfoArray = NULL;
-        }
-
-    if (iListTextArray)
-        {
-        delete iListTextArray;
-        iListTextArray = NULL;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictivePane::ShowWindow
-// Show Pop-up list
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapanesePredictivePane::ShowWindow()
-    {
-    RWindow& window=Window();
-    //Set ordinal position to top
-    window.SetOrdinalPosition(0,ECoeWinPriorityFep);
-    window.SetFaded(EFalse, RWindowTreeNode::EFadeIncludeChildren);
-    window.SetPointerCapture(ETrue);
-    TRAP_IGNORE( ActivateL());
-    MakeVisible(ETrue);
-    DrawNow();
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictivePane::ClosePredictiveList
-// Close Pop-up list
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapanesePredictivePane::ClosePredictiveList()
-    {
-    CancelPopup();
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictivePane::SetCurrentItemIndex
-// Specify the cursor position of a pop-up list.
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapanesePredictivePane::SetCurrentItemIndex(TInt aItemIndex)
-    {
-    CAknFepUICtrlJapanesePredictiveListBoxModel* model =
-        static_cast<CAknFepUICtrlJapanesePredictiveListBoxModel*>(ListBox()->Model());
-    const TInt maximumItems = model->MaximumItems();
-
-    if (aItemIndex > maximumItems)
-        {
-        aItemIndex = maximumItems;
-        }
-
-    CAknFepUICtrlJapanesePredictiveListbox* listBox =
-        static_cast<CAknFepUICtrlJapanesePredictiveListbox*>(ListBox());
-
-    listBox->SetCurrentCandidateNo(aItemIndex, EFalse);
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictivePane::SetOffsetPosition
-// Specify the display position of a pop-up list
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapanesePredictivePane::SetOffsetPosition(TPoint aOffset)
-    {
-    iOffsetPosition = aOffset;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictivePane::SetWindowPosition
-// Set position to show candidate list
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapanesePredictivePane::SetWindowPosition(
-                                                const TPoint& aLeftSideOfBaseLine,
-                                                TInt aHeight,
-                                                TInt aAscent)
-    {
-    // getting rectangle of main pane
-    TRect screen =
-        TRect(0, 0, AKN_LAYOUT_WINDOW_screen.iW, AKN_LAYOUT_WINDOW_screen.iH);
-    TAknLayoutRect main_pane;
-    main_pane.LayoutRect(screen, AKN_LAYOUT_WINDOW_main_pane(screen, 0, 1, 1));
-    iMainPaneRect = main_pane.Rect();
-
-    TInt leftPos = aLeftSideOfBaseLine.iX;
-    if (leftPos < 0)
-        {
-        leftPos = iOffsetPosition.iX;
-        }
-
-    TPoint windowOffset(
-        leftPos,
-        aLeftSideOfBaseLine.iY + aHeight - aAscent - iMainPaneRect.iTl.iY);
-    SetOffsetPosition(windowOffset);
-
-    iSrcTextHeight = aHeight;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictivePane::ShowCandidateListL
-// Show Pop-up list
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapanesePredictivePane::ShowCandidateListL(
-        CDesCArrayFlat* aItems, TInt aIndex, TInt aResourceID)
-    {
-    __ASSERT_DEBUG(aItems->Count() > 0,
-                   AknFepUiInterfacePanic(EAknFepUiInterfacePanicCandidatesEmpty));
-
-    if (iLineInfoArray)
-        {
-        iLineInfoArray->ResetAndDestroy();
-        }
-    delete iLineInfoArray;
-    delete iListTextArray;
-    iLineInfoArray = NULL;
-    iListTextArray = NULL;
-    // getting listbox width by a pixel unit
-    TAknWindowLineLayout laf =
-        AKN_LAYOUT_WINDOW_popup_fep_japan_predictive_window(0, 0);
-    TAknTextLineLayout textLineLayout =
-        AKN_LAYOUT_TEXT_Predictive_candidate_selection_list_texts_Line_1(0,0);
-    TAknWindowLineLayout scrollLineLayout = AknLayoutScalable_Avkon::scroll_pane_cp29().LayoutLine();
-    TAknLayoutText text;
-    text.LayoutText(laf.Rect(), textLineLayout);
-    TInt allowDrawWidth = text.TextRect().Width() - scrollLineLayout.iW;
-
-    iLineInfoArray = CreatePredictivePopupLineInfoArrayL(
-        aItems, allowDrawWidth, textLineLayout.iFont);
-    iListTextArray = CreateListTextArrayL(iLineInfoArray);
-
-    // Set listitems.
-    CAknFepUICtrlJapanesePredictiveListBoxModel* model =
-        static_cast<CAknFepUICtrlJapanesePredictiveListBoxModel*>(ListBox()->Model());
-    model->SetMaximumItems(aItems->Count());
-    model->SetLineInfoArray(iLineInfoArray);
-    model->SetItemTextArray(iListTextArray);
-    model->SetOwnershipType(ELbmDoesNotOwnItemArray);
-
-    iMaximumRows = MaximumRows(model);
-
-    SetCurrentItemIndex(aIndex);
-    SetMaximumHeight(iMaximumRows);
-
-    // Show popup list
-    TBool notShowingPopup =
-        model->NumberOfItems() == 0 && iWindowType < 0x80;
-    if (notShowingPopup)
-        {
-        const TSize screenSize=iCoeEnv->ScreenDevice()->SizeInPixels();
-        iPopoutCba->SetBoundingRect(TRect(screenSize));
-        }
-
-    // Create a CBA for use with the popup
-    if (aResourceID)
-        {
-        UpdateCbaL(aResourceID);
-        }
-
-    SetupWindowLayout(iWindowType);
-
-    iListBox->SetListBoxObserver(this);
-
-    if (iMarkable)
-        {
-        // If markable, set the popup to observe event change events.
-        // Call HandleControlEvent to set the CBA appropriate to the 1st item
-        iListBox->SetObserver(this);
-        HandleControlEventL(iListBox, EEventStateChanged);
-        }
-
-    if (IsVisible())
-        {
-        DrawDeferred();
-        }
-    else
-        {
-        ShowWindow();
-        ActivateL();
-        ShowWindowCbaL();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictivePane::HideWindow
-// Hide Pop-up list
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapanesePredictivePane::HideWindow()
-    {
-    MakeVisible(EFalse);
-    Window().SetPointerCapture(EFalse);
-
-    iEikonEnv->RemoveFromStack(iPopoutCba);
-
-    iPopoutCba->MakeVisible(EFalse);
-
-    iCurrentResource = 0;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictivePane::CurrentItemIndexOfCandidate
-// Return a selected candidate item number currently
-// -----------------------------------------------------------------------------
-//
-TInt CAknFepUICtrlJapanesePredictivePane::CurrentItemIndexOfCandidate()
-    {
-    if (IsVisible())
-        {
-        CAknFepUICtrlJapanesePredictiveListbox* listBox =
-            static_cast<CAknFepUICtrlJapanesePredictiveListbox*>(ListBox());
-        return listBox->CurrentCandidateNo();
-        }
-    return -1;      // Disable window
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictivePane::MoveItem
-// Move a current item in an appointed direction
-// -----------------------------------------------------------------------------
-//
-TInt CAknFepUICtrlJapanesePredictivePane::MoveItem(
-        TAknFepUICtrlScroll aDirection)
-    {
-    __ASSERT_DEBUG(iListBox->IsVisible(),
-                   AknFepUiInterfacePanic(EAknFepUiInterfacePanicNoCandidatePane));
-
-    TInt ret = 0;
-
-    switch(aDirection)
-        {
-        case EScrollLeft:
-            ret = MovePreviousItem();
-            break;
-
-        case EScrollRight:
-            ret = MoveNextItem();
-            break;
-
-        case EScrollUp:
-            ret = MovePreviousLineItem();
-            break;
-
-        case EScrollDown:
-            ret = MoveNextLineItem();
-            break;
-
-        default:
-        //Panic
-            AknFepUiInterfacePanic(EAknFepUiInterfacePanicCandidatePaneNotSupportScrollDirection);
-            break;
-        }
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictivePane::SetupWindowLayout
-// Set up a window layout type
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapanesePredictivePane::SetupWindowLayout(
-        AknPopupLayouts::TAknPopupLayouts /*aType*/)
-    {
-    HandleSizeChanged(Layout(), NULL, ListBox(), this);
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictivePane::AttemptExitL
-// Set the title for the selection list
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapanesePredictivePane::AttemptExitL(TBool aAccept)
-    {
-    if (iReturn) //Always not null unless ExecuteLD leaves
-        *iReturn = aAccept;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictivePane::MopSupplyObject
-// -----------------------------------------------------------------------------
-//
-TTypeUid::Ptr CAknFepUICtrlJapanesePredictivePane::MopSupplyObject(TTypeUid aId)
-    {
-    SetMopParent( iEikonEnv->EikAppUi() );
-    return CAknPopupList::MopSupplyObject(aId);
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictivePane::CAknFepUICtrlJapanesePredictivePane
-// Constructor
-// -----------------------------------------------------------------------------
-//
-CAknFepUICtrlJapanesePredictivePane::CAknFepUICtrlJapanesePredictivePane(CAknFepUIManagerJapanese* aUiMng)
-    : iUiMng(aUiMng)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictivePane::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapanesePredictivePane::ConstructL()
-    {
-    // Create listbox
-    CAknFepUICtrlJapanesePredictiveListbox* list =
-                new(ELeave) CAknFepUICtrlJapanesePredictiveListbox;
-    // "iListBox" member variable is defined in CAknPopupList class.
-    iListBox = list;
-    CAknPopupList::ConstructL(
-        list, R_AKNFEP_SOFTKEYS_CONVERT_OTHER_SELECT, AknPopupLayouts::EMenuWindow);
-
-    list->ConstructL(this, CEikListBox::ELeftDownInViewRect);
-    list->CreateScrollBarFrameL(ETrue);
-    list->ScrollBarFrame()->SetScrollBarVisibilityL(
-                                CEikScrollBarFrame::EOff,
-                                CEikScrollBarFrame::EAuto);
-
-    SetNonFocusing();
-    MakeVisible(EFalse);
-    iLineInfoArray = NULL;
-    iListTextArray = NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictivePane::CreatePredictivePopupLineInfoArrayL
-// Create a array with line information in candidate list
-// -----------------------------------------------------------------------------
-CPredictivePopupLineInfoArray*
-CAknFepUICtrlJapanesePredictivePane::CreatePredictivePopupLineInfoArrayL(
-        CDesCArrayFlat* aItems,
-        const TInt aMaxDisplayWidthInPixel,
-        const TInt aFontId)
-    {
-    CPredictivePopupLineInfoArray* lineArray =
-        new(ELeave) CPredictivePopupLineInfoArray(1);
-    CleanupStack::PushL(lineArray);
-
-    // getting font object from font id
-    const CFont* font = AknLayoutUtils::FontFromId(aFontId);
-
-    TInt displayWidthInPixel = aMaxDisplayWidthInPixel;
-    TInt elementStartXPos = 0;
-
-    TBuf<KMaxListColumns*2> bufferOfLine;
-    CPredictivePopupElementArray* elementArray = NULL;
-
-    const TInt widthOfSpaceInPixel = font->CharWidthInPixels(KSpaceCharCode);
-    const TInt numberOfItem = aItems->Count();
-    TInt i;
-    for (i = 0; i < numberOfItem; i++)
-        {
-        TPtrC itemText = aItems->MdcaPoint(i);
-        TInt itemTextLength = itemText.Length();
-
-        // getting a number of characters within width
-        TInt count = font->TextCount(itemText, displayWidthInPixel);
-
-        // If a candidate cannot occupy a line, it is
-        // continued in next line
-        if (count < itemTextLength && elementArray)
-            {
-            PredictivePopupAppendLineL(lineArray, bufferOfLine, elementArray);
-            CleanupStack::Pop(elementArray);    // elementArray
-            elementArray = NULL;
-            bufferOfLine.SetLength(0);
-
-            displayWidthInPixel = aMaxDisplayWidthInPixel;
-            elementStartXPos = 0;
-            count = font->TextCount(itemText, displayWidthInPixel);
-            }
-
-        FOREVER
-            {
-            if (!elementArray)
-                {
-                elementArray = new(ELeave) CPredictivePopupElementArray(1);
-                CleanupStack::PushL(elementArray);
-                }
-
-            TPtrC elementText = itemText.Left(count);
-            TInt  elementWidthInPixels = font->TextWidthInPixels(elementText);
-
-            // setting a item string to line string
-            bufferOfLine.Append(elementText);
-            displayWidthInPixel -= elementWidthInPixels;
-
-            TPredictivePopupElement& element = elementArray->ExtendL();
-            element.iStartXPos = elementStartXPos;
-            elementStartXPos += elementWidthInPixels;
-            element.iEndXPos   = elementStartXPos;
-            element.iCandidateNo = i;
-
-            // creating a string which removes a item string
-            itemTextLength -= count;
-            if (itemTextLength > 0)
-                {
-                // If this line is full, add this line and create a new line.
-                PredictivePopupAppendLineL(lineArray, bufferOfLine, elementArray);
-                CleanupStack::Pop(elementArray);    // elementArray
-                elementArray = NULL;
-                bufferOfLine.SetLength(0);
-
-                itemText.Set(itemText.Right(itemTextLength));
-                displayWidthInPixel = aMaxDisplayWidthInPixel;
-                elementStartXPos = 0;
-
-                // Calculating a number of characters which be able to shown in the width and
-                // cutting the string
-                count = font->TextCount(itemText, displayWidthInPixel);
-                }
-            else
-                {
-                break;
-                }
-            }
-
-        if (displayWidthInPixel > widthOfSpaceInPixel)
-            {
-            // adding space if it is possible to add space
-            bufferOfLine.Append(KSpaceCharCode);
-            displayWidthInPixel -= widthOfSpaceInPixel;
-            elementStartXPos    += widthOfSpaceInPixel;
-            }
-        else
-            {
-            // adding a line information if it isn't possible to add space
-            PredictivePopupAppendLineL(lineArray, bufferOfLine, elementArray);
-            CleanupStack::Pop(elementArray);    // elementArray
-            elementArray = NULL;
-            bufferOfLine.SetLength(0);
-
-            displayWidthInPixel = aMaxDisplayWidthInPixel - 1;
-            elementStartXPos = 0;
-            }
-        }
-
-    if (bufferOfLine.Length() > 0 && elementArray)
-        {
-        PredictivePopupAppendLineL(lineArray, bufferOfLine, elementArray);
-        CleanupStack::Pop(elementArray);    // elementArray
-        }
-
-    CleanupStack::Pop(lineArray);    // lineArray
-
-    return lineArray;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictivePane::PredictivePopupAppendLineL
-// Append to array with line information
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapanesePredictivePane::PredictivePopupAppendLineL(
-        CPredictivePopupLineInfoArray* aLineArray,
-        const TDesC& aLineText,
-        CPredictivePopupElementArray* aElementArray)
-    {
-    HBufC* lineTextBuf = HBufC::NewL(aLineText.Length());
-    CleanupStack::PushL(lineTextBuf);
-    TPtr lineTextBufPtr = lineTextBuf->Des();
-    lineTextBufPtr.Copy(aLineText);
-
-    CPredictivePopupLineInfo* lineInfo = new(ELeave) CPredictivePopupLineInfo;
-    CleanupStack::PushL(lineInfo);
-
-    aLineArray->AppendL(lineInfo);
-    CleanupStack::Pop(2, lineTextBuf); // lineTextBuf, lineInfo
-
-    // After that set to line information items,
-    // becasue the following member variables are deleted
-    // in the destractor of CPredictivePopupLineInfo if leave occurs.
-    lineInfo->iLineText = lineTextBuf;
-    lineInfo->iElementsOnLine = aElementArray;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictivePane::CreateListTextArrayL
-// Create arrary with string to show in a line
-// -----------------------------------------------------------------------------
-//
-CDesCArrayFlat* CAknFepUICtrlJapanesePredictivePane::CreateListTextArrayL(
-        CPredictivePopupLineInfoArray* aLineArray)
-    {
-    CDesCArrayFlat* textArray = new(ELeave) CDesCArrayFlat(1);
-    CleanupStack::PushL(textArray);
-
-    const TInt numberOfItem = aLineArray->Count();
-    TInt i;
-    for (i = 0; i < numberOfItem; i++)
-        {
-        CPredictivePopupLineInfo* lineInfo = aLineArray->At(i);
-        textArray->AppendL(*lineInfo->iLineText);
-        }
-
-    CleanupStack::Pop(textArray);    // textArray
-
-    return textArray;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictivePane::HandleSizeChanged
-// The handler function for size change
-//
-// Original function is AknPopupLayouts::HandleSizeChanged()
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapanesePredictivePane::HandleSizeChanged(
-        TAknPopupWindowLayoutDef& aDef,
-        CAknPopupHeadingPane* aHeading,
-        CEikListBox* aListBox,
-        CCoeControl* aWindowOwningControl)
-    {
-    TInt numofitems = aListBox->Model()->NumberOfItems();
-
-    TInt minItems = KJapPredictiveVisibleListRowsMin;
-    TInt maxItems = KJapPredictiveVisibleListRowsMax;
-
-    if (aDef.iMaximumHeight)
-        {
-        maxItems = aDef.iMaximumHeight;
-        }
-    AknPopupLayouts::CheckRange(numofitems, minItems, maxItems);
-    CalcPopupMenuWindow(aDef, iMainPaneRect, numofitems);
-    SetupMenuPopupWindow(aDef, numofitems, aHeading != 0);
-
-    aWindowOwningControl->SetRect(AknPopupLayouts::WindowRect(aDef));
-    HandleSizeAndPositionOfComponents(aDef, aListBox, aHeading);
-
-    TRect windowRect = AknPopupLayouts::WindowRect(aDef);
-    MAknsControlContext *cc = AknsDrawUtils::ControlContext( aListBox );
-    TBool defaultContext = EFalse;
-    if (!cc)
-        {
-        cc = aListBox->View()->ItemDrawer()->SkinBackgroundControlContext();
-        defaultContext = ETrue;
-        }
-
-    if (cc)
-        {
-        CAknsBasicBackgroundControlContext *bcc =
-            (CAknsBasicBackgroundControlContext*)cc;
-        TAknLayoutRect popupBgRect;
-
-        popupBgRect.LayoutRect(
-            windowRect,
-            ELayoutEmpty,
-            0, 0, ELayoutEmpty, ELayoutEmpty,
-            windowRect.Size().iWidth, windowRect.Size().iHeight);
-
-        bcc->SetBitmap(KAknsIIDQsnFrPopupCenter);
-
-        if (defaultContext)
-            {
-            bcc->SetRect(popupBgRect.Rect());
-            }
-
-        bcc->SetParentPos(aWindowOwningControl->PositionRelativeToScreen());
-
-        if (defaultContext)
-            {
-            bcc->SetParentPos(TPoint(0, 0));
-            }
-        }
-     }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictivePane::HandleDraw
-// The handler function for Draw
-//
-// Original function is AknPopupLayouts::HandleDraw()
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapanesePredictivePane::HandleDraw(CEikonEnv* /*aEikEnv*/,
-                  CWindowGc& aGc,
-                  const TAknPopupWindowLayoutDef& aDef,
-                  CEikListBox* aListBox,
-                  CAknPopupHeadingPane* /*aHeading*/)
-    {
-    aGc.Clear();
-
-    TRect windowRect =
-        AknPopupLayouts::MenuRect(const_cast<TAknPopupWindowLayoutDef&>(aDef));
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    MAknsControlContext* cc = AknsDrawUtils::ControlContext(aListBox);
-    TBool windowFrameDrawn = EFalse;
-    if (!cc)
-        {
-        cc = aListBox->View()->ItemDrawer()->SkinBackgroundControlContext();
-        }
-
-    if (cc)
-        {
-        // drawing frame
-        TAknLayoutRect topLeft;
-        topLeft.LayoutRect(
-            windowRect,
-            ELayoutEmpty,
-            0, 0, ELayoutEmpty, ELayoutEmpty, KListboxFlameMarge, KListboxFlameMarge);
-
-        TAknLayoutRect bottomRight;
-        bottomRight.LayoutRect(
-            windowRect,
-            ELayoutEmpty,
-            ELayoutEmpty, ELayoutEmpty, 0, 0, KListboxFlameMarge, KListboxFlameMarge);
-
-        TRect outerRect = TRect(topLeft.Rect().iTl, bottomRight.Rect().iBr);
-        TRect innerRect = TRect(topLeft.Rect().iBr, bottomRight.Rect().iTl);
-        aGc.SetPenStyle(CGraphicsContext::ENullPen);
-        const TAknsItemID *frameId = &KAknsIIDQsnFrPopupSub;
-        const TAknsItemID *frameCenterId = &KAknsIIDQsnFrPopupCenter;
-        windowFrameDrawn = AknsDrawUtils::DrawFrame(
-                skin, aGc, outerRect, innerRect, *frameId, *frameCenterId);
-        }
-
-    if (!windowFrameDrawn)
-        {
-        DrawWindowShadow(
-            aGc,
-            aDef.iCover, aDef.iSecond, aDef.iFirst, aDef.iOutline, aDef.iInside);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictivePane::CalcPopupMenuWindow
-// Set up the information on a pop-up window
-//
-// Original function is AknPopupLayouts::CalcPopupMenuWindow()
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapanesePredictivePane::CalcPopupMenuWindow(
-        TAknPopupWindowLayoutDef &aDef,const TRect& aRect, TInt /*aNum*/)
-    {
-    TAknLayoutRect popup_menu_window;
-
-    TBool sizeDesideFlag = EFalse;
-    TInt adjustOffsetX = 0;
-    TInt adjustOffsetY = 0;
-
-    TAknWindowLineLayout laf =
-        AKN_LAYOUT_WINDOW_popup_fep_japan_predictive_window(
-            0, iMaximumRows - KJapPredictiveVisibleListRowsMin);
-    laf.il = 0;
-    laf.it = 0;
-    TAknWindowLineLayout maxlaf =
-        AKN_LAYOUT_WINDOW_popup_fep_japan_predictive_window(
-            0, KJapPredictiveVisibleListRowsMax - KJapPredictiveVisibleListRowsMin);
-    laf.il = 0;
-    maxlaf.it = 0;
-
-    popup_menu_window.LayoutRect(aRect, laf);
-
-    // checking whether list can be drawn under the position which popup window is dispalyed
-    if (iMainPaneRect.iTl.iY
-        + iOffsetPosition.iY + KLAFBelowTextBaseline
-        + maxlaf.iH < iMainPaneRect.iBr.iY)
-        {
-        // deciding the position which popup window is dispalyed
-        adjustOffsetY = (-1) * KLAFBelowTextBaseline;
-        sizeDesideFlag = ETrue;
-        }
-
-        // checking whether list can be drawn top the position which popup window is dispalyed
-    else if (iMainPaneRect.iTl.iY
-            + iOffsetPosition.iY - KLAFAboveTextBaseline
-            - iSrcTextHeight
-            - popup_menu_window.Rect().Height() > iMainPaneRect.iTl.iY)
-        {
-        // deciding the position which popup window is dispalyed
-        adjustOffsetY = iSrcTextHeight + KLAFAboveTextBaseline + popup_menu_window.Rect().Height();
-        sizeDesideFlag = ETrue;
-        }
-
-    // display the bottom of window in case the displaying position isn't decided
-    //
-    if (!sizeDesideFlag)
-        {
-        TAknWindowLineLayout laf =
-            AKN_LAYOUT_WINDOW_popup_fep_japan_predictive_window(
-                0, KJapPredictiveVisibleListRowsMax - KLAFBaseListRows);
-        laf.il = 0;
-        laf.it = 0;
-        popup_menu_window.LayoutRect(aRect, laf);
-        adjustOffsetY =
-            iMainPaneRect.iTl.iY
-            + iOffsetPosition.iY + KLAFBelowTextBaseline
-            + popup_menu_window.Rect().Height() - iMainPaneRect.iBr.iY;
-
-        iMaximumRows = KJapPredictiveVisibleListRowsMin;
-        sizeDesideFlag = ETrue;
-        }
-
-    adjustOffsetX =
-        iMainPaneRect.iTl.iX
-        + iOffsetPosition.iX
-        + popup_menu_window.Rect().Width() - iMainPaneRect.iBr.iX;
-    adjustOffsetX = (adjustOffsetX > 0) ? adjustOffsetX : 0;
-
-    TPoint adjustOffset(-adjustOffsetX, -adjustOffsetY);
-
-    aDef.iWindowRect = popup_menu_window.Rect();
-    aDef.iWindowRect.Move(iOffsetPosition);
-    aDef.iWindowRect.Move(adjustOffset);
-
-    TRect window_rect = AknPopupLayouts::MenuRect(aDef);
-    aDef.iCover.LayoutRect(
-        window_rect,
-        AKN_LAYOUT_WINDOW_Predictive_candidate_selection_popup_window_graphics_Line_1(aDef.iWindowRect));
-    aDef.iSecond.LayoutRect(
-        window_rect,
-        AKN_LAYOUT_WINDOW_Predictive_candidate_selection_popup_window_graphics_Line_2(aDef.iWindowRect));
-    aDef.iFirst.LayoutRect(
-        window_rect,
-        AKN_LAYOUT_WINDOW_Predictive_candidate_selection_popup_window_graphics_Line_2(aDef.iWindowRect));
-    aDef.iOutline.LayoutRect(
-        window_rect,
-        AKN_LAYOUT_WINDOW_Predictive_candidate_selection_popup_window_graphics_Line_3(aDef.iWindowRect));
-    aDef.iInside.LayoutRect(
-        window_rect,
-        AKN_LAYOUT_WINDOW_Predictive_candidate_selection_popup_window_graphics_Line_4(aDef.iWindowRect));
-    aDef.iPopupMenuWindowOffset = TPoint(0, 0);
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictivePane::SetupMenuPopupWindow
-// Set up the information on a pop-up window
-//
-// Original function is AknPopupLayouts::SetupMenuPopupWindow()
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapanesePredictivePane::SetupMenuPopupWindow(TAknPopupWindowLayoutDef &aDef, TInt /*num*/, TBool /*heading*/)
-    {
-    AknPopupLayouts::SetupDefaults(aDef);
-    TRect window_rect = AknPopupLayouts::MenuRect(aDef);
-
-    // setting size of listbox pane
-    TAknWindowLineLayout laf =
-        AKN_LAYOUT_WINDOW_popup_fep_japan_predictive_window(0, iMaximumRows - KLAFBaseListRows);
-
-    laf.il = KListboxMarge;
-    laf.it = KListboxMarge;
-    laf.iW -= KListboxMarge*2;
-    laf.iH = laf.iH - KListboxMarge*2 - (laf.iH-KListboxMarge*2)%iMaximumRows;
-    aDef.iListRect.LayoutRect(window_rect, laf);
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictivePane::HandleSizeAndPositionOfComponents
-// The handler function for size and a location
-//
-// Original function is AknPopupLayouts::HandleSizeAndPositionOfComponents()
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapanesePredictivePane::HandleSizeAndPositionOfComponents(
-        const TAknPopupWindowLayoutDef &aDef,
-        CCoeControl *aContent,
-        CAknPopupHeadingPane* /*aHeading*/)
-    {
-    TRect lbrect = aDef.iListRect.Rect();
-
-   if (AknLayoutUtils::ScalableLayoutInterfaceAvailable())
-        {
-        // set scroll size
-        CAknFepUICtrlJapanesePredictiveListbox* listBox =
-            static_cast<CAknFepUICtrlJapanesePredictiveListbox*>(aContent);
-        CAknFepUICtrlJapanesePredictiveListBoxModel* model =
-            static_cast<CAknFepUICtrlJapanesePredictiveListBoxModel*>(listBox->Model());
-        TInt maxRows = model->LineInfoArray()->Count();
-        if (maxRows > KJapPredictiveVisibleListRowsMax)
-            {
-            TAknWindowLineLayout scrollLineLayout = AknLayoutScalable_Avkon::scroll_pane_cp29().LayoutLine();
-            lbrect.iBr.iX -= (scrollLineLayout.iW + KScrollRightMarge - KListboxMarge);
-            }
-        }
-
-    aContent->SetRect(lbrect);
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictivePane::DrawWindowShadow
-// Draw window shadow
-//
-// Original function is AknDrawWithSkins::DrawWindowShadow()
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapanesePredictivePane::DrawWindowShadow(
-        CWindowGc& aGc,
-        const TAknLayoutRect& aCoverRect,
-        const TAknLayoutRect& /*aSecondShadowRect*/,
-        const TAknLayoutRect& aFirstShadowRect,
-        const TAknLayoutRect& aOutlineFrameRect,
-        const TAknLayoutRect& aInsideAreaRect)
-    {
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-
-    // draw rectangle
-    aGc.SetBrushColor(aCoverRect.Color());
-    AknsDrawUtils::Background(skin, NULL, NULL, aGc, aCoverRect.Rect());
-
-    aFirstShadowRect.DrawOutLineRect(aGc);
-
-    aOutlineFrameRect.DrawOutLineRect(aGc);
-
-    aGc.SetBrushStyle(CGraphicsContext::ESolidBrush);
-    aGc.SetBrushColor(aInsideAreaRect.Color());
-    AknsDrawUtils::Background(skin, NULL, NULL, aGc, aInsideAreaRect.Rect());
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictivePane::MaximumRows
-// calculate maximum columns from items of listbox
-// -----------------------------------------------------------------------------
-//
-TInt CAknFepUICtrlJapanesePredictivePane::MaximumRows(
-        CTextListBoxModel* aModel)
-    {
-    CAknFepUICtrlJapanesePredictiveListBoxModel* model =
-        static_cast<CAknFepUICtrlJapanesePredictiveListBoxModel*>(aModel);
-    TInt maxRows = model->LineInfoArray()->Count();
-    TInt maxVisibleRows = Min(KJapPredictiveVisibleListRowsMax, maxRows);
-    maxVisibleRows = Max(KJapPredictiveVisibleListRowsMin, maxVisibleRows);
-    return maxVisibleRows;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictivePane::Draw
-// Called by the framework to draw the control
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapanesePredictivePane::Draw(const TRect& /*aRect*/) const
-    {
-    CWindowGc& gc = SystemGc();
-    gc.Clear();
-    HandleDraw(iEikonEnv, gc, Layout(), iListBox, Heading());
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictivePane::OfferKeyEventL
-// Handle key events. When a key event occurs
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CAknFepUICtrlJapanesePredictivePane::OfferKeyEventL(
-        const TKeyEvent& /*aKeyEvent*/,TEventCode /*aType*/)
-    {
-    return EKeyWasNotConsumed;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictivePane::MovePreviousItem
-// selecting a next candidate
-// -----------------------------------------------------------------------------
-//
-TInt CAknFepUICtrlJapanesePredictivePane::MovePreviousItem()
-    {
-    CAknFepUICtrlJapanesePredictiveListbox* listBox =
-        static_cast<CAknFepUICtrlJapanesePredictiveListbox*>(ListBox());
-
-    return listBox->MovePreviousItem();
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictivePane::MoveNextItem
-// selecting a next candidate
-// -----------------------------------------------------------------------------
-//
-TInt CAknFepUICtrlJapanesePredictivePane::MoveNextItem()
-    {
-    CAknFepUICtrlJapanesePredictiveListbox* listBox =
-        static_cast<CAknFepUICtrlJapanesePredictiveListbox*>(ListBox());
-
-    return listBox->MoveNextItem();
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictivePane::MovePreviousLineItem
-// selecting a previous line candidate
-// -----------------------------------------------------------------------------
-//
-TInt CAknFepUICtrlJapanesePredictivePane::MovePreviousLineItem()
-    {
-    CAknFepUICtrlJapanesePredictiveListbox* listBox =
-        static_cast<CAknFepUICtrlJapanesePredictiveListbox*>(ListBox());
-
-    return listBox->MovePreviousLineItem();
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictivePane::MoveNextLineItem
-// selecting a next line candidate
-// -----------------------------------------------------------------------------
-//
-TInt CAknFepUICtrlJapanesePredictivePane::MoveNextLineItem()
-    {
-    CAknFepUICtrlJapanesePredictiveListbox* listBox =
-        static_cast<CAknFepUICtrlJapanesePredictiveListbox*>(ListBox());
-
-    return listBox->MoveNextLineItem();
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictivePane::UpdateCbaL
-// Changing the cba
-// -----------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapanesePredictivePane::UpdateCbaL(TInt aResourceID)
-    {
-    if (iCurrentResource == aResourceID)
-        {
-        return;
-        }
-
-    // store resource id
-    iPopoutCba->SetCommandSetL( aResourceID );
-    iCurrentResource = aResourceID;
-    iPopoutCba->DrawDeferred();
-    }
-
-/**
- * Processes events from the softkeys. Responds to EAknSoftkeyOk and EAknSoftkeyBack
- * to accept or cancel the pop-up.
- *
- * @param   aCommandId  Event Id from the soft-key
- */
-void CAknFepUICtrlJapanesePredictivePane::ProcessCommandL(TInt aCommandId)
-    {
-    // Respond to softkey events
-    switch (aCommandId)
-        {
-        case EAknFepSoftkeyConvert:
-        case EAknFepSoftkeyCloseWindow:
-        case EAknFepSoftkeyCommit:
-        case EAknFepSoftkeySelectCandidate:
-        case EAknFepSoftkeyOtherModes:
-            iUiMng->HandleCommandL(aCommandId);
-            break;
-        default:
-            CAknPopupList::ProcessCommandL(aCommandId);
-            break;
-        }
-    }
-
-void CAknFepUICtrlJapanesePredictivePane::ShowWindowCbaL()
-    {
-    RDrawableWindow* cbaWindow = iPopoutCba->ButtonGroup()->AsControl()->DrawableWindow();
-    cbaWindow->SetOrdinalPosition(0,ECoeWinPriorityFep);
-    cbaWindow->SetFaded(EFalse, RWindowTreeNode::EFadeWindowOnly);
-    cbaWindow->SetNonFading(ETrue);
-    iEikonEnv->EikAppUi()->AddToStackL(iPopoutCba,
-                                                 ECoeStackPriorityFep,
-                                                 ECoeStackFlagRefusesFocus);
-
-    iPopoutCba->ActivateL();
-    iPopoutCba->MakeVisible(ETrue);
-    iPopoutCba->DrawDeferred(); // to update the cba
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUICtrlJapanesePredictivePane::HandleListBoxEventL
-// CallBack from ListBox
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-void CAknFepUICtrlJapanesePredictivePane::HandleListBoxEventL(
-    CEikListBox* /*aListBox*/, TListBoxEvent aEventType)
-    {
-    switch (aEventType)
-        {
-        case EEventItemDraggingActioned: // Item Moved
-            DrawNow();
-            break;
-        case EEventItemClicked:
-            {
-            TKeyEvent ccpuStart = {EKeyOK, EStdKeyDevice3, 0, 0};
-            iEikonEnv->SimulateKeyEventL(ccpuStart, EEventKey);
-            }
-            break;
-        default:
-           break;
-        }
-    }
-
-// End of File
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlPinyinPopup.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1271 +0,0 @@
-/*
-* Copyright (c) 2004 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:           
-*       Provides the CAknFepUICtrlPinyinPopup methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include <gdi.h>
-#include <eiklabel.h>
-#include <AknsDrawUtils.h>
-#include <AknsUtils.h>
-#include <AknIconUtils.h>
-
-#include <AknsFrameBackgroundControlContext.h>
-#include <aknfepuictrls.mbg>
-
-#include "AknFepUiInterfacePanic.h"
-#include "AknFepUIAvkonCtrlPinyinPopup.h"
-#include "AknFepUIAvkonCtrlInputPane.h"
-#include "aknfepchineseuidataconv.h"
-#include "aknfepuilayoutdatamgr.h"
-#include <skinlayout.cdl.h>
-
-#include "data_caging_path_literals.hrh"
-
-_LIT(KFepUiControlsBitmapFile, "aknfepuictrls.mbm");
-
-CAknFepUICtrlPinyinPopup* CAknFepUICtrlPinyinPopup::NewL(RWindow& aParent, CAknFepUiLayoutDataMgr* aLafDataMgr )
-    {
-    CAknFepUICtrlPinyinPopup* self = new(ELeave) CAknFepUICtrlPinyinPopup( aLafDataMgr );
-    CleanupStack::PushL(self);
-    self->ConstructL(aParent);
-    CleanupStack::Pop();
-    return self;
-    }
-
-CAknFepUICtrlPinyinPopup::~CAknFepUICtrlPinyinPopup()
-    {
-    iInputPaneArray.ResetAndDestroy();
-    iPages.Reset();
-    delete iSpellingArray;
-    delete iSpellingIndexArray;
-    delete iNaviArrowBitmapLeft;
-    delete iNaviArrowBitmapLeftMask;
-    delete iNaviArrowBitmapRight;
-    delete iNaviArrowBitmapRightMask;
-    delete iBgContext;
-    delete iKeystrokeArray;
-    delete iInEffectKeystrokeArray;
-    delete iShowKeystrokeArray;
-    delete iOptimizeSpelling;
-    delete iTempSpelling;
-    delete iChooseChineseCharacterArray;
-    delete iChooseChineseCharacterArrayKeystroke;
-    
-    delete iKeystrokeArrayForStroke;
-    delete iInEffectKeystrokeArrayForStroke;
-    delete iShowKeystrokeArrayForStroke;
-    delete iChooseChineseCharacterArrayForStroke;
-    delete iChooseChineseCharacterArrayKeystrokeForStroke;
-    
-    delete iZhuyinSymbols;
-    delete iZhuyinShowSymbols;
-    delete iFirstValidZhuyinGrp;
-    delete iChineseCharsDisped;
-    delete iZhuyinSymbolsForChineseCharsDisped;
-    }
-
-void CAknFepUICtrlPinyinPopup::SetSizeChangedObserver(
-    MAknFepUICtrlPinyinPopupSizeChangedObserver* aObserver)
-    {
-    iSizeChangedObserver = aObserver;
-    }
-
-TBool CAknFepUICtrlPinyinPopup::IsEnabled() const
-    {
-    return iEnabled;
-    }
-
-void CAknFepUICtrlPinyinPopup::Enable(TBool aEnable)
-    {
-    // fix the refresh bug.
-    TBool redraw = ( aEnable || iEnabled != aEnable );
-    
-    iEnabled = aEnable;
-    if(aEnable)
-        {
-        Window().SetOrdinalPosition(0, ECoeWinPriorityFep); // right at the front
-        }
-    
-    iSizeChangedObserver->SelectionPopupEnabled(aEnable);
-    if (!aEnable)
-    	{
-        for(TInt i = 0; i < iVisibleCount; i++)
-            {
-            CAknFepUICtrlInputPane* inputPane = iInputPaneArray[i];
-            inputPane->SetText(KNullDesC);
-            }   
-        iVisibleCount = 0;
-    	}
-    MakeVisible(aEnable);
-    
-    // fix the refresh bug.
-    if( redraw ) 
-        { 
-        DrawDeferred(); 
-        } 
-    }
-
-void CAknFepUICtrlPinyinPopup::SetVisibleSelectionCount(TInt aCount)
-    {
-    __ASSERT_DEBUG(aCount <= EMaxPhraseCandidate, AknFepUiInterfacePanic(EAknFepUiInterfacePanicNewVisibleCountExceedsRange));
-    __ASSERT_DEBUG(aCount >= 1, AknFepUiInterfacePanic(EAknFepUiInterfacePanicNewVisibleCountExceedsRange));
-
-    if(iVisibleCount != aCount)
-        {
-        iVisibleCount = aCount;
-        TInt oldSelected = iSelected;
-
-        if (iVisibleCount > 1) //the layout does not support a visible count of 1
-            {
-            if(aCount - 1 < oldSelected)
-                {
-                // automatically move the selection to be at the end of the new
-                // candidate buffer, by forcing the one that will become the new 
-                // highlighted one to be layout out highlighted before we are resized 
-                // (note that briefly, there will be two items highlighted, but at least
-                // there will be no flicker)
-                iSelected = aCount - 1;
-                LayoutInputPane(aCount - 1);        
-                }
-
-            // note that the old highlighted one isn't shown any more, so we don't need to lay it out again to hide its highlight
-            SetInputPaneVisibility();
-            iSizeChangedObserver->SelectionPopupSizeChanged(iVisibleCount); 
-            DrawDeferred();
-            }
-        }
-    }
-
-void CAknFepUICtrlPinyinPopup::SetVisibleCount(TInt aCount)
-    {
-    if(iVisibleCount != aCount)
-        {
-        iVisibleCount = aCount;
-        }
-    }
-
-TInt CAknFepUICtrlPinyinPopup::VisibleSelectionCount() const
-    {
-    return iVisibleCount;
-    }
-
-CDesCArrayFlat* CAknFepUICtrlPinyinPopup::PhoneticSpellingArray(void)
-    {
-    return iSpellingArray;
-    }
-
-CDesCArrayFlat* CAknFepUICtrlPinyinPopup::PhoneticSpellingIndexArray(void)
-    {
-    return iSpellingIndexArray;
-    }
-
-void CAknFepUICtrlPinyinPopup::SplitPhraseSpellingIntoPages(void)
-    {
-    iPages.Reset(); 
-    TPage curPage;
-    TInt spellingNum = iSpellingArray->Count();
-    if(spellingNum == 0)
-        {
-        iVisibleCount = 0;
-        return;
-        }
-
-    TInt index = 0;
-    TBool beAppend = EFalse;
-    
-    while(index < spellingNum)
-        {
-        beAppend = EFalse;
-        curPage.iStartIndex = index;
-        curPage.iEndIndex = index;
-    
-        TInt spellingLeftNum = spellingNum - index > EMaxPhraseCandidate? EMaxPhraseCandidate:spellingNum - index;
-        for(TInt j = 0; j < spellingLeftNum; j ++)  
-            {
-            iInputPaneArray[j]->SetText((*iSpellingArray)[index + j]);
-            } 
-        
-        TAknWindowLineLayout layoutEntryItem = 
-                CAknFepChineseUIDataConv::AnyToWindowLine( iLafDataMgr->RequestData(ELayoutEntryItem));
-        TAknTextLineLayout entryTextLine = 
-            CAknFepChineseUIDataConv::AnyToTextLine( iLafDataMgr->RequestData(EEntryTextLayout));
-        TInt layoutLinePrevLeft = 0;
-        TInt layoutLinePrevWidth = 0;
-
-        TAknLayoutRect layoutRectEntryItem;
-        layoutRectEntryItem.LayoutRect(Rect(),layoutEntryItem);
-        TRect rectEntryItem = layoutRectEntryItem.Rect();
-    
-        TAknLayoutText layoutText;
-        layoutText.LayoutText(rectEntryItem,entryTextLine);
-        TRect rectText = layoutText.TextRect();
-        
-        TInt rightLimit = iIndiFepArrowRight.Rect().iTl.iX;
-        // value is 3 for 176*208 resolution
-        TInt distance = rectText.iTl.iX - rectEntryItem.iTl.iX + rectEntryItem.iBr.iX - rectText.iBr.iX;
-        
-        for(TInt i = 0;i < spellingLeftNum;i ++)
-            {
-            if(i > 0)
-                {
-                rectText.iTl.iX = TInt16(layoutLinePrevLeft + layoutLinePrevWidth);
-                }
-            rectText.SetWidth(iInputPaneArray[i]->LabelTextWidthInPixels() + distance);
-
-            // if label's layout out of screen, forms another display page
-            // > change >= change for phrase creation.
-            if((rectText.iTl.iX >= rightLimit) || ((rectText.iTl.iX + rectText.Width()) >= rightLimit))
-                {
-                curPage.iEndIndex = index - 1;
-                iPages.Append(curPage);
-                beAppend = ETrue;
-                break;
-                }
-            
-            layoutLinePrevLeft = rectText.iTl.iX;
-            layoutLinePrevWidth = rectText.Width();
-
-            index ++;
-            
-            if( i == EMaxPhraseCandidate -1 )
-            	{
-                curPage.iEndIndex = index - 1;
-                iPages.Append(curPage);
-                beAppend = ETrue;
-                break;
-            	}
-            
-            }    
-        }
-    
-    if( beAppend == EFalse)
-    	{
-    	curPage.iEndIndex = index - 1;
-    	iPages.Append(curPage);
-    	}
-    iCurDisplayPage = 0;
-    SetVisibleSelectionCount(iPages[0].iEndIndex - iPages[0].iStartIndex + 1);
-    }
-
-void CAknFepUICtrlPinyinPopup::SplitSpellingIntoPages(TInt aCount)
-    {
-    iPages.Reset(); 
-    TPage curPage;
-    if(aCount == 0)
-        {
-        return;
-        }
-    TInt index = 0;
-    TBool beAppend = EFalse;
-    
-    while(index < aCount)
-        {
-        beAppend = EFalse;
-        curPage.iStartIndex = index;
-        curPage.iEndIndex = index;
-        TInt spellingLeftNum = aCount - index > EMaxCandidates? EMaxCandidates:aCount - index;
- 
-        TAknWindowLineLayout layoutEntryItem = 
-                CAknFepChineseUIDataConv::AnyToWindowLine( iLafDataMgr->RequestData(ELayoutEntryItem));
-        TAknTextLineLayout entryTextLine = 
-            CAknFepChineseUIDataConv::AnyToTextLine( iLafDataMgr->RequestData(EEntryTextLayout));
-        TInt layoutLinePrevLeft = 0;
-        TInt layoutLinePrevWidth = 0;
-
-        TAknLayoutRect layoutRectEntryItem;
-        layoutRectEntryItem.LayoutRect(Rect(),layoutEntryItem);
-        TRect rectEntryItem = layoutRectEntryItem.Rect();
-    
-        TAknLayoutText layoutText;
-        layoutText.LayoutText(rectEntryItem,entryTextLine);
-        TRect rectText = layoutText.TextRect();
-        
-        TInt rightLimit = rectEntryItem.iTl.iX + rectEntryItem.Width();
-        // value is 3 for 176*208 resolution
-        TInt distance = rectText.iTl.iX - rectEntryItem.iTl.iX + rectEntryItem.iBr.iX - rectText.iBr.iX;
-        for(TInt i = 0;i < spellingLeftNum;i ++)
-            {
-            if(i > 0)
-                {
-                rectText.iTl.iX = TInt16(layoutLinePrevLeft + layoutLinePrevWidth);
-                }
-            rectText.SetWidth(iInputPaneArray[i]->LabelTextWidthInPixels() + distance);
-
-            // if label's layout out of screen, forms another display page
-            if((rectText.iTl.iX >= rightLimit) || ((rectText.iTl.iX + rectText.Width()) >= rightLimit))
-                {
-                curPage.iEndIndex = index - 1;
-                iPages.Append(curPage);
-                beAppend = ETrue;
-                break;
-                }
-            layoutLinePrevLeft = rectText.iTl.iX;
-            layoutLinePrevWidth = rectText.Width();
-            index ++;
-            
-            if( i == EMaxPhraseCandidate -1 )
-            	{
-            	curPage.iEndIndex = index - 1;
-                iPages.Append(curPage);
-                beAppend = ETrue;
-                break;
-            	}
-            
-            }
-        }
-    
-    if(beAppend == EFalse)
-    	{
-        curPage.iEndIndex = index - 1;
-        iPages.Append(curPage);
-    	}
-    
-    iCurDisplayPage = 0;
-    SetVisibleSelectionCount(iPages[0].iEndIndex - iPages[0].iStartIndex + 1);
-    SelectIndex(0);
-    }
-
-void CAknFepUICtrlPinyinPopup::SetDisplayPage(TInt aSelection)
-    {
-    if(aSelection >= iVisibleCount)
-        {
-        for(TInt i = 0 ; i < iPages.Count(); i ++)
-            {
-            if((aSelection >= iPages[i].iStartIndex) && (aSelection <= iPages[i].iEndIndex))
-                {
-                iCurDisplayPage = i;
-                SetVisibleSelectionCount(iPages[i].iEndIndex - iPages[i].iStartIndex + 1);
-                SelectIndex(aSelection - iPages[i].iStartIndex);
-                break;
-                }
-            }
-        }
-    else
-        {
-        SelectIndex(aSelection);
-        }
-    UpdateInputPaneVisibility();
-    }
-
-TInt CAknFepUICtrlPinyinPopup::CurrentPageStartIndex(void)
-    {
-    return iPages[iCurDisplayPage].iStartIndex;
-    }
-
-CDesCArrayFlat* CAknFepUICtrlPinyinPopup::KeystrokeArray()
-	{
-	return iKeystrokeArray;
-	}
-
-CDesCArrayFlat* CAknFepUICtrlPinyinPopup::InEffectKeystrokeArray()
-	{
-	return iInEffectKeystrokeArray;
-	}
-
-CDesCArrayFlat* CAknFepUICtrlPinyinPopup::ShowKeystrokeArray()
-	{
-	return iShowKeystrokeArray;
-	}
-
-CDesCArrayFlat* CAknFepUICtrlPinyinPopup::OptimizeSpelling()
-	{
-	return iOptimizeSpelling;
-	}
-
-CDesCArrayFlat* CAknFepUICtrlPinyinPopup::TempSpelling()
-    {
-    return iTempSpelling;
-    }
-
-CDesCArrayFlat* CAknFepUICtrlPinyinPopup::ChooseChineseCharacterArray()
-	{
-	return iChooseChineseCharacterArray;
-	}
-
-CDesCArrayFlat* CAknFepUICtrlPinyinPopup::ChooseChineseCharacterArrayKeystroke()
-	{
-	return iChooseChineseCharacterArrayKeystroke;
-	}
-
-TBool CAknFepUICtrlPinyinPopup::GetTonemarkState()
-	{
-	return iTonemarkState;
-	}
-
-void CAknFepUICtrlPinyinPopup::SetTonemarkState( TBool aState )
-	{
-	iTonemarkState = aState;
-	}
-
-void CAknFepUICtrlPinyinPopup::UpdateInputPaneVisibility()
-    {
-    TInt number = 0;
-    if(iPages.Count() != 0)
-        {
-        number = iPages[iCurDisplayPage].iEndIndex - iPages[iCurDisplayPage].iStartIndex + 1;
-        }
-    if(number > iVisibleCount)
-        {
-        number =  iVisibleCount;
-        }
-    for(TInt i = 0; i < EMaxPhraseCandidate; i++)
-        {
-        CAknFepUICtrlInputPane* inputPane = iInputPaneArray[i];
-    
-        if(i < number)
-            {
-            inputPane->MakeVisible(ETrue);
-            }
-        else
-            {
-            inputPane->MakeVisible(EFalse);
-            }
-        }
-    }
-
-TBool CAknFepUICtrlPinyinPopup::SetItemText(TInt aIndex, const TDesC& aText)
-    {
-    __ASSERT_DEBUG(aIndex < EMaxPhraseCandidate, AknFepUiInterfacePanic(EAknFepUiInterfacePanicAttemptedSetItemTextOutsideMaxCandidates));
-    __ASSERT_DEBUG(aIndex >= 0, AknFepUiInterfacePanic(EAknFepUiInterfacePanicAttemptedSetItemTextOutsideMaxCandidates));
-
-    if(aIndex > iVisibleCount)
-        {
-        return EFalse;
-        }
-
-    CAknFepUICtrlInputPane* inputPane = iInputPaneArray[aIndex];
-    inputPane->SetText(aText);
-    return ETrue;
-    }
-
-TBool CAknFepUICtrlPinyinPopup::SetPhraseItemTexts()
-    {
-    for(TInt i = 0; i < iVisibleCount; i ++)
-        {
-        TPtrC spelling = (*iSpellingArray)[i + iPages[iCurDisplayPage].iStartIndex];  // our index is zero based, engine index is one based
-        SetItemText(i, spelling);
-        }
-    return ETrue;
-    }
-
-TBool CAknFepUICtrlPinyinPopup::GetItemText(TInt aIndex, TDes& aText) const
-    {
-    __ASSERT_DEBUG(aIndex < EMaxCandidates, AknFepUiInterfacePanic(EAknFepUiInterfacePanicAttemptedSetItemTextOutsideMaxCandidates));
-    __ASSERT_DEBUG(aIndex >= 0, AknFepUiInterfacePanic(EAknFepUiInterfacePanicAttemptedSetItemTextOutsideMaxCandidates));
-
-    const CAknFepUICtrlInputPane* inputPane = iInputPaneArray[aIndex];
-    inputPane->GetText(aText);
-
-    return ETrue;
-    }
-
-void CAknFepUICtrlPinyinPopup::SetToneMark(const TDesC& aToneMark)
-    {
-    for(TInt i = 0; i < EMaxPhraseCandidate; i++)
-        {
-        CAknFepUICtrlInputPane* inputPane = iInputPaneArray[i];
-        inputPane->SetToneMark(aToneMark);
-        }
-    }
-
-void CAknFepUICtrlPinyinPopup::SetToneMark(TInt aIndex, const TDesC& aToneMark)
-    {
-    CAknFepUICtrlInputPane* inputPane = iInputPaneArray[aIndex];
-    inputPane->SetToneMark(aToneMark);
-
-    LayoutInputPane(aIndex);
-    }
-
-void CAknFepUICtrlPinyinPopup::GetToneMark(TInt aIndex, TDes& aToneMark) const
-    {
-    const CAknFepUICtrlInputPane* inputPane = iInputPaneArray[aIndex];
-    inputPane->GetToneMark(aToneMark);
-    }
-
-void CAknFepUICtrlPinyinPopup::SetItemToneMarkValidity(TInt aIndex, TBool aValid)
-    {
-    CAknFepUICtrlInputPane* inputPane = iInputPaneArray[aIndex];
-    inputPane->SetToneMarkValidity(aValid);
-    }
-
-
-
-TBool CAknFepUICtrlPinyinPopup::SelectNextPhrase()
-    {
-    TInt maxIndex = iVisibleCount  - 1;
-    TInt newIndex = iSelected;
-    
-    if((iSelected == maxIndex) )
-        {
-        // is last page 
-        if(iCurDisplayPage == (iPages.Count() - 1))
-            {
-            iCurDisplayPage = 0;
-            }
-        else
-            {
-            iCurDisplayPage ++;
-            }
-        SetVisibleSelectionCount(iPages[iCurDisplayPage].iEndIndex - iPages[iCurDisplayPage].iStartIndex + 1);
-        SetFlag(EDispPageChanged);
-        newIndex = 0;
-        }
-    else if(iSelected < maxIndex)
-        {
-        newIndex ++;
-        }
-    else if(iSelected > maxIndex)
-        {
-        return EFalse;
-        }
-    return SelectIndex(newIndex);
-    }
-
-
-TBool CAknFepUICtrlPinyinPopup::SelectPrevPhrase()
-    {
-    TInt maxIndex = iVisibleCount - 1;
-    TInt newIndex = iSelected;
-    if(iSelected == 0)
-        {
-        // first page
-        if(iCurDisplayPage == 0)
-            {
-            iCurDisplayPage = iPages.Count() - 1;
-            }
-        else
-            {
-            iCurDisplayPage --;
-            }
-        // loop to the end
-        SetVisibleSelectionCount(iPages[iCurDisplayPage].iEndIndex - iPages[iCurDisplayPage].iStartIndex + 1);
-        SetFlag(EDispPageChanged);
-        newIndex = iVisibleCount - 1 ;
-        }
-    else if(iSelected >  0)
-        {
-        newIndex--;
-        }
-    else if(iSelected > maxIndex)
-        {
-        return EFalse;
-        }
-    return SelectIndex(newIndex);
-    }
-
-TBool CAknFepUICtrlPinyinPopup::SelectIndex(TInt aIndex)
-    {
-    __ASSERT_DEBUG(aIndex < iVisibleCount, AknFepUiInterfacePanic(EAknFepUiInterfacePanicAttemptedSelectionOutsideVisibleCandidates));
-    __ASSERT_DEBUG(aIndex >= 0, AknFepUiInterfacePanic(EAknFepUiInterfacePanicAttemptedSelectionOutsideVisibleCandidates));
-    // If the value of the index changes, the control is redrawn to show the new position.
-    if(iSelected != aIndex)
-        {
-        // only want to layout the two controls between which the selection is moving
-        TInt oldSelected = iSelected;
-        iSelected = aIndex;
-
-        LayoutInputPane(oldSelected);
-        LayoutInputPane(iSelected);
-        }
-    return ETrue;
-    }
-
-TInt CAknFepUICtrlPinyinPopup::CurrentSelection() const
-    {
-    if(iPages.Count() != 0)
-        {
-        return iPages[iCurDisplayPage].iStartIndex + iSelected;
-        }
-    else
-        {
-        return 0;
-        }
-    }
-
-TInt CAknFepUICtrlPinyinPopup::CurrentVisibleSelection() const
-    {
-    return iSelected;
-    }
-
-void CAknFepUICtrlPinyinPopup::PopupSizeChanged()
-	{
-	SizeChanged();
-	}
-	
-void CAknFepUICtrlPinyinPopup::SizeChanged()
-    {
-    LayoutRects();
-    LayoutContainedControls();
-    LayoutFrames();
-    }
-
-TInt CAknFepUICtrlPinyinPopup::CountComponentControls() const
-    {
-    TInt count = 0;
-    count += iInputPaneArray.Count();
-    
-    CCoeControl* controls[] = 
-        {
-        0
-        } ;
-
-    for (TUint ii = 0 ; ii < (sizeof(controls) / sizeof(CCoeControl*)) ; ii++)
-        {
-        if(controls[ii])
-            {
-            count++ ;
-            }
-        }
-    return count ;
-    }
-
-CCoeControl* CAknFepUICtrlPinyinPopup::ComponentControl(TInt aIndex) const 
-    {
-    TInt candidateCount = iInputPaneArray.Count();
-
-    if(aIndex < candidateCount)
-        {
-        // because this method is const, the const [] operator is selected
-        // which means that the pointer is const, so have to cast away constness 
-        // - a possible alternative is to make the array mutable
-        return CONST_CAST(CAknFepUICtrlInputPane*, iInputPaneArray[aIndex]);
-        }
-    aIndex -= candidateCount;
-
-    CCoeControl* controls[] = 
-        {
-        0
-        } ;
-
-    for (TUint ii = 0; (ii < sizeof(controls) / sizeof(CCoeControl*)) ; ii++)
-        {
-        if (controls[ii] && aIndex-- == 0)
-            {
-            return controls[ii] ;
-            }
-        }
-    // shouldn't be called while no components.
-    return NULL ;
-    }
-
-void CAknFepUICtrlPinyinPopup::Draw(const TRect& /*aRect*/) const
-    {
-    CWindowGc& gc = SystemGc();
-    TBool skinnedDraw = EFalse;
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-
-    TRect outerRect;
-    TRect innerRect;
-    CalculateFrameRects(outerRect, innerRect);
-    
-    gc.Clear(outerRect);
-    TRect tmpRect;
-    tmpRect.iTl.iX = innerRect.iTl.iX;
-    tmpRect.iTl.iY = outerRect.iTl.iY;
-    tmpRect.SetWidth(innerRect.Width());
-    tmpRect.SetHeight(outerRect.Height());
-    skinnedDraw = AknsDrawUtils::DrawFrame(skin, gc, outerRect, tmpRect,
-        KAknsIIDQsnFrPopupSub, KAknsIIDQsnFrPopupCenterSubmenu);
-	    
-    // draw the rectangles
-    if(!skinnedDraw)
-        {
-        iRectCoverMainPaneInput.DrawRect(gc);
-        iRectFirstShadowInput.DrawRect(gc);
-        iRectOutlineFrameInput.DrawRect(gc);
-        iRectInsideAreaInput.DrawRect(gc);
-        }
-
-    if((iVisibleCount >= 1) && (iPages.Count() > 1))
-        {
-        if(iCurDisplayPage != 0)
-            {
-            iIndiFepArrowLeft.DrawImage(gc, iNaviArrowBitmapLeft, iNaviArrowBitmapLeftMask);
-            }
-
-        if (iPages.Count() > iCurDisplayPage + 1)
-            {
-            iIndiFepArrowRight.DrawImage(gc, iNaviArrowBitmapRight, iNaviArrowBitmapRightMask);
-            }
-	    }
-    }
-
-TTypeUid::Ptr CAknFepUICtrlPinyinPopup::MopSupplyObject(TTypeUid aId)
-    {
-    if (aId.iUid == MAknsControlContext::ETypeId)
-        return ( MAknsControlContext::SupplyMopObject(aId, iBgContext));
-    return CCoeControl::MopSupplyObject(aId);
-    }
-
-void CAknFepUICtrlPinyinPopup::ConstructL(RWindow& /*aParent*/)
-    {
-    CreateWindowL();
-    ConstructBitmapsL();
-    RWindow& window = Window();
-
-    for(TInt i = 0; i < EMaxPhraseCandidate; i++)
-        {
-        CAknFepUICtrlInputPane* inputPane = 
-            CAknFepUICtrlInputPane::NewL(window, CAknFepUICtrlInputPane::ELayoutPhrasePinyinPopupPane, iLafDataMgr);
-        inputPane->SetMopParent(this);
-        CleanupStack::PushL(inputPane);
-        // ownership is passed, unless allocation is unsuccessful, in which case we still have it on the stack
-        User::LeaveIfError(iInputPaneArray.Append(inputPane));
-        CleanupStack::Pop(); // inputPane
-        }
-
-    iSpellingArray = new(ELeave)CDesCArrayFlat(1);
-    iSpellingIndexArray = new(ELeave)CDesCArrayFlat(1);
-    iKeystrokeArray = new(ELeave)CDesCArrayFlat(1);
-    iShowKeystrokeArray = new(ELeave)CDesCArrayFlat(1);
-    iOptimizeSpelling = new(ELeave)CDesCArrayFlat(1);
-    iTempSpelling = new(ELeave)CDesCArrayFlat(1);
-    iInEffectKeystrokeArray = new(ELeave)CDesCArrayFlat(1);
-    iChooseChineseCharacterArray = new(ELeave)CDesCArrayFlat(1);
-    iChooseChineseCharacterArrayKeystroke = new(ELeave)CDesCArrayFlat(1);
-    //For stroke
-    iKeystrokeArrayForStroke = new(ELeave)CDesCArrayFlat(1);
-    iInEffectKeystrokeArrayForStroke = new(ELeave)CDesCArrayFlat(1);
-    iShowKeystrokeArrayForStroke = new(ELeave)CDesCArrayFlat(1);
-    iChooseChineseCharacterArrayForStroke = new(ELeave)CDesCArrayFlat(1);
-    iChooseChineseCharacterArrayKeystrokeForStroke = new(ELeave)CDesCArrayFlat(1);
-    
-    iZhuyinSymbols = new(ELeave)CDesCArrayFlat(1);
-    iZhuyinShowSymbols = new(ELeave)CDesCArrayFlat(1);
-    iFirstValidZhuyinGrp = new(ELeave)CDesCArrayFlat(1);
-    iChineseCharsDisped = new(ELeave)CDesCArrayFlat(1);
-    iZhuyinSymbolsForChineseCharsDisped = new(ELeave)CDesCArrayFlat(1);
-    
-    SetNonFocusing();
-    window.SetOrdinalPosition(0, ECoeWinPriorityFep); // right at the front
-    window.SetNonFading(ETrue);
-
-    TRect outerRect = TRect();
-    TRect innerRect = TRect();
-    CalculateFrameRects(outerRect, innerRect);
-
-    iBgContext = CAknsFrameBackgroundControlContext::NewL(KAknsIIDQsnFrPopupSub, outerRect, innerRect, ETrue);
-    iLastResouce = 0;
-    MakeVisible(EFalse);
-    }
-
-void CAknFepUICtrlPinyinPopup::ConstructBitmapsL()
-    {
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();    
-    
-    TFileName bmpFile;
-    bmpFile.Copy(_L("z:"));
-    bmpFile.Append(KDC_BITMAP_DIR);
-    bmpFile.Append(KFepUiControlsBitmapFile);      
-    
-    AknsUtils::CreateColorIconL( skin,
-                                     KAknsIIDQgnIndiFepArrowLeft,
-                                     KAknsIIDQsnIconColors,
-                                     EAknsCIQsnIconColorsCG20,
-                                     iNaviArrowBitmapLeft,
-                                     iNaviArrowBitmapLeftMask,
-                                     bmpFile,
-                                     EMbmAknfepuictrlsQgn_indi_fep_arrow_left,
-                                     EMbmAknfepuictrlsQgn_indi_fep_arrow_left_mask,
-                                     AKN_LAF_COLOR( 0 )
-                                 );  
-
-    AknsUtils::CreateColorIconL( skin,
-                                     KAknsIIDQgnIndiFepArrowRight,
-                                     KAknsIIDQsnIconColors,
-                                     EAknsCIQsnIconColorsCG20,
-                                     iNaviArrowBitmapRight,
-                                     iNaviArrowBitmapRightMask,
-                                     bmpFile,
-                                     EMbmAknfepuictrlsQgn_indi_fep_arrow_right,
-                                     EMbmAknfepuictrlsQgn_indi_fep_arrow_right_mask,
-                                     AKN_LAF_COLOR( 0 )
-                                 );    
-    }
-
-CAknFepUICtrlPinyinPopup::CAknFepUICtrlPinyinPopup( CAknFepUiLayoutDataMgr* aLafDataMgr )
-    : 
-    iSelected(0),
-    iEnabled(EFalse),
-    iVisibleCount(CAknFepUICtrlPinyinPopup::EMaxPhraseCandidate),
-    iCurDisplayPage(0),
-    iTonemarkState(1),
-    iStrokeState(0),
-    iHighLightFlag( 0 ),
-    iFlags(0),    
-    iValidKeystrokeCount( 0 ),
-    iPhraseCreation(0),
-    iPhraseCreationEditingState( 0 ),
-    iState(1),    
-    iChangeStateFromEditToSpelling( 0 ),
-    iValidKeystrokeChanged( 0 )
-    {
-    iLafDataMgr = aLafDataMgr;
-    iEEPContent.Zero();
-    }
-
-void CAknFepUICtrlPinyinPopup::LayoutRects()
-    {
-    // left arrow
-    iIndiFepArrowLeft = 
-        CAknFepChineseUIDataConv::AnyToLayoutRect( iLafDataMgr->RequestData( EIndiFepArrowLeft ));
-    AknIconUtils::SetSize( iNaviArrowBitmapLeft, iIndiFepArrowLeft.Rect().Size());
-
-    // right arrow
-    iIndiFepArrowRight = 
-        CAknFepChineseUIDataConv::AnyToLayoutRect( iLafDataMgr->RequestData( EIndiFepArrowRight ));
-    AknIconUtils::SetSize( iNaviArrowBitmapRight, iIndiFepArrowRight.Rect().Size());
-
-    // cover main pane
-    iRectCoverMainPaneInput = 
-        CAknFepChineseUIDataConv::AnyToLayoutRect( iLafDataMgr->RequestData( ERectCoverMainPaneInput ));
-    // first shadow
-    iRectFirstShadowInput = 
-        CAknFepChineseUIDataConv::AnyToLayoutRect( iLafDataMgr->RequestData( ERectFirstShadowInput ));
-    // outline frame
-    iRectOutlineFrameInput = 
-        CAknFepChineseUIDataConv::AnyToLayoutRect( iLafDataMgr->RequestData( ERectOutlineFrameInput ));
-    // inside area
-    iRectInsideAreaInput = 
-        CAknFepChineseUIDataConv::AnyToLayoutRect( iLafDataMgr->RequestData( ERectInsideAreaInput ));
-    }
-
-void CAknFepUICtrlPinyinPopup::LayoutContainedControls()
-    {
-    LayoutInputPanes();
-    }
-
-void CAknFepUICtrlPinyinPopup::LayoutInputPanes()
-    {
-    for(TInt i = 0; i < EMaxPhraseCandidate; i++)
-        {
-        LayoutInputPane(i);
-        }
-    }
-
-void CAknFepUICtrlPinyinPopup::LayoutInputPane(TInt aIndex)
-    {
-    TRect rect = Rect();
-
-    CAknFepUICtrlInputPane* inputPane = iInputPaneArray[aIndex];
-    TAknWindowLineLayout layoutEntryItem = 
-            CAknFepChineseUIDataConv::AnyToWindowLine( iLafDataMgr->RequestData(ELayoutEntryItem));
-    TAknTextLineLayout layoutLineText = 
-        CAknFepChineseUIDataConv::AnyToTextLine( iLafDataMgr->RequestData(EEntryTextLayout));
-    TAknLayoutRect layoutRectEntryItem;
-    layoutRectEntryItem.LayoutRect(rect,layoutEntryItem);
-    TRect rectEntryItem = layoutRectEntryItem.Rect();
-    
-    TAknLayoutText layoutText;
-    layoutText.LayoutText(rectEntryItem,layoutLineText);
-    TRect rectText = layoutText.TextRect();
-    
-    // value is 3 for 176*208 resolution
-    TInt distance = rectText.iTl.iX - rectEntryItem.iTl.iX + rectEntryItem.iBr.iX - rectText.iBr.iX;
-    
-    if( aIndex > 0)
-        {
-        CAknFepUICtrlInputPane* inputPanePrev = iInputPaneArray[aIndex - 1];
-        rectText.iTl.iX = inputPanePrev->Rect().iBr.iX;
-        }
-    rectText.SetWidth(inputPane->LabelTextWidthInPixels() + distance);
-    rectText.SetHeight(rect.Height());
-
-    inputPane->SetRect(rectText);
-    inputPane->SetHighlighted(aIndex == iSelected);
-    }
-
-void CAknFepUICtrlPinyinPopup::SetInputPaneVisibility()
-    {
-    TInt number = iVisibleCount;
-    CWindowGc& gc = SystemGc();
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    MAknsControlContext* cc = AknsDrawUtils::ControlContext(this);
-    TBool skinnedDraw = AknsDrawUtils::Background(skin, cc, this, gc, Rect(),KAknsDrawParamPrepareOnly);
- 
-    for(TInt i = 0; i < EMaxPhraseCandidate; i++)
-        {
-        CAknFepUICtrlInputPane* inputPane = iInputPaneArray[i];
- 
-        //TBool skinnedDraw = AknsDrawUtils::HasBitmapBackground(skin, cc);
-        if(skinnedDraw)
-            {
-            // show input panes, when skinned, as they must draw background context
-            // to avoid (the one that is almost off-screen) flickering behind
-            // however, need to hide the text so that is doesn't show
-            inputPane->MakeTextVisible(i < number);
-            }
-        else
-            {
-            // if not skinned, must hide the offscreen input panes otherwise they 
-            // will draw over the border rectangle
-            inputPane->MakeVisible(i < number);
-            }
-        }
-    }
-
-void CAknFepUICtrlPinyinPopup::LayoutFrames()
-    {
-    TRect outerRect;
-    TRect innerRect;
-    CalculateFrameRects(outerRect, innerRect);
-    iBgContext->SetFrameRects(outerRect, innerRect);
-    iBgContext->SetParentPos(PositionRelativeToScreen());
-    }
-
-void CAknFepUICtrlPinyinPopup::CalculateFrameRects(TRect& aOuterRect, TRect& aInnerRect) const
-    {
-    TRect windowRect = 
-        CAknFepChineseUIDataConv::AnyToRect( iLafDataMgr->RequestData( EPopupRectEntry ));
-    TInt rectHeight = windowRect.iBr.iY - windowRect.iTl.iY;
-    TInt rectWidth = windowRect.Width();
-    windowRect.iTl.iX = 0;
-    windowRect.iTl.iY = 0;
-    windowRect.SetHeight(rectHeight);
-    windowRect.SetWidth(rectWidth);
-
-    TAknLayoutRect topLeft;
-    topLeft.LayoutRect(windowRect, SkinLayout::Submenu_skin_placing_Line_2());
-
-    TAknLayoutRect bottomRight;
-    bottomRight.LayoutRect(windowRect, SkinLayout::Submenu_skin_placing_Line_5());
-    
-    aOuterRect = TRect(topLeft.Rect().iTl, bottomRight.Rect().iBr);
-    aInnerRect = TRect(topLeft.Rect().iBr, bottomRight.Rect().iTl);
-    }
-
-void CAknFepUICtrlPinyinPopup::SetNoneHighlighted()
-    {
-    TInt number = iVisibleCount;
-    CWindowGc& gc = SystemGc();
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    MAknsControlContext* cc = AknsDrawUtils::ControlContext(this);
-    TBool skinnedDraw = AknsDrawUtils::Background(skin, cc, this, gc, Rect(),KAknsDrawParamPrepareOnly);
- 
-    for(TInt i = 0; i < EMaxPhraseCandidate; i++)
-        {
-        CAknFepUICtrlInputPane* inputPane = iInputPaneArray[i];
- 
-        //TBool skinnedDraw = AknsDrawUtils::HasBitmapBackground(skin, cc);
-        if(skinnedDraw)
-            {
-            // show input panes, when skinned, as they must draw background context
-            // to avoid (the one that is almost off-screen) flickering behind
-            // however, need to hide the text so that is doesn't show
-            inputPane->SetHighlighted( !(i < number) );
-            }
-        }
-    }
-CDesCArrayFlat* CAknFepUICtrlPinyinPopup::KeystrokeArrayForStroke()
-    {
-    return iKeystrokeArrayForStroke;
-    }
-
-CDesCArrayFlat* CAknFepUICtrlPinyinPopup::InEffectKeystrokeArrayForStroke()
-    {
-    return iInEffectKeystrokeArrayForStroke;
-    }
-
-CDesCArrayFlat* CAknFepUICtrlPinyinPopup::ShowKeystrokeArrayForStroke()
-    {
-    return iShowKeystrokeArrayForStroke;
-    }
-
-CDesCArrayFlat* CAknFepUICtrlPinyinPopup::ChooseChineseCharacterArrayForStroke()
-    {
-    return iChooseChineseCharacterArrayForStroke;
-    }
-
-CDesCArrayFlat* CAknFepUICtrlPinyinPopup::ChooseChineseCharacterArrayKeystrokeForStroke()
-    {
-    return iChooseChineseCharacterArrayKeystrokeForStroke;
-    }
-
-CDesCArrayFlat* CAknFepUICtrlPinyinPopup::ZhuyinSymbols()
-    {
-    return this->iZhuyinSymbols;
-    }
-
-CDesCArrayFlat* CAknFepUICtrlPinyinPopup::ZhuyinShowSymbols()
-    {
-    return this->iZhuyinShowSymbols;
-    }
-
-CDesCArrayFlat* CAknFepUICtrlPinyinPopup::FirstValidZhuyinGrp()
-    {
-    return this->iFirstValidZhuyinGrp;
-    }
-
-void CAknFepUICtrlPinyinPopup::SetEEPContent ( const TDes& aDes )
-    {
-    iEEPContent = aDes;
-    }
-
-TDes& CAknFepUICtrlPinyinPopup::GetEEPContent ( )
-    {
-    return iEEPContent;
-    }
-
-void CAknFepUICtrlPinyinPopup::SetEEPContentValid ( TBool aValid )
-    {
-    iEEPContentValid = aValid;
-    }
-
-TBool CAknFepUICtrlPinyinPopup::GetEEPContentValid ( )
-    {
-    return iEEPContentValid;
-    }
-
-CDesCArrayFlat* CAknFepUICtrlPinyinPopup::ChineseCharsDisped()
-    {
-    return this->iChineseCharsDisped;
-    }
-
-CDesCArrayFlat* CAknFepUICtrlPinyinPopup::ZhuyinSymbolsForChineseCharsDisped()
-    {
-    return this->iZhuyinSymbolsForChineseCharsDisped;
-    }
-
-void CAknFepUICtrlPinyinPopup::ResetStrokeArray()
-    {
-    //reset pinyin array
-    iSpellingArray->Reset();
-    iSpellingArray->Compress();
-    iSpellingIndexArray->Reset();
-    iSpellingIndexArray->Compress();
-    iKeystrokeArray->Reset();
-    iKeystrokeArray->Compress();
-    iInEffectKeystrokeArray->Reset();
-    iInEffectKeystrokeArray->Compress();
-    iShowKeystrokeArray->Reset();
-    iShowKeystrokeArray->Compress();
-    iChooseChineseCharacterArray->Reset();
-    iChooseChineseCharacterArray->Compress();
-    iChooseChineseCharacterArrayKeystroke->Reset();
-    iChooseChineseCharacterArrayKeystroke->Compress();
-    iOptimizeSpelling->Reset();
-    iOptimizeSpelling->Compress();
-    iTempSpelling->Reset();
-    iTempSpelling->Compress();
-
-    //reset stroke array
-    iKeystrokeArrayForStroke->Reset();
-    iKeystrokeArrayForStroke->Compress();
-    iInEffectKeystrokeArrayForStroke->Reset();
-    iInEffectKeystrokeArrayForStroke->Compress();
-    iShowKeystrokeArrayForStroke->Reset();
-    iShowKeystrokeArrayForStroke->Compress();
-    iChooseChineseCharacterArrayForStroke->Reset();
-    iChooseChineseCharacterArrayForStroke->Compress();
-    iChooseChineseCharacterArrayKeystrokeForStroke->Reset();
-    iChooseChineseCharacterArrayKeystrokeForStroke->Compress();
-    
-    //reset zhuyin array
-    iZhuyinSymbols->Reset();
-    iFirstValidZhuyinGrp->Reset();
-    iChineseCharsDisped->Reset();
-    iZhuyinSymbolsForChineseCharsDisped->Reset();
-    
-    iZhuyinSymbols->Compress();
-    iFirstValidZhuyinGrp->Compress();
-    iChineseCharsDisped->Compress();
-    iZhuyinSymbolsForChineseCharsDisped->Compress();
-    
-    iLastResouce = 0;
-    iValidKeystrokeCount = 0;
-    iPhraseCreation = 0;
-    iPhraseCreationEditingState = 0;
-    iHighLightFlag = 0;
-    iChangeStateFromEditToSpelling = 0;
-    iValidKeystrokeChanged = 0;
-    
-    }
-
-void CAknFepUICtrlPinyinPopup::SetChangeState( TBool aChangeState )
-    {
-    iChangeState =  aChangeState ;
-    }
-
-TBool CAknFepUICtrlPinyinPopup::IsChangeStatet() const
-    {
-    return iChangeState;
-    }
-
-void CAknFepUICtrlPinyinPopup::SetState( TInt aState )
-    {
-    iState = aState;
-    }
-
-TInt CAknFepUICtrlPinyinPopup::GetState()
-    {
-    return iState;
-    }
-
-void CAknFepUICtrlPinyinPopup::SetPhraseCreationState( TBool aState )
-    {
-    iPhraseCreation = aState;
-    }
-
-TBool CAknFepUICtrlPinyinPopup::GetPhraseCreationState()
-    {
-    return iPhraseCreation;
-    }
-
-void CAknFepUICtrlPinyinPopup::SetPhraseCreationEditingState( TBool aState )
-    {
-    iPhraseCreationEditingState = aState;
-    }
-
-TBool CAknFepUICtrlPinyinPopup::GetPhraseCreationEditingState()
-    {
-    return iPhraseCreationEditingState;
-    }
-
-// ---------------------------------------------------------
-// Set flag whether from candidate state change state.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinPopup::SetFromCandidateChangeStateFlag( TBool aFlag )
-    {
-    iHighLightFlag = aFlag;
-    }
-
-// ---------------------------------------------------------
-// Get flag whether from candidate state change state.
-// ---------------------------------------------------------
-//
-TBool CAknFepUICtrlPinyinPopup::GetFromCandidateChangeStateFlag()
-    {
-    return iHighLightFlag;
-    }
-
-// ---------------------------------------------------------
-// Set count of valid keystroke.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinPopup::SetValidKeystrokeCount( TInt aCount )
-	{
-	iValidKeystrokeCount = aCount;
-	}
-
-// ---------------------------------------------------------
-// Set count of valid keystroke.
-// ---------------------------------------------------------
-//
-TInt CAknFepUICtrlPinyinPopup::GetValidKeystrokeCount()
-	{
-	return iValidKeystrokeCount;
-	}
-
-// ---------------------------------------------------------
-// Set last cba resouce id.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinPopup::SetLastResouce( TInt aResouceId )
-    {
-    iLastResouce = aResouceId;
-    }
-
-// ---------------------------------------------------------
-// Get last cba resouce id.
-// ---------------------------------------------------------
-//
-TInt CAknFepUICtrlPinyinPopup::GetLastResouce()
-    {
-    return iLastResouce;
-    }
-
-// ---------------------------------------------------------
-// Set change state from Edit to Spelling flag.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinPopup::SetFromEditToSpellingFlag( TBool aFlag )
-    {
-    iChangeStateFromEditToSpelling = aFlag;
-    }
-
-// ---------------------------------------------------------
-// Get change state from Edit to Spelling flag.
-// ---------------------------------------------------------
-//
-TInt CAknFepUICtrlPinyinPopup::GetFromEditToSpellingFlag()
-    {
-    return iChangeStateFromEditToSpelling;
-    }
-
-// ---------------------------------------------------------
-// Set valid keystroke change flag.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinPopup::SetValidKeystrokeChange( TBool aFlag )
-    {
-    iValidKeystrokeChanged = aFlag;
-    }
-
-// ---------------------------------------------------------
-// Get valid keystroke change flag.
-// ---------------------------------------------------------
-//
-TBool CAknFepUICtrlPinyinPopup::GetValidKeystrokeChange()
-    {
-    return iValidKeystrokeChanged;
-    }
-
-// ---------------------------------------------------------
-// Set PreStateIsPredict flag.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinPopup::SetPreStateIsPredictive( TBool aFlag )
-    {
-    iPreStateIsPredictive = aFlag;
-    }
-
-// ---------------------------------------------------------
-// Set PreStateIsPredict flag.
-// ---------------------------------------------------------
-//
-TBool CAknFepUICtrlPinyinPopup::GetPreStateIsPredictive()
-    {
-    return iPreStateIsPredictive;
-    }
-
-void CAknFepUICtrlPinyinPopup::SetInputLayoutMiniQwertyZhuyin()
-    {
-    for(TInt i = 0; i < EMaxPhraseCandidate; i++)
-        {
-        iInputPaneArray[i]->SetLayout( CAknFepUICtrlInputPane::ELayoutPhraseMiniQwertyZhuyin );
-        }
-    }
-
-void CAknFepUICtrlPinyinPopup::ResetInputLayoutMiniQwertyZhuyin()
-    {
-    for(TInt i = 0; i < EMaxPhraseCandidate; i++)
-        {
-        iInputPaneArray[i]->SetLayout( CAknFepUICtrlInputPane::ELayoutPhrasePinyinPopupPane );
-        }
-    }
-// End of file
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonImpl.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,896 +0,0 @@
-/*
-* Copyright (c) 2007 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:           
-*       Provides the FEP's Avkon UI access methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiAvkonImpl.h"
-#include "AknFepUiAvkonStylusPopUpMenu.h"
-#include <aknnotedialog.h>          //CAknNoteDialog
-#include <aknmessagequerydialog.h>  //CAknMessageQueryDialog
-#include <aknradiobuttonsettingpage.h>
-#include <aknsettingpage.h>
-#include <aknlistquerydialog.h>
-#include <aknedsts.h>               //CAknEdwinState
-#include <barsread.h>
-#include <aknfep.rsg>
-#include "AknFepGlobalEnums.h"
-#include <aknstyluspopupmenu.h>
-#include <aknSctDialog.h>           //CAknCharMapDialog
-#include <akntouchpane.h>
-#include "AknFepQuery.h"
-#include <aknedformaccessor.h>
-#include "AknFepIndicatorAvkon.h"
-#include <AknFepManagerInterface.h> // MAknFepManagerInterface
-#include <AknIndicatorContainer.h>  //CAknIndicatorContainer
-#include "AknFepUIAvkonCtrlContainerChinese.h"
-#include "AknFepUIAvkonCtrlContainerJapanese.h"
-#include <AknFepUiInterfacePanic.h>
-#include "AknFepUIAvkonCtrlJapaneseKutenQueryDialog.h"
-#include <featmgr.h>
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-// Predictive QWERTY (XT9) changes ---->
-#include <aknappui.h>
-#include <akntitle.h> //CAknTitlePane
-#include <StringLoader.h>
-#include "AknFepAvkonCandidatePopup.h"
-#include "AknFepUiAvkonCtrlExactWordPopupContent.h"
-#include "AknFepPredictiveSettingDialog.h"
-#include "AknFepUserDictionaryEditDialog.h"
-
-#ifdef FF_DUAL_LANGUAGE_SUPPORT
-#include "AknFepUIAvkonCtrlDualLanguageSettingDialog.h"
-#endif //FF_DUAL_LANGUAGE_SUPPORT
-// Predictive QWERTY (XT9) changes <----
-#ifdef __ITI_VIRTUAL_TOUCH_FIRST_GENERATION_SUPPORT__    
-#include <AvkonInternalCRKeys.h> 
-#endif //__ITI_VIRTUAL_TOUCH_FIRST_GENERATION_SUPPORT__
-#endif //RD_INTELLIGENT_TEXT_INPUT
-
-GLDEF_C void AknFepUiInterfacePanic(TAknFepUiInterfacePanic aPanic)
-    {
-    User::Panic(_L("AKNFEPUI"),aPanic);
-    }
-
-
-// This command is is used for setting empty CBA.
-const TInt ENullCommandId = 0;
-
-
-CAknFepUIAvkonImpl* CAknFepUIAvkonImpl::NewL()
-	{
-	CAknFepUIAvkonImpl* self = new(ELeave) CAknFepUIAvkonImpl();
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(self);
-    return self;	
-	}
-
-void CAknFepUIAvkonImpl::ConstructL()
-    {
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-#ifdef __ITI_VIRTUAL_TOUCH_FIRST_GENERATION_SUPPORT__   
-    //Attach the P&S property to the keyboardlayout and subscribe to the P&S framework
-    // for any keyboard layout change.
-    User::LeaveIfError(iKeyboardLayoutStatusProperty.Attach(KCRUidAvkon, KAknKeyBoardLayout));    
-    iKeyboardLayoutStatusSubscriber = new (ELeave) CSubscriber(
-                                         TCallBack(HandleKeyboardLayoutChangeNotification, this), 
-                                         iKeyboardLayoutStatusProperty);    
-    iKeyboardLayoutStatusSubscriber->SubscribeL();
-#endif
-#endif     
-    }
-
-CAknFepUIAvkonImpl::CAknFepUIAvkonImpl()
-	{
-    iDialog = NULL;
-    iPredictiveSettingDialog = NULL;
-    iListQueryDialog = NULL;
-    iTextQueryDialog = NULL;
-	}
-CAknFepUIAvkonImpl::~CAknFepUIAvkonImpl()
-	{
-    delete iCba;
-    iCba = NULL;
-    DeleteDialogs();
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT    
-#ifdef __ITI_VIRTUAL_TOUCH_FIRST_GENERATION_SUPPORT__       
-    if (iKeyboardLayoutStatusSubscriber)
-        {
-        iKeyboardLayoutStatusSubscriber->StopSubscribe();
-        }
-    iKeyboardLayoutStatusProperty.Close();
-    delete iKeyboardLayoutStatusSubscriber;     
-#endif    
-#endif   
-	}
-
-void CAknFepUIAvkonImpl::DeleteDialogs()
-    {
-    if(iDialog)
-        {
-        delete iDialog;
-        iDialog = NULL;
-        }
-    if(iCharMapDialog)
-        {
-        delete iCharMapDialog;
-        iCharMapDialog = NULL;
-        }
-    if(iListQueryDialog)
-        {
-        delete iListQueryDialog;
-        iListQueryDialog = NULL;
-        }
-    if(iTextQueryDialog)
-        {
-        delete iTextQueryDialog;
-        iTextQueryDialog = NULL;
-        }
-    if(iPredictiveSettingDialog)
-        {
-        TRAP_IGNORE( iPredictiveSettingDialog->ProcessCommandL(EAknCmdExit));
-        }
-    }
-
-void CAknFepUIAvkonImpl::LaunchConfirmationNoteL(TInt aResourceId)
-	{
-    CAknNoteDialog* dlg = new (ELeave) CAknNoteDialog();
-    dlg->SetTimeout(CAknNoteDialog::EShortTimeout);
-    dlg->SetTone(CAknNoteDialog::ENoTone);
-    dlg->ExecuteLD(aResourceId);
-	}
-
-void CAknFepUIAvkonImpl::LaunchHelpTextQueryL(TInt aResourceId)
-	{
-    CAknMessageQueryDialog* dlg = new (ELeave) CAknMessageQueryDialog();
-    iDialog = dlg;
-    dlg->ExecuteLD(aResourceId);
-    iDialog = NULL;
-	}
-
-TInt CAknFepUIAvkonImpl::LaunchCangJieOptionDlgL(TInt aResourceId, TInt& aLevel, MDesC16Array* aItems)
-	{
-    CAknRadioButtonSettingPage* dlg = new (ELeave) CAknRadioButtonSettingPage (
-        aResourceId,
-        aLevel,
-        aItems
-        );
-    TBool ret = dlg->ExecuteLD(CAknSettingPage::EUpdateWhenChanged);
-	return ret;
-	}
-
-/* TCleanupSlotBase can be placed on the cleanup stack to cleanup
- * a CBase derived object, but with the benefit that the CBase
- * object can be reassigned.
- * Essesntially it is a reusable cleanup stack slot.
- * This is useful for situations where you would like to be able
- * to remove or change an item on the cleanup stack, but do not
- * know enough about the contents of the cleanup stack above it
- * to unstack then restack the items that should remain.
- */
-class TCleanupSlotCBase
-	{
-public:
-	TCleanupSlotCBase() 
-		: iObj(NULL) 
-		{}
-	TCleanupSlotCBase(CBase* aObj) 
-		: iObj(aObj) 
-		{}
-	void PushL()
-		{ CleanupStack::PushL(TCleanupItem(Cleanup, this)); }
-	void Pop()
-		{ CleanupStack::Pop(); }
-	void PopAndDestroy()
-		{ CleanupStack::PopAndDestroy(); }
-	void SetObj(CBase* aObj)
-		{ iObj = aObj; }
-private:
-	static void Cleanup(TAny* aThis)
-		{ delete static_cast<CBase*>(static_cast<TCleanupSlotCBase*>(aThis)->iObj); }
-private:
-	CBase* iObj;
-	};
-	
-TInt CAknFepUIAvkonImpl::LaunchListPopupL(TInt aResourceId, TInt& aIndex, TInt aInitialIndex, MDesC16Array* aItems, CArrayPtr<CGulIcon>* aIcons)
-	{
-	TCleanupSlotCBase iconsCleanup(aIcons);
-	iconsCleanup.PushL();
-	
-    iListQueryDialog = new (ELeave) CAknListQueryDialog(&aIndex);
-    iListQueryDialog->PrepareLC( aResourceId );
-    
-    CAknListQueryControl* listQueryControl = 
-        STATIC_CAST( CAknListQueryControl*, iListQueryDialog->Control(EListQueryControl));
-    if (aIcons)
-    	{
-	    listQueryControl->Listbox()->ItemDrawer()->FormattedCellData()
-	        ->SetIconArrayL( aIcons );
-	   	iconsCleanup.SetObj(NULL);	// ownership transferred to dialog
-	    listQueryControl->Listbox()->ItemDrawer()->FormattedCellData()
-	        ->SetNotAlwaysDrawnSubCellL( 0, ETrue );// Needed because not using icon in cell.
-    	}
-
-    // Activate selected language:
-    CTextListBoxModel* model = listQueryControl->Listbox()->Model();
-    model->SetItemTextArray( aItems );
-    model->SetOwnershipType( ELbmDoesNotOwnItemArray );
-    iListQueryDialog->ListBox()->SetCurrentItemIndex( aInitialIndex );
-
-    // Fire up the dialog
-    TInt ret = iListQueryDialog->RunLD();
-    iconsCleanup.Pop();
-    iListQueryDialog = NULL;
-    return ret;
-	}
-
-void CAknFepUIAvkonImpl::UpdateSoftkeysL(TInt aResourceId, CAknEdwinState* aEditorState, MEikCommandObserver* aObserver, TInt aInputMode)
-	{
-    CEikButtonGroupContainer* currentEditorCba=aEditorState->CbaState().iCurrentCba;
-    if (currentEditorCba /*&& currentEditorCba->IsVisible()*/)
-        {
-//        currentEditorCba->MakeVisible(ETrue);
-        TBool cbaModified = EFalse;
-
-        // remove the old command button(s)
-        if (aEditorState->CbaState().iLeftSoftkeyCommandId)
-            {
-            currentEditorCba->RemoveCommandFromStack(ELeftSoftkeyIndex, currentEditorCba->ButtonGroup()->CommandId(ELeftSoftkeyIndex));
-            currentEditorCba->RemoveCommandObserver(ELeftSoftkeyIndex);
-            aEditorState->CbaState().iLeftSoftkeyCommandId=0;
-            cbaModified = ETrue;
-            }
-        if (aEditorState->CbaState().iRightSoftkeyCommandId)
-            {
-            currentEditorCba->RemoveCommandFromStack(ERightSoftkeyIndex, currentEditorCba->ButtonGroup()->CommandId(ERightSoftkeyIndex));
-            currentEditorCba->RemoveCommandObserver(ERightSoftkeyIndex);
-            aEditorState->CbaState().iRightSoftkeyCommandId=0;
-            cbaModified = ETrue;
-            }
-        if (aEditorState->MiddleSoftkeyCommandId())
-            {
-            currentEditorCba->RemoveCommandFromStack(EMiddleSoftkeyIndex, currentEditorCba->ButtonGroup()->CommandId(EMiddleSoftkeyIndex));
-            currentEditorCba->RemoveCommandObserver(EMiddleSoftkeyIndex);
-            aEditorState->SetMiddleSoftkeyCommandId(0);
-            cbaModified = ETrue;
-            }
-
-        if( aResourceId  == R_AKNFEP_SOFTKEYS_FINGER ||
-            aResourceId  == R_AKNFEP_SOFTKEYS_FINGER_OPTION_PREVIOUS  ||
-            aResourceId  == R_AKNFEP_SOFTKEYS_FINGER_SPELL_PREVIOUS )
-            {
-            ShowOwnsSoftkeysL(aResourceId, aObserver);
-            return;     // return this function
-            }
-        // for Japanese
-        switch (aResourceId)
-            {
-            case R_AKNFEP_SOFTKEYS_PREDICT_OTHER_COMMIT:
-            case R_AKNFEP_SOFTKEYS_EMPTY_EMPTY_COMMIT:
-            case R_AKNFEP_SOFTKEYS_EMPTY_OTHER_COMMIT:
-            case R_AKNFEP_SOFTKEYS_PHRASE_CREATION_SELECT_CANCEL_SELECT:
-            case R_AKNFEP_SOFTKEYS_DONE_CANCEL_DONE:
-                ShowOwnsSoftkeysL(aResourceId, aObserver);
-                return;     // return this function
-            case R_AKNFEP_SOFTKEYS_CONVERT_OTHER_SELECT:
-            case R_AKNFEP_SOFTKEYS_EMPTY_CANCEL_SELECT:
-            case R_AVKON_SOFTKEYS_EMPTY:
-                ShowEmptySoftkeysL(ETrue, aObserver, aInputMode);
-                return;     // return this function
-            default:
-                // delete iCba object in this function
-                ShowEmptySoftkeysL(EFalse, aObserver, aInputMode);
-                break;
-            }
-
-        // add the new button/command ids
-        if (aResourceId)
-            {
-            TResourceReader reader;
-            CCoeEnv::Static()->CreateResourceReaderLC(reader, aResourceId);
-            reader.ReadInt32();     // flags
-            reader.ReadInt16();     // width
-            reader.ReadInt32();     // related buttons
-            reader.ReadInt16();     // size of buttons array
-
-            TInt leftSoftkeyShortCommandId=(currentEditorCba->ButtonGroup()->CommandId(ELeftSoftkeyIndex)) & 0x0000ffff;
-
-            for (TInt index=0; index < currentEditorCba->ButtonCount(); index++)
-                {
-                TInt cbaIndex = index;
-                if ( index >=1 )
-                    {
-                    cbaIndex++;    // skip the scrollbar
-                    }
-
-                TUint8 version = (TUint8)reader.ReadUint8();
-                TInt commandId;
-                if (version == KAknCbaVersion)
-                    {
-                    TUint32 shortCommandId = reader.ReadUint16();
-                    TUint32 longCommandId = reader.ReadUint16();
-                    commandId = (longCommandId << 16) | shortCommandId;
-                    }
-                else
-                    {
-                    commandId = TInt(TUint(reader.ReadUint16()));
-                    }
-                TPtrC text=reader.ReadTPtrC();
-                reader.ReadTPtrC(); // bmp filename
-                reader.ReadInt16(); // bmp id
-                reader.ReadInt16(); // bmp mask id
-
-                // check we have a command and also check that if we're changing the
-                // left softkey that it is 'Options'
-                if ( commandId )
-                    {
-                    if(!currentEditorCba->UpdatedCommandObserverExists(CEikButtonGroupContainer::TCommandPosition(cbaIndex)))
-                        {
-                        currentEditorCba->UpdateCommandObserverL(cbaIndex, *aObserver);
-                        currentEditorCba->AddCommandToStackL(cbaIndex, commandId, text);
-                        
-                    if (cbaIndex==ELeftSoftkeyIndex)
-                        {
-                        aEditorState->CbaState().iLeftSoftkeyCommandId=commandId;
-                        }
-                    else if (cbaIndex==ERightSoftkeyIndex)
-                        {
-                        aEditorState->CbaState().iRightSoftkeyCommandId=commandId;
-                        }
-                    else if (cbaIndex==EMiddleSoftkeyIndex)
-                        {
-                        aEditorState->SetMiddleSoftkeyCommandId(commandId);
-                        }
-                        }
-
-                    cbaModified = ETrue;
-                    }
-                }
-            CleanupStack::PopAndDestroy(); // reader
-            }
-
-        if (cbaModified)
-            {
-            currentEditorCba->DrawNow(); // to update the cba
-            }
-        }
-	}
-
-/**
- *  Show cba of aResourceId using owns cba object(iCba)
- *
- *  @since 3.2
- *  @param aResourceId Cba resource id.
- *  @return None
- */
-void CAknFepUIAvkonImpl::ShowOwnsSoftkeysL(const TInt aResourceId, MEikCommandObserver* aObserver)
-    {
-    if (iCba)
-        {
-        delete iCba;
-        iCba = NULL;
-        }
-    iCba = CEikButtonGroupContainer::NewL(CEikButtonGroupContainer::ECba,
-                                          CEikButtonGroupContainer::EHorizontal,
-                                          aObserver,
-                                          aResourceId);
-    iCba->SetBoundingRect(CEikonEnv::Static()->EikAppUi()->ApplicationRect());
-    iCba->DrawNow();
-    }
-
-/**
- * This method is that empty CBA is shown in case aShown is ETrue.
- * If aShown is EFalse, empty CBA is erased.
- */
-void CAknFepUIAvkonImpl::ShowEmptySoftkeysL(TBool aShown, MEikCommandObserver* aObserver, TInt aInputMode)
-    {
-    if (aShown)
-        {
-        if (!iCba)
-            {
-            iCba = CEikButtonGroupContainer::NewL(CEikButtonGroupContainer::ECba, CEikButtonGroupContainer::EHorizontal, aObserver, R_AVKON_SOFTKEYS_EMPTY);
-            iCba->SetBoundingRect(CEikonEnv::Static()->EikAppUi()->ApplicationRect());
-            }
-        // set each CBA
-        TBool update = UpdateSoftkeyLabelL(ELeftSoftkeyIndex, ENullCommandId, R_TEXT_SOFTKEY_EMPTY);
-        if (aInputMode == EPinyin || aInputMode == EZhuyin ||
-            aInputMode == EStroke || aInputMode == ECangJie)
-            {
-            update |= UpdateSoftkeyLabelL(ERightSoftkeyIndex, EAknFepSoftkeyCloseWindow, R_AKNFEP_SOFTKEY_CCPU_CANCEL);
-            update |= UpdateSoftkeyLabelL( EMiddleSoftkeyIndex, ENullCommandId, R_AVKON_SOFTKEY_SELECT_TEXT ); 
-            }
-        else
-            {
-            update |= UpdateSoftkeyLabelL(ERightSoftkeyIndex, ENullCommandId, R_TEXT_SOFTKEY_EMPTY);
-            update |= UpdateSoftkeyLabelL(EMiddleSoftkeyIndex, ENullCommandId, R_TEXT_SOFTKEY_EMPTY);
-            }
-
-        if (update)
-            {
-            iCba->DrawNow();
-            }
-        }
-    else
-        {
-        delete iCba;
-        iCba = NULL;
-        }
-    }
-
-TBool CAknFepUIAvkonImpl::SoftkeysExist()
-	{
-	return iCba != NULL;
-	}
-
-TInt CAknFepUIAvkonImpl::SoftkeyCommandId(TInt aPosition)
-	{
-	return iCba->ButtonGroup()->CommandId(aPosition);
-	}
-
-void CAknFepUIAvkonImpl::DeleteSoftkeys()
-	{
-	delete iCba;
-	iCba = NULL;
-	}
-
-void CAknFepUIAvkonImpl::DrawSoftkeysNow()
-	{
-	iCba->DrawNow();
-	}
-
-void CAknFepUIAvkonImpl::CreateSoftkeys(TInt aResourceId, MEikCommandObserver* aObserver)
-	{
-	DeleteSoftkeys();
-    TRAP_IGNORE(iCba = CEikButtonGroupContainer::NewL(CEikButtonGroupContainer::ECba, CEikButtonGroupContainer::EHorizontal, aObserver, aResourceId));
-    iCba->SetBoundingRect(CEikonEnv::Static()->EikAppUi()->ApplicationRect());
-    iCba->MakeVisible(ETrue);
-    iCba->ButtonGroup()->AsControl()->DrawableWindow()->SetOrdinalPosition(0,ECoeWinPriorityAlwaysAtFront + 10);
-	}
-
-TBool CAknFepUIAvkonImpl::UpdateSoftkeyLabelL(TInt aPosition, TInt aCommandId, TInt aTextResId)
-	{
-    if (iCba->ButtonGroup()->CommandId(aPosition) != aCommandId)
-        {
-        HBufC* buf = CEikonEnv::Static()->AllocReadResourceLC(aTextResId);
-        if( buf->Des().Length() > 1 && EMiddleSoftkeyIndex != aPosition )
-            {
-            iCba->SetCommandL(aPosition, aCommandId, buf->Des().Mid(1));                    
-            }
-        else
-            {           
-            iCba->SetCommandL(aPosition, aCommandId, *buf);
-            }
-        CleanupStack::PopAndDestroy(buf);
-        return ETrue;
-        }
-    return EFalse;
-	}
-
-void CAknFepUIAvkonImpl::SetFepMenuObserver(MAknFepUiInterfaceMenuObserver* aObserver)
-	{
-	iFepMenuObserver = aObserver;
-	if (aObserver)
-		{	
-		CAknEnv::Static()->SetFepMenuObserver(this);
-		}
-	else
-		{	
-		CAknEnv::Static()->SetFepMenuObserver(NULL);
-		}
-	}
-
-CAknFepUiInterfaceMenuBar* CAknFepUIAvkonImpl::EditorStateMenuBar(CAknEdwinState* aEditorState)
-	{
-	iEditorMenuBar.iMenuBar = aEditorState->MenuBar();
-	return &iEditorMenuBar;
-	}
-
-void CAknFepUIAvkonImpl::DynInitMenuPaneL(TInt aResourceId,CEikMenuPane* aMenuPane)
-	{
-	iTempMenuPane.iMenuPane = aMenuPane;
-	if (iFepMenuObserver)
-		iFepMenuObserver->DynInitMenuPaneL(aResourceId, &iTempMenuPane);
-	}
-
-void CAknFepUIAvkonImpl::DynInitMenuBarL(TInt aResourceId,CEikMenuBar* aMenuBar)
-	{
-	CAknFepUIAvkonMenuBarImpl* impl = &iTempMenuBar;
-	if (iEditorMenuBar.iMenuBar == aMenuBar)
-		impl = &iEditorMenuBar;
-	impl->iMenuBar = aMenuBar;
-	if (iFepMenuObserver)
-		iFepMenuObserver->DynInitMenuBarL(aResourceId, impl);
-	}
-
-void CAknFepUIAvkonImpl::SetEmphasis(CCoeControl* aMenuControl,TBool aEmphasis)
-	{
-	CBase* impl = NULL;
-	if (aMenuControl == iEditorMenuBar.iMenuBar)
-		impl = &iEditorMenuBar;
-	else if (aMenuControl == iTempMenuBar.iMenuBar)
-		impl = &iTempMenuBar;
-	else if (aMenuControl == iTempMenuPane.iMenuPane)
-		impl = &iTempMenuPane;
-	if (iFepMenuObserver)
-		iFepMenuObserver->SetEmphasis(impl, aEmphasis);
-	}
-
-void CAknFepUIAvkonImpl::ProcessCommandL(TInt aCommandId)
-	{
-	if (iFepMenuObserver)
-		iFepMenuObserver->ProcessCommandL(aCommandId);
-	}
-
-CAknFepUiInterfaceMenuBar* CAknFepUIAvkonImpl::NewMenuBarL(MAknFepUiInterfaceMenuObserver* aObserver, TInt aHotKeyResourceId, TInt aMenuTitleResourceId)
-	{
-	CAknFepUIAvkonMenuBarOwningImpl* menuBar = new(ELeave) CAknFepUIAvkonMenuBarOwningImpl;
-	CleanupStack::PushL(menuBar);
-	menuBar->ConstructL(aObserver, aHotKeyResourceId, aMenuTitleResourceId);
-	CleanupStack::Pop(menuBar);
-	return menuBar;
-	}
-
-CAknFepUiInterfaceStylusPopUpMenu* CAknFepUIAvkonImpl::NewStylusPopUpMenuL(MAknFepUiInterfaceMenuObserver* aObserver, const TPoint& aPoint)
-	{
-	CAknFepUIAvkonStylusPopUpMenu* popupMenu = new(ELeave) CAknFepUIAvkonStylusPopUpMenu;
-	CleanupStack::PushL(popupMenu);
-	popupMenu->ConstructL(aObserver, aPoint);
-	CleanupStack::Pop(popupMenu);
-	return popupMenu;
-	}
-
-TInt CAknFepUIAvkonImpl::CharMapDialogL(TInt aCharCase, TDes& aSpecialChars, TInt aCharSetResourceId, TBool aLockNumericKeys, TBool aShowPictographsFirst, TBool aShowNoPictographs, TBool aShowAnotherTable, TInt aAfterSctChars, TInt aResId, TBool aDisableRecentItemRow )
-	{
-	TInt result;
-	
-	iCharMapDialog = new(ELeave) CAknCharMapDialog(aCharCase, aSpecialChars, aCharSetResourceId);
-
-    if (aLockNumericKeys)
-        {
-        iCharMapDialog->LockNumericKeys(ETrue);
-        }
-
-    if ( aShowPictographsFirst )
-        {
-        // It is supposed that the pictograph table launch is allowed in this case.
-        iCharMapDialog->ShowPictographsFirst();
-        }
-    else if (aShowNoPictographs)
-        {
-        // Pictograph table is not shown.
-        iCharMapDialog->ShowNoPictographs();
-        }
-
-    if (aShowAnotherTable)
-        {
-        iCharMapDialog->ShowAnotherTable(aAfterSctChars);
-        }
-    if(aDisableRecentItemRow)
-        {
-        iCharMapDialog->DisableRecentCharsRow();
-        }
-    
-
-    result = iCharMapDialog->ExecuteLD(aResId);
-    iCharMapDialog = NULL;
-    return result;
-	}
-
-void CAknFepUIAvkonImpl::TouchPaneSetFepPenSupportInterface(MAknFepPenSupportInterface* aFepPenSupportInterface)
-	{
-	if(iAvkonAppUi->TouchPane())
-		iAvkonAppUi->TouchPane()->SetFepPenSupportInterface(aFepPenSupportInterface);
-	}
-
-void CAknFepUIAvkonImpl::TouchPaneAllowInputMethodActivation(TBool aValue)
-	{
-	if(iAvkonAppUi->TouchPane())
-		iAvkonAppUi->TouchPane()->AllowInputMethodActivation(aValue);
-	}
-
-void CAknFepUIAvkonImpl::TouchPaneRefreshL()
-	{
-	if(iAvkonAppUi->TouchPane())
-		iAvkonAppUi->TouchPane()->RefreshL();
-	}
-
-void CAknFepUIAvkonImpl::TouchPaneSetInputMethodIconActivated(TBool aActivated)
-	{
-	if(iAvkonAppUi->TouchPane())
-		iAvkonAppUi->TouchPane()->SetInputMethodIconActivated(aActivated);
-	}
-
-TInt CAknFepUIAvkonImpl::TextQueryDialogL(TDes& aDataText, CAknEdwinState& aEditorState, TInt aEditorFlag, TInt aResId)
-	{
-	TInt result;
-    iTextQueryDialog = new (ELeave) CAknFepTextQueryDialog(aDataText, aEditorState, CAknFepTextQueryDialog::ENoTone, aEditorFlag);
-    iTextQueryDialog->PrepareLC(aResId);
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    //last char space has to be reserved for null terminator
-    iTextQueryDialog->SetMaxLength( KMaxUDBLength - 1 );
-#endif //RD_INTELLIGENT_TEXT_INPUT
-    result = iTextQueryDialog->RunLD();
-    iTextQueryDialog = NULL;
-    return result;
-	}
-
-CPlainText* CAknFepUIAvkonImpl::PlainText(CAknEdwinState* aEditorState)
-	{
-    CEikEdwin* editor = NULL;
-    if (aEditorState)
-        {
-        CAknEdwinFormAccessor* formAccessor = aEditorState->FormAccessor();
-        if (formAccessor)
-            {
-            editor = (CEikEdwin*)formAccessor->FormClientControl();
-            if (editor)
-                {
-                return editor->Text();                
-                }
-            }
-        }
-    return NULL;
-	}
-
-void CAknFepUIAvkonImpl::UpdateEditorContext(MAknEditingStateIndicator& aIndicator, MAknFepManagerInterface& aManager)
-	{
-    CAknIndicatorContainer* indicatorContainer = aIndicator.IndicatorContainer();
-
-    if(indicatorContainer)
-        {
-        TInt indicatorContext = indicatorContainer->IndicatorContext();
-        aManager.SetEditorContext(indicatorContext);
-        }
-	}
-
-CAknFepIndicator* CAknFepUIAvkonImpl::NewIndicatorL()
-	{
-    return CAknFepIndicatorAvkon::NewL();
-	}
-
-TBool CAknFepUIAvkonImpl::IsDisplayDataQuery(TBool aIsFepAwareTextEditor)
-	{
-    CEikAppUi* eikAppUi = (CEikAppUi *)CCoeEnv::Static()->AppUi();
-    
-    if( eikAppUi->IsDisplayingDialog() && eikAppUi->TopFocusedControl() )
-        {
-        CEikDialog* dlg = eikAppUi->TopFocusedControl()->MopGetObject( dlg );
-        
-        if ( dlg )
-            {
-            TInt flag = dlg->DialogFlags();
-
-            if(!(flag & EEikDialogFlagFillScreen) &&
-               !(flag & EEikDialogFlagFillAppClientRect) )
-                {
-                MObjectProvider* objectProvider = NULL;
-				MCoeFepAwareTextEditor* editor;
-			    MCoeFepAwareTextEditor_Extension1* ext1;
-    			CAknEdwinState* state;
-                CCoeEnv* coeEnv = CCoeEnv::Static();
-                TCoeInputCapabilities inputCapabilities = 
-                    static_cast<const CCoeAppUi*>(coeEnv->AppUi())->InputCapabilities();
-
-    			if ( aIsFepAwareTextEditor &&
-         			( editor = inputCapabilities.FepAwareTextEditor() ) != NULL &&       
-         		    ( ext1 = editor->Extension1() ) != NULL &&
-				    ( state = (CAknEdwinState*)ext1->State( KNullUid ) ) != NULL )
-        			{
-        			objectProvider = state->ObjectProvider();
-        			}
-
-    			// If not found, try to get object provider from input capabilities.
-    			// It is set there with CEikMfne-derived editors.
-
-    			if ( !objectProvider )
-        			{
-        			objectProvider = inputCapabilities.ObjectProvider();
-        			}
-
-			    if ( objectProvider )
-        			{
-        			CAknQueryControl* ctrl = objectProvider->MopGetObject( ctrl );
-        		
-        			if ( ctrl )
-        				{
-        				return ETrue;
-        				}
-        			}
-        		}
-            }
-        }
-         
-    return EFalse;
-	}
-
-CAknFepUiInterfaceMenuBar* CAknFepUIAvkonImpl::ObjectProviderMenuBar(MObjectProvider* aObjectProvider)
-	{
-	if (!aObjectProvider)
-		return NULL;
-	CEikMenuBar* menu;
-	aObjectProvider->MopGetObject(menu);
-	if (menu)
-		{
-		iObjectProviderMenuBar.iMenuBar = menu;
-		return &iObjectProviderMenuBar;
-		}
-	else
-		return NULL;
-	}
-
-MAknFepUICtrlContainerChinese* CAknFepUIAvkonImpl::NewAknFepUICtrlContainerChineseL()
-	{
-    if (FeatureManager::FeatureSupported(KFeatureIdChinese))
-        {
-        return CAknFepUICtrlContainerChinese::NewL();
-        }
-
-    User::Leave(KErrNotSupported);
-	return NULL;
-	}
-
-MAknFepUICtrlContainerJapanese* CAknFepUIAvkonImpl::NewAknFepUICtrlContainerJapaneseL(CAknFepUIManagerJapanese* aUiMng)
-	{
-    if (FeatureManager::FeatureSupported(KFeatureIdJapanese))
-        {
-        return CAknFepUICtrlContainerJapanese::NewL(aUiMng);
-        }
-    return NULL;
-	}
-
-void CAknFepUIAvkonImpl::JapaneseKutenQueryDialogL(TInt aResId, TInt& aCharCode, TInt aTone)
-	{
-    if (FeatureManager::FeatureSupported(KFeatureIdJapanese))
-        {
-        CAknFepUICtrlJapaneseKutenQueryDialog* query = CAknFepUICtrlJapaneseKutenQueryDialog::NewL(aCharCode, (CAknQueryDialog::TTone)aTone);
-        iDialog = query;
-        query->ExecuteLD(aResId);
-        iDialog = NULL;
-        }
-	}
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-// Predictive QWERTY (XT9) changes ---->
-MAknFepCandidatePopup* CAknFepUIAvkonImpl::NewCandidatePopupL(MAknFepCandidatePopupCallback& aOwner)
-	{
-	MAknFepCandidatePopup* candidatePopup = CAknFepAvkonCandidatePopup::NewL(aOwner);
-	return candidatePopup;
-	}
-
-MAknFepUiWordPopupContent* CAknFepUIAvkonImpl::CreateWordPopupContentL()
-	{
-	return CAknFepExactWordPopupContent::NewL();	
-	}
-	
-void CAknFepUIAvkonImpl::LaunchPredictiveSettingDialogL(TInt aDialogResId, 
-														TInt aMenuResId, 
-														TInt aConfirmationQueryResId,
-														TInt aTitlePaneResId)
-	{
-	iPredictiveSettingDialog = CAknFepPredictiveSettingDialog::NewL(aMenuResId, aConfirmationQueryResId, aTitlePaneResId);
-	iPredictiveSettingDialog->ExecuteLD(aDialogResId);
-	iPredictiveSettingDialog = NULL;
-	}
-
-#ifdef __USER_DICTIONARY_EDITING__
-void CAknFepUIAvkonImpl::LaunchUserDictEditDialogL()
-    {
-    CAknFepUserDictionaryEditDialog::RunDlgLD();
-    }
-#endif //__USER_DICTIONARY_EDITING__
-
-#ifdef FF_DUAL_LANGUAGE_SUPPORT
-void CAknFepUIAvkonImpl::LaunchWritingLanguageSettingDialogL(TInt aDialogResId, TInt aMenuResId, TInt aTitlePaneResId)
-    {    
-    CCoeEnv* coeEnv = CCoeEnv::Static();
-	CAknAppUi* appUi = static_cast<CAknAppUi*>(coeEnv->AppUi());
-    CAknTitlePane* titlePane = static_cast<CAknTitlePane*>( appUi->StatusPane()->ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) );
-    
-    const TDesC* appTitle = titlePane->Text();
-	HBufC* oldTitle = appTitle->AllocL();
-	CleanupStack::PushL(oldTitle);
-	HBufC* title = StringLoader::LoadLC( aTitlePaneResId,coeEnv);
-    titlePane->SetTextL( *title );
-    CleanupStack::PopAndDestroy(title);
-    
-    CAknFepDualLanguageSettingDialog* dlg = CAknFepDualLanguageSettingDialog::NewL(aMenuResId);            
-    iDialog = dlg;
-    dlg->ExecuteLD(aDialogResId);
-    iDialog = NULL;
-    
-    titlePane->SetTextL( *oldTitle );
-    CleanupStack::PopAndDestroy(oldTitle);
-    }
-#endif //FF_DUAL_LANGUAGE_SUPPORT
-// Predictive QWERTY (XT9) changes <----	
-
-#ifdef __ITI_VIRTUAL_TOUCH_FIRST_GENERATION_SUPPORT__
-TInt CAknFepUIAvkonImpl::HandleKeyboardLayoutChangeNotification(TAny* aObj)
-    {
-    if (aObj)
-        {
-        static_cast<CAknFepUIAvkonImpl*>(aObj)->HandleKeyboardLayoutChange();
-        return KErrNone;
-        }
-    else
-        {
-        return KErrArgument;
-        }
-    }
-
-void CAknFepUIAvkonImpl::HandleKeyboardLayoutChange()
-    {
-    if(iPredictiveSettingDialog)
-        {
-        iPredictiveSettingDialog->HandleResourceChange(KEikDynamicLayoutVariantSwitch);
-        }
-    }
-
-CAknFepUIAvkonImpl::CSubscriber::CSubscriber(TCallBack aCallBack, RProperty& aProperty)
-    :
-    CActive(EPriorityNormal), iCallBack(aCallBack), iProperty(aProperty)
-    {
-    CActiveScheduler::Add(this);
-    }
-
-CAknFepUIAvkonImpl::CSubscriber::~CSubscriber()
-    {
-    Cancel();
-    }
-
-void CAknFepUIAvkonImpl::CSubscriber::SubscribeL()
-    {
-    if (!IsActive())
-        {
-        iProperty.Subscribe(iStatus);
-        SetActive();
-        }
-    }
-
-void CAknFepUIAvkonImpl::CSubscriber::StopSubscribe()
-    {
-    Cancel();
-    }
-
-void CAknFepUIAvkonImpl::CSubscriber::RunL()
-    {
-    if (iStatus.Int() == KErrNone)
-        {
-        iCallBack.CallBack();
-        SubscribeL();
-        }
-    }
-
-void CAknFepUIAvkonImpl::CSubscriber::DoCancel()
-    {
-    iProperty.Cancel();
-    }
-    
-#endif //__ITI_VIRTUAL_TOUCH_FIRST_GENERATION_SUPPORT__
-#endif //RD_INTELLIGENT_TEXT_INPUT
-
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonMenus.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,267 +0,0 @@
-/*
-* Copyright (c) 2007 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:           
-*       Provides the FEP's Avkon UI access methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiAvkonMenus.h"
-#include <eikmenub.h>
-#include <eikmenup.h>
-#include <eikappui.h>
-
-CAknFepUIAvkonMenuPaneImpl::CAknFepUIAvkonMenuPaneImpl()
-	{
-	}
-
-void CAknFepUIAvkonMenuPaneImpl::ConstructMenuSctRowFromDialogL( TInt aCharCase, TDes& aSpecialChars, TInt aResourceId )
-	{
-	if (iMenuPane)
-		iMenuPane->ConstructMenuSctRowFromDialogL(aCharCase, aSpecialChars, aResourceId);
-	}
-
-void CAknFepUIAvkonMenuPaneImpl::ConstructMenuSctRowL( TDes& aSpecialChars, TInt aResourceId )
-	{
-	if (iMenuPane)
-		iMenuPane->ConstructMenuSctRowL(aSpecialChars, aResourceId);
-	}
-
-void CAknFepUIAvkonMenuPaneImpl::DeleteMenuItem(TInt aCommandId)
-	{
-	if (iMenuPane)
-		iMenuPane->DeleteMenuItem(aCommandId);
-	}
-
-void CAknFepUIAvkonMenuPaneImpl::InsertMenuItemL(const SItemData& aMenuItem, TInt aPosition)
-	{
-	if (iMenuPane)
-		iMenuPane->InsertMenuItemL(*reinterpret_cast<const CEikMenuPaneItem::SData*>(&aMenuItem), aPosition);
-	}
-
-TBool CAknFepUIAvkonMenuPaneImpl::MenuItemExists(TInt aCommandId, TInt& aPosition)
-	{
-	if (iMenuPane)
-		return iMenuPane->MenuItemExists(aCommandId, aPosition);
-	return EFalse;
-	}
-
-TInt CAknFepUIAvkonMenuPaneImpl::NumberOfItemsInPane() const
-	{
-	if (iMenuPane)
-		return iMenuPane->NumberOfItemsInPane();
-	return 0;
-	}
-
-void CAknFepUIAvkonMenuPaneImpl::SetItemDimmed(TInt aCommandId, TBool aDimmed)
-	{
-	TInt index(0);
-    if (iMenuPane && MenuItemExists( aCommandId, index ) )
-		iMenuPane->SetItemDimmed(aCommandId, aDimmed);
-	}
-
-void CAknFepUIAvkonMenuPaneImpl::SetMenuPane(CEikMenuPane* aMenuPane)
-	{
-	iMenuPane = aMenuPane;
-	}
-	
-CEikMenuPane* CAknFepUIAvkonMenuPaneImpl::GetMenuPane()
-  {
-  return iMenuPane;
-  }
-    
-CAknFepUIAvkonMenuBarImpl::CAknFepUIAvkonMenuBarImpl()
-	{
-	}
-
-CAknFepUiInterfaceMenuPane* CAknFepUIAvkonMenuBarImpl::MenuPane()
-	{
-	if (iMenuBar)
-	    {
-    	iTempMenuPane.iMenuPane = iMenuBar->MenuPane();
-	    }
-	return &iTempMenuPane;
-	}
-
-void CAknFepUIAvkonMenuBarImpl::SetMenuType(TMenuType aMenuType)
-	{
-	if (iMenuBar)
-		iMenuBar->SetMenuType(static_cast<CEikMenuBar::TMenuType>(aMenuType));
-	}
-
-void CAknFepUIAvkonMenuBarImpl::StopDisplayingMenuBar()
-	{
-	if (iMenuBar)
-		iMenuBar->StopDisplayingMenuBar();
-	}
-
-void CAknFepUIAvkonMenuBarImpl::ReplaceAllMenuPanes(TInt aResourceId)
-	{
-    // remove app menu panes
-    TInt count = iMenuBar->TitleArray()->Count() -  1;
-    for (TInt ii = 0; ii<count; ii++)
-        {
-        delete iMenuBar->TitleArray()->At(0);
-        iMenuBar->TitleArray()->Delete(0);
-        }
-    // add the mode menu
-    iMenuBar->TitleArray()->At(0)->iData.iMenuPaneResourceId = aResourceId;
-	}
-
-void CAknFepUIAvkonMenuBarImpl::TryDisplayMenuBarL()
-	{
-	if (iMenuBar)
-		iMenuBar->TryDisplayMenuBarL();
-	}
-
-void CAknFepUIAvkonMenuBarImpl::SetFocus(TBool aFocus)
-	{
-	if (iMenuBar)
-		iMenuBar->SetFocus(aFocus);
-	}
-
-void CAknFepUIAvkonMenuBarImpl::RemoveFromStack()
-	{
-	if (iMenuBar)
-		CCoeEnv::Static()->AppUi()->RemoveFromStack(iMenuBar);
-	}
-
-TInt CAknFepUIAvkonMenuBarImpl::FirstMenuPaneResourceId()
-	{
-	if (iMenuBar)
-		{
-        CEikMenuBar::CTitleArray* titles = iMenuBar->TitleArray();
-        if( titles->Count()	> 0 )
-            {
-            return (*titles)[0]->iData.iMenuPaneResourceId;
-            }
-		}
-	return 0;
-	}
-
-TBool CAknFepUIAvkonMenuBarImpl::IsDisplayed()
-	{
-	if (iMenuBar)
-		return iMenuBar->IsDisplayed();
-	return EFalse;
-	}
-
-void CAknFepUIAvkonMenuBarImpl::AddToStackL(TInt aPriority, TInt aStackingFlags)
-	{
-	if (iMenuBar)
-		CCoeEnv::Static()->AppUi()->AddToStackL(iMenuBar, aPriority, aStackingFlags);
-	}
-
-void CAknFepUIAvkonMenuBarImpl::TryDisplayMenuBarWithoutFepMenusL()
-	{
-	if (iMenuBar)
-		iMenuBar->TryDisplayMenuBarWithoutFepMenusL();
-	}
-
-void CAknFepUIAvkonMenuBarImpl::SetMenuTitleResourceId(TInt aResourceId)
-	{
-	if (iMenuBar)
-		iMenuBar->SetMenuTitleResourceId(aResourceId);
-	}
-	
-void CAknFepUIAvkonMenuBarImpl::SetEditMenuObserver(MAknFepUiInterfaceMenuObserver* aEditMenuObserver)
-	{
-	iEditMenuObserver.iObserver = aEditMenuObserver;
-	iMenuBar->SetEditMenuObserver(&iEditMenuObserver);
-	}
-	
-void CAknFepUIAvkonMenuBarImpl::RemoveEditMenuObserver(MAknFepUiInterfaceMenuObserver* aEditMenuObserver)
-	{
-	if (iEditMenuObserver.iObserver == aEditMenuObserver)
-		{
-		iMenuBar->RemoveEditMenuObserver(&iEditMenuObserver);
-		}
-	}
-
-void CAknFepUIAvkonMenuBarImpl::TEditMenuObserver::ProcessCommandL(TInt aCommandId)
-	{
-	if (iObserver)
-		iObserver->ProcessCommandL(aCommandId);
-	}
-
-void CAknFepUIAvkonMenuBarImpl::TEditMenuObserver::DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane)
-	{
-	if (iObserver)
-		{
-		iTempPane.iMenuPane = aMenuPane;
-		iObserver->DynInitMenuPaneL(aResourceId, &iTempPane);
-		}
-	}
-
-void CAknFepUIAvkonMenuBarImpl::TEditMenuObserver::SetEmphasis(CCoeControl* /*aMenuControl*/,TBool aEmphasis)
-	{
-	// client code is not currently using aMenuControl
-	if (iObserver)
-		iObserver->SetEmphasis(NULL, aEmphasis);
-	}
-
-
-CAknFepUIAvkonMenuBarOwningImpl::~CAknFepUIAvkonMenuBarOwningImpl()
-	{
-	delete iMenuBar;
-	}
-
-void CAknFepUIAvkonMenuBarOwningImpl::ConstructL(MAknFepUiInterfaceMenuObserver* aObserver, TInt aHotKeyResourceId, TInt aMenuTitleResourceId)
-	{
-	iObserver = aObserver;
-    iMenuBar = new (ELeave) CEikMenuBar() ;
-    iMenuBar->ConstructL(this, aHotKeyResourceId, aMenuTitleResourceId) ;
-	}
-
-void CAknFepUIAvkonMenuBarOwningImpl::DynInitMenuPaneL(TInt aResourceId,CEikMenuPane* aMenuPane)
-	{
-	iTempMenuPane.iMenuPane = aMenuPane;
-	if (iObserver)
-		iObserver->DynInitMenuPaneL(aResourceId, &iTempMenuPane);
-	}
-
-void CAknFepUIAvkonMenuBarOwningImpl::DynInitMenuBarL(TInt aResourceId,CEikMenuBar* /*aMenuBar*/)
-	{
-	if (iObserver)
-		iObserver->DynInitMenuBarL(aResourceId, this);
-	}
-
-void CAknFepUIAvkonMenuBarOwningImpl::SetEmphasis(CCoeControl* aMenuControl,TBool aEmphasis)
-	{
-	CBase* obj = this;
-	if (aMenuControl != iMenuBar)
-		{
-		iTempMenuPane.iMenuPane = static_cast<CEikMenuPane*>(aMenuControl);
-		obj = &iTempMenuPane;
-		}
-	if (iObserver)
-		iObserver->SetEmphasis(obj, aEmphasis);
-	}
-
-void CAknFepUIAvkonMenuBarOwningImpl::ProcessCommandL(TInt aCommandId)
-	{
-	if (iObserver)
-		iObserver->ProcessCommandL(aCommandId);
-	}
-
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonPlugin.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
-* Copyright (c) 2007 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:           
-*       Boilerplate for FEP's Avkon UI plugin.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#include <e32std.h>
-#include <ecom/implementationproxy.h>
-
-#include "AknFepUiAvkonImpl.h"
-#include <AknFepUiInterfacePlugin.h>
-
-class CFepUiAvkonImplPlugin : public CFepUiInterfacePlugin
-	{
-public:
-	static CFepUiAvkonImplPlugin* NewL();
-	TBool UseThisPlugin() const;
-	CAknFepUIInterface* NewImplL();
-	};
-
-
-// Map the interface UIDs to implementation factory functions
-const TImplementationProxy ImplementationTable[] = 
-    {
-    IMPLEMENTATION_PROXY_ENTRY(0x10285839, CFepUiAvkonImplPlugin::NewL)    
-    };
-
-// Exported proxy for instantiation method resolution
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
-    {
-    aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
-
-    return ImplementationTable;
-    }
-
-
-CFepUiAvkonImplPlugin* CFepUiAvkonImplPlugin::NewL()
-	{
-	return new(ELeave) CFepUiAvkonImplPlugin;
-	}
-
-TBool CFepUiAvkonImplPlugin::UseThisPlugin() const
-	{
-	// AknFepUiInterface will try to load this plugin last, so it should
-	// always be used if asked.
-	return ETrue;
-	}
-
-CAknFepUIInterface* CFepUiAvkonImplPlugin::NewImplL()
-	{
-	return CAknFepUIAvkonImpl::NewL();
-	}
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonStylusPopUpMenu.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-/*
-* Copyright (c) 2007 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:           
-*       Provides the FEP's Avkon UI access methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiAvkonStylusPopUpMenu.h"
-#include "AknFepUiInterfacePanic.h"
-#include "aknfepuimenus.h"
-#include <aknstyluspopupmenu.h>
-
-
-CAknFepUIAvkonStylusPopUpMenu::~CAknFepUIAvkonStylusPopUpMenu()
-	{
-	delete iPopupMenu;
-	}
-
-void CAknFepUIAvkonStylusPopUpMenu::ConstructL(MAknFepUiInterfaceMenuObserver* aObserver, const TPoint& aPoint)
-	{
-	iObserver = aObserver;
-	iPopupMenu = CAknStylusPopUpMenu::NewL(this, aPoint);
-	}
-
-void CAknFepUIAvkonStylusPopUpMenu::AddMenuItemL(const TDesC& aItem, const TInt aCommandId)
-	{
-	iPopupMenu->AddMenuItemL(aItem, aCommandId);
-	}
-
-void CAknFepUIAvkonStylusPopUpMenu::SetPosition(const TPoint& aPoint)
-	{
-	iPopupMenu->SetPosition(aPoint);
-	}
-
-void CAknFepUIAvkonStylusPopUpMenu::ShowMenu()
-	{
-	iPopupMenu->ShowMenu();
-	}
-
-void CAknFepUIAvkonStylusPopUpMenu::DynInitMenuPaneL(TInt /*aResourceId*/,CEikMenuPane* /*aMenuPane*/)
-	{
-	AknFepUiInterfacePanic(EAvkonImplNotSupported);
-	}
-
-void CAknFepUIAvkonStylusPopUpMenu::DynInitMenuBarL(TInt /*aResourceId*/,CEikMenuBar* /*aMenuBar*/)
-	{
-	AknFepUiInterfacePanic(EAvkonImplNotSupported);
-	}
-
-void CAknFepUIAvkonStylusPopUpMenu::SetEmphasis(CCoeControl* /*aMenuControl*/,TBool /*aEmphasis*/)
-	{
-	AknFepUiInterfacePanic(EAvkonImplNotSupported);
-	}
-
-void CAknFepUIAvkonStylusPopUpMenu::ProcessCommandL(TInt aCommandId)
-	{
-	iObserver->ProcessCommandL(aCommandId);
-	}
-
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUserDictionaryEditDialog.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,558 +0,0 @@
-/*
-* 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:          
-*
-*/
-
-
-
-
-
-
-
-
-
-
-/*
- * ============================================================================
- *  Name     : CAknFepUserDictionaryEditDialog 
- * ============================================================================
- */
-
-#include <COEMAIN.H>
-#include <EIKENV.H>
-#include <eikclbd.h>
-#include <akntitle.h>
-#include "AknFepUserDictionaryEditDialog.h"
-
-//For help:
-#include <hlplch.h>
-//#include <csxhelp\predinput.hlp.hrh>
-
-//Uid of AknFep
-const TUid KUidAknFep = {0x101FD65A};
-
-CAknFepUserDictionaryEditDialog *CAknFepUserDictionaryEditDialog::NewL(
-        TInt aOpenedItem,
-        CArrayFixFlat<TInt> *aSelectedItems,
-        MDesCArray *aArray)
-    {
-    CAknFepUserDictionaryEditDialog* self = CAknFepUserDictionaryEditDialog::NewLC(
-            aOpenedItem, aSelectedItems, aArray );
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-CAknFepUserDictionaryEditDialog *CAknFepUserDictionaryEditDialog::NewLC(
-        TInt aOpenedItem,
-        CArrayFixFlat<TInt> *aSelectedItems,
-        MDesCArray *aArray)
-    {
-    CAknFepUserDictionaryEditDialog* self = new (ELeave) CAknFepUserDictionaryEditDialog(
-            aOpenedItem, aSelectedItems, aArray );
-    CleanupStack::PushL(self);
-    self->ConstructL(R_UDB_EDIT_OPTIONS_MENUBAR);
-    return self;
-    }
-
-CAknFepUserDictionaryEditDialog::CAknFepUserDictionaryEditDialog(
-        TInt aOpenedItem,
-        CArrayFixFlat<TInt> *aSelectedItems,
-        MDesCArray *aArray )
-    :CAknMarkableListDialog(aOpenedItem, aSelectedItems, aArray, R_UDB_EDIT_OPTIONS_MENUBAR, NULL, NULL), 
-     iOpenedItem(aOpenedItem), iSelectedItems(aSelectedItems)
-    {
-    };
-
-CAknFepUserDictionaryEditDialog::~CAknFepUserDictionaryEditDialog()
-    {
-    delete iOwnWordsModel;
-    iOwnWordsModel = NULL;
-    iOwnWordsListBox = NULL;
-    };
-
-void CAknFepUserDictionaryEditDialog::RunDlgLD()
-    {
-    CDesCArrayFlat* arrWords = new (ELeave) CDesCArrayFlat(1);
-    CleanupStack::PushL( arrWords );
-    //ownership of selectedItems is given to CAknFepUserDictionaryEditDialog
-    CArrayFixFlat<TInt>* selectedItems = new (ELeave) CArrayFixFlat<TInt>(1);
-    CleanupStack::PushL( selectedItems );
-    
-    TInt openedItem(0);
-    CAknFepUserDictionaryEditDialog* dlg = CAknFepUserDictionaryEditDialog::NewL(
-                        openedItem, selectedItems, arrWords);
-    
-    //Save old title pane and display title for user dictionary editing
-    CCoeEnv* coeEnv = CCoeEnv::Static();
-    CAknAppUi* appUi = static_cast<CAknAppUi*>(coeEnv->AppUi());
-
-    CAknTitlePane* titlePane = 
-        static_cast<CAknTitlePane*>( appUi->StatusPane()->ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) );
-
-    const TDesC* appTitle = titlePane->Text();
-    HBufC* oldTitle = appTitle->AllocL();
-    CleanupStack::PushL(oldTitle);
-    HBufC* title = StringLoader::LoadLC( R_AKNFEP_PRED_USERDICT_EDITING_TITLE );
-    titlePane->SetTextL( *title );
-    CleanupStack::PopAndDestroy(title);
-
-    dlg->ExecuteLD(R_USER_DICTIONARY_EDITING_DIALOG);
-    
-    //workaround to prevent application from crashing in case a 3rd party fep 
-    //was installed while the dialog was active. 
-    if( KUidAknFep != CCoeEnv::Static()->FepUid() )
-        {
-        User::Leave(KErrNone);
-        }
-    titlePane->SetTextL( *oldTitle );
-    CleanupStack::PopAndDestroy( 3, arrWords );
-    }
-
-
-void CAknFepUserDictionaryEditDialog::PreLayoutDynInitL()
-    {
-    CAknMarkableListDialog::PreLayoutDynInitL();
-    iOwnWordsListBox = (CEikColumnListBox*) ControlOrNull( ESelectionListControl );
-    //Initialize the model for retrieving UDB entries
-    iOwnWordsModel = CAknFepPredOwnWordsModel::NewL( iOwnWordsListBox->Model()->ItemTextArray() );
-    iOwnWordsListBox->HandleItemAdditionL();
-    
-    //Set the empty listbox string
-    HBufC* emptyListString_secondary = StringLoader::LoadLC( R_AKNFEP_PRED_USER_DICTIONARY_EMPTY );
-    HBufC* emptyListString = StringLoader::LoadLC( R_AKNFEP_PRED_USER_DICTIONARY_HEADING_EMPTY );
-    _LIT( KNewLine, "\n" );
-    TInt newLength = emptyListString->Length() + KNewLine().Length() + emptyListString_secondary->Length();
-    emptyListString = emptyListString->ReAllocL( newLength );
-    CleanupStack::Pop(); //emptyListString could now be at a different location
-    CleanupStack::PushL( emptyListString );
-    TPtr ptr = emptyListString->Des();
-    ptr.Append( KNewLine );
-    ptr.Append( *emptyListString_secondary );
-
-    iOwnWordsListBox->View()->SetListEmptyTextL( *emptyListString );
-    CleanupStack::PopAndDestroy( 2, emptyListString_secondary );
-    
-    //Set the middle soft key:
-    CEikButtonGroupContainer& cba = ButtonGroupContainer();
-    iMSKPosition = cba.PositionById( EAknSoftkeyContextOptions );
-    UpdateMSKLabelL();
-    
-    //For viewing extra long words:
-    iOwnWordsListBox->ItemDrawer()->ColumnData()->EnableMarqueeL(ETrue);
-    }
-
-void CAknFepUserDictionaryEditDialog::DynInitMenuPaneL(TInt aResourceId, CEikMenuPane *aMenuPane)
-    {
-    CAknMarkableListDialog::DynInitMenuPaneL( aResourceId, aMenuPane );
-    
-    if ( iOwnWordsListBox->SelectionIndexes()->Count() >= 1
-            && R_UDB_EDIT_OPTIONS_MENUPANE == aResourceId )
-        {
-        //At least one item in the list is marked. 
-        //Hide the "Edit" option.
-        aMenuPane->SetItemDimmed( EAknFepPredDictionaryCmdEdit, ETrue);
-        }
-    
-    if ( iOwnWordsListBox->Model()->NumberOfItems() <= 0 
-            && R_UDB_EDIT_OPTIONS_MENUPANE == aResourceId )
-        {
-        //No items available for editing/deletion:
-        aMenuPane->SetItemDimmed( EAknFepPredDictionaryCmdEdit, ETrue);
-        aMenuPane->SetItemDimmed( EAknFepPredDictionaryCmdDelete, ETrue);
-        }
-    
-    }
-
-void CAknFepUserDictionaryEditDialog::ProcessCommandL( TInt aCommandId )
-    {
-    
-    if ( MenuShowing() )
-        {
-        HideMenu();
-        }
-                
-    switch(aCommandId)
-        {
-        case EAknFepPredDictionaryCmdEdit :
-            {
-            HandleEditCommandL();
-            break; 
-            }              
-            
-        case EAknFepPredDictionaryCmdAdd :
-            {
-            HandleAddNewCommandL();
-            break; 
-            }
-            
-        case EAknFepPredDictionaryCmdDelete : 
-            {
-            HandleDeleteCommandL();
-            break; 
-            }
-                        
-        case EAknCmdMark :
-        case EAknCmdUnmark :
-        case EAknMarkAll :
-        case EAknUnmarkAll :
-            {
-            SelectionListProcessCommandL(aCommandId);
-            break;
-            }
-        
-        case EAknSoftkeyEdit :
-            {
-            if ( iOwnWordsListBox->Model()->NumberOfItems() <= 0 )
-                {
-                //No entries in the list. So only option available is "Add new"
-                HandleAddNewCommandL();
-                }
-            else if ( iOwnWordsListBox->SelectionIndexes()->Count() <= 0 )
-                {
-                //Words available and none are marked. So selection => "Edit"
-                HandleEditCommandL();
-                }
-            else
-                {
-                //Words are available and at least one is marked. 
-                //So selection => "Options" menu is launched
-                DisplayMenuL();
-                }
-            break;
-            }
-            
-        case EAknCmdHelp:
-            {
-            CArrayFix<TCoeHelpContext>* helpContext = new (ELeave) CArrayFixFlat<TCoeHelpContext>( 1 );
-            CleanupStack::PushL( helpContext );
-            //THIS IS TEMPORARY AND NEEDS TO BE UPDATED WHEN HELP CONTENT IS AVAILABLE!!!
-            TUid appuid = { 0x100058EC };
-            _LIT( KAknFepPredUserDictHelp, "PREDINPUT_HLP_USERDICT" );
-            helpContext->AppendL( TCoeHelpContext( appuid, KAknFepPredUserDictHelp() ) );
-            HlpLauncher::LaunchHelpApplicationL( CEikonEnv::Static()->WsSession(), helpContext );
-            CleanupStack::Pop( helpContext );  
-            break;
-            }
-        
-        case EAknCmdExit:
-            {
-            iAvkonAppUi->ProcessCommandL( aCommandId );
-            break;
-            }
-        default: CAknMarkableListDialog::ProcessCommandL( aCommandId );
-        }
-    
-    UpdateMSKLabelL();
-    
-    }
-
-TKeyResponse CAknFepUserDictionaryEditDialog::OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType )
-    {
-    TKeyResponse response( EKeyWasNotConsumed );
-    //Special handling required only for the clear/backspace/delete keys
-    //AND only when find pane is empty AND there is at least one item in focus/selected
-    if ( 
-            ( aKeyEvent.iCode == EKeyBackspace 
-                ||  aKeyEvent.iCode == EKeyDelete )
-        &&  ( 
-                FindBox()->TextLength() == 0 
-                && iOwnWordsListBox->Model()->NumberOfItems() > 0 
-                && (iOwnWordsListBox->SelectionIndexes()->Count() > 0 
-                        || iOwnWordsListBox->CurrentItemIndex() >= 0 ) 
-            )
-        )
-        {
-        //Delete the item(s)
-        HandleDeleteCommandL();
-        response = EKeyWasConsumed;
-        }
-    else
-        {
-        response = CAknMarkableListDialog::OfferKeyEventL( aKeyEvent, aType );
-        }
-    
-    //Update MSK only if key is not escape key (for exiting)
-    if ( EKeyEscape != aKeyEvent.iCode )
-        {
-        UpdateMSKLabelL();
-        }
-    return response;
-    }
-
-TBool CAknFepUserDictionaryEditDialog::OkToExitL(TInt aButtonId)
-    {
-    if ( EAknSoftkeyEdit == aButtonId || EAknSoftkeyContextOptions == aButtonId )
-        {
-        CAknFepUserDictionaryEditDialog::ProcessCommandL( EAknSoftkeyEdit );
-        return EFalse;
-        }
-    else
-        {
-        return CAknMarkableListDialog::OkToExitL( aButtonId );
-        }
-    }
-
-void CAknFepUserDictionaryEditDialog::UpdateMSKLabelL()
-    {
-    if ( iOwnWordsListBox && iOwnWordsListBox->Model() )
-        {
-        CEikButtonGroupContainer& cba = ButtonGroupContainer();
-        if ( iOwnWordsListBox->Model()->NumberOfItems() <= 0 )
-            {
-            //No entries in the list. So MSK is "Add new"
-            HBufC* mskLabel = StringLoader::LoadLC( R_AKNFEP_PRED_MSK_ADD_NEW );
-            cba.SetCommandL(iMSKPosition, EAknSoftkeyEdit, *mskLabel);    
-            CleanupStack::PopAndDestroy( mskLabel );
-            }
-        else if ( iOwnWordsListBox->SelectionIndexes()->Count() > 0 )
-            {
-            //Words are available and at least one is marked. 
-            //So on pressing MSK, "Options" menu is launched
-            HBufC* mskLabel = StringLoader::LoadLC( R_AKNFEP_PRED_MSK_CONTEXT_OPTIONS );
-            cba.SetCommandL(iMSKPosition, EAknSoftkeyContextOptions, *mskLabel);    
-            CleanupStack::PopAndDestroy( mskLabel );
-            }
-        else
-            {
-            //Words available and none are marked. So MSK should be "Edit"
-            HBufC* mskLabel = StringLoader::LoadLC( R_AKNFEP_PRED_MSK_EDIT );
-            cba.SetCommandL(iMSKPosition, EAknSoftkeyEdit, *mskLabel);    
-            CleanupStack::PopAndDestroy( mskLabel );
-            }
-        cba.DrawDeferred();
-        }
-    }
-
-void CAknFepUserDictionaryEditDialog::HandleEditCommandL()
-    {
-    CDesCArrayFlat* wordArray = (CDesCArrayFlat*)iOwnWordsListBox->Model()->ItemTextArray();
-    //First Get the current focussed word's index
-    TInt selectedWordIndex = iOwnWordsListBox->CurrentItemIndex();
-    //Edit option will be available only for the currently 
-    //focussed item. 
-    
-    //Get the indexed word and remove seperator ("\t")
-    TPtrC oldWord = ( (*wordArray)[selectedWordIndex] ).Mid(1);
-    HBufC* newWord = HBufC::NewLC( KMaxUDBLength );
-    //Copy the old word to newWord for the "Edit word" prompt
-    newWord->Des().Copy( oldWord );
-    TPtr newWordPtr(newWord->Des());
-    HBufC* queryTitle = StringLoader::LoadLC( R_AKNFEP_PRED_EDIT_QUERY );
-    if ( QueryWordL( *queryTitle, newWordPtr ) )
-        {
-        //Remove old word
-        if ( KErrNone == iOwnWordsModel->RemoveSelectedWordL( selectedWordIndex ) )
-            {
-            iOwnWordsListBox->HandleItemRemovalL();
-            //Now add the new word:
-            selectedWordIndex = iOwnWordsModel->AddNewWordL( newWordPtr );
-            if ( selectedWordIndex >= 0 )
-                {
-                iOwnWordsListBox->HandleItemAdditionL();
-                if ( (iOwnWordsListBox->CurrentItemIndex() >= 0) && FindBox() && (FindBox()->TextLength() > 0) )
-                    {
-                    HandleAddNewIntoFilteredListL( selectedWordIndex );
-                    }
-                if ( selectedWordIndex >=0 )
-                    {
-                    iOwnWordsListBox->SetCurrentItemIndex( selectedWordIndex );
-                    }
-                iOwnWordsListBox->DrawNow();
-                }
-            }
-        }
-    
-    CleanupStack::PopAndDestroy( 2, newWord );
-    }
-
-void CAknFepUserDictionaryEditDialog::HandleAddNewCommandL()
-    {
-    HBufC* newWord = HBufC::NewLC( KMaxUDBLength );
-    TPtr newWordPtr(newWord->Des());
-    //if there is some text in the find pane, include it in the query
-    if ( FindBox()->TextLength() > 0 )
-        {
-        FindBox()->GetSearchText( newWordPtr );
-        }
-    HBufC* queryTitle = StringLoader::LoadLC( R_AKNFEP_PRED_ADD_QUERY );
-    if ( QueryWordL( *queryTitle, newWordPtr ) )
-        {
-        TInt selectedWordIndex = iOwnWordsModel->AddNewWordL( newWordPtr );
-        if ( selectedWordIndex >= 0 )
-            {
-            iOwnWordsListBox->HandleItemAdditionL();
-            if ( (iOwnWordsListBox->CurrentItemIndex() >= 0) && FindBox() && (FindBox()->TextLength() > 0) )
-                {
-                HandleAddNewIntoFilteredListL( selectedWordIndex );
-                }
-            if ( selectedWordIndex >=0 )
-                {
-                iOwnWordsListBox->SetCurrentItemIndex( selectedWordIndex );
-                }
-            iOwnWordsListBox->DrawNow();
-            }
-        }
-    CleanupStack::PopAndDestroy( 2, newWord );
-    }
-void CAknFepUserDictionaryEditDialog::HandleDeleteCommandL()
-    {
-    if ( iOwnWordsListBox->Model()->NumberOfItems() <= 0 )
-        {
-        //safety check - no words to delete so return from here
-        return;
-        }
-    
-    TInt updatedIndex(-1);
-    TInt numOfMarkedItems = iOwnWordsListBox->SelectionIndexes()->Count();
-    TInt currentIndex = CurrentItemIndex();
-    //If multiple items are marked:
-    if ( numOfMarkedItems > 1 )
-        {
-        //Load the confirmation string for multiple item deletion
-        HBufC* prompt = StringLoader::LoadLC( 
-                            R_AKNFEP_PRED_DELETE_MANY_QUERY, numOfMarkedItems );
-        if ( ConfirmDeleteL( *prompt ) )
-            {
-            const CArrayFix<TInt>* selectedItems = SelectedItemsL();/*(CArrayFix<TInt>*)filteredModel->Filter()->SelectionIndexes();*/
-            updatedIndex = iOwnWordsModel->RemoveSelectedWordsL( selectedItems );
-            }
-        CleanupStack::PopAndDestroy( prompt );
-        }
-    else
-        {
-        //Load the confirmation string for single item deletion
-        HBufC* prompt = StringLoader::LoadLC( R_AKNFEP_PRED_DELETE_1_QUERY );
-        if ( ConfirmDeleteL( *prompt ) )
-            {
-            //Deleting marked item?
-            if ( numOfMarkedItems == 1 )
-                {
-                updatedIndex = iOwnWordsModel->RemoveSelectedWordL( SelectedItemsL()->At(0) );
-                }
-            //or deleting the currently focussed item
-            else //just one entry to delete:
-                {
-                updatedIndex = iOwnWordsModel->RemoveSelectedWordL( currentIndex );
-                }
-            }
-        CleanupStack::PopAndDestroy( prompt );
-        }
-    
-    if ( updatedIndex == KErrNone )
-        {
-        iOwnWordsListBox->HandleItemRemovalL();
-                
-        CAknListBoxFilterItems* filter;
-        TInt filteredNumOfItems(-1);
-        if ( (iOwnWordsListBox->CurrentItemIndex() >= 0) && FindBox() && (FindBox()->TextLength() > 0) )
-            {
-            CAknFilteredTextListBoxModel* model = static_cast<CAknFilteredTextListBoxModel*>(iOwnWordsListBox->Model());
-            filter = model->Filter();
-            filter->HandleItemArrayChangeL();
-            filter->UpdateCachedDataL();
-            filteredNumOfItems = filter->FilteredNumberOfItems();
-            }
-        
-        //retain the current selection position, unless
-        //it refers to non-existant word. In this case, 
-        //keep selection at the end of the list.
-        TInt numOfItems = filteredNumOfItems>=0? filteredNumOfItems : iOwnWordsListBox->Model()->NumberOfItems();
-                
-        if ( currentIndex >= numOfItems && numOfItems > 0 )
-            {       
-            iOwnWordsListBox->SetCurrentItemIndex( numOfItems - 1 );
-            }
-        
-        
-        UpdateMSKLabelL();
-        iOwnWordsListBox->DrawNow();
-        }
-    
-    }
-
-//Query for new word from user. Also used to edit existing word
-TBool CAknFepUserDictionaryEditDialog::QueryWordL( const TDesC& aTitle, TDes& aNewWord )
-    {
-    CAknTextQueryDialog* dialog = CAknTextQueryDialog::NewL( aNewWord  );
-    dialog->PrepareLC( R_AKNFEP_PRED_USER_DICTIONARY_WORD_QUERY );
-    dialog->SetPromptL(aTitle);
-    //last char space has to be reserved for null terminator
-    dialog->SetMaxLength( KMaxUDBLength - 1 );
-    if ( EAknSoftkeyOk ==  dialog->RunLD() )
-        {
-        return ETrue;
-        }
-    else
-        {
-        return EFalse;
-        }
-    }
-
-TBool CAknFepUserDictionaryEditDialog::ConfirmDeleteL( const TDesC& aPrompt )
-    {
-    CAknQueryDialog* dialog = CAknQueryDialog::NewL();
-    dialog->SetPromptL( aPrompt );
-    if ( EAknSoftkeyYes ==  dialog->ExecuteLD( R_AKNFEP_PRED_DELETE_CONFIRMATION_QUERY ) )
-        {
-        return ETrue;
-        }
-    else
-        {
-        return EFalse;
-        }
-    }
-
-TInt CAknFepUserDictionaryEditDialog::CurrentItemIndex()
-    {
-    if ( (iOwnWordsListBox->CurrentItemIndex() >= 0) && FindBox() && (FindBox()->TextLength() > 0) )
-        {
-        CAknFilteredTextListBoxModel* model = static_cast<CAknFilteredTextListBoxModel*>(iOwnWordsListBox->Model());
-        CAknListBoxFilterItems* filter = model->Filter(); 
-        return filter->FilteredItemIndex(iOwnWordsListBox->CurrentItemIndex());
-        }           
-    else
-        {
-        return iOwnWordsListBox->CurrentItemIndex();
-        }
-    }
-
-const CArrayFix<TInt>* CAknFepUserDictionaryEditDialog::SelectedItemsL()
-    {
-    const CArrayFix<TInt>* selectedItems;
-    if ( (iOwnWordsListBox->CurrentItemIndex() >= 0) && FindBox() && (FindBox()->TextLength() > 0) )
-        {
-        CAknFilteredTextListBoxModel* model = static_cast<CAknFilteredTextListBoxModel*>(iOwnWordsListBox->Model());
-        CAknListBoxFilterItems* filter = model->Filter();
-        filter->ResetFilteringL();
-        selectedItems = filter->SelectionIndexes();
-        }
-    else
-        {
-        selectedItems = iOwnWordsListBox->SelectionIndexes();
-        }
-    TKeyArrayFix actNumKey(0,ECmpTInt);
-    const_cast<CArrayFix<TInt>*>(selectedItems)->Sort(actNumKey);
-    return selectedItems;
-    }
-
-void CAknFepUserDictionaryEditDialog::HandleAddNewIntoFilteredListL( TInt &aOriginalItemIndex )
-    {
-    CAknFilteredTextListBoxModel* model = static_cast<CAknFilteredTextListBoxModel*>(iOwnWordsListBox->Model());
-    CAknListBoxFilterItems* filter = model->Filter();
-    filter->HandleItemArrayChangeL();
-    filter->UpdateCachedDataL();
-    TInt filteredNumOfItems = filter->FilteredNumberOfItems();
-    aOriginalItemIndex = filter->VisibleItemIndex( aOriginalItemIndex );
-    }
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/aknfepchineseuidataconv.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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: 
-*       Provides the CAknFepChineseUIDataConv methods.
-*
-*
-*/
-
-
-#include "aknfepchineseuidataconv.h"
-
-TInt CAknFepChineseUIDataConv::AnyToInt(TAny* aOriginal)
-    {
-    return *(reinterpret_cast<TInt*>(aOriginal));
-    }
-    
-TRect CAknFepChineseUIDataConv::AnyToRect(TAny* aOriginal)
-    {
-    return *(reinterpret_cast<TRect*>(aOriginal));
-    }
-    
-CFont* CAknFepChineseUIDataConv::AnyToFont(TAny* aOriginal)
-    {
-    return reinterpret_cast<CFont*>(aOriginal);
-    }
-    
-TPoint CAknFepChineseUIDataConv::AnyToPoint(TAny* aOriginal)
-    {
-    return *(reinterpret_cast<TPoint*>(aOriginal));
-    }
-    
-TRgb CAknFepChineseUIDataConv::AnyToRgb(TAny* aOriginal)
-    {
-    return *(reinterpret_cast<TRgb*>(aOriginal));
-    }
-    
-TSize CAknFepChineseUIDataConv::AnyToSize(TAny* aOriginal)
-    {
-    return *(reinterpret_cast<TSize*>(aOriginal));
-    }
-    
-TAknTextLineLayout CAknFepChineseUIDataConv::AnyToTextLine(TAny* aOriginal)
-    {
-    return *(reinterpret_cast<TAknTextLineLayout*>(aOriginal));
-    }
-
-TAknLayoutText CAknFepChineseUIDataConv::AnyToLayoutText(TAny* aOriginal)
-    {
-    return *(reinterpret_cast<TAknLayoutText*>(aOriginal));
-    }
-
-TAknWindowLineLayout CAknFepChineseUIDataConv::AnyToWindowLine(TAny* aOriginal)
-    {
-    return *(reinterpret_cast<TAknWindowLineLayout*>(aOriginal));
-    }
-
-TAknLayoutRect CAknFepChineseUIDataConv::AnyToLayoutRect(TAny* aOriginal)
-    {
-    return *(reinterpret_cast<TAknLayoutRect*>(aOriginal));
-    }
-
-//End of File
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/aknfepuictrleepcontrol.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,736 +0,0 @@
-/*
-* Copyright (c) 2008 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:           
- *      Provides the CAknFepUICtrlEEPControl definition 
- *
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include <eikappui.h>
-#include <eikenv.h> 
-#include <AknUtils.h> 
-#include <AknBidiTextUtils.h> //AknBidiTextUtils 
-#include <bidivisual.h> //TBidiLogicalToVisual
-#include <AknsSkinInstance.h> 
-#include <AknsDrawUtils.h> 
-#include <skinlayout.cdl.h>
-#include "aknlayoutscalable_avkon.cdl.h"
-
-#include "aknfepuictrleepcontrol.h"
-#include "insertionpoint.h"
-#include "aknfepuilayoutdatamgr.h"
-#include "aknfepchineseuidataconv.h"
-
-const TInt KMaxDispNum = 100;
-
-// ---------------------------------------------------------
-// NewL function.
-// ---------------------------------------------------------
-//
-CAknFepUICtrlEEPControl* CAknFepUICtrlEEPControl::NewL( RWindow& aParent, CAknFepUiLayoutDataMgr* aLafDataMgr )
-    {
-    CAknFepUICtrlEEPControl* self= CAknFepUICtrlEEPControl::NewLC( aParent, aLafDataMgr );
-    CleanupStack::Pop( self ); // self;
-    return self;
-    }
-
-// ---------------------------------------------------------
-// NewLC function.
-// ---------------------------------------------------------
-//
-CAknFepUICtrlEEPControl* CAknFepUICtrlEEPControl::NewLC( RWindow& aParent, CAknFepUiLayoutDataMgr* aLafDataMgr )
-    {
-    CAknFepUICtrlEEPControl* self = new ( ELeave ) CAknFepUICtrlEEPControl(aLafDataMgr);
-    CleanupStack::PushL( self ) ;
-    self->ConstructL( aParent );
-    return self;
-    }
-
-// ---------------------------------------------------------
-// Cancel and destroy.
-// ---------------------------------------------------------
-//
-CAknFepUICtrlEEPControl::~CAknFepUICtrlEEPControl( )
-    {
-    if ( iBuffer )
-        {
-        delete iBuffer;
-        iBuffer = NULL;
-        }
-    if ( iInsertionPoint )
-        {
-        delete iInsertionPoint;
-        iInsertionPoint = NULL;
-        }
-    iArray.ResetAndDestroy( );
-    }
-
-// ---------------------------------------------------------
-// Draw the control.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlEEPControl::Draw( const TRect& /*aRect*/ ) const
-    {
-    CWindowGc& gc = SystemGc( );
-    TAknTextLineLayout textPaneTextLayout;
-    gc.Clear( Rect( ) ) ;
-    gc.SetPenStyle( CGraphicsContext::ESolidPen ) ;
-    TInt fontWidth = 0;
-    TRect editRectTmp;
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance( );
-    TRect outerRect;
-    TRect innerRect;
-    CalculateFrameRects( outerRect, innerRect ) ;
-
-    AknsDrawUtils::DrawFrame( skin, gc, outerRect, innerRect,
-        KAknsIIDQsnFrPopupSub, KAknsIIDQsnFrPopupCenterSubmenu ) ;
-
-    TRect textrect;
-    textrect.iTl = Rect().iTl + TPoint( Rect().Width( )*KLROffset/KDenominator, 3 ) ;
-    textrect.SetHeight( Rect().Height( ) ) ;
-    textrect.SetWidth( Rect().Width( )- Rect().Width( )*KLROffset/KDenominator * 2 ) ;
-
-        TAknLayoutText layoutText;
-        TAknTextLineLayout
-            textLayout=
-            AKN_LAYOUT_TEXT_Chinese_universal_FEP_entry_pane_texts_Line_1( 0);
-        layoutText.LayoutText( textrect, textLayout ) ;
-        const CFont* font = layoutText.Font( );
-        gc.UseFont( font ) ;
-    TInt baseLine = font->AscentInPixels( )/2 + Rect().Height( )/2 - 2;
-
-    TInt arrayCount = iArray.Count( );
-    TInt beg = 0;
-    TInt end = iBuffer->Length( ) - 1;
-    
-    for ( TInt i = 0; i < arrayCount; i++ )
-        {
-        TSegment* tmp = iArray[i];
-        fontWidth = font->TextWidthInPixels( iBuffer->Left( beg ) ) ;
-        editRectTmp = textrect;
-        editRectTmp.iTl.iX = textrect.iTl.iX + fontWidth;
-        gc.SetPenColor( iDefaultTextColor ) ;
-        gc.SetUnderlineStyle( EUnderlineOff ) ;
-        gc.DrawText( iBuffer->Mid( beg, tmp->iBegin - beg ) , editRectTmp,
-            baseLine ) ;
-        fontWidth = font->TextWidthInPixels( iBuffer->Left( tmp->iBegin ) ) ;
-        editRectTmp = textrect;
-        editRectTmp.iTl.iX = textrect.iTl.iX + fontWidth;
-        if ( tmp->iStyle == EHighlight )
-            {
-            gc.SetPenColor( iHighlightColor ) ;
-            }
-        else if ( tmp->iStyle == EUnderline )
-            {
-            gc.SetUnderlineStyle( EUnderlineOn ) ;
-            }
-        else if ( tmp->iStyle == EUnderlineHighlight )
-            {
-            gc.SetPenColor( iHighlightColor ) ;
-            gc.SetUnderlineStyle( EUnderlineOn ) ;
-            }
-        gc.DrawText(
-            iBuffer->Mid( tmp->iBegin, tmp->iEnd - tmp->iBegin + 1 ) ,
-            editRectTmp, baseLine ) ;
-        beg = tmp->iEnd + 1;
-        }
-    gc.SetPenColor( iDefaultTextColor ) ;
-    gc.SetUnderlineStyle( EUnderlineOff ) ;
-    fontWidth = font->TextWidthInPixels( iBuffer->Left( beg ) ) ;
-    editRectTmp = textrect;
-    editRectTmp.iTl.iX = textrect.iTl.iX + fontWidth;
-    gc.DrawText( iBuffer->Right( end - beg + 1 ) , editRectTmp, baseLine ) ;
-    gc.DiscardFont( );
-    
-    if ( isCursorDraw )
-        {
-        iInsertionPoint->SetTextRect( textrect ) ;
-        //iInsertionPoint->SetHeight( font->HeightInPixels( ) + 4 ) ;
-        iInsertionPoint->SetHeight();
-        iInsertionPoint->Draw( gc ) ;
-        }
-    }
-
-// ---------------------------------------------------------
-// From CCoeControl.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlEEPControl::SizeChanged( )
-    {
-    }
-
-// ---------------------------------------------------------
-// Set the visual text and store it into member data buffer.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlEEPControl::SetText( const TDesC& aDes )
-    {
-    ResetAll( );
-    * (this->iBuffer ) = aDes;
-    }
-
-// ---------------------------------------------------------
-// Set the cursor position in the visual text rect.
-// ---------------------------------------------------------
-//
-TInt CAknFepUICtrlEEPControl::SetCursorPosition( TInt aIndex )
-    {
-    if ( aIndex < 0 || aIndex> iBuffer->Length() + 1 )
-        {
-        return -1;
-        }
-    else
-        {
-        iCursorPosition = aIndex;
-        TInt offSetInPixel = 0;
-        TAknTextLineLayout textPaneTextLayout = 
-            CAknFepChineseUIDataConv::AnyToTextLine( iLafDataMgr->RequestData( EEEPTextLine ));
-        const CFont* font = AknLayoutUtils::FontFromId ( textPaneTextLayout.iFont,
-            NULL );
-        offSetInPixel = font->TextWidthInPixels ( iBuffer->Left ( iCursorPosition ) );
-        this->iInsertionPoint->SetPosition ( offSetInPixel );
-        return 0;
-        }
-    }
-
-// ---------------------------------------------------------
-// Get the cursor position in visual text.
-// ---------------------------------------------------------
-//
-TInt CAknFepUICtrlEEPControl::GetCursorPosition( )
-    {
-    return iCursorPosition;
-    }
-
-// ---------------------------------------------------------
-// Set the underlined text beginning index and ending index.
-// ---------------------------------------------------------
-//
-TInt CAknFepUICtrlEEPControl::SetUnderline( TInt aBeg, TInt aEnd )
-    {
-    if ( aBeg> aEnd 
-    		|| ( aBeg < 0 || aBeg> iBuffer->Length() )
-    		|| ( aEnd < 0 || aEnd> iBuffer->Length() ))
-        {
-        return -1;
-        }
-    else
-        {
-        SetSegment ( aBeg, aEnd, EUnderline );
-        return 0;
-        }
-    }
-
-// ---------------------------------------------------------
-// Set the highlighted text beginning index and ending index.
-// ---------------------------------------------------------
-//
-TInt CAknFepUICtrlEEPControl::SetHighlight( TInt aBeg, TInt aEnd )
-    {
-    if ( aBeg> aEnd 
-    		|| ( aBeg < 0 || aBeg> iBuffer->Length() )
-    		|| ( aEnd < 0 || aEnd> iBuffer->Length() ))
-        {
-        return -1;
-        }
-    else
-        {
-        SetSegment ( aBeg, aEnd, EHighlight );
-        return 0;
-        }
-    }
-
-// ---------------------------------------------------------
-// Add a TSegment into iArray to identify the segment with a specified style.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlEEPControl::SetSegmentL ( TInt aBeg, TInt aEnd, TDspStyle aStyle )
-    {
-    TInt left = aBeg;
-    TInt right = aEnd;
-    TSegment* tmp;
-    TSegment* newSeg;
-    RPointerArray<TSegment> newArray;
-    TBool consumed = EFalse;
-    
-    if ( iArray.Count() == 0 )
-        {
-        tmp = new ( ELeave )TSegment ( aBeg, aEnd, aStyle );
-        TLinearOrder<TSegment> orderByBegIndex(TSegment::CompareByBegIndex);
-        iArray.InsertInOrder ( tmp, orderByBegIndex );
-        consumed = ETrue;
-        return;
-        }
-    
-    for ( TInt i = 0; i < iArray.Count(); i++ )
-        {
-        tmp = iArray[i];
-        if ( left > tmp->iBegin && left < tmp->iEnd 
-            && right > tmp->iEnd )
-            {
-            if ( aStyle == tmp->iStyle )
-                {
-                left = tmp->iEnd + 1;
-                }
-            else
-                {
-                TInt tmpIndex = tmp->iEnd;
-                tmp->iEnd = left - 1;
-                newSeg = new ( ELeave ) TSegment ( left, tmpIndex, EUnderlineHighlight );
-                CleanupStack::PushL( newSeg );
-                newArray.AppendL( newSeg );
-                CleanupStack::Pop( newSeg );
-                left = tmpIndex + 1;
-                }
-            }
-        else if ( left < tmp->iBegin
-            && right > tmp->iBegin && right < tmp->iEnd )
-            {
-            if ( aStyle == tmp->iStyle )
-                {
-                tmp->iBegin = left;
-                consumed = ETrue;
-                break;
-                }
-            else
-                {
-                newSeg = new ( ELeave ) TSegment ( left, tmp->iBegin - 1, aStyle );
-                CleanupStack::PushL(newSeg);
-                newArray.AppendL( newSeg );
-                CleanupStack::Pop(newSeg);
-                newSeg = new ( ELeave ) TSegment ( tmp->iBegin, right, EUnderlineHighlight );
-                CleanupStack::PushL(newSeg);
-                newArray.AppendL( newSeg );
-                CleanupStack::Pop(newSeg);
-                tmp->iBegin = right + 1;
-                consumed = ETrue;
-                break;
-                }
-            }
-        else if ( left > tmp->iBegin && left < tmp->iEnd 
-            && right > tmp->iBegin && right < tmp->iEnd )
-            {
-            if ( aStyle == tmp->iStyle )
-                {
-                consumed = ETrue;
-                break;
-                }
-            else
-                {
-                newSeg = new ( ELeave ) TSegment ( tmp->iBegin, left - 1, tmp->iStyle );
-                CleanupStack::PushL(newSeg);
-                newArray.AppendL( newSeg );
-                CleanupStack::Pop(newSeg);
-                newSeg = new ( ELeave ) TSegment ( left, right, EUnderlineHighlight );
-                CleanupStack::PushL(newSeg);
-                newArray.AppendL( newSeg );
-                CleanupStack::Pop(newSeg);
-                tmp->iBegin = right + 1;
-                consumed = ETrue;
-                break;
-                }
-            }
-        else if ( left < tmp->iBegin && right > tmp->iEnd )
-            {
-            if ( aStyle == tmp->iStyle )
-                {
-                tmp->iBegin = left;
-                left = tmp->iEnd + 1;
-                }
-            else
-                {
-                newSeg = new ( ELeave ) TSegment ( left, tmp->iBegin - 1, aStyle );
-                CleanupStack::PushL(newSeg);
-                newArray.AppendL( newSeg );
-                CleanupStack::Pop(newSeg);
-                tmp->iStyle = EUnderlineHighlight;
-                left = tmp->iEnd + 1;
-                }
-            }
-        else if ( left < tmp->iBegin && right < tmp->iBegin )
-            {
-            newSeg = new ( ELeave ) TSegment ( left, right, aStyle );
-            CleanupStack::PushL(newSeg);
-            newArray.AppendL( newSeg );
-            CleanupStack::Pop(newSeg);
-            consumed = ETrue;
-            break;
-            }
-        else if ( left > tmp->iEnd && right > tmp->iEnd )
-            {
-            if ( i == ( iArray.Count() - 1 )
-                || right < iArray[i+1]->iBegin )
-                {
-                newSeg = new ( ELeave ) TSegment ( left, right, aStyle );
-                CleanupStack::PushL(newSeg);
-                newArray.AppendL( newSeg );
-                CleanupStack::Pop(newSeg);
-                consumed = ETrue;
-                break;
-                }
-            }
-        else if (left == tmp->iBegin && right < tmp->iEnd )
-        	{
-        	if ( aStyle == tmp->iStyle )
-        		{
-        		consumed = ETrue;
-        		break;
-        		}
-        	else
-        		{
-        		newSeg = new ( ELeave ) TSegment ( left, right, EUnderlineHighlight );
-                CleanupStack::PushL(newSeg);
-                newArray.AppendL( newSeg );
-                CleanupStack::Pop(newSeg);
-        		tmp->iBegin = right + 1;
-        		consumed = ETrue;
-        		break;
-        		}
-        	}
-        else if (left > tmp->iBegin && right == tmp->iEnd )
-        	{
-        	if ( aStyle == tmp->iStyle )
-        		{
-        		consumed = ETrue;
-        		break;
-        		}
-        	else
-        		{
-        		newSeg = new ( ELeave ) TSegment ( left, right, EUnderlineHighlight );
-                CleanupStack::PushL(newSeg);
-                newArray.AppendL( newSeg );
-                CleanupStack::Pop(newSeg);
-        		tmp->iEnd = left - 1;
-        		consumed = ETrue;
-        		break;
-        		}
-        	}
-        else if (left == tmp->iBegin && right == tmp->iEnd )
-        	{
-        	if ( aStyle == tmp->iStyle )
-        		{
-        		consumed = ETrue;
-        		break;
-        		}
-        	else
-        		{
-        		tmp->iStyle = EUnderlineHighlight;
-        		consumed = ETrue;
-        		break;
-        		}
-        	}
-        else if (left == tmp->iBegin && right > tmp->iEnd )
-        	{
-        	if ( aStyle == tmp->iStyle )
-        		{
-        		left = tmp->iEnd + 1;
-        		}
-        	else
-        		{
-        		tmp->iStyle = EUnderlineHighlight;
-        		left = tmp->iEnd + 1;
-        		}
-        	}
-        else if (left < tmp->iBegin && right == tmp->iEnd )
-        	{
-        	if ( aStyle == tmp->iStyle )
-        		{
-        		tmp->iBegin = left;
-        		consumed = ETrue;
-        		break;
-        		}
-        	else
-        		{
-        		newSeg = new ( ELeave ) TSegment ( left, tmp->iBegin - 1, aStyle );
-                CleanupStack::PushL(newSeg);
-                newArray.AppendL( newSeg );
-                CleanupStack::Pop(newSeg);
-        		tmp->iStyle = EUnderlineHighlight;
-        		consumed = ETrue;
-        		break;
-        		}
-        	}
-        else if (left == tmp->iEnd && tmp->iBegin < left )
-        	{
-        	if ( aStyle == tmp->iStyle )
-        		{
-        		left = tmp->iEnd + 1;
-        		}
-        	else
-        		{
-        		tmp->iEnd = tmp->iEnd - 1;
-                newSeg = new ( ELeave ) TSegment ( left, left, EUnderlineHighlight );
-                CleanupStack::PushL(newSeg);
-                newArray.AppendL( newSeg );
-                CleanupStack::Pop(newSeg);
-                left = left + 1;
-        		}
-        	}
-        else if (right == tmp->iBegin && tmp->iEnd > right )
-        	{
-        	if ( aStyle == tmp->iStyle )
-        		{
-        		tmp->iBegin = left;
-        		consumed = ETrue;
-        		break;
-        		}
-        	else
-        		{
-        		tmp->iBegin = tmp->iBegin + 1;
-                newSeg = new ( ELeave ) TSegment ( right, right, EUnderlineHighlight );
-                CleanupStack::PushL(newSeg);
-                newArray.AppendL( newSeg );
-                CleanupStack::Pop(newSeg);
-                right = right - 1;
-        		}
-        	}
-        }
-    
-    if ( consumed == EFalse )
-    	{
-    	newSeg = new ( ELeave ) TSegment ( left, right, aStyle );
-        CleanupStack::PushL(newSeg);
-        newArray.AppendL( newSeg );
-        CleanupStack::Pop(newSeg);
-    	consumed = ETrue;
-    	}
-    
-    for ( TInt ii = 0; ii < newArray.Count();  ii++ )
-        {
-        TLinearOrder<TSegment> orderByBegIndex(TSegment::CompareByBegIndex);
-        TSegment* tmp1 = newArray[ii];
-        TInt err = 0;
-        err = iArray.InsertInOrder ( newArray[ii], orderByBegIndex );
-        if ( err == KErrAlreadyExists )
-        	{
-        	delete tmp1;
-        	}
-        }
-    newArray.Reset();
-    
-    for ( TInt ii = 0; ii < iArray.Count() - 1; )
-    	{
-    	if ( iArray[ii]->iStyle == iArray[ii + 1]->iStyle 
-    		&& iArray[ii]->iEnd + 1 == iArray[ii + 1]->iBegin )
-    		{
-    		iArray[ii]->iEnd = iArray[ii + 1]->iEnd;
-    		TSegment* tmp1 = iArray[ii + 1];
-    		iArray.Remove(ii + 1);
-    		delete tmp1;
-    		}
-    	else
-    		{
-    		ii ++;
-    		}
-    	}
-    return;
-    }
-
-// ---------------------------------------------------------
-// Add a TSegment into iArray to identify the segment with a specified style.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlEEPControl::SetSegment( TInt aBeg, TInt aEnd, TDspStyle aStyle )
-	{
-	TRAP_IGNORE( SetSegmentL( aBeg,aEnd,aStyle ) );
-	}
-
-// ---------------------------------------------------------
-// Active the cursor,the cursor will be appeared with a glint.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlEEPControl::ActiveCursor( )
-    {
-    iInsertionPoint->Active( );
-    }
-
-// ---------------------------------------------------------
-// Deactive the cursor, the cursor will be gray and with no glint.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlEEPControl::DeactiveCursor( )
-    {
-    iInsertionPoint->Deactive( );
-    }
-
-// ---------------------------------------------------------
-// Enable the cursor.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlEEPControl::EnableCursor()
-    {
-    isCursorDraw = ETrue;
-    DrawDeferred();
-    }
-
-// ---------------------------------------------------------
-// Disable the cursor.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlEEPControl::DisableCursor()
-    {
-    isCursorDraw = EFalse;
-    DrawDeferred();
-    }
-
-// ---------------------------------------------------------
-// Move cursor to the left by a specified stride.
-// ---------------------------------------------------------
-//
-TInt CAknFepUICtrlEEPControl::MoveCursorLeft( TInt aStride )
-    {
-    TRect panerect = Rect( );
-    TAknTextLineLayout textPaneTextLayout = 
-        CAknFepChineseUIDataConv::AnyToTextLine( iLafDataMgr->RequestData( EEEPTextLine ));
-    const CFont* font = AknLayoutUtils::FontFromId(
-        textPaneTextLayout.iFont, NULL ) ;
-    if ( iCursorPosition - aStride >= 0 
-    	&& font->TextWidthInPixels( iBuffer->Left( iCursorPosition - aStride ) ) >= panerect.Width() * KLROffset / KDenominator)
-        {
-        iCursorPosition = iCursorPosition - aStride;
-        TInt offSetInPixel = 0;
-        offSetInPixel
-            = font->TextWidthInPixels( iBuffer->Left( iCursorPosition ) ) ;
-        this->iInsertionPoint->SetPosition( offSetInPixel ) ;
-        return 0;
-        }
-    else
-        {
-        return -1;
-        }
-    }
-
-// ---------------------------------------------------------
-// Move cursor to the right by a specified stride.
-// ---------------------------------------------------------
-//
-TInt CAknFepUICtrlEEPControl::MoveCursorRight( TInt aStride )
-    {
-    TRect panerect = Rect( );
-    TAknTextLineLayout textPaneTextLayout = 
-            CAknFepChineseUIDataConv::AnyToTextLine( iLafDataMgr->RequestData( EEEPTextLine ));
-    const CFont* font = AknLayoutUtils::FontFromId(
-        textPaneTextLayout.iFont, NULL ) ;
-    TInt lenBegToCursor = font->TextWidthInPixels( iBuffer->Left( iCursorPosition + aStride ) );
-    if ( iBuffer->Length( ) >= iCursorPosition + aStride 
-    	&& lenBegToCursor < panerect.Width() * KCursorResetStartOffset / KDenominator
-    	)
-        {
-        iCursorPosition = iCursorPosition + aStride;
-        TInt offSetInPixel = 0;
-        offSetInPixel
-            = font->TextWidthInPixels( iBuffer->Left( iCursorPosition ) );
-        this->iInsertionPoint->SetPosition( offSetInPixel ) ;
-        return 0;
-        }
-    else
-        {
-        return -1;
-        }
-    }
-
-// ---------------------------------------------------------
-// Called by the cursor object.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlEEPControl::Refresh( )
-    {
-    this->DrawDeferred( );
-    }
-
-// ---------------------------------------------------------
-// C++ constructor.
-// ---------------------------------------------------------
-//
-CAknFepUICtrlEEPControl::CAknFepUICtrlEEPControl( CAknFepUiLayoutDataMgr* aLafDataMgr )
-    {
-    iBuffer = NULL;
-    iInsertionPoint = NULL;
-    iCursorPosition = 0;
-    isCursorDraw = ETrue;
-    iLafDataMgr = aLafDataMgr;
-    }
-
-// ---------------------------------------------------------
-// Two-phrase constructor.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlEEPControl::ConstructL( RWindow& aParent )
-    {
-    SetContainerWindowL( aParent );
-    this->iBuffer = HBufC::New( KMaxDispNum ) ;
-    this->iInsertionPoint = CInsertionPoint::NewL( iLafDataMgr );
-    this->iInsertionPoint->SetRefreshObserver( this ) ;
-    iHighlightColor = KRgbRed;
-    iDefaultTextColor = KRgbBlack;
-    }
-
-// ---------------------------------------------------------
-// Reset all its member data to initialized state.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlEEPControl::ResetAll( )
-    {
-    iBuffer->Des().Zero( );
-    iArray.ResetAndDestroy( );
-    iCursorPosition = 0;
-    isCursorDraw = ETrue;
-    this->iInsertionPoint->SetPosition( 0 );
-    }
-
-// ---------------------------------------------------------
-// Calculate the frame rect.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlEEPControl::CalculateFrameRects( TRect& aOuterRect,
-    TRect& aInnerRect ) const
-    {
-    TRect windowRect = CAknFepChineseUIDataConv::AnyToRect( iLafDataMgr->RequestData( EPopupRectEEP ));
-    TAknLayoutRect eepFirstHorizLineLayoutRect = CAknFepChineseUIDataConv::AnyToLayoutRect( iLafDataMgr->RequestData( EEEPFirstHorizLine ));
-    TAknLayoutRect eepSecondHorizLineLayoutRect = CAknFepChineseUIDataConv::AnyToLayoutRect( iLafDataMgr->RequestData( EEEPSecondHorizLine ));
-    TRect eepFirstHorizLineRect = eepFirstHorizLineLayoutRect.Rect();
-    TRect eepSecondHorizLineRect = eepSecondHorizLineLayoutRect.Rect();
-    TInt rectHeight = eepFirstHorizLineRect.iTl.iY - windowRect.iTl.iY;
-    //TInt rectHeight = eepSecondHorizLineRect.iTl.iY - windowRect.iTl.iY - 1;
-    TInt rectWidth = windowRect.Width( );
-    windowRect.iTl.iX = 0;
-    windowRect.iTl.iY = 0;
-    windowRect.SetHeight( rectHeight ) ;
-    windowRect.SetWidth( rectWidth ) ;
-    TAknLayoutRect topLeft;
-    topLeft.LayoutRect( windowRect,
-        SkinLayout::Submenu_skin_placing_Line_2( ) ) ;
-
-    TAknLayoutRect bottomRight;
-    bottomRight.LayoutRect( windowRect,
-        SkinLayout::Submenu_skin_placing_Line_5( ) ) ;
-   
-    aOuterRect = TRect( topLeft.Rect().iTl, bottomRight.Rect().iBr ) ;
-    aInnerRect = TRect( topLeft.Rect().iBr, bottomRight.Rect().iTl ) ;
-//    aOuterRect.SetHeight();
-//    aInnerRect = aOuterRect;
-    aInnerRect.iBr.iY = aOuterRect.iBr.iY;
-    }
-
-// End of file
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/aknfepuictrlpinyineep.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1620 +0,0 @@
-/*
-* Copyright (c) 2008 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:           
- *      Provides the CAknFepUICtrlPinyinEEP definition 
- *
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include <eikenv.h>
-#include <eikappui.h>
-#include <AknsSkinInstance.h> 
-#include <AknsUtils.h> 
-#include <AknsDrawUtils.h> 
-#include <skinlayout.cdl.h>
-
-#include "aknlayoutscalable_avkon.cdl.h"
-#include "aknfepuictrlpinyineep.h"
-#include "aknfepuilayoutdatamgr.h"
-#include "aknfepchineseuidataconv.h"
-
-_LIT(KFullStop, "\x002E");
-
-_LIT( KToneMark1, "\x0020");
-_LIT( KToneMark2, "\x02CA");
-_LIT( KToneMark3, "\x02C7");
-_LIT( KToneMark4, "\x02CB");
-_LIT( KToneMark5, "\x02D9");
-_LIT( KLeftBracket, "\x0028");
-const TInt KControlNum = 1;
-const TInt KMaxCharNum = 200;
-const TInt KMaxDispNum = 200;
-
-// ---------------------------------------------------------
-// NewL function.
-// ---------------------------------------------------------
-//
-CAknFepUICtrlPinyinEEP* CAknFepUICtrlPinyinEEP::NewL( RWindow& aParent, CAknFepUiLayoutDataMgr* aLafDataMgr )
-    {
-    CAknFepUICtrlPinyinEEP* self=CAknFepUICtrlPinyinEEP::NewLC( aParent, aLafDataMgr );
-    CleanupStack::Pop(self); // self;
-    return self;
-    }
-
-// ---------------------------------------------------------
-// NewLC function.
-// ---------------------------------------------------------
-//
-CAknFepUICtrlPinyinEEP* CAknFepUICtrlPinyinEEP::NewLC( RWindow& aParent, CAknFepUiLayoutDataMgr* aLafDataMgr )
-    {
-    CAknFepUICtrlPinyinEEP* self = new(ELeave)CAknFepUICtrlPinyinEEP( aLafDataMgr );
-    CleanupStack::PushL( self );
-    self->ConstructL( aParent, aLafDataMgr);
-    return self;
-    }
-
-// ---------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------
-//
-CAknFepUICtrlPinyinEEP::~CAknFepUICtrlPinyinEEP()
-    {
-    if ( iEditableEntryPane )
-        {
-        delete iEditableEntryPane;
-        iEditableEntryPane = NULL;
-        }
-//    if ( iBgContext )
-//        {
-//        delete iBgContext;
-//        iBgContext = NULL;
-//        }
-    if ( iAbsoluteBuffer )
-        {
-        delete iAbsoluteBuffer;
-        iAbsoluteBuffer = NULL;
-        }
-    if ( iVisualBuffer )
-        {
-        delete iVisualBuffer;
-        iVisualBuffer = NULL;
-        }
-    iArray.ResetAndDestroy();
-    delete iKeystrokeArray;
-    delete iShowKeystrokeArray;
-    delete iPhraseArray;
-    delete iPhraseShowKeyStrokeArray;
-    delete iTempArray;
-    }
-
-// ---------------------------------------------------------
-// From CCoeControl.
-// ---------------------------------------------------------
-//
-TInt CAknFepUICtrlPinyinEEP::CountComponentControls() const
-    {
-    return KControlNum;
-    }
-
-// ---------------------------------------------------------
-// From CCoeControl.
-// ---------------------------------------------------------
-//
-CCoeControl* CAknFepUICtrlPinyinEEP::ComponentControl( TInt aIndex ) const
-    {
-    switch ( aIndex )
-        {
-        case EEditableEntryPane:
-            return iEditableEntryPane;
-        default:
-            return NULL;
-        }
-    }
-
-// ---------------------------------------------------------
-// From CCoeControl.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::Draw( const TRect& /*aRect*/) const
-    {
-    }
-
-// ---------------------------------------------------------
-// From CCoeControl.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::SizeChanged()
-    {
-    LayoutContainedControls();
-    }
-
-// ---------------------------------------------------------
-// Set the text buffer and posit the cursor index.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::SetText( const TDesC& aDes, TInt aCursorIndex, TBool aMiniQwertyZhuyin )
-    {
-    iMiniQwertyZhuyin = aMiniQwertyZhuyin;
-    iAbsoluteUnderlineBeg = -1;
-    iAbsoluteUnderlineEnd = -1;
-    iAbsoluteHighlightBeg = -1;
-    iAbsoluteHighlightEnd = -1;
-    iArray.ResetAndDestroy();
-    TInt absoluteBufferLen = iAbsoluteBuffer->Length();
-    TInt desLen = aDes.Length();
-
-    if ( aCursorIndex > aDes.Length() )
-        {
-        aCursorIndex = aDes.Length();
-        }
-    else if ( aCursorIndex < 0 )
-        {
-        aCursorIndex = 0;
-        }
-
-    // cursor is at the end of buffer and add a character 
-    if ( aDes.Left( iAbsoluteBuffer->Length() ) == *iAbsoluteBuffer
-        && iAbsoluteCursorPos == iAbsoluteBuffer->Length() && aCursorIndex
-        == aDes.Length() )
-        {
-        Append( aDes.Right( aDes.Length() - iAbsoluteBuffer->Length() ) );
-        }
-    //    delete one character
-    else if ( iAbsoluteBuffer->Left( aCursorIndex ).Compare(aDes.Left(aCursorIndex)) == 0
-        && aCursorIndex < iAbsoluteCursorPos
-        && iAbsoluteBuffer->Compare( aDes ) != 0
-        && 0 == iAbsoluteBuffer->Right( absoluteBufferLen - iAbsoluteCursorPos ).Compare( 
-            aDes.Right( desLen - aCursorIndex)) )
-        {
-        Delete( iAbsoluteCursorPos - (iAbsoluteBuffer->Length()
-            - aDes.Length()), iAbsoluteBuffer->Length() - aDes.Length() );
-        }
-    else if ( iAbsoluteBuffer->Length() < aDes.Length()
-        && iAbsoluteBuffer->Left( iAbsoluteCursorPos )
-            == aDes.Left( iAbsoluteCursorPos )
-        && iAbsoluteBuffer->Right( iAbsoluteBuffer->Length()
-            - iAbsoluteCursorPos ) == aDes.Right( iAbsoluteBuffer->Length()
-            - iAbsoluteCursorPos ) && aCursorIndex - iAbsoluteCursorPos
-        == aDes.Length() - iAbsoluteBuffer->Length() )
-        {
-        TPtrC tmp = aDes.Mid( iAbsoluteCursorPos, aDes.Length()
-            - iAbsoluteBuffer->Length() );
-        Insert( iAbsoluteCursorPos, tmp );
-        }
-    else
-        {
-        SetText( aDes );
-        SetCursor( aCursorIndex );
-        }
-    }
-
-// ---------------------------------------------------------
-// Set the text buffer and posit the cursor index for zhuyin.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::SetTextForZhuyin( 
-    const TDesC& aDes, 
-    TInt aCursor, 
-    TInt aChineseCount, 
-    const TDesC& aJudgeSeed, 
-    TInt aKeystroke, 
-    TBool aInvalid,
-    TBool aMiniQwertyZhuyin)
-    {
-    iMiniQwertyZhuyin = aMiniQwertyZhuyin;
-    TInt actionType = EZhuyinNULL;
-    if ( aKeystroke == 0 && aJudgeSeed.Compare(iJudgeSeed) == 0)
-        {
-        actionType = EZhuyinMoveCursor;
-        }
-    else if ( aChineseCount == iChineseCount + 1 )
-        {
-        actionType = EZhuyinNULL;
-        }
-    else if ( aKeystroke == 0 && aJudgeSeed.Length() <= iJudgeSeed.Length() - 1)
-        {
-        actionType = EZhuyinDelete;
-        }
-    else
-        {
-        if ( aJudgeSeed.Length() == iJudgeSeed.Length())
-            {
-            if ( aJudgeSeed.Left(aKeystroke - 1).Compare(iJudgeSeed.Left(aKeystroke - 1)) == 0 
-                && aJudgeSeed.Mid(aKeystroke - 1,1).Compare(iJudgeSeed.Mid(aKeystroke - 1,1)) != 0 ) 
-                {
-                actionType = EZhuyinReplace;
-                }
-            else if ( aCursor == GetCursor() )
-                {
-                actionType = EZhuyinReplace;
-                }
-            else
-                {
-                actionType = EZhuyinMoveCursor;
-                }
-            }
-        else if ( aJudgeSeed.Length() == iJudgeSeed.Length() + 1)
-            {
-            actionType = EZhuyinInsert;
-            }
-        else if ( aJudgeSeed.Length() == iJudgeSeed.Length() - 1)
-            {
-            actionType = EZhuyinDelete;
-            }
-        else if ( KErrNotFound != iJudgeSeed.Find( aJudgeSeed ) )
-            {
-            actionType = EZhuyinDelete;
-            }
-        else
-            {
-            actionType = EZhuyinNULL;
-            }
-        }
-    iArray.ResetAndDestroy();
-    iJudgeSeed = aJudgeSeed;
-    iChineseCount = aChineseCount;
-    if ( iLastValid && aInvalid )
-        {
-        TInt newOffset = 0;
-        TPtrC ptr = iAbsoluteBuffer->Des();
-        for ( TInt i = 0; i < iOffset; i++ )
-            {
-            if ( ptr.Mid(i,1).Compare(KFullStop) == 0 )
-                {
-                continue;
-                }
-            newOffset++;
-            }
-        iOffset = newOffset;
-        }
-    else if ( !iLastValid && !aInvalid )
-        {
-        TInt newOffset = 0;
-        TInt i = 0;
-        TPtrC ptr = aDes;
-        for ( i = 0; i < iOffset && newOffset < ptr.Length(); )
-            {
-            if ( ptr.Mid(newOffset,1).Compare(KFullStop) != 0 )
-                {
-                i++;
-                }
-            newOffset++;
-            }
-        iOffset = newOffset;
-        }
-    iLastValid = !aInvalid;
-    switch ( actionType )
-        {
-        case EZhuyinInsert:
-            {
-            *iAbsoluteBuffer = aDes;
-            iAbsoluteCursorPos = aCursor;
-            this->CalculateVisualTextForInsert( 0, aDes );
-            this->iEditableEntryPane->SetText( *iVisualBuffer );
-            this->CalculateVisualIndex();
-            iEditableEntryPane->SetCursorPosition( iAbsoluteCursorPos
-                - iOffset );
-            }
-            break;
-        case EZhuyinReplace:
-            {
-            TRect panerect = iEditableEntryPane->Rect();
-            TAknTextLineLayout textPaneTextLayout = 
-                    CAknFepChineseUIDataConv::AnyToTextLine( iLafDataMgr->RequestData( EEEPTextLine ));
-            const CFont* font = AknLayoutUtils::FontFromId(
-                textPaneTextLayout.iFont, 
-                NULL );
-            TInt lenToCursor = font->TextWidthInPixels( aDes.Mid( iOffset,
-                aCursor - iOffset ) );
-            if ( lenToCursor < panerect.Width() - panerect.Width()
-                *KLROffset/KDenominator * 2 )
-                {
-                *iAbsoluteBuffer = aDes;
-                iAbsoluteCursorPos = aCursor;
-                TInt stride = 0;
-                for (stride = 1;; stride ++ )
-                    {
-                    if ( iOffset + stride > aDes.Length() )
-                        {
-                        break;
-                        }
-                    TInt tmpFontLen = font->TextWidthInPixels( aDes.Mid(
-                        iOffset, stride ) );
-                    if ( tmpFontLen > panerect.Width() - panerect.Width()
-                        *KLROffset/KDenominator * 2 )
-                        {
-                        break;
-                        }
-                    }
-                *iVisualBuffer = aDes.Mid( iOffset, stride - 1 );
-                iEditableEntryPane->SetText( *iVisualBuffer );
-                iEditableEntryPane->SetCursorPosition( aCursor-iOffset );
-                }
-            else
-                {
-                SetText( aDes, aCursor );
-                }
-            CalculateVisualIndex();
-            break;
-            }
-        case EZhuyinDelete:
-            {
-            *iAbsoluteBuffer = aDes;
-            iAbsoluteCursorPos = aCursor;
-            this->CalculateVisualTextForDelete( 0, 0 );
-            this->iEditableEntryPane->SetText( *iVisualBuffer );
-            this->CalculateVisualIndex();
-            iEditableEntryPane->SetCursorPosition( iAbsoluteCursorPos
-                - iOffset );
-            }
-            break;
-        default:
-            SetText( aDes, aCursor );
-        }
-    }
-
-// ---------------------------------------------------------
-// Set the text buffer and maintain the current cursor position.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::SetText( const TDesC& aDes )
-    {
-    iAbsoluteCursorPos = 0;
-    iOffset = 0;
-    iAbsoluteBuffer->Des().Zero();
-    iVisualBuffer->Des().Zero();
-    *iAbsoluteBuffer = aDes;
-    CalculateVisualTextForMoveRight();
-    iEditableEntryPane->SetText( *iVisualBuffer );
-    CalculateVisualIndex();
-    }
-
-// ---------------------------------------------------------
-// Set the cursor position.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::SetCursor( const TInt aIndex )
-    {
-    SetCursorForMoveRight( aIndex );
-    }
-
-// ---------------------------------------------------------
-// get the position index of cursor.The max cursor index must 
-// be larger than the length of text buffer by 1.
-// ---------------------------------------------------------
-//
-TInt CAknFepUICtrlPinyinEEP::GetCursor()
-    {
-    return iAbsoluteCursorPos;
-    }
-
-// ---------------------------------------------------------
-// move cursor to the left by a 1 stride.
-// ---------------------------------------------------------
-//
-TBool CAknFepUICtrlPinyinEEP::MoveCursorLeft( TInt aStride  )
-    {
-    if ( iAbsoluteCursorPos - aStride < 0 )
-        {
-        return EFalse;
-        }
-    if ( iEditableEntryPane->MoveCursorLeft( aStride ) == 0 )
-        {
-        iAbsoluteCursorPos = iAbsoluteCursorPos - aStride;
-        }
-    else
-        {
-        iAbsoluteCursorPos = iAbsoluteCursorPos - aStride;
-        SetCursorForMoveLeft( iAbsoluteCursorPos );
-        }
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// move cursor to the right by a 1 stride.
-// ---------------------------------------------------------
-//
-TBool CAknFepUICtrlPinyinEEP::MoveCursorRight( TInt aStride )
-    {
-    if ( iAbsoluteCursorPos + aStride > iAbsoluteBuffer->Length() )
-        {
-        return EFalse;
-        }
-    if ( iEditableEntryPane->MoveCursorRight( aStride ) == 0 )
-        {
-        iAbsoluteCursorPos = iAbsoluteCursorPos + aStride;
-        }
-    else
-        {
-        iAbsoluteCursorPos = iAbsoluteCursorPos + aStride;
-        SetCursorForMoveRight( iAbsoluteCursorPos );
-        }
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// active the cursor,the cursor will be black and with a wink
-// this cursor state represent this control is focused.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::ActiveCursor()
-    {
-    iEditableEntryPane->ActiveCursor();
-    }
-
-// ---------------------------------------------------------
-// deactive the cursor, the cursor will be gray and no wink this cursor
-// state represent this control with no focus.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::DeactiveCursor()
-    {
-    iEditableEntryPane->DeactiveCursor();
-    }
-
-// ---------------------------------------------------------
-// enable the cursor,the cursor will be drawn.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::EnableCursor()
-    {
-    iEditableEntryPane->EnableCursor();
-    }
-
-// ---------------------------------------------------------
-// deactive the cursor, the cursor will not be drawn.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::DisableCursor()
-    {
-    iEditableEntryPane->DisableCursor();
-    }
-
-// ---------------------------------------------------------
-// set the beginning and ending index for the underline text.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::SetUnderline( TInt aBeg, TInt aEnd )
-    {
-    CAknFepUICtrlEEPControl::TSegment* tmp =
-        new CAknFepUICtrlEEPControl::TSegment ( aBeg, aEnd, CAknFepUICtrlEEPControl::EUnderline );
-    iArray.Append( tmp );
-
-    TInt visualUnderlineBeg = aBeg - iOffset;
-    TInt visualUnderlineEnd = aEnd - iOffset;
-
-    if (
-        visualUnderlineBeg < 0 &&
-        visualUnderlineEnd < 0
-        ||
-        visualUnderlineBeg> iVisualBuffer->Length() - 1 &&
-        visualUnderlineEnd> iVisualBuffer->Length() - 1
-    )
-        {
-        visualUnderlineBeg = -1;
-        visualUnderlineEnd = -1;
-        }
-    else
-        {
-        if ( visualUnderlineBeg < 0 )
-            {
-            visualUnderlineBeg = 0;
-            }
-        if ( visualUnderlineEnd> iVisualBuffer->Length() - 1 )
-            {
-            visualUnderlineEnd = iVisualBuffer->Length() - 1;
-            }
-        }
-    iEditableEntryPane->SetUnderline( visualUnderlineBeg, visualUnderlineEnd );
-
-    iAbsoluteUnderlineBeg = aBeg;
-    iAbsoluteUnderlineEnd = aEnd;
-    }
-
-// ---------------------------------------------------------
-// get the indexes for text with underline.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::GetUnderlineIndex( TInt& aBeg, TInt& aEnd )
-    {
-    aBeg = iAbsoluteUnderlineBeg;
-    aEnd = iAbsoluteUnderlineEnd;
-    }
-
-// ---------------------------------------------------------
-// set the indexes for the text with highlight
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::SetHighlight( TInt aBeg, TInt aEnd )
-    {
-    CAknFepUICtrlEEPControl::TSegment* tmp =
-        new CAknFepUICtrlEEPControl::TSegment ( aBeg, aEnd, CAknFepUICtrlEEPControl::EHighlight );
-    iArray.Append( tmp );
-
-    TInt visualHighlightBeg = aBeg - iOffset;
-    TInt visualHighlightEnd = aEnd - iOffset;
-
-    if (
-        visualHighlightBeg < 0 &&
-        visualHighlightEnd < 0
-        ||
-        visualHighlightBeg> iVisualBuffer->Length() - 1 &&
-        visualHighlightEnd> iVisualBuffer->Length() - 1
-    )
-        {
-        visualHighlightBeg = -1;
-        visualHighlightEnd = -1;
-        }
-    else
-        {
-        if ( visualHighlightBeg < 0 )
-            {
-            visualHighlightBeg = 0;
-            }
-        if ( visualHighlightEnd> iVisualBuffer->Length() - 1 )
-            {
-            visualHighlightEnd = iVisualBuffer->Length() - 1;
-            }
-        }
-    iEditableEntryPane->SetHighlight( visualHighlightBeg, visualHighlightEnd );
-
-    iAbsoluteHighlightBeg = aBeg;
-    iAbsoluteHighlightEnd = aEnd;
-    }
-
-// ---------------------------------------------------------
-// get the indexes for the text with highlight
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::GetHighlightIndex( TInt& aBeg, TInt& aEnd )
-    {
-    aBeg = iAbsoluteHighlightBeg;
-    aEnd = iAbsoluteHighlightEnd;
-    }
-
-// ---------------------------------------------------------
-// set keystroke index. 
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::SetCursorIndexOfKeystroke( const TInt aStartIndex )
-    {
-    iIndex = aStartIndex;
-    }
-
-// ---------------------------------------------------------
-// get the keystroke index
-// ---------------------------------------------------------
-//
-TInt CAknFepUICtrlPinyinEEP::GetCursorIndexOfKeystroke()
-    {
-    return iIndex;
-    }
-
-// ---------------------------------------------------------
-// whether this control will be actived.ETrue represent enable 
-// otherwise disable.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::Enable( TBool aEnable )
-    {
-    iEnabled = aEnable;
-    if ( aEnable == EFalse )
-        {
-        Reset();
-        DrawNow();
-        }
-    iEditableEntryPane->MakeVisible( aEnable );
-    MakeVisible( aEnable );
-    }
-	
-// ---------------------------------------------------------
-// return whether this control is enabled.
-// ---------------------------------------------------------
-//
-TBool CAknFepUICtrlPinyinEEP::IsEnabled() const
-    {
-    return iEnabled;
-    }
-
-// ---------------------------------------------------------
-// Get the info before cursor.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::GetText( TDes& aText )
-    {
-    aText = *iAbsoluteBuffer;
-    }
-
-// ---------------------------------------------------------
-// Get the info before cursor.
-// ---------------------------------------------------------
-//
-TBool CAknFepUICtrlPinyinEEP::GetDesBeforeCursor( TDes& aOut )
-    {
-    if ( iAbsoluteCursorPos == 0 )
-        {
-        return EFalse;
-        }
-    else
-        {
-        aOut = iAbsoluteBuffer->Mid( (iAbsoluteCursorPos - 1 ), 1 );
-        return ETrue;
-        }
-    }
-
-// ---------------------------------------------------------
-// From MAknFepUICtrlEditPane.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::SetToneMark( const TDesC& /*aToneMark*/)
-    {
-    }
-
-// ---------------------------------------------------------
-// From MAknFepUICtrlEditPane.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::SetToneMarkValidity( TBool /*aValid*/)
-    {
-    }
-
-// ---------------------------------------------------------
-// From MAknFepUICtrlEditPane.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::SetOverrideFontId( TInt /*aFontId*/)
-    {
-    }
-
-// ---------------------------------------------------------
-// From MAknFepUICtrlEditPane.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::SetFlag( TInt /*aFlag*/)
-    {
-    }
-
-// ---------------------------------------------------------
-// From MAknFepUICtrlEditPane.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::ClearFlag( TInt /*aFlag*/)
-    {
-    }
-
-// ---------------------------------------------------------
-// From MAknFepUICtrlEditPane.
-// ---------------------------------------------------------
-//
-TBool CAknFepUICtrlPinyinEEP::IsFlagSet( TInt /*aFlag*/) const
-    {
-    return EFalse;
-    }
-
-// ---------------------------------------------------------
-// Set the cursor index for moving to the left.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::SetCursorForMoveLeft( const TInt aIndex )
-    {
-    iAbsoluteCursorPos = aIndex;
-    CalculateVisualTextForMoveLeft();
-    iEditableEntryPane->SetText( *iVisualBuffer );
-    iEditableEntryPane->SetCursorPosition( iAbsoluteCursorPos - iOffset );
-    CalculateVisualIndex();
-    }
-
-// ---------------------------------------------------------
-// Set the cursor index for moving to the right.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::SetCursorForMoveRight( const TInt aIndex )
-    {
-    iAbsoluteCursorPos = aIndex;
-    CalculateVisualTextForMoveRight();
-    iEditableEntryPane->SetText( *iVisualBuffer );
-    iEditableEntryPane->SetCursorPosition( iAbsoluteCursorPos - iOffset );
-    CalculateVisualIndex();
-    }
-
-// ---------------------------------------------------------
-// Add some text at the end of buffer.
-// ---------------------------------------------------------
-//
-TBool CAknFepUICtrlPinyinEEP::Append( const TDesC& aDes )
-    {
-    if ( this->iAbsoluteCursorPos != this->iAbsoluteBuffer->Length() )
-        {
-        return EFalse;
-        }
-    else
-        {
-        if ( iAbsoluteBuffer->Length() + aDes.Length()
-            > iAbsoluteBuffer->Des().MaxLength() )
-            {
-            return EFalse;
-            }
-        iAbsoluteBuffer->Des().Append( aDes );
-        iAbsoluteCursorPos = iAbsoluteCursorPos + aDes.Length();
-        this->CalculateVisualTextForAppend( aDes );
-        this->iEditableEntryPane->SetText( *iVisualBuffer );
-        this->CalculateVisualIndex();
-        iEditableEntryPane->SetCursorPosition( iAbsoluteCursorPos - iOffset );
-        return ETrue;
-        }
-    }
-
-// ---------------------------------------------------------
-// delete the content begin with aBeg index, and with an aLen length.
-// ---------------------------------------------------------
-//
-TBool CAknFepUICtrlPinyinEEP::Delete( TInt aBeg, TInt aLen )
-    {
-    if ( aBeg < 0 || aLen < 0 || aBeg + aLen> iAbsoluteBuffer->Length() )
-        {
-        return EFalse;
-        }
-    else
-        {
-        iAbsoluteBuffer->Des().Delete( aBeg, aLen );
-        iAbsoluteCursorPos = aBeg;
-        this->CalculateVisualTextForDelete( aBeg, aLen );
-        this->iEditableEntryPane->SetText( *iVisualBuffer );
-        this->CalculateVisualIndex();
-        iEditableEntryPane->SetCursorPosition( iAbsoluteCursorPos - iOffset );
-        return ETrue;
-        }
-    }
-
-// ---------------------------------------------------------
-// Insert some text after aIndex character.
-// ---------------------------------------------------------
-//
-TBool CAknFepUICtrlPinyinEEP::Insert( TInt aIndex, const TDesC& aDes )
-    {
-    if ( iAbsoluteBuffer->Length() + aDes.Length() > iAbsoluteBuffer->Des().MaxLength() )
-        {
-        return EFalse;
-        }
-    iAbsoluteBuffer->Des().Insert( aIndex, aDes );
-    iAbsoluteCursorPos = iAbsoluteCursorPos + aDes.Length();
-    this->CalculateVisualTextForInsert( aIndex, aDes );
-    this->iEditableEntryPane->SetText( *iVisualBuffer );
-    this->CalculateVisualIndex();
-    iEditableEntryPane->SetCursorPosition( iAbsoluteCursorPos - iOffset );
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// Replace text from aBeg index to aBeg + aLen with aDes.
-// ---------------------------------------------------------
-//
-TBool CAknFepUICtrlPinyinEEP::Replace( TInt /*aBeg*/, TInt /*aLen*/,
-    const TDesC& /*aDes*/)
-    {
-    return EFalse;
-    }
-
-// ---------------------------------------------------------
-// Reset private member viariable.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::Reset()
-    {
-    iIndex = 0;
-    iEnabled = EFalse;
-    iAbsoluteCursorPos = 0;
-    iOffset = 0;
-    iAbsoluteUnderlineBeg = -1;
-    iAbsoluteUnderlineEnd = -1;
-    iAbsoluteHighlightBeg = -1;
-    iAbsoluteHighlightEnd = -1;
-    iAbsoluteBuffer->Des().Zero();
-    iVisualBuffer->Des().Zero();
-    iEditableEntryPane->ResetAll();
-    iArray.ResetAndDestroy();
-    iJudgeSeed.Zero();
-    iLastValid = ETrue;
-    iChineseCount = 0;
-    }
-
-// ---------------------------------------------------------
-// Layout contained controls.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::LayoutContainedControls()
-    {
-    TRect outerRect;
-    TRect innerRect;
-    CalculateFrameRects( outerRect, innerRect );
-    TRect rect = Rect();
-    iEditableEntryPane->SetRect( rect );
-    }
-
-// ---------------------------------------------------------
-// layout the background frames.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::LayoutFrames()
-    {
-    TRect outerRect;
-    TRect innerRect;
-//    CalculateFrameRects( outerRect, innerRect );
-//    iBgContext->SetFrameRects( outerRect, innerRect );
-//    iBgContext->SetParentPos( PositionRelativeToScreen() );
-    }
-
-// ---------------------------------------------------------
-// layout its rectangles
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::LayoutRects()
-    {
-    TRect windowRect = 
-        CAknFepChineseUIDataConv::AnyToRect( iLafDataMgr->RequestData( EEEPWindowRect ));
-    TInt height = windowRect.Height();
-    TInt width = windowRect.Width();
-    windowRect.iTl.iY = 0;
-    windowRect.iTl.iX = 0;
-    windowRect.SetHeight( height );
-    windowRect.SetWidth( width );
-    iSize.SetSize( width, Rect().Height() );
-    }
-
-// ---------------------------------------------------------
-// C++ constructor
-// ---------------------------------------------------------
-//
-CAknFepUICtrlPinyinEEP::CAknFepUICtrlPinyinEEP( CAknFepUiLayoutDataMgr* aLafDataMgr )
-    {
-    iIndex = 0;
-    iEnabled = EFalse;
-    iAbsoluteCursorPos = 0;
-    iAbsoluteUnderlineBeg = -1;
-    iAbsoluteUnderlineEnd = -1;
-    iAbsoluteHighlightBeg = -1;
-    iAbsoluteHighlightEnd = -1;
-    iOffset = 0;
-    iJudgeSeed.Zero();
-    iLastValid = ETrue;
-    iChineseCount = 0;
-    iChangeFlag = 0;
-    iAutoChangeFlag = 1;
-    iAllValidFlag = 1;
-    iInvalidKeystrokeIndex = 0;
-    iCandidateRefreshFlag = 0;
-    iDelimiterCount = 0;
-    iLafDataMgr = aLafDataMgr;
-    }
-
-// ---------------------------------------------------------
-// Two-phrase constructor.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::ConstructL( RWindow& aParent, CAknFepUiLayoutDataMgr* aLafDataMgr )
-    {
-    SetContainerWindowL( aParent );
-    iEditableEntryPane = CAknFepUICtrlEEPControl::NewL( Window(), aLafDataMgr );
-    iAbsoluteBuffer = HBufC::New( KMaxCharNum );
-    iVisualBuffer = HBufC::New( KMaxDispNum );
-    TRect outerRect = TRect();
-    TRect innerRect = TRect();
-    CalculateFrameRects( outerRect, innerRect );
-//    iBgContext = CAknsFrameBackgroundControlContext::NewL(
-//        KAknsIIDQsnFrPopupSub, outerRect, innerRect, ETrue );
-    iKeystrokeArray = new(ELeave)CDesCArrayFlat(1);
-    iShowKeystrokeArray = new(ELeave)CDesCArrayFlat(1);
-    iPhraseArray = new(ELeave)CDesCArrayFlat(1);
-    iPhraseShowKeyStrokeArray = new(ELeave)CDesCArrayFlat(1);
-    iTempArray = new(ELeave)CDesCArrayFlat(1);
-    iMiniQwertyZhuyin = EFalse;
-    iNeedClearDeliberateSelection = EFalse;
-    }
-
-// ---------------------------------------------------------
-// Calculate visual text for appending.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::CalculateVisualTextForAppend( const TDesC& aDes )
-    {
-    TRect panerect = iEditableEntryPane->Rect();
-    TAknTextLineLayout textPaneTextLayout = 
-            CAknFepChineseUIDataConv::AnyToTextLine( iLafDataMgr->RequestData( EEEPTextLine ));
-    const CFont* font = AknLayoutUtils::FontFromId( textPaneTextLayout.iFont, 
-    NULL );
-
-    TInt lenToEnd = font->TextWidthInPixels( iAbsoluteBuffer->Right( iVisualBuffer->Length()
-        + aDes.Length() ) );
-    if ( lenToEnd <= panerect.Width() - panerect.Width()*KLROffset
-        /KDenominator * 2 )
-        {
-        *iVisualBuffer = iAbsoluteBuffer->Right( iVisualBuffer->Length()
-            + aDes.Length() );
-        }
-    else
-        {
-        this->CalculateVisualTextForMoveRight();
-        }
-    }
-
-// ---------------------------------------------------------
-// Calculate visual text for deleting.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::CalculateVisualTextForDelete( TInt /*aBeg*/,
-    TInt /*aLen*/)
-    {
-    TRect panerect = iEditableEntryPane->Rect();
-    TAknTextLineLayout textPaneTextLayout = 
-            CAknFepChineseUIDataConv::AnyToTextLine( iLafDataMgr->RequestData( EEEPTextLine ));
-    const CFont* font = AknLayoutUtils::FontFromId( textPaneTextLayout.iFont, 
-    NULL );
-    iOffset = iOffset > iAbsoluteBuffer->Length()?iAbsoluteBuffer->Length():iOffset;
-    TInt lenToEnd = font->TextWidthInPixels( iAbsoluteBuffer->Right( iAbsoluteBuffer->Length()
-        - iOffset ) );
-    
-    TInt offsetLen = iAbsoluteCursorPos - iOffset;
-    if ( offsetLen < 0 )
-        {
-        offsetLen = 0;
-        }
-    TInt LenOffsetToCursor = font->TextWidthInPixels( iAbsoluteBuffer->Mid( 
-            iOffset, offsetLen ) );
-
-    if ( lenToEnd > 0 && iAbsoluteCursorPos >= iOffset && LenOffsetToCursor > panerect.Width()*KLROffset/KDenominator )
-        {
-        TInt stride = 0;
-        for (stride = 1;; stride ++ )
-            {
-            if ( iOffset + stride > iAbsoluteBuffer->Length() )
-                {
-                break;
-                }
-            TInt tmpFontLen = font->TextWidthInPixels( iAbsoluteBuffer->Mid(
-                iOffset, stride ) );
-            if ( tmpFontLen > panerect.Width() - panerect.Width()
-                *KLROffset/KDenominator * 2 )
-                {
-                break;
-                }
-            }
-        *iVisualBuffer = iAbsoluteBuffer->Mid( iOffset, stride - 1 );
-        }
-    else
-        {
-        this->CalculateVisualTextForMoveLeft();
-        }
-    }
-
-// ---------------------------------------------------------
-// Calculate visual text for inserting.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::CalculateVisualTextForInsert( TInt /*aIndex*/,
-    const TDesC& /*aDes*/)
-    {
-    TRect panerect = iEditableEntryPane->Rect();
-    TAknTextLineLayout textPaneTextLayout = 
-            CAknFepChineseUIDataConv::AnyToTextLine( iLafDataMgr->RequestData( EEEPTextLine ));
-    const CFont* font = AknLayoutUtils::FontFromId( textPaneTextLayout.iFont, 
-    NULL );
-    
-    TInt offsetLen = iAbsoluteCursorPos - iOffset;
-    if ( offsetLen < 0 )
-        {
-        offsetLen = 0;
-        }
-
-    TInt lenToCursor = font->TextWidthInPixels( iAbsoluteBuffer->Mid(
-        iOffset, offsetLen ) );
-    if ( lenToCursor < panerect.Width()* KCursorResetStartOffset / KDenominator
-        || iAbsoluteCursorPos == iAbsoluteBuffer->Length()
-        && lenToCursor <= panerect.Width() - panerect.Width()*KLROffset/KDenominator * 2)
-        {
-        TInt stride = 0;
-        for (stride = 1;; stride ++ )
-            {
-            if ( iOffset + stride > iAbsoluteBuffer->Length() )
-                {
-                break;
-                }
-            TInt tmpFontLen = font->TextWidthInPixels( iAbsoluteBuffer->Mid(
-                iOffset, stride ) );
-            if ( tmpFontLen > panerect.Width() - panerect.Width()
-                *KLROffset/KDenominator * 2 )
-                {
-                break;
-                }
-            }
-        *iVisualBuffer = iAbsoluteBuffer->Mid( iOffset, stride - 1 );
-        }
-    else
-        {
-        this->CalculateVisualTextForMoveRight();
-        }
-    }
-
-// ---------------------------------------------------------
-// Calculate visual text for replacing.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::CalculateVisualTextForReplace( TInt /*aBeg*/,
-    TInt /*aLen*/, const TDesC& /*aDes*/)
-    {
-    }
-
-// ---------------------------------------------------------
-// Calculate visual text for moving to left.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::CalculateVisualTextForMoveLeft()
-    {
-    TRect panerect = iEditableEntryPane->Rect();
-    TAknTextLineLayout textPaneTextLayout = 
-            CAknFepChineseUIDataConv::AnyToTextLine( iLafDataMgr->RequestData( EEEPTextLine ));
-    const CFont* font = AknLayoutUtils::FontFromId( textPaneTextLayout.iFont, 
-    NULL );
-    TInt absolutelength = font->TextWidthInPixels( *iAbsoluteBuffer );
-    TInt
-        cursorToBegLength =
-            font->TextWidthInPixels( iAbsoluteBuffer->Left( iAbsoluteCursorPos ) );
-    if ( iAbsoluteCursorPos > iAbsoluteBuffer->Length() + 1 )
-        {
-        iAbsoluteCursorPos = iAbsoluteBuffer->Length() + 1;
-        }
-    TInt lenPixelToVisualBeg = panerect.Width() * KCursorResetOffset
-        / KDenominator;
-    TInt stride = 0;
-    TInt visualBeg = 0;
-    TInt visualEnd = 0;
-    for (stride = 1;; stride ++ )
-        {
-        if ( 0 > iAbsoluteCursorPos - stride )
-            {
-            visualBeg = 0;
-            break;
-            }
-        TInt tmpFontLen = font->TextWidthInPixels( iAbsoluteBuffer->Mid(
-            iAbsoluteCursorPos - stride, stride ) );
-        if ( tmpFontLen > lenPixelToVisualBeg )
-            {
-            visualBeg = iAbsoluteCursorPos - stride + 1;
-            break;
-            }
-        }
-        
-    //Fix for bug ESXU-7U68JT, let adjustment of visualBeg before caculation of visualEnd. 
-    //For one, calculation always start before "(" for miniqwertyzhuyin
-    //For two, because characters(markers) might have different length in pixel, it's better recalculate visualEnd
-    // after changing visualBeg, therefore move changing visualBeg ahead of caculation take effect too.
-    if ( iMiniQwertyZhuyin && 
-        iAbsoluteBuffer->Length() > 0 && 
-        visualBeg >= iPhraseArray->Count() )
-        {
-        while ( visualBeg > 0 &&
-            iAbsoluteBuffer->Mid( visualBeg, 1 ).Compare( KLeftBracket ) != 0 &&
-            iAbsoluteBuffer->Mid( visualBeg, 1 ).Compare( KToneMark1 ) != 0 &&
-            iAbsoluteBuffer->Mid( visualBeg, 1 ).Compare( KToneMark2 ) != 0 &&
-            iAbsoluteBuffer->Mid( visualBeg, 1 ).Compare( KToneMark3 ) != 0 &&
-            iAbsoluteBuffer->Mid( visualBeg, 1 ).Compare( KToneMark4 ) != 0 &&
-            iAbsoluteBuffer->Mid( visualBeg, 1 ).Compare( KToneMark5 ) != 0 )
-            {
-            visualBeg--;
-            }
-        }
-
-    for (stride = 1;; stride ++ )
-        {
-        if ( visualBeg + stride > iAbsoluteBuffer->Length() )
-            {
-            visualEnd = visualBeg + stride - 1;
-            break;
-            }
-        TPtrC tempString = iAbsoluteBuffer->Mid(visualBeg, stride );
-        TInt tmpFontLen = font->TextWidthInPixels( tempString );
-        if ( tmpFontLen > panerect.Width() - panerect.Width() *KLROffset
-            /KDenominator * 2 )
-            {
-            visualEnd = visualBeg + stride - 1;
-            //visualEnd = visualBeg + stride;
-            break;
-            }
-        }
-    *iVisualBuffer = iAbsoluteBuffer->Mid( visualBeg, visualEnd - visualBeg );
-    this->iOffset = visualBeg;
-    }
-
-// ---------------------------------------------------------
-// Calculate visual text for moving to the right.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::CalculateVisualTextForMoveRight()
-    {
-    TRect panerect = iEditableEntryPane->Rect();
-    TAknTextLineLayout textPaneTextLayout = 
-            CAknFepChineseUIDataConv::AnyToTextLine( iLafDataMgr->RequestData( EEEPTextLine ));
-    const CFont* font = AknLayoutUtils::FontFromId( textPaneTextLayout.iFont, 
-    NULL );
-    TInt absolutelength = font->TextWidthInPixels( *iAbsoluteBuffer );
-    TInt cursorToEndLength =
-        font->TextWidthInPixels( iAbsoluteBuffer->Mid( iAbsoluteCursorPos,
-            iAbsoluteBuffer->Length() - iAbsoluteCursorPos ) );
-    if ( iAbsoluteCursorPos > iAbsoluteBuffer->Length() + 1 )
-        {
-        iAbsoluteCursorPos = iAbsoluteBuffer->Length() + 1;
-        }
-    if ( absolutelength <= panerect.Width() - panerect.Width()*KLROffset
-        /KDenominator * 2 )
-        {
-        *iVisualBuffer = *iAbsoluteBuffer;
-        }
-    else if ( cursorToEndLength < panerect.Width() * KCursorResetOffset
-        / KDenominator )
-        {
-        TInt tmp70VisualEnd = iAbsoluteCursorPos;
-        TInt visualBeg = 0;
-        TInt visualEnd = 0;
-        TInt stride = 0;
-        visualEnd = iAbsoluteBuffer->Length();
-        for (stride = 1;; stride ++ )
-            {
-            TInt tmpFontLen = font->TextWidthInPixels( iAbsoluteBuffer->Mid(
-                tmp70VisualEnd - stride, stride ) );
-            if ( tmpFontLen > panerect.Width() * (KDenominator - 
-                KLROffset * 2 - KCursorResetOffset ) / KDenominator )
-                {
-                visualBeg = tmp70VisualEnd - stride + 1;
-                break;
-                }
-            }
-        if ( iMiniQwertyZhuyin &&
-            iAbsoluteBuffer->Length( ) > 0 &&
-            visualBeg >= iPhraseArray->Count() )
-            {
-            while ( iAbsoluteBuffer->Mid( visualBeg, 1 ).Compare( KLeftBracket ) != 0 &&
-                iAbsoluteBuffer->Mid( visualBeg, 1 ).Compare( KToneMark1 ) != 0 &&
-                iAbsoluteBuffer->Mid( visualBeg, 1 ).Compare( KToneMark2 ) != 0 &&
-                iAbsoluteBuffer->Mid( visualBeg, 1 ).Compare( KToneMark3 ) != 0 &&
-                iAbsoluteBuffer->Mid( visualBeg, 1 ).Compare( KToneMark4 ) != 0 &&
-                iAbsoluteBuffer->Mid( visualBeg, 1 ).Compare( KToneMark5 ) != 0 )
-                {
-                visualBeg++;
-                //                visualEnd++;
-                }
-            }
-        *iVisualBuffer = iAbsoluteBuffer->Right( visualEnd - visualBeg );
-        this->iOffset = visualBeg;
-        }
-    else
-        {
-        TInt absoluteOffset = font->TextWidthInPixels( 
-            iAbsoluteBuffer->Left( iAbsoluteCursorPos ) );
-        if ( absoluteOffset < panerect.Width() * 
-            KCursorResetStartOffset / KDenominator)
-            {
-            TInt stride = 0;
-            for (stride = 1;; stride ++ )
-                {
-                TInt tmpFontLen = font->TextWidthInPixels( 
-                    iAbsoluteBuffer->Left( stride ) );
-                if ( tmpFontLen > panerect.Width() - panerect.Width()
-                    *KLROffset /KDenominator * 2 )
-                    {
-                    *iVisualBuffer = iAbsoluteBuffer->Left( stride - 1 );
-                    this->iOffset = 0;
-                    break;
-                    }
-                }
-            }
-        else
-            {
-            TInt lenPixelToVisualEnd = panerect.Width() * KCursorResetOffset
-                / KDenominator;
-            TInt stride = 0;
-            TInt visualBeg = 0;
-            TInt visualEnd = 0;
-            for (stride = 1;; stride ++ )
-                {
-                if ( iAbsoluteBuffer->Length() < iAbsoluteCursorPos + stride )
-                    {
-                    visualEnd = iAbsoluteBuffer->Length();
-                    break;
-                    }
-                TInt tmpFontLen = font->TextWidthInPixels( 
-                    iAbsoluteBuffer->Mid( iAbsoluteCursorPos, stride ) );
-                if ( tmpFontLen > lenPixelToVisualEnd )
-                    {
-                    visualEnd = iAbsoluteCursorPos + stride - 1;
-                    break;
-                    }
-                }
-            for (stride = 1;; stride ++ )
-                {
-                TInt tmpFontLen = font->TextWidthInPixels( 
-                    iAbsoluteBuffer->Mid( visualEnd - stride, stride ) );
-                if ( tmpFontLen > panerect.Width() - panerect.Width()
-                    *KLROffset /KDenominator * 2 )
-                    {
-                    visualBeg = visualEnd - stride + 1;
-                    break;
-                    }
-                }
-            if ( iMiniQwertyZhuyin && 
-                iAbsoluteBuffer->Length( ) > 0 &&
-                visualBeg >= iPhraseArray->Count() )
-                {
-                while ( iAbsoluteBuffer->Mid( visualBeg, 1 ).Compare( KLeftBracket ) != 0 &&
-                    iAbsoluteBuffer->Mid( visualBeg, 1 ).Compare( KToneMark1 ) != 0 &&
-                    iAbsoluteBuffer->Mid( visualBeg, 1 ).Compare( KToneMark2 ) != 0 &&
-                    iAbsoluteBuffer->Mid( visualBeg, 1 ).Compare( KToneMark3 ) != 0 &&
-                    iAbsoluteBuffer->Mid( visualBeg, 1 ).Compare( KToneMark4 ) != 0 &&
-                    iAbsoluteBuffer->Mid( visualBeg, 1 ).Compare( KToneMark5 ) != 0 )
-                    {
-                    visualBeg++;
-                    //                    visualEnd++;
-                    }
-                }
-            *iVisualBuffer = iAbsoluteBuffer->Mid( visualBeg, visualEnd
-                - visualBeg );
-            this->iOffset = visualBeg;
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// Calculate the underline indexes and highlight indexes according to the
-// absolute value.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::CalculateVisualIndex()
-    {
-    for (TInt i = 0; i < iArray.Count(); i++ )
-        {
-        TInt left = iArray[i]->iBegin - iOffset;
-        TInt right = iArray[i]->iEnd - iOffset;
-        if (
-            left < 0 &&
-            right < 0
-            ||
-            left> iVisualBuffer->Length() - 1 &&
-            right> iVisualBuffer->Length() - 1
-           )
-            {
-            left = -1;
-            right = -1;
-            }
-        else
-            {
-            if ( left < 0 )
-                {
-                left = 0;
-                }
-            if ( right> iVisualBuffer->Length() - 1 )
-                {
-                right = iVisualBuffer->Length() - 1;
-                }
-            }
-        if ( iArray[i]->iStyle == CAknFepUICtrlEEPControl::EHighlight )
-            {
-            iEditableEntryPane->SetHighlight( left, right );
-            }
-        else if ( iArray[i]->iStyle == CAknFepUICtrlEEPControl::EUnderline )
-            {
-            iEditableEntryPane->SetUnderline( left, right );
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// layout the background frames.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::CalculateFrameRects( TRect& aOuterRect,
-    TRect& aInnerRect ) const
-    {
-    TRect windowRect = CAknFepChineseUIDataConv::AnyToRect( iLafDataMgr->RequestData( EPopupRectEEP ));
-    TAknLayoutRect eepFirstHorizLineLayoutRect = CAknFepChineseUIDataConv::AnyToLayoutRect( iLafDataMgr->RequestData( EEEPFirstHorizLine ));
-    TRect eepFirstHorizLineRect = eepFirstHorizLineLayoutRect.Rect();
-    TInt rectHeight = eepFirstHorizLineRect.iBr.iY - windowRect.iTl.iY + 2;
-    TInt rectWidth = windowRect.Width( );
-    windowRect.iTl.iX = 0;
-    windowRect.iTl.iY = 0;
-    windowRect.SetHeight( rectHeight );
-    windowRect.SetWidth( rectWidth );
-
-    TAknLayoutRect topLeft;
-    topLeft.LayoutRect( windowRect,
-        SkinLayout::Submenu_skin_placing_Line_2() );
-
-    TAknLayoutRect bottomRight;
-    bottomRight.LayoutRect( windowRect,
-        SkinLayout::Submenu_skin_placing_Line_5() );
-
-    aOuterRect = TRect( topLeft.Rect().iTl, bottomRight.Rect().iBr );
-    aInnerRect = TRect( topLeft.Rect().iBr, bottomRight.Rect().iTl );
-    }
-
-// ---------------------------------------------------------
-// Return kestroke array.
-// ---------------------------------------------------------
-//
-CDesCArrayFlat* CAknFepUICtrlPinyinEEP::KeystrokeArray()
-    {
-    return iKeystrokeArray;
-    }
-
-// ---------------------------------------------------------
-// Return kescode array.
-// ---------------------------------------------------------
-//
-RArray<TInt>* CAknFepUICtrlPinyinEEP::KeycodeArray()
-    {
-    return &iKeycodeArray;
-    }
-
-// ---------------------------------------------------------
-// Return kescode array.
-// ---------------------------------------------------------
-//
-RArray<TInt>* CAknFepUICtrlPinyinEEP::PhraseKeycodeArray()
-    {
-    return &iPhraseKeycodeArray;
-    }
-
-// ---------------------------------------------------------
-// Return show kestroke array.
-// ---------------------------------------------------------
-//
-CDesCArrayFlat* CAknFepUICtrlPinyinEEP::ShowKeystrokeArray()
-    {
-    return iShowKeystrokeArray;
-    }
-
-// ---------------------------------------------------------
-// Return choose chinese charater array.
-// ---------------------------------------------------------
-//
-CDesCArrayFlat* CAknFepUICtrlPinyinEEP::PhraseArray()
-    {
-    return iPhraseArray;
-    }
-
-// ---------------------------------------------------------
-// Return choose chinese charater show keystroke array.
-// ---------------------------------------------------------
-//
-CDesCArrayFlat* CAknFepUICtrlPinyinEEP::PhraseShowKeyStrokeArray()
-    {
-    return iPhraseShowKeyStrokeArray;
-    }
-// ---------------------------------------------------------
-// Return temp array.
-// ---------------------------------------------------------
-//
-CDesCArrayFlat* CAknFepUICtrlPinyinEEP::TempArray()
-    {
-    return iTempArray;
-    }
-
-// ---------------------------------------------------------
-// Reset private member viariable array.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::ResetAllArray()
-    {
-    iKeystrokeArray->Reset();
-    iKeystrokeArray->Compress();
-    iKeycodeArray.Reset();
-    iShowKeystrokeArray->Reset();
-    iShowKeystrokeArray->Compress();
-    iPhraseArray->Reset();
-    iPhraseArray->Compress();
-    iPhraseKeycodeArray.Reset();
-    iPhraseShowKeyStrokeArray->Reset();
-    iPhraseShowKeyStrokeArray->Compress();
-    iTempArray->Reset();
-    iTempArray->Compress();
-    iAllValidFlag = 1;
-    iInvalidKeystrokeIndex = 0;
-    iCandidateRefreshFlag = 0;
-    iDelimiterCount = 0;
-    }
-
-// ---------------------------------------------------------
-// change state flag.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::SetChangeState( TBool aState )
-    {
-    iChangeFlag = aState;
-    }
-
-// ---------------------------------------------------------
-// check change state flag.
-// ---------------------------------------------------------
-//
-TBool CAknFepUICtrlPinyinEEP::IsChangeState()
-    {
-    return iChangeFlag;
-    }
-
-// ---------------------------------------------------------
-// Set auto change state flag.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::SetAutoChangeStateFlag( TBool aState )
-    {
-    iAutoChangeFlag = aState;
-    }
-
-// ---------------------------------------------------------
-// Set auto change state flag.
-// ---------------------------------------------------------
-//
-TBool CAknFepUICtrlPinyinEEP::GetAutoChangeStateFlag()
-
-    {
-    return iAutoChangeFlag;
-    }
-
-// ---------------------------------------------------------
-// Set all the keystroke valid flag.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::SetAllValidFlag( TBool aState )
-    {
-    iAllValidFlag = aState;
-    }
-
-// ---------------------------------------------------------
-// Set all the keystroke valid flag.
-// ---------------------------------------------------------
-//
-TBool CAknFepUICtrlPinyinEEP::GetAllValidFlag()
-    {
-    return iAllValidFlag;
-    }
-
-// ---------------------------------------------------------
-// Set is Phrase creation.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::SetPhraseCreationFlag( TBool aState )
-    {
-    iPhraseCreation = aState;
-    }
-
-// ---------------------------------------------------------
-// Is Phrase creation.
-// ---------------------------------------------------------
-//
-TBool CAknFepUICtrlPinyinEEP::GetPhraseCreationFlag()
-    {
-    return iPhraseCreation;
-    }
-
-// ---------------------------------------------------------
-// Set the keystroke invalid index.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::SetInvalidIndex( TInt aInvalidIndex )
-    {
-    iInvalidKeystrokeIndex = aInvalidIndex;
-    }
-
-// ---------------------------------------------------------
-// Get all the invalid keystroke index.
-// ---------------------------------------------------------
-//
-TInt CAknFepUICtrlPinyinEEP::GetInvalidIndex()
-    {
-    return iInvalidKeystrokeIndex;
-    }
-
-// ---------------------------------------------------------
-// Set Phrase Candidate state need refresh UI flag.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::SetCandidateRefreshFlag( TBool aState )
-    {
-    iCandidateRefreshFlag = aState;
-    }
-
-// ---------------------------------------------------------
-// Get Phrase Candidate state need refresh UI flag.
-// ---------------------------------------------------------
-//
-TInt CAknFepUICtrlPinyinEEP::GetCandidateRefreshFlag()
-    {
-    return iCandidateRefreshFlag;
-    }
-
-// ---------------------------------------------------------
-// Set the delimiter count of keystroke.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::SetDelimiterCount( TInt aCount )
-    {
-    iDelimiterCount = aCount;
-    }
-
-// ---------------------------------------------------------
-// Get the delimiter count of keystroke.
-// ---------------------------------------------------------
-//
-TInt CAknFepUICtrlPinyinEEP::GetDelimiterCount()
-    {
-    return iDelimiterCount;
-    }
-
-// ---------------------------------------------------------
-// Get current cba resource id. 
-// ---------------------------------------------------------
-//
-TInt CAknFepUICtrlPinyinEEP::GetCurrentCBAResID()
-    {
-    return iCurrentCBAResId;
-    }
-
-// ---------------------------------------------------------
-// Set current cba resource id. 
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlPinyinEEP::SetCurrentCBAResID( TInt aResourceId )
-    {
-    iCurrentCBAResId = aResourceId;
-    }
-
-void CAknFepUICtrlPinyinEEP::SetEffictiveLength( TInt aLength )
-    {
-    iEffictiveLength = aLength;
-    }
-
-TInt CAknFepUICtrlPinyinEEP::GetEffictiveLength()
-    {
-    return iEffictiveLength;
-    }
-
-void CAknFepUICtrlPinyinEEP::AddEffictiveLength()
-    {
-    iEffictiveLength++;
-    }
-
-void CAknFepUICtrlPinyinEEP::DecEffictiveLength()
-    {
-    iEffictiveLength--;
-    }
-
-void CAknFepUICtrlPinyinEEP::SetNeedClearDeliberateSelection( TBool aNeedClearDeliberateSelection )
-    {
-    iNeedClearDeliberateSelection = aNeedClearDeliberateSelection;
-    }
-
-TBool CAknFepUICtrlPinyinEEP::NeedClearDeliberateSelection()
-    {
-    return iNeedClearDeliberateSelection;
-    }
-
-// End of file
-
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/aknfepuilayoutdatamgr.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,280 +0,0 @@
-/*
-* Copyright (c) 2008 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:  Implementation for phrase creation layout data managment
- *
-*/
-
-
-// INCLUDE FILES
-#include <gulfont.h> 
-#include <eiklabel.h>
-#include <AknLayout.lag>
-#include <AknsDrawUtils.h>
-#include <skinlayout.cdl.h>
-#include <aknlayoutscalable_avkon.cdl.h>
-
-#include "aknfepuilayoutdatamgr.h"
-
-// -----------------------------------------------------------------------------
-// CAknFepUiLayoutDataMgr::GetPinyinPhraseCreationContainerHeight()
-// Get the pinyin phrase creation container Height data 
-// -----------------------------------------------------------------------------
-//
-CAknFepUiLayoutDataMgr* CAknFepUiLayoutDataMgr::NewL()
-    {
-    CAknFepUiLayoutDataMgr* self = new(ELeave)CAknFepUiLayoutDataMgr();
-    CleanupStack::PushL( self );
-    self->ConstructL( );
-    CleanupStack::Pop( ); // self
-    return self;
-    }
-
-CAknFepUiLayoutDataMgr::CAknFepUiLayoutDataMgr()
-    {
-    }
-
-void CAknFepUiLayoutDataMgr::ConstructL()
-    {
-    ReadLafInfo();
-    }
-
-void CAknFepUiLayoutDataMgr::ReadLafInfo()
-    {
-    // Screen
-    TRect rect;
-    AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EScreen, rect);
-    iScreenSize = rect.Size();
-
-    iLandScape = iScreenSize.iWidth < iScreenSize.iHeight ? EFalse : ETrue;
-    
-    TAknWindowLineLayout layoutLineEntry, layoutLineCandidate, layoutLineEEP;
-    TAknLayoutRect layoutRectEntry, layoutRectCandidate, layoutRectEEP;
-    
-    layoutLineEntry = AKN_LAYOUT_WINDOW_popup_fep_china_uni_window(0,0);
-    layoutRectEntry.LayoutRect(iScreenSize,layoutLineEntry);
-    iPopupRectEntry = layoutLineEntry.Rect();
-    iPopupHeightEntry = layoutLineEntry.iH;
-    
-    //PinyinPopupWindowRect
-    iEntryPaneWindowLine = AKN_LAYOUT_WINDOW_fep_china_uni_entry_pane;
-    iLayoutEntryItem = AKN_LAYOUT_WINDOW_fep_entry_item_pane;
-    
-    iLayoutLineRectEntryPane.LayoutRect(iPopupRectEntry, iEntryPaneWindowLine);
-    
-    layoutLineCandidate = AKN_LAYOUT_WINDOW_popup_fep_china_uni_window(0,1);
-    layoutRectCandidate.LayoutRect(iScreenSize,layoutLineCandidate);
-    iPopupRectCandidate = layoutLineCandidate.Rect();
-    
-    layoutLineEEP = AKN_LAYOUT_WINDOW_popup_fep_china_uni_window(0,2);//need updated
-    layoutRectEEP.LayoutRect(iScreenSize,layoutLineEEP);
-    iPopupRectEEP = layoutLineEEP.Rect();
-    iPopupHeightEEP = layoutLineEEP.iH;
-    
-    
-    iCandidatePaneWindowLine = AKN_LAYOUT_WINDOW_fep_china_uni_candidate_pane( 0 );
-    
-    //Candidate
-    
-    iCandidatePaneTextLine = AKN_LAYOUT_TEXT_Chinese_universal_FEP_candidate_pane_texts_Line_1;
-    iOrdinalCandidateTextLayout = AKN_LAYOUT_TEXT_Chinese_universal_FEP_candidate_pane_texts_Line_3;
-    iCandidateWindowLine1 = AKN_LAYOUT_WINDOW_Chinese_universal_FEPcandidate_pane_elements_Line_1;
-    iCandidateWindowLine2 = AKN_LAYOUT_WINDOW_Chinese_universal_FEPcandidate_pane_elements_Line_2;
-    iCandidateWindowLine3 = AKN_LAYOUT_WINDOW_Chinese_universal_FEPcandidate_pane_elements_Line_3;
-    iCandidateWindowLine4 = AKN_LAYOUT_WINDOW_Chinese_universal_FEPcandidate_pane_elements_Line_4;
-    
-    iLayoutCandidateItem = AKN_LAYOUT_WINDOW_fep_candidate_item_pane;
-    
-    //EEP   
-    TAknWindowComponentLayout EEPWindowComponentLayout = AknLayoutScalable_Avkon::fep_china_uni_eep_pane();     
-    iEEPWindowLayout = EEPWindowComponentLayout.LayoutLine();
-    TAknLayoutRect EEPLayout;
-    EEPLayout.LayoutRect( iPopupRectEEP, iEEPWindowLayout );
-    iEEPWindowRect = EEPLayout.Rect();
-    //
-    iRectCoverMainPaneInputEntry.LayoutRect(iPopupRectEntry, AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_1(iPopupRectEntry));
-    iRectFirstShadowInputEntry.LayoutRect(iPopupRectEntry, AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_2(iPopupRectEntry));
-    iRectOutlineFrameInputEntry.LayoutRect(iPopupRectEntry, AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_3(iPopupRectEntry));
-    iRectInsideAreaInputEntry.LayoutRect(iPopupRectEntry, AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_4(iPopupRectEntry));
-    
-    iRectCoverMainPaneInputCandidate.LayoutRect(iPopupRectCandidate, 
-                                                AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_1(iPopupRectCandidate));
-    iRectFirstShadowInputCandidate.LayoutRect(iPopupRectCandidate, 
-                                              AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_2(iPopupRectCandidate));
-    iRectOutlineFrameInputCandidate.LayoutRect(iPopupRectCandidate,
-                                               AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_3(iPopupRectCandidate));
-    iRectInsideAreaInputCandidate.LayoutRect(iPopupRectCandidate, 
-                                             AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_4(iPopupRectCandidate));
-    
-    iRectCoverMainPaneInputEEP.LayoutRect(iPopupRectEEP, AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_1(iPopupRectEEP));
-    iRectFirstShadowInputEEP.LayoutRect(iPopupRectEEP, AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_2(iPopupRectEEP));
-    iRectOutlineFrameInputEEP.LayoutRect(iPopupRectEEP, AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_3(iPopupRectEEP));
-    iRectInsideAreaInputEEP.LayoutRect(iPopupRectEEP, AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_4(iPopupRectEEP));    
-       
-    //HorizLine
-
-    iEntryHorizLineWindow = AknLayoutScalable_Avkon::popup_fep_china_uni_window_g(0,0).LayoutLine();
-    iEEPSecondHorizLineWindow = AknLayoutScalable_Avkon::popup_fep_china_uni_window_g(0,1).LayoutLine();
-    iEEPFirstHorizLineWindow = AknLayoutScalable_Avkon::popup_fep_china_uni_window_g(1,0).LayoutLine();
-    iHorizLine.LayoutRect(iPopupRectEntry, iEntryHorizLineWindow);
-    iEEPFirstHorizLine.LayoutRect(iPopupRectEEP, iEEPFirstHorizLineWindow);
-    iEEPSecondHorizLine.LayoutRect(iPopupRectEEP, iEEPSecondHorizLineWindow);
-
-    iEntryPaneRect = iLayoutLineRectEntryPane.Rect( );
-    iEntryTextLayout
-        = AKN_LAYOUT_TEXT_Chinese_universal_FEP_entry_pane_texts_Line_1(0);
-    TAknLayoutRect labelRect;
-    labelRect.LayoutRect( iEntryPaneRect,
-        AKN_LAYOUT_WINDOW_fep_entry_item_pane );
-    iLayoutInputPaneText.LayoutText( labelRect.Rect( ), iEntryTextLayout );
-
-    TRect windowRect = layoutRectEntry.Rect();    
-    TInt height = windowRect.Height();
-    TInt width = windowRect.Width();
-    windowRect.iTl.iY = 0;
-    windowRect.iTl.iX = 0;
-    windowRect.SetHeight(height);
-    windowRect.SetWidth(width);
-    
-    TAknLayoutRect layoutLineRectEntryPane;
-    layoutLineRectEntryPane.LayoutRect(windowRect, iEntryPaneWindowLine);
-    TRect entryPane = layoutLineRectEntryPane.Rect();
-    // left and right arrow
-    TAknWindowLineLayout leftArrowLayoutLine, rithgArrowLayoutLine;	
-    leftArrowLayoutLine = AKN_LAYOUT_WINDOW_Chinese_universal_FEP_entry_pane_elements_Line_1;
-    iIndiFepArrowLeft.LayoutRect(entryPane,leftArrowLayoutLine);
-    rithgArrowLayoutLine = AKN_LAYOUT_WINDOW_Chinese_universal_FEP_entry_pane_elements_Line_2;
-    iIndiFepArrowRight.LayoutRect(entryPane,rithgArrowLayoutLine);   	
-    
-    iRectCoverMainPaneInput.LayoutRect(windowRect, AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_1(windowRect));
-    iRectFirstShadowInput.LayoutRect(windowRect, AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_2(windowRect));
-    iRectOutlineFrameInput.LayoutRect(windowRect, AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_3(windowRect));
-    iRectInsideAreaInput.LayoutRect(windowRect, AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_4(windowRect));
-    
-    //eep text
-    TAknTextComponentLayout textLayout = AknLayoutScalable_Avkon::fep_china_uni_eep_pane_t1();
-    iEEPTextLine = textLayout.LayoutLine();
-    TAknLayoutText eepTextLayout;
-    eepTextLayout.LayoutText( iEEPWindowRect, iEEPTextLine );
-    iEEPTextColor = eepTextLayout.Color();
-    const CFont* font = AknLayoutUtils::FontFromId(iEEPTextLine.FontId());
-    iEEPCursorHeight = font->HeightInPixels();    
-    }
-
-TAny* CAknFepUiLayoutDataMgr::RequestData(TInt aDataType)
-    {
-    switch ( aDataType )
-        {
-        case EPopupRectEntry:
-            return &iPopupRectEntry;
-        case EPopupRectCandatate:
-            return &iPopupRectCandidate;
-        case EPopupRectEEP:
-            return &iPopupRectEEP;
-        case EPopupHeightEntry:
-            return &iPopupHeightEntry;
-        case EPopupHeightEEP:
-            return &iPopupHeightEEP;
-        case EEntryPaneWindowLine:
-            return &iEntryPaneWindowLine;
-        case ECandidatePaneWindowLine:
-            return &iCandidatePaneWindowLine;
-        case ECandidatePaneTextLine:
-            return &iCandidatePaneTextLine;
-        case ECandidateWindowLine1:
-            return &iCandidateWindowLine1;
-        case ECandidateWindowLine2:
-            return &iCandidateWindowLine2;
-        case ECandidateWindowLine3:
-            return &iCandidateWindowLine3;
-        case ECandidateWindowLine4:
-            return &iCandidateWindowLine4;
-        case ELayoutCandidateItem:
-            return &iLayoutCandidateItem;
-        case ELayoutEntryItem:
-            return &iLayoutEntryItem;
-        case EOrdinalCandidateTextLayout:
-            return &iOrdinalCandidateTextLayout;
-        case EEEPWindowRect:
-            return &iEEPWindowRect;
-        case EEEPWindowLayout:
-            return &iEEPWindowLayout;
-        case ERectCoverMainPaneInputEntry:
-            return &iRectCoverMainPaneInputEntry;
-        case ERectFirstShadowInputEntry:
-            return &iRectFirstShadowInputEntry;
-        case ERectOutlineFrameInputEntry:
-            return &iRectOutlineFrameInputEntry;
-        case ERectInsideAreaInputEntry:
-            return &iRectInsideAreaInputEntry;
-        case ERectCoverMainPaneInputCandidate:
-            return &iRectCoverMainPaneInputCandidate;
-        case ERectFirstShadowInputCandidate:
-            return &iRectFirstShadowInputCandidate;
-        case ERectOutlineFrameInputCandidate:
-            return &iRectOutlineFrameInputCandidate;
-        case ERectInsideAreaInputCandidate:
-            return &iRectInsideAreaInputCandidate;
-        case ERectCoverMainPaneInputEEP:
-            return &iRectCoverMainPaneInputEEP;
-        case ERectFirstShadowInputEEP:
-            return &iRectFirstShadowInputEEP;
-        case ERectOutlineFrameInputEEP:
-            return &iRectOutlineFrameInputEEP;
-        case ERectInsideAreaInputEEP:
-            return &iRectInsideAreaInputEEP;
-        case ELayoutInputPaneText:
-            return &iLayoutInputPaneText;
-        case ELayoutLineRectEntryPane:
-            return &iLayoutLineRectEntryPane;
-        case EEntryTextLayout:
-            return &iEntryTextLayout;
-        case EEntryPaneRect:
-            return &iEntryPaneRect;
-        case EIndiFepArrowLeft:
-            return &iIndiFepArrowLeft;
-        case EIndiFepArrowRight:
-            return &iIndiFepArrowRight;
-        case ERectCoverMainPaneInput:
-            return &iRectCoverMainPaneInput;
-        case ERectFirstShadowInput:
-            return &iRectFirstShadowInput;
-        case ERectOutlineFrameInput:
-            return &iRectOutlineFrameInput;
-        case ERectInsideAreaInput:
-            return &iRectInsideAreaInput;
-        case EEEPTextLine:
-            return &iEEPTextLine;
-        case EEEPCursorHeight:
-            return &iEEPCursorHeight;
-        case EHorizLine:
-            return &iHorizLine;
-        case EEEPFirstHorizLine:
-            return &iEEPFirstHorizLine;
-        case EEEPSecondHorizLine:
-            return &iEEPSecondHorizLine;
-        case EEntryHorizLineWindow:
-            return &iEntryHorizLineWindow;
-        case EEEPSecondHorizLineWindow:
-            return &iEEPSecondHorizLineWindow;
-        case EEEPFirstHorizLineWindow:
-            return &iEEPFirstHorizLineWindow;
-        case EEEPTextColor:
-            return &iEEPTextColor;
-        default:
-            break;
-        }
-    return NULL;
-    }
-
-// End of File
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/insertionpoint.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,246 +0,0 @@
-/*
-* 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:             
-*
-*/
-
-
-#include "insertionpoint.h"
-#include "aknfepchineseuidataconv.h"
-
-//Cursor position offset
-const TInt KCursorPosCorrectionX = 0;
-//define the timer
-const TInt KTimer = 500000;
-
-// ---------------------------------------------------------
-// Cancel and destroy.
-// ---------------------------------------------------------
-CInsertionPoint::~CInsertionPoint()
-    {
-    Cancel(); // Cancel any request, if outstanding
-    iTimer.Close(); // Destroy the RTimer object
-    // Delete instance variables if any
-    }
-
-// ---------------------------------------------------------
-// NewL function.
-// ---------------------------------------------------------
-CInsertionPoint* CInsertionPoint::NewL( CAknFepUiLayoutDataMgr* aLafDataMgr )
-    {
-    CInsertionPoint* self = CInsertionPoint::NewLC( aLafDataMgr );
-    CleanupStack::Pop( self ); // self;
-    return self;
-    }
-
-// ---------------------------------------------------------
-// NewLC funciton.
-// ---------------------------------------------------------
-CInsertionPoint* CInsertionPoint::NewLC( CAknFepUiLayoutDataMgr* aLafDataMgr )
-    {
-    CInsertionPoint* self = new ( ELeave ) CInsertionPoint( aLafDataMgr );
-    CleanupStack::PushL( self ) ;
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------
-// Set iRefreshObserver member.
-// ---------------------------------------------------------
-void CInsertionPoint::SetRefreshObserver(MRefreshObserver* aObserver)
-    {
-    iRefreshObserver = aObserver;
-    }
-
-// ---------------------------------------------------------
-// Set the position of cursor.
-// ---------------------------------------------------------
-void CInsertionPoint::SetPosition(TInt aOffSet)
-    {
-    iOffSet = aOffSet;
-    isVisible = ETrue;
-    iRefreshObserver->Refresh();
-    TPoint point(iTextRect.iTl.iX -1 + iOffSet + KCursorPosCorrectionX,
-            iCursorRect.iTl.iY);
-    iCursorRect = TRect(point, TSize(iWidth, iHeight) ) ;
-    }
-
-// ---------------------------------------------------------
-// Set the rect where visual text will be displayed.
-// ---------------------------------------------------------
-void CInsertionPoint::SetTextRect(TRect aRect)
-    {
-    iTextRect = aRect;
-    TPoint point(iTextRect.iTl.iX + iOffSet + KCursorPosCorrectionX,
-            iCursorRect.iTl.iY);
-    iCursorRect = TRect(point, TSize(iWidth, iHeight) ) ;
-    if ( 0 == iHeight )
-        {
-        iHeight = 
-            CAknFepChineseUIDataConv::AnyToInt( iLafDataMgr->RequestData(EEEPCursorHeight));
-        iWidth = 1;
-        }
-    }
-
-// ---------------------------------------------------------
-// Set the height of cursor.
-// ---------------------------------------------------------
-void CInsertionPoint::SetHeight()
-    {
-    TPoint point(iTextRect.iTl.iX + iOffSet + KCursorPosCorrectionX,
-            iTextRect.iTl.iY - 1 + iTextRect.Height() / 2 - iHeight / 2);
-    iCursorRect = TRect(point, TSize(iWidth, iHeight) ) ;
-    }
-
-// ---------------------------------------------------------
-// Draw the cursor on the screen.
-// ---------------------------------------------------------
-void CInsertionPoint::Draw(CWindowGc& aGc)
-    {
-    if (isActive)
-        {
-        if ( !this->isVisible)
-            {
-            return;
-            }
-        else
-            {
-            aGc.SetBrushStyle(CGraphicsContext::ESolidBrush) ;
-            aGc.SetBrushColor(iActiveBrushColor) ;
-            aGc.SetPenColor(iActivePenColor) ;
-            aGc.SetPenStyle(CGraphicsContext::ESolidPen) ;
-            aGc.SetPenSize(TSize( 1, 1) ) ;
-            aGc.DrawRect(iCursorRect) ;
-            aGc.SetBrushStyle(CGraphicsContext::ENullBrush) ;
-            }
-        }
-    else
-        {
-        aGc.SetBrushStyle(CGraphicsContext::ESolidBrush) ;
-        aGc.SetBrushColor(iInactiveBrushColor) ;
-        aGc.SetPenColor(iInactivePenColor) ;
-        aGc.SetPenStyle(CGraphicsContext::ESolidPen) ;
-        aGc.SetPenSize(TSize( 1, 1) ) ;
-        aGc.DrawRect(iCursorRect) ;
-        aGc.SetBrushStyle(CGraphicsContext::ENullBrush) ;
-        }
-    }
-
-// ---------------------------------------------------------
-// Active the cursor into active state.
-// ---------------------------------------------------------
-void CInsertionPoint::Active()
-    {
-    Cancel();
-    iTimer.Cancel();
-    iTimer.After(iStatus, KTimer); // Set for 1 sec later
-    SetActive(); // Tell scheduler a request is active
-    isActive = ETrue;
-    this->iRefreshObserver->Refresh();
-    }
-
-// ---------------------------------------------------------
-// Deactive the cursor into deactive state.
-// ---------------------------------------------------------
-void CInsertionPoint::Deactive()
-    {
-    Cancel();
-    isActive = EFalse;
-    this->iRefreshObserver->Refresh();
-    }
-
-// ---------------------------------------------------------
-// Insertion Point.
-// ---------------------------------------------------------
-CInsertionPoint::CInsertionPoint( CAknFepUiLayoutDataMgr* aLafDataMgr ) :
-    CActive(EPriorityStandard)
-    {
-    iState = EUninitialized;
-    isVisible = ETrue;
-    iHeight = 0;
-    iWidth = 0;
-    iOffSet = 0;
-    isActive = EFalse;
-    iRefreshObserver = NULL;
-    iLafDataMgr = aLafDataMgr;
-    }
-
-// ---------------------------------------------------------
-// Two-phrase constructor.
-// ---------------------------------------------------------
-void CInsertionPoint::ConstructL()
-    {
-    User::LeaveIfError(iTimer.CreateLocal() ) ; // Initialize timer
-    CActiveScheduler::Add( this); // Add to scheduler
-    iActiveBrushColor = KRgbBlack;
-    iActivePenColor = KRgbBlack;
-    iInactiveBrushColor = KRgbGray;
-    iInactivePenColor = KRgbGray;
-    }
-
-// ---------------------------------------------------------
-// The callback function used by CActiveScheduler.
-// ---------------------------------------------------------
-void CInsertionPoint::RunL()
-    {
-    if (iState == EUninitialized)
-        {
-        // Do something the first time RunL() is called
-        iState = EInitialized;
-        }
-    else
-        if (iState != EError)
-            {
-            // Do something
-            isVisible = isVisible ? EFalse : ETrue;
-            if (iRefreshObserver)
-                {
-                this->iRefreshObserver->Refresh();
-                }
-            }
-    
-    iTimer.Cancel();
-    iTimer.After( iStatus, KTimer ) ; // Set for 1 sec later
-    SetActive(); // Tell scheduler a request is active
-    }
-
-// ---------------------------------------------------------
-// How to cancel me.
-// ---------------------------------------------------------
-void CInsertionPoint::DoCancel()
-    {
-    iTimer.Cancel();
-    }
-
-// ---------------------------------------------------------
-// C++ constructor
-// ---------------------------------------------------------
-TInt CInsertionPoint::RunError(TInt aError)
-    {
-    return aError;
-    }
-
-// ---------------------------------------------------------
-// Start the cursor with glint if actived or with gray color if deactived.
-// ---------------------------------------------------------
-void CInsertionPoint::StartL( TTimeIntervalMicroSeconds32 aDelay )
-    {
-    Cancel(); // Cancel any request, just to be sure
-    iState = EUninitialized;
-    iTimer.Cancel();
-    iTimer.After(iStatus, aDelay) ; // Set for later
-    SetActive(); // Tell scheduler a request is active
-    }
-
-// End of file
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/bwins/aknfepuiinterfaceu.def	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-EXPORTS
-	??1CAknFepUIInterface@@UAE@XZ @ 1 NONAME ; CAknFepUIInterface::~CAknFepUIInterface(void)
-	?DynInitMenuBarL@MAknFepUiInterfaceMenuObserver@@UAEXHPAVCAknFepUiInterfaceMenuBar@@@Z @ 2 NONAME ; void MAknFepUiInterfaceMenuObserver::DynInitMenuBarL(int, class CAknFepUiInterfaceMenuBar *)
-	?DynInitMenuPaneL@MAknFepUiInterfaceMenuObserver@@UAEXHPAVCAknFepUiInterfaceMenuPane@@@Z @ 3 NONAME ; void MAknFepUiInterfaceMenuObserver::DynInitMenuPaneL(int, class CAknFepUiInterfaceMenuPane *)
-	?NewL@CAknFepUIInterface@@SAPAV1@XZ @ 4 NONAME ; class CAknFepUIInterface * CAknFepUIInterface::NewL(void)
-	??1CAknFepIndicator@@UAE@XZ @ 5 NONAME ; CAknFepIndicator::~CAknFepIndicator(void)
-	?SetCopyMode@CAknFepIndicator@@QAEXH@Z @ 6 NONAME ; void CAknFepIndicator::SetCopyMode(int)
-
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/eabi/aknfepuiinterfaceu.def	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-EXPORTS
-	_ZN16CAknFepIndicator11SetCopyModeEi @ 1 NONAME
-	_ZN16CAknFepIndicatorD0Ev @ 2 NONAME
-	_ZN16CAknFepIndicatorD1Ev @ 3 NONAME
-	_ZN16CAknFepIndicatorD2Ev @ 4 NONAME
-	_ZN18CAknFepUIInterface4NewLEv @ 5 NONAME
-	_ZN18CAknFepUIInterfaceD0Ev @ 6 NONAME
-	_ZN18CAknFepUIInterfaceD1Ev @ 7 NONAME
-	_ZN18CAknFepUIInterfaceD2Ev @ 8 NONAME
-	_ZN30MAknFepUiInterfaceMenuObserver15DynInitMenuBarLEiP25CAknFepUiInterfaceMenuBar @ 9 NONAME
-	_ZN30MAknFepUiInterfaceMenuObserver16DynInitMenuPaneLEiP26CAknFepUiInterfaceMenuPane @ 10 NONAME
-	_ZTI16CAknFepIndicator @ 11 NONAME ; #<TI>#
-	_ZTI18CAknFepUIInterface @ 12 NONAME ; #<TI>#
-	_ZTI30MAknFepUiInterfaceMenuObserver @ 13 NONAME ; #<TI>#
-	_ZTV16CAknFepIndicator @ 14 NONAME ; #<VT>#
-	_ZTV18CAknFepUIInterface @ 15 NONAME ; #<VT>#
-	_ZTV30MAknFepUiInterfaceMenuObserver @ 16 NONAME ; #<VT>#
-
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/group/AknFepUiInterface.mmp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
-* Copyright (c) 2007 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:           
-*       MakMake Project file.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include <data_caging_paths.hrh>
-#include <bldvariant.hrh>
-#include <platform_paths.hrh>
-
-TARGET          aknfepuiinterface.dll
-TARGETTYPE      DLL
-
-UID             0x1000008D 0x10285778
-CAPABILITY      All -Tcb
-
-VENDORID        VID_DEFAULT
-
-
-USERINCLUDE     ../inc .
-USERINCLUDE     ../../../inc
-
-MW_LAYER_SYSTEMINCLUDE
-
-SYSTEMINCLUDE   ../inc
-SYSTEMINCLUDE   ../../../../../inc
-
-SOURCEPATH      ../src
-
-SOURCE          AknFepUiInterface.cpp
-SOURCE          AknFepIndicator.cpp
-SOURCE			AknFepUiMenus.cpp
-
-LIBRARY         euser.lib
-LIBRARY 		ecom.lib
-LIBRARY			eikcore.lib
-
-// End of file
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/group/bld.inf	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
-* Copyright (c) 2007 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:           
-*       Bldmake component description file.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include <platform_paths.hrh>
-
-PRJ_EXPORTS
-// specify the source file followed by its destination here
-// copy will be used to copy the source file to its destination
-// If there's no destination then the source file will be copied
-// to the same name in /epoc32/include
-
-../inc/aknfepindicator.h        	|../../../../../inc/aknfepindicator.h
-../inc/AknFepUICtrlCandidatePane.h	|../../../../../inc/AknFepUICtrlCandidatePane.h
-../inc/AknFepUICtrlCandidatePaneInterface.h	|../../../../../inc/AknFepUICtrlCandidatePaneInterface.h
-../inc/AknFepUiCtrlContainerChinese.h	|../../../../../inc/AknFepUiCtrlContainerChinese.h
-../inc/AknFepUICtrlContainerJapanese.h	|../../../../../inc/AknFepUICtrlContainerJapanese.h
-../inc/AknFepUICtrlInputPane.h	|../../../../../inc/AknFepUICtrlInputPane.h
-../inc/AknFepUICtrlPinyinPopup.h	|../../../../../inc/AknFepUICtrlPinyinPopup.h
-../inc/AknFepUIStylusPopupMenu.h	|../../../../../inc/AknFepUIStylusPopupMenu.h
-../inc/aknfepuictrleditpane.h     |../../../../../inc/aknfepuictrleditpane.h
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-../inc/AknFepCandidatePopup.h 		|../../../../../inc/AknFepCandidatePopup.h
-../inc/AknFepCandidatePopupCallback.h   |../../../../../inc/AknFepCandidatePopupCallback.h
-../inc/AknFepUiWordPopupContent.h	|../../../../../inc/AknFepUiWordPopupContent.h
-#endif //RD_INTELLIGENT_TEXT_INPUT
-
-PRJ_MMPFILES
-// specify the .mmp files required for building the important component releasables
-// note that you should specify any .mmp files for test programs further down the file.
-//
-// Use C++ style #defines to denote that a component is only built for a particular platform
-
-// ../group/aknfepuiinterface.mmp This is now built from aknfep's main bld.inf.
-
-
-
-// End of file
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/inc/AknFepCandidatePopup.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
-/*
-* Copyright (c) 2007 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:             A non-focusing popup menu to show candidates.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_CANDIDATE_POPUP_H
-#define __AKN_FEP_CANDIDATE_POPUP_H
-
-// MACROS
-//To congigure the number of candidates in list
-const TInt KPredictiveListCandidateMax = 16; 
-
-// CLASS DECLARATION
-class MAknFepCandidatePopup
-    {
-public: // methods
-	
-	/**
-	 * destructor
-	 */
-    virtual ~MAknFepCandidatePopup() = 0;
-
-    /**
-    * Getter for the currently active word
-    * @return   The currently active word as pointer descriptor
-    */
-    virtual TPtrC ActiveWord() const = 0;
-    
-    /**
-    * Getter for the exact word (the word with ordinal 0)
-    * @return   The exact word as pointer descriptor.
-    */
-    virtual TPtrC ExactWord() const = 0;
-    
-    /**
-    * Makes the pop-up selection list visible and blocks until the dialog has been dismissed.
-    * @param    aInlineEditorRect   Tells the place of the inline editor. If possible, the popup is opened
-    *                               so that it does not hide the inline editor.
-    * @param    aSelectedIdx        Output argument for the selected index.
-    * @param    aLastKeyEvent       The last key event received by the popup. On return this is the event
-    *                               which closed the popup.
-    * @param    aRightToLeftLanguage Direction of the candidate language.ETrue is right to left. EFalse otherwise
-    * @param    aKeyboard           Keyboard type in use (TPtiKeyboardType)
-    *
-    * @return   The command id used to close the window. EAknFepSoftkeySpell, EAknSoftkeyCancel, or EAknSoftkeySelect
-    */
-    virtual TInt ExecutePopupL( const TRect& aInlineEditorRect, TInt& aSelectedIdx, TKeyEvent& aLastKeyEvent, TBool aRightToLeftLanguage, TInt aKeyboard ) = 0;
-    
-    /**
-    * Function called when the dialog is dismissed. Among other things, this hides the dialog
-    * and deblocks the thread. Unlike in the base class, the instance is not destroyed here. 
-    * The same popup instance can be reused by calling ExecutePopupL() again. 
-    * @param    aAccept     EFalse  if the dialog was cancelled.
-    *                       ETrue   otherwise.
-    */
-    virtual void AttemptExitL(TBool aAccept) = 0;
-
-    /**
-    * Removes the focus from the candidate list and makes the editor to be in focus.
-    */
-    virtual void UnFocus() = 0;
-    /**
-    * Changes the position where the candidate list is shown. The position of the candidate list is choosen by the
-    * candidate list itself but can be controlled by the inline text rectangle.
-    * @param    aRect  The inline text rect.
-    */
-    virtual void ShowAtNewPosition(TRect aRect) = 0;
-    
-    /**
-     *  Revert back the candidate focus, and add the candidate list to the control stack reducing
-     *  the control priority. Usually, this function can be called after void UnFocus().
-     */
-    virtual void SetFocusAddStackReducePriorityL() = 0;
-
-       
-    };
-    
-#endif // __AKN_FEP_CANDIDATE_POPUP_ H
-
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/inc/AknFepCandidatePopupCallback.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* Copyright (c) 2007 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:             A callback interface for the candidate popup
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_CANDIDATE_POPUP_CALLBACK_H
-#define __AKN_FEP_CANDIDATE_POPUP_CALLBACK_H
-
-class MAknFepCandidatePopupCallback
-    {
-public:
-    /**
-    * Callback the get the current set of candidates
-    * @param    aArray      An output parameter for the candidate strings
-    * @param    aActiveIdx  An output parameter for the index of the 
-    *                       currently active candidate
-    */
-    virtual void GetCandidatesL( CDesCArray& aArray, TInt& aActiveIdx ) = 0;  
-    
-    /**
-     * Callback get current position of candidate list.
-     * @param  aRect  New posion of candidate list
-     */
-    virtual void GetUpdateCandidatePositionL(TRect& aRect) = 0;
-    };
-    
-#endif // __AKN_FEP_CANDIDATE_POPUP_CALLBACK_H
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/inc/AknFepIndicator.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the CAknFepIndicator definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef AKNFEPIND_H
-#define AKNFEPIND_H
-
-#include <e32base.h>
-#include <aknEditStateIndicator.h>  //MAknEditingStateIndicator
-
-class CAknNavigationDecorator;
-class CAknNavigationControlContainer;
-class CEikonEnv;
-
-class CAknFepIndicator : public CBase, public MAknEditingStateIndicator
-	{
-public:
-    IMPORT_C ~CAknFepIndicator();
-	
-public: // new functions    
-    /**
-     * Sets flag that copy mode is ON
-     */    
-    IMPORT_C void SetCopyMode(TBool aCopyMode); 
-    
-protected:
-    TBool                       iCopyMode;
-    TBool                       iCopyModeChanged;
-	};
-
-#endif // AknFepIND_H
-
-// End of file
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/inc/AknFepUICtrlCandidatePane.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,305 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the CAknFepUICtrlCandidatePane definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_CANDIDATE_PANE_H__
-#define __AKN_FEP_CANDIDATE_PANE_H__
-
-#include <e32std.h>
-#include <coecntrl.h>
-
-#include "AknFepUiCtrlContainerChinese.h"
-
-/**
-* TPage holds the start index, end index and start position in buffer of every display page
-*/
-struct TPage
-    {
-    TInt iStartIndex;
-    TInt iEndIndex;
-    };
-
-/**
- * Pane which displays the Chinese Candidates.
- */
-class MAknFepUICtrlCandidatePane
-    {
-public:
-    enum
-        {
-        EOneCandidate = 1,
-        EMaxCandidates = 10,
-        EMaxPages = 10,
-        EPhraseLength = 10
-        };
-    /**
-     * each candidate can be in a certain mode, which may affect its layout. Note
-     * that only stroke is needed at this time (for components), but more modes could be added 
-     * later if the LAF spec changes.
-     */
-    enum TCandidateMode
-        {
-        ECandidateModeNormal,
-        ECandidateModeStroke
-        };
-public:
-    /**
-     * Allows the client to set a descriptor pointer into an existing buffer of 
-     * data, avoiding unnecessary copying of data.
-     * <p> Note that if the buffer contains less characters than the current
-     * visible count, then the remaining characters will not be displayed. 
-     * <p> Note also that if the current selection falls outside the range
-     * of the size of the new buffer, it will be made not visible. 
-     * However, the current highlighted state remains, so if the selection 
-     * is set once more to a valid entry (or if the buffer is set to a length that 
-     * includes the currently selected position), and the highlight is still enabled,
-     * the highlight will reappear.
-     *
-     * @param aBufferPtr descriptor that contains the candidates for display,
-     *                              could be a pointer into a subset of a larger descriptor 
-     *                              that contains all the candidates. Note that only the 
-     *                              first EMaxCandidates of aBuffer will be used. 
-     *                              Length must be > 0.
-     */
-    virtual void SetCandidateBuffer(const TDesC& aBuffer) = 0;
-
-    /**
-     * This function sets the highlighted status of the pane for rendering purposes. 
-     * If the Pane is highlighted it displays the current selected Candidate, 
-     * plus numbers with each of the other Candidates. 
-     * 
-     * @param aHighlighted ETrue if the highlight is to be set
-     *                                  EFalse if the highlight is to be removed
-     */
-    virtual void SetHighlighted(TBool aHighlighted) = 0;
-
-    /**
-     * enable/disable the rendering of the Horizontal Scroll Arrows. 
-     *
-     * @param aValue if ETrue, enable the arrows
-     *                          if EFalse, disable the arrrows
-     */
-    virtual void ShowHorizontalScrollArrows(TBool aValue) = 0;
-
-
-    /**
-     * enable/disable the rendering of the up Scroll Arrows. 
-     *
-     * @param aValue if ETrue, enable the arrows
-     *  if EFalse, disable the arrrows
-     */
-    virtual void ShowUpScrollArrows(TBool aValue) = 0;
-
-    /**
-     * enable/disable the rendering of the down Scroll Arrows. 
-     *
-     * @param aValue if ETrue, enable the arrows
-     *  if EFalse, disable the arrrows
-     */
-    virtual void ShowDownScrollArrows(TBool aValue) = 0;
-    
-     /**
-     * enable/disable the rendering of the left Scroll Arrows. 
-     *
-     * @param aValue if ETrue, enable the arrows
-     *  if EFalse, disable the arrrows
-     */
-    virtual void ShowLeftScrollArrows(TBool aValue) = 0;
-    
-        /**
-     * enable/disable the rendering of the right Scroll Arrows. 
-     *
-     * @param aValue if ETrue, enable the arrows
-     *  if EFalse, disable the arrrows
-     */
-    virtual void ShowRightScrollArrows(TBool aValue) = 0;
-
-    /**
-     * enable/disable the rendering of the Vertical Scroll Arrows. 
-     *
-     * @param aValue if ETrue, enable the arrows
-     *                          if EFalse, disable the arrrows
-     */
-    virtual void ShowVerticalScrollArrows(TBool aValue) = 0;
-
-    /**
-     * enable/disable the rendering of the candidate ordinal numbers
-     *
-     * @param aValue if ETrue, enable the ordinals
-     *                          if EFalse, disable the ordinals
-     *
-     */
-    virtual void ShowCandidateOrdinals(TBool aValue) = 0;
-
-    /**
-     * This function returns the number of Candidates that are visible in the pane 
-     * in its current configuration.
-     *
-     * @return number of candidates that are currently visible
-     */
-    virtual TInt VisibleCandidateCount() const = 0;
-
-    /**
-     * Select the first visible item in the candidate buffer
-     *
-     * @return ETrue if success, EFalse if no items visible
-     *
-     */
-    virtual TBool SelectFirst() = 0;
-
-    /**
-     * Select the first visible phrase item in the candidate buffer
-     *
-     * @return ETrue if success, EFalse if no items visible
-     *
-     */
-    virtual TBool SelectFirstPhrase() = 0;
-    
-    /**
-     * Select the last visible item in the candidate buffer
-     *
-     * @return ETrue if success, EFalse if no items visible
-     *
-     */
-    virtual TBool SelectLast() = 0;
-
-    /**
-     * Select the last visible phrase item in the candidate buffer
-     *
-     * @return ETrue if success, EFalse if no items visible
-     *
-     */
-    virtual TBool SelectLastPhrase() = 0;
-
-    /**
-     * Select the next visible item
-     *
-     * @return ETrue if success, 
-     *              EFalse if no items visible, or if already on last visible item
-     */
-    virtual TBool SelectNext() = 0;
-    /**
-     * Select the previous visible item
-     *
-     * @return ETrue if success, 
-     *              EFalse if no items visible, or if already on first visible item
-     */
-    virtual TBool SelectPrev() = 0;
-
-    /**
-     * This function selects the given index. 
-     * <p> Note that if the new selected index is within the visible count, 
-     * but falls on a candidate that is not valid (i.e. if it falls outside the
-     * length of the candidate buffer) then nothing happens and EFalse is returned
-     *
-     * @param aIndex If aIndex falls outside length of candidate buffer, 
-     *                          then return EFalse to indicate failure. 
-     * @return ETrue if index was valid, EFalse if index not valid
-     */
-    virtual TBool SelectIndex(TInt aIndex, TBool selected = ETrue) = 0;
-
-    /**
-     * This function returns the selected index of the Candidate Pane. 
-     * 
-     * @return the index of the selected item. If the Pane is not highlighted it returns 0.
-     *
-     */
-    virtual TInt SelectedIndex() const = 0;
-    
-    /**
-     * This function returns the character at index of the current selection
-     *
-     * @return a descrptor containing the character that is currently selected.
-     *              If the currect selection falls outside the length of the current buffer,
-     *              then return a null descriptor
-     *
-     */
-    virtual TPtrC CurrentCandidate() const = 0;
-    /**
-     * This function returns the phrase at index of the current selection
-     *
-     * @return a descrptor containing the character that is currently selected.
-     *              If the currect selection falls outside the length of the current buffer,
-     *              then return a null descriptor
-     *
-     */
-    virtual TPtrC CurrentPhraseCandidate() const = 0;
-    /**
-	*	Split phrase candidates into pages 
-	*/
-    virtual void SplitPhraseCandidatesIntoPages() = 0;
-  
-    /**
-	*	Navigate to next page 
-	*/
-    virtual void NextCandidatePage(void) = 0;
-   
-    /**
-	*	Navigate to previous page 
-	*/
-    virtual void PreviousCandidatePage(void) = 0;
-
-    /**
-	*	Return candidate array 
-	*/
-    virtual CDesCArrayFlat* CandidateArray(void) = 0;
-
-    /**
-	*	Set phrase candidate buffer
-	*/
-    virtual void SetCandidateBuffer(void) = 0;
-
-	/**
-	*	Reset candidate pane state and variables
-	*/
-	virtual void ResetCandidateState() = 0;
-	
-	/**
-	 *	To test whether current page is the first page
-	 */
-	virtual TBool IsFirstPage() = 0;
-	
-	/**
-	 *	To test whether current page is the last page
-	 */
-	virtual TBool IsLastPage() = 0;
-
-   /**
-     *  To set all the cnadidate label invisible(phrase creation)
-     */
-    virtual void SetInVisiable() = 0;
-
-	/**
-	 *	To test whether need to get new candidate page
-	 */
-	virtual TBool NeedGetNewCandidatePage() = 0;
-    };
-
-#endif //__AKN_FEP_CANDIDATE_PANE_H__
-
-// End of file
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/inc/AknFepUICtrlCandidatePaneInterface.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the MAknFepUICtrlCandidatePaneInterface definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_CTRL_CANDIDATEPANE_INTERFACE_H__
-#define __AKN_FEP_UI_CTRL_CANDIDATEPANE_INTERFACE_H__
-
-#include <e32std.h>
-#include <badesca.h> //CDesCArrayFlat
-
-enum TAknFepUICtrlScroll
-    {
-    EScrollNone,
-    EScrollLeft,
-    EScrollRight,
-    EScrollUp,
-    EScrollDown
-    };
-
-
-class MAknFepUICtrlCandidatePaneInterface
-    {
-public:
-    /**
-     * Destructor.
-     */
-    virtual ~MAknFepUICtrlCandidatePaneInterface() {};
-    /**
-     * Show Candidate List
-     *
-     * @param   aItems      The disposition of an item
-     * @param   aIndex      The index of the cursor position when an initial display
-     * @param   aLeftSideOfBaseLine
-     * @param   aHeight     
-     * @param   aAscent
-     */
-    virtual void ShowCandidateListL(CDesCArrayFlat* aItems,
-                                    TInt aIndex, TInt aResourceID) = 0;
-    /**
-     * Close Candidate List
-     */
-    virtual void HideWindow() = 0;
-    /**
-     * 
-     */
-    virtual TInt CurrentItemIndexOfCandidate() = 0;
-    /**
-     * 
-     */
-    virtual TInt MoveItem(TAknFepUICtrlScroll aDirection) = 0;
-    /**
-     * 
-     */
-    virtual void SetWindowPosition(const TPoint& aLeftSideOfBaseLine, TInt aHeight, TInt aAscent) = 0;
-    };
-
-#endif
-
-// End of file
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/inc/AknFepUICtrlCandidateSelected.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,176 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the CAknFepUICtrlCandidateSelected definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_CANDIDATE_SELECTED_PANE_H__
-#define __AKN_FEP_CANDIDATE_SELECTED_PANE_H__
-
-#include <e32std.h>
-#include <coecntrl.h>
-
-#include "AknFepUICtrlCandidatePane.h"
-
-class CEikLabel;
-
-/**
- * Control representing the selected candidate. Is a window owning control,
- * that appears over the candidate pane such that it obscures the labels
- * beneath. Can be hidden, for example if there is no visible selection, 
- * or if highlighting is disabled.
- */
-class CAknFepUICtrlCandidateSelected : public CCoeControl
-    {
-public:
-    enum
-        {
-		EOneCandidate = 1,
-        EMaxSelectedCandidateLength = 10 // extend buffer for phrase input
-        };
-public:
-
-    /**
-     * first phase construction
-     */
-    static CAknFepUICtrlCandidateSelected* NewL(RWindowTreeNode& aParent);
-
-    /**
-     * destructor
-     */
-    ~CAknFepUICtrlCandidateSelected();
-
-    /**
-     * Set the text buffer of the Pane.
-     *
-     * @param aCharacter, the label will be filled with the characters from aCharacter
-     */
-    void SetText(TPtrC aCharacter);
-    
-    /**
-     * Set the ordinal of the Pane.
-     *
-     * @param aOrdinal
-     */
-    void SetOrdinal(TInt aOrdinal);
-
-    /**
-     * This function sets the candidate mode of the pane for rendering purposes.
-     *
-     * @param aMode the new mode
-     */
-    void SetCandidateMode(CAknFepUICtrlCandidatePane::TCandidateMode aMode);
-
-	/**
-	* Set layout
-	* @param aLayout the new layout
-	*/
-	void SetLayout(CAknFepUICtrlContainerChinese::TPaneLayout aLayout);
-	/**
-	* Set ordinal status
-	* @param aValue the new status
-	*/
-	void ShowOrdinal(TBool aValue);
-
-public: // from CCoeControl
-    /**
-     * size changed
-     */
-    virtual void SizeChanged();
-
-    /**
-     * count component controls
-     *
-     * @return number of contained controls
-     */
-    TInt CountComponentControls() const;
-
-    /**
-     * Component control
-     *
-     * @param aIndex the control to return, must be between 0 and the number of controls
-     * @return pointer to contained control, ownership is not passed
-     */
-    CCoeControl* ComponentControl(TInt aIndex) const;
-
-    /**
-     * draw
-     *
-     * @param aRect rectangle
-     */
-    virtual void Draw(const TRect& aRect) const;
-
-protected:
-    /**
-     * second phase construction
-     */
-    void ConstructL(RWindowTreeNode& aParent);
-
-     /**
-      * constructor
-      */
-    CAknFepUICtrlCandidateSelected();
-
-    /**
-     * layout the rectangles
-     */
-    void LayoutRects();
-
-    /**
-     * layout contained controls
-     */
-    void LayoutContainedControls();
-
-    /**
-     * layout the background frames
-     *
-     * @param aOuterRect filled with outer rect coords
-     * @param aInnerRect filled with inner rect coords
-     *
-     */
-    void CalculateFrameRects(TRect& aOuterRect, TRect& aInnerRect) const;
-
-    /**
-     * set label vilisibilty, according to the current pane layout
-     */
-    void UpdateLabelVisibility();
-
-private:
-    TAknLayoutRect iRectShadow;
-    TAknLayoutRect iRectHighlight;
-	TBufC<EMaxSelectedCandidateLength> iBuffer;
-    CAknFepUICtrlCandidatePane::TCandidateMode iCandidateMode;
-    TInt iIndex;
-    CAknFepUICtrlContainerChinese::TPaneLayout iPaneLayout;
-	TBool iShowOrdinal;
-private: // the following are owned
-    CEikLabel* iCandidateLabel;
-    CEikLabel* iOrdinalLabel;
-    };
-
-#endif //__AKN_FEP_CANDIDATE_SELECTED_PANE_H__
-
-// End of file
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/inc/AknFepUICtrlContainerJapanese.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
-* Copyright (c) 2003 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:           
-*       Provides the CAknFepUICtrlContainerJapanese definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_CONTAINER_JAPANESE_H__
-#define __AKN_FEP_UI_CONTAINER_JAPANESE_H__
-
-// INCLUDES
-#include <e32base.h>
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATION
-
-// CLASS DECLARATION
-class MAknFepUICtrlCandidatePaneInterface;
-
-/**
- * Container for the Japanese Candidate Pane and the Predictive Candidate Pane.
- *
- * @lib AknFep.lib
- * @since 2.6
- */
-class MAknFepUICtrlContainerJapanese
-    {
-public:
-    /**
-     *
-     * @since 2.6
-     */
-    enum TAknFepUICtrlCandidatePaneId
-        {
-        EJapaneseCandidatePane,
-        EJapanesePredictiveCandidatePane,
-        EJapaneseCandidatePaneMax
-        };
-
-public: // New faunctions
-    /**
-     * destructor
-     */
-    virtual ~MAknFepUICtrlContainerJapanese() = 0;
-
-    /**
-     * @since 2.6
-     * @param aId
-     * @return
-     */
-    virtual MAknFepUICtrlCandidatePaneInterface* CandidatePane(TAknFepUICtrlCandidatePaneId aId) = 0;
-    };
-
-#endif // __AKN_FEP_UI_CONTAINER_JAPANESE_H__
-
-// End of file
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/inc/AknFepUICtrlInputPane.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the CAknFepUICtrlInputPane definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_INPUT_PANE_H__
-#define __AKN_FEP_INPUT_PANE_H__
-
-#include <e32std.h>
-
-/**
- * pane in which the user's input is shown
- */
-class MAknFepUICtrlInputPane
-    {
-public:
-    /**
-     * Different layouts, can be used depending on whether used as the input pane, or as 
-     * an entry in the popup pinyin window
-     */
-    enum TInputPaneLayout
-        {
-		ELayoutPhraseInputPane = 3,
-		ELayoutPhrasePinyinPopupPane,
-		ELayoutPhraseMiniQwertyZhuyin
-        };
-
-    /**
-     * The number of characters that can be displayed in the input pane.
-     * This does not include the tone mark, which is counted separately.
-     */
-    enum
-        {
-        EMaxToneMarkLength = 1,
-        EMaxInputCharsInputPaneNotIncludingToneMark = 30, // need 30 in the case of stroke
-        EMaxInputCharsPinyinPopupNotIncludingToneMark = 21,
-        EMaxInputCharsZhuyinPopup = 16,
-        EMaxInputCharsInputPane = EMaxInputCharsInputPaneNotIncludingToneMark + EMaxToneMarkLength,
-        EMaxInputCharsPinyinPopup = EMaxInputCharsPinyinPopupNotIncludingToneMark + EMaxToneMarkLength,
-        EMaxInputChars = EMaxInputCharsInputPane + EMaxInputCharsPinyinPopup // guaranteed big enough for either
-        };
-    
-    enum 
-        {
-        EPhoneticChanged  = 0x0001
-        };
-
-public:
-    virtual void SetText(const TDesC& aDes) = 0;
-
-    /**
-     * Get the text buffer of the pane
-     *
-     * @output aText the buffer is filled with the contents of the candidate
-     *              of the pane, up to the size of the buffer
-     */
-    virtual void GetText(TDes& aText) const = 0;
-
-    /**
-     * This function sets the Tone Mark for the Pane.
-     *
-     * @param aToneMark descriptor containing the tone mark character
-     */
-    virtual void SetToneMark(const TDesC& aToneMark) = 0;
-
-    /**
-     * This function sets the validity of the tonemark
-     *
-     * @param aValid if ETrue, tonemark will be displayed as valid
-     *                          if EFalse, tonemark will be displayed as not valid
-     */
-    virtual void SetToneMarkValidity(TBool aValid) = 0;
-
-    /**
-     * sets the font to be used, which will override the font from LAF
-     *
-     * @param aFontId the new font id, pass in 0 to use the one from LAF
-     *
-     */
-    virtual void SetOverrideFontId(TInt aFontId) = 0;
-    virtual void SetFlag(TInt aFlag) = 0;
-    virtual void ClearFlag(TInt aFlag) = 0;
-    virtual TBool IsFlagSet(TInt aFlag) const = 0;
-    };
-
-#endif //__AKN_FEP_INPUT_PANE_H__
-
-// End of file
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/inc/AknFepUICtrlPinyinPopup.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,455 +0,0 @@
-/*
-* Copyright (c) 2004 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:           
-*       Provides the CAknFepUICtrlPinyinPopup class definitions.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_PINYIN_POPUP_H
-#define __AKN_FEP_UI_PINYIN_POPUP_H
-
-#include <e32std.h>
-
-class MAknFepUICtrlPinyinPopup
-	{
-public:
-    enum 
-        {
-        ESpellingChanged    = 0x0001,
-        ESpellingNavigation = 0x0002,
-		EDispPageChanged	= 0x0004,
-		EChangeStatebyBackSpce = 0x1000//need by pinying phrase creation.
-        };
-
-    /**
-     * The number of selections that can be displayed in the popup.
-     */
-    enum
-        {
-        EMaxToneMarkLength = 1,
-        EMaxCandidates = 6,
-        EMaxCandidateCharsNotIncludingToneMark = 6,
-        EMaxCandidateChars = EMaxCandidateCharsNotIncludingToneMark + EMaxToneMarkLength,
-        EMaxPhraseCandidate = 10
-        };
-
-    typedef TBufC<EMaxToneMarkLength> TToneMark;
-
-public:
-    /**
-     * This function returns the index of the selected phrase item .
-     *
-     * @return aIndex index of entry in window, zero based
-     */
-    virtual TInt CurrentSelection() const = 0;
-    /**
-     * This function returns the visible index of the selected item.
-     *
-     * @return aIndex index of entry in window, zero based
-     */
-    virtual TInt CurrentVisibleSelection() const = 0;
-
-    /**
-     * Enables the display of the control. Sets the control's 
-     * window postion and visibility, but only if the value has
-     * changed (so it's ok to call it excessively). 
-     *
-     * @param aEnable if ETrue, makes visible
-     *                          if EFalse, makes non-visible
-     *
-     */
-    virtual void Enable(TBool aEnable) = 0;
-	/**
-     * set the number of selections that are visible
-     *
-     * @param aCount the number of visible selections, must be 
-     *                          0 < aCount <= KMaxNumberOfSelections 
-     */
-    virtual void SetVisibleCount(TInt aCount) = 0;
-
-    /**
-     * get the current visible selection count
-     *
-     * @return visible selection count
-     */
-    virtual TInt VisibleSelectionCount() const = 0;
-
-
-    /**
-     * This sets the string of the internal buffer for the item index aIndex to aText,
-     * even if the index falls outside the current visible candidates.
-     *
-     * @param aText new contents of text item
-     * @return ETrue if successful
-     *              EFalse if index outside visible candidates (but value is still set)
-     *
-     */
-    virtual TBool SetItemText(TInt aIndex, const TDesC& aText) = 0;
-
-    /**
-    *   Sets the string of the internal buffer for visible item 
-    */
-    virtual TBool SetPhraseItemTexts() = 0;
-    
-    /**
-     * This function gets the text at the index aIndex. 
-     *
-     * @param aIndex index of entry in window, zero based
-     * @output aText contains contents of text item
-     * @return ETrue always
-     *
-     */
-    virtual TBool GetItemText(TInt aIndex, TDes& aText) const = 0;
-
-    /**
-     * This function sets the Tone Mark for a specific entry
-     * 
-     * @param aIndex index of entry
-     * @param aToneMark the tone mark
-     *
-     */
-    virtual void SetToneMark(TInt aIndex, const TDesC& aToneMark) = 0;
-
-    /**
-     * This function sets the validity of the tonemark
-     *
-     * @param aIndex index of the entry to be affected
-     * @param aValid if ETrue, tonemark will be displayed as valid
-     *                          if EFalse, tonemark will be displayed as not valid
-     */
-    virtual void SetItemToneMarkValidity(TInt aIndex, TBool aValid) = 0;
-    /**
-     * Is the control enabled for display?
-     *
-     * @return if not enabled, return EFalse
-     */
-    virtual TBool IsEnabled() const = 0;
-
-    /**
-     * Select the next visible item. If already on the last one, loop to the 
-     * first one.
-     *
-     * @return ETrue if success, 
-     *              EFalse if no items visible, or if selection is outside visible items
-     */
-    virtual TBool SelectNextPhrase() = 0;
-
-    /**
-     * Select the previous visible item. If already on the first one, loop to the 
-     * last one.
-     *
-     * @return ETrue if success, 
-     *              EFalse if no items visible, or if selection is outside visible items
-     */
-    virtual TBool SelectPrevPhrase() = 0;
-
-    /**
-	*	Return Pinyin spelling candidate array 
-	*/
-    virtual CDesCArrayFlat* PhoneticSpellingArray(void) = 0;
-
-    /**
-	*	Split phrase pinyin spelling candidates into pages 
-	*/
-    virtual void SplitPhraseSpellingIntoPages(void) = 0;
-
-    /**
-	*	Split pinyin spelling candidates into pages 
-	*/
-    virtual void SplitSpellingIntoPages(TInt aCount) = 0;
-    
-    /**
-	*	Set display page for deliberate selection 
-	*/
-    virtual void SetDisplayPage(TInt aSelection) = 0;
-
-    /**
-	 *	Return keystroke array 
-	 */
-    virtual CDesCArrayFlat* KeystrokeArray(void) = 0;
-    
-    /**
-	 *	return in effect keystroke array
-	 */
-    virtual CDesCArrayFlat* InEffectKeystrokeArray(void) = 0;    
-
-    /**
-     *	Return show keystroke array 
-     */
-    virtual CDesCArrayFlat* ShowKeystrokeArray(void) = 0;
-    
-    /**
-     *	Return the optimize spelling array 
-     */
-    virtual CDesCArrayFlat* OptimizeSpelling(void) = 0;
-    
-    /**
-     *  Return the temp spelling array 
-     */
-    virtual CDesCArrayFlat* TempSpelling(void) = 0;
-    
-    /**
-     *	Return show keystroke array 
-     */
-    virtual CDesCArrayFlat* ChooseChineseCharacterArray(void) = 0;
-    
-    /**
-     *	Return show keystroke array 
-     */
-    virtual CDesCArrayFlat* ChooseChineseCharacterArrayKeystroke(void) = 0;
-
-    /**
-     *	Return the tone mark state 
-     */
-    virtual TBool GetTonemarkState() = 0;
-    
-    /**
-     *	set the tone mark state 
-     */
-    virtual void SetTonemarkState( TBool aState ) = 0; 
-    
-
-    /**
-     *	Return show keystroke array 
-     */
-    virtual CDesCArrayFlat* PhoneticSpellingIndexArray(void) = 0;
-    
-    /**
-	*	Return current page start spelling index 
-	*/
-    virtual TInt CurrentPageStartIndex(void) = 0;
-    virtual void SetFlag(TInt aFlag) = 0;
-    virtual void ClearFlag(TInt aFlag) = 0;
-    virtual TBool IsFlagSet(TInt aFlag) const = 0;
-    virtual void PopupSizeChanged() = 0;
-    /**
-     *  Set all the input pane not highlight
-     */
-    virtual void SetNoneHighlighted() = 0;
-    
-    virtual CDesCArrayFlat* KeystrokeArrayForStroke() = 0;
-
-    virtual CDesCArrayFlat* InEffectKeystrokeArrayForStroke() = 0;
-
-    virtual CDesCArrayFlat* ShowKeystrokeArrayForStroke() = 0;
-
-    virtual CDesCArrayFlat* ChooseChineseCharacterArrayForStroke() = 0;
-
-    virtual CDesCArrayFlat* ChooseChineseCharacterArrayKeystrokeForStroke() = 0;
-    
-    /**
-     * Get the current content array displayed in eep control for Zhuyin method.
-     */
-    virtual CDesCArrayFlat* ZhuyinSymbols() = 0;
-    
-    /**
-     * Get the current content array displayed in eep control for Zhuyin method.
-     */
-    virtual CDesCArrayFlat* ZhuyinShowSymbols() = 0;
-    
-    /**
-     * Get the current valid zhuyin symbol group.
-     */
-    virtual CDesCArrayFlat* FirstValidZhuyinGrp() = 0;
-    
-    /**
-     * Get the current chinese characters displayed in the eep control.
-     */
-    virtual CDesCArrayFlat* ChineseCharsDisped() = 0;
-    
-    /**
-     * Get the corresponding zhuyin symbol array for chinese characters array.
-     */
-    virtual CDesCArrayFlat* ZhuyinSymbolsForChineseCharsDisped() = 0;
-    
-    virtual void SetEEPContent ( const TDes& aDes ) = 0;
-    virtual TDes& GetEEPContent ( ) = 0;
-    
-    virtual void SetEEPContentValid ( TBool aValid ) = 0;
-    virtual TBool GetEEPContentValid ( ) = 0;
-    
-    virtual void ResetStrokeArray() = 0;
-    
-    virtual void SetChangeState(TBool aChangeState) = 0;
-    
-    virtual TBool IsChangeStatet() const = 0;
-    
-    /**
-     * Set whether state change from entry to spelling editing is automatical.
-     * 
-     * @param aState.1 for automatical, 0 for manual.
-     * @return None.
-     */
-    virtual void SetState( TInt aState ) = 0;
-    
-    /**
-     * Get state change status.
-     */
-    virtual TInt GetState() = 0;
-    
-    /**
-     * Set whether state change from pinyin input state to pinyin phrase creation.
-     * 
-     * @param aState. ETrue for state change from pinyin input to phrase creation,
-     *  EFalse is not.
-     * @since S60 V5.0
-     * @return None.
-     */
-    virtual void SetPhraseCreationState( TBool aState ) = 0;
-    
-    /**
-     * Set whether at the editing state happen editing for pinyin phrase creation.
-     * 
-     * @param aState. ETrue happen editing,EFalse others.
-     * @since S60 V5.0
-     * @return None.
-     */
-    virtual void SetPhraseCreationEditingState( TBool aState ) = 0;
-    
-    /**
-     * Get whether state change from pinyin input state to pinyin phrase creation.
-     * 
-     * @since S60 V5.0
-     * @return ETrue for state change from pinyin input to phrase creation,
-     *  EFalse is not.
-     */
-    virtual TBool GetPhraseCreationState() = 0;
-    
-    /**
-     * Get whether at the editing state happen editing for pinyin phrase creation.
-     * 
-     * @since S60 V5.0
-     * @return None.
-     */
-    virtual TBool GetPhraseCreationEditingState() = 0;
-    
-    /**
-     * set flag whether from candidate state change state.
-     * 
-     * @param aFlag  ETrue from the candidate state change state, other EFalse.
-     * @since S60 V5.0
-     * @return none.
-     */
-    virtual void SetFromCandidateChangeStateFlag( TBool aFlag ) = 0;
-    
-    /**
-     * Get flag whether from candidate state change state.
-     * 
-     * @since S60 V5.0
-     * @return ETrue from the candidate state change state, other EFalse.
-     */
-    virtual TBool GetFromCandidateChangeStateFlag() = 0;
-    
-    /**
-     * Set count of valid keystroke.
-     * 
-     * @since S60 V5.0
-     * @return none
-     */
-    virtual void SetValidKeystrokeCount( TInt aCount ) = 0;
-    
-    /**
-     * get count of valid keystroke.
-     * 
-     * @since S60 V5.0
-     * @return count of valid keystroke.
-     */
-    virtual TInt GetValidKeystrokeCount() = 0;
-    
-    /**
-     * Set last cba resouce id.
-     * 
-     * @since S60 V5.0
-     * @return None
-     */
-    virtual void SetLastResouce( TInt aResouceId ) = 0;
-    
-    /**
-     * Get last cba resouce id.
-     * 
-     * @since S60 V5.0
-     * @return last resouce id
-     */
-    virtual TInt GetLastResouce() = 0;
-    
-    /**
-     * Set change state from Edit to Spelling flag.
-     * 
-     * @param aFlag,If ETrue Change from Edit state to spelling state,EFalse others. 
-     * @since S60 V5.0
-     * @return none.
-     */
-    virtual void SetFromEditToSpellingFlag( TBool aFlag = EFalse ) = 0;
-
-    /**
-     * Set change state from Edit to Spelling flag.
-     * 
-     * @param none. 
-     * @since S60 V5.0
-     * @return ETrue Change from Edit state to spelling state,EFalse others..
-     */
-    virtual TInt GetFromEditToSpellingFlag() = 0;
-    
-    /**
-     * Set valid keystroke change flag.
-     * 
-     * @param aFlag, ETrue valid keystroke changed,EFalse others.
-     * @since S60 V5.0
-     * @return none
-     */
-    virtual void SetValidKeystrokeChange( TBool aFlag ) = 0;
-    
-    /**
-     * Get valid keystroke change flag.
-     * 
-     * @since S60 V5.0
-     * @return ETrue,if vallid keystroke changed, others EFalse.
-     */
-    virtual TBool GetValidKeystrokeChange() = 0;
-    
-    /**
-     * Set PreStateIsPredict flag.
-     * 
-     * @param aFlag, ETrue PreStateIsPredict,EFalse others.
-     * @since S60 V5.0
-     * @return none
-     */
-    virtual void SetPreStateIsPredictive( TBool aFlag ) = 0;
-    
-    /**
-     * Get PreStateIsPredict flag.
-     * 
-     * @since S60 V5.0
-     * @return ETrue,if PreStateIsPredict, others EFalse.
-     */
-    virtual TBool GetPreStateIsPredictive() = 0;
-
-    virtual void SetInputLayoutMiniQwertyZhuyin() = 0;
-    
-    virtual void ResetInputLayoutMiniQwertyZhuyin() = 0;
-	};
-
-#endif // __AKN_FEP_UI_PINYIN_POPUP_H
-
-// End of file
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/inc/AknFepUiCtrlContainerChinese.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,189 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the CAknFepUICtrlContainerChinese definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_CONTAINER_CHINESE_H__
-#define __AKN_FEP_UI_CONTAINER_CHINESE_H__
-
-#include <e32std.h>
-
-class MAknFepUICtrlInputPane;
-class MAknFepUICtrlCandidatePane;
-class MAknFepUICtrlPinyinPopup;
-class MAknFepUICtrlEditPane;
-class MAknFepManagerUIInterface;
-
-class MAknFepUICtrlContainerChinese
-{
-
-public:
-    /**
-     * Different layouts, the number represents the number of candidates visible in the candidate pane
-     */
-    enum TPaneLayout
-        {
-		ELayoutInput = 6,
-		ELayoutCandidate = 7,
-        // the follow 2 lines be added for phrase creation
-		ELayoutPhraseCreation = 8,
-		ELayoutKeystroke = 9
-        };
-public:
-    /**
-     * destructor
-     */
-    virtual ~MAknFepUICtrlContainerChinese() = 0;
-
-    /**
-     * get the input pane
-     *
-     * @return pointer to the input pane, ownership is not passed
-     */
-    virtual MAknFepUICtrlInputPane* InputPane() const = 0;
-
-    /**
-     * get the candidate pane
-     *
-     * @return pointer to the candidate pane, ownership is not passed
-     */
-    virtual MAknFepUICtrlCandidatePane* CandidatePane() const = 0;
-
-    /**
-     * get the phrase pinyin popup window 
-     *
-     * @return pointer to the phrase popup window, ownership is not passed
-     */
-    virtual MAknFepUICtrlPinyinPopup* PinyinPopupWindow() const = 0;
-
-    /**
-     * phrase creation's EEP Ctrl
-     * get the pinyin phrase creation popup window 
-     * 
-     * @return pointer to the pinyin phrase popup window, ownership is not passed
-    */
-    virtual MAknFepUICtrlEditPane* EditPaneWindow() const = 0;
-
-    /**
-     * Is the control displayed on the screen?
-     *
-     * @return if not enabled, returns EFalse
-     *
-     */
-    virtual TBool IsEnabled() const = 0;
-	 /**
-     * Enables the display of the control. Sets the control's 
-     * window postion and visibility, but only if the value has
-     * changed (so it's ok to call it excessively). 
-     *
-     * @param aEnable if ETrue, makes visible
-     *                          if EFalse, makes non-visible
-     *
-     */
-    virtual void Enable(TBool aEnable) = 0;
-
-    /**
-     * Arrange the constituent panes into the correct proportions for 
-     * the required layout. 
-     *
-     * @param aPaneLayout the required layout
-     *
-     */
-    virtual void SetLayout(TPaneLayout aPaneLayout) = 0;
- 
-
-    /**
-     * Set the Highlight to the desired control.
-     *
-     * @param aValue if aValue is ETrue set the focus to the Candidate Pane.
-     *                          if aValue is EFalse set focus to the Chinese Input Pane 
-     */
-    virtual void FocusCandidatePane(TBool aValue) = 0;
-
-    /**
-     * enable/disable the rendering of the Horizontal Scroll Arrows. 
-     *
-     * @param aValue if ETrue, enable the arrows
-     *                          if EFalse, disable the arrrows
-     */
-    virtual void ShowHorizontalScrollArrows(TBool aValue) = 0;
-    
-    /**
-     * enable/disable the rendering of the Vertical Scroll Arrows. 
-     *
-     * @param aValue if ETrue, enable the arrows
-     *                          if EFalse, disable the arrrows
-     */
-    virtual void ShowVerticalScrollArrows(TBool aValue) = 0;
-
-    /**
-     * Call this method if the fep is being displayed for a control that is 
-     * contained in a popup window (i.e. a Query). It changes the layout 
-     * of the container.
-     *
-     * @param aValue if ETrue, use the layout for display with a query
-     *                          if EFalse, use the normal layout
-     */
-    virtual void SetIsShownWithPopupWindows(TBool aValue) = 0;
-
-     /**
-     * This function sets cursor position.
-     *
-     * @param aCurPos containing the cursor position 
-     * @param aHeight containing font height
-     */
-    virtual void SetContainerPosition(TPoint aCurPos,TInt aHeight) = 0;
-
-    /**
-     * Set Candidate and pinyin popup invisible(phrase creation)
-     *
-     */
-    virtual void SetControlInVisible( TBool aVisible = ETrue ) = 0; 
-    
-    /**
-     * Set the state to phrase creation(phrase creation)
-     */
-    virtual void PhraseCreation( TBool aPhraseCreation ) = 0;
-    
-    /**
-     * Is the state is in phrase creation(phrase creation)
-     *
-     * @return if not phrase creation, return EFalse
-     */
-    virtual TInt& IsPhraseCreation() = 0;
-    
-    /**
-     * Set FepMan(phrase creation)
-     *
-     * @return if not enabled, return EFalse
-     */
-    virtual void SetFepMan( MAknFepManagerUIInterface* aFepMan ) = 0;
-
-	};
-#endif  // __AKN_FEP_UI_CONTAINER_CHINESE_H__
-
-// End of file
-
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/inc/AknFepUiInterfacePlugin.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 2007 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:           
-*       Interface for FEP UI plugins
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef AKNFEPUIINTERFACEPLUGIN_H
-#define AKNFEPUIINTERFACEPLUGIN_H
-
-#include <e32base.h>
-
-class CAknFepUIInterface;
-
-class CFepUiInterfacePlugin : public CBase
-	{
-public:
-	enum TInterfaceUid { ETypeId = 0x10285779 };
-	virtual TBool UseThisPlugin() const = 0;
-	virtual CAknFepUIInterface* NewImplL() = 0;
-	};
-
-#endif
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/inc/AknFepUiStylusPopupMenu.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 2007 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:           
-*       Interface through which the FEP can use UI components
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef AKNFEPUISTYLUSPOPUPMENU_H
-#define AKNFEPUISTYLUSPOPUPMENU_H
-
-#include <e32base.h>
-
-
-class CAknFepUiInterfaceStylusPopUpMenu : public CBase
-	{
-public:
-    virtual void AddMenuItemL(const TDesC& aItem, const TInt aCommandId) = 0;
-    virtual void SetPosition(const TPoint& aPoint) = 0;    
-    virtual void ShowMenu() = 0;
-	};
-
-
-#endif
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/inc/AknFepUiWordPopupContent.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-/*
-* Copyright (c) 2007 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:           
-*       Interface through which the FEP can use pop up bubble components
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INTERFACE_WORD_POPUP_CONTENT_H
-#define __AKN_FEP_UI_INTERFACE_WORD_POPUP_CONTENT_H
-
-#include <e32base.h>
-#include <eikcmobs.h>
-#include <avkon.hrh>
-
-
-
-class MAknFepUiWordPopupContent 
-	{
-public:
-    // Enum copied from CAknFepExactWordPopupContent
-    enum TArrowDirection
-            {
-            EUpwards,       //!< The arrow included in the popup points upwards
-            EDownwards      //!< The arrow included in the popup points downwards
-			};
-public: 
-	virtual ~MAknFepUiWordPopupContent() = 0;
-public:
-		/**
-        * Sets the text to be shown in the popup
-        */
-        virtual void SetTextL( const TDesC& aText ) = 0;
-        
-        /**
-        * Sets the direction of the arrow included in the popup. This should be used as a hint
-        * about the direction to tap to select the word shown in the popup.
-        */
-        virtual void SetArrowDirection( TArrowDirection aDirection ) = 0;
-		/**
-        * Sets the delay used before showing the preview popup. The default 
-        * delay is one second.
-        * @param aDelay Delay in microseconds.
-        */
-		virtual void SetPopUpShowDelay( const TTimeIntervalMicroSeconds32& aDelay ) = 0;
-       
-        /**
-        * Sets the preview popup visible after specified delay. If the popup
-        * is already visible it is hidden immediately and shown again after the
-        * showing delay. Popup is automatically hidden after its hiding delay
-        * unless the delay is zero in which case the popup is shown infinitely.
-        */
-        virtual void ShowPopUp() = 0;
-        
-        /**
-        * Hides the popup immediately.
-        */
-        virtual void HidePopUp() = 0;
-        
-        /**
-        * Sets the position of preview popup. Popup's size is determined by the
-        * size of its content. The popup is placed left and down from the given 
-        * point. If fixed mode is used then this function has no effect.
-        * @param aPoint Popup's position.
-        */
-        virtual void SetPosition( const TPoint& aPoint ) = 0;
-
-        /**
-        * Updates popup's size to reflect a change in content's size.
-        * Should be called if the size of the content is changed dynamically.
-        */
-        virtual void UpdateContentSize() = 0;
-        
-        /**
-        * Returns the popup's size.
-        */
-        virtual TSize Size() const = 0;   
-        
-        /**
-        * Returns true if the popup is visible.
-        */
-        virtual TBool IsPopUpVisible() = 0;   
-    };
-
-#endif
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/inc/aknfepuictrleditentrypopup.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,251 +0,0 @@
-/*
-* Copyright (c) 2004 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:           
-*       Provides the CAknFepUICtrlPinyinPopup class definitions.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#ifndef AKN_FEP_UI_EDIT_ENTRY_POPUP_H
-#define AKN_FEP_UI_EDIT_ENTRY_POPUP_H
-
-#include <e32std.h>
-
-class MAknFepUICtrlEditEntryPopup
-    {
-public:
-    enum 
-        {
-        ESpellingChanged    = 0x0001,
-        ESpellingNavigation = 0x0002,
-            EDispPageChanged    = 0x0004
-        };
-    /**
-     * The cursor move orientation.
-     */    
-    enum TMoveDirect
-        {
-        ELeft = 0,
-        ERight = 1
-        }; 
-    /**
-     * The number of selections that can be displayed in the popup.
-     */
-    enum
-        {
-        EMaxToneMarkLength = 1,
-        EMaxCandidates = 6,
-        EMaxCandidateCharsNotIncludingToneMark = 6,
-        EMaxCandidateChars = EMaxCandidateCharsNotIncludingToneMark + EMaxToneMarkLength,
-        EMaxPhraseCandidate = 10
-        };
-
-    typedef TBufC<EMaxToneMarkLength> TToneMark;
-
-public:
-    
-    /**
-     * This function move the cursor in the EEP.
-     *
-     * @param aMoveDirect if ELeft, the cursor move left
-     *                    if ERight, the cursor move right
-     *
-     * @return EFalse if the cursor can't move again other ETrue.
-     */
-    virtual TBool Move( TInt aMoveDirect ) const = 0;
-      
-    /**
-     * This function move the cursor in the EEP.
-     *
-     * @param aCount the number of the verifide Key sequence.
-     *
-     * @return None
-     */
-    virtual void SetVerifiedKeySequenceCount( TInt aCount ) const = 0;
-      
-    /**
-     * This function move the cursor in the EEP.
-     *
-     * @param aFlag if ETrue, the key sequence is verified
-     *              if EFalse, the key sequence is not verified.
-     *      
-     * @return EFalse if the cursor can't move again other ETrue.
-     */
-      virtual TBool SetVerifiedKeySequenceFlag( TBool aFlag) const = 0;
-      
-    /**
-     * This function returns the index of the selected phrase item .
-     *
-     * @return aIndex index of entry in window, zero based
-     */
-    virtual TInt CurrentSelection() const = 0;
-    
-    /**
-     * This function returns the visible index of the selected item.
-     *
-     * @return aIndex index of entry in window, zero based
-     */
-    virtual TInt CurrentVisibleSelection() const = 0;
-
-    /**
-     * Enables the display of the control. Sets the control's 
-     * window postion and visibility, but only if the value has
-     * changed (so it's ok to call it excessively). 
-     *
-     * @param aEnable if ETrue, makes visible
-     *                          if EFalse, makes non-visible
-     *
-     */
-    virtual void Enable(TBool aEnable) = 0;
-    /**
-     * set the number of selections that are visible
-     *
-     * @param aCount the number of visible selections, must be 
-     *                          0 < aCount <= KMaxNumberOfSelections 
-     */
-    virtual void SetVisibleCount(TInt aCount) = 0;
-
-    /**
-     * get the current visible selection count
-     *
-     * @return visible selection count
-     */
-    virtual TInt VisibleSelectionCount() const = 0;
-
-
-    /**
-     * This sets the string of the internal buffer for the item index aIndex to aText,
-     * even if the index falls outside the current visible candidates.
-     *
-     * @param aText new contents of text item
-     * @return ETrue if successful
-     *              EFalse if index outside visible candidates (but value is still set)
-     *
-     */
-    virtual TBool SetItemText(TInt aIndex, const TDesC& aText) = 0;
-
-    /**
-     *   Sets the string of the internal buffer for visible item 
-     */
-    virtual TBool SetPhraseItemTexts() = 0;
-    
-    /**
-     * This function gets the text at the index aIndex. 
-     *
-     * @param aIndex index of entry in window, zero based
-     * @output aText contains contents of text item
-     * @return ETrue always
-     *
-     */
-    virtual TBool GetItemText(TInt aIndex, TDes& aText) const = 0;
-
-    /**
-     * This function sets the Tone Mark for a specific entry
-     * 
-     * @param aIndex index of entry
-     * @param aToneMark the tone mark
-     *
-     */
-    virtual void SetToneMark(TInt aIndex, const TDesC& aToneMark) = 0;
-
-    /**
-     * This function sets the validity of the tonemark
-     *
-     * @param aIndex index of the entry to be affected
-     * @param aValid if ETrue, tonemark will be displayed as valid
-     *                          if EFalse, tonemark will be displayed as not valid
-     */
-    virtual void SetItemToneMarkValidity(TInt aIndex, TBool aValid) = 0;
-    /**
-     * Is the control enabled for display?
-     *
-     * @return if not enabled, return EFalse
-     */
-    virtual TBool IsEnabled() const = 0;
-
-    /**
-     * Select the next visible item. If already on the last one, loop to the 
-     * first one.
-     *
-     * @return ETrue if success, 
-     *              EFalse if no items visible, or if selection is outside visible items
-     */
-    virtual TBool SelectNextPhrase() = 0;
-
-    /**
-     * Select the previous visible item. If already on the first one, loop to the 
-     * last one.
-     *
-     * @return ETrue if success, 
-     *              EFalse if no items visible, or if selection is outside visible items
-     */
-    virtual TBool SelectPrevPhrase() = 0;
-
-    /**
-     * Return Pinyin spelling candidate array 
-     */
-    virtual CDesCArrayFlat* PhoneticSpellingArray(void) = 0;
-
-    /**
-     * Split phrase pinyin spelling candidates into pages 
-     */
-    virtual void SplitPhraseSpellingIntoPages(void) = 0;
-
-    /**
-     * Split pinyin spelling candidates into pages 
-     */
-    virtual void SplitSpellingIntoPages(TInt aCount) = 0;
-    
-    /**
-     * Set display page for deliberate selection 
-     */
-    virtual void SetDisplayPage(TInt aSelection) = 0;
-
-    /**
-     *    Return keystroke array 
-     */
-    virtual CDesCArrayFlat* KeystrokeArray(void) = 0;
-    
-    /**
-     *    return in effect keystroke array
-     */
-    virtual CDesCArrayFlat* InEffectKeystrokeArray(void) = 0;    
-
-    /**
-     *    Return show keystroke array 
-     */
-    virtual CDesCArrayFlat* ShowKeystrokeArray(void) = 0;
-    
-    /**
-     *    Return current page start spelling index 
-     */
-    virtual TInt CurrentPageStartIndex(void) = 0;
-    virtual void SetFlag(TInt aFlag) = 0;
-    virtual void ClearFlag(TInt aFlag) = 0;
-    virtual TBool IsFlagSet(TInt aFlag) const = 0;
-    virtual void PopupSizeChanged() = 0;
-    };
-
-#endif // AKN_FEP_UI_EDIT_ENTRY_POPUP_H
-
-// End of file
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/inc/aknfepuictrleditpane.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,545 +0,0 @@
-/*
-* Copyright (c) 2008-2008 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:           
-*       Provides the MAknFepUICtrlEditPane definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef M_AKNFEPUICTRLEDITPANE_H
-#define M_AKNFEPUICTRLEDITPANE_H
-
-/**
- * pane in which the user's edit is shown
- */
-class MAknFepUICtrlEditPane
-    {
-public:
-
-    /**
-	 * Set the show info
-	 * 	 
-     * @since S60 v5.0
-     * @param aDes the show info.
-     * @return None.
-     */
-	virtual void SetText( const TDesC& aDes ) = 0;
-	
-    /**
-     * Set the show info and cursor position
-     *   
-     * @since S60 v5.0
-     * @param aDes the show info.
-     * @param aCursorIndex the cursor position.
-     * @return None.
-     */
-    virtual void SetText( const TDesC& aDes, TInt aCursorIndex, TBool aMiniQwertyZhuyin = EFalse ) = 0;
-    
-    /**
-     * Set the show info
-     *   
-     * @since S60 v5.0
-     * @param aDes the show info.
-     * @param aCursorIndex the cursor position.
-     * @param aChineseCount the chinese count.
-     * @param aJudgeSeed the zhuyin symbols.
-     * @param aKeystroke the index of symbols.
-     * @param aRefreshOffset ETrue the show info only is zhuyin symbols.
-     * @return None.
-     */
-    virtual void SetTextForZhuyin( 
-                                  const TDesC& aDes, 
-                                  TInt aCursorIndex, 
-                                  TInt aChineseCount, 
-                                  const TDesC& aJudgeSeed, 
-                                  TInt aKeystroke, 
-                                  TBool aRefreshOffset = EFalse,
-                                  TBool aMiniQwertyZhuyin = EFalse
-                                  ) = 0;
-    
-    /**
-     * Set the cousor the index. 
-     *   
-     * @since S60 v5.0
-     * @param aIndex the index of cousor.
-     * @return None.
-     */
-	virtual void SetCursor( const TInt aIndex ) = 0;
-	
-    /**
-     * Get the index of the cursor.
-     *   
-     * @since S60 v5.0
-     * @return the index of cousor.
-     */
-	virtual TInt GetCursor() = 0;
-	
-    /**
-     * Move cursor to the left.
-     *   
-     * @since S60 v5.0
-     * @param aStride the cursor move offset.
-     * @return ETrue if the cursor can be move,EFalse the others.
-     */
-	virtual TBool MoveCursorLeft( TInt aStride = 1 ) = 0;
-
-    /**
-     * Move cursor to the right.
-     *   
-     * @since S60 v5.0
-     * @param aStride the cursor move offset.
-     * @return ETrue if the cursor can be move,EFalse the others.
-     */
-	virtual TBool MoveCursorRight( TInt aStride = 1 ) = 0;
-	
-    /**
-     * Active cursor. 
-     *   
-     * @since S60 v5.0
-     * @return None.
-     */
-    virtual void ActiveCursor() = 0;
-
-    /**
-     * Deactive cursor. 
-     *   
-     * @since S60 v5.0
-     * @return None.
-     */
-    virtual void DeactiveCursor() = 0;
-    
-    /**
-     * Enable cursor, the cursor will be drawn.
-     *   
-     * @since S60 v5.0
-     * @return None.
-     */
-    virtual void EnableCursor() = 0;
-    
-    /**
-     * Disable cursor, the cursor will be not drawn.
-     *   
-     * @since S60 v5.0
-     * @return None.
-     */
-    virtual void DisableCursor() = 0;
-    
-    /**
-     * Set the show info underline.
-     *   
-     * @since S60 v5.0
-     * @param aStartIndex the underline begine index.
-     * @param aEndIndex the underline end index.
-     * @return None.
-     */
-	virtual void SetUnderline( TInt aStartIndex, TInt aEndIndex ) = 0;
-	
-    /**
-     * Get the show info underline.
-     *   
-     * @since S60 v5.0
-     * @param aStartIndex the underline begine index.
-     * @param aEndIndex the underline end index.
-     * @return None.
-     */
-    virtual void GetUnderlineIndex(TInt& aStartIndex, TInt& aEndIndex) = 0;
-	
-    /**
-     * Set the highlight text.
-     *   
-     * @since S60 v5.0
-     * @param aStartIndex the high light begine index.
-     * @param aEndIndex the high light end index.
-     * @return None.
-     */
-    virtual void SetHighlight(TInt aStartIndex, TInt aEndIndex) = 0;
-
-    /**
-     * Get the highlight text.
-     *   
-     * @since S60 v5.0
-     * @param aStartIndex the high light begine index.
-     * @param aEndIndex the high light end index.
-     * @return None.
-     */
-    virtual void GetHighlightIndex(TInt& aStartIndex, TInt& aEndIndex) = 0;
-    
-    /**
-     * set index of keystroke array.
-     *   
-     * @since S60 v5.0
-     * @param aStartIndex the index.
-     * @return None.
-     */
-	virtual void SetCursorIndexOfKeystroke( const TInt aStartIndex ) = 0;
-	
-    /**
-     * Get index of keystroke array.
-     *   
-     * @since S60 v5.0
-     * @return the index.
-     */
-	virtual TInt GetCursorIndexOfKeystroke() = 0;
-
-    /**
-     * Enables the display of the control. Sets the control's 
-     * window postion and visibility, but only if the value has
-     * changed (so it's ok to call it excessively). 
-     *
-     * @since S60 v5.0
-     * @param aEnable if ETrue, makes visible
-     *                          if EFalse, makes non-visible
-     * @return none.
-     */
-    virtual void Enable(TBool aEnable) = 0;	
-
-    /**
-     * Is the control enabled for display?
-     *
-     * @since S60 v5.0
-     * @return if not enabled, return EFalse
-     */
-    virtual TBool IsEnabled() const = 0;
-	
-    /**
-     * Get the text buffer of the pane
-     *
-     * @since S60 v5.0
-     * @param aText the buffer is filled with the contents of the candidate
-     *              of the pane, up to the size of the buffer
-     * @return if not enabled, return EFalse
-     */
-    virtual void GetText(TDes& aText) = 0;
-    
-    /**
-     * Get the show info before cursor.
-     *
-     * @since S60 v5.0
-     * @param aOut the show info of the before cursor.
-     * 
-     * @return if not enabled, return EFalse
-     */
-    virtual TBool GetDesBeforeCursor ( TDes& aOut ) = 0;
-
-    /**
-     * This function sets the Tone Mark for the Pane.
-     *
-     * @since S60 v5.0
-     * @param aToneMark descriptor containing the tone mark character
-     * 
-     * @return none.
-     */
-    virtual void SetToneMark(const TDesC& aToneMark) = 0;
-
-    /**
-     * This function sets the validity of the tonemark
-     *
-     * @since S60 v5.0
-     * @param aValid if ETrue, tonemark will be displayed as valid
-     *                          if EFalse, tonemark will be displayed as not valid
-     * 
-     * @return none.
-     */
-    virtual void SetToneMarkValidity(TBool aValid) = 0;
-    
-    /**
-     * Reset private member viariable.
-     * 
-     * @since S60 v5.0
-     * @return None.
-     */
-    virtual void Reset() = 0;
-    
-    /**
-     * Sets the font to be used, which will override the font from LAF
-     *
-     * @since S60 v5.0
-     * @param aFontId the new font id, pass in 0 to use the one from LAF
-     * @return None.
-     */
-    virtual void SetOverrideFontId(TInt aFontId) = 0;
-    
-    /**
-     * Sets flag
-     *
-     * @since S60 v5.0
-     * @param aFlag the flag
-     * @return None.
-     */
-    virtual void SetFlag(TInt aFlag) = 0;
-    
-    /**
-     * Clear flag
-     *
-     * @since S60 v5.0
-     * @param aFlag the flag
-     * @return None.
-     */
-    virtual void ClearFlag(TInt aFlag) = 0;
-    
-    /**
-     * check flag
-     *
-     * @since S60 v5.0
-     * @param aFlag the flag
-     * @return if not enabled, return EFalse.
-     */
-    virtual TBool IsFlagSet(TInt aFlag) const = 0;
-    
-    /**
-     * Return kestroke array.
-     * 
-     * @since S60 v3.2.3
-     * @param None.
-     * @return pointer of array.
-     */
-    virtual CDesCArrayFlat* KeystrokeArray() = 0;
-
-    /**
-     * Return show kestroke array. 
-     * save keystroke that after Analyse when pinyin. 
-     * save all valid keystroke when zhuyin. 
-     * 
-     * @since S60 v3.2.3
-     * @param None.
-     * @return pointer of array.
-     */
-    virtual CDesCArrayFlat* ShowKeystrokeArray() = 0;
-
-    /**
-     * Return choose chinese charater array. 
-     * 
-     * @since S60 v3.2.3
-     * @param None.
-     * @return pointer of array.
-     */
-    virtual CDesCArrayFlat* PhraseArray() = 0;
-
-    /**
-      * Return choose chinese charater show keystroke array. 
-      * 
-      * @since S60 v3.2.3
-      * @param None.
-      * @return pointer of array.
-      */
-    virtual CDesCArrayFlat* PhraseShowKeyStrokeArray() = 0;
-    
-    /**
-     * Return temp array. 
-     * 
-     * @since S60 v3.2.3
-     * @param None.
-     * @return pointer of array.
-     */
-    virtual CDesCArrayFlat* TempArray() = 0;
-    
-    /**
-     * Reset private member viariable array.
-     * 
-     * @since S60 v3.2.3
-     * @param None.
-     * @return None.
-     */
-    virtual void ResetAllArray() = 0;
-    
-    /**
-     * change state flag.
-     * 
-     * @since S60 v3.2.3
-     * @param aState, ETrue change state.
-     * @return None.
-     */
-    virtual void SetChangeState( TBool aState = ETrue ) = 0;
-    
-    /**
-     * check change state flag.
-     * 
-     * @since S60 v3.2.3
-     * @param None.
-     * @return ETrue if change state, EFalse others.
-     */
-    virtual TBool IsChangeState() = 0;
-
-    /**
-     * Set auto change state flag.
-     * 
-     * @since S60 v3.2.3
-     * @param aState, ETrue auto change state, EFalse manual change state.
-     * @return None.
-     */
-    virtual void SetAutoChangeStateFlag( TBool aState = ETrue ) = 0;
-    
-    /**
-     * check change state flag.
-     * 
-     * @since S60 v3.2.3
-     * @param None.
-     * @return ETrue atuo change state, EFalse others.
-     */
-    virtual TBool GetAutoChangeStateFlag() = 0;
-    
-    
-    /**
-     * Set all the keystroke valid flag.
-     * 
-     * @since S60 v3.2.3
-     * @param aState, ETrue all the keystroke is valid, EFalse others.
-     * @return None.
-     */
-    virtual void SetAllValidFlag( TBool aState = ETrue ) = 0;
-    
-    /**
-     * Get all the keystroke valid flag.
-     * 
-     * @since S60 v3.2.3
-     * @param None.
-     * @return ETrue all the keystroke is valid, EFalse others.
-     */
-    virtual TBool GetAllValidFlag() = 0;
-    
-    /**
-     * Set the keystroke invalid index.
-     * 
-     * @since S60 v3.2.3
-     * @param aIndex, the keystroke invalid index.
-     * @return None.
-     */
-    virtual void SetInvalidIndex( TInt aIndex = 0 ) = 0;
-    
-    /**
-     * Get all the invalid keystroke index.
-     * 
-     * @since S60 v3.2.3
-     * @param None.
-     * @return invalid keystroke index.
-     */
-    virtual TInt GetInvalidIndex() = 0;
-    
-    /**
-     * Set Phrase Creation flag.
-     * 
-     * @since S60 v3.2.3
-     * @param aState, ETrue is phrase creation, EFalse others.
-     * @return None.
-     */
-    virtual void SetPhraseCreationFlag( TBool aState ) = 0;
-    
-    /**
-     * Get Phrase Creation flag.
-     * 
-     * @since S60 v3.2.3
-     * @param None.
-     * @return ETrue is phrase creation, EFalse others.
-     */
-    virtual TBool GetPhraseCreationFlag() = 0;
-    
-    /**
-     * Set Phrase Candidate state need refresh UI flag.
-     * 
-     * @since S60 v3.2.3
-     * @param aState, ETrue is that Candidate state need refresh UI,other don't need.
-     * @return None.
-     */
-    virtual void SetCandidateRefreshFlag( TBool aState ) = 0;
-    
-    /**
-     * Get Phrase Candidate state need refresh UI flag.
-     * 
-     * @since S60 v3.2.3
-     * @param None.
-     * @return ETrue is that Candidate state need refresh UI,EFalse don't need.
-     */
-    virtual TBool GetCandidateRefreshFlag() = 0;
-    
-    /**
-     * Set the delimiter count of keystroke.
-     * 
-     * @since S60 v3.2.3
-     * @param aCount, the delimiter count of keystroke.
-     * @return None.
-     */
-    virtual void SetDelimiterCount( TInt aCount ) = 0;
-    
-    /**
-     * Get the delimiter count of keystroke. 
-     * 
-     * @since S60 v3.2.3
-     * @param None.
-     * @return aCount, the delimiter count of keystroke.
-     */
-    virtual TInt GetDelimiterCount() = 0;
-    
-    /**
-     * Get current cba resource id. 
-     * 
-     * @since S60 v3.2.3
-     * @param None.
-     * @return current cba resource id.
-     */
-    virtual TInt GetCurrentCBAResID() = 0;
-    
-    /**
-     * Set current cba resource id. 
-     * 
-     * @since S60 v3.2.3
-     * @param aResourceId, current cba resource id.
-     * @return None.
-     */
-    virtual void SetCurrentCBAResID( TInt aResourceId) = 0;
-    
-    virtual void SetEffictiveLength( TInt aLength ) = 0;
-    
-    virtual TInt GetEffictiveLength() = 0;
-    
-    virtual void DecEffictiveLength() = 0;
-    
-    virtual void AddEffictiveLength() = 0;
-    
-    virtual void SetNeedClearDeliberateSelection( TBool aNeedClearDeliberateSelection ) = 0;
-    
-    virtual TBool NeedClearDeliberateSelection() = 0;
-	/**
-     * Return keycode array.
-     * 
-     * @since S60 v3.2.3
-     * @param None.
-     * @return pointer of array.
-     */
-    virtual RArray<TInt>* KeycodeArray() = 0;
-    
-	/**
-     * Return phrase keycode array.
-     * 
-     * @since S60 v3.2.3
-     * @param None.
-     * @return pointer of array.
-     */
-    virtual RArray<TInt>* PhraseKeycodeArray() = 0;
-    };
-
-#endif /*M_AKNFEPUICTRLEDITPANE_H*/
-
-//End of File
-
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/src/AknFepIndicator.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the CAknFepIndicator methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include <eikenv.h>         //CEikEnv
-#include <eikspane.h>       //CEikStatusPane
-#include <avkon.hrh>
-#include <aknnavi.h>        //CAknNavigationControlContainer
-#include <aknnavide.h>      //CAknNavigationDecorator
-#include <AknIndicatorContainer.h>  //CAknIndicatorContainer
-#include <aknEditStateIndicator.h>
-#include <AknUtils.h>
-#include "AknFepIndicator.h"
-
-#include "AknFepGlobalEnums.h"
-
-EXPORT_C CAknFepIndicator::~CAknFepIndicator()
-	{
-	}
-
-EXPORT_C void CAknFepIndicator::SetCopyMode(TBool aCopyMode)
-	{
-	iCopyMode = aCopyMode;
-	iCopyModeChanged = ETrue;
-	}
-
-
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/src/AknFepUiInterface.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +0,0 @@
-/*
-* Copyright (c) 2007 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:           
-*       Provides the CAknFepUIInterface methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "aknfepuiinterface.h"
-#include "AknFepUiInterfacePlugin.h"
-#include <ecom/ecom.h>
-
-void PanicNoImpl()
-	{
-	_LIT(KReason, "NoFepUiImpl");
-	User::Panic(KReason, 0);
-	}
-
-const TUid KAvkonPluginUid = { 0x10285839 };
-
-void EComDtorCleanup(TAny* aUid)
-	{
-	TUid dtor = {(TInt)aUid};
-	REComSession::DestroyedImplementation(dtor);
-	}
-
-void EComImplCleanup(TAny* aArray)
-	{
-	RImplInfoPtrArray* array = (RImplInfoPtrArray*) aArray;
-	array->ResetAndDestroy();
-	}
-	
-// factory function	
-EXPORT_C CAknFepUIInterface* CAknFepUIInterface::NewL()
-	{
-	RImplInfoPtrArray impls;
-	CleanupStack::PushL(TCleanupItem(EComImplCleanup, &impls));	
-	REComSession::ListImplementationsL(TUid::Uid(CFepUiInterfacePlugin::ETypeId), impls);
-	
-	// Move Avkon plugin to the back of the list to act as default implementation
-	TInt count = impls.Count();
-	for (int i=0; i<count-1; i++)
-		{
-		CImplementationInformation* info = impls[i];
-		if (info->ImplementationUid() == KAvkonPluginUid)
-			{
-			impls.Remove(i);
-			// Append will not fail as space has been freed by Remove
-			impls.Append(info);
-			break;
-			}
-		}
-
-	// Find the first plugin that says it should be used	
-	CAknFepUIInterface* impl = NULL;
-	for (int i=0; !impl && i<count; i++)
-		{
-		TUid dtorUid;
-		CFepUiInterfacePlugin* plugin = (CFepUiInterfacePlugin*)REComSession::CreateImplementationL(impls[i]->ImplementationUid(), dtorUid);
-		if (plugin->UseThisPlugin())
-			{
-			CleanupStack::PushL(TCleanupItem(EComDtorCleanup, (TAny*)dtorUid.iUid));
-			CleanupStack::PushL(plugin);
-			impl = plugin->NewImplL();
-			impl->iEcomDtorUid = dtorUid;
-			CleanupStack::PopAndDestroy(plugin);
-			CleanupStack::Pop();
-			}
-		else
-			{
-			delete plugin;
-			REComSession::DestroyedImplementation(dtorUid);
-			}
-		}
-	
-	CleanupStack::PopAndDestroy(&impls);
-	
-	__ASSERT_ALWAYS(impl, PanicNoImpl());
-	return impl;
-	}
-
-EXPORT_C CAknFepUIInterface::~CAknFepUIInterface()
-	{
-	if (iEcomDtorUid.iUid)
-		REComSession::DestroyedImplementation(iEcomDtorUid);
-	}
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/src/AknFepUiMenus.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* Copyright (c) 2007 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:           
-*       Provides the menu methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "aknfepuimenus.h"
-
-EXPORT_C void MAknFepUiInterfaceMenuObserver::DynInitMenuPaneL(TInt /*aResourceId*/,CAknFepUiInterfaceMenuPane* /*aMenuPane*/)
-	{
-	}
-
-EXPORT_C void MAknFepUiInterfaceMenuObserver::DynInitMenuBarL(TInt /*aResourceId*/,CAknFepUiInterfaceMenuBar* /*aMenuBar*/)
-	{
-	}
-
Binary file fep/aknfep/conf/aknfep.confml has changed
Binary file fep/aknfep/conf/aknfep_101F876D.crml has changed
Binary file fep/aknfep/conf/aknfep_japan.confml has changed
Binary file fep/aknfep/conf/aknfep_thai.confml has changed
--- a/fep/aknfep/group/AknFep.mmp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,342 +0,0 @@
-/*
-* Copyright (c) 2002-2008 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:           
-*       MakMake Project file.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include <data_caging_paths.hrh>
-#include <bldvariant.hrh>
-#include <platform_paths.hrh>
-
-TARGET          avkonfep.dll
-TARGETTYPE      plugin
-
-UID             0x10009d8d 0x100056de
-CAPABILITY      All -Tcb
-
-VENDORID        VID_DEFAULT
-
-SOURCEPATH      ../resource
-
-START RESOURCE 100056de.rss
-TARGET AvkonFep.rsc
-END
-
-START RESOURCE  AknFep.rss
-HEADER
-TARGETPATH      FEP_RESOURCES_DIR
-LANGUAGE_IDS
-END
-
-MACRO   __REVERSE_FN_KEY_SUPPORTED
-MACRO   __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-MACRO   __HALF_QWERTY_KEYPAD
-MACRO   __ITI_VIRTUAL_TOUCH_FIRST_GENERATION_SUPPORT__ 
-
-USERINCLUDE     ../inc .
-//sort this out when move to 2.0 env
-
-
-// Added APP_LAYER_SYSTEMINCLUDE for header split and relocation activity
-APP_LAYER_SYSTEMINCLUDE
-
-
-// This is a SYSTEMINCLUDE macro containing the middleware
-// layer specific include directories
-MW_LAYER_SYSTEMINCLUDE
-
-SYSTEMINCLUDE   ../inc
-SYSTEMINCLUDE   ../../../inc
-//SYSTEMINCLUDE   ../../inc
-
-SOURCEPATH      ../src
-
-SOURCE          AknFepManager.cpp
-SOURCE          AknFepKeyCatcher.cpp
-SOURCE          AknFepHashKeyManager.cpp
-SOURCE          AknFepCaseManager.cpp
-SOURCE          AknFepSharedDataInterface.cpp
-SOURCE          AknFepLanguageManager.cpp
-SOURCE          AknFepUiManagerBase.cpp
-SOURCE          AknFepInlineTextDecorator.cpp
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-SOURCE          AknFepFnKeyManager.cpp
-SOURCE          AknFepUiInputStateHalfQwerty.cpp
-SOURCE			AknFepUiInputStateInitialHalfQwertyWesternPredictive.cpp 
-SOURCE			AknFepUiInputStateEntryHalfQwertyWesternPredictive.cpp
-#endif
-#ifdef RD_SCALABLE_UI_V2
-SOURCE          AknFepPluginManager.cpp
-SOURCE          AknFepPluginMenuManager.cpp
-SOURCE          aknfepuimanagerfingeritutchinese.cpp
-SOURCE          aknfepuifingeritutinputstategeneric.cpp
-
-// for spell
-SOURCE         aknfepuispellcontainer.cpp
-SOURCE         aknfepuispellinputpane.cpp
-#endif
-
-// UI manager for each variant
-SOURCE          AknFepUiManagerWestern.cpp
-SOURCE			AknFepUiIndicInputManager.cpp
-SOURCE			AknFepUiInputStateInitialIndicMultitap.cpp
-SOURCE			AknFepUiInputStateInitialIndicPredictive.cpp
-SOURCE			AknFepUiInputStateEntryIndicPredictive.cpp
-SOURCE			AknFepUiInputStateInitialKoreanMultitap.cpp
-SOURCE          AknFepUiManagerKorean.cpp
-#ifdef RD_HINDI_PHONETIC_INPUT	
-SOURCE			aknfepuiinputstateinitialindicphoneticmultitap.cpp
-SOURCE			aknfepuiinputstateindicphoneticqwerty.cpp
-#endif
-
-SOURCE          AknFepUiManagerChinese.cpp
-SOURCE          AknFepUiManagerJapanese.cpp
-// UI Inputstates
-SOURCE          AknFepUiInputStateBase.cpp
-// for western
-SOURCE          AknFepUiInputStateInitialNumber.cpp
-SOURCE          AknFepUiInputStateInitialLatinMultitap.cpp
-SOURCE          AknFepUiInputStateInitialMultitapBase.cpp
-SOURCE          AknFepUiInputStateInitialWesternPredictive.cpp
-SOURCE          AknFepUiInputStateEntryWesternPredictive.cpp
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-// Predictive Qwerty changes (e.g. XT9) ---->
-SOURCE          AknFepUiInputStateInitialQwertyWesternPredictive.cpp
-SOURCE          AknFepUiInputStateEntryQwertyWesternPredictive.cpp
-// Predictive Qwerty changes (e.g. XT9) <----
-#endif //RD_INTELLIGENT_TEXT_INPUT 
-SOURCE          AknFepUiInputStateEntryWesternPredictiveJp.cpp
-
-// for Arabic and Hebrew
-SOURCE          AknFepUiInputStateInitialArabicHebrewMultitap.cpp
-SOURCE          AknFepUiInputStateInitialArabicHebrewPredictive.cpp
-SOURCE          AknFepUiInputStateEntryArabicHebrewPredictive.cpp
-
-// for Chinese
-SOURCE          AknFepUiInputStateChineseBase.cpp
-SOURCE          AknFepUiInputStateInitialChineseMultitapBase.cpp
-SOURCE          AknFepUiInputStateInitialChineseGeneric.cpp
-SOURCE          AknFepUiInputStateInitialZhuyinFind.cpp
-SOURCE          AknFepUiInputstateInitialStrokeFind.cpp
-SOURCE          AknFepUiInputStateEntryPinyin.cpp
-SOURCE          AknFepUiInputStateEntryZhuyinStrokeBase.cpp
-SOURCE          AknFepUiInputStateEntryZhuyin.cpp
-SOURCE          AknFepUiInputStateEntryStroke.cpp
-SOURCE          AknFepUiInputStateCandidateBase.cpp
-SOURCE          AknFepUiInputStateCandidate.cpp
-SOURCE          AknFepUiInputStatePredictiveCandidate.cpp
-SOURCE          AknFepUiInputStatePredictiveCandidatePinyin.cpp
-SOURCE          AknFepUiInputStatePredictiveCandidateStroke.cpp
-SOURCE          AknFepUiInputStatePredictiveInput.cpp
-SOURCE          AknFepUiInputStatePredictiveInputChinese.cpp
-// Chinese phrase Input state
-SOURCE          AknFepUiInputStateEntryPinyinPhrase.cpp
-SOURCE          AknFepUiInputStateEntryZhuyinPhrase.cpp
-SOURCE          AknFepUiInputStateEntryStrokePhrase.cpp
-SOURCE          AknFepUiInputStateEntryZhuyinStrokeBasePhrase.cpp
-SOURCE          AknFepUiInputStateCandidateChinese.cpp
-SOURCE          AknFepUiInputStateCandidateBasePhrase.cpp
-SOURCE          AknFepUiInputStateCandidateBaseChinesePhrase.cpp
-SOURCE          AknFepUiInputStateCandidateChinesePhrase.cpp
-SOURCE          AknFepUiInputStateCandidateQwertyBaseChinesePhrase.cpp
-SOURCE          AknFepUiInputStateCandidatePinyinAndStrokePhrase.cpp
-SOURCE          AknFepUiInputStateCandidatePhrase.cpp
-SOURCE          AknFepUiInputStatePredictiveCandidatePhrase.cpp
-SOURCE          AknFepUiInputStatePredictiveCandidatePinyinPhrase.cpp
-SOURCE          AknFepUiInputStatePredictiveCandidateStrokePhrase.cpp
-SOURCE          AknFepUiInputStatePredictiveInputPhrase.cpp
-SOURCE          AknFepUiInputStatePredictiveCandidateChinesePhrase.cpp
-SOURCE          AknFepUiInputStatePredictiveInputChinesePhrase.cpp
-// Chinese Qwerty
-SOURCE          AknFepUiInputStateInitialChineseGenericQwerty.cpp
-SOURCE 	        AknFepUiInputStatePredictiveInputQwerty.cpp
-SOURCE 	        AknFepUiInputStatePredictiveInputQwertyPinyin.cpp
-SOURCE          AknFepUiInputStateEntryQwertyPinyin.cpp
-SOURCE          AknFepUiInputStateEntryQwertyZhuyin.cpp
-SOURCE 		AknFepUiInputStateCandidateQwertyZhuyin.cpp
-SOURCE 		AknFepUiInputStatePredictiveCandidateQwertyZhuyin.cpp
-SOURCE          AknFepUiInputStatePredictiveInputQwertyZhuyin.cpp
-SOURCE          AknFepUiInputStateCandidateQwertyBase.cpp
-SOURCE          AknFepUiInputStateCandidateQwertyChineseBase.cpp
-SOURCE          AknFepUiInputStateEntryQwertyBase.cpp
-SOURCE          AknFepUiInputStateEntryQwertyStroke.cpp
-SOURCE          AknFepUiInputStateEntryQwertyCangJie.cpp
-SOURCE 		AknFepUiInputStateCandidateQwertyBasePhrase.cpp
-SOURCE 		AknFepUiInputStateEntryQwertyBaseChinesePhrase.cpp
-SOURCE 		AknFepUiInputStateCandidateQwertyChinesePhrase.cpp
-SOURCE 		AknFepUiInputStateEntryQwertyBasePhrase.cpp
-SOURCE 		AknFepUiInputStatePredictiveInputQwertyPhrase.cpp
-SOURCE 		AknFepUiInputStatePredictiveInputQwertyChinesePhrase.cpp
-SOURCE          AknFepUiInputStateEntryQwertyPinyinPhrase.cpp
-SOURCE          AknFepUiInputStateEntryQwertyZhuyinPhrase.cpp
-SOURCE          AknFepUiInputStateEntryQwertyStrokePhrase.cpp
-SOURCE 		AknFepUiInputStateCandidateQwertyZhuyinPhrase.cpp
-SOURCE 		AknFepUiInputStatePredictiveCandidateQwertyZhuyinPhrase.cpp
-SOURCE 		AknFepUiInputStatePredictiveInputQwertyZhuyinPhrase.cpp
-SOURCE 		AknFepUiInputStateStrokeFindQwerty.cpp
-SOURCE 		AknFepUiInputStateChineseFindQwerty.cpp
-SOURCE 		AknFepUiInputStateZhuyinFindQwerty.cpp
-SOURCE          AknFepUiInputStateCandidateQwertyPhrase.cpp
-SOURCE          AknFepUiInputStatePredictiveInputQwertyPinyinPhrase.cpp
-SOURCE          AknFepUiInputStateCandidateQwerty.cpp
-SOURCE          AknFepUiInputStateCandidateQwertyChinese.cpp
-SOURCE          AknFepUiInputStatePredictiveInputQwertyStrokePhrase.cpp
-SOURCE          AknFepUiInputStatePredictiveInputQwertyStroke.cpp
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-SOURCE          AknFepUiInputStateCandidateMiniQwertyPinyinAndStrokePhrase.cpp
-SOURCE          AknFepUIInputStateEntryMiniQwertyPinyinPhrase.cpp
-SOURCE          AknFepUIInputStatePredictiveInputMiniQwertyChinesePhrase.cpp
-SOURCE          AknFepUiInputStatePredictiveCandidateMiniQwertyChinesePhrase.cpp
-SOURCE          AknFepUiInputStateEntryMiniQwertyZhuyinPhrase.cpp
-SOURCE          AknFepUiInputStateCandidateMiniQwertyZhuyinPhrase.cpp
-SOURCE          AknFepUIInputStateEntryMiniQwertyCangJie.cpp
-SOURCE          aknfepuiinputminiqwertypinyinphrasebase.cpp 
-SOURCE          aknfepuiinputminiqwertystrokephrasebase.cpp 
-SOURCE          aknfepuiinputstateminiqwertystrokephrase.cpp
-SOURCE          aknfepinputstateminiqwertyzhuyinkeymap.cpp  
-SOURCE          aknfepuiinputminiqwertyzhuyinphrasebase.cpp
-SOURCE          aknfepuiinputstateminiqwertyzhuyinphrase.cpp
-SOURCE          AknFepUiInputStateCandidateHalfQwertyChinesePhrase.cpp
-SOURCE          AknFepInputStateInitialChineseGenericHalfQwerty.cpp
-SOURCE          AknFepUiInputStatePredictiveCandidateHalfQwertyChinesePhrase.cpp
-SOURCE          aknfepuiinputstateentryhalfqwertyphrase.cpp 
-#endif
-
-// for thai
-SOURCE          AknFepUiInputStateInitialThaiMultitap.cpp
-SOURCE          AknFepUiInputStateInitialThaiPredictive.cpp
-SOURCE          AknFepUiInputStateEntryThaiPredictive.cpp
-SOURCE          AknFepThaiSCTSelector.cpp
-
-// for Japanese
-SOURCE          AknFepUiInputStateJapaneseBase.cpp
-SOURCE          AknFepUiInputStateInitialJapaneseBase.cpp
-SOURCE          AknFepUiInputStateInitialHiraganaKanji.cpp
-SOURCE          AknFepUiInputStateInitialHiragana.cpp
-SOURCE          AknFepUiInputStateInitialKatakana.cpp
-SOURCE          AknFepUiInputStateInitialLatinJapanese.cpp
-SOURCE          AknFepUiInputStateInitialFullNumber.cpp
-SOURCE          AknFepUiInputStateEntryJapaneseMultitap.cpp
-SOURCE          AknFepUiInputStateEntryHiraganaKanji.cpp
-SOURCE          AknFepUiInputStateEntryKatakana.cpp
-SOURCE          AknFepUiInputStateEntryLatinJapanese.cpp
-SOURCE          AknFepUiInputStateConversionHiraganaKanji.cpp
-SOURCE          AknFepUiInputStateCandidateHiraganaKanji.cpp
-SOURCE          AknFepUiInputStateCompletionJapaneseMultitap.cpp
-SOURCE          AknFepUiInputStateCompletionHiraganaKanji.cpp
-SOURCE          AknFepUiInputStateCompletionKatakana.cpp
-SOURCE          AknFepUiInputStateCompletionPredictiveHiraganaKanji.cpp
-SOURCE          AknFepUiInputStateCompletionLatinJapanese.cpp
-SOURCE          AknFepUiInputStateJapanesePredictiveBase.cpp
-SOURCE          AknFepUiInputStatePredictiveInputJapanese.cpp
-SOURCE          AknFepUiInputStateNextWordJapanesePredictive.cpp
-SOURCE          AknFepUiInputStateCandidateRetroActive.cpp
-
-// for Vietnamese
-SOURCE          AknFepUiInputStateInitialVietnameseMultitap.cpp
-SOURCE          AknFepVietnameseToneManager.cpp
-SOURCE          AknFepUiInputStateEntryVietnamesePredictive.cpp
-
-// for Qwerty
-SOURCE          AknFepUiInputStateQwerty.cpp
-SOURCE          AknFepPlugin.cpp
-// for phraes creation
-SOURCE          aknfepinputstatecandidatepinyinphrasecreation.cpp 
-SOURCE          aknfepinputstatespellingpinyinphrasecreation.cpp 
-SOURCE          aknfepuserdbdlg.cpp 
-SOURCE          aknfepuserdbquerydlg.cpp 
-SOURCE          AknFepZhuyinAnalyser.cpp 
-SOURCE          AknFepZhuyinAnalyserDb.cpp 
-SOURCE          dbmanagement.cpp 
-SOURCE          aknfepuiinputstateentrypinyinphrasecreation.cpp 
-SOURCE          aknfepzhuyinconvertion.cpp 
-SOURCE          aknfepzhuyinkeyhandler.cpp
-SOURCE          aknfepinputstatepinyinphrasecreationbase.cpp
-SOURCE          aknfepuiinputstatestrokephrasebase.cpp 
-SOURCE          aknfepuiinputstateentryzhuyinphrasecreation.cpp 
-SOURCE          aknfepuiinputstatezhuyinphrasecreationbase.cpp
-SOURCE          aknfepuiinputstateqwertykorean.cpp
-
-LIBRARY         euser.lib
-LIBRARY         fepbase.lib
-LIBRARY         cone.lib
-LIBRARY         ws32.lib
-LIBRARY         eikcoctl.lib
-LIBRARY         eikctl.lib
-LIBRARY         eikcore.lib
-LIBRARY         ptiengine.lib // for PtiEngine
-LIBRARY         avkon.lib
-LIBRARY         commonengine.lib
-LIBRARY         bafl.lib
-LIBRARY         form.lib
-LIBRARY         eikdlg.lib
-LIBRARY         aknjapanesereading.lib
-LIBRARY         featmgr.lib
-LIBRARY         jplangutil.lib
-LIBRARY         apparc.lib
-LIBRARY         aknpictograph.lib
-LIBRARY         etext.lib
-LIBRARY         tagma.lib
-LIBRARY         gdi.lib
-LIBRARY         AknIcon.lib
-LIBRARY         egul.lib
-LIBRARY         hlplch.lib 
-
-LIBRARY         AknLayout2Scalable.lib
-LIBRARY         aknskins.lib 
-LIBRARY         aknskinsrv.lib
-LIBRARY         uiklaf.lib 
-
-LIBRARY         fbscli.lib
-LIBRARY		    efsrv.lib
-LIBRARY         CdlEngine.lib
-LIBRARY         apgrfx.lib
-
-#ifdef RD_SCALABLE_UI_V2
-LIBRARY         peninputclient.lib
-#endif
-
-LIBRARY         CentralRepository.lib
-LIBRARY         CenRepNotifHandler.lib
-
-LIBRARY ecom.lib
-LIBRARY			AknfepUiInterface.lib
-
-#ifdef RD_TACTILE_FEEDBACK     
-LIBRARY             touchfeedback.lib
-#endif // RD_TACTILE_FEEDBACK  
-
-
-#ifdef RD_SCALABLE_UI_V2
-LIBRARY    aknnotify.lib
-#endif //RD_SCALABLE_UI_V2
-START WINS
-BASEADDRESS     0x70500000
-END
-
-
-// End of file
--- a/fep/aknfep/group/Iconlist.txt	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,4 +0,0 @@
-/c8,1 qgn_indi_fep_arrow_left.bmp
-/c8,1 qgn_indi_fep_arrow_right.bmp
-/c8,1 qgn_indi_fep_arrow_up.bmp
-/c8,1 qgn_indi_fep_arrow_down.bmp
Binary file fep/aknfep/group/aknfep_Data/ARM4_UDEB/TargetDataWindows.tdt has changed
Binary file fep/aknfep/group/aknfep_Data/ARM4_UREL/TargetDataWindows.tdt has changed
--- a/fep/aknfep/group/aknfep_icons.mk	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-#
-# Copyright (c) 2004 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:           
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\Z
-else
-ZDIR=\epoc32\data\z
-endif
-
-# ----------------------------------------------------------------------------
-# Configuration for AknFep icons.
-# ----------------------------------------------------------------------------
-
-TARGETDIR=$(ZDIR)\system\data
-HEADERDIR=\epoc32\include
-ICONTARGETFILENAME=$(TARGETDIR)\aknfepuictrls.mif
-HEADERFILENAME=$(HEADERDIR)\aknfepuictrls.mbg
-
-do_nothing :
-	@rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN :
-	if exist $(ICONTARGETFILENAME) @del $(ICONTARGETFILENAME)
-	if exist $(HEADERFILENAME) @del $(HEADERFILENAME)
-	if exist $(TARGETDIR)\aknfepuictrls.mbm @del $(TARGETDIR)\aknfepuictrls.mbm
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-# ----------------------------------------------------------------------------
-# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by
-# MifConv if the mask depth is defined.
-#
-# NOTE 2: Usually, source paths should not be included in the bitmap
-# definitions. MifConv searches for the icons in all icon directories in a
-# predefined order, which is currently \s60\icons, \s60\bitmaps2.
-# The directory \s60\icons is included in the search only if the feature flag
-# __SCALABLE_ICONS is defined.
-# ----------------------------------------------------------------------------
-
-RESOURCE:
-	mifconv $(ICONTARGETFILENAME) /h$(HEADERFILENAME) /Ficonlist.txt
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
-	@echo $(HEADERFILENAME)&& \
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
\ No newline at end of file
--- a/fep/aknfep/group/aknfep_icons_dc.mk	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-#
-# Copyright (c) 2004 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:           
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\Z
-else
-ZDIR=\epoc32\data\z
-endif
-
-# ----------------------------------------------------------------------------
-# Configuration for AknFep icons.
-# ----------------------------------------------------------------------------
-
-TARGETDIR=$(ZDIR)\resource\apps
-HEADERDIR=\epoc32\include
-ICONTARGETFILENAME=$(TARGETDIR)\aknfepuictrls.mif
-HEADERFILENAME=$(HEADERDIR)\aknfepuictrls.mbg
-
-do_nothing :
-	@rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN :
-	if exist $(ICONTARGETFILENAME) @del $(ICONTARGETFILENAME)
-	if exist $(HEADERFILENAME) @del $(HEADERFILENAME)
-	if exist $(TARGETDIR)\aknfepuictrls.mbm @del $(TARGETDIR)\aknfepuictrls.mbm
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-# ----------------------------------------------------------------------------
-# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by
-# MifConv if the mask depth is defined.
-#
-# NOTE 2: Usually, source paths should not be included in the bitmap
-# definitions. MifConv searches for the icons in all icon directories in a
-# predefined order, which is currently \s60\icons, \s60\bitmaps2.
-# The directory \s60\icons is included in the search only if the feature flag
-# __SCALABLE_ICONS is defined.
-# ----------------------------------------------------------------------------
-
-RESOURCE:
-	mifconv $(ICONTARGETFILENAME) /h$(HEADERFILENAME) /Ficonlist.txt
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
-	@echo $(HEADERFILENAME)&& \
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
--- a/fep/aknfep/group/bld.inf	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +0,0 @@
-/*
-* Copyright (c) 2002-2008 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:           
-*       Bldmake component description file.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include <platform_paths.hrh>
-
-PRJ_EXPORTS
-// specify the source file followed by its destination here
-// copy will be used to copy the source file to its destination
-// If there's no destination then the source file will be copied
-// to the same name in /epoc32/include
-
-../inc/AknFepManagerInterface.h     |../../../inc/AknFepManagerInterface.h
-../inc/AknFepManagerUIInterface.h   |../../../inc/AknFepManagerUIInterface.h
-../inc/AknFepUiIndicEnums.h         |../../../inc/AknFepUiIndicEnums.h
-../inc/aknfeppeninputimeplugin.h    |../../../inc/aknfeppeninputimeplugin.h
-../inc/AknFepVietnameseInputTables.h  |../../../inc/aknFepVietnameseInputTables.h 
-
-//From AknFepUiInterface
-
-../UiPlugins/AknFepUiInterface/inc/AknFepIndicator.h      |../../../inc/aknfepindicator.h
-../UiPlugins/AknFepUiInterface/inc/AknFepUICtrlCandidatePane.h	|../../../inc/AknFepUICtrlCandidatePane.h
-../UiPlugins/AknFepUiInterface/inc/AknFepUICtrlCandidatePaneInterface.h	|../../../inc/AknFepUICtrlCandidatePaneInterface.h
-../UiPlugins/AknFepUiInterface/inc/AknFepUiCtrlContainerChinese.h	|../../../inc/AknFepUiCtrlContainerChinese.h
-../UiPlugins/AknFepUiInterface/inc/AknFepUICtrlContainerJapanese.h	|../../../inc/AknFepUICtrlContainerJapanese.h
-../UiPlugins/AknFepUiInterface/inc/AknFepUICtrlInputPane.h	|../../../inc/AknFepUICtrlInputPane.h
-../UiPlugins/AknFepUiInterface/inc/AknFepUICtrlPinyinPopup.h	|../../../inc/AknFepUICtrlPinyinPopup.h
-../UiPlugins/AknFepUiInterface/inc/AknFepUiStylusPopupMenu.h	|../../../inc/AknFepUIStylusPopupMenu.h
-../UiPlugins/AknFepUiInterface/inc/aknfepuictrleditpane.h     |../../../inc/aknfepuictrleditpane.h
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-../UiPlugins/AknFepUiInterface/inc/AknFepCandidatePopup.h 		|../../../inc/AknFepCandidatePopup.h
-../UiPlugins/AknFepUiInterface/inc/AknFepCandidatePopupCallback.h   |../../../inc/AknFepCandidatePopupCallback.h
-../UiPlugins/AknFepUiInterface/inc/AknFepUiWordPopupContent.h	|../../../inc/AknFepUiWordPopupContent.h
-#endif //RD_INTELLIGENT_TEXT_INPUT
-
-
-../rom/aknfep_variant.iby                   CUSTOMER_MW_LAYER_IBY_EXPORT_PATH(aknfep_variant.iby)
-../rom/aknfepResources.iby                  LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(aknfepResources.iby)
-../rom/aknfepuiinterface.iby                CORE_MW_LAYER_IBY_EXPORT_PATH(aknfepuiinterface.iby)
-//../rom/peninputimeplugincn_Variant.iby      CUSTOMER_MW_LAYER_IBY_EXPORT_PATH(peninputimeplugincn_Variant.iby)
-//../rom/peninputimeplugingeneric.iby         CORE_MW_LAYER_IBY_EXPORT_PATH(peninputimeplugingeneric.iby)
-//../rom/peninputimepluginitut_Variant.iby    CUSTOMER_MW_LAYER_IBY_EXPORT_PATH(peninputimepluginitut_Variant.iby)
-//../rom/PeninputPluginKr.iby                 CUSTOMER_MW_LAYER_IBY_EXPORT_PATH(PeninputPluginKr.iby)
-//../rom/peninputimepluginjp_Variant.iby      CUSTOMER_MW_LAYER_IBY_EXPORT_PATH(peninputimepluginjp_Variant.iby)
-
-// Generic configuration interface for component cenrep settings
-../conf/aknfep.confml                  APP_LAYER_CONFML(aknfep.confml)
-../conf/aknfep_japan.confml            CONFML_EXPORT_PATH(aknfep_japan.confml,japan)
-../conf/aknfep_thai.confml             CONFML_EXPORT_PATH(aknfep_thai.confml,thai)
-../conf/aknfep_101F876D.crml           APP_LAYER_CRML(aknfep_101F876D.crml)
-
-
-PRJ_MMPFILES
-// specify the .mmp files required for building the important component releasables
-// note that you should specify any .mmp files for test programs further down the file.
-//
-// Use C++ style #defines to denote that a component is only built for a particular platform
-
-//gnumakefile aknfep_icons_dc.mk
-../group/AknFep.mmp
-../UiPlugins/AknFepUiInterface/group/AknFepUiInterface.mmp
-../UiPlugins/AknFepUiInterface/AvkonImpl/group/AknFepUiAvkonPlugin.mmp
-
-#ifdef RD_SCALABLE_UI_V2
-//../peninputplugins/peninputimepluginitut/group/peninputimepluginitut.mmp
-//../peninputplugins/peninputimeplugincn/group/peninputimeplugincn.mmp
-//../peninputplugins/peninputimepluginjp/group/peninputimepluginjp.mmp
-//../peninputplugins/peninputimeplugingeneric/group/peninputimeplugingeneric.mmp
-//../peninputplugins/PeninputPluginKr/group/PeninputPluginKr.mmp
-#endif //RD_SCALABLE_UI_V2
-
-
-PRJ_EXTENSIONS
-START EXTENSION s60/mifconv
-OPTION TARGETFILE aknfepuictrls.mif
-OPTION HEADERFILE aknfepuictrls.mbg
-OPTION SOURCES -c8,1 qgn_indi_fep_arrow_left.bmp -c8,1 qgn_indi_fep_arrow_right.bmp -c8,1 qgn_indi_fep_arrow_up.bmp -c8,1 qgn_indi_fep_arrow_down.bmp
-END
-// End of file
--- a/fep/aknfep/group/fep.ini	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-(AknFep.fep
--- a/fep/aknfep/group/fep_ecom.ini	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-0::0x101FD65A
\ No newline at end of file
--- a/fep/aknfep/inc/AknFep.hrh	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:            Resource headers for project AknFep
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#ifndef AKNFEP_HRH
-#define AKNFEP_HRH
-
-// MyListBox enumerate command codes
-enum
-    {
-    EAknCmdUserDBAdd = 0x6001,
-    EAknCmdUserDBEdit,
-    EAknCmdUserDBDelete,
-    EAknCmdMarkOrUnmark,
-    EShowInfoLabel1,
-    EShowInfoLabel2,
-    EShowInfoLabel3,
-    EShowInfoLabel4,
-    EProgressNoteId,
-    EAknCmdSoftkeyExit
-    };
-
-#endif // AKNFEP_HRH
--- a/fep/aknfep/inc/AknFepCaseManager.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,295 +0,0 @@
-/*
-* Copyright (c) 2002 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 _AKNFEP_CASE_MANAGER_H__
-#define _AKNFEP_CASE_MANAGER_H__
-
-#include "AknFepManager.h"
-
-#include <e32base.h>
-
-class CAknEdwinState;
-class CAknPictographInterface;
-
-
-class CAknFepCaseManager : public CBase
-    {
-private:
-    enum AknFepCaseManagerConsts
-        {
-        ETextCaseCharactersBufferMaxSize            =16
-        };
-
-public:
-    /**
-    * Two phase constructor for this class
-    */
-    static CAknFepCaseManager* NewL(CAknFepManager& aFep);
-
-    /**
-    * C++ Destructor
-    */
-    ~CAknFepCaseManager();
-
-public:
-    /**
-    * Configure the current case state of the system based on the current
-    * editor state
-    */
-    void ConfigureCaseStateFromEditorState();
-
-    /**
-    * Start an automatic case update - determines the case of the next
-    * character based on the rules governing auto case update and applies
-    * this change accordingly
-    *
-    * @param aNaviEvent the type of event which prompted the case update
-    *                   (affects the final cursor position)
-    */
-    void UpdateCase(TWesternNaviEvent aNaviEvent);
-
-    /**
-    * Starts a manual case update
-    */
-    void ManualCaseUpdate();
-
-    /**
-    * Reverts the case of text input to the previous one in order to
-    * back out unneccasary case changes
-    */
-    void RevertCaseChange();
-
-    /**
-    * Set the case of text input
-    *
-    * @param aCase the case of the next character
-    * @param aOverrideNumericTest Isn't used in most cases, but if set, handles
-    *                             numeric mode as normal mode. Needed for selection
-    *                             style hash key loop implementation.
-    */
-    void SetCurrentCase(TInt aCase, TBool aOverrideNumericTest = EFalse);
-
-    /**
-    * Return the current case of text input
-    *
-    * @return integer representing an enumerated value of the current case
-    */
-    TInt CurrentCase() const;
-
-    /**
-    * check whether case can be changed
-    *
-    * @return Eture if case can be changed
-    */
-    TBool IsAbleChangeCase() const;
-    
-    TInt PluginPermittedCases();
-    
-	TBool CapsLockRequired(TInt aCurrentCase);
-	/* Teleca change begin, 18.08.2009 ssal */
-	/**
-    * Determines whether a character is one of Korean characters
-    * @param aChar the charcter to be checked
-    * @return ETrue if aChar is Korean character
-    */
-	TBool IsKoreanCharacter( TChar aChar ) const;   
-    /* Teleca change end, 18.08.2009 ssal */
-private:
-    /**
-    * C++ Constructor
-    */
-    CAknFepCaseManager(CAknFepManager& aFep);
-
-    /**
-    * Second phase constructor for this class
-    */
-    void ConstructL();
-
-    /**
-    * Determines the position the cursor will be in when a navigation event is
-    * complete. This is used to determine the required case at that position.
-    *
-    * @param aNaviEvent the type of event after which the case will be updated
-    * @return The position in the document of the cursor when aNaviEvent is
-    *           complete
-    */
-    TInt FindCursorPositionAtCaseCheck(TWesternNaviEvent aNaviEvent);
-
-    /**
-    * Determines, based on the case rules, whether text case needs to be
-    * applied for text input i.e. whether the next character needs
-    * to be entered in upper case and subsequent characters in lower case
-    *
-    * @return ETrue if text case needs to be applied for the next 
-    *           character
-    */
-    TBool TextCaseRequired(TInt aCursorPos);
-
-    /**
-    * Determines, based on the case rules, whether or not caps lock input style
-    * needs to be applied i.e. if the current case is upper and we should stay
-    * in upper following the entry of the next character
-    *
-    * @return ETrue if caps lock input style is to be applied
-    */
-    TBool CapsLockRequired(TInt aCursorPos, TInt aCurCase);
-
-    /**
-    * Determines the case of text input based on the rules governing
-    * case updates atarted by the user and applies this change accordingly
-    */
-    void DoManualCaseUpdate();
-
-    /**
-    * Applies the case change in the ptiengine (via the engine interface) and
-    * updates the edit state indicators accordingly
-    */
-    void ApplyCase();
-
-    /**
-    * Sets the system to be in fixed case.  No case updates are permitted
-    * in this state
-    *
-    * @param aFixedCase if ETrue then no case updates are subsequently
-    *                   permitted
-    */
-    void SetFixedCase(TBool aFixedCase);
-
-    /**
-    * Determines if the current editor has the fixed case flag set
-    *
-    * @return ETrue if the fixed case flag is set on the current editor
-    */
-    TBool CurrentEditorIsFixedCase() const;
-
-    /**
-    * Determines if a case is one which is allowed in the current editor
-    * based on the editor's configuration
-    *
-    * @param aCase the case to be checked 
-    * @return ETrue if aCase is permitted by the current editor
-    */
-    TBool IsCasePermitted(TInt aCase) const;
-
-    /**
-    * 
-    * 
-    *
-    * @param aChar the charcter to be checke
-    * @return ETrue 
-    */
-    TBool IsTextCaseCharacter(TChar aChar) const;
-
-    /**
-    * 
-    * 
-    *
-    * @param aChar the charcter to be checked
-    * @return ETrue if aChar is full or half alphabet
-    */
-    TBool IsAlpha(TChar aChar) const;
-    
-    /**
-    * Determines whether a character is one of Japanese characters
-    * Japanese character is included as below:
-    *   - Hiragana/Kanji
-    *   - Katakana (Both half and full)
-    *   - Symbol (Full-width only)
-    *      (including Full-width Full-Stop)
-    *
-    * @since S60 v3.1
-    * @param aChar the charcter to be checked
-    * @return ETrue if aChar is Japanese character
-    */
-    TBool IsJapaneseCharacter(TChar aChar) const;
-
-    /* Teleca change begin, 18.08.2009 ssal */
-    /**
-    * Determines whether a character is one of Korean hangul syllable
-    * @param aChar the charcter to be checked
-    * @return ETrue if aChar is korean character
-    */
-    TBool IsHangulSyllable(TChar aChar) const;
-
-    /**
-    * Determines whether a character is one of Korean hangul compatibility Jamo Syllable
-    * @param aChar the charcter to be checked
-    * @return ETrue if aChar is Korean character
-    */
-	TBool IsHangulCompatibilityJamo(TChar aChar) const;
-	/* Teleca change begin, 18.08.2009 ssal */
-
-public:    
-    /**
-    * Calls to ManulaCaseUpdate() in lower case situation will switch to 
-    * upper case even if text case would be normally selected.
-    */
-    inline void SetForceUpperCase();
-    
-    /** 
-    * Clear force upper case flag (see SetForceUpperCase()). 
-	*/ 
-	inline void ClearForceUpperCase();
-
-	inline TBool IsInverseCase() const;
-	inline void SetInverseCase( TBool aVal );
-
-private:
-    CAknFepManager& iFep; //not owned
-    CAknPictographInterface* iPictoInterface; //owned
-    
-    TInt iCurrentCase;
-    TInt iPreviousCase;
-    TBool iFixedCase;
-    TBool iForceUpperCase;
-    TBool iInverseCase;
-    TBufC<ETextCaseCharactersBufferMaxSize> iTextCaseCharacters;
-    };
-
-inline void CAknFepCaseManager::SetForceUpperCase()
-	{
-	iForceUpperCase = ETrue;
-	}
-    
- 
-inline void CAknFepCaseManager::ClearForceUpperCase()
-	{
-	iForceUpperCase = EFalse;
-	}
-	
-inline TBool CAknFepCaseManager::IsInverseCase() const
-    {
-    return iInverseCase;
-    }
-
-inline void CAknFepCaseManager::SetInverseCase( TBool aVal )
-    {
-    iInverseCase = aVal;
-	}
-
-#endif //_AKNFEP_CASE_MANAGER_H__
--- a/fep/aknfep/inc/AknFepFnKeyManager.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,128 +0,0 @@
-/*
-* Copyright (c) 2002-2007 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:            Provides CAknFepManager definition
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef _AKNFEP_FNKEY_MANAGER_H__
-#define _AKNFEP_FNKEY_MANAGER_H__
-
-
-#include <e32base.h>
-#include <w32std.h>
-#include <coeinput.h>
-#include <PtiDefs.h>                   //TCoeInputCapabilities
-
-#include <AknIndicatorContainer.h> 
-
-#include "AknFepGlobalEnums.h"
-#include "AknFepSharedDataInterface.h"
-
-
-class CAknFepManager;
-class CAknIndicatorContainer;
-   
-/**
- *  FnKey State machine
- *
- *  @since S60 v3.2
- */
-class CAknFepFnKeyManager : public CBase
-    {
-
-public:
-
-  /**  Fn key states */
-    enum TFnKeyState
-        {
-        EFnKeyNone,
-        EFnKeyPressed,
-        EFnKeyDown,
-        EFnKeyNext,
-        EFnKeyPressedAgain,
-        EFnKeyLock,
-        EFnKeyForced,
-        EFnKeyReversePressed,
-        EFnKeyReverse
-        };
-
-public:
-    static CAknFepFnKeyManager* NewL( CAknFepManager& aFepMan,CAknFepSharedDataInterface* 
-                                        aSharedDataInterface );
-    ~CAknFepFnKeyManager();
-
-public:
-    /*
-    * Resets the Function Key State
-    */
-    void ClearFnKeyState();
-
-    void SetQwertyInputMode(TBool aQwertyState);
-    
-    /* 
-    * Handles the Fn key event to change the state appropriately.
-    */
-    TKeyResponse CAknFepFnKeyManager::HandleFnKeyEventL( const TKeyEvent& aKeyEvent, 
-                                                TEventCode aEventCode,
-                                                TCoeInputCapabilities aInputCapabilities
-                                                );
-
-    void SetCase( TCase aCase );
-    
-    TFnKeyState FnKeyState();
-    void SetFnKeyState(CAknFepFnKeyManager::TFnKeyState aState);    
-private:
-
-    CAknFepFnKeyManager( CAknFepManager& aFepMan,
-                        CAknFepSharedDataInterface* aSharedDataInterface);
-    void ConstructL();
-    
-    // For Shift Key handling.
-    void UpdatePreviousCase();
-    
-
-private: // data
-    CAknFepManager &iFepMan; //not own
-    TCoeInputCapabilities iInputCapabilities;
-    TFnKeyState iFnKeyState;
-    TBool iIsQwertyMode;
-    
-    /**
-     * Pointer to the Indicator Container object containing editor indicators.
-     * Not own.
-     */
-    CAknIndicatorContainer*     iIndicatorContainer;
-    CAknFepSharedDataInterface* iSharedDataInterface;
-    
-    // For Shift key handling.
-    TInt iPreviousCase;
-    TBool iShiftKeyPressed;
-    
-    // For QWERTY Predictive
-    TBool iWasPreviousModePredictive;
-    TBool iPreviousKeyWasFnKey;
-    };
-
-#endif // ? _AKNFEP_FNKEY_MANAGER_H__
--- a/fep/aknfep/inc/AknFepHashKeyManager.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,195 +0,0 @@
-/*
-* Copyright (c) 2002 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 _AKNFEP_HASHKEY_MANAGER_H__
-#define _AKNFEP_HASHKEY_MANAGER_H__
-
-#include <e32base.h>
-#include <coedef.h>
-#include <frmtlay.h>
-
-#include "AknFepGlobalEnums.h"
-
-class CAknFepManager;
-class CAknFepCaseManager;
-enum TKeyResponse;
-enum TKeyPressLength;
-
-class CAknFepHashKeyManager : public CBase
-    {
-public:
-    enum THashKeyStyle
-        {
-        EHashKeyStyleWestern,
-        EHashKeyStyleChineseWithWestern,
-        EHashKeyStyleJapanese,
-        EHashKeyStyleKoreanWithWestern
-        };
-
-public:
-    static CAknFepHashKeyManager* NewL(CAknFepManager& aFepMan, CAknFepCaseManager* aCaseMan);
-    ~CAknFepHashKeyManager();
-    TKeyResponse HandleKeyEventL(TKeyPressLength aLength); 
-    void SetMode(TInt aMode, TBool aWesternPredictive);
-
-    /**
-    * Changes the hash key functionality.
-    */
-    void SetHashKeyStyle(THashKeyStyle aHashKeyStyle);
-
-    /**
-    * Cancels the hash key timer.
-    */
-    void CancelHashKeyTimer();
-    
-    inline void ClearSelectionModeHashKeyLoop();
-    
-	void SetPreviousSelectionStyleModeL();        
-	 /**
-     * To Handle the Indic Hash key Loop State
-     * 
-     * Set the New State or Mode based on the editor after Fep is configured from Editor
-     * @since 3.2
-     * @return nothing
-     */ 	 
-	void ResetIndicHashKeyStateL();     
-
-     /**
-     * Reset the flag of previous selection
-     *
-     * @since 3.2
-     * @return nothing
-     */
-    void ResetPreviousSelectionStyleMode();
-#ifdef RD_HINDI_PHONETIC_INPUT
-   	 /**
-     * To Handle SetIndicStateL method
-     * 
-     * helps in handling case changes
-     * @since 5.0
-     * @return nothing
-     */ 	   
-    void HandleSetIndicStateL();
-#endif
-
-private:
-    CAknFepHashKeyManager(CAknFepManager& aFepMan, CAknFepCaseManager* aCaseMan);
-    void ConstructL();
-    static TInt HashKeyTimerTimeoutCallback(TAny* aObj);
-    void HashKeyTimerTimeout();
-	TKeyResponse HandleKeyWesternSelectionStyleL(TKeyPressLength aLength);    
-	void SetSelectionStyleModeL();
-	 /**
-     * To Handle Indic Hash key Loop
-     * 
-     * Set the New State or Mode based on the existing mode
-     * @since 3.2
-     * @return EKeyWasConsumed
-     */  
-	TKeyResponse SetIndicStateL();
-	
-	 /**
-     * To Handle Indic Hash key Loop
-     * 
-     * Change back to the Previous State or Mode 
-     * @since 3.2
-     * @return EKeyWasConsumed
-     */  
-	TKeyResponse SetIndicPreviousStateL(); 
-	
-	 /**
-     * To Handle Indic Hash key Loop
-     * 
-     * To verify if Indic hash key Loop is required.
-     * @since 3.2
-     * @return ETrue if Shared Interface input Language is Indic and given editor is not Latin-Only
-     */ 
-	TBool IsIndicHashKeyStyleRequired();
- 
-
-	/**
-     * To Handle Indic Hash key Loop
-     * 
-     * Set the Style for the State 
-     * @since 3.2
-     * @return nothing
-     */ 
-	void SetIndicSelectionStateL();
-	
-
-	/**
-     * To Handle Indic Hash key Loop
-     * 
-     * Update the case information
-     * @since 3.2
-     * @return nothing
-     */ 
-	void UpdateCaseForIndicHashLoop();
-
-    /**
-    * Reverts predictive text setting change. This method can be used
-    * if short key press of hash key changed predictive text
-    * setting in non-case supported languages and actually long key press
-    * action was handled. Not used with Chinese languages.
-    */
-    void RevertPredictiveTextSettingChangeL();
-
-    TKeyResponse HandleKeyWesternL(TKeyPressLength aLength);
-    TKeyResponse HandleKeyWesternWithChineseL(TKeyPressLength aLength);
-    TKeyResponse HandleKeyJapaneseL(TKeyPressLength aLength);
-    TKeyResponse HandleLongKeypressJapaneseL();
-    TKeyResponse HandleSortKeypressJapaneseL();
-    TKeyResponse HandleKeyWesternWithKoreanL(TKeyPressLength aLength);
-
-private:
-    THashKeyStyle iHashKeyStyle;
-    TInt iMode;
-    TBool iLastModeNumber;
-
-    CPeriodic* iHashKeyTimer; //owned
-    
-    CAknFepManager& iFepMan; //not owned
-    CAknFepCaseManager* iCaseMan;
-    TBool iWesternPredictive;
-    
-    TInt iSelectionLoopIndex;
-    TInt iIndicSelectionLoopIndex;
-    TUint8 const * iSelectionLoop;
-    TBool iLanguageChangedOrChangeFromNumberMode;
-    TBool iIndicPredictiveState;
-    TCursorSelection iPreviousIndicCursorPosition;
-    TBool iPreviousSelection;       // used by Japanese
-    };
-
-inline void CAknFepHashKeyManager::ClearSelectionModeHashKeyLoop()
-	{
-	iSelectionLoop = NULL;
-	iSelectionLoopIndex	= 0;
-	}
-
-#endif //_AKNFEP_HASHKEY_MANAGER_H__
--- a/fep/aknfep/inc/AknFepInlineTextDecorator.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,166 +0,0 @@
-/*
-* Copyright (c) 2002 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 _AKNFEP_INLINE_TEXT_DECORATOR_H__
-#define _AKNFEP_INLINE_TEXT_DECORATOR_H__
-
-#include <e32base.h>
-
-class CAknFepInlineTextDecorator : public CBase
-	{
-public:
-	enum
-		{
-		ELeftToRightMark = 0x200E,		// LRM
-		ERightToLeftMark = 0x200F		// RLM
-		};
-private:
-	enum
-		{
-		ENullChar = 0,
-		ESingleCharacter = 1,
-		ETwoCharacters = 2
-		};
-
-public:
-	/**
-	* Applies required markup to a piece of bidirectional text to ensure correct
-	* rendering for Averell
-	* 
-	* @param aInlineText original inline text
-	* @param aDecoratedText descriptor which will hold the original text plus
-	*				any decoration
-	* @param aPositionOfInsertionPointInInlineText position of insertion point 
-	*				(cursor) in the original inline text
-	* @param aPreviousCharacter the character immediately prior to the inline
-	*				text
-	* @param aRTLParagraph set to true if the inline text is being inserted into
-	*				a paragraph with RTL directionality in the CParaFormat
-	* @param aInputDirectionIsRtl is to be set to ETrue if the current input direction is RTL
-	*/
-	void DecorateInlineText(
-		const TDesC& aInlineText, 
-		TDes& aDecoratedText,
-		TInt& aPositionOfInsertionPointInInlineText,
-		TChar aPreviousCharacter,
-		TBool aRTLParagraph,
-        TBool aInputDirectionIsRTL);
-	
-	/**
-	* Resolves any decorated text + any surrounding text that has been added to the beginning
-    * or end to remove unnecessary directional markers.
-	*
-	* @param aDecoratedTextPlusSurroundings descriptor to hold a piece of text to be parsed
-	*				and resolved; new text, optionally with accreted surrounding text
-	* @param aDecoratedTextSpan span of text originally inspected and decorated (must be subset of descriptor)
-	* 
-	* @return   EFalse if and only if no change was made to aDecoratedTextPlusSurroundings 
-	*/
-	TBool ResolveDecoratedText(
-		TDes& aDecoratedTextPlusSurroundings,
-		TCursorSelection aDecoratedTextSpan);
-
-	/**
-	* Determines if a character is an LRM (0x200e) or an RLM (0x200f)
-	* 
-	* @param aChar the character to be inspected
-	* @return ETrue if the character has the value 0x200e or 0x200f
-	*/
-	TBool CharacterIsDirectionalMarker(TChar aChar);
-
-	/**
-	* Determines if a character has strong LTR directionality
-	* 
-	* @param	aChar the character to be inspected
-	* @return	ETrue if the character has bidi category of TChar::ELeftToRight
-	*				or is an LRM
-	*/
-	TBool CharacterIsStrongLeftToRight(TChar aChar);
-
-	/**
-	* Determines if a character has strong RTL directionality
-	* 
-	* @param	aChar the character to be inspected
-	* @return	ETrue if the character has bidi category of TChar::ERightToLeft
-	*				or is an RLM
-	*/
-	TBool CharacterIsStrongRightToLeft(TChar aChar);
-
-	/**
-	* Determines if two characters share the same strong directionality
-	* 
-	* @param aCh1 the first character to be compared
-	* @param aCh2 the second character to be compared
-	* @return ETrue if aCh1 and aCh2 share the same strong directionality
-	*/
-	TBool CharactersHaveSameStrongDirection(TChar aCh1, TChar aCh2);
-
-	/**
-	* Determines if a character has weak directionality
-	* 
-	* @param	aChar the character to be inspected
-	* @return	ETrue if the character has any of the following bidi categories
-	*					TChar::EEuropeanNumber
-	*					TChar::EEuropeanNumberSeparator
-	*					TChar::EEuropeanNumberTerminator
-	*					TChar::EArabicNumber
-	*					TChar::ECommonNumberSeparator
-	*/
-	TBool CharacterIsWeaklyDirectional(TChar aChar);
-
-	/**
-	* Determines if a character is a separator character
-	* 
-	* @param	aChar the character to be inspected
-	* @return	ETrue if the character has any of the following bidi categories
-	*					TChar::EParagraphSeparator
-	*					TChar::ESegmentSeparator
-	*/
-	TBool CharacterIsSeparator(TChar aChar);
-
-	/**
-	* Determines if a character has neutral directionlaity
-	* 
-	* @param	aChar the character to be inspected
-	* @return	ETrue if the character has any of the following bidi categories
-	*					TChar::EWhitespace
-	*					TChar::EOtherNeutral
-	*/
-	TBool CharacterIsNeutral(TChar aChar);
-
-private:
-	void DecorateNeutralCharacters(
-		const TDesC& aInlineText, 
-		TDes& aDecoratedText,
-		TInt& aPositionOfInsertionPointInInlineText,
-		TChar aPreviousCharacter,
-		TBool aRTLParagraph,
-        TBool aInputDirectionIsRTL);
-	};
-
-#endif
--- a/fep/aknfep/inc/AknFepKeyCatcher.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,163 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the CAknFepKeyCatcher definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_INPUT_FEP_KEYCATCHER_H__
-#define __AKN_INPUT_FEP_KEYCATCHER_H__
-
-#include <coecntrl.h>       //CCoeControl
-#include <coemain.h>
-#include "AknFepGlobalEnums.h"
-
-class CAknFepManager;
-
-/**
- * Interface class to allow ability to switch into a test mode, where a different
- * key catcher is used, i.e. to print values of keys received on the screen.
- */
-class CAknFepKeyCatcherInterface : public CCoeControl
-    {
-public:
-    virtual void SetState(const TAknFepManagerState aState) = 0;
-    virtual ~CAknFepKeyCatcherInterface();
-    virtual void HandleChangeInFocus();
-    };
-
-/**
- * The Key Catcher sits sits on top of the control stack and does some basic, primary processing 
- * of all key presses. `
- */
-class CAknFepKeyCatcher : 
-
-#ifdef RD_SCALABLE_UI_V2
-                          public MCoeMessageMonitorObserver, 
-#endif //RD_SCALABLE_UI_V2
-                          public CAknFepKeyCatcherInterface
-    {
-
-private:
-    /** 
-     * values for the flags required to maintain the internal
-     * state of the Key Catcher during operation
-     */
-    enum
-        {
-        EFlagLongKeyPressHandled            =0x00000001,
-        EFlagBlockAllLongKeyPressEvents     =0x00000002 
-        };
-
-public:
-    /**
-     * First phase construction
-     *
-     * @param aFepMan the Fep Manager object which owns this key catcher object. 
-     */
-    static CAknFepKeyCatcher* NewL(CAknFepManager& aFepMan);
-
-    /**
-     * Destructor
-     */
-    virtual ~CAknFepKeyCatcher();
-    
-
-    /**
-     * from CCoeControl  
-     * Key Catcher. Ignores keys when Fep is in null mode (no editor focused)
-     * and does first stage filtering
-     */
-    virtual TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aEventCode);
-
-    /**
-     * interface for FepMan to set the Key Catcher's internal state object
-     */
-    virtual void SetState(const TAknFepManagerState aState);
-
-private:    
-    /**
-     * C++ Constructor
-     */
-    CAknFepKeyCatcher(CAknFepManager& aFepMan);
-
-    /**
-     * Second phase construction
-     */
-    void ConstructL();
-
-    TKeyResponse HandleHashKeyJapaneseL(const TKeyEvent& aKeyEvent, TEventCode aEventCode);
-    
-    /**
-     * from CCoeControl  
-     * Handles a change to the control's resources.
-     * @param aType A message UID value
-     */
-    void HandleResourceChange(TInt aType);
-#ifdef RD_SCALABLE_UI_V2
-	void MonitorWsMessage(const TWsEvent& aEvent);
-#endif
-    inline void SetFlag(TInt aFlag);
-    inline void ClearFlag(TInt aFlag);
-    inline TBool IsFlagSet(TInt aFlag) const;
-	TBool IsNaviKey(TUint aCode);
-private:    
-    // Data not owned
-    CAknFepManager& iFepMan;
-
-    TAknFepManagerState iKeyCatcherState;
-    TUint iFlags;
-    TKeyPressLength     iKeyPressLength;
-    TInt iLongPressedScanCode;
-    };
-
-/**
- *  Sets aFlag bitfield in iFlags
- */
-inline void CAknFepKeyCatcher::SetFlag(TInt aFlag)
-    {
-    iFlags|=aFlag;
-    }
-
-/**
- * Clears aFlag bitfield in iFlags
- */
-inline void CAknFepKeyCatcher::ClearFlag(TInt aFlag)
-    {
-    iFlags&=~aFlag;
-    }
-
-/**
- * Returns ETrue if the aFlag bitfield in iFlags is set, EFalse if it
- * is clear
- */
-inline TBool CAknFepKeyCatcher::IsFlagSet(TInt aFlag) const
-    {
-    return iFlags&aFlag;
-    }
-
-#endif
-
-// End of file
--- a/fep/aknfep/inc/AknFepLanguageManager.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,274 +0,0 @@
-/*
-* Copyright (c) 2003 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:            Declaration of core part of CAknFepLanguageManager class.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_LANGUAGE_MANAGER__H__
-#define __AKN_FEP_LANGUAGE_MANAGER__H__
-
-// INCLUDES
-#include <e32base.h>
-#include <coemain.h>
-#include <badesca.h>
-
-#include "AknFepGlobalEnums.h" // TWidthChar
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATION
-class CAknFepPenInputImePlugin;
-class MInputMethodInterface;
-
-// CLASS DECLARATION
-class MAknFepManagerInterface;
-class MAknFepManagerUIInterface;
-class CAknFepCaseManager;
-class RPeninputServer;
-class TImePlguinImplDetail;
-class CAknFepPluginManager;
-
-/**
- * CAknFepLanguageManager is a part of Japanese FEP.
- *
- * @lib AknFep.lib
- * @since 2.6
- * @see CAknFepManager, other application
- */
-class CAknFepLanguageManager : public CBase
-    {
-private: // enum
-    enum
-        {
-        EUiManWestern,
-        EUiManChinese,
-        EUiManJapanese,
-        EUiManKorean,
-        EUiManMax
-        };
-
-public: // Constructer and Destructor
-    /**
-     * first phase construction
-     *
-     * @since 2.6
-     * @param aFepMan
-     * @param aCaseMan
-     * @param aLanguage
-     */
-    static CAknFepLanguageManager* NewL(MAknFepManagerUIInterface* aFepMan, 
-                                        CAknFepCaseManager* aCaseMan);
-
-    /**
-     * Destructor.
-     *
-     * @since 2.6
-     */
-    virtual ~CAknFepLanguageManager();
-
-public: // New Functions
-    /**
-     * get ui manager object.
-     *
-     * @since 2.6
-     * @param aMode
-     * @param aCharacterWidth
-     * @param aPredictive
-     * @return 
-     */
-    MAknFepManagerInterface* GetFepUI(TInt aMode, TWidthChar aCharacterWidth, TBool aPredictive);
-
-    /**
-     * set language id to ui manager.
-     *
-     * @since 2.6
-     * @param aMode
-     * @param aCharacterWidth
-     * @param aPredictive
-     * @return 
-     */
-    void SetInputLanguageL(TInt aInputLanguage);
-
-    TLanguage InputLanguage() 
-        {
-        return (TLanguage)iInputLanguage;
-        }
-
-    /**
-     * Get plugin UI manager object.
-     *
-     * @since S60 v3.2
-     *
-     * @param aPreferedMode The prefered plugin input mode. If prefered mode is not available
-     *        a substitute choice (according UI sepc) is returned.
-     * @param aPenInputLan Current pen input language.
-     * @param aDisplayLang Current phone display language
-     * @param aPenServer The pen input server object.
-     * @return Plugin UI manager.
-     */
-    MAknFepManagerInterface* GetPluginInputFepUiL(TPluginInputMode aPreferedMode, 
-                                                  TInt aPenInputLang,
-                                                  TInt aDisplayLang,
-                                                  RPeninputServer* aPenServer);
-
-    /**
-     * Test specified plugin UI mode is support or not
-     *
-     * @since S60 v3.2
-     *
-     * @param aMode The plugin input mode to test.
-     * @param aPenInputLan Current pen input language.
-     * @param aPenServer The pen input server object.
-     * @return ETrue if support, EFalse otherwise.
-     */
-    TBool  IsPluginInputAvaiable(TPluginInputMode aMode, 
-                                 TInt aPenInputLang,
-                                 RPeninputServer* aPenServer);
-
-    /**
-     * Set split view flag
-     *
-     * @since S60 v3.2
-     *
-     * @param aIsSplitView 
-     * @return None
-     */	
-    void SetSplitView(TBool aIsSplitView);
-
-    /**
-     * Get current IME plugin object.
-     *
-     * @since S60 v3.2
-     *
-     * @return IME Plugin object.
-     */
-    inline CAknFepPenInputImePlugin* CurrentImePlugin();
-    
-    /**
-     * Get split view flag
-     * 
-     * 
-     * @since S60 v3.2
-     * @return ETrue if split view flag is set
-     */
-    inline TBool IsSplitView();
-    
-private: // New Functions
-    /**
-     * private c++ constructor.
-     *
-     * @since 2.6
-     */
-    CAknFepLanguageManager(MAknFepManagerUIInterface* aFepManager, 
-                           CAknFepCaseManager* aCaseManager);
-
-    /**
-     * Second phase construction
-     *
-     * @since 2.6
-     */
-    void ConstructL();
-    
-    void ConstructUiManagerL();
-
-    TInt UiManagerId();
-
-    
-
-    /**
-     * Activate IME plugin by implemenation.
-     * If current IME plugin's impl id is equal to aImeImplId, then current
-     * IME plugin object is returned.
-     *
-     * @since S60 v3.2
-     *
-     * @param aImeImplId The IME implementation ID.
-     * @param aPenServer The pen input server object.
-     * @return IME Plugin imeplementation ID.
-     */
-    CAknFepPenInputImePlugin* ActivateImePlugin(TInt aImeImplId, RPeninputServer* aPenServer);
-
-    /**
-     * Activate IME plugin's UI by mode.
-     *
-     * @since S60 v3.2
-     *
-     * @param aImePlugin The IME plugin object.
-     * @param aMode The mode of layout UI.
-     * @return The Plugin UI interface.
-     */
-    MAknFepManagerInterface*  ActivateLayoutUiPluginL(CAknFepPenInputImePlugin* aImePlugin,
-                                                      TInt aPenInputLang,
-                                                      TPluginInputMode aMode);
-
-    TBool  IsPluginInputAvaiableL(TPluginInputMode aMode, 
-                                 TInt aPenInputLang,
-                                 RPeninputServer* aPenServer);
-    
-
-private: // Data
-    CArrayPtr<MAknFepManagerInterface>*     iUiManArray;    
-    TInt iInputLanguage;
-    MAknFepManagerUIInterface* iFepManager;
-    CAknFepCaseManager* iCaseManager;
-    CAknFepPluginManager* iPluginManager;
-    
-    /**
-     * Current IME plugin object. Own.
-     * @since S60 v3.2
-     */
-    CAknFepPenInputImePlugin* iCurImePlugin;
-
-    /**
-     * Current layout UI object. Not own.
-     * @since S60 v3.2
-     */
-    MAknFepManagerInterface* iCurUiPlugIn;
-
-    /**
-     * Is split view flag
-     * @since S60 v3.2
-     */	
-    TBool iIsSplitView;
-    };
-
-inline CAknFepPenInputImePlugin* CAknFepLanguageManager::CurrentImePlugin()
-    {
-    return iCurImePlugin;
-    }
-
-inline TBool CAknFepLanguageManager::IsSplitView()
-    {
-    return iIsSplitView;
-    }
-
-#endif // __AKN_FEP_LANGUAGE_MANAGER__H__
-// End of file
--- a/fep/aknfep/inc/AknFepManager.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3170 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the CAknFepManager definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_MANAGER_H__
-#define __AKN_FEP_MANAGER_H__
-
-#include "AknFepGlobalEnums.h"          //TKeyPressLength
-#include "AknFepManagerUIInterface.h"   //MAknFepManagerUIInterface
-#include "AknFepLanguageManager.h"      //CAknFepLanguageManager
-#include <gulicon.h>  
-#include "aknfepuiinterface.h"
-#include "aknfepuimenus.h"
-#include <fepbase.h>                    //CCoeFep
-#include <coeinput.h>                   //TCoeInputCapabilities
-#include <fepitfr.h>                    //MFepInlineTextFormatRetriever
-#include <aknedstsobs.h>                //MAknEdStateObserver
-#include <uikon.hrh>                    //TAknEditorNumericKeymap
-#include <aknEditStateIndicator.h>      //TAknEditingState
-#include <frmtlay.h>
-#include <biditext.h>
-#include <PtiDefs.h>
-#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
-#include <tagmalayoutandsource.h>
-#endif
-
-#include <aknextendedinputcapabilities.h>
-#ifdef RD_SCALABLE_UI_V2
-#include <peninputclient.h>
-#endif //#ifdef RD_SCALABLE_UI_V2
-
-#include <AknNullService.h>             // CAknNullService
-#include <AknServerApp.h>               // MAknServerAppExitObserver
-#include <aknfeppensupportinterface.h>
-#include "avkon.hrh"
-#ifdef RD_HINDI_PHONETIC_INPUT	
-#include <PtiIndicDefs.h>
-#endif
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-// Predictive QWERTY (XT9) changes ---->
-class MAknFepUiWordPopupContent;
-#include "AknFepCandidatePopup.h"
-#include "AknFepCandidatePopupCallback.h"
-// Predictive QWERTY (XT9) changes <----
-#endif //RD_INTELLIGENT_TEXT_INPUT
-class CAknFepPluginManager;
-class CAknFepKeyCatcherInterface;
-class MAknFepManagerInterface;
-class CAknFepIndicator;
-class CAknEdwinState;
-class CPeriodic;
-class MAknEditingStateIndicator;
-class CAknFepCaseManager;
-class CAknFepHashKeyManager;
-class CAknKeySoundSystem;
-class CPtiEngine;
-class CAknFepSharedDataInterface;
-class CApaDocument; // User Dictionary
-class CAknFepInlineTextDecorator;
-class CTextView;
-class MPeninputServerEventHandler;
-class MAknFepDocumentNavigation;
-class CAknFepUIInterface;
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-class CAknFepFnKeyManager;
-#endif
-//phrase creation
-class CZhuyinKeyHandler;
-class CAknFepZhuyinAnalyser;
-class CZhuyinAnalyserDbFeed;
-//User DB view
-class CAknFepUserdbDlg;
-class CAknFepThaiSCTSelector;
-class CAknNavigationDecorator;
-// This could be moved inside FepManager class?
-enum TWesternNaviEvent
-    {
-    ENullNaviEvent,
-    ELeftNaviEvent,
-    ERightNaviEvent,
-    EBackspaceEvent,
-    EUpNaviEvent,
-    EDownNaviEvent
-    };
-enum TSpecialTextField
-		{
- 		/**
- 		* Constraints
- 		*/
-    ESplAny,
-    ESplMailAddr,
-    ESplNumeric,
-    ESplPhoneNumber,
-    ESplUrl,
-    ESplDecimal,
-    /**
-     * Modifiers
-     */
-    ESplPassword=0x10000,
-    ESplUneditable=0x20000,
-    ESplSensitive=0x40000,
-    ESplNonPredictive=0x80000,
-    ESPlInitialCapsWord=0x100000,
-    ESplInitialCapsWordSentence=0x200000,
-    ESplConstraintMask=0xFFFF
- 		};    
-
-const TInt KChrKeyMultitapTimeout = 1000000;
-/**
- * Translates ET9Eng language codes into localised descriptors and command Id's
- */
-class TFepLanguageTranslation
-    {
-    public:
-        void ReadFromResource(TResourceReader& aReader);
-    public:
-        TPtrC           iName;
-        TInt            iLanguageId;
-        TInt            iCommandId;
-    };
-class CChrMultiTapTimer : public CTimer
-    {
-    public:
-        static CChrMultiTapTimer* NewL(TCallBack aCallback);
-        void After(TTimeIntervalMicroSeconds32 aInterval);
-    private:
-        CChrMultiTapTimer(TCallBack aCallback);
-        void ConstructL();
-        // from CActive
-        virtual void RunL();
-    private:
-        TCallBack iCallback;
-    };
-/**
- * The CCoeFep derived class of AknFep
- * Controls mode in the Fep. Handles all interaction with the editor
- * Creates and owns the UI Manger, the Key Catcher and the edit state indicators
- */
-class CAknFepManager :
-    public CCoeFep,
-    public MAknFepManagerUIInterface,
-    public MFepInlineTextFormatRetriever,
-    public MFepPointerEventHandlerDuringInlineEdit,
-    public MAknFepUiInterfaceMenuObserver,
-    public MAknServerAppExitObserver,   //embedding
-    private MAknEdStateObserver,
-#ifdef RD_SCALABLE_UI_V2  
-    public CAknExtendedInputCapabilities::MAknEventObserver,
-#endif
-    private MFormCustomDraw
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    ,public MAknFepCandidatePopupCallback // Predictive QWERTY (XT9) changes
-#endif //RD_INTELLIGENT_TEXT_INPUT
-    {
-
-private:
-    class TTextDirectionalInfo
-        {
-        public:
-
-            enum TTextDirectionalStatus
-                {
-                EUnknown,
-                    ENotInDocument,
-                    ENoDirectionalChunks,
-                    ERightToLeft,
-                    ELeftToRight
-                };
-
-            enum TDirectionalBlockEnvironment
-                {
-                EUndefined,
-                    EInsideBlock,
-                    EAtRightEndOfLine,
-                    EAtLeftEndOfLine,
-                    EAtRightEndOfBlockFacingOppositeDirectionalBlock,
-                    EAtLeftEndOfBlockFacingOppositeDirectionalBlock,
-                    EAtRightEndOfBlockFacingSameDirectionBlock,
-                    EAtLeftEndOfBlockFacingSameDirectionBlock
-                };
-        public:
-            // Constructor
-            TTextDirectionalInfo();
-            void SetDirectionFromChunk( const CTmTextLayout::TTmChunkDescription& aChunk);
-        public:
-            TTextDirectionalStatus iDirectionalStatus;
-            TDirectionalBlockEnvironment iBlockEnvironment;
-        };
-
-public:
-    /**
-     * values for the flags required to maintain the internal
-     * state of the Fep Manager during operation
-     */
-    enum
-        {
-        EFlagInsideMultitapInlineEditingTransaction     =0x00000001,
-        EFlagLaunchEditMenu                             =0x00000002,
-        EFlagLongShiftKeyPress                          =0x00000004,
-        EFlagNoActionDuringShiftKeyPress                =0x00000008,
-        EFlagShiftKeyDepressed                          =0x00000010,
-        EFlagInsideInlineEditingTransaction             =0x00000020,
-        EFlagPassNextKey                                =0x00000040,
-        EFlagQwertyChrKeyDepressed                      =0x00000080,  // Not used. Qwerty mode is not supported.
-        EFlagLineFeedCharacter                          =0x00000100,
-        EFlagEditorFull                                 =0x00000200,
-        EFlagNewSharedDataInputMode                     =0x00000400,
-        EFlagNoActionDuringChrKeyPress                  =0x00000800,
-
-        EFlagSupressAutoUpdateAtEditorStart             =0x00001000,
-        EFlagNoMatches                                  =0x00002000,
-        EFlagSuppressInputStateChange                   =0x00004000,
-        EFlagCompoundWord                               =0x00008000,
-        EFlagChangeInputMode                            =0x00010000,
-        EFlagForegroundUIComponentVisible               =0x00020000,
-        EFlagMenuPaneVisible                            =0x00040000,
-        EFlagRemoveMatchesMenuItem                      =0x00080000,
-        EFlagInlineEditInBackground                     =0x00100000,
-        EFlagNewSharedDataInputLanguage                 =0x00200000,
-        EFlagLastCharacterInEditor                      =0x00400000,
-
-        EFlagSpaceCharacter                             =0x00800000,        // adding for japanese
-        EFlagFullWidthSpaceCharacter                    =0x01000000,        // adding for japanese
-        EFlagBidiCursorIsInitialized                    =0x02000000,
-        EFlagCursorPointsRightToLeft                    =0x04000000,
-        EFlagAtDirectionallyAmbiguousPoint              =0x08000000,
-        EFlagCharacterAdded                             =0x10000000,
-        EFlagNoInlineEditFormatting                     =0x20000000,  // Not really used yet!
-        EFlagQwertyShiftMode                            =0x40000000,  // Not used. Qwerty mode is not supported.
-        EFlagSupressAutoUpdate                          =0x80000000
-        };
-    
-     enum
-     	{
-		EExtendedFlagShortPressHashKey                    =0x00000001,
-     	EExtendedFlagNoModeChange                         =0x00000002,
-     	EExtendedFlagShiftReleasedOnPopup                 =0x00000004,
-     	EExtendedFlagOkKeyPressOnCandidatePopup           =0x00000008,
-     	/* Flag to take care of graceful exit for FEP launched dialog when the underneath editor is closed */
-        EExtendedFlagEdwinEditorDestroyed                 =0x00000010,
-        /* Flag to set decide when to set multiple observer for FEP. Set this flag whenever a FEP aware dialog is launched */
-        EExtendedFlagFepAwareDialogLaunched               =0x00000020,
-        /* Flag to specify that pointer event type EDrag has happened */ 
-        EExtendedFlagPointerEventTypeEDrag                =0x00000040
-    	};		
-
-    //public constants
-
-    enum
-        {
-        ESingleCharacter                            =1,
-        EMaximumFepWordLength                       =63
-        };
-
-private:
-    /**
-     * private constants
-     */
-    enum
-        {
-        EShiftKeyRepeatDelay                        =800000, // 0.8s
-        EQueryBufferLength                          =63,
-        EDefaultNumericCharMapResId                 =0,
-        EDefaultSCTResourceId                       =-1,
-        ENoCharacters                               =0,
-        EAknFepUid                                  =0x100056de,
-        EStarKeyUnicodeValue                        =0x2A,
-        EHashKeyUnicodeValue                        =0x23,
-        ELeftSoftkeyIndex                           =CAknFepUIInterface::ELeftSoftkeyIndex,
-        ERightSoftkeyIndex                          =CAknFepUIInterface::ERightSoftkeyIndex,
-        EMiddleSoftkeyIndex                         =CAknFepUIInterface::EMiddleSoftkeyIndex,
-        EWordConcatenationTimeout                   =2000000, // 2.0s
-        ELanguageArrayGranularity                   =20,
-        EChrKeyRepeatDelay                          =1000000, // 1.0s
-        EHalfQwertyChrKeyRepeatDelay                =600000   //0.6 secs from Default actions UI spec
-        };
-
-    enum TChineseFepCursorType
-        {
-        EActive,
-        EPassive
-        };
-        
-public:            
-	enum
-		{
-		ECcpuStateNone       = 0,
-		ECcpuStateStartCopy  = 0x01,
-		ECcpuStateCopy       = 0x02,	
-		ECcpuStateStartCut   = 0x04,
-		ECcpuStateCut        = 0x08,
-		ECcpuStateButton     = 0x10,
-		ECcpuStatePosted               = 0x20,
-		ECcpuStateHashDown             = 0x40,
-		ECcpuStateSelectionEventPosted = 0x80,
-		ECcpuStateEdwinInSelectionMode = 0x100,
-		ECcpuStateIgnoreStarUp          = 0x200,
-		ECcpuSupressEditMenuFromShiftUp = 0x400,		
-		ECcpuStateCbaSymbol             = 0x800,
-		ECcpuStateIgnoreNextFocusChange = 0x1000,
-		ECcpuStataCommitPredictiveWord  = 0x2000,
-		ECcpuStateIgnoreNextEdwinSyncEvent = 0x4000,
-		ECcpuStateLosingFocus			   = 0x8000,	
-		ECcpuStateUncommitWhenFocused = 0x10000,				
-        ECcpuStateHashKeyDeleteDone = 0x20000,
-        ECcpuStateSupressCursorMoveToEnd = 0x40000,
-        ECcpuStateChangeToPredictionMode = 0x80000,
-		ECcpuStateNewPredictiveWord = 0x100000,
-		ECcpuStateShiftkeyWasPressedBeforeLosingFocus = 0x200000,
-		ECcpuStateCbaShown = 0x400000
-        };
-
-	enum TShowSctMode 
-	    {
-	    EShowSctFirst=0, 
-	    EShowPctFirst, 
-	    EShowSmileyFirst 
-	    };
-	
-private:
-	 // These are needed to remember editor's ccpu state 
-	 // for editing options submenu.
-     enum
-     	{
-     	ECcpuStatusFlagCanCopy  = 0x01,
-     	ECcpuStatusFlagCanCut   = 0x02,
-     	ECcpuStatusFlagCanPaste = 0x04,     	
-     	};
-  
-
-private:
-    class TLanguageCapabilities
-        {
-        public:
-            TInt iInputLanguageCode;        // Symbian language code.
-            TBool iLocalInputLanguageInUse;
-            TBool iArabicIndicDigitsAllowed;
-            TBool iEasternArabicIndicDigitsAllowed;
-            TBool iIndicDigitsAllowed;	
-            TDigitType iLocalDigitType;
-            TDigitType iNumericEditorDigitType;
-            TBool iSupportsCase;
-            TBool iSupportsWesternPredictive;
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-            // Predictive QWERTY changes ---->
-            TBool iSupportsWesternQwertyPredictive; // predicitve QWERTY
-            // Predictive QWERTY changes <----
-#endif //RD_INTELLIGENT_TEXT_INPUT
-            TBool iRightToLeftLanguage;
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-#ifdef __HALF_QWERTY_KEYPAD            
-            TBool iSupportsWesternHalfQwertyPredictive;
-#endif //__HALF_QWERTY_KEYPAD            
-#endif //RD_INTELLIGENT_TEXT_INPUT 
-        };
-
-public:
-    /**
-     * C++ Constructor
-     */
-    CAknFepManager(CCoeEnv& aConeEnvironment);
-
-    /**
-     *  Second phase construction
-     */
-    void ConstructL(const CCoeFepParameters& aFepParameters);
-
-    /**
-     * destructor
-     */
-    virtual ~CAknFepManager();
-
-
-public: //from MAknFepManagerUIInterface
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-     /**
-     Returns the keyboard layout
-     */
-     TPtiKeyboardType KeyboardLayout() const;
-     /**
-     Returns the current keyboard layout in use.
-     */	 
-     CAknFepFnKeyManager::TFnKeyState FnKeyState();
-     void SetFnKeyState(CAknFepFnKeyManager::TFnKeyState aState);
-    /**
-     * Returns the resource ID of the numeric editor in use
-     */
-    
-    TInt GetNumericSCTResID();
-    
-
-#ifdef __REVERSE_FN_KEY_SUPPORTED
-     /**
-    Returns if the input is in reverse Fn key input mode.
-    */
-    virtual TBool IsReverseFnkeyInput();
-    
-    void SetReverseFnkeyInputMode(TBool iIsOn);
-    
-    /**
-     * Returns true if the aChar is allowed in the numeric editor
-     */
-    TBool IsValidCharInNumericEditorL( TChar aChar ) const;
-    
-    /**
-     * Filter the char for Fn reverse mode in case of
-     * numeric editor. This function should call
-     * in case of numeric editor reverse mapping.
-     */
-    TBool IsValidCharForNumericInFnReverseL(TInt aKey, TPtiTextCase aCase) ;
-
-#endif //__REVERSE_FN_KEY_SUPPORTED
-    virtual void AddOneSpaceOrMoveCursorL();
-#endif
-	virtual TBool IsAllowedKeymappingForNumberMode(TChar aChar) const;
-	/**
-     * closes the UI
-     * commits any character in multitap
-     */
-    virtual TBool TryCloseUiL();
-
-    /**
-     * Used by the UI manager to inform the Fep Manager that the UI has activated.
-     */
-    virtual void SendUIActivatedNotification();
-
-    /**
-     * Used by the UI manager to inform the Fep Manger that the UI has not activated.
-     */
-    void SendUIDeActivatedNotification();
-
-
-    /**
-     * Plays sound
-     */
-    virtual void PlaySound(TAvkonSystemSID aSound) const;
-    
-    /**
-     * Set current long clear key press
-     */     
-    virtual void SetLongClearAfterCloseUI(TBool aLongClear);
-
-	/**
-	 * Align the Logical and Visual cursor positions.
-	 *
-     * @since 3.2
-     * @param aType Cursor type.
-     * @param aToLeft ETrue if the position to the left is to be found,
-     *			 	  EFalse if the position to the right is to be found.
-     * @return None
-	 */
-	void AlignLogicalAndVisualCursorL( TTmDocPosSpec::TType aType, TBool aToLeft );
-	
-	/**
-	 * This method removes the Repha character. The function goes to the 
-	 * start of the syllable, checks if repha character is present and 
-	 * removes it.
-	 *
-	 * @since 3.2
-	 * @param None.
-	 * @return None.
-	 */							
-	void RemoveRephaCharacterL();
-	
-	/**
-	 * Checks if the Repha character has been attached to the syllable
-	 *
-	 * @since 3.2
-	 * @param None.
-	 * @return ETrue if present else EFalse.
-	 */	
-	TBool IsRephaPresent();
-	
-	/**
-	 * Retrieve the Previous to previous character during multitapping.
-	 *
-	 * @since 3.2
-	 * @param aContextSensitive EFalse is the default parameter.
-	 *						    ETrue is used for requesting the function
-	 *						    to check for extraction of the character
-	 *						    two positions before the seleted text.
-	 *
-	 * @return The previous to previous character if any.
-	 */
-	TText PreviousToPreviousChar( TBool aContextSensitive = EFalse );
-
-	 /**
-	 * This method is called for removing the Rakar character. The function 
-	 * checks if Rakar (Virama+Ra)  is present.
-	 *
-	 * @since 3.2
-	 * @param None.
-	 * @return None.
-	 */
-	void RemoveRakarCharacterL();
-
-    /**
-	 * This method is called for removing the N characters from the 
-	 * specified position. If the text to be removed is not yet
-	 * committed, it is updated with NULL descriptor and committed.
-	 *
-	 * @since 5.0
-	 * @param TInt aPos position to start searching from. By default
-	 *              Searching will start from the cursor position.
-	 * @param TInt aNumOfCharacters Number of characters to remove.
-	 * @param TBool Should cursor be positioned at the original location.
-	 * @return None.
-	 */
-    void RemoveTextFromEditorL( TInt aNumOfCharacters, TInt aPos = 0, 
-                                TBool aIsToAlignCursor = ETrue );
-    
-   	/**
-	 * Align the Logical and Visual cursor positions.
-	 * Overloaded method which uses FindDocPos
-	 *
-     * @since 5.0
-     * @param None
-     * @return None
-	 */
-	void AlignLogicalAndVisualCursorL();
-	
-	CAknFepPluginManager* PluginUIManager();
-    //Phrase creation	
-	MZhuyinKeyHandler* ZhuyinKeyHandler();
-	CAknFepZhuyinAnalyser* ZhuyinAnalyser();
-	void UpdateStickyState();
-	
-#ifdef RD_MARATHI
-	/**
-	 * This function checks if the previous two characters are
-	 * the combination of Chandra-A
-	 *
-	 * @since 5.0
-	 * @param None
-	 * @return TBool.
-	 */
-	TBool IsChandraAPresentL();
-
-	/**
-	 * This function checks if the previous Chandra-A is present
-	 * before the cursor position
-	 *
-	 * @since 5.0
-	 * @param None
-	 * @return TBool.
-	 */
-	TBool IsEyeLashRaPresentL();
-#endif // RD_MARATHI
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    /**
-	 * This function returns the current case.
-	 * Required for Shift key handling.
-	 *
-	 * @since 3.2
-	 * @param None
-	 * @return TBool.
-	 */
-	TInt GetCurrentCase();
-	
-	 /**
-	 * This function set the flag of chr composition key
-	 * in mini qwerty
-	 *
-	 * @since 3.2
-	 * @param aFlag ETrue if it is chr composition key.
-	 * @return None.
-	 */
-	void  SetComposChrFlag( TBool aFlag );
-	
-	/**
-	 * This function get the flag of chr composition key
-	 * in mini qwerty
-	 *
-	 * @since 3.2
-	 * @param None.
-	 * @return ETrue if it is chr composition key..
-	 */
-	TBool GetComposChrFlag();
-	/**
-	 * Hides the exact word popup.
-	 */
-	void HideExactWordPopUp();
-	/**
-    * @return   ETrue   If the exact word pop up is shown.
-    */
-	
-	TBool IsExactWordPopUpShown();		
-#endif
-#ifdef RD_HINDI_PHONETIC_INPUT
-    //hindi_phonetic_fixes
-   	/*
-    * This functions toggles the case from upper to lower
-    * @since 5.0
-    * @param None
-    * @return  void
-    */
-    virtual void HandleIndicCaseL();
-#endif
-
-public: //interface to the key catcher
-    /**
-     * Handles key events passed from the Key Catcher, excluding the shift key event
-     * which is dealt with separately in the HandleShiftKeyEventL function.
-     * State will always be Intital or UIActive.
-     */
-    TKeyResponse HandleKeyEventL(TUint aCode, TKeyPressLength aLength, TEventCode aEventCode = EEventKey);
-
-    /**
-     *  Shift keys are dealt with in a different way to other keys, the action is on the up
-     *  key event.
-     */
-    TKeyResponse HandleShiftKeyEventL(TEventCode aEventCode);
-
-    /**
-     *  Thai 0 key is handled differently. If 0 key is up before long keypress, we show SCT.
-     */
-    TKeyResponse HandleThai0KeyEvent(TEventCode aEventCode, TKeyPressLength aLength, 
-                                     TBool& aThai0KeyHandling);
-
-    /**
-     *  Chr key handling
-     */
-    TBool HandleQwertyChrKeyEventL( TEventCode aEventCode );
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-#ifdef __HALF_QWERTY_KEYPAD
-	/**
-	*	Chr Key handling in half qwerty
-	*/
-	TKeyResponse HandleChrKeyForHalfQwertyL( TEventCode aEventCode);
-#endif //__HALF_QWERTY_KEYPAD
-#endif //RD_INTELLIGENT_TEXT_INPUT    
-    /**
-    *  Control key handling
-    */
-    TKeyResponse HandleQwertyControlKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aEventCode);
-
-    /**
-    * Handles key events for qwerty input mode.
-    *
-    * @since 3.0
-    * @param aKeyEvent An event to be handled.
-    * @param aResponse Repsonse (consumed / not consumed) will be stored here.
-    * @return ETrue if evenat was handled by this method.
-    *         EFalse otrherwise.
-    */
-    TBool HandleQwertyKeyEventL(const TKeyEvent& aKeyEvent, TKeyResponse& aResponse);
-    
-  	/**
-    * Returns boolean value indicating whether it is ok to set edwin into "copy/paste"
-    * mode.
-    *    
-    * @since 3.1
-    * @return ETrue if it is ok to editor into selectuion mode.
-    *         EFalse otherwise.
-    */
-	TBool OkToActivateSelectionMode() const;    
-	
-    /**                
-    * Returns the status of arabic-indic digit mode setting.
-    *
-    * @since 3.0
-    */
-    TBool ArabicIndicDigitsInUse() const;    	
-	
-	/**                
-    * Returns the status of Eastern arabic-indic digit mode setting.
-    *
-    * @since 3.0
-    */
-	TBool EasternArabicIndicDigitsInUse() const;
-	void NumberModeChangeGSNotification();
-	void DimInputmodeMenuItems(CAknFepUiInterfaceMenuPane* aMenuPane);
-	 
-	 /**
-     * Dims the item corresponding to the mode aMode, in the edit mode menu
-     *
-     * @param aMenuPane the edit menu pane
-     * @param aMode the mode to be dimmed
-     */
-    void DimMenuItem(CAknFepUiInterfaceMenuPane* aMenuPane, TInt aMode);
-    
-    TInt FepShowVkbPreviewStatus();
-
-    TInt PluginInputMode() const;
-private: // from CCoeFep
-    /**
-     * from CCoeFep - not used
-     */
-    virtual void CancelTransaction();
-
-    /**
-     * from CCoeFep - not used
-     */
-    virtual void IsOnHasChangedState();
-
-    /**
-     * from CCoeFep - not used
-     */
-    virtual void OfferKeyEventL(TEventResponse& aEventResponse, const TKeyEvent& aKeyEvent, 
-                                TEventCode aEventCode);
-
-    /**
-     * from CCoeFep - not used
-     */
-    virtual void OfferPointerEventL(TEventResponse& aEventResponse, 
-                                    const TPointerEvent& aPointerEvent, 
-                                    const CCoeControl* aWindowOwningControl);
-
-    /**
-     * from CCoeFep - not used
-     */
-    virtual void OfferPointerBufferReadyEventL(TEventResponse& aEventResponse, 
-                                               const CCoeControl* aWindowOwningControl);
-
-private:    // from MFepAttributeStorer (via CCoeFep)
-    /**
-     * from MFepAttributeStorer (via CCoeFep) - not used
-     */
-    virtual TInt NumberOfAttributes() const;
-
-    /**
-     * from MFepAttributeStorer (via CCoeFep) - not used
-     */
-    virtual TUid AttributeAtIndex(TInt aIndex) const;
-
-    /**
-     * from MFepAttributeStorer (via CCoeFep) - not used
-     */
-    virtual void WriteAttributeDataToStreamL(TUid aAttributeUid, RWriteStream& aStream) const;
-
-    /**
-     * from MFepAttributeStorer (via CCoeFep) - not used
-     */
-    virtual void ReadAttributeDataFromStreamL(TUid aAttributeUid, RReadStream& aStream);
-
-private:    // from MCoeForegroundObserver (via CCoeFep)
-    /**
-     * from MCoeForegroundObserver (via CCoeFep) - not used
-     */
-    virtual void HandleGainingForeground();
-
-    /**
-     * from MCoeForegroundObserver (via CCoeFep) - not used
-     */
-    virtual void HandleLosingForeground();
-
-private:        // from MCoeFocusObserver (via CCoeFep)
-
-    virtual void HandleChangeInFocus();
-
-    /**
-     * in queries the editor is destroyed before the call to HandleChangeInFocus
-     * so NULL the iInputCapabilities variables to prevent trying to save to an unreferenced object
-     */
-    virtual void HandleDestructionOfFocusedItem();
-
-public: // from MAknEdStateObserver
-    /**
-     * from MAknEdStateObserver - not used
-     */
-    virtual void HandleAknEdwinStateEventL(CAknEdwinState* aAknEdwinState, 
-                                           EAknEdwinStateEvent aEventType);
-
-private:    // from MEikCommandObserver (via MAknFepUiInterfaceMenuObserver)
-    /**
-     * from MEikCommandObserver
-     * Processes user commands, in this case only commands from the edit menu
-     */
-    virtual void ProcessCommandL(TInt aCommandId);
-
-    /**
-     * Constructs the component fully. This method is called when a
-     * fep aware editor is first time focused for text input.
-     */
-    void ConstructFullyL();
-
-    /**
-     * Deletes the objects constructed with ConstructFullyL() method.
-     */
-    void CommonDestroyFep();
-
-private:    // from MAknFepUiInterfaceMenuObserver
-    /*
-     * not used as DynInitMenuPaneL() is now called before SetEmphasis() and HandleChangeInFocus()
-     */
-    virtual void SetEmphasis(CBase* aMenuControl,TBool aEmphasis);
-
-    /**
-     * removes app menu panes and adds the FEP edit menu pane to the menu bar
-     */
-    virtual void DynInitMenuBarL(TInt aResourceId,CAknFepUiInterfaceMenuBar* aMenuBar);
-
-    /**
-     * dynamically changes the edit menu depending on fep and editor state
-     */
-    virtual void DynInitMenuPaneL(TInt aResourceId,CAknFepUiInterfaceMenuPane* aMenuPane);
-
-private:        //from MFepPointerEventHandlerDuringInlineEdit
-    /**
-     * from MFepPointerEventHandlerDuringInlineEdit - not needed, has to be implemented for MCoeFepAwareTextEditor interface
-     * No pointer in Chinese Series 60
-     */
-    virtual void HandlePointerEventInInlineTextL(TPointerEvent::TType aType, TUint aModifiers, 
-                                                 TInt aPositionInInlineText);
-
-private:        //from MFepInlineTextFormatRetriever
-    /**
-     * from MFepInlineTextFormatRetriever - not needed, has to be implemented for MCoeFepAwareTextEditor interface
-     */
-    virtual void GetFormatOfFepInlineText(TCharFormat& aFormat, 
-                                          TInt& aNumberOfCharactersWithSameFormat, 
-                                          TInt aPositionOfCharacter) const;
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-
-// Predictive QWERTY changes (XT9) ---->
-public:         
-	//from MAknFepCandidatePopupCallback ---->
-    /**
-    * Callback the get the current set of candidates
-    * @param    aArray      An output parameter for the candidate strings
-    * @param    aActiveIdx  An output parameter for the index of the 
-    *                       currently active candidate
-    */
-    virtual void GetCandidatesL( CDesCArray& aArray, TInt& aActiveIdx );
-	
-	/**
-	* Callback get new position for candidate list
-	* @param aRect  New rect position for candidate list.
-	*/
-    virtual void GetUpdateCandidatePositionL(TRect& aRect);
-    
-	//from MAknFepManagerUIInterfaceWestern ---->
-    
-    /**
-     * Function to get the text direction for current language.
-     * @return ETrue if language id RTL, EFalse if it is not
-     */
-    TBool IsRightToLeftLanguage();
-    TBool IsLanguageSupportPrediction();
-// Predictive QWERTY changes (XT9) <----
-#endif //RD_INTELLIGENT_TEXT_INPUT
-
-public:
-
-    /**
-     * Launches the mode selection menu
-     */
-    void LaunchSelectModeMenuL();
-    
-    /**
-     * Launches the edit word query in western predictive text mode
-     */
-    void LaunchEditWordQueryL();
-    
-	/**
-	* Returns the status of given extended input capability flag.
-	*/
-    TUint ExtendedInputCapabilities() const;	
-
-	/**
-	* Exit plugin itut spell mode by press ok btn
-	*/
-    void ExitPluginSpellModeByOk();
-
-	/**
-	* Exit plugin itut spell mode by press cancel btn
-	*/
-    void ExitPluginSpellModeByCancel();
-    
-    void SynCCPSoftKey();
-    
-     /**
-     * checks that the editor the editor has free space to add another character
-     * An editor of unlimited length will return its maximum size as zero
-     */
-    TBool EditorHasFreeSpace( TInt aNumberOfCharacter = 0 ) const;
-		TBool IsSpecialNumericEditor();
-
-private:
-
-    /**
-     * Handles notifications that the UI has changed focus
-     * <ul>
-     * <\li>When moving away from a fep aware text editor saves the mode of the old editor
-     * <\li>When moving to fep aware text editor gets the the mode if it has previously been saved
-     * and checks if the editor supports secret text
-     * <\ul>
-     */
-    void HandleChangeInFocusL();
-
-    /**
-     * cleans up the fep after trapping a leave
-     */
-    void CleanUpFep();
-
-    /**
-     *
-     * @param aKeyCode the value of the key to simulate
-     */
-    void SimulateKeyEventL(TUint aKeyCode, TBool aActiveObj=EFalse);
-
-    /**
-     * Tries to Reset the Shift Key Monitor
-     * Cleans up FEP if failed
-     *
-     * @return KErrNone if succeed, KErrDied if failed
-     */
-    static TInt ResetShiftKeyMonitorCallback(TAny* aObj);
-
-    /**
-     * Cancels the shift monitor
-     * tells the editor to up date its cba
-     * to enable copy/paste support on cba. We simulate via CCoeEnv
-     * to avoid fep SimulateL adding shift modifiers
-     */
-    void ResetShiftKeyMonitorL();
-
-    /**
-     * Cancels the shift key and concatenation timers if they are active
-     */
-    void CancelAllTimerActivity();
-
-    /**
-     * checks whether a mode is permitted by the current editor
-     *
-     * @return ETrue is aMode is permitted, EFalse if it is not
-     */
-    TBool IsModePermitted(TInt aMode, TWidthChar aWidth = ENoneWidthChar) const;
-
-    /**
-     *
-     *
-     * @return
-     */
-    TUint EditorMode(TInt aMode, TWidthChar aWidth) const;
-
-    /**
-     * Synchronises the states of the Fep Manager and the Key Catcher
-     *
-     * @return System wide error code.
-     */
-    TInt SyncStates(TAknFepManagerState aState);
-
-    /**
-     * Launches the matches popup list
-     */
-    void LaunchMatchesPopupListL();
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    // Predictive QWERTY (XT9) changes ---->
-    /**
-     * Launches the compact match candidate list which follows the inline editor.
-     * @param   aFocusedIndex   The index of the word focused by default. 
-     *                          If KErrNotFound is given, the currently active
-     *                          word will be focused.
-     */
-    void LaunchCandidatePopupListL( TInt aFocusedIndex = KErrNotFound );
-    void StartInlineEditingWithSelectedWord(TDesC& aTextToUncommit);
-    /**
-     * Shows the exactly typed word above the inline editor if it differs from the 
-     * best guess word shown inline.
-     */
-    void ShowExactWordPopupIfNecessaryL();
-    
-    /**
-     * Launches the predictive setting dialog.
-     */
-    void LaunchPredictiveSettingDialogL();
-#ifdef FF_DUAL_LANGUAGE_SUPPORT
-    void  LaunchWritingLanguageSettingDialogL();
-    
-    void  LaunchDualLanguageSettingDialogL();
-#endif //FF_DUAL_LANGUAGE_SUPPORT
-    
-    // Predictive QWERTY (XT9) changes <----
-    
-    /**
-     * Handle shift loop in chinese variant for half qwerty
-     */
-    
-    void HandleShiftHalfQwertyChineseL(TEventCode aEventCode);
-    
-    /**
-     * Handle shift key loop in chinese variant for qwerty and mini qwerty
-     */
-    void HandleShiftQwertyChineseL(TEventCode aEventCode);
-#endif //RD_INTELLIGENT_TEXT_INPUT    
-    /**
-     * Launches the insert word query in western predictive text mode
-     */
-    void LaunchInsertWordQueryL(const TDesC& aInitialText, TCursorSelection aTextSpanToReplace);
-
-    /**
-     * Actual query dialog for LaunchInsertWordQueryL and LaunchEditWordQueryL
-     */
-    void LaunchFepQueryDialogL(TInt aResourceId, const TDesC& aInitialText, 
-                               TCursorSelection aTextSpanToReplace);
-
-     /**
-     * Inserts a text directly into the editor which previously had focus
-     */
-    void InsertTextFromDialogL(const TDesC& aTextFromDialog, 
-                               TCursorSelection aExtentOfTextToReplace);
-
-    /**
-     * Launch the KutenCodeQuery
-     */
-    void LaunchKutenCodeQueryL();
-
-    /**
-     * Returns the resource ID for the numeric mode special character map
-     * available in the current editor.
-     */
-    TInt NumericModeSCTResourceId() const;
-
-    /**
-    * Handles the hash key
-    * <ul>
-    * <\li>a short hash cycles through the modes
-    * <\li>a long key press moves to number mode unless the mode is already number, in which case
-    * it goes to default
-    * <\ul>
-    */
-    TKeyResponse HandleHashKeyL(TKeyPressLength aLength);
-
-    /**
-    *
-    * @return Editor's numeric keymap for # and * keys of ITU-T mode.
-    */
-    TInt EditorNumericKeymap() const;
-
-    /**
-     * dims the item on the edit menu corresponding to the current mode
-     * the user can press cancel to remain in the same mode
-     *
-     * @param aMenuPane the edit menu pane
-     */
-    void DimEditMenuModeItems(CAknFepUiInterfaceMenuPane* aMenuPane);
-
-    /**
-     * Launch confirmation note.
-     *
-     * @param aResourceId Confirmation note resource Id.
-     */
-    void LaunchConfirmationNoteL(TInt aResourceId);
-
-    /**
-     * Enters a new character into the editing window
-     * <p> Secret Text Editors do not use the MCoeFepAwareTextEditorInterface,
-     * they interact with the editor by simlulating key events. When in Multitap, simultating a
-     * numeric key event causes an extra key to be added to the control stack because the numeric
-     * keys exist on the Series 60 keypad; the flag EFlagPassNextKey is used to ignore this.
-     * <p> When secret editing in multitap, a backspace is simulated to replace the last
-     * character in the editor.
-     */
-    void NewCharacterL(const TDesC& aChar);
-    /**
-     * Enters a new phrase into the editing window
-     *
-     */
-    void NewTextL(const TDesC& aText);
-
-    /**
-     * Commits given string in the editing window. This function checks that
-     * the editor has enough space to insert given string. If it not,
-     * given string is cut, then it is committed.
-     */
-    void CommitInlineEditL(const TDesC& aText, TInt aUncommitedTextChange);
-
-    /**
-      * Cansel inline input.
-      */
-    void CancelInlineEdit();
-
-    /**
-      * Used by editing window when it draws inline input characters.
-      */
-    void GetScreenCoordinatesL(TPoint& aLeftSideOfBaseLine, TInt& aHeight,
-                               TInt& aAscent, TInt aDocumentOffset);
-
-    /**
-      * Used by Chinese UI to get cursor baseline position.
-      */
-    void GetScreenCoordinatesL(TPoint& aLeftSideOfBaseLine,TInt& aHeight,TInt& aAscent);
-
-
-
-    /**
-     * checks that the editor the editor has free space to add another character
-     * An editor of unlimited length will return its maximum size as zero
-     */
-    TBool IsEditorHasFreeSpace()const;
-
-    /**
-     * Returns the free space left in the Editor.
-     *
-     * @param aUnlimit.	Set to EFalse in case of Editors with limited text 
-	 *				  	size
-	 *		  isToCountUncommittedTextLength. Pass ETrue if the lenght of
-	 *					Uncommitted text is to be counted.
-	 *
-	 * @return TInt. Free space left in the Editor.
-     */
-    TInt EditorFreeSpace(TBool& aUnlimit, 
-    				TBool isToCountUncommittedTextLength = EFalse ) const;
-#ifdef RD_INTELLIGENT_TEXT_INPUT    
-    /**
-     * Returns the free space left in the Editor. ITI Specific Implementation
-     *
-     * @param aUnlimit.	Set to EFalse in case of Editors with limited text 
-	 *				  	size
-	 *		  isToCountUncommittedTextLength. Pass ETrue if the lenght of
-	 *					Uncommitted text is to be counted.
-	 *
-	 * @return TInt. Free space left in the Editor.
-     */
-	TInt EditorFreeSpaceForAutoWordCompletion(TBool& aUnlimit, 
-                                            TBool isToCountUncommittedTextLength = EFalse ) const;
-#endif    																	
-  	
-#ifdef __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-#ifdef RD_INTELLIGENT_TEXT_INPUT    
-    /**
-    * Gives the amount of characters in the document.
-    * @return   The number of characters in the active editor.
-    */
-    TInt DocumentLength() const;
-    
-    /**
-    * Tells if the given key event will replace the latest character in editor
-    * because of multitapping or long press handling.
-    */
-    TBool KeyEventWillReplaceCharacter( const TKeyEvent& aKeyEvent );
-
-#endif
-#endif    																	
-
-    /**
-     * Uses TLocale to access the localized decimal separator in the kernel
-     */
-    TChar CurrentDecimalSeparator() const;
-
-    /**
-     * Sets up the FEP state from the Editor State
-     * Called by HandleChangeInFocusL()
-     */
-    void ConfigureFEPFromEditorStateL();
-
-    /**
-     * Sets up the FEP State(character width) from the Editor Mode
-     * @return FepMode
-     */
-    TInt ConfigureFepModeFromEditorMode(TInt aEditorMode);
-
-    /**
-     * launch query which contains instructions on how to enter
-     * chinese text using the FEP
-     */
-    void LaunchHelpTextQueryL();
-
-    /**
-     * ensure that the UI is aware of the current editor context
-     */
-    void UpdateEditorContext() const;
-
-    /**
-     * query whether the text is valid in the current editor
-     */
-    TBool TextIsValidInEditor(const TDesC& aText);
-
-
-    /**
-     * Sets the style of the cursor to aType
-     */
-    void SetCursorType(TChineseFepCursorType aType);
-
-   /**
-    * Returns the current editing state indicator
-    */
-    MAknEditingStateIndicator* EditingStateIndicator() const;
-
-    /**
-    * Adds space at the end of the buffer if the feature is enabled.
-    */
-    TBool TryHandleArrowRightEventL(TInt aDocumentLength);
-
-    /**
-    * Remove spaces from the end of the buffer if the cursor
-    * is in last position. Only in Japanese variant.
-    * Opposite functionality of TryHandleArrowRightEventL().
-    */
-    TBool TryHandleArrowLeftEventL(TInt aDocumentLength);
-
-    /**
-    * Adds enter to the buffer if the cursor is at the end of the buffer and
-    * feature KAknFepEnterWithScrollDown is enabled.
-    *
-    * @since 2.6
-    * @param aDocumentLength Editor's document length
-    * @return Boolean if the down key event was handled.
-    */
-    TBool TryHandleArrowDownEventL(TInt aDocumentLength);
-
-    inline void ResetFlags();
-
-    /**
-     * Handle the Chr Key Monitor
-     * for Japanese variant only.
-     *
-     * @since 3.0
-     * @return KErrNone if succeed, KErrDied if failed
-     */
-    static TInt HandleChrKeyMonitorCallback(TAny* aObj);
-
-	/**
-	 * Enters a new ligature into the editing window.
-	 *
-     * @since 3.2
-     * @param aText Unicode value of the ligature.
-     * @return None
-	 */
-	void NewLigatureL( const TDesC& aText );
-   /**
-     * Sets the current state to aState based on the input mode 
-     * used to show the indicator
-     * @since 3.2
-     */
-    void SetPredictiveIndicatorState(TAknEditingState& aState);
-    static TInt HandleResourceChangedCallback(TAny* aObj);
-    
-    void ResourceChangedTimeroutL();
-    /**
-    * Exit plugin itut spell mode by press ok btn
-    */
-    void ExitPluginSpellModeByOkL();    
-	
-#ifdef RD_SCALABLE_UI_V2
-	/**
-     * Unregisters Fep as observer
-     */
-    void UnregisterObserver();
-    
-    /**
-     * Unregisters Fep as observer
-     */
-    void RegisterObserver();
-    
-#endif // RD_SCALABLE_UI_V2	    
-private:
-    TUint EditorModeFromFepMode(TInt aFepMode);
-
-    // returns sound system
-    CAknKeySoundSystem* SoundSystem() const;
-
-    void SetHashKeyStyle();
-    void ReadHashKeyLoopL();
-
-    TBool IsValidInLineCharacter(TChar aCharacter) const;
-    TBool HandleLoopingInNaviEventL(TWesternNaviEvent aNaviEvent);
-
-    static TInt WordConcatenationTimerTimeoutCallback(TAny* aObj);
-    void WordConcatenationTimerTimeoutL();
-    
-	void AddInputLanguageItemL(CAknFepUiInterfaceMenuPane* aMenuPane, TInt aIndex);    
-	void SetQwertyModeToInputcapbility();
-	void SetExtendedInputCapabilities( TUint aCapabilities);
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-
-    // Predictive QWERTY (XT9) changes ---->
-    /**
-    * Adds the "Input Options" option and its sub menu to the given menu.
-    * @param    aMenuPane   The menu where the option should be added.
-    * @param    aIndex      The location in the menu where the option should be added.
-    */
-   
-    void AddPredictiveModeOptionsL(CAknFepUiInterfaceMenuPane* aMenuPane, TInt aIndex) const;
-    
-    /**
-     * Adds the XT9 Edit menu options to the given menu.
-     * @param    aMenuPane   The menu where the option should be added.
-     * @param    aIndex      The location in the menu where the option should be added.
-     */
-    
-     void AddPredictiveModeEditMenuL(CAknFepUiInterfaceMenuPane* aMenuPane, TInt aIndex) const;
-    
-    // Predictive QWERTY (XT9) changes <----
-#endif //RD_INTELLIGENT_TEXT_INPUT
-    /* Sets default number mode when arabic language is used.
-    * @param aMode either Latin or Arabic
-    * @param aNbrModeType number mode type from GSLangPlugin.hrh
-    */
-    void SetDefaultNumberMode( TInt aMode, TInt aNbrModeType );
-
-    /**
-    * Loads an icon from avkon bitmap file.
-    * @param aIcons The array into which the icon will be added. Icons will be 
-    *        owned by this array.
-    * @param aBitmapId ID of the actual bitmap.
-    * @param aMaskId ID of the mask.
-    */
-    void LoadIconL( CArrayPtr<CGulIcon>* aIcons, TInt aBitmapId, TInt aMaskId );
-
-    /**
-      * Add a menu item for User DB management. 
-      * phrase creation
-      * @since S60 5.0 S60_version
-      * @param aMenuPane The menu into which the mune item will be added. 
-      * @param aIndex Index of the menu item to insert.
-      * @return none
-      */
-     void AddUserDBDlgItemL( CAknFepUiInterfaceMenuPane* aMenuPane, TInt aIndex );
-
-     /**
-       * Return wether ipnut mode is change by press shift+space. 
-       * This is for half-qwerty.
-       * @return ETure is change by press shift+space, otherwise EFalse.
-       */
-     TBool IsChangeModeByShiftAndSpace();
-     
-     /**
-       * Set wether ipnut mode is change by press shift+space. 
-       * This is for half-qwerty.
-       * @return none
-       */
-     void SetChangeModeByShiftAndSpace( TBool aFlag );
-
-public:
-    //Hash Key Manager Interface
-    TBool IsOnlyNumericPermitted() const;
-    void TryIncrementModeL(TInt aCurrentMode);
-    void TryIncrementModeChineseQwertyL(TInt aCurrentMode);
-    void TryIncrementChineseModeForQwertyL(TInt aCurrentMode);
-    void TryChangeToSharedDataModeL();
-    void TryChangeToModeBeforeL();
-    TBool TryChangeModeL(TInt aMode);
-    void ChangeInputLanguageL(TInt aInputLanguage);
-    void RemovePreviousCharacterL();
-    void  TryChangePredictiveInputModeL(TBool aFlag);
-    
-    /**
-     * To Handle Indic Hash key 
-     * 
-     *
-     * @since 3.2
-     * @return the language id of the Input Language as in Cenral Repository (General Settings)
-     */
-    TLanguage GetInputLanguageFromSharedDataInterface();
-
-    
-    /**
-     * To Handle Hash key 
-     * 
-     *
-     * @since 3.2
-     * @return ETrue if the Last Key press was Hash key.
-     */
-    TBool WasLastKeyPressAHashKey();
-
-    /**
-     * To Handle Hash key 
-     * To set or Reset the status maintained to know if last key pressed was Hash Key	 
-     *
-     * @since 3.2
-     * @return nothin
-     */
-	void SetLastPressedHashKeyStatus(TBool aStatus);
-
-    //Case Manager Interface
-    MCoeFepAwareTextEditor* FepAwareTextEditor() const;
-    
-    TBool IsFepAwareTextEditor() const;
-    
-    TCursorSelection UncommittedText() const;
-    void SetCase(TCase aCase);
-
-    //made public for western
-
-    /**
-     * Retreives the State of the current editor
-     *
-     * @return the current editors state object
-     */
-    CAknEdwinState* EditorState() const;
-
-    /**
-     * update the edit indicators when moving into a new input mode
-     */
-    void UpdateIndicators();
-
-    /**
-     * Checks if the editor is in a state where a Special Character Table can be launched
-     */
-    TBool IsAbleToLaunchSCT() const;
-    
-    /**
-     * Get current editor's SCT resource id
-     */
-    TInt GetCurrentEditorSCTResId() const;
-    
-    /**
-     * Launch the Special Character Table
-     */
-    void LaunchSpecialCharacterTableL(TInt aResourceId = EDefaultNumericCharMapResId,
-                                      TBool aLaunchedByTouchWin=EFalse, 
-                                      TBool aSmileyFirst=EFalse);
-
-    /**
-     * Checks if the editor is in a state where a Pictograph Character Table can be launched
-     */
-    TBool IsAbleToLaunchPCT() const;
-    
-    /**
-     * Checks if the editor is in a state where a Pictograph Character Table can be launched
-     */
-    TBool IsAbleToLaunchSmiley() const;
-
-    /**
-     * Launch the Pictograph Character Table
-     */
-    void LaunchPictographCharacterTableL();
-
-    //MAknFepManagerUIInterfaceWestern
-    virtual void UpdateInlineEditL(const TDesC& aNewInlineText, 
-                                   TInt aPositionOfInsertionPointInInlineText);
-    virtual void StartInlineEditL();
-    virtual void StartInlineEditL(const TDesC& aText);
-    virtual void StartInlineEditL(TCursorSelection aCursorSelection, 
-                                  const TDesC& aInitialInlineText, 
-                                  TInt aPositionOfInsertionPointInInlineText, 
-                                  TBool aCursorVisibility);
-
-    virtual TBool CloseUiIfWordDeletedL();
-    virtual TBool TryGetTextToUncommitL(TDes& aText, TInt aCode, TBool& aComsumeKey);
-
-    /**
-     * Addition for ITI features on FSQ.
-     * To check which characters will be underlined.
-     */
-    TBool TryGetTextToUncommitL(TDes& aText, TBool& aComsumeKey);
-    
-    virtual void UpdateCbaL(TInt aResourceId);
-    virtual TBool TryRemoveNoMatchesIndicatorL();
-    virtual TBool IsMoreGoodWordsComing(TInt aNewWordLength) const;
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-    virtual TBool IsMoreGoodAutoCompleteWordsComing(TInt aInputMode, TInt aPreviousWordLengh, 
-                                                    TInt aNewWordLength) const;
-#endif //RD_INTELLIGENT_TEXT_INPUT
-    virtual void TryStartCompoundWord();
-    virtual void AddCompoundWordToUdbL();
-
-    //MAknFepManagerUIInterfaceWestern made public for western
-    inline TBool IsFlagSet(TInt aFlag) const;
-    inline void SetFlag(TInt aFlag);
-    inline void ClearFlag(TInt aFlag);
-    
-    inline TBool IsExtendedFlagSet(TInt aExtendedFlag) const;
-    inline void SetExtendedFlag(TInt aExtendedFlag);
-    inline void ClearExtendedFlag(TInt aExtendedFlag);
-    inline void ResetExtendedFlags();
-
-    inline TCoeInputCapabilities& InputCapabilities();
-
-    void SetWesternPredictive( const TBool aWesternPredictive );
-    void SetWesternAutoComplete( const TBool aWesternAutoComplete );
-    void SetJapanesePredictive(const TBool aJapanesePredictive);
-    void SetQwertyMode(const TBool aQwertyMode); // Empty implementation. Qwerty mode is not supported.
-
-    TBool WesternPredictive(TInt aMode = 0) const;
-    TBool IsPredictive(TInt aMode = 0) const;
-    TBool Japanese() const;
-    TBool IsOnlyFullWidthCharacterPermitted() const;
-    TBool IsOnlyHalfWidthCharacterPermitted() const;
-    TBool IsHalfAndFullKatakanaPermitted() const;
-    TBool IsHalfAndFullLatinPermitted() const;
-    TBool IsHalfAndFullNumberPermitted() const;
-    virtual TWidthChar CharacterWidth() const;
-
-    virtual CPtiEngine* PtiEngine() const;
-    virtual void SetInlineEditingCursorVisibilityL(TBool aCursorVisibility);
-
-    TInt  InputMode() const;
-    TInt CangJieMode() const;
-
-    TBool InputLanguageSupportsCaseChanges() const;
-
-    /**
-     * Queries supportting of KAknFepScrollLatinPredictive feature
-     *
-     * @since 2.6
-     * @return ETrue if ScrollLatinPredictive was supported
-     */
-    TBool IsAbleScrollLatinPredictive() const;
-
-    /**
-     * Previous case is returned.
-     *
-     * @since 2.6
-     * @return TInt  EAknEditorTextCase or EAknEditorUpperCase or EAknEditorLowerCase
-     *               If case cannot be saved, 0 value is returned.
-     */
-    inline TInt CaseBefore() const;
-
-    /**
-    * @return true if current input language is one of Chinese input languages.
-    */
-    inline TBool IsChineseInputLanguage() const;
-    
-    /**
-    * @return true if current input language is arabic input languages.
-    */
-    inline TBool IsArabicInputLanguage() const;    
-    
-    /**
-    * @return true if current input language is Korean input language.
-    */
-    
-    inline TBool IsKoreanInputLanguage() const;
-
-    /**
-     * Check Qwerty keypad
-     *
-     * @since 3.0
-     * @return ETrue is Qwerty
-     */
-    inline TBool IsQwerty() const;
-    
-    
-    /**
-    * Returns boolean value indicating whether hash key is in selection mode or
-    * in traditional mode.
-    *  
-    * @since 3.1
-    * @return  ETrue if hash key is in text selection mode.
-    *          EFalse otherwise.
-    */
-    TBool HashKeySelectionInUse() const;
-
-    /**
-    * Returns the UI interface implementation used in the current app.
-    *
-    * @since 3.2
-    * @return  The UI interface object used in the current app.
-    */
-    CAknFepUIInterface* UiInterface();
-  
-    /**
-    * Returns boolean value indicating whether edit submenu functionality is in use.    
-    *  
-    * @since 3.1
-    * @return  ETrue if edit submenu functionality is in use.
-    *          EFalse otherwise.
-    */        
-    TBool EditSubmenuInUse() const; 
-    
-    /**
-     * Set MultiTap Timer
-     *
-     * @since 3.0
-     * @param aMultiTapTimer value of KAknFepMultiTapTimer setting
-     */
-    void SetMultiTapTimer(const TInt aMultiTapTimer);
-
-    /**
-     * Set Japanese Qwerty Flags
-     *
-     * @since 3.0
-     * @param aJapaneseQwertyFlags value of KAknFepJapaneseSpecialCharFlag setting
-     */
-    void SetJapaneseQwertyFlags(const TInt aJapaneseQwertyFlags);
-
-	/**
-	* Calling this method will raise a flag which will cause predictive 
-	* word to be commited during next call to TryCloseUiL-method. This
-	* is needed because of Japanese ReadingTextL. 
-	*
-	* @since 3.1
-	*/	
-	void SetDelayedCommit();
-
-    /**
-     * from MAknFepManagerUIInterface
-     * query whether the special char is valid in the current editor
-     *
-     * @param aChar Checking a chracter
-     */
-    TBool CharIsValidInEditor(TChar aChar);
-
-   /**
-     * from MAknFepManagerUIInterface
-    * Returns the status of predictive input.
-    *
-    * @since 3.2
-    * @return ETrue is available predictive input.
-    */
-    TBool IsAbleToChangePrediction() const;
-    
-    /**
-     * Commits uncommitted text in the editing window. For secret text editors,
-     * only inline editing flags are changed
-     */
-    void CommitInlineEditL();    
-    
-    TBool GetIndicatorImgID(TInt& aIndicatorImgID, TInt& aIndicatorTextID);   
-
-    inline TFepSymbolOfHardwareOne SymbolInfoOfHardKey1();
-public:
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    /*
-    Sets the keyboard layout.
-    **/
-    void SetKeyboardLayout(TPtiKeyboardType aType);
-#endif
-    virtual TText PreviousChar( TBool aContextSensitive = EFalse );
-    virtual TText NextChar();
-    virtual TBool IsZWSCharacterPresent( TBool aLigaturePresent = EFalse );
-    void RemoveZWSCharacterL( TBool aIsViramaInputted, 
-                              TBool aIsInMultitappingHalant = EFalse, 
-                              TBool aIsCharModifier = EFalse, 
-                              TBool aIsLigaturePresent = EFalse );
-    void NewCharacterSequenceL(const TDesC& aText, TIndicInputResponse aResponse);
-    TBool IsValidInlineIndicCharacter(TChar aCharacter) const;
-#ifdef RD_HINDI_PHONETIC_INPUT	
-    TBool IsIndicPhoneticInputLanguage() const;
-    TInt SetPhoneticIndicator(TLanguage aInputLanguage);
-    void TryChangePhoneticModeL();
-#endif
-    TDigitType LocalDigit();
-public:
-     /**
-     * Auto word Completion is Enabled
-     *
-     * @since 3.2
-     */    
-    void SetAutoCompletionState(TInt aValue);
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-    void RemoveSuggestedCompletionL();
-#endif	//RD_PRED_AW_COMPLETION
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    TBool IsFnKeyMappedL(TPtiKeyboardType aKeyboardType = EPtiKeyboardNone);
-    TBool IsFnKeyMapped();
-    void SetFnKeyMappingState();
-    TBool KeyMapsDifferentCharacterWithFn( TPtiKey aKey ) const;
-     
-     /**
-	 * Setter for the advanced predictive typing correction.
-	 * @param    aLevel   The level to be set.
-	 */
-	 void SetTypingCorrectionLevel(TInt aLevel);
-	
-	 /**
-	 * Resetter for the advanced predictive Number Candidate setting.
-	 * @param    aValue   The value to be set.
-	 */
-	 void SetNumberCandidateState(TInt aValue);
-	 
-	 /**
-	* Setes the primary candidate from GS to the local state
-	*/
-	 void SetPrimaryCandidate(TInt aValue);
-#endif
-       
-    void SetStopProcessFocus(TBool aStop, TBool aClose = ETrue);
-
-    TBool StopProcessFocus();
-    
-    TBool CloseUiOnFocusChange();
-    
-
-public:
-    void HandleOwnedSimulateKeyL();
-    
-    TBool HandleCcpuModeKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aEventCode,
-                                 TKeyResponse& aRetCode, TBool aLongPressFlag = EFalse);
-    
-	/**
- 	*  Sets aFlag bitfield in iCcpuFlags
- 	*/
-	inline void SetCcpuFlag(TInt aFlag);
-
-	/**
- 	* Clears aFlag bitfield in iCcpuFlags
- 	*/
-	inline void ClearCcpuFlag(TInt aFlag);
-
-	/**
- 	* Clears all flags in iCcpuFlags
- 	*/
-	inline void ResetCcpuFlags();
-
-	/**
- 	* Returns ETrue if the aFlag bitfield in iCcpuFlags is set, EFalse if it
- 	* is clear
- 	*/
-	inline TBool IsCcpuFlagSet(TInt aFlag) const;    
-        /**
-     * Check if Auto word Completion is Enabled
-     *
-     * @since 3.2
-     * @return ETrue if Auto word Completion is enabled
-     */
-    inline TBool IsAutoCompleteOn() const;
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-
-    
-    
-    /**
-    * @return	TInt 	Typing correction level.
-    */
-    inline TInt AdvancedPredictiveTypingCorrectionLevel() const;
-    
-    /**
-    * @return   ETrue   If the number candidate shown. EFalse otherwise.
-    */
-    inline TBool IsAdvancedPredictiveNumberCandidateShown() const;
-    
-    /**
-    * Cuts off the automatically completed tail of the suggested word candidate.
-    */
-    virtual void RemoveSuggestedAdvanceCompletionL();
-    
-    /**
-    * @return   ETrue   If the number candidate shown. EFalse otherwise.
-    */
-    inline TBool AdvancedPredictivePrimaryCandidate() const;
-    TBool LongPressNumberEntryOnQwerty() const;
-    
-    // Predictive QWERTY (XT9) changs <----
-#endif //RD_INTELLIGENT_TEXT_INPUT
-    /**
-    * Returns ETrue if Feature manager supports Japanese.
-    */
-    inline TBool IsFeatureSupportedJapanese() const;
-    
- 	/**
-    * Cancels shift key timer.
-    */        
-	void CancelShiftKeyTimer();
-    
-    /**
-     * Queries supportting of SecretText
-     *
-     * @since 2.6
-     * @return ETrue if SecretText was supported
-     */
-    TBool IsSupportsSecretText() const;
-    
-    void SendEventsToPluginManL( TInt aEventType, TInt aEventData = 0 );
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    /**
-    Sends the key event received to the Fn key handler and sets the Fn key state.
-    */
-    TKeyResponse HandleFnKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aEventCode );
-#endif
-    
-    MAknFepManagerInterface* FepUI() const;
-  
-    TTmDocPosSpec DocPos();
-    
-    void HandleCopyCutEventL(TInt aCommandId);
-    
-    void LaunchPenSupportMenuL(); 
-
-private: //navigation
-    void FindStartOfWord(TInt& aAnchorPos) const;
-    void FindEndOfWord(TInt& aCursorPos) const;
-    TBool CursorInsideWord();
-    void MoveCursorToStartOfWordL();
-    void MoveCursorToEndOfWordL();
-    TKeyResponse HandleNaviEventOutsideInlineEditL(TUint aCode, TKeyPressLength aLength);
-    TKeyResponse HandleWesternPredictiveArrowKeyL(TInt aCode, TKeyPressLength aLength);
-    TBool TryHandleTextSelectedNaviEventL(TInt aCode, TKeyResponse& aResponse);
-    TBool TryHandleCommonArrowAndBackspaceFunctionalityL(TInt aCode, TKeyResponse& aResponse);
-    void TransferFepStateToEditorL(TBool aFnLockSync=ETrue);
-    inline MAknFepManagerInterface* InternalFepUI();
-
-
-    void LaunchLanguagesPopupListL(TBool aLaunchedByTouchWin = EFalse);
-    void LaunchRecognitionWithDictionaryPopupListL();
-    TBool IsInputModeAvailable(TInt aMode) const;
-    TInt NewInputModeAfterLanguageChange() const;
-
-    /**
-      * Launch User DB dialog
-      * phrase creation
-      * @since S60 5.0 S60_version
-      * @param none
-      * @return none
-      */
-     void LaunchUserDBDlgL();
-
-    /**
-    * Set current input language and the capabilities of the language to
-    * the iLanguageCapabilities member variable.
-    *
-    * @param aInputLanguage New (current) input language.
-    */
-    void SetInputLanguageCapabilities(const TInt aInputLanguage);
-
-    /**
-    * Returns input language code that corresponds to UI language.
-    *
-    * @param aUiLanguage Ui language code.
-    * @return Input language code that corresponds to the UI language code.
-    */
-    TInt SubstituteSublanguageId(const TInt aUiLanguage) const;
-
-    CTextView* TextView() const;
-    CTextLayout* TextLayout() const;
-    CPlainText* PlainText() const;
-
-    void DoWesternMenu(CAknFepUiInterfaceMenuPane* aMenuPane);
-    void DoChineseMenu(CAknFepUiInterfaceMenuPane* aMenuPane);
-    void DoJapaneseMenu(CAknFepUiInterfaceMenuPane* aMenuPane);
-    void DoChineseSubMenu(CAknFepUiInterfaceMenuPane* aMenuPane);
-
-    TBool IsRightToLeftParagraph(TTmDocPosSpec aPos) const;
-    void FindAdjacentChunks(const TTmDocPosSpec& aPos,
-                            CTmTextLayout::TTmChunkDescription& aLeft, 
-                            CTmTextLayout::TTmChunkDescription& aRight) const;
-
-    TBool GetNextVisualRightCharacter( TInt& aPosition );
-    TBool GetNextVisualLeftCharacter( TInt& aPosition );
-    void FindVisualRightOfWord(TInt& aPosition);
-    void FindVisualLeftOfWord(TInt& aPosition);
-
-    //
-    // Remaining methods here are candidates for turning into TextViewUtility methods. Some
-    // have been made static already in anticipation of this.
-    //
-    /**
-    * Obtains the visual beginning of the document. This may be the left or right the right
-    * end of the first line, depending on first paragraph's direction. If the beginning of the document
-    * is currently not formatted, then EFalse is returned
-    *
-    * @param    aEndPos     DocPosSpec is returned for the visual beginning of the document.
-    * @return   ETrue if the value is successfully calculated, that is the first line is formatted
-    */
-    TBool GetVisualDocStart( TTmDocPosSpec& aStartPos ) const;
-
-    /**
-    * Obtains the visual end of the document. This may be the left or right the right
-    * end of the last line, depending on last paragraphs direction. If the end of the document
-    * is currently not formatted, then EFalse is returned
-    *
-    * @param    aEndPos     DocPosSpec is returned for the visual end of the document.
-    * @return   ETrue if the value is successfully calculated, that is the last line is formatted
-    */
-    TBool GetVisualDocEnd( TTmDocPosSpec& aEndPos ) const;
-
-    /**
-    * Get the document position of the visual extrem of the line in which the passed position
-    * is in.
-    *
-    * @param aPos       A position within the line you are interested in
-    * @param aToRight   ETrue if you want the right hand end.
-    * @param aExtreme   Output value of the doc pos spec for the end of the line
-    * @return           ETrue if the line was formatted. If False, the value of eExtreme
-    * cannot be trusted.
-    */
-    TBool GetAknFepLineExtreme( const TTmDocPosSpec& aPos, TBool aToRight,
-        TTmDocPosSpec& aExtreme) const;
-
-    /**
-    * This is a very general routine for finding the visual extreme (according to
-    * Avkon rules) of a piece of selected text.
-    * - Text may in general have many varying directional sections.
-    * - It may extend from one paragraph to another.
-    * - If the paragraph directions are different the current input language is
-    *
-    * @param aSelection     Logical range for which the visual extreme is required
-    * @param aEvent         The direction being navigated (Right/Left/Up/Down); eg. ELeftNaviEvent if moving to the left end
-    * @param aLimitPos      returned position in document
-    * @param aEffectiveRightOrLeftEvent  Pointer to TWesternNaviEvent, if passed from the client, will
-    *                       return either ERightNaviEvent or ELeftNaviEvent
-    */
-    void GetAvkonDefinedVisualLimitsOfSelection(
-        const TCursorSelection& aSelection,
-        TWesternNaviEvent aEvent,
-        TTmDocPosSpec& aLimitPos,
-        TWesternNaviEvent* aEffectiveRightOrLeftEvent) const;
-
-    /**
-    * Returns the position at the visual left extreme end for a logical range
-    *
-    * @param    aStartPos   Starting position for the search
-    * @param    aMinPos     minimum logical position of the logical range
-    * @param    aMaxPos     maximum logical position of the logical range
-    * @return   TTmDocPosSpec for the visual left end
-    */
-    TTmDocPosSpec LeftVisualExtremePos( const TTmDocPosSpec& aStartPos, 
-                                        TInt aMinPos, TInt aMaxPos ) const;
-
-    /**
-    * Returns the position at the visual right extreme end for a logical range. The range may consist
-    * of many directional chunks.  They are iterated through until the visual end is found.
-    *
-    * @param    aStartPos   Starting position for the search
-    * @param    aMinPos     minimum logical position of the logical range
-    * @param    aMaxPos     maximum logical position of the logical range
-    * @return   TTmDocPosSpec for the visual right end
-    */
-    TTmDocPosSpec RightVisualExtremePos( const TTmDocPosSpec& aStartPos, 
-                                         TInt aMinPos, TInt aMaxPos ) const;
-
-    /**
-    * Gets the visual left-most position in a chunk within a logical range
-    */
-    TBool LeftEndOfChunkWithinRange( const CTmTextLayout::TTmChunkDescription& aChunk, 
-                                     TInt aMinPos, TInt aMaxPos, TTmDocPosSpec& aNewPos) const;
-
-    /**
-    * Gets the visual right-most position in a chunk within a logical range
-    */
-    TBool RightEndOfChunkWithinRange( const CTmTextLayout::TTmChunkDescription& aChunk, 
-                                      TInt aMinPos, TInt aMaxPos, TTmDocPosSpec& aNewPos) const;
-
-    /**
-    * Adjust the passed docpos to reflect the avkon principal that after a left navigation
-    * the cursor should adhere to the bordering directional run on the left of that point.
-    * This may mean that the logical position and leading/trailing feature of aPos are adjusted
-    * This method does not perform the navigation, but may be called after a navigation.
-    */
-    void AdjustPosSpecForAmbiguityAfterLeftOrRightNavigation( TTmDocPosSpec& aPos, 
-                                                              TWesternNaviEvent aEvent ) const;
-
-    /**
-    * Do not move the visual position, but ensure that the docpos passed is adhering to the left
-    * side of the right chunk passed in.
-    */
-    static void AttachToRightChunk( TTmDocPosSpec& aPos, 
-                                    const CTmTextLayout::TTmChunkDescription& aRightChunk );
-
-    /**
-    * Do not move the visual position, but ensure that the docpos passed is adhering to the
-    * right side of the left chunk passed in.
-    */
-    static void AttachToLeftChunk( TTmDocPosSpec& aPos, 
-                                   const CTmTextLayout::TTmChunkDescription& aRightChunk );
-
-    /**
-    * Modify the cursor position after a jump to the start or end of a document.
-    * The current input direction is used to modify the position, so as to avoid attaching the
-    * new cursor position to a block of the opposite input directionality
-    *
-    * @param aPos   target position of the jump; may be modified by the routine.
-    * @param aEvent navigation event that caused the loop.
-    * @param aLoopToTop ETrue if the looping is from bottom to top; EFalse if from top to bottom
-    *
-    */
-    void AdjustPosSpecForInputLanguageAfterDocumentLoop( TTmDocPosSpec& aPos, 
-                                                         TWesternNaviEvent aEvent, 
-                                                         TBool aLoopToTop ) const;
-
-    /**
-    * Tests a chunk for validity.
-    *
-    * @return ETrue if the chunk is valid - is a real chunk.
-    */
-    static TBool ChunkIsValid( const CTmTextLayout::TTmChunkDescription& aChunk );
-
-    /**
-    * Finds the current input direction. This is determined as best as it can using
-    * - iT9Interface as the preferred source of information
-    * if that is not active/defined then
-    * - shared data (via AknTextUtils) if that fails
-    * - localLanguage overrides may be in place
-    *
-    * - when fep is in numeric mode it returns LTR
-    * - if FEP is in an irelevant mode, then LTR is returned
-    *
-    * Note that secret alpha modes return LTR always, as entry is alwas LTR for these
-    *
-    * @return TDirectionality::ERightToLeft when in an alpha mode and direction is RTL;
-    *                           Otherwise returns ELeftToRight
-    */
-    TBidiText::TDirectionality CurrentInputDirectionality() const;
-
-    /**
-    * Access the local language if defined
-    *
-    * @param aLanguage - returns the Symbian OS language code for the local language
-    * @return EFalse iff no local language is in force
-    */
-    TBool GetLocalLanguage( TLanguage& aLanguage ) const;
-
-    /**
-    * Looks through the FEP aware editor's text starting at character aPos, looking for a
-    * strongly directional character.  Direction of search can be set.
-    * Search is carried out until a strong character is found or the end (or beginning)
-    * of the editor text has been reached.
-    * The value returned in aIsRightToLeft should not be used unless the method returns ETrue
-    * @param aPos       First character to look at
-    * @param aForward   If EFalse, then search is backward (decreasing index) in logical buffer
-    * @param aIsRightToLeft     Set to ETrue on return if first strong character found is RTL
-    *
-    * @return           EFalse if no strong character was found.
-    */
-    TBool GetExposedDirectionOfText( TInt aPos, TBool aForward, TBool& aIsRightToLeft ) const;
-
-    /**
-    * Looks through the passed descriptor, looking for a strongly directional character.
-    * Direction of search can be set. Search starts at the begining if searching forward;
-    * starts at the end if searching backwards.
-    *
-    * Search is carried out until a strong character is found or the end (or beginning)
-    * of the descriptor has been reached.
-    * The value returned in aIsRightToLeft should not be used unless the method returns ETrue
-    *
-    * @param aText      Descriptor to search.
-    * @param aForward   If EFalse, then search is backward (decreasing index) in logical buffer
-    * @param aIsRightToLeft     Set to ETrue on return if first strong character found is RTL
-    *
-    * @return           EFalse if no strong character was found.
-    */
-    TBool GetExposedDirectionOfTextInDescriptor( const TDesC& aText, TBool aForward, 
-                                                 TBool& aIsRightToLeft ) const;
-
-    /**
-    * Access character in editor text at index aPos.
-    *
-    * @param    aPos    Index of character to access. Must be a valid index or panic may ensue.
-    * @return           charater at index aPos; returns TChar(0) if cannot get at the text.
-    */
-    TChar CharAt( TInt aPos ) const;
-
-    /**
-    * Navigate off of selected text using an Up/Down/Right/Left navigation event
-    *
-    * The code takes account of the paragraph directionality that the passed selection is
-    * found in.
-    *
-    * The new cursor position is resolved for ambiguity and then set using SetCursorPosition, and
-    * so it has the same side-effects:
-    *   iUncommittedText is set to the zero-width "cursor" state with the new cursor position
-    *   iUncommittedText is set into the FepAwareTextEditor state
-    *   iCaseManager is updated with a ENullNaviEvent
-    *   the doc pos is set in TextView object if present
-    *
-    * @param    aSelection  currently selected text
-    * @param    aNaviEvent  navigation event. One of ERight/Left/Down/UpNaviEvent. Others are ignored
-    * @param    aPos        Ouput, new position of the cursor
-    * @return   EKeyWasNotConsumed if the key is not consumed
-    */
-    TKeyResponse NavigateFromSelectionL(
-        const TCursorSelection& aSelection,
-        TWesternNaviEvent aNaviEvent,
-        TTmDocPosSpec& aPos );
-
-
-    /**
-    * This method is the standard way for the FEP to move the cursor when there is
-    * no inline edit or selection.
-    * Side effects:
-    * iUncommittedText is set to the zero-width "cursor" state with the passed position
-    * iUncommittedText is set into the FepAwareTextEditor state
-    * iCaseManager is updated with a ENullNaviEvent
-    * the doc post is set in TextView object if present
-    *
-    * @param aNewCursorPos - defines the position to set the cursor at, including leading/trailing
-    * @param aDragSelectOn - iff EFalse, do not keep old anchor position (that is, cancel any selection)
-    * properties.
-    */
-    void SetCursorPositionL( const TTmDocPosSpec& aNewCursorPos, TBool aDragSelectOn = EFalse );
-
-    /**
-    * Returns ETrue if the passed position is formatted and is in the first line
-    */
-    TBool InFirstLineAndFormatted( const TTmDocPosSpec& aPos ) const;
-
-    /**
-    * Returns ETrue if the passed position is formatted and is in the last line
-    */
-    TBool InLastLineAndFormatted( const TTmDocPosSpec& aPos ) const;
-
-    /**
-    * Returns ETrue if the passed position is in the
-    * @param aCheckFirstLine    if ETrue, check for first line; else check last line
-    * @return ETrue if the passed position is formatted and is first (or last - depending on switch)
-    */
-    TBool DocPosInFirstOrLastLineAndFormatted( const TTmDocPosSpec& aPos, 
-                                               TBool aCheckFirstLine ) const;
-
-    /**
-    * Method to determine if the passed position is equivalent visually to the "canonical"
-    * value determined by the limit algorithms.  The methods allow two visually equivalent,
-    * but logically different TTmDocPosSpecs to be be checked for equivalence.
-    * @param aCurrentPos    Position in document as returned by GetDocPos
-    * @param aLimitPos      Visual start of document as returned by GetVisualDocStart
-    * @returns              ETrue if the positions are visully equivalent
-    */
-    TBool AtVisualStart( const TTmDocPosSpec& aCurrentPos, const TTmDocPosSpec& aLimitPos ) const;
-
-    /**
-    * Method to determine if the passed position is equivalent visually to the "canonical"
-    * value determined by the limit algorithms.  The methods allow two visually equivalent,
-    * but logically different TTmDocPosSpecs to be be checked for equivalence.
-    * @param aCurrentPos    Position in document as returned by GetDocPos
-    * @param aLimitPos      The visual end of document as returned by GetVisualDocStart
-    * @returns              ETrue if the positions are visully equivalent
-    */
-    TBool AtVisualEnd( const TTmDocPosSpec& aCurrentPos, const TTmDocPosSpec& aLimitPos, 
-                       TInt aDocLength ) const;
-
-    void SetCursorType(TBool aIsLeftToRight);
-    TBool DeviceSupportsRTLLanguageL();
-
-	/**
-	 * Performs calculations of digit mode; 
-	 * used in UpdateLocalDigitMode() and in UpdateNumericEditorDigitType()
-	 */
-	void CalculateEditorDigitType(TDigitType& aDestination);
-
-    void UpdateNumericEditorDigitType();
-
-    /**
-    * Updates FEP digit mode from global locale settings.
-    */
-    void UpdateLocalDigitMode();
-
-    /**
-    * Checks to see if the cursor position is at an ambiguous point (one where the text blocks
-    * on either side are of different directionality) and potentially moves the cursor from
-    * one block to the other, depending on the key identity.
-    *
-    * To be called before key event is processed by the FEP in the usual way.
-    * If the key is acted upon to move the cursor, then the event is "eaten" and it is not
-    * to be passed on for processing.
-    *
-    * @param aCode      Key code from standard TKeyEvent key event structure
-    * @return           EKeyWasConsumed if a cursor adjustement was made;
-    *                   else EKeyWasNotConsumed
-    */
-    // TKeyResponse AttemptCursorFlipAtAmbiguousPointL( const TKeyEvent& aKeyEvent, TEventCode aEventCode );
-    TKeyResponse AttemptCursorFlipAtAmbiguousPointL( const TUint aCode );
-
-    /**
-    * Call back method for the "Post Event Check" mechanism. Called from a CIdle after
-    * any event that might required a check of the new cursor position or other invariant
-    */
-    static TInt PostEventCheckCallback(TAny* aObj);
-
-    /**
-    * Access method for whether bidirectional cursor is to be used
-    *
-    * @return EFalse iff the bidi cursor is not to be used
-    */
-    TBool BidiCursorRequired() const;
-
-    /**
-    * Since FEP does not complete the navigation of an event (editor and form do that), FEP
-    * has to ensure after all navigation is finished if the cursor is displayed correctly.
-    *
-    * <p> This method, called from the post event callback, implements the action to check the
-    * current cursor directionality against the text directionality at the cursor position,
-    * and alters the cursor appearance as required.
-    */
-    void DoCursorDirectionCheckL();
-
-    /**
-    * Check the directionality of text in the vicinity of the current document position
-    * and ensure that the cursor is indicated appropriately.
-    *
-    * This routine has no side-effect on the cursor position. It merely changes the
-    * appearance of the cursor.
-    */
-    void AdjustCursorTypeForCurrentPosition();
-
-    /**
-    * Kicks off the post event check idle event
-    *
-    * @param aCode Key event code
-    */
-    void SchedulePostEventCheckL(TUint aCode);
-
-    /**
-    * Check the directionality of text in the vicinity of the supplied document position
-    * and ensure that the cursor is indicated appropriately.
-    *
-    * This routine has no side-effect on the cursor position. It merely changes the
-    * appearance of the cursor.
-    *
-    * @param    aDocPos     document position that is to be analysed and acted on
-    */
-    void AdjustCursorTypeForPosition( const TTmDocPosSpec& aDocPos );
-
-    /**
-    * "Hook" method for managing a bidi cursor according to the text directionality at the cursor
-    * Only one of this method or SetCursorTypeForInputDirection will be in operation at any
-    * time.
-    *
-    * @param aLeftToRight   Supply ETrue iff cursor required is LTR cursor
-    */
-    void SetCursorTypeForTextDirection( TBool aLeftToRight );
-
-    /**
-    * "Hook" method for managing a bidi cursor according to the current input direction
-    * Only one of this method or SetCursorTypeForTextDirection will be in operation at any
-    * time.
-    *
-    * @param aLeftToRight   Supply ETrue iff cursor required is LTR cursor
-    */
-    void SetCursorTypeForInputDirection( TBool aLeftToRight );
-
-    /**
-    * Routine to analyse the directionalities surrounding the supplied document position
-    * and to return the results.
-    *
-    * @param    aDocPos     document position that is to be analysed
-    * @return               Structure containing the results of the analysis
-    */
-    TTextDirectionalInfo LocalTextDirectionalStatus( const TTmDocPosSpec& aDocPos ) const;
-
-
-    /**
-    *
-    * This method is used to add directional markers to protect neutrals that may be
-    * exposed to the opposite directional formatting to their situation before the deletion
-    *
-    * Redecoration is carried out if a neutral is exposed by the deletion to a directionality
-    * different to that which is was already marked.
-    *
-    * An inline edit may be stated and then committed.
-    *
-    * iUncommittedText is required to be set to the cursor position that existed after
-    * the deletion.
-    *
-    * iUncommittedText will be updated to the new cursor position.
-    *
-    * @param aTextThatWasDeleted Informs the method of what text has just been removed
-    */
-    void RedecorateAfterDeletionL( const TDesC& aTextThatWasDeleted );
-
-
-    TBool EditorSupportsNeutralProtection();
-
-
-    /**
-    * Wrapper function for the MCoeFepAwareTextEditor commit method.
-    * This method terminates the inline by accepting the current inline edit into the buffer.
-    *
-    * At entry, iUncommittedText is required to have the span of the current inline edit.
-    * iAnchorPos should be the index of the first character in the inline edit.
-    * iCursorPos should be the index of the next character after the inline edit.
-    *
-    * At exit, iUncommittedText has 0-length and represents the current cursor position.
-    * That is, iAnchorPos = iCursorPos = index of the character next after the cursor
-    *
-    * These indices may be more easily though of as "gap indices" where gap 0 precedes
-    * character 0, gap 1 follows character 0, gap 2 follows charcacter 1, etc.. until gap
-    * N follows character (N-1).
-    *
-    * This routine does not attempt to consolidate any directional markers that may be
-    * extraneous in the new buffer.  It is therefore used when it is important to know what
-    * span after the commit, e.g. to make it reversible.
-    *
-    * @param aFepAwareTextEditor    Editor for which there is a current inline edit.
-    * @param aCursorVisibility      EFalse if the cursor is to be suppressed during the commit.
-    */
-    void CommitInlineEditWithoutResolutionL(MCoeFepAwareTextEditor& aFepAwareTextEditor, 
-                                            TBool aCursorVisibility, TBool aClearPti = ETrue);
-
-
-    TKeyResponse HandlePredictiveNaviEventOutsideInlineEditL(TUint aCode, TKeyPressLength aLength);
-
-    static TInt DoSimulateKey(TAny* aThisPtr);
-
-    /**
-    * This method is that the label of CBA is updated by aTextResId.
-    * @param aPosition   CBA position, either ELeftSoftkeyIndex or ERightSoftkeyIndex
-    * @param aCommandId  command id for softkey
-    * @param aTextResId  resource id to set string on label.
-    * @return TBool The return value is ETrue in case it is necessary to update CBA.
-    */
-    TBool UpdateCBALabelL(TInt aPosition, TInt aCommandId, TInt aTextResId);
-
-    /**
-    * Launches special character table (SCT) and pictograph character table (PCT).
-    *
-    * @param aResourceId   Resource of SCT content. NULL if the default SCT content
-    *                      is used. At the moment only Thai language sets non-default
-    *                      content.
-    * @param aShowSctParam Set the show mode for sct. EShowSctFirst or EShowPctFirst or EShowSmileyFirst
-    */
-    void DoLaunchSctAndPctL(TInt aResourceId, TShowSctMode aShowSctMode);
-
-    /**
-     * Update CangJie mode
-     *
-     * @param aNewMode   New CangJie mode
-     * @since 3.0
-     */
-	void UpdateCangJieState(TInt aNewMode);
-
-    /**
-     * Launch CangJie setting dialog
-     *
-     * @since 3.0
-     * @return  Selected CangJie level or KErrGeneral if user cancel the selection
-     */
-	TInt LaunchCangJieOptionDlgL();
-    
-    
-	void AddEditSubmenuL(CAknFepUiInterfaceMenuPane* aMenuPane);
-	void DisableEditSubmenuItems(CAknFepUiInterfaceMenuPane* aMenuPane);
-	void StartCcpuModeL(TBool aCopyMode);
-
-    /**
-     * Handle the Chr Key Monitor
-     * for Japanese variant only.
-     *
-     * @since 3.0
-     */
-    void HandleChrKeyMonitorL();
-    
-    TBool IsCursorAtEndOfWord();  
-    
-    /* This method should be called after launching any dialog by FEP */
-    void PrepareFepAfterDialogExitL(TUid aFepUid);
-    /* This method should be called before launching any fep aware dialog by FEP */
-    void PrepareFepForFepAwareDialogLaunch();
-    /* This method should be called after launching any fep aware dialog by FEP */
-    void PrepareFepAfterFepAwareDialogExitL(TUid aFepUid);
-
-public:
-
-    /**
-     * Handle layout change.
-     * When screen layout change, Key Catcher calls this method
-     *
-     */
-    void HandleResourceChange(TInt aType);
-
-    TBool IsHybridAplhaEditor() const;
-    TBool IsHybridAlphaModeChangedtoAplhanumeric() const;
-
-    TBool QueryPredictiveState(const TAknEditingState aState);
-    TInt EvaluateState(TAknEditingState aState);
-    TBool QueryPredictiveAutoCompleteState(TAknEditingState aState);
-	 CAknExtendedInputCapabilities::TEditorType EditorType() const;
-	 TUint MIDPConstraint() const;
-	/**
-	* Tells if the current editor is phone number editor
-	* @return ETrue if the current editor is phone number editor
-	*/
-	TBool IsPhoneNumberEditor() const;
-
-    
-#ifdef RD_SCALABLE_UI_V2
-
-    /**
-     * Pen input support functions
-     */
-public:
-
-    void HandlePointerEventL(const TPointerEvent &aPointerEvent);
-    
-    
-    /**
-     * Handle arrow key event when some chars have been selected
-     *
-     * @since S60 v3.2
-     * @param aKeyEvent
-     * @param aEventCode
-     * @param aRetCode
-     */    
-    TBool HandleSelModeArrowKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aEventCode,
-                                      TKeyResponse& aRetCode);
-    
-    /**
-     * From CAknExtendedInputCapabilities::MAknEventObserver
-     * Handle an event
-     *
-     * @since S60 v3.2
-     * @param aEvent An event, see TInputCapabilitiesEvent
-     * @param aParams Event dependent parameters
-     */
-    void HandleInputCapabilitiesEventL( TInt aEvent, TAny* aParams );
-    
-    void SubmitInlineTextL( const TDesC& aData );
-    
-    inline TInt PermittedModes() const;
-    
-    inline void SetNotifyPlugin( TBool aNotifyFlag );
-            
-    inline void RemeberEditorState();
-    
-    inline TBool IsMfneEditor() const;
-    
-    inline TBool IsFindPaneEditor() const;
-    inline TBool IsSupportedAdaptiveSearch() const;
-    //for japanese
-    void NotifyJapaneseSetting();
-    
-    
-    void ProcessEditorMenuCommand(TInt aCommand);
-    
-    TInt GetPermittedEditorMenu(TBool aOnlyCount = EFalse);
-
-    void UpdateTouchCaseMode();
-
-	void DimInputmodeTouchMenuItems(CAknFepUiInterfaceMenuPane* aMenuPane);
-	
-	inline TLanguageCapabilities InputLanguageCapabilities() const;
-
-    inline TAknFepManagerState& FepManState();
-    
-    inline TBool IsSupportNativeNumber() const;
-
-	void NeedDisableKeySound(const TKeyEvent& aKeyEvent, TEventCode aEventCode);
-	
-	inline void SetGainForeground( TBool aGainForeground );
-	void HandleEndKeyL();
-	inline void SetCancelPopupInQwerty( TBool aCancelPopupInQwerty );
-		
-    /**
-     * Return the chinese input mode used last time
-     */
-	inline TInt LastChineseInputMode() const;
-	
-private:
-       
-    /**
-    * Checks if the current editor is fully FEP aware.
-    *
-    * @since 3.2
-    *
-    * @return ETrue if editor if fully FEP aware.
-    */
-    TBool FullyFepAwareTextEditor() const;
-
-    /**
-    * Checks if the current editor is partially FEP aware.
-    *
-    * @since 3.2
-    *
-    * @param aAtLeast if ETrue then ETrue is returned for also fully FEP aware editors.
-    *
-    * @return ETrue if editor is partially FEP aware.
-    */
-    TBool SemiFepAwareTextEditor( TBool aAtLeast = EFalse ) const;         
-        
-    void DoWesternTouchMenu(CAknFepUiInterfaceMenuPane* aMenuPane);    
-    void DoChineseTouchMenu(CAknFepUiInterfaceMenuPane* aMenuPane);
-    
-    /**
-    * Checks if the current input mode belongs to chinese input modes.        
-    *
-    * @param aMode The current input mode.
-    *
-    * @return ETrue if the current input mode belongs to chinese input mode..
-    */
-    TBool IsChineseInputMode( TInt aMode );
-    
-#endif //RD_SCALABLE_UI_V2
-    
-     /**
-    * Returns the type of the focused editor.
-    *
-    * @since 3.2
-    *
-    * @return Editor type.
-    */
-    //CAknExtendedInputCapabilities::TEditorType EditorType() const;
-        
-    /**
-     *  Get the MAknFepDocumentNavigation object
-     *
-     *  @since 3.2
-     *  @return pointer to MAknFepDocumentNavigation accessed through
-     *  the input capabilites object provider.
-     */
-	MAknFepDocumentNavigation* AknFepDocumentNavigation() const;
-	
-	TInt GetPermittedEditorMenuL(TBool aOnlyCount = EFalse);
-		
-private:// from MPeninputServerEventHandler
-
-    void UpdateLatinIndicator( TAknEditingState& aNewState );
-    void UpdateNumberIndicator( TAknEditingState& aNewState );
-    void UpdateHindiIndicator( TAknEditingState& aNewState );
-    void HandleCopyCutStateL();
- 	/**    
-	* Returns ETrue if hash key selection is on and hash key mode selection should
-	* be blocked.
-	*
-	* @since 3.1
-	*/  
-    TBool HashKeyModeChangeBlockedInSearchField() const;                                  
-    /**
-     * Set editor cursor selection according plugin UI 
-     * cursor state
-     *
-     * @since 3.2
-     * @param aCurSel Cursor position.
-     * @param aSyncCursor ETrue if plug in UI need update cursor, EFalse otherwise
-     * @return None
-     */
-    void SetCursorSelectionL(const TCursorSelection& aCurSel, TBool aSyncCursor);
-
-	/**
-    * An internal helper method for matches popup list.
-    * 
-    * The index of currently selected prediction candidate.
-    * 
-    * @since S60 3.2
-    */ 
-    TInt ResolveCurrentCandidateListIndex(CDesCArrayFlat* aCandList);
-
-    /**
-	*  Removes underlining from predictive word and moves cursor the end of the word.
-	*
-    *  @since 3.2
-    *  @param aData Key data
-    *  @return None
-    */    
-    void DeactivatePredicitveWordAndMoveCursorL();
-    
- 	/**
-	*  Returns the Ccpu status of given editor state as a flag combination.
-	*
-    *  @since 3.2
-    *  @param aEdwinState
-    *  @return editor ccpu status
-    */    
-	TInt EditorCcpuStatus(CAknEdwinState* aEdwinState);
-	
-	/**
-	*  Cancels editing options copy / paste mode initialted from editing options -submenu.
-	*
-    *  @since 3.2
-    */    	
-	void CancelCcpuMode();
-
-#ifdef RD_SCALABLE_UI_V2    
-    /**
-    *  Launches stylus Ccpu-menu
-    *
-    *  @since 5.0
-    *  @param aClickPoint Point where stylus was clicked.
-    */
-    void LaunchStylusCcpuMenuL(TPoint &aClickPoint);
-    
-    void DynInitTouchMenuPaneL(CAknFepUiInterfaceMenuPane* aMenuPane);
-#endif    
-
-    /**
-    * Has Japanese prediction input mode in PtiEngine
-    */
-    TBool HasJapanesePredictionInputMode() const;
-    
-    
-    void InitPreviewMenuPane(CAknFepUiInterfaceMenuPane* aMenuPane);
-
-public:
-    void StopDisplayingMenuBar();
-
-private:
-    void ConvertCharToKey(TChar aIn, TUint16& aKey) const;
-
-private:
-    // Data owned by this class
-    CAknFepKeyCatcherInterface* iKeyCatcher;
-    CAknFepIndicator* iIndicator;
-    CPeriodic* iShiftKeypressMonitor;
-    CAknFepLanguageManager* iLangMan;           // own
-    MAknFepManagerInterface* iCurrentFepUI;     // not own
-    CAknFepCaseManager* iCaseMan;
-    CAknFepInlineTextDecorator* iInlineTextDecorator;
-
-    CAknFepHashKeyManager* iHashKeyMan;
-    CPeriodic* iConcatenationTimer;
-    //fep delay the resource changed message for getting the updated coordinate from editor.
-    CAsyncCallBack iAsyncResouceChanged;
-
-    // shared data support
-    CAknFepSharedDataInterface* iSharedDataInterface;
-
-    MAknEditingStateIndicator*  iPreviousIndicator;
-    MAknEditingStateIndicator* iEditIndicatorAtLastUpdate;
-    TAknEditingState iPreviousEditingState;
-
-    TLanguage iUiLanguage;  // Symbian language code for UI language.
-    TLanguageCapabilities iLanguageCapabilities; // Input language and capabilities of the language.
-    TUint iFlags;
-    TUint iExtendedFlags;
-    TAknFepManagerState iFepManState;
-    TCoeInputCapabilities iInputCapabilities;
-    TInt iPermittedInputModes;
-    TInt iMode;
-    TInt iModeBefore;
-    TInt iCaseBefore;
-    TInt iResId;
-    TInt iVariantPermittedModes;
-    TInt iSpaceCharacterCode;               // adding for japanese
-    TInt iFullWidthSpaceCharacterCode;      // adding for japanese
-    TAknEditorNumericKeymap iAknEditorNumericKeymap;
-    TInt iAknEditorFlags;
-    TCursorSelection iUncommittedText;
-    RArray<TInt> iHashKeyLoop;
-    TBool iWesternPredictive;
-    TKeyPressLength iKeyRepeat;
-    TBool iIsAutoCompleteOn;				// for Auto Word Completion
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    TInt iKeyBackSpaceHit;
-    TInt  iTypingCorrectionLevel;			// for typing correction level
-    TBool iIsNumberCandidateShown;			// for number candidates
-    TBool iPrimaryCandidate;    			// for primary candidate
-    TBool iKeyPressedDuringShift;           
-    TPtiKeyboardType iKeyboardType; 		// for checking the keyboard layout
-    TBool iSupressCursorMoveToEndChrKeyPressed; // For supressing cursor movement when SCT launched
-#endif //RD_INTELLIGENT_TEXT_INPUT
-    TBool iJapanesePredictive;
-    TBool iDeviceSupportsRtlLanguage; // Could be removed
-    CIdle* iPostEventCheck; // Owned
-
-    TWidthChar iCharWidth;      // adding for japanese
-    CPtiEngine* iPtiEngine;     // adding for japanese
-
-    TUint iSimulateKey;
-    CApaDocument* iEmbedded; // User Dictionary
-    CAknNullService*  iNullService; // User Dictionary
-    CAsyncCallBack iAsyncOwnSimulateKey;
-    TInt iFreeSpaceOfEditor;
-    TBool iQwertyInputMode; // Not used. The value is always EFalse.
-    TBool iLongThai0Key;
-    TBool iFepFullyConstructed;
-    CAknEdwinState* iRememberEditorState; // For "editing options" submenu
-    TInt iRememberLength;   // For "editing options" submenu.
-    TInt iEditorCcpuStatus; // For "editing options" submenu.
-    TInt iCcpuMode;         // For "editing options" submenu    
-    TInt  iMultiTapTimer;   // for Japanese only: store MultiTap Timer
- 	CAknFepUiInterfaceMenuBar* iEditMenuBar;   // Remember menu bar instance for closing. 
- 	HBufC* iSctEditChars;   // Buffer for characters selected in the edit menu
- 	TPtr iEditCharsPtr;     // Pointer to the buffer that holds all the selected characters.
- 	TInt iStarScan;         // Remember scan code for star key.
-    TInt  iJapaneseQwertyFlags;   // for Japanese only: store Japanese Qwerty Flags
-
-    CPeriodic* iChrKeypressMonitor; // for Japanese only: Chr key monitor timer
-	TBool iLastKeyPressedWasHashKey;
-    TBool iStopProcessFocus;
-    TBool iClosePeninputUi;
-    /**
-     * User DB dialog
-     * Own, but doesn't need delete by myself
-     */
-    CAknFepUserdbDlg* iUserdbdlg;
-    
-    CAknNavigationDecorator* iTapGroup;
-
-    TInt iEditorCommandList[30];
-
-	TBool iComposChrFlag;
-    //User db view(phrase creation)
-    TInt iIsUserdbdlgActive;
-    /**
-     * * Used for handle key event for zhuyin method.(phrase creation)
-     * 
-     */
-    CZhuyinKeyHandler* iZhuyinKeyHandler;
-    CAknFepZhuyinAnalyser* iZhuyinAnalyser;
-    CZhuyinAnalyserDbFeed* iZhuyinAnalyserDb;
-
-#ifdef RD_SCALABLE_UI_V2
-
-    /**
-     * Used by itut spell mode, initial text in spell mode
-     */
-	HBufC* iSpellInitText;
-
-    /**
-     * Used by itut spell mode, initial text selection in spell mode, 
-     * whose position is relative to whole text in original editor
-     */
-	TCursorSelection iSpellInitCurSel;
-   
-    CAknFepPluginManager* iFepPluginManager;
-    
-    /**
-     * HKB predictive state before starting plugin IME
-     */
-    TBool                    iT9UsedBeforePluginInput;
-    
-    
-    /**
-    * Stylus ccpu menu
-    */ 
-    CAknFepUiInterfaceStylusPopUpMenu*     iStylusCcpuMenu; 
-    
-    /**
-    * Last known clik point, needed for stylus ccpu menu launch.
-    */   
-    TPoint                   iClickPoint;
-    
-    TBool iGainForeground;
-    
-    TBool iLoseForeAndGainFocus;
-    
-    TBool iNotifyPlugin;
-    
-    TBool iCancelPopupInQwerty;
-    
-    TBool iStarKeyPressed;
-    
-    TInt iLastChineseInputMode;
-    
-    // Indicate Stroke is used in QWERTY, when default input mode is Cangjie
-    TBool iStrokeUsedInQWERTY;
-    // Save that which editor use stroke
-    CAknEdwinState* iEditorStateStrokeUsed;
-
-    // Indicated focus change has done in closing SCT, the call back from framework
-    // will not lead to another focus change.
-    TBool iDisalbleFocusChangeForSCT;
-#endif //RD_SCALABLE_UI_V2
-
-    /**
-     * Long press clear key after close UI;
-     */
-    TBool                    iLongClearAfterCloseUI;      
-    
-    TBool iFeatureSupportedJapanese;    // Save the value of KFeatureIdJapanese
-
-	// stores a reference to previous editor state for pointer comparision
-	CAknEdwinState* iPreviousEditorState; 
-	   
-    CAknFepUIInterface* iUiInterface;
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    CAknFepFnKeyManager     *iFnKeyManager; // Owned
-    TBool iIsFnKeyMapped;
-#ifdef __REVERSE_FN_KEY_SUPPORTED
-    TBool iIsReverseFnkeyInput;
-#endif //__REVERSE_FN_KEY_SUPPORTED
-	
-	// Predictive QWERTY (XT9) changes ---->
-    //! The exact word tooptip shown above the inline editor when the exact word differs from the best guess candidate
-   // CAknPreviewPopUpController* iExactWordPopup;
-    
-    //! The contents of the exact word popup.
-	MAknFepUiWordPopupContent* iExactWordPopupContent;
-	MAknFepCandidatePopup*	iCandidatePopup;
-	TBool iSListLaunchedFromMenu;
-	TInt iAutoCmptnTailLength;
-	TInt iIsLastResourceEditMenu;
-	// Predictive QWERTY (XT9) changes <----
-#ifdef    __ITI_VIRTUAL_TOUCH_FIRST_GENERATION_SUPPORT__    
-    CAknFepUiInterfaceMenuBar* iOptionsMenuBar;
-#endif	
-#endif //RD_INTELLIGENT_TEXT_INPUT
-    //phrase creation    
-    TInt iPhraseCreation;
-    TInt iPinyinPhraseCreation;
-    TInt iKeyStar;
-    TInt iEntryPhrase;
-    TBool iPenSupportMenu;
-    TFepSymbolOfHardwareOne iSymbolData;
-      
-    /**
-     * Flag for wether input mode is changed by shift+space
-     */
-    TBool iShiftAndSpace;
-    CAknFepThaiSCTSelector* iAknFepThaiSCTSelector;
-    
-public:
-
-    //the follow 8 functions for phrase creation 
-    /**
-     * Set the state to pinyin phrase creation
-     */
-    void PinyinPhraseCreation( TBool aPinyinPhraseCreation );
-    
-    /**
-     * Is the state is in pinyin phrase creation
-     *
-     * @return if not enabled, return EFalse
-     */
-    TBool IsPinyinPhraseCreation() const;
-    
-    /**
-     * Set the state to phrase creation
-     */
-    void PhraseCreation( TBool aPhraseCreation );
-    
-    /**
-     * Is the state is in phrase creation
-     *
-     * @return if not enabled, return EFalse
-     */
-    TBool IsPhraseCreation() const;
-    
-    /**
-     * Set the state to input phrase
-     */
-    void EntryPhrase( TBool aEntryPhrase );
-    
-    /**
-     * Is the state is in input phrase
-     *
-     * @return if not enabled, return EFalse
-     */
-    TBool IsEntryPhrase() const;
-    
-    /**
-     * Set the state to enable star key
-     */
-    void EnableKeyStar( TBool aEnable );
-    
-    /**
-     * Is the state is enable star key
-     *
-     * @return if not enabled, return EFalse
-     */
-    TBool IsEnableKeyStar() const;
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-public:
-   /**
-    * multitaps thru the chars in the SCT.
-    * @param aCallback, the callback when the timer expires
-    */
-    void MultitapThroughSCTCharL(TCallBack aCallBack);       	 
-private:        
-    TBool NumericResourceMultiTapTimerTimeoutL();    
-    
-    /**
-     * CAknFepManager::FindAndRemoveInputOptionsMenuItemL
-     * Helper method to check if the "Input options" menu item exists and
-     * if so, remove it from the menu pane.
-     *  Params - 
-     *      aMenuPane : pointer to the menu pane to be checked for the resource id
-     */
-    void FindAndRemoveInputOptionsMenuItemL( CAknFepUiInterfaceMenuPane* aMenuPane );
-    
-    /**
-      * CAknFepManager::FindAndRemoveEditSubMenuItemL
-      * Helper method to check if the "Edit Text" menu item exists and
-      * if so, remove it from the menu pane.
-      *  Params - 
-      *      aMenuPane : pointer to the menu pane to be checked for the resource id
-      */
-    void FindAndRemoveEditSubMenuItemL( CAknFepUiInterfaceMenuPane* aMenuPane );
-    
-    /**
-     * CAknFepManager::AddInputOptionsMenuItemL
-     * Helper method to add the "Input options" menu item in appropriate location
-     * Appropriate location is :
-     *  - if Avkon Help command exists, then immediately above it
-     *  - else if Avkon Exit command exists, then immediately above it
-     *  - else if there are 3 or more items in the Options menu, then 3rd from last
-     *  - else it is the last item. 
-     *  Params - 
-     *      aMenuPane : pointer to the menu pane to be checked for the resource id
-     */
-    void AddInputOptionsMenuItemL( CAknFepUiInterfaceMenuPane* aMenuPane );
-        
-private:        
-    CChrMultiTapTimer* iNumericResourceTimer;
-    HBufC* iResourceString;
-    TInt iChrCharIndex;    
-#ifdef __HALF_QWERTY_KEYPAD
-	TKeyEvent iHalfQwertyLastKeyEvent;
-// this variable is set whenever a long key press of chr happens
-	TBool iChrLongKeyPress;
-    TBool iFnCharInsertedForShift;	
-#endif //__HALF_QWERTY_KEYPAD
-    TInt iNumericResourceId;
-#endif //RD_INTELLIGENT_TEXT_INPUT
-    TBool iHybridAplphaChangedToAlphanumeric;
-    CAknEdwinState* iLastFocusedEditor;
-    CAknEdwinState* iFepAwareDialogParentEditor;
-    /**
-     * Indicate that the focused control is destroyed.     
-     */  
-    TBool iFocusedItemDestroy;    
-    };
-
-/**
- *  Sets aFlag bitfield in iFlags
- */
-inline void CAknFepManager::SetFlag(TInt aFlag)
-    {
-    iFlags|=aFlag;
-    }
-
-/**
- * Clears aFlag bitfield in iFlags
- */
-inline void CAknFepManager::ClearFlag(TInt aFlag)
-    {
-    iFlags&=~aFlag;
-    }
-
-/**
- * Clears all flags down
- */
-inline void CAknFepManager::ResetFlags()
-    {
-    iFlags=0;
-    }
-
-/**
- * Returns ETrue if the aFlag bitfield in iFlags is set, EFalse if it
- * is clear
- */
-inline TBool CAknFepManager::IsFlagSet(TInt aFlag) const
-    {
-    return iFlags&aFlag;
-    }
-
-/**
- *  Sets aExtendedFlag bitfield in iExtendedFlags
- */
-inline void CAknFepManager::SetExtendedFlag(TInt aExtendedFlag)
-    {
-    iExtendedFlags|=aExtendedFlag;
-    }
-
-/**
- * Clears aExtendedFlag bitfield in iExtendedFlags
- */
-inline void CAknFepManager::ClearExtendedFlag(TInt aExtendedFlag)
-    {
-    iExtendedFlags&=~aExtendedFlag;
-    }
-
-/**
- * Clears all ExtendedFlags down
- */
-inline void CAknFepManager::ResetExtendedFlags()
-    {
-    iExtendedFlags=0;
-    }
-
-/**
- * Returns ETrue if the aExtendedFlag bitfield in iExtendedFlags is set, EFalse if it
- * is clear
- */
-inline TBool CAknFepManager::IsExtendedFlagSet(TInt aExtendedFlag) const
-    {
-    return iExtendedFlags&aExtendedFlag;
-    }
-
-/**
- * Returns previous case information
- */
-inline TInt CAknFepManager::CaseBefore() const
-    {
-    return iCaseBefore;
-    }
-    
-inline TBool CAknFepManager::IsChineseInputLanguage() const
-    {
-    return ( iLanguageCapabilities.iInputLanguageCode == ELangPrcChinese ||
-        iLanguageCapabilities.iInputLanguageCode == ELangHongKongChinese ||
-        iLanguageCapabilities.iInputLanguageCode == ELangTaiwanChinese);
-    }
-
-inline TBool CAknFepManager::IsKoreanInputLanguage() const
-    {
-    return iLanguageCapabilities.iInputLanguageCode == ELangKorean;
-    }
-inline TBool CAknFepManager::IsArabicInputLanguage() const
-    {
-    return ( iLanguageCapabilities.iInputLanguageCode == ELangArabic);
-    }
-/**
- * Returns the valid of Qwerty
- */
-inline TBool CAknFepManager::IsQwerty() const
-    {
-    return iQwertyInputMode;
-    }
-
-
-/**
- *  Sets aFlag bitfield in iCcpuFlags
- */
-inline void CAknFepManager::SetCcpuFlag(TInt aFlag)
-    {
-    iCcpuMode|=aFlag;
-    }
-
-/**
- * Clears aFlag bitfield in iCcpuFlags
- */
-inline void CAknFepManager::ClearCcpuFlag(TInt aFlag)
-    {
-    iCcpuMode&=~aFlag;
-    }
-
-/**
- * Clears all flags in iCcpuFlags
- */
-inline void CAknFepManager::ResetCcpuFlags()
-    {
-    iCcpuMode=0;
-    }
-
-/**
- * Returns ETrue if the aFlag bitfield in iCcpuFlags is set, EFalse if it
- * is clear
- */
-inline TBool CAknFepManager::IsCcpuFlagSet(TInt aFlag) const
-    {
-    return iCcpuMode&aFlag;
-    }
-     
-inline MAknFepManagerInterface* CAknFepManager::InternalFepUI()
-    {
-    return iCurrentFepUI;
-    }
-
-#ifdef RD_SCALABLE_UI_V2
-
-inline void CAknFepManager::SetNotifyPlugin( TBool aNotifyFlag )
-	{
-	iNotifyPlugin = aNotifyFlag;
-	}
-inline TInt CAknFepManager::PermittedModes() const
-	{
-	return iPermittedInputModes;
-	}    
-
-inline void CAknFepManager::RemeberEditorState()
-	{
-	iRememberEditorState = EditorState();
-	}  	
-
-inline TBool CAknFepManager::IsMfneEditor() const
-    {
-    return EditorType() == CAknExtendedInputCapabilities::EMFNEBased;
-    }
-
-inline TBool CAknFepManager::IsFindPaneEditor() const
-    {
-    return iAknEditorFlags & EAknEditorFlagFindPane;
-    }
-    
-inline CAknFepManager::TLanguageCapabilities CAknFepManager::InputLanguageCapabilities() const
-    {
-    return iLanguageCapabilities;
-    }
-
-inline TAknFepManagerState& CAknFepManager::FepManState()
-    {
-    return iFepManState;
-    }
-
-inline void CAknFepManager::SetCancelPopupInQwerty( TBool aCancelPopupInQwerty )
-    {
-    iCancelPopupInQwerty = aCancelPopupInQwerty;
-    }
-inline TInt CAknFepManager::LastChineseInputMode() const
-    {
-    return iLastChineseInputMode;
-    };
-#endif //RD_SCALABLE_UI_V2
-
-/**
-* Returns ETrue if Feature manager supports Japanese.
-*/
-inline TBool CAknFepManager::IsFeatureSupportedJapanese() const
-    {
-    return iFeatureSupportedJapanese;
-    }
-
-/**
-* Returns ETrue if Auto Word Completion is enabled in the edtior
-*/    
-inline TBool CAknFepManager::IsAutoCompleteOn() const
-    {
-    return iIsAutoCompleteOn;
-    }
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-/**
-* Setes the current state from GS to the local state
-*/    
-    
-inline void CAknFepManager::SetAutoCompletionState(TInt aValue) 
-{
-	iIsAutoCompleteOn = aValue;
-}
-#endif
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-/**
-* @return	TInt 	Typing correction level.
-*/
-inline TInt CAknFepManager::AdvancedPredictiveTypingCorrectionLevel() const
-	{
-		return iTypingCorrectionLevel;
-	}
-    
-/**
-* @return   ETrue   If the number candidate shown. EFalse otherwise.
-*/
-inline TBool CAknFepManager::IsAdvancedPredictiveNumberCandidateShown() const
-	{
-	return iIsNumberCandidateShown;
-	}
-  
-/**
-* @return   ETrue   If the number candidate shown. EFalse otherwise.
-*/
-inline TBool CAknFepManager::AdvancedPredictivePrimaryCandidate() const
-	{
-	return iPrimaryCandidate;
-	} 
-#endif //RD_INTELLIGENT_TEXT_INPUT
-
-inline TBool CAknFepManager::WasLastKeyPressAHashKey()
-	{
-	return iLastKeyPressedWasHashKey;
-	}
-    
-inline void CAknFepManager::SetLastPressedHashKeyStatus(TBool aStatus)
-	{
-	iLastKeyPressedWasHashKey = aStatus;
-	}
-	
-inline TCoeInputCapabilities& CAknFepManager::InputCapabilities()
-    {
-    return iInputCapabilities;    
-    }
-
-inline TFepSymbolOfHardwareOne CAknFepManager::SymbolInfoOfHardKey1()
-    {
-    return iSymbolData;
-    }
-inline TBool CAknFepManager::IsSupportNativeNumber() const
-    {
-    return ( iLanguageCapabilities.iLocalDigitType == EDigitTypeArabicIndic
-        || iLanguageCapabilities.iLocalDigitType == EDigitTypeEasternArabicIndic
-        || iLanguageCapabilities.iLocalDigitType == EDigitTypeDevanagari );
-}
-
-inline TBool CAknFepManager::IsSupportedAdaptiveSearch() const
-    {
-    return iAknEditorFlags & EAknEditorFlagAdaptiveSearch;
-    }
-    
-inline void CAknFepManager::SetGainForeground( TBool aGainForeground )  
-    {
-    iGainForeground = aGainForeground;
-    }
-#endif
-
-// End of file
--- a/fep/aknfep/inc/AknFepManagerInterface.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,215 +0,0 @@
-/*
-* Copyright (c) 2002 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:            Declaration of core part of CAknFepLanguageManager class.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_MANAGER_INTERFACE_H__
-#define __AKN_FEP_MANAGER_INTERFACE_H__
-
-// INCLUDES
-#include <e32std.h>
-#include <w32std.h>
-#include <badesca.h>
-#include <txtfrmat.h>
-#include <eikon.hrh>                    //TAknEditorNumericKeymap
-#include <peninputcmdparam.h>
-#include "AknFepGlobalEnums.h"
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-#include <PtiDefs.h>
-#endif
-// CONSTANTS
-
-// CLASS DECLARATION
-
-/**
-* MAknFepManagerInterface is a part of Japanese FEP.
-* 
-* 
-* @see CAknFepManager, other application
-*/
-class MAknFepManagerInterface
-    {
-    public: // Constructors and destructor
-        virtual ~MAknFepManagerInterface(){}
-
-public: // New Functions
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-#ifdef RD_INTELLIGENT_TEXT_INPUT          
-    virtual void SetMode(TInt aMode, TBool aPredictive, TBool aQwertyInputMode, 
-                         TInt aKeyboardType = EPtiKeyboardNone) = 0;
-#else
-    virtual void SetMode(TInt aMode, TBool aPredictive, TBool aQwertyInputMode) = 0;
-#endif    
-
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    virtual void SetCase(TCase aCase) = 0;
-
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    virtual void SetNumberModeKeyMappingL(TAknEditorNumericKeymap aAknEditorNumericKeymap) = 0;
-
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    virtual TBool HandleKeyL(TInt aKey, TKeyPressLength aLength, TEventCode aEventCode = EEventKey) = 0;
-
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    virtual void HandleCommandL(TInt aCommandId) = 0;
-    virtual void HandleCommandL(TInt aCommandId, TInt aParam) = 0;
-
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    virtual void CloseUI() = 0;
-
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    virtual void ExpireMultitapTimer() = 0;
-
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    virtual TBool IsValidNumericLongKeyPress(TInt aKey) const = 0;
-
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    virtual void AddTextToUserDictionaryL(const TDesC& aText) = 0;
-
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    virtual void GetFormatOfFepInlineText(TCharFormat& aFormat, 
-                                          TInt& aNumberOfCharactersWithSameFormat, 
-                                          TInt aPositionOfCharacter) const = 0;
-
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    virtual TInt SupportLanguage(TInt aMode) const = 0;
-
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    virtual void SetInputLanguageL(TLanguage aLanguage) = 0;
-
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    virtual TBool IsValidShiftKeyPress() const = 0;
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    virtual TBool IsValidFnKeyPress() const = 0;
-    virtual TBool IsValidLongChrKeyPress() const = 0;
-#endif
-
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    virtual void SetEditorContext(TInt aContext) = 0;
-
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    virtual void ActivateUI() = 0;
-
-    /**
-     * Set text to Fep aware editor
-     * 
-     * @since 3.2
-     */
-    virtual void SetFepAwareEditorText(const TFepInputContextFieldData& /*aIcfData*/) = 0;
-
-    /**
-     * Get max text length that Fep aware editor can contain
-     * 
-     * @since 3.2
-     */
-    virtual TInt EditorMaxLength() = 0;
-    
-    /**
-     * Screen resolution or layout change notification
-     * 
-     * @since 3.2
-     */
-    virtual void ResourceChanged(TInt aType) = 0;
-        
-    /**
-     * Set underlining FepUI interface
-     * 
-     * @since 3.2
-     */
-    virtual void SetNextFepUI(MAknFepManagerInterface* /*aNextUi*/) = 0;
-
-	/**
-	 * Set the Star key flag
-	 *
-     * @param aSet TBool.
-     * @return None
-	 */
-	virtual void SetStarKeyFlag( TBool aSet ) = 0;
-
-    };
-#endif // __AKN_FEP_MANAGER_INTERFACE_H__
-// End of file
--- a/fep/aknfep/inc/AknFepManagerUIInterface.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,760 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the MAknFepManagerUIInterface definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_MANAGER_UI_INTERFACE_H__
-#define __AKN_FEP_MANAGER_UI_INTERFACE_H__
-
-// INCLUDES
-#include <e32std.h>
-
-#include <avkon.hrh>
-#include <frmtlay.h>        // TCursorSelection
-#include <aknextendedinputcapabilities.h>
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-#include <PtiDefs.h>
-#endif
-#include "AknFepGlobalEnums.h"
-#include "AknFepUiIndicEnums.h"
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-#include "AknFepFnKeyManager.h"
-#endif
-// CLASS DECLARATION
-class CPtiEngine;
-class CAknFepUIInterface;
-class CAknFepPluginManager;
-// the follow 2 class for phrase creation 
-class MZhuyinKeyHandler;
-class CAknFepZhuyinAnalyser;
-
-/**
-  * This interface describes the FEP Manager functionality that is required by western 
-  * Input States only. It could potentially be conditionally compiled out if western 
-  * predictive text is not required in a product
-  */
-class MAknFepManagerUIInterfaceWestern
-    {
-public:
-    /*
-     *flags, all held in the FEP Manager
-     */
-    virtual TBool IsFlagSet(TInt aFlag) const = 0;
-    virtual void SetFlag(TInt aFlag) = 0;
-    virtual void ClearFlag(TInt aFlag) = 0;
-    
-	virtual void SetCcpuFlag(TInt aFlag) = 0;  
-	virtual void ClearCcpuFlag(TInt aFlag) = 0;	  
-
-    /*
-     * Update the current inline edit
-     * @param aUncommitedTextChange, the change to the length of the inline edit
-     * i.e. 1 is a character added, 0 is no change, -1 is a character deleted
-     */
-    virtual void UpdateInlineEditL(const TDesC& aText, TInt aUncommitedTextChange) = 0;
-    
-    /*
-     * Starts an inline edit
-     */ 
-    virtual void StartInlineEditL() = 0;
-
-    /*
-     * Starts an inline edit with a text string to uncommit
-     */ 
-    virtual void StartInlineEditL(const TDesC& aText) = 0;
-
-    /*
-    */
-    virtual void StartInlineEditL(TCursorSelection aCursorSelection, 
-                                  const TDesC& aInitialInlineText, 
-                                  TInt aPositionOfInsertionPointInInlineText, 
-                                  TBool aCursorVisibility) = 0;
-
-    /*
-     * Closes the UI backspace event have completely deleted a word
-     */ 
-    virtual TBool CloseUiIfWordDeletedL() = 0;
-
-    /*
-     * gets the text to uncommit in the engine when moving onto a word 
-     *
-     * @param aText the descriptor to fill with the text that should be uncommitted
-     * @param aCode the keycode, must be backspace or left or right arrow
-     * @param aComsumeKey ETrue if the key should be consumed
-     * @return True if we have successfully found text which can be uncommited
-     */     
-    virtual TBool TryGetTextToUncommitL(TDes& aText, TInt aCode, TBool& aComsumeKey) = 0;
-    
-    /*
-     * Update the CBA with a new resource
-     */ 
-    virtual void UpdateCbaL(TInt aResourceId) = 0;
-    
-    /*
-     * Remove the character that is used to show to the user that the 
-     * predictive text engine cannot match a word to the keys entered 
-     * @return ETrue if the No Matches Indicator has been removed, EFalse
-     * if it was not there.
-     */ 
-    virtual TBool TryRemoveNoMatchesIndicatorL() = 0;
-
-    /*
-     * @return ETrue if the new word length is one character longer than 
-     * the current uncommited text
-     */
-    virtual TBool IsMoreGoodWordsComing(TInt aNewWordLength) const = 0;
-    
-    //the following 8 functions for creation   
-    /**
-     * Set the state to Pinyin phrase creation
-     */
-    virtual void PinyinPhraseCreation(TBool aPinyinPhraseCreation) = 0;
-
-    /**
-     * Is the state is in pinyin phrase creation
-     *
-     * @return if not enabled, return EFalse
-     */
-    virtual TBool IsPinyinPhraseCreation() const = 0;
-
-    /**
-     * Set the state to phrase creation
-     */
-    virtual void PhraseCreation(TBool aPhraseCreation) = 0;
-
-    /**
-     * Is the state is in phrase creation
-     *
-     * @return if not enabled, return EFalse
-     */
-    virtual TBool IsPhraseCreation() const = 0;
-
-    /**
-     * Set the state to input phrase
-     */
-    virtual void EntryPhrase(TBool aEntryPhrase) = 0;
-
-    /**
-     * Is the state is in input phrase
-     *
-     * @return if not enabled, return EFalse
-     */
-    virtual TBool IsEntryPhrase() const = 0;
-
-    /**
-     * Set the state to enable star key
-     */
-    virtual void EnableKeyStar(TBool aEnable) = 0;
-
-    /**
-     * Is the state is enable star key
-     *
-     * @return if not enabled, return EFalse
-     */
-    virtual TBool IsEnableKeyStar() const = 0;
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-    /*
-     * @return ETrue if inputmode is word completion and new word length is not equal to 
-     * the current inputsequence length
-     */
-	virtual TBool IsMoreGoodAutoCompleteWordsComing(TInt aInputMode, TInt aPreviousWordLengh, 
-	                                                TInt aNewWordLength) const =0;
-#endif	// RD_INTELLIGENT_TEXT_INPUT
-
-    /*
-     * When starting a new word, checks the adjacent editor positions for 
-     * valid inline editing characters. If these are present, we are starting a
-     * compound word and the flag EFlagCompoundWord is set
-     */
-    virtual void TryStartCompoundWord() = 0;
-
-    /*
-     * Calculates the span of the compound word that is made up of the 
-     * current uncommitted text and the adjacent word. 
-     * Adds this word to the User Database
-     */
-    virtual void AddCompoundWordToUdbL() = 0;
-    
-    /**
- 	*  Sets delayed commit on (predicitve word will be commited in 
- 	*  next call to TryCloseUiL. This is needed because of Japanese ReadingTextL).
- 	*
- 	* @since 3.1
- 	*/ 
-    virtual void SetDelayedCommit() = 0;   
-    
-    /**
-    * Returns a boolean value indicating whether the curesor is at the end of a word.
-    */  
-    virtual TBool IsCursorAtEndOfWord() = 0;       
-    };
-
-class MAknFepManagerUIInterface : public MAknFepManagerUIInterfaceWestern
-    {
-public:
-#ifdef __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    virtual TBool KeyMapsDifferentCharacterWithFn( TPtiKey aKey ) const = 0;
-#endif
-#endif
-		/**
-		* Check western predictive mode.
-		* @param aMode input mode.
-		* @return ETrue if western predictive mode.
-		*/
-		virtual TBool WesternPredictive(TInt aMode = 0) const=0;
-		 /**
-	     * Check Qwerty keypad
-	     *
-	     * @since 3.0
-	     * @return ETrue is Qwerty
-	     */
-	    virtual TBool IsQwerty() const=0;
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    /**
-     * Launches the compact match candidate list which follows the inline editor.
-     * @param   aFocusedIndex   The index of the word focused by default. 
-     *                          If KErrNotFound is given, the currently active
-     *                          word will be focused.
-     */
-    virtual void LaunchCandidatePopupListL( TInt aFocusedIndex = KErrNotFound )=0;
-    /**
-    Returns the Fn key state
-    */
-    virtual CAknFepFnKeyManager::TFnKeyState FnKeyState() = 0;
-    virtual void SetFnKeyState(CAknFepFnKeyManager::TFnKeyState aState) = 0;
-    /**
-    Returns the current keyboard layout in use.
-    */
-    virtual TPtiKeyboardType KeyboardLayout() const = 0;
-#ifdef __REVERSE_FN_KEY_SUPPORTED
-    /**
-    Returns if the input is in reverse Fn key input mode.
-    */
-    virtual TBool IsReverseFnkeyInput() = 0;
-    
-    /**
-     * Returns true if the aChar is allowed in the numeric editor
-     */
-    virtual TBool IsValidCharInNumericEditorL( TChar aChar ) const = 0;
-        
-    /**
-     * Filter the char for Fn reverse mode in case of
-     * numeric editor. This function should call
-     * in case of numeric editor reverse mapping.
-     */
-    virtual TBool IsValidCharForNumericInFnReverseL(TInt aKey, TPtiTextCase aCase)=0;
-
-#endif //__REVERSE_FN_KEY_SUPPORTED
-    virtual void AddOneSpaceOrMoveCursorL() = 0;
-    
-#endif
-    virtual TBool IsHybridAplhaEditor() const = 0 ;
-    virtual TBool IsHybridAlphaModeChangedtoAplhanumeric() const = 0;
-	/**
-	* Tells if the current editor is phone number editor
-	* @return ETrue if the current editor is phone number editor
-	*/
-	virtual TBool IsPhoneNumberEditor() const = 0;
-
-    /**
-     * A request to close the UI. If the UI was not active (initial state)
-     * multitap characters are commited by calling ExpireMultitapTimer()
-     * on the ptiengine.
-     * @return ETrue if the UI was active, EFalse otherwise
-     */
-    virtual TBool TryCloseUiL() = 0;
-
-    /**
-     * A request to send a char to the editing window
-     */
-    virtual void NewCharacterL(const TDesC& aChar) = 0;
-
-    /**
-     * A request to send text to the editing window
-     */
-    virtual void NewTextL(const TDesC& aChar) = 0;
-
-    /**
-      * A request to commit the current char
-      */
-    virtual void CommitInlineEditL() = 0;
-
-    /**
-     * Commits given string in the editing window. This function checks that
-     * the editor has enough space to insert given string. If it not,
-     * given string is cut, then it is committed.
-     */
-    virtual void CommitInlineEditL(const TDesC& aText, TInt aUncommitedTextChange) = 0;
-    
-    /**
-      * A request to cancel inline input to wditing window.
-      */
-    virtual void CancelInlineEdit() =0;
-
-    /** 
-      * Called by Fep Manager when editing window draws inline input characters.
-      */
-    virtual void GetScreenCoordinatesL(TPoint& aLeftSideOfBaseLine,TInt& aHeight,
-                                       TInt& aAscent,TInt aDocumentOffset) = 0;
-
-    /** 
-      * Called by Fep Manager when Chinese UI ask cursor baseline position.
-      */
-    virtual void GetScreenCoordinatesL(TPoint& aLeftSideOfBaseLine,
-                                       TInt& aHeight,TInt& aAscent) = 0;
-
-    /**
-     * A notification to the Fep Manager that the UI has been activated..
-     * Should always be called by an Initial State Object when initiating 
-     * a change to an Entry State
-     */
-    virtual void SendUIActivatedNotification() = 0;
-
-    /**
-     * A notification to the Fep Manager that the UI has not been activated.
-     */
-    virtual void SendUIDeActivatedNotification() = 0;
-
-    /**
-     * calulates if an SCT can be launched in the current editor at the present
-     * cursor position
-     * @return ETrue if an SCT can be launched, EFalse if not
-     */
-    virtual TBool IsAbleToLaunchSCT() const = 0;
-
-    /**
-     * Launch the Special Character Table  
-     */
-    virtual void LaunchSpecialCharacterTableL(TInt aResourceId=0, 
-                                              TBool aLaunchedByTouchWin=EFalse, 
-                                              TBool aSmileyFirst=EFalse) = 0;
-
-    /**
-     * Play sound
-     */
-    virtual void PlaySound(TAvkonSystemSID aSound) const = 0;
-    /**
-     * get uncommitted text
-     */
-    virtual TCursorSelection UncommittedText() const = 0;
-
-	/**
-     * Gets the previous character depnding on wheather language is 
-     * contxet sensitve or not
-     * since 3.2: aContextSensitive not in use, since no real meaning found.
-     */
-    virtual TText PreviousChar(	TBool aContextSensitive = EFalse ) = 0;
-    /**
-     * Returns the next character to the current cursor position
-     */
-    virtual TText NextChar() = 0;
-    virtual TBool IsZWSCharacterPresent( TBool aLigaturePresent = EFalse ) = 0;
-    /**
-     * Removes previous character to the current cursor position
-     */
-    virtual void RemovePreviousCharacterL() = 0;
-    /**
-     * Removes Zero Width Space character from the inputted text.
-     */
-    virtual void RemoveZWSCharacterL(TBool aIsViramaInputted, 
-                                     TBool aIsInMultitappingHalant = EFalse,
-                                     TBool aIsCharModifier = EFalse, 
-                                     TBool aIsLigaturePresent = EFalse) = 0;
-    /**
-     * Adds text to the editor and commits the text.
-     */
-    virtual void NewCharacterSequenceL(const TDesC& aText, TIndicInputResponse aResponse) = 0;
-    
-    virtual TDigitType LocalDigit() = 0;
-    virtual TWidthChar CharacterWidth() const = 0;
-    virtual void SetInlineEditingCursorVisibilityL(TBool aCursorVisibility) = 0;
-    virtual CPtiEngine* PtiEngine() const = 0;
-
-    /**
-     * checks that the editor the editor has free space to add another character
-     * An editor of unlimited length will return its maximum size as zero
-     */
-    virtual TBool EditorHasFreeSpace( TInt aNumberOfCharacter = 0 ) const = 0;
-
-    virtual void RedecorateAfterDeletionL( const TDesC& aTextThatWasDeleted ) = 0;
-
-    /**
-     * 
-     *
-     * @param aKeyCode the value of the key to simulate
-     */
-    virtual void SimulateKeyEventL(TUint aKeyCode, TBool aActiveObj=EFalse) = 0;
-
-    /**
-     * Queries supportting of ScrollLatinPredictive feature
-     *
-     * @since 2.6
-     * @return ETrue if ScrollLatinPredictive was supported
-     */
-    virtual TBool IsAbleScrollLatinPredictive() const = 0;
-
-    virtual TBool IsOnlyNumericPermitted() const = 0;
-    
-    virtual TInt EditorNumericKeymap() const = 0;
-
-    /**
-     * Queries supportting of SecretText
-     *
-     * @since 2.6
-     * @return ETrue if SecretText was supported
-     */
-    virtual TBool IsSupportsSecretText() const = 0;
-    
-
-	/**
-	* Returns current input mode.
-	*
-	* @since 3.0
-	* @return Integer value indicating current editor input mode.
-    */
-    virtual TInt InputMode() const = 0;
-    
-	/**
-	* Returns current CangJie input mode.
-	*
-	* @since 3.0
-	* @return Integer value indicating current CangJie input mode.
-    */    
-    virtual TInt CangJieMode() const = 0;
-    
- 	/**
-    * Returns boolean value indicating whether edit submenu functionality is in use.    
-    *  
-    * @since 3.1
-    * @return  ETrue if edit submenu functionality is in use.
-    *          EFalse otherwise.
-    */        
-    virtual TBool EditSubmenuInUse() const = 0;   
-    
-    /**
-     * Launches the mode selection menu
-     *
-     * @since 3.1
-     */
-    virtual void LaunchSelectModeMenuL() = 0;                  
-
-    /**
-     * @since 3.2
-     */
-    virtual void SetCursorSelectionL(const TCursorSelection& aCurSel, TBool aSyncCursor) = 0;    
-    
-   /**                
-    * Returns the status of arabic-indic digit mode setting.
-    *
-    * @since 3.0
-    */
-    virtual TBool ArabicIndicDigitsInUse() const = 0;        
-    virtual TBool EasternArabicIndicDigitsInUse() const = 0;
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-   
-   /**                
-    * Returns the status of auto word completion in the editor.
-    *
-    * @since 5.0
-    */
-    virtual TBool IsAutoCompleteOn() const = 0;
-    
-   /**                
-    * Removes the suggested completion part
-    *
-    * @since 5.0
-    */
-    virtual void RemoveSuggestedCompletionL() = 0;
-#endif	// RD_INTELLIGENT_TEXT_INPUT
-    /**
-     * Set current long clear key press
-     *
-     * @since 3.2
-     */    
-    virtual void SetLongClearAfterCloseUI(TBool aLongClear) = 0;
-
-	/**
-	 * Align the Logical and Visual cursor positions.
-	 *
-     * @since 3.2
-     * @param aType Cursor type.
-     * @param aToLeft ETrue if the position to the left is to be found,
-     *			 	  EFalse if the position to the right is to be found.
-     * @return None
-	 */
-	virtual void AlignLogicalAndVisualCursorL( TTmDocPosSpec::TType aType, 
-											TBool aToLeft ) = 0;
-	
-	/**
-	 * This method is called for removing the Repha character. The function 
-	 * goes to the start of the consonant or ligature, checks if repha 
-	 * character is present.
-	 *
-	 * @since 3.2
-	 * @param None.
-	 * @return None.
-	 */							
-	virtual void RemoveRephaCharacterL() = 0;
-	
-	/**
-	 * Checks if the Repha character has been attached to the consonant or 
-	 * ligature.
-	 *
-	 * @since 3.2
-	 * @param None.
-	 * @return ETrue if present else EFalse.
-	 */	
-	virtual TBool IsRephaPresent() = 0;
-	
-	/**
-	 * Retrieve the Previous to previous character during multitapping.
-	 *
-	 * @since 3.2
-	 * @param aContextSensitive EFalse is the default parameter.
-	 *						    ETrue is used for requesting the function
-	 *						    to check for extraction of the character
-	 *						    two positions before the seleted text.
-	 *
-	 * @return The previous to previous character if any.
-	 */
-	virtual TText PreviousToPreviousChar( TBool aContextSensitive = EFalse ) = 0;
-
-	 /**
-	 * This method is called for removing the Rakar character. The function 
-	 * checks if Rakar (Virama+Ra)  is present.
-	 *
-	 * @since 3.2
-	 * @param None.
-	 * @return None.
-	 */
-	virtual void RemoveRakarCharacterL() = 0;
-	
-	/**
-     * Returns the free space left in the Editor.
-     *
-     * @param aUnlimit.	Set to EFalse in case of Editors with limited text 
-	 *				  	size
-	 *		  isToCountUncommittedTextLength. Pass ETrue if the lenght of
-	 *					Uncommitted text is to be counted.
-	 *
-	 * @return TInt. Free space left in the Editor.
-     */
-    virtual TInt EditorFreeSpace(TBool& aUnlimit, 
-                    TBool isToCountUncommittedTextLength = EFalse ) const = 0;
-#ifdef RD_INTELLIGENT_TEXT_INPUT                        
-	/**
-     * Returns the free space left in the Editor. ITI specific implementation
-     *
-     * @param aUnlimit.	Set to EFalse in case of Editors with limited text 
-	 *				  	size
-	 *		  isToCountUncommittedTextLength. Pass ETrue if the lenght of
-	 *					Uncommitted text is to be counted.
-	 *
-	 * @return TInt. Free space left in the Editor.
-     */
-	virtual TInt EditorFreeSpaceForAutoWordCompletion(TBool& aUnlimit, 
-                     TBool isToCountUncommittedTextLength = EFalse ) const = 0;
-#endif	
-#ifdef __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-#ifdef RD_INTELLIGENT_TEXT_INPUT   
-    /**
-    * Gives the amount of characters in the document.
-    * @return   The number of characters in the active editor.
-    */
-    virtual TInt DocumentLength() const = 0;
-
-#endif //RD_INTELLIGENT_TEXT_INPUT
-#endif //__ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-    /**
-     * from MAknFepManagerUIInterface
-     * query whether the special char is valid in the current editor
-     *
-     * @since 3.2
-     * @param aChar Checking a chracter
-     * @return TBool. IF ETrue, the character is valid.
-     */
-    virtual TBool CharIsValidInEditor(TChar aChar) = 0;
-
-   /**
-    * Returns the status of predictive input.
-    *
-    * @since 3.2
-     * @return TBool. IF ETrue, it is possible to change prediction ON.
-    */
-    virtual TBool IsAbleToChangePrediction() const = 0;
-
-    /**
-	 * This method is called for removing the N characters from the 
-	 * specified position. If the text to be removed is not yet
-	 * committed, it is updated with NULL descriptor and committed.
-	 *
-	 * @since 5.0
-	 * @param TInt aPos position to start searching from. By default
-	 *              Searching will start from the cursor position.
-	 * @param TInt aNumOfCharacters Number of characters to remove.
-	 * @param TBool Should cursor be positioned at the original location.
-	 * @return None.
-	 */
-    virtual void RemoveTextFromEditorL( TInt aNumOfCharacters, TInt aPos = 0, 
-                                        TBool aIsToAlignCursor = ETrue ) = 0;
-
-   	/**
-	 * Align the Logical and Visual cursor positions.
-	 *
-     * @since 5.0
-     * @param None
-     * @return None
-	 */
-	virtual void AlignLogicalAndVisualCursorL() = 0;
-
-#ifdef RD_MARATHI
-	/**
-	 * This function checks if the previous two characters are
-	 * the combination of Chandra-A
-	 *
-	 * @since 5.0
-	 * @param None
-	 * @return TBool.
-	 */
-	virtual TBool IsChandraAPresentL() = 0;
-#endif // RD_MARATHI
-
-    /**
-    * Returns boolean value indicating whether hash key is in selection mode or
-    * in traditional mode.
-    *
-    * @since 3.1
-    * @return  ETrue if hash key is in text selection mode.
-    *          EFalse otherwise.
-    */
-    virtual TBool HashKeySelectionInUse() const = 0;
-    
-    /**
-    * Returns the UI interface implementation used in the current app.
-    *
-    * @since 3.2
-    * @return  The UI interface object used in the current app.
-    */
-    virtual CAknFepUIInterface* UiInterface() = 0;
-    
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-
-    // Predictive QWERTY (XT9) changes ---->
-        /**
-     * Function to get the text direction for current language.
-     * @return ETrue if language id RTL, EFalse if it is not
-     */
-    virtual TBool IsRightToLeftLanguage() = 0;
-    
-    /**
-    * @return   ETrue   If the auto completion is On. EFalse otherwise.
-    */
-    virtual TBool IsAutoCompleteOn() const = 0;
-    
-    /**
-    * @return	TInt 	Typing correction level.
-    */
-    virtual TInt AdvancedPredictiveTypingCorrectionLevel() const = 0;
-    
-    /**
-    * @return   ETrue   If the number candidate shown. EFalse otherwise.
-    */
-    virtual TBool IsAdvancedPredictiveNumberCandidateShown() const = 0;
-    
-    /**
-    * Cuts off the automatically completed tail of the suggested word candidate.
-    */
-    virtual void RemoveSuggestedAdvanceCompletionL() = 0;
-    
-     /**
-    * @return   ETrue   If the primary candidate is suggested. EFalse otherwise.
-    */
-    virtual TBool AdvancedPredictivePrimaryCandidate() const = 0;
-
-    /**
-    * @Set the chr composition flag.
-    */
-    virtual void SetComposChrFlag( TBool aFlag ) = 0;
-    
-    /**
-    * @return   ETrue   If it is chr composition key
-    */
-    virtual TBool GetComposChrFlag() = 0;
-    
-    // Predictive QWERTY (XT9) changs <----
-#endif //RD_INTELLIGENT_TEXT_INPUT
-    /**
-    * Returns plugin ui manager
-    *
-    * @since 3.2
-    * @return  The UI interface object used in the current app.
-    */
-    virtual CAknFepPluginManager* PluginUIManager() = 0;    
-#ifdef RD_HINDI_PHONETIC_INPUT
-    //hindi_phonetic_fixes
-   	/*
-    * This functions toggles the case from upper to lower
-    * @since 5.0
-    * @param None
-    * @return  void
-    */
-    virtual void HandleIndicCaseL()=0;
-#endif    
-
-    // the follow 2 functions for phrase creation
-    virtual MZhuyinKeyHandler* ZhuyinKeyHandler() = 0;
-    virtual CAknFepZhuyinAnalyser* ZhuyinAnalyser() = 0;
-
-#ifdef __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    /**
-    * @return   ETrue   If the number entry with long key press is supported on QWERTY keyboard.
-    */
-    virtual TBool LongPressNumberEntryOnQwerty() const = 0;
-#endif //RD_INTELLIGENT_TEXT_INPUT
-#endif //__ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-#ifdef RD_INTELLIGENT_TEXT_INPUT    
-    virtual void MultitapThroughSCTCharL(TCallBack aCallBack) = 0;
-    virtual TBool IsLanguageSupportPrediction() = 0;           
-    virtual TInt GetNumericSCTResID() = 0;
-    /**
-    * Hides the exact word pop up window.
-    */ 
-    virtual void HideExactWordPopUp() = 0;
-    /**
-    * @return   ETrue   If the exact word pop up is shown.
-    */
-    virtual TBool IsExactWordPopUpShown() = 0;
-#endif //RD_INTELLIGENT_TEXT_INPUT   
-	virtual CAknExtendedInputCapabilities::TEditorType EditorType() const = 0;
-	virtual TBool IsAllowedKeymappingForNumberMode(TChar aChar) const = 0;
-    };
-#endif      // __AKN_FEP_MANAGER_UI_INTERFACE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepPanic.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Panic definitions.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#if !defined(__AKNFEPPANIC_H__)
-#define __AKNFEPPANIC_H__
-
-#include <e32std.h>
-
-enum TAknFepPanic
-    {
-    EAknFepPanicCurrentSelectionOutsideVisibleCandidates_unused,
-    EAknFepPanicAttemptedSelectionOutsideVisibleCandidates_unused,
-    EAknFepPanicAttemptedSelectionOutsideMaxCandidates,
-    EAknFepPanicAttemptedSetItemTextOutsideMaxCandidates_unused,
-    EAknFepPanicAttemptedSetModeOutsideMaxCandidates_unused,
-    EAknFepPanicAttemptedLayoutOutsideMaxCandidates,
-    EAknFepPanicAttemptedLayoutOutsideVisibleCount_unused,
-    EAknFepPanicCurrentSelectionFallsOutsideNewVisibleCount,
-    EAknFepPanicCurrentSelectionFallsOutsideCandidates,
-    EAknFepPanicNewVisibleCountExceedsRange_unused,
-    EAknFepPanicCandidatesExceedVisibleCount,
-    EAknFepPanicCandidatesEmpty,
-    EAknFepPanicNonPermittedEditorMode,
-    EAknFepPanicSizeChangedOutsideRange,
-    EAknFepPanicNoPermittedEditorModesAvailable,
-    EAknFepPanicNotInChina,
-    EAknFepPanicNoHandleToFepAwareTextEditor,
-    EAknFepPanicFindModeSavedToNonFindEditor,
-    EAknFepPanicMoreCandidatesWithToneMarkThanWithout,
-    EAknFepPanicSelectionMustBeZeroIfInInputPane,
-    EAknFepPanicNotInsideInlineEdit,
-    EAknFepPanicNoCaseManager,
-    EAknFepPanicBadInputState,
-    EAknFepPanicNoUiManager,
-    EAknFepPanicNoCandidatePane_unused,
-    EAknFepPanicCandidatePaneNotSupportScrollDirection_unused,
-    EAknFepPanicNotSupportKey,
-    EAknFepPanicBadCase,
-    EAknFepPanicBadCursorNavigationState,
-    EAknFepPanicCharPosOutOfRange,
-    EAknFepPanicNotHandleHashKey,
-    EAknFepPanicSetWindowShapeFail, // for two line UI container window creation
-    EAknFepPanicIllegalNumberModeKeymapping,
-    EAknFepPanicInvalidEditorState
-#ifdef RD_HINDI_PHONETIC_INPUT	
-    ,EAknFepPanicNoValidPtiEngine,
-    EAknFepPanicNoValidFepManager
-#endif
-    };
-
-GLDEF_C void AknFepPanic(TAknFepPanic aPanic);
-
-#endif
-
-// End of file
--- a/fep/aknfep/inc/AknFepPlugin.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* 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:           
-*       CAknFepPlugin definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_PLUGIN_H__
-#define __AKN_FEP_PLUGIN_H__
-
-#include <fepplugin.h>
-
-class CAknFepPlugin : public CCoeFepPlugIn
-	{
-public:
-	static CAknFepPlugin* NewL();
-
-public:	 // From CCoeFepPlugIn
-	/** Creates a fully constructed object of CCoeFEP.
-	* @param aConeEnvironment	A reference to the application's control environment.
-	* @param aFepParameters FEP parameters.
-	* @return A pointer to the newly created object.
-	*/
-	CCoeFep* NewFepL(CCoeEnv& aConeEnvironment, const CCoeFepParameters& aFepParameters);
-
-	/** Runs the FEP settings dialog. 
-	*
-	* @param aConeEnvironment A reference to the application's control environment.
-	*/
-	void SynchronouslyExecuteSettingsDialogL(CCoeEnv& aConeEnvironment);
-	};
-
-#endif // __AKN_FEP_PLUGIN_H__
-
-// End of file
\ No newline at end of file
--- a/fep/aknfep/inc/AknFepPluginManager.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1153 +0,0 @@
-/*
-* Copyright (c) 2003 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 __AKN_FEP_PLUGIN_MANAGER__
-#define __AKN_FEP_PLUGIN_MANAGER__
-
-// INCLUDES
-#include <gulicon.h>
-#include <barsread.h>
-#include <aknfeppensupportinterface.h>
-#include <peninputclient.h>
-#include <aknextendedinputcapabilities.h>
-#include <eikedwob.h>          // for MEikEdwinObserver
-
-#include "AknFepGlobalEnums.h"
-#include <aknfeppeninputenums.h>
-#include "AknFepPluginMenuManager.h"
-#include "AknFepSharedDataInterface.h"
-#include "AknFepManager.h"
-#include "AknFepCaseManager.h"
-#include <peninputsrveventhandler.h>
-
-// FORWARD DECLARATIONS
-//class MPeninputServerEventHandler;
-class MAknFepManagerInterface;
-class CAknFepUiSpellContainer;
-class CPenInputGSInterface;
-
-// CLASS DECLARATION
-
-
-/** 
- * Plugin command type
- */
-enum TPluginCmd
-    { 
-    EPluginCloseMode,
-    EPluginSyncFepAwareText,
-    EPluginSetDataQueryShown,
-    EPluginActivate,
-    EPluginMenuCmd,
-    EPluginFocusChanged,
-    EPluginResourceChanged,
-    EPluginFaseSwap,
-    EPluginKeyEvent,
-    EPluginUpdateIndicator,
-    EPluginActivateInGlobalNote,
-    EGainForeground,
-    ELostForeground,    
-    EPluginEditorActivate,
-    EPluginForegroundChanged,
-    EPluginFocusItemDestroy,
-    EPluginLanguageChanged,
-    EPluginPreview,
-    EPluginPromptChanged,
-    EPluginShowCandidate,
-    EPluginShowTooltip,
-    EPluginHideTooltip
-    };
-
-/** 
- * Plugin synchronization type
- */
-enum TPluginSync
-    { 
-    EPluginSyncCurSel,
-    EPluginSyncUpdatedText,
-    EPluginSyncAll
-    };
-    
-#ifdef RD_SCALABLE_UI_V2
-
-/**
- * CAknFepPluginManager class.
- *
- *  @lib AknFep.lib
- *  @since 2.8
- */
-class CAknFepPluginManager : 
-    public CBase,
-    public MAknFepPenSupportInterface,
-    public MPeninputServerEventHandler,
-    public MEikEdwinObserver
-    { 
-public:
-	
-	/**
-	 * Simulate event mode
-	 * @remark: Used in SubmitUiPluginTextL()
-	 */	
-	enum TSimulateEventMode
-		{
-		EIgnor,
-		ERawEvent,
-		EKeyEvent	
-		};
-		
-     /**
-     * NewL first phase construction
-     *
-     * @param aFepMan fep manager
-     *
-     */
-    static CAknFepPluginManager* NewL( CAknFepManager& aFepMan,
-                                      CAknFepSharedDataInterface& aSharedData,
-                                      CAknFepLanguageManager& aLangMan,
-                                      CAknFepCaseManager& aCaseMan );
-
-     /**
-     * Destructor
-     */
-    virtual ~CAknFepPluginManager();
-    
-private:
-
-     /**
-     * private constructor
-     */
-    CAknFepPluginManager( CAknFepManager& aFepMan,
-                         CAknFepSharedDataInterface& aSharedData,
-                         CAknFepLanguageManager& aLangMan,
-                         CAknFepCaseManager& aCaseMan );     
-    
-     /**
-     * Construct
-     *
-     * @param aFepMan fep manager
-     *
-     */
-    void ConstructL();
-
-public :
-     
-    enum TSpellCBA
-        {
-        ESpellCBANone,
-        ESpellCBACancelEmpty,
-        ESpellCBAOkCancel,
-        };
-    
-public:
-
-// From MAknFepPenSupportInterface
-    
-    /**
-     *  From MAknFepPenSupportInterface
-     *  Activate pen input method
-     *
-     *  @since 3.2
-     *  @Return None
-     */
-    void ActivatePenInputL();
-
-    /**
-     *  From MAknFepPenSupportInterface
-     *  Deactivate pen input method
-     *
-     *  @since 3.2  
-     *  @Return None
-     */
-    void DeactivatePenInputL();
-
-// From MPeninputServerEventHandler
-        
-    /**
-     * From MPeninputServerEventHandler
-     * Handle pen input server events.
-     *
-     * @since 3.2
-     * @param aEventId Event to handle.
-     * @return ETrue If server event handled
-     */
-    TBool HandleServerEventL(TInt aEventId);
-    
-    /**
-     *  Handle events from FEP
-     *  suggested mode.
-     *  
-     *  @since 3.2
-     *  @param aEventType, event type from FEP
-     *  @param aEventData, event data from FEP
-     *  @return ETrue successful, EFalse otherwise
-     */
-    void HandleEventsFromFepL( TInt aEventType, TInt aEventData );
-
-    /**
-     *  Change current input method to plugin input method with
-     *  suggested mode.
-     *  
-     *  @since 3.2
-     *  @return ETrue successful, EFalse otherwise
-     */
-    TBool TryChangePluginInputModeByModeL(TPluginInputMode aSuggestMode, TInt aOpenMode, 
-                                          TInt aSuggestRange);
-    
-    /**
-     *  Close plugin input mode, reset iPluginInputMode
-     *  to EPluginInputModeNone
-     *
-     *  @since 3.2
-     *  @param aRestore, If ETrue, restor rembered HKB mode
-     *  @return None
-     */
-    void ClosePluginInputModeL(TBool aRestore);
-    
-        /**
-     *  Close plugin input UI, only close UI
-     *
-     *  @param aResetState If ETrue, reset UI state
-     *  to initial.
-     *  @return None.
-     */
-    void ClosePluginInputUiL(TBool aResetState);
-       
-    /**
-     * Handle resource change.
-     * 
-     * @param aType The resource type
-     * @return None.
-     */
-    void OnResourceChangedL(TInt aType);
-         
-    /**
-     *  Synchronize plugin UI text with editor
-     *
-     *  @since 3.2
-     *  @return None
-     */
-    void SyncFepAwareText( TPluginSync aSyncType = EPluginSyncCurSel, TBool aSendNow = ETrue );
-
-    /**
-     * Processes commands from the edit menu
-     * 
-     * @since 3.2
-     * @param aCommandId The menu command id
-     * @return None.
-     */
-    void ProcessMenuCommandL(TInt aCommandId);
-
-    /**
-     * Handle key events
-     * 
-     * @since 3.2
-     * @param aCommandId The key id
-     * @return None.
-     */
-    void HandleKeyEventL(TInt aKeyId);
-    
-    /**
-     * initialize the edit menu depending on fep and editor state
-     * 
-     * @since 3.2
-     * @param aMenuPane The pointer to menu pane
-     * @return None.
-     */
-    void InitMenuPaneL( CAknEdwinState* aEditorState, 
-        CAknFepUiInterfaceMenuPane* aMenuPane, TInt aResourceId );
-    
-    /**
-     * Handles notifications that the UI has changed focus
-     * 
-     * @since 3.2
-     * @param aFepFullyConstructed The flag of fep fully constructed
-     * @return None.
-     */
-    void OnFocusChangedL( TBool aGainForeground );
-
-            
-    /**
-     * Set ICF data
-     *
-     * @since 3.2
-     * @param aTextChanged If editor text changed
-     * @param aIcfData ICF data
-     * @return None
-     */
-    void SendIcfDataL(  TPluginSync aSyncType = EPluginSyncCurSel );            
-    /**
-     * Set editor cursor selection according plugin UI 
-     * cursor state
-     *
-     * @since 3.2
-     * @param aCurSel Cursor position.
-     * @param aSyncCursor ETrue if plug in UI need update cursor, EFalse otherwise
-     * @return None
-     */
-    void SetCursorSelectionL(const TCursorSelection& aCurSel, TBool aSyncCursor);
-    
-    HBufC*  GetNumberKeymapResource(TInt aCaseMode);
-    
-    HBufC*  DoGetNumberKeymapResourceL(TInt aCaseMode);
-    
-    MAknFepManagerInterface* CurrentFepInputUI();
-    
-    void SetFingerMatchSelectionState(TBool aMatchStateOn);
-    TBool IsVisible();
-    TBool DoNextCandidates();
-    void DoPreviousCandidates();
-    // send all predictive candidates at once
-    void ShowAllCandidates();
-    
-    void ResetCandidateList();
-    
-    void UpdateITUTIndicator();
-    
-    void SetITUTSpellingStateL(TBool aState);
-    
-    void DisplaySpellEditor(const TInt aEditorFlag, const TDesC& aInitText, 
-                            TCursorSelection aCurSel);
-    void DisplaySpellEditorL(const TInt aEditorFlag, const TDesC& aInitText, 
-                           TCursorSelection aCurSel);                            
-    
-    void DestroySpellEditor();
-    
-    HBufC* SpellTextInput();
-    void SetTCursorSelection();
-    
-    void HandleEdwinEventL(CEikEdwin* , TEdwinEvent aEventType);
-    
-    TInt GetSoftKeyResID();
-    
-    void HasNoFreeSpace();
-
-    TBool EnterMatchSelectionState();
-    
-    TPluginInputMode PluginInputMode();
-    
-    void UpdateCaseMode();
-    
-    TBool IsGlobleNotes();
-    TBool IsDimed();
-    /**
-     *  Save the cursor visibility. This function is called from fep side, 
-     *  because of sync cursor visibility
-     *
-     *  @since v5.0
-     */
-    void SetCursorVisibility(TBool aVisibility, TBool aReportPlugin = EFalse);
-    /**
-     * Get the correct indicator for VKB;
-     *
-     * @return The correct indicator state for VKB.     
-     */
-    TAknEditingState VKBIndicatorState( TAknEditingState aOldState );
-    void ClosePeninputSetting();
-
-    /**
-     * Show tooltip on FSQ to show the best guess word shown inline,
-     * when it is necessary
-     *
-     * @param aText The tooltip text to be displayed
-     * @return None
-     */
-    void ShowTooltipOnFSQL( TInt aSecondaryIdx );    
-
-    /**
-     * Hide tooltip on FSQ if necessary
-     *
-     * @return None
-     */
-     void HideTooltipOnFSQL();  
-     
-    /**
-     * Open a candidate list to show contents in aItemArray
-     *
-     * @param aCandidateList ITI candidate data
-     * @return None
-     */
-    void ShowCandidateListL( TFepITICandidateList aCandidateList );
-    
-    /**
-     * Hide candidate list
-     *
-     */
-    void HideCandidateListL();
-
-    /**
-     * Commit candidate word on FSQ
-     * 
-     * @param aIndex the index in candidate lists;
-     * @return None
-     */    
-    void CommitCandidateWordOnFSQL( TInt aIndex );
-    
-    /**
-     * Check if ITI features is enabled when FSQ is opened.
-     */
-    TBool EnableITIOnFSQ();
-
-    /**
-     * Check if ITI can be supported by FSQ.
-     */
-    TBool IsSupportITIOnFSQ();
-    
-    /**
-     * Restore some configuration after closing FSQ.
-     *     
-     */
-    void ResetItiStateL();    
-
-/*    
-#ifdef RD_TACTILE_FEEDBACK
-    TBool VKBIsOpened();
-#endif // RD_TACTILE_FEEDBACK
-*/
-
-    void HandleiDimGainForeground(TBool aGain);
-
-public: // inline    
-    
-    /**
-     * Get current plugin input UI
-     *
-     * @since 3.2
-     * @return The pointer to MAknFepManagerInterface
-     */      
-    inline MAknFepManagerInterface* CurrentPluginInputFepUI();
-    
-    /**
-     * Get current plugin input mode
-     *
-     * @since 3.2
-     * @return current plugin input mode
-     */      
-    
-    inline TBool PluginNativeRange();
-    
-    inline void SetPluginNativeRange( TBool aPluginNativeRange );
-    
-    inline TBool SyncWithPluginRange();
-    
-    inline RPointerArray<HBufC>& MatchCandidateList();    
-
-    inline TBool IsMatchState();  
-    
-    inline TBool IsSpellVisible();
-    
-    inline void SetCursorSelection(TCursorSelection& aCursorSel); 
-    
-    inline TCursorSelection CursorSelection(); 
-    
-    inline void SetCaseUpdatesSupressed(TBool aCaseUpdatesSupressed);
-    inline TBool CaseUpdatesSupressed();
-    
-    inline void SetBeforeSpell(TBool aBeforeSpell);
-    inline TBool BeforeSpell();
-    inline HBufC* GetSpellText();
-    inline void SpellText(HBufC* aSpellText);
-    inline TBool IsNonLatinLanguage(TLanguage aLang);
-    inline TInt PreviousPermitMode();
-    /**
-     *  In T9 predictive text input, if user press "Spell" button, a edit word query dialog is opened.  
-     *  This Flag is set for this case to indicate whether edit wod query dialog is opened.
-     *  @param aIsEditWordQueryDlg  ETrue means dialog is open,
-                                    EFalse means dialog is not open.
-     *  @since v5.0
-     */    
-    inline void SetInEditWordQueryFlag(TBool aIsEditWordQueryDlg );    
-    void LaunchPenInputLanguageSelectionL( TBool aLaunchedByTouchWin = EFalse );
-    void LaunchPenInputRecognitionWithDictionarySelectionL();
-  inline TBool IsInGlobleNoteEditor();
-    void SetMenuState(TBool aUpdateEditor = ETrue);
-    void ResetMenuState(TBool aUnDim = ETrue);
-    
-    /**
-     * When ITI setting opened, set this flag to ETrue
-     *  
-     * @param aOpen  ETrue means dialog is open,
-     *               EFalse means dialog is not open.
-     * @return None  
-     */    
-    inline void ITISettingDialogOpen( TBool aOpen );
-    
-    /**
-     * Check if tooltip box on FSQ is opened.
-     *
-     * @return if ETrue: Tooltip box on FSQ is enabled.
-     */    
-    inline TBool IsTooltipOpenOnFSQ();
-private: 
-
-    /**
-     *  Initialize plugin UI, set permitted ranges, primary
-     *  range, case mode and etc.
-     *  
-     *  @since 3.2
-     *  @Return None
-     */
-    void InitializePluginInputL(TInt aOpenMode, TInt aSuggestRange, TBool aCleanContent);
-
-    /**
-     * Launch plugin menu
-     *
-     * @since 3.2
-     * @param aResource Menu resource id.
-     * @return None
-     */
-    void LaunchPenInputMenuL(TInt aResourceId, TBool aRemeber = ETrue);
-        
-    /**
-     *  Show pen input language setting of general setting view
-     *
-     *  @since 3.2
-     *  @return None
-     */
-        
-    /**
-	 *  Show pen input setting of general setting view
-     *  @since 3.2
-     *  @param aData Key data
-     *  @return None
-     */
-    void LaunchPenInputSettingL();
-       
-    /**
-     * Parse editor text passed to plugin ICF
-     * Only return current paragraph of current cursor position.
-     *
-     *  @since 3.2
-     *  @param aBuffer Editor text
-     *  @param aCurrent Current cursor position.
-     *  @param aFrom Returned paragraph start pos.
-     *  @param aTo Returned paragraph end pos.
-     *  @return None
-     */
-    void ParseInputContextContent(TDes& aBuffer, TInt aCurrent, 
-                                  TInt& aFrom, TInt& aTo);
-    
-                                      
-    /**
-     *  Submit text input from plugin UI to editor
-     *
-     *  @since 3.2
-     *  @param aData Key data
-     *  @param aForcedMode Forced simluate event mode.
-     *  @return None
-     */
-    void SubmitUiPluginTextL(const TDesC& aData, 
-    						 TSimulateEventMode aForcedMode = EIgnor);
-
-    /**
-     *  Handle key event sent from pen input server
-     *
-     *  @since 3.2
-     *  @param aData Key data
-     *  @return None
-     */
-    void OnPenInputServerKeyEventL(const TDesC& aData);   
-    
-    /**
-     *  Sync indicator with plugin range
-     *  
-     *  @since 3.2
-     *  @Return None
-     */
-    void SyncIndicatorWithPluginRangeL();
-     
-    /**
-     *  Get current suggest mode
-     *  
-     *  @since 3.2
-     *  @param aSuggestMode The mode suggested
-     *  @Return None
-     */    
-    TBool GetCurSuggestMode( TPluginInputMode& aSuggestMode );
-    
-    /**
-     *  Connect server
-     *  
-     *  @since 3.2
-     *  @Return ETrue If connection sucess
-     */
-    TBool ConnectServer();
-    
-    /**
-     *  Notify layout
-     *  
-     *  @since 3.2
-     *  @param aOpenMode The current input mode
-     *  @param aSuggestRange The suggest range
-     *  @Return None
-     */
-    void NotifyLayoutL(TInt aOpenMode, TInt aSuggestRange, TBool aCleanContent);
-    
-    /**
-     *  verify if mode switch button enable
-     *  
-     *  @since 3.2
-     *  @Return ETrue if mode switch button enable
-     */
-    TBool IsEnableModeSwitchBtn();
-    
-    /**
-     *  verify if setting buttons enable
-     *  
-     *  @since 3.2
-     *  @Return ETrue if setting buttons enable
-     */
-    TBool IsEnableSettingBtn();
-    
-    /**
-     *  Notify layout the editor's keymapping
-     *  
-     *  @since 3.2
-     *  @Return None
-     */
-    void NotifyLayoutKeymappingL();
-             
-    /**
-	 *  Test data query show status
-     *  @since 3.2
-     *  
-     *  @return ETrue if data query is showing now, EFalse otherwise
-     */
-    TBool IsDisplayDataQuery();
-    
-    /**
-	 *  Show pen input setting of general setting view
-	 *
-     *  @since 3.2
-     *  @param aForce ETrue means adjusting data query no matter current showing status,
-                      EFalse means adjusting data query window only first time
-     *  @return None
-     */
-    void RepositionDataQuery(TBool aForce);
-    
-    /**
-     * Timer procedure for adjust data query position
-     *
-     * @param aPtr The pointer of CAknFepManager itself
-     * @since 3.2
-     * @return 0.(meaningless)
-     */
-    static TInt AdjustDataQueryCallBackL(TAny *aPtr);
-    
-    
-    static void FepObserverHandleCompletionOfTransactionL(MCoeFepObserver& aFepObserver);
-    
-    void CreateFingerItutChineseUiL();
-
-    /**
-     * Launch Hwr Training UI
-     * 
-     * @since 3.2
-     * @return None
-     */
-    void LaunchHwrTrainUiL();
-    
-    TBool GetIndicatorImgID(const TInt IndicatorUID,TInt &aImage, TInt &aMask);
-    TBool GetIndicatorImgIDL(const TInt IndicatorUID,TInt &aImage, TInt &aMask);
-    
-    void SetPromptText( TBool aCleanContent = ETrue );
-    
-    void SetIcfAlignment();
-    
-    void ConvertDigitToDigittype(TDigitType& digittype,TDes& aConvertedNumeral);
-
-    void GetAllPredictiveCandidate();
-    void GetAllPredictiveCandidateL();
-    
-    void AddCurrentWinToOpenListL();
-    
-    void AddWinToOpenListL( RDrawableWindow* aWin);
-    
-    void RemoveCurrentWinFromOpenList();
-    
-    void RemoveLastFocusedWinFromOpenList();
-    
-    TBool IsCurrentWindInOpenList();
-    
-    TBool ExistInlineText();
-    
-    TBool SetSyncCurSelIcfDataL( TFepInputContextFieldData& aIcfData );
-    
-    TBool SetSyncIcfDataL( TFepInputContextFieldData& aIcfData, 
-                          const TDesC& aLastEditorContent,
-                          const TDesC& aCurrentEditorContent );
-                          
-    TBool TextInlined( const TDesC& aLastEditorContent, const TDesC& aCurrentEditorContent);
-    
-    TBool TextInserted( const TDesC& aLastEditorContent, const TDesC& aCurrentEditorContent);
-                                          
-    TBool TextDeleted( const TDesC& aLastEditorContent, const TDesC& aCurrentEditorContent);
-
-    TBool TextMultiTapped( const TDesC& aLastEditorContent, const TDesC& aCurrentEditorContent);
-
-	void AdjustDataCase( TDes& aData );
-	
-	TBool IsDimArrowKeys();
-	
-	void LaunchHelpL();
-	void DimAllModeAndCase(CAknFepUiInterfaceMenuPane* aMenuPane);
-	
-	TInt RepeatStringFromLeft(const TDesC& aSubmitData, TDes& aEditorData);
-
-    void InformMfneUiStatusL( TBool aOpened );
-    
-    void UpdatePredicState();
-                            
-    TBool NotifyInGlobalNoteEditorL();
-
-    TBool IsChineseIndicator( TAknEditingState aOldState );
-    
-    TBool IsEditorCursorDisabled();
-
-    /**
-     * Check if the cusror in editor is visible.
-     *
-     * @return ETrue: the cursos in editor is visible.
-     *         EFalse: the cursos in editor is invisible.
-     */
-    TBool IsEditorCursorVisible();
-    
-
-    /**
-     * Check if curor selection in editor is visible.
-     *
-     * @return ETrue: the cursos in editor is visible.
-     *         EFalse: the cursos in editor is invisible.
-     */    
-    TBool IsEditorCursorSelVisible();
-       
-    /**
-     * Get scan code from hw keymapping.
-     *
-     * @param aKeyCode unicode of each virutal key text.
-     */
-    TInt GetScanCodeFromHwKeymapping( TUint aKeyCode );
-    
-    /**
-     * Check if those keys are IIT-supported keys
-     *
-     * @param aKeyEvent The keys to be checked.
-     */
-    TBool IsITISupportedKey( const TKeyEvent& aKeyEvent );
-    
-    TPtiTextCase CaseForMappedCharacter(TChar aCharacter);
-    
-    TBool IsNeedToChangeTextCase( const TPtiTextCase& aTextCase );
-    
-    /**
-     * Do some configuration to make FSQ support ITI features
-     *     
-     */
-    void SetItiStateL();
-    
-    /**
-      * Config keyboard layout for ITI
-      *     
-      */
-    void SetItiKeyboardLayoutL();
-
-    /**
-     * Restore keyboard layout after closing FSQ.
-     */
-    void ResetItiKeyboardLayoutL();
-    
-    /**
-     * Restore predict state.
-     */
-    void RestorePredictStateL();
-    
-    /**
-     * Check if the keycode belongs to dead keys.
-     *     
-     * @param aKeyCode: key code to be checked
-     * @return ETrue: belongs to ETrue
-     *         EFalse: doesn't belong to EFalse;
-     */
-    TBool IsDeadKeyCode( TUint aKeyCode );
-    
-    /**
-     * Notify app touch window state.
-     *     
-     * @param aParam
-     * @return None
-     */
-    void NotifyAppUiImeTouchWndState( const TBool aTouchState );
-        
-    /**
-     * Check if current editor support partial screen IMEs
-     * 
-     * @return ETrue if support  
-     */
-    TBool IsEditorSupportSplitIme();
-    
-private:    // Data
-    
-    /**
-     * The reference of fep manager
-     */
-    CAknFepManager& iFepMan;
-    
-    /**
-     * The reference of language manager
-     */
-    CAknFepLanguageManager& iLangMan;
-    
-    /**
-     * The reference of case manager
-     */
-    CAknFepCaseManager& iCaseMan;
-    
-    /**
-     * The reference of shared data manager
-     */
-    CAknFepSharedDataInterface& iSharedData;
-
-
-    /**
-     * Current plugin UI interface
-     */
-    MAknFepManagerInterface* iCurrentPluginInputFepUI;
-
-    /**
-     * Current plugin input mode
-     */
-    TPluginInputMode iPluginInputMode;
-    
-    /**
-     * Current plugin primary range
-     */
-    TInt iPluginPrimaryRange;
-
-    /**
-     * Update editor cursor timer
-     */
-    CPeriodic* iAdjustDataQueryTimer;
-    
-    /**
-     * HKB predictive state before starting plugin IME
-     */
-    TBool iT9UsedBeforePluginInput;
-    
-    /**
-     * Indicating connection state to pen input server
-     */
-    TBool iAutoCompBeforePluginInput;
-    /**
-     * Indicating connection state to pen input server
-     */
-    TBool iPenInputSvrConnected;
-    
-    /**
-     * flags of layout UI submit status
-     */
-    TInt iLastSubmitCount;
-    
-    /**
-     * Data query showing status
-     */
-    TBool iDataQueryAlreadyShow;
-    
-    /**
-     * Plugin menu manager object
-     */
-    CAknFepPluginMenuManager* iPenInputMenu;
-
-    /**
-     * Pen input server handle
-     */
-    RPeninputServer iPenInputServer;
-    
-    /**
-     * flags of language has been changed by setting
-     */
-    TInt iCurLanguage;
-    
-    /**
-     * flags of fast swap by menu
-     */
-    TBool iFastSwapByMenu;
-    
-    MAknFepManagerInterface* iFingerItutChineseUI;
-    
-    TCursorSelection iCurSelPre;
-    
-    TCursorSelection iCurSelCur;
-    
-    TPluginSync iSyncType;
-    
-    HBufC* iIcfDataBuf;
-    
-    RPointerArray<HBufC> iCandidateList;
-    TInt iCandidateIndex;
-    
-    TFepInputCandidateList iSendList;
-    TFepInputAllCandidates iSendAllList;
-    
-    TBool iMatchState; 
-    
-    TInt iIndicatorImgID;
-    CAknFepUiSpellContainer* iSpell;
-    
-    TBool iSpellOn; 
-    
-    TCursorSelection iCursorSel;
-
-    TInt iIndicatorTextID;
-    
-    TBool iCaseUpdatesSupressed;
-    
-    TBool iBeforeSpell;
-    
-    HBufC* iSpellText;
-    
-    TSpellCBA iSpellCba;
-    TBool iPenUiDimmed;
-    TBool iIsForeground;
-    
-    TInt iPreDocumentLengthForFep;
-    TInt iOpenPenUiFlag;
-    
-    TBool iPluginNativeRange;
-    
-    TBool iSyncWithPluginRange;
-    
-    RArray<TInt> iOpenWindowList;
-    TInt         iLastFocusedWin;
-    
-    HBufC* iLastEditorContentBuf;
-    
-    TBool iModeChanged;
-    
-    TInt iPreviousCoseMode;
-    
-    TBool iLaunchMenu;
-    TBool iInMenu; // need to check whether it can be replaced by iLaunchMenu
-    MCoeFepAwareTextEditor* iCurEditor;
-    MCoeFepAwareTextEditor* iOldFepAwareEditor;
-
-    RDrawableWindow *    iLastDataQueryWin;
-    
-    TInt iDefaultOrientation;
-    RBuf iEventData;
-    TBool iDisableSyncText;
-    TBool iPendingSyncReq;
-    TBool iHasSWEventCap;
-    TInt iCurPermitModes;
-    TBool isLanuchSCT;
-    TBool iInGlobleNoteEditor;
-    TBool iOrientationChanged;
-    TBool iInlineStateOn;
-    TInt iCharStartPostion;
-    /**
-     * Cursor Visibility
-     */
-    TInt iEditorPriority;
-    TBool iDimGainForeground;
-    TBool iEnableIndicatorBtn;
-    TBool iEnableSettingBtn;
-    TBool iEnableArrowBtn;
-    TBool iCursorVisibility;
-    TBool iForegroundChange;
-    TBool iResourceChange;
-
-    TBool iLaunchHelp;
-    TInt iCurPermittedModes;
-    MCoeFepAwareTextEditor* iMfne;
-    TBool iMfneChanged;
-    TBool iIsInEditWordQueryDlg;
-    
-	TBool iPreferredUiMode;
-
-    CRepository* iAvkonRepository;
-    
-    TBool iClosePluginInputMode;
-	
-	TBool iOrientationChangedfromUI;
-	
-	CPenInputGSInterface* iGsInterface;
-    RBuf iPreCaption;
-    TBool iIsPassWord;
-
-    /**
-     * Store the last keyboard layout.
-     */
-    TInt iLastKeyboardLayout;
-    
-
-    /**
-     * Indicate if predictive setting dialog opened.
-     */
-    TBool iITISettingDialogOpen;
-    
-    /**
-     * Indicate if current input mode is qwerty mode.
-     */
-    TBool iIsITIConfigured;
-    
-    /**
-     * Indicate if tooltip on FSQ is opened
-     */       
-    TBool iTooltipOpenOnFSQ;    
-	
-	// Modify for bug ELZG-7WZC35 begin
-	TInt iAlignment;
-	// Modify for bug ELZG-7WZC35 end
-    };
-
-
-
-// ---------------------------------------------------------------------------
-// CAknFepPluginManager::CurrentPluginInputFepUI
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//           
-inline MAknFepManagerInterface* CAknFepPluginManager::CurrentPluginInputFepUI()
-    {
-    return iCurrentPluginInputFepUI;
-    }
-    
-inline TBool CAknFepPluginManager::PluginNativeRange()
-    {
-    return iPluginNativeRange;
-    }
-
-inline TBool CAknFepPluginManager::SyncWithPluginRange()
-    {
-    return iSyncWithPluginRange;
-    }
-
-inline void CAknFepPluginManager::SetPluginNativeRange( TBool aPluginNativeRange )
-    {
-    iPluginNativeRange = aPluginNativeRange;
-    }
-
-inline RPointerArray<HBufC>& CAknFepPluginManager::MatchCandidateList()
-    {
-    return iCandidateList;    
-    }
-
-inline TBool CAknFepPluginManager::IsMatchState()
-    {
-    return iMatchState;
-    }
-
-inline TBool CAknFepPluginManager::IsSpellVisible()
-    {
-    return iSpellOn;
-    }
-
-inline void CAknFepPluginManager::SetCursorSelection(TCursorSelection& aCursorSel)
-    {
-    iCursorSel = aCursorSel;
-    }
-    
-inline TCursorSelection CAknFepPluginManager::CursorSelection()
-    {
-    return  iCursorSel;
-    }
-    
-inline void CAknFepPluginManager::SetCaseUpdatesSupressed(TBool aCaseUpdatesSupressed)
-    {
-     iCaseUpdatesSupressed = aCaseUpdatesSupressed;
-    }
-
-inline TBool CAknFepPluginManager::CaseUpdatesSupressed()
-    {
-    return iCaseUpdatesSupressed;
-    }    
-
-inline void CAknFepPluginManager::SetBeforeSpell(TBool aBeforeSpell)
-    {
-    iBeforeSpell = aBeforeSpell;
-    }
-
-inline TBool CAknFepPluginManager::BeforeSpell()
-    {
-    return iBeforeSpell;
-    }
-    
-inline HBufC* CAknFepPluginManager::GetSpellText()
-    {
-    return iSpellText;
-    }
-
-inline void CAknFepPluginManager::SpellText(HBufC* aSpellText)
-    {
-    if (aSpellText)
-        {
-        delete iSpellText;
-        iSpellText = aSpellText->Alloc();   
-        }
-    else
-        {
-        delete iSpellText;
-        iSpellText = NULL;
-        }
-    }
-
-inline TBool CAknFepPluginManager::IsNonLatinLanguage(TLanguage aLang)
-    {
-    return (aLang == ELangRussian) || (aLang == ELangBulgarian ) ||
-           (aLang == ELangUkrainian) || (aLang == ELangUrdu ) ||
-           (aLang == ELangVietnamese) || (aLang == ELangThai ) ||
-           (aLang == ELangArabic) || (aLang == ELangFarsi ) ||
-           (aLang == ELangHebrew) ;
-    }
-    
-inline TInt CAknFepPluginManager::PreviousPermitMode()
-    {
-    return iCurPermitModes;   
-    }
-inline void CAknFepPluginManager::SetInEditWordQueryFlag(TBool aIsEditWordQueryDlg )
-    {
-    iIsInEditWordQueryDlg = aIsEditWordQueryDlg;
-    }
-    
-inline TBool CAknFepPluginManager::IsInGlobleNoteEditor()
-    {
-    return iInGlobleNoteEditor;    
-    }
-
-inline void CAknFepPluginManager::ITISettingDialogOpen( TBool aOpen )
-    {
-    iITISettingDialogOpen = aOpen;
-    }
-
-inline TBool CAknFepPluginManager::IsTooltipOpenOnFSQ()
-	{
-	return iTooltipOpenOnFSQ;
-	}
-#endif //RD_SCALABLE_UI_V2    
-
-#endif // __AKN_FEP_PLUGIN_MANAGER__
-
-// End of file
--- a/fep/aknfep/inc/AknFepPluginMenuManager.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,135 +0,0 @@
-/*
-* 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:            Plugin menu manager class header
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef C_AKNFEPPLUGINMENUMANAGER_H
-#define C_AKNFEPPLUGINMENUMANAGER_H
-
-//Include
-#include <aknfepuimenus.h>
-
-//Foward declaration
-class CAknFepManager;
-
-/**
- *  Class of management of menu launched by plugin IME
- *
- *  @since S60 v3.2
- */
-class CAknFepPluginMenuManager: public CBase, public MAknFepUiInterfaceMenuObserver
-    {
-public:
-    /**
-     * Symbian constructor.
-     *
-     * @since S60 v3.2
-     * @return Pointer to created CAknFepPluginMenuManager object
-     */
-    static CAknFepPluginMenuManager* NewL(CAknFepManager* aManager);
-  
-    /**
-     * Destructor.
-     */
-    ~CAknFepPluginMenuManager();
-
-public:
-    /**
-     * Show speicfied menu pane
-     * 
-     * @since S60 v3.2
-     * @param aResourceId Menu resource id.
-     * @return
-     */
-    void ShowL(TInt aResourceId);
-
-    /**
-     * Get menu show status
-     * 
-     * @since S60 v3.2
-     * @return ETrue if show, otherwise EFalse.
-     */
-    TBool IsShowing();
-    
-    /**
-     * Hide current showed menu.
-     * 
-     * @since S60 v3.2
-     * @return None.
-     */
-    void Hide();
-    
-    /**
-     * Get current menu resource id.
-     * 
-     * @since S60 v3.2
-     * @return Resource id.
-     */
-    TInt MenuPaneId();
-
-public: 
-    // MAknFepUiInterfaceMenuObserver
-    /**
-     * Called when menu get or lose focus.
-     * The function does nothing, for FEP will handle menu command anyway.
-     * @since S60 v3.2
-     * @param aMenuControl The menu control
-     * @param aEmphasis ETrue to emphasize the menu, EFalse otherwise
-     * @return None.
-     */
-    virtual void SetEmphasis(CBase* aMenuControl, TBool aEmphasis);
-    
-    /**
-     * Process command user selects.
-     * The function does nothing, for FEP will handle menu command anyway.
-     * @since S60 v3.2
-     * @param 
-     * @return None.
-     */
-    virtual void ProcessCommandL(TInt aCommandId);
-
-private:
-    /**
-     * C++ default constructor.
-     *
-     * @param aFepManager Fep manager object.
-     */
-    CAknFepPluginMenuManager(CAknFepManager* aFepManager);
-
-private:
-    /**
-     * Current menu bar. Own.
-     */
-    CAknFepUiInterfaceMenuBar*    iOptionMenuBar;
-    /**
-     * Fep manager. Not own.
-     */
-    CAknFepManager* iFepManager;
-    };
-
-#endif
-
-// End of file
--- a/fep/aknfep/inc/AknFepSharedDataInterface.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,714 +0,0 @@
-/*
-* 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:           
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef _AKNFEP_SHARED_DATA_INT_H__
-#define _AKNFEP_SHARED_DATA_INT_H__
-
-#include <e32base.h>
-
-#include <e32property.h>
-#include <cenrepnotifyhandler.h>
-class CRepository;
-
-class CAknFepRepositoryWatcher : public CBase, public MCenRepNotifyHandlerCallback
-    {
-public:
-    static CAknFepRepositoryWatcher* NewL(
-        const TUid aUid,
-        const TUint32 aKey,
-        CCenRepNotifyHandler::TCenRepKeyType aKeyType,
-        TCallBack aCallBack,
-        CRepository* aRepository);
-
-    static CAknFepRepositoryWatcher* NewL(
-        const TUid aUid,
-        TCallBack aCallBack,
-        CRepository* aRepository);
-
-    ~CAknFepRepositoryWatcher();
-
-    TUint32 ChangedKey();
-#ifdef RD_INTELLIGENT_TEXT_INPUT   
-    inline TBool IsGenericCenrepChange(){return iIsGeneric;}
-#endif    
-
-public: // from MCenRepNotifyHandlerCallback
-    void HandleNotifyInt    (TUint32 aKey, TInt aNewValue);
-    void HandleNotifyError  (TUint32 aKey, TInt aError, CCenRepNotifyHandler* aHandler);
-	void HandleNotifyGeneric(TUint32 aId);    
-
-private:
-    CAknFepRepositoryWatcher(
-        const TUid aUid,
-        const TUint32 aKey,
-        TCallBack aCallBack,
-        CRepository* aRepository);
-
-    void ConstructL(CCenRepNotifyHandler::TCenRepKeyType aKeyType);
-
-    void ConstructL();
-
-private:
-    TUid                    iUid;
-    TUint32                 iKey;
-    TUint32                 iChangedKey;
-    TCallBack               iCallBack;
-    CRepository*            iRepository;
-    CCenRepNotifyHandler*   iNotifyHandler;
-#ifdef RD_INTELLIGENT_TEXT_INPUT    
-    TBool                   iIsGeneric;
-#endif    
-    };
-
-
-class CAknFepManager;
-
-class CAknFepSharedDataInterface : public CBase
-    {
-public:
-    /**
-     * Two phase constructor for this class
-     */
-    static CAknFepSharedDataInterface* NewL(CAknFepManager* aFepManager);
-
-    /**
-     * C++ Destructor
-     */
-    ~CAknFepSharedDataInterface();
-
-public:
-    /**
-     * Queries the value of PredictiveTextOn from shared data
-     *
-     * @return 1 for on or 0 for off
-     */
-    TInt PredictiveTextOn();
-
-    /**
-     * Queries the value of Japanese PredictiveTextOn from shared data
-     *
-     * @since 2.6
-     * @return 1 for on or 0 for off
-     */
-    TInt PredictiveTextJapaneseOn();
-
-    /**
-     * Queries the value of InputMode from shared data
-     *
-     * @since 2.6
-     * @return value of current input mode
-     */
-    TInt InputMode();
-
-    /**
-     * Sets the value of InputMode in shared data to the passed value
-     *
-     * @since 2.6
-     * @param aValue new value set to InputMode  shared data item which
-     *               represents the input mode currently being used
-     */
-    void SetInputMode(TInt aInputMode);
-
-    /**
-     * Queries the value of CangJieMode from shared data
-     *
-     * @since 3.0
-     * @return value of current input mode
-     */
-    TInt CangJieMode();
-
-    /**
-     * Sets the value of CangJieMode in shared data to the passed value
-     *
-     * @since 3.0
-     * @param aValue new value set to CangJieMode shared data item which
-     *               represents the input mode currently being used
-     */
-    void SetCangJieMode(TInt aNewCangJieMode);
-
-    /**
-     * Queries the value of iInputTextLang from shared data
-     *
-     * @return language code of currently used language
-     */
-    TInt InputTextLanguage();
-
-    /**
-     * Sets the value of InputTextLanguage in shared data to the passed value
-     *
-     * @param aValue new value set to InputTextLanguage shared data item which
-     *               represents the language code currently being used
-     */
-    void SetInputTextLanguage(TInt aValue);
-
-    /**
-     * Queries the value of iDisplayLang from shared data
-     *
-     * @return language code of currently display language
-     */
-    TInt DisplayLanguage();
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    /**
-     * Sets the Fn key state and copies it to Cenrep.
-     *
-     * @return Nothing
-     */
-    void SetFnKeyState(TInt aState);
-    TInt GetFnKeyState();
-#ifdef FF_DUAL_LANGUAGE_SUPPORT
-    /**
-     * Queries the value of secondary input language from shared data
-     *
-     * @return language code of currently used language
-     */
-    TInt InputTextLanguageSecondary();
-    /**
-     * Sets the value of secondary input language in shared data to the passed value
-     *
-     * @param aValue new value set to InputTextLanguageSecondary shared data item
-     *               which represents the language code currently being used
-     */
-    void SetInputTextLanguageSecondary(TInt aValue);
-#endif // FF_DUAL_LANGUAGE_SUPPORT
-#endif
-
-    /**
-     * Sets the value of PredictiveTextOn to 1 in shared data - this
-     * is used to represent predictive text being on
-     */
-    void SetPredictiveTextOn();
-
-    /**
-     * Sets the value of PredictiveTextOn to 0 in shared data - this
-     * is used to represent predictive text being off
-     */
-    void ResetPredictiveTextOn();
-
-    /**
-     * Sets the value of Japanese PredictiveTextOn to 1 in shared data
-     * - this is used to represent Japanese predictive text being on
-     *
-     * @since 2.6
-     */
-    void SetJapanesePredictiveTextOn();
-
-    /**
-     * Sets the value of Japanese PredictiveTextOn to 0 in shared data
-     * - this is used to represent Japanese predictive text being off
-     *
-     * @since 2.6
-     */
-    void ResetJapanesePredictiveTextOn();
-
-    /**
-     * Query if KAknFepScrollLatinPredictive feature is enabled in shared data.
-     *
-     * @since 2.6
-     * @return Value of KAknFepScrollLatinPredictive setting.
-     */
-    TInt ScrollLatinPredictiveCandidates() const;
-
-    /**
-     * Query if KAknFepSpaceWithScrollRight feature is enabled in shared data.
-     *
-     * @since 2.6
-     * @return Value of KAknFepSpaceWithScrollRight setting.
-     */
-    TInt SpaceWithScrollRight() const;
-
-    /**
-     * Query if KAknFepEnterWithScrollDown feature is enabled in shared data.
-     *
-     * @since 2.6
-     * @return Value of KAknFepEnterWithScrollDown setting.
-     */
-    TInt EntersWithScrollDown() const;
-
-    /**
-     * Query Qwerty input mode.
-     *
-     * @since 2.6
-     * @return Value of KAknQwertyInputModeActive setting.
-     */
-    TInt QwertyInputMode() ; //const;
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    /**
-     * Reads Cenrep and returns the keyboard layout 
-     *
-     */
-    TInt KeyboardLayout() ;//const
-#endif
-    
-    
-    /**
-    * Returns a value indicating whether edit-submenu functionality should be 
-    * used in options menu.
-    *
-    * @since 3.1
-    * @return Value indicating whether edit submenu should be used.
-    */
-	TInt EditSubmenuInUse() const;
-	
-	/**
-    * Returns a value indicating whether edit-submenu functionality should be 
-    * used in options menu.
-    *
-    * @since 3.1
-    * @return Value indicating whether edit submenu should be used.
-    */	
-	TInt HashKeySelectionInUse();	
-
-    /**
-     * Multitap timer value. 
-     * Replaces the constant KMultiTapTimeoutMS in Japanese variant.
-     *
-     * @since 3.0
-     * @return Value of KAknFepMultiTapTimer setting.
-     */
-    TInt MultiTapTimer() const;
-    /**
-     * Japanese Qwerty Flags value. 
-     * Replaces the constant KAknFepJapaneseSpecialCharFlag in Japanese variant.
-     *
-     * @since 3.0
-     * @return Value of KAknFepJapaneseSpecialCharFlag setting.
-     */
-    TInt JapaneseQwertyFlags() const;
-
-    /**
-     * Get the last used plugin input mode
-     *
-     * @since 3.2
-     * @return Value of KAknFepLastUsedInput setting.
-     */
-    TInt PluginInputMode() const;
-
-    /**
-     * Replaces the last used plugin input mode
-     *
-     * @since 3.2
-     * @return Replace value of KAknFepLastUsedInput setting.
-     */
-    void SetPluginInputMode(TInt aId);
-
-
-    /**
-     * Get the last used plugin UI language
-     *
-     * @since 3.2
-     * @return Value of KAknFepLastUsedUILanguage setting.
-     */
-    TInt PluginUILanguage() const;
-
-    /**
-     * Replaces the last used plugin UI language
-     *
-     * @since 3.2
-     * @param aLanguage Replace value of KAknFepLastUsedUILanguage setting.
-     */
-    void SetPluginUILanguage(TInt aLanguage);
-
-
-    /**
-     * Get current pen input language
-     * @since 3.0
-     *
-     * @return Value of KSettingsPenInputLang
-     */
-    TInt PenInputLanguage() const;
-    
-    /**
-     * Replaces the value of number input mode
-     *
-     * @since 3.2
-     * @param aMode (KSettingsDefaultNumberMode or KSettingsIndicDefaultNumberMode)
-     * @param aValue a value
-     */
-	void SetDefaultNumberMode( TInt aMode, TInt aValue );
-
-    /**
-     * Returns a value of current clear direction.
-     *
-     * @since 3.2
-     * @return Value of KAknFepClearDirection setting.
-     */
-    TInt ClearDirection() const;
-
-    /**
-     * Set a value of current clear direction.
-     *
-     * @since 3.2
-     * @param aValue new value set to Clear Direction shared data item which
-     *               represents the direction currently being used
-     */
-    void SetClearDirection(TInt aValue);
-    /**
-     * Queries the value of PredictiveText Auto Word Completion state to be On from shared data
-     *
-     * @return 1 for on or 0 for off
- 	 * Since 5.0    
-     */
-	TInt CAknFepSharedDataInterface::PredictiveTextAutoCompleteOn();
-
-    
-    /**
-     * Sets the value of PredictiveText Auto Word Completion state to 1 in shared data - this
-     * is used to represent predictive text Auto Word Completion being on
- 	 * Since 5.0    
-     */    
-	void CAknFepSharedDataInterface::SetPredictiveTextAutoCompleteOn();
-
-
-    /**
-     * Sets the value of PredictiveText Auto Word Completion state to 0 in shared data - this
-     * is used to represent predictive text Auto Word Completion being off
- 	 * Since 5.0    
-     */    
-	void CAknFepSharedDataInterface::ResetPredictiveTextAutoCompleteOn();
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-
-    /**
-     * Handles a change in predictive text Auto Word Completion setting from general settings
- 	 * Since 5.0    
-     */    
-	void CAknFepSharedDataInterface::HandlePredictiveTextAutoCompleteSettingGSChange();
-#endif
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-  
-    /**
-     * Handles a change in predictive text Auto Word Completion setting from general settings
- 	 * Since 5.0    
-     */    
-	void HandlePredictiveTextAutoCompleteSettingGSChange();
-#endif	//
-
-    /**
-     * Returns a value of Hwr conversion ON/OFF.
-     *
-     * @since 3.2
-     * @return Value of KAknFepJapaneseHwrConversion value
-     */
-    TInt JapaneseHwrConversion() const;
-
-    /**
-     * Set a value of Hwr conversion ON/OFF.
-     *
-     * @since 3.2
-     * @param aValue new value set to Hwr conversion ON/OFF shared data item which
-     *               represents the conversion ON/OFF currently being used
-     */
-    void SetJapaneseHwrConversion(TInt aValue);
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    /**
-     * Queries the value of PredictiveText Typing Correction Level from shared data
-     *
-     * @return Typing Correction Level
- 	 */
-	TInt PredictiveTextTypingCorrectionLevel();
-
-    
-    /**
-     * Sets the value of PredictiveText Typing Correction Level state to aCorrectionLevel in shared data 
- 	 */    
-	void SetPredictiveTextTypingCorrectionLevel(TInt aCorrectionLevel);
-
-
-     /**
-     * Handles a change in predictive text Typing Correction Level setting.
- 	 */    
-	void HandlePredictiveTextTypingCorrectionLevelChange();
-
-    /**
-     * Queries the value of PredictiveText Number Candidate Shown state to be On from shared data
-     *
-     * @return 1 for shown or 0 for not shown
- 	 */
-	TInt PredictiveTextNumberCandidateShown();
-
-    
-    /**
-     * Sets the value of PredictiveText Number Candidate Shown state to 1 in shared data - this
-     * is used to represent predictive text Number Candidate Shown being shown.
- 	 */    
-	void SetPredictiveTextNumberCandidateShown();
-
-
-    /**
-     * Sets the value of PredictiveText Number Candidate Shown state to 0 in shared data - this
-     * is used to represent predictive text Number Candidate Shown being not shown.
- 	 */    
-	void ResetPredictiveTextNumberCandidateShown();
-
-
-    /**
-     * Handles a change in predictive text NumberCandidateShown setting.
- 	 */    
-	void HandlePredictiveTextNumberCandidateSettingChange();
-	
-	/**
-     * Queries the value of PredictiveText Primary candidate setting from shared data
-     *
-     * @return Primary candidate setting(0 for Exact or 1 for Suggested)
- 	 */
-	TInt PredictiveTextPrimaryCandidate();
-
-    
-    /**
-     * Sets the value of PredictiveText Primary candidate setting state to aPrimaryCandidate in shared data 
- 	 */    
-	void SetPredictiveTextPrimaryCandidate(TInt aPrimaryCandidate);
-
-
-     /**
-     * Handles a change in predictive text Primary candidate setting.
- 	 */    
-	void HandlePredictiveTextPrimaryCandidateChange();
-#endif	// RD_INTELLIGENT_TEXT_INPUT
-
-    TInt FepShowFsqPreviewStatus();
-
-    void SetFepShowFsqPreviewStatus(TInt aValue);
-
-    TInt FepShowVkbPreviewStatus();
-
-    void SetFepShowVkbPreviewStatus(TInt aValue);
-
-    TInt FepLastUseVkbModeForLandscape();
-
-    void SetFepLastUseVkbModeForLandscape(TInt aValue);
-
-    TBool AutoRotateEnabled();
-#ifdef __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-	/**
-	* Queries if numbers (and other characters found behind Fn) can be entered with long key press on QWERTY.
-	*/
-	TBool LongPressNumberEntryOnQwerty() const;
-	/**
-	* Queries if copy-pasting with shift+softkeys is available also on QWERTY.
-	*/
-	TBool ShiftCopyPastingOnQwerty() const;
-#endif // RD_INTELLIGENT_TEXT_INPUT
-#endif // __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-#ifdef  RD_SCALABLE_UI_V2
-    /**
-     * Get a value of current default on screen vkb.
-     * It depends on input lanage is PRC/HW/TW Chinese.
-     *
-     * @return Value of current default on screen vkb
-     */
-    TInt DefaultOnScreenVKB();
-#endif
-    
-private:
-    /**
-     * C++ Constructor
-     */
-    CAknFepSharedDataInterface(CAknFepManager* aFepManager);
-    /**
-     * Second phase constructor for this class
-     */
-    void ConstructL();
-
-private:
-
-    /**
-     * Handles a change in hash key selection setting
-     */
-    static TInt HashKeySelectionNotification(TAny* aObj);
-    
-    /**
-     * Handles a change in input mode from general settings
-     */
-    static TInt InputModeChangeGSNotification(TAny* aObj);
-
-    /**
-     * Handles a change in input language from general settings
-     */
-    static TInt InputTextLangGSNotification(TAny* aObj);
-
-    /**
-     * Handles a change in predictive text setting from general settings
-     */
-    static TInt PredictiveTextSettingChangeGSNotification(TAny* aObj);
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-
-    /**
-     * Handles a change in predictive text Auto Word Completion setting from general settings
- 	 * Since 5.0    
-     */    
-	static TInt PredictiveTextAutoCompleteSettingChangeGSNotification(TAny* aObj);
-#endif	// RD_PRED_AW_COMPLETION
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    /**
-    Handles the change in keyboard layout.
-    */
-    void HandleKeyboardLayoutChange();
-    /**
-     * Call back function to handle a change in keyboard layout.
-     */	
-    static TInt HandleKeyboardLayoutChangeNotification(TAny* aObj);
-#endif
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-
-    /**
-     * Handles a change in predictive text Auto Word Completion setting from general settings
- 	 * Since 3.2    
-     */    
-	static TInt PredictiveTextAutoCompleteSettingChangeGSNotification(TAny* aObj);
-#endif	// RD_INTELLIGENT_TEXT_INPUT
-    /**
-     * Handles a change in Japanese predictive text setting from general settings
-     */
-    static TInt JapanesePredictiveTextSettingChangeGSNotification(TAny* aObj);
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    /**
-     * Handles a change in predictive text Typing Correction Level setting.
- 	 */    
-	static TInt PredictiveTextTypingCorrectionLevelChangeNotification(TAny* aObj);
-	
-	/**
-     * Handles a change in predictive text Number Candidate setting.
- 	 */    
-	static TInt PredictiveTextNumberCandidateSettingChangeNotification(TAny* aObj);
-	
-	/**
-     * Handles a change in predictive text Primary Candidate setting.
- 	 */    
-	static TInt PredictiveTextPrimaryCandidateChangeNotification(TAny* aObj);
-#endif	// RD_INTELLIGENT_TEXT_INPUT
-
-    /**
-     * Handles a change in qwerty input mode setting.
-     */
-    static TInt QwertyModeChangeNotification(TAny* aObj);
-
-    /**
-     * Handles a change in hash key selection
-     */
-    void HandleHashKeySelectionChange();
-    
-    /**
-     * Handles a change in input mode from general settings
-     */
-    void HandleInputModeGSChange();
-
-    /**
-     * Handles a change in input language from general settings
-     */
-    void HandleInputTextLanguageGSChange();
-
-    /**
-     * Handles a change in predictive text setting from general settings
-     */
-    void HandlePredictiveTextSettingGSChange();
-
-    /**
-     * Handles a change in Japanese predictive text setting from general settings
-     */
-    void HandleJapanesePredictiveTextSettingGSChange();
-
-    /**
-     * Call back function to handle a change in MultiTapTimer from general settings
-     */
-    static TInt MultiTapTimerChangeGSNotification(TAny* aObj);
-    /**
-     * Handles a change in MultiTapTimer from general settings
-     */
-    void HandleMultiTapTimerChangeGSNotification();
-
-    /**
-     * Call back function to handle a change in Japanese Qwerty Flags from general settings
-     */
-    static TInt JapaneseQwertyFlagsChangeGSNotification(TAny* aObj);
-    /**
-     * Handle change notification for Japanese Qwerty Flags. 
-     */
-    void HandleJapaneseQwertyFlagsChangeGSNotification();
-
-    /**
-     * Handles a change in qwerty input mode setting.
-     */
-    void HandleQwertyModeChangeNotification();
-    TInt NumberModeChangesGSNotification();
-
-    static TInt HandleRepositoryCallBack(TAny* aPtr);
-#ifdef RD_INTELLIGENT_TEXT_INPUT    
-    static TInt HandleGenericRepositoryChange(TAny* aPtr);
-#endif    
-    static TInt HandleLocaleRepositoryCallBack(TAny* aPtr);
-
-    class CSubscriber : public CActive
-        {
-    public:
-        CSubscriber(TCallBack aCallBack, RProperty& aProperty);
-        ~CSubscriber();
-
-    public: // New functions
-        void SubscribeL();
-        void StopSubscribe();
-
-    private: // from CActive
-        void RunL();
-        void DoCancel();
-
-    private:
-        TCallBack   iCallBack;
-        RProperty&  iProperty;
-        };
-
-    CSubscriber*    iQwertyModeStatusSubscriber;
-    RProperty       iQwertyModeStatusProperty;
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    CSubscriber*    iKeyboardLayoutStatusSubscriber;
-    RProperty       iKeyboardLayoutStatusProperty;
-#endif
-
-    friend class CSubscriber;
-
-private:
-    CAknFepManager* iFepManager; //not owned
-
-    CRepository*                iCommonEngineRepository;
-    CRepository*                iAknFepRepository;
-    CRepository*                iGsPenSettings;   //for global setting 
-    CRepository*				iLocaleRepository; // locale related settings
-    CRepository*                iSensorRepository;
-    CAknFepRepositoryWatcher*   iAknFepRepositoryWatcher;
-    CAknFepRepositoryWatcher*   iAknFepLocaleRepositoryWatcher;
-
-    TInt iSharedDataScrollLatinPredictive;
-    TInt iSharedDataSpaceWithScrollRight;
-    TInt iSharedDataEnterWithScrollDown;
-    
-    TInt iHashKeySelectionInUse;
-    };
-
-#endif
-
-// End of File
--- a/fep/aknfep/inc/AknFepThaiSCTSelector.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/*
-* Copyright (c) 2003 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 __AKN_FEP_THAI_SCT_SELECTOR__
-#define __AKN_FEP_THAI_SCT_SELECTOR__
-
-#include <e32def.h>
-#include <e32base.h>
-
-enum AknFepSCTThaiGlyphTypes
-    {
-    EAknFepThaiCharNon,
-    EAknFepThaiCharCons,
-    EAknFepThaiCharLV,
-    EAknFepThaiCharFV1,
-    EAknFepThaiCharFV2,
-    EAknFepThaiCharFV3,
-    EAknFepThaiCharBV1,
-    EAknFepThaiCharBV2,
-    EAknFepThaiCharBD,
-    EAknFepThaiCharTone,
-    EAknFepThaiCharAD1,
-    EAknFepThaiCharAD2,
-    EAknFepThaiCharAD3,
-    EAknFepThaiCharAV1,
-    EAknFepThaiCharAV2,
-    EAknFepThaiCharAV3,
-    EAknFepThaiCharNonThai,
-    };
-
-class CAknFepThaiSCTSelector : public CBase
-    {
-    public:
-        
-        TInt ThaiSCRResourceId(TUint aPrevGlyph, TInt aKey);
-
-        static CAknFepThaiSCTSelector* NewL();
-        
-        ~CAknFepThaiSCTSelector();
-        
-    private:
-        
-        CAknFepThaiSCTSelector();
-
-        AknFepSCTThaiGlyphTypes ThaiGlyphType(TUint aGlyph);
-
-        TInt ThaiSctCharMap(enum AknFepSCTThaiGlyphTypes aGlyphType, TInt aKey);
-        
-    };
-
-#endif // __AKN_FEP_UI_THAI_CHARACTER_MAP_SELECTOR__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUIInputStateEntryMiniQwertyCangJie.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
-* Copyright (c) 2007 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:           
-*       Provides the  TAknFepInputStateEntryMiniQwertyCangJie definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_ENTRY_MINIQWERTY_CANGJIE_H__
-#define __AKN_FEP_UI_INPUT_STATE_ENTRY_MINIQWERTY_CANGJIE_H__
-
-#include "AknFepUiInputStateEntryQwertyBaseChinesePhrase.h"
-
-class TAknFepInputStateEntryMiniQwertyCangJie : 
-public TAknFepInputStateEntryQwertyBaseChinesePhrase
-    {
-public:
-    TAknFepInputStateEntryMiniQwertyCangJie(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    /**
-     * Handling Command events.
-     * This Method is called by CAknFepUIManagerJapanese.
-     *
-     * @param aCommandId Command ID value
-     */
-    void HandleCommandL( TInt aCommandId );
-    };
-
-
-
-
-#endif __AKN_FEP_UI_INPUT_STATE_ENTRY_MINIQWERTY_CANGJIE_H__
\ No newline at end of file
--- a/fep/aknfep/inc/AknFepUIInputStateEntryMiniQwertyPinyinPhrase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +0,0 @@
-/*
-* Copyright (c) 2007 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:           
-*       Provides the  TAknFepInputStateEntryMiniQwertyPinyinPhrase definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_ENTRY_MINIQWERTY_PINYINPHRASE_H__
-#define __AKN_FEP_UI_INPUT_STATE_ENTRY_MINIQWERTY_PINYINPHRASE_H__
-
-#include "aknfepuiinputminiqwertypinyinphrasebase.h"
-/**
- *  TAknFepInputStateEntryMiniQwertyPinyinPhrase class.
- *
- *  Implementation of Pinyin phrase creation entry  state 
- *
- *  @lib avkonfep.dll
- *  @since S60 v3.2
- */
-class TAknFepInputStateEntryMiniQwertyPinyinPhrase: public TAknFepInputMiniQwertyPinyinPhraseBase
-    {
-public: 
-    /**
-     * C++ default constructor
-     *
-     * @since S60 V3.2
-     * @param aOwner Pointer to UI manager state interface
-     * @param aUIContainer Pointer to Chinese UI container
-     */
-    TAknFepInputStateEntryMiniQwertyPinyinPhrase(
-            MAknFepUIManagerStateInterface* aOwner,
-            MAknFepUICtrlContainerChinese* aUIContainer );
-    /**
-     * From TAknFepInputStateEntryMiniQwertyPinyinPhrase
-     * Handle system key press
-     * @since S60 v3.2
-     * @param aKey System key event
-     * @param aLength Key press length
-     * @return ETrue if handle, otherwise this class do not handle this key
-     */
-     TBool HandleKeyL( TInt aKey, TKeyPressLength aLength );
-     
-     /**
-      * Handling Command events.
-      * This Method is called by CAknFepUIManagerJapanese.
-      *
-      * @param aCommandId Command ID value
-      */
-     void HandleCommandL( TInt aCommandId );
-    };
-
-/**
- *  TAknFepInputStateEditinigMiniQwertyPinyinPhrase class.
- *  Implementation of Pinyin phrase creation  editing state 
- *  @lib avkonfep.dll
- *  @since S60 v3.2
- */
-
-class TAknFepInputStateEditinigMiniQwertyPinyinPhrase: public TAknFepInputMiniQwertyPinyinPhraseBase
-    {
-public: 
-
-    /**
-     * C++ default constructor
-     * @since S60 V3.2
-     * @param aOwner Pointer to UI manager state interface
-     * @param aUIContainer Pointer to Chinese UI container
-     */
-    TAknFepInputStateEditinigMiniQwertyPinyinPhrase(
-            MAknFepUIManagerStateInterface* aOwner,
-            MAknFepUICtrlContainerChinese* aUIContainer );
-    /**
-     * From TAknFepInputStateEditinigMiniQwertyPinyinPhrase
-     * Handle system key press
-     * @since S60 v3.2
-     * @param aKey System key event
-     * @param aLength Key press length
-     * @return ETrue if handle, otherwise this class do not handle this key
-     */
-    TBool HandleKeyL( TInt aKey ,TKeyPressLength alength );
-    /**
-     * Handling Command events.
-     * This Method is called by CAknFepUIManagerJapanese.
-     *
-     * @param aCommandId Command ID value
-     */
-    void HandleCommandL( TInt aCommandId );
-    };
-
-#endif __AKN_FEP_UI_INPUT_STATE_ENTRY_MINIQWERTY_PINYINPHRASE_H__
\ No newline at end of file
--- a/fep/aknfep/inc/AknFepUIInputStateEntryThaiMultitap.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the TAknFepInputStateInitialThaiMultitap definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_INIT_THAI_MULTITAP_H__
-#define __AKN_FEP_UI_INPUT_STATE_INIT_THAI_MULTITAP_H__
-
-#include "AknFepUIInputStateInitialMultitapBase.h"
-
-class TAknFepInputStateInitialThaiMultitap : public TAknFepInputStateInitialMultitapBase
-    {
-public:
-    TAknFepInputStateInitialThaiMultitap(MAknFepUIManagerStateInterface* aOwner); 
-
-    TBool TAknFepInputStateInitialThaiMultitap::HandleKeyL(TInt aKey, TKeyPressLength aLength);
-
-    };
-
-
-#endif //__AKN_FEP_UI_INPUT_STATE_INIT_THAI_MULTITAP_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUIInputStateInitialIndicMultitap.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:            Provides the TAknFepInputStateInitialIndicMultitap definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_INIT_INDIC_MULTITAP_H__
-#define __AKN_FEP_UI_INPUT_STATE_INIT_INDIC_MULTITAP_H__
-
-#include "AknFepUiInputStateInitialMultitapBase.h"
-#include "AknFepUiIndicEnums.h"
-/**
-*  This class  handles the multitap input for Indic languages.
-*  @lib avkonfep.dll
-*  @since Series 60 3.1
-*/
-class TAknFepInputStateInitialIndicMultitap : public TAknFepInputStateInitialMultitapBase
-    {
-public:
-    /**
-    * 
-    * Constructor for TAknFepInputStateInitialIndicMultitap.	
-    * @since 3.1M
-    * @return 
-    */
-    TAknFepInputStateInitialIndicMultitap(MAknFepUIManagerStateInterface* aOwner, 
-                                          TLanguage aLanguage); 
-public: //from TAknFepInputStateBase    
-    /**
-    * 
-    * Returns the virama character depending on the input language.	
-    * @since 3.1M
-    * @return Etrue if the Key is handled. 
-    */
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    
-public: //from MptiObserver
-    /**
-    * 
-    * Gets called when PTI Engine's timer expires.	
-    * @since 3.1M
-    * @return 
-    */
-
-	void KeyTimerExpired();
-
-    /**
-	 * This function handles Indic key response codes
-	 *
-	 * @since 3.2
-	 * @param TInt The key code.
-	 * @param TIndicInputResponse the key response.
-	 * @param TPtrC Text obtained from PtiEngine
-	 * @return TBool
-	 */
-    TBool HandleIndicKeyResponseL( TInt aKey, TIndicInputResponse aKeyResponse, TPtrC aPtiText );
-
-    /**
-	 * This function checks if space is left in a limited space editor.
-	 *
-	 * @since 3.2
-     * @param TIndicInputResponse the key response.
-	 * @return TBool
-	 */
-    TBool IsFreeSpaceAvailable( TIndicInputResponse aKeyResponse );
-
-#ifdef RD_MARATHI
-    /**
-	 * This function handles Marathi specific code.
-	 *
-	 * @since 5.0
-	 * @return void
-	 */
-    void HandleKeyMarathiL();
-#endif // RD_MARATHI	
-	};
-
-
-#endif //__AKN_FEP_UI_INPUT_STATE_INIT_INDIC_MULTITAP_H__
-
-// End of File
--- a/fep/aknfep/inc/AknFepUIInputStateInitialThaiMultitap.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the TAknFepInputStateInitialThaiMultitap definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_INIT_THAI_MULTITAP_H__
-#define __AKN_FEP_UI_INPUT_STATE_INIT_THAI_MULTITAP_H__
-
-#include "AknFepUiInputStateInitialMultitapBase.h"
-
-class TAknFepInputStateInitialThaiMultitap : public TAknFepInputStateInitialMultitapBase
-    {
-public:
-    TAknFepInputStateInitialThaiMultitap(MAknFepUIManagerStateInterface* aOwner); 
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    
-    void HandleCommandL(TInt aCommandId);
-
-    };
-
-
-#endif //__AKN_FEP_UI_INPUT_STATE_INIT_THAI_MULTITAP_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUIInputStateInitialVietnameseMultitap.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStateInitialVietnameseMultitap definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_INIT_VIETNAMESE_MULTITAP_H__
-#define __AKN_FEP_UI_INPUT_STATE_INIT_VIETNAMESE_MULTITAP_H__
-
-#include "AknFepUiInputStateInitialMultitapBase.h"
-
-class TAknFepInputStateInitialVietnameseMultitap : public TAknFepInputStateInitialMultitapBase
-    {
-public:
-    TAknFepInputStateInitialVietnameseMultitap(MAknFepUIManagerStateInterface* aOwner); 
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    static TBool NeedsVietnameseBkDelSupport(TText aGlyphToDelete, TDes& aNewText);
-    
-    // Inherited from Base
-    void KeyTimerExpired();
-    };
-
-
-#endif //__AKN_FEP_UI_INPUT_STATE_INIT_VIETNAMESE_MULTITAP_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUIManagerJapanese.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,239 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the CAknFepManagerJapanese definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_MANAGER_JAPANESE_H__
-#define __AKN_FEP_UI_MANAGER_JAPANESE_H__
-
-// INCLUDES
-#include <bldvariant.hrh>
-#include <AknUtils.h>
-#include <uikon.hrh>                        //TAknEditorNumericKeymap
-
-#include "AknFepManagerInterface.h"
-#include "AknFepUIManagerStateInterface.h"
-#include "AknFepUiManagerBase.h"
-#include "AknFepUiInputStateJapaneseBase.h"
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-class MAknFepManagerUIInterface;
-class MAknFepUIManagerStateInterface;
-class CAknFepCaseManager;
-class CPtiEngine;
-class MAknFepUICtrlContainerJapanese;
-
-/**
- * CAknFepUIManagerJapanese class.
- * This class is mounted based on CAknFepUiManager.
- *
- *  @lib AknFep.lib
- *  @since 2.6
- */
-class CAknFepUIManagerJapanese : public CAknFepUIManagerBase
-{
-private:
-    /**
-     * private constants
-     */
-    enum
-        {
-        EBaseLanguageNumericKeymapIndex = 0x00FF,
-        EMaskShiftOffset                = 8
-        };
-
-public: // Constructors and destructor
-    /**
-     *
-     *
-     * @since 2.6
-     */
-    static CAknFepUIManagerJapanese* NewL(MAknFepManagerUIInterface* aFepMan, CAknFepCaseManager* aCaseMan, TLanguage aLanguage);
-
-    /**
-     *
-     *
-     * @since 2.6
-     */
-    virtual ~CAknFepUIManagerJapanese();
-
-public: // Functions from base classes
-    /**
-     * From CAknFepUIManagerBase
-     *
-     * @since 2.6
-     */
-    void SetCase(TCase aCase);
-
-    /**
-     * From CAknFepUIManagerBase
-     *
-     * @since 2.6
-     */
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength, TEventCode aEventCode = EEventKey);
-
-    /**
-     * From CAknFepUIManagerBase
-     *
-     * @since 2.6
-     */
-    void CloseUI();
-
-    /**
-     * From CAknFepUIManagerBase
-     *
-     * @since 2.6
-     */
-    void GetFormatOfFepInlineText(TCharFormat& aFormat, TInt& aNumberOfCharactersWithSameFormat, TInt aPositionOfCharacter) const;
-
-    /**
-     * From CAknFepUIManagerBase
-     *
-     * @since 2.6
-     */
-    TBool IsValidShiftKeyPress() const;
-
-    /**
-     * From CAknFepUIManagerBase
-     *
-     * @since 2.6
-     */
-    TUIState ChangeState(TUIState aState);
-
-    /**
-     * From CAknFepUIManagerBase
-     *
-     * @since 2.6
-     */
-    CDesCArrayFlat* CandidateArray();
-
-    /**
-     * From CAknFepUIManagerBase
-     *
-     * @since 2.6
-     */
-    TBool IsPredictive() const;
-
-    /**
-     * From CAknFepUIManagerBase
-     *
-     * @since 2.6
-     */
-    void SetInlineEditUnderlineVisibility(TBool aFlag);
-
-    /**
-     * From MAknFepManagerInterface
-     *
-     * @since 2.8
-     */
-#ifdef __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-#ifdef RD_INTELLIGENT_TEXT_INPUT 
-    void SetMode(TInt aMode, TBool aPredictive, TBool aQwertyInputMode, TInt aKeyboardType);
-#else
-		void SetMode(TInt aMode, TBool aPredictive, TBool aQwertyInputMode);
-#endif 
-#else    
-    void SetMode(TInt aMode, TBool aPredictive, TBool aQwertyInputMode);
-#endif // __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__	
-    /**
-     * From MAknFepUIManagerStateInterface
-     *
-     * @since 3.0
-     */
-    TBool IsQwerty() const;
-
-    /**
-     * From MAknFepManagerInterface
-     * this is in base class only
-     * @since 3.2
-     */
-    void HandleCommandL(TInt aCommandId);
-
-    /**
-     * From MAknFepUIManagerStateInterface
-     *
-     * @since 3.2
-     */
-    void ResourceChanged(TInt aType);
-
-private: // Functions from base classes
-    /**
-     * From CAknFepUIManagerBase
-     *
-     * @since 2.6
-     */
-    TAknFepInputStateBase* FepUIState();
-
-public: // New Functions
-    /**
-     *
-     *
-     * @since 2.6
-     */
-    MAknFepUICtrlContainerJapanese* UIContainer() const;
-
-private: // New Functions
-    /**
-     *
-     *
-     * @since 2.6
-     */
-    CAknFepUIManagerJapanese(MAknFepManagerUIInterface* aFepMan, CAknFepCaseManager* aCaseMan);
-
-    /**
-     *
-     *
-     * @since 2.6
-     */
-    void ConstructL(TLanguage aLanguage);
-
-private: // Data
-
-    TAknFepUiInputStateJapaneseBase iFepUiState;
-
-    MAknFepUICtrlContainerJapanese* iContainerPane;
-
-    CDesCArrayFlat* iCandidateArray; //owned
-
-    TBool iFlagInlineEditUnderline; // underline flag in Inline edit
-
-    TBool iQwerty;
-    };
-
-#endif //__AKN_FEP_UI_MANAGER_JAPANESE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUIManagerStateInterface.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,204 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the MAknFepUIManagerStateInterface definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_MAN_STATE_INTERFACE_H__
-#define __AKN_FEP_UI_MAN_STATE_INTERFACE_H__
-
-// INCLUDES
-#include <e32std.h>
-#include <badesca.h> //CDesCArrayFlat
-
-#include "AknFepGlobalEnums.h"
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-class MAknFepManagerUIInterface;
-class CPtiEngine;
-class CAknFepCaseManager;
-
-//the follow class for phrase creation
-class MZhuyinKeyHandler;
-class CAknFepZhuyinAnalyser;
-
-/**
- *  CAknFepUIManagerBase class.
- *
- *  @lib AknFep.lib
- *  @since 2.6
- *
- */
-class MAknFepUIManagerStateInterface
-    {
-public: // New Functions
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    virtual TUIState State() const = 0;
-
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    virtual TUIState ChangeState(TUIState) = 0;
-
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    virtual MAknFepManagerUIInterface* FepMan() const = 0;
-
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    virtual CPtiEngine* PtiEngine() const = 0;
-
-    /**
-     * zhuyin phrase creation
-     * 
-     * @since 5.0
-     */
-    virtual MZhuyinKeyHandler* ZhuyinKeyHandler() = 0;
-
-    /**
-     * zhuyin phrase creation
-     * 
-     * @since 5.0
-     */
-    virtual CAknFepZhuyinAnalyser* ZhuyinAnalyser() = 0;
-
-    
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    virtual TBool IsValidChineseInputKey(TInt aKey) const = 0;
-
-    /**
-     * 
-     * 
-     * @since 3.0
-     */
-    virtual TBool IsValidChineseInputKeyQwerty(TInt aKey) const = 0;
-
-    /**
-     * 
-     * 
-     * @since 3.0
-     */
-    virtual TBool IsQwertyZhuyinToneMarkKey(TInt aKey) const = 0;
-    
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    virtual TLanguage GetLanguage() const = 0;
-
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    virtual TPtr GetLatestDeliberateSelection() const = 0;
-
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    virtual CAknFepCaseManager* CaseMan() const = 0;
-
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    virtual TInt ThaiSCTResourceId(TUint aPrewChar, TInt aKey) = 0;
-
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    virtual CDesCArrayFlat* CandidateArray() = 0;
-
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    virtual TBool IsPredictive() const = 0;
-
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    virtual void SetInlineEditUnderlineVisibility(TBool aFlag) = 0;
-
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    virtual const TDesC& NumberModeKeyMapping() const = 0;
-
-    /**
-     * Check Qwerty keypad
-     * 
-     * @since 3.0
-     */
-    virtual TBool IsQwerty() const = 0;
-    
-    /**
-     * Check chinese symbol
-     */
-    virtual TBool IsValidChineseSymbol(TInt aKey) const =0;
-
-    };
-
-#endif
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiIndicEnums.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides global enumerations.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INDIC_ENUMS_H__
-#define __AKN_FEP_UI_INDIC_ENUMS_H__
-
-enum TIndicInputResponse
-	{
-	/*causes the default input.  New Case will rather be applied*/
-	EIndicInputResponseNone, 
-	/*forces the input to the number.  This will happen in case we 
-	try to add modifier without the preceeding consonant being a vowel, 
-	consonant or a modified consonant*/
-	EIndicInputResponseNumber,
-	/*When VIRAMA is inserted in the already entered text between two consonants, 
-	then to we need to insert ZWS (Zero Width Space U+200B) so as to prevent 
-	the incorrect joining*/ 
-	EIndicInputResponseInsertZWS,
-	/*When ligature is formed while editing in middle of the word with the help of "*" key 
-	we need to handle it so that it should not form a ligature and a explicit halant 
-	is  entered in the text*/
-	EIndicInputResponseInsertZWSandLigature,
-	/*causes the user to input ligature by explicitly appending VIRAMA*/
-	EIndicInputResponseZWSandCharacter,
-	/*an error input.  not currently used but can be used later*/
-	EIndicInputResponseIgnore,	
-	/*Response for Repha insertion*/
-	EIndicInputResponseInsertRepha,	
-	/*Response for Rakar insertion*/
-	EIndicInputResponseInsertRakar,	
-	/*Response for ligature insertion*/
-	EIndicInputResponseInsertDirectLigature,
-	/*Response for Virama, ZWS and ligature insertion*/
-	EIndicInputResponseInsertViramaZWSandDirectLigature,
-	/*Response for ZWS and ligature insertion*/
-	EIndicInputResponseZWSandDirectLigature,
-	/*Response for invalid input*/
-	EIndicInputResponseInvalid,
-#ifdef RD_HINDI_PHONETIC_INPUT	
-	/*causes the inputting of transliterated text returned by PtiEngine in Multitap mode*/
-	EIndicInputResponsePhoneticMultitapText,
-	/*causes the inputting of transliterated text returned by PtiEngine in Qwerty mode*/
-	EIndicInputResponsePhoneticQwertyText,
-#endif
-
-#ifdef RD_MARATHI
-	/*Response for Eye Lash Ra insertion*/
-	EIndicInputResponseInsertEyeLashRa,	
-	/*Response for Chandra A insertion*/
-	EIndicInputResponseInsertChandraA, 
-#endif // RD_MARATHI
-
-	/* not used*/
-	EindicInputResponseLast
-	};
-	
-enum TIndicBaseCharacter
-	{
-	EIndicBaseVowel,
-	EIndicBaseConsonant	
-	};
-//Changing ZWS to ZWNJ for time being, Latter the variable names need to be changed.		
-#define ZERO_WIDTH_SPACE 0x200C	
-#define MAX_SYLABLE_BOUNDRY 12
-#define ZERO_WIDTH_JOINER 0x200D
-#endif //__AKN_FEP_UI_INDIC_ENUMS_H__
-// End of file
--- a/fep/aknfep/inc/AknFepUiIndicInputManager.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,389 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:            Provides the TAknFepUiIndicInputManager definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INDIC_INPUT_MANAGER_H__
-#define __AKN_FEP_UI_INDIC_INPUT_MANAGER_H__
-
-#include "AknFepGlobalEnums.h"
-#include "AknFepUiIndicEnums.h"
-
-#include <e32const.h>
-#include <PtiEngine.h>
-#ifdef RD_HINDI_PHONETIC_INPUT	
-#include <PtiIndicDefs.h>
-#endif
-/**
-*  This class provides Helper methods for Indic Multitap class.
-*  @lib avkonfep.dll
-*  @since Series 60 3.1
-*/
-
-class TAknFepUiIndicInputManager 
-	{
-	public:
-		
-		/**
-	    * This method validates the input key and returns a correct response code.
-	    * Depending on the code, the character is added. This method applies the rules of 
-	    * Language to the user Input. 
-	    *
-	    * @since 3.1M
-	    * @return TIndicInputResponse
-	    */
-		static	TIndicInputResponse ValidateInput(TInt  aKey, 
-												  TUint aPrevChar,
-												  TUint aCurrChar,
-												  TUint aNextChar, 
-												  TBool& aIsHalantAllowed,	
-												  TBool aIsStarKeyPressed, 
-												  TBool aIsKeyTimerExpired, 
-												  TPtiTextCase& aNewCase, 
-												  TKeyPressLength aLength,
-												  TLanguage aLanguage,
-												  TBool aIsRakarPresent = EFalse,
-												  TBool aIsZWSPresent = EFalse
-#ifdef RD_MARATHI
-												  , TBool aIsChandraAPresent = EFalse
-#endif // RD_MARATHI
-												  );
-		/**
-	    * Checks wheather Character is Empty. 
-	    * @since 3.1M
-	    * @return ETrue if the  character is not present else EFalse
-	    */										  
-		static TBool IsCharEmpty(TUint aChar, TLanguage aLanguage);	
-		/**
-	    * Checks wheather Character is Other. Space is not supposed to be Other character.
-	    * @since 3.1M
-	    * @return ETrue if the  character is any other character that doesn’t belong to Hindi (like digits) based on the given language else EFalse
-	    */
-		static TBool IsCharOther(TUint aChar, TLanguage aLanguage);
-		/**
-	    * Checks wheather Character is Base consonant.
-	    * @since 3.1M
-	    * @return ETrue if the  character is a base consonant based on 
-	    * the given language else Efalse
-	    */
-		static TBool IsCharBaseConsonant(TUint aChar, TLanguage aLanguage);
-		/**
-	    * 
-	    * Checks wheather Character is Nukta.
-	    * @since 3.1M
-	    * @return ETrue if the  character is a Nukta based on the 
-	    * given language else Efalse
-	    */
-		static TBool IsCharNukta(TUint aChar, TLanguage aLanguage);
-		/**
-	    * 
-	    * Checks wheather Character is Matra.
-	    * @since 3.1M
-	    * @return ETrue if the  character is a matra based on the 
-	    * given language else EFalse
-	    */
-		static TBool IsCharMatra(TUint aChar,  TLanguage aLanguage);
-		/**
-	    * 
-	    * Checks wheather Character is Vowel.
-	    * @since 3.1M
-	    * @return ETrue if the  character is an vowel based on the 
-	    * given language else EFalse
-	    */
-		static TBool IsCharAnVowel(TUint aChar, TLanguage aLanguage);
-		/**
-	    * 
-	    * Checks wheather Character is Modifier.
-	    * @since 3.1M
-	    * @return ETrue if the  character is an modifier based on the 
-	    * given language else EFalse
-	    */
-		static TBool IsCharModifier(TUint aChar, TLanguage aLanguage);
-		/**
-	    * 
-	    * Checks wheather Character is Virama.
-	    * @since 3.1M
-	    * @return ETrue if Character is virama.
-	    */
-		static TBool IsCharVirama(TUint aChar, TLanguage aLanguage);
-		/**
-	    * 
-	    * Checks wheather Character is Space.
-	    * @since 3.1M
-	    * @return ETrue if Character is Space.
-	    */
-		static TBool IsCharSpace(TUint aChar);
-		/**
-	    * 
-	    * Checks wheather it is possilble to enter Virama (Halant) as per the language rule.
-	    * @since 3.1M
-	    * @return
-	    */
-		static void SetHalantOrMatraAllowed(TUint aPrevChar,TBool& aViramaAllowed,
-                                        TBool aIsKeyTimerExpired,TLanguage aLanguage);
-		/**
-	    * 
-	    * Returns the virama character depending on the input language.	
-	    * @since 3.1M
-	    * @return Virama character for the langiage aLanguage
-	    */
-		static TUint Virama(TLanguage aLanguage);
-		/**
-	    * 
-	    * Returns the True if the language is an Indic Language.	
-	    * @since 3.1M
-	    * @param aInputLanguage current input language
-	    *  param aUiLanguage current UI language
-	    * @return True for Indic language.
-	    */
-		static TBool IsIndicLangauge(TLanguage aInputLanguage);
-		/**
-	    * 
-	    * Returns the True if the language supports Indic Digits.	
-	    * @since 3.1M
-	    * @param aInputLanguage current input language
-	    *  param aUiLanguage current UI language
-	    *
-	    * @return True for digit support.
-	    */
-		static TBool IsIndicDigitsSupported(TLanguage aInputLanguage);
-
-	    /**
-		 * Handles the logic of Indic Repha input. This function first checks
-		 * the validity of the inputted Repha and then allows it to be entered
-		 *
-		 * @since 3.2
-		 * @param aChar The characer to be checked.
-		 * @param aLanguage The input language
-		 * @return ETrue if the character is allowed as governed by the rules 
-		 * of the language else EFalse.
-		 */
-		static TBool IsRephaAllowed( TUint aChar, TLanguage aLanguage );
-		
-		/**
-		 * This function checks whether the character is Repha (U0971).
-		 *
-		 * @since 3.2
-		 * @param aChar The character to be checked.
-		 * @param aLanguage The input language
-		 * @return ETrue if the  character is repha else returns EFalse
-		 */			
-		static TBool IsCharRepha( TUint aChar, TLanguage aLanguage );		
-		
-		/**
-		 * This function returns the Ra character for the language specified.
-		 *
-		 * @since 3.2
-		 * @param aLanguage The input language
-		 * @return TUint The ra character.
-		 */
-		static TUint RaCharacter( TLanguage aLanguage );
-		
-		/**
-		 * This function populates the Repha character into aRepha parameter.
-		 *
-		 * @since 3.2
-		 * @param aRepha A descriptor in which Repha is stored.
-		 * @param aLanguage The input language
-		 * @return void
-		 */		
-		static void GetRepha( TDes& aRepha, TLanguage aLanguage );
-		
-		/**
-		 * This function checks whether the character is Rakar (U0972).
-		 *
-		 * @since 3.2
-		 * @param aChar The character to be checked.
-		 * @param aLanguage The input language
-		 * @return ETrue if the  character is Rakar else returns EFalse
-		 */			
-		static TBool IsCharRakar( TUint aChar, TLanguage aLanguage );
-		
-		/**
-		 * This function populates the Rakar character into aRakar parameter.
-		 *
-		 * @since 3.2
-		 * @param aRakar A descriptor in which Rakar is stored.
-		 * @param aLanguage The input language
-		 * @return void
-		 */
-		static void GetRakar( TDes& aRakar, TLanguage aLanguage );
-
-		/**
-		 * This function populates the ligature into the buffer 
-		 * depending on the current input character.
-		 *
-		 * @since 3.2
-		 * @param aLigature A descriptor in which the ligature is stored.
-		 * @param aCurrChar The current character from the key map.
-		 * @param aLanguage The input language
-		 * @return void
-		 */
-		static void GetLigature( TDes& aLigature, 
-								TUint aCurrChar, 
-								TLanguage aLanguage );
-
-		/**
-		 * This function checks whether the character is a special ligature.
-		 *
-		 * @since 3.2
-		 * @param aChar The character to be checked.
-		 * @param aLanguage The input language
-		 * @return ETrue if the  character is a special ligature else EFalse.
-		 */
-		static TBool IsCharLigature( TUint aChar, TLanguage aLanguage );
-
-		/**
-		 * This function checks if entry of modifier is allowed.
-		 *
-		 * @since 3.2
-		 * @param aPrevChar The previous character.
-		 * @param aIsKeyTimerExpired. Indicates if the multitap timer is alive
-		 * @param aLanguage. The input language.
-		 * @return void
-		 */
-		 static TBool IsModifierAllowed( TUint aPrevChar, 
-		 								TLanguage aLanguage );
-
-	   /**
-	    * 
-	    * Checks if the character is the first ligature.
-	    * @since 3.2M
-	    * @return ETrue if Character is the first ligature.
-	    */
-		static TBool IsCharAtStartOfLigature(TUint aChar, 
-											TLanguage aLanguage);
-#ifdef RD_HINDI_PHONETIC_INPUT	
-		/**
-	    * 
-	    * Returns the True if the language is Phonetic Language.	
-	    * @since 3.1M
-	    * @param aInputLanguage current input language
-	    *  param aUiLanguage current UI language
-	    *
-	    * @return True if language is Phonetic.
-	    */
-		static TBool IsIndicPhoneticLanguage(TLanguage aInputLanguage);
-	    /** @since 3.1M
-	    * @param aInputLanguage current input language
-	    *  param aChar Indic Character
-	    *
-	    * @returns Key associated with char.
-	    */
-		static TInt MapCharacterToKeys(TUint aChar, TLanguage aLanguage);
-#endif
-
-		/**
-		 * This function checks whether the script is Devanagari
-		 *
-		 * @since 5.0
-		 * @param aLanguage The input language
-		 * @return ETrue if the  script is Devanagari,
-		 * 		   else returns EFalse
-		 */
-		static TBool IsScriptDevanagari( TLanguage aInputLanguage );
-
-        /**
-		 * This function checks the response code. AknFepManager calls
-		 * this method with the response code to know if the CommitInlineEditL
-		 * needs to be invoked.
-		 *
-		 * @since 5.0
-		 * @param aResponse The Current response code.
-		 * @return ETrue if the inline text is to be committed
-		 * 		   else returns EFalse
-		 */
-		static TBool IsToCommitCharSeq( TIndicInputResponse aResponse );
-
-		/**
-		 * This function checks whether the character is a Nukta Consonant.
-		 *
-		 * @since 5.0
-		 * @param aChar The character to be checked.
-		 * @param aLanguage The input language
-		 * @return ETrue if the  character is a Nukta Consonant,
-		 * 		   else returns EFalse
-		 */
-		static TBool IsCharNuktaConsonant( TUint aChar, TLanguage aLanguage );
-    
-#ifdef RD_MARATHI
-		/**
-		 * This function checks whether the character is Eye Lash Ra (U0977).
-		 *
-		 * @since 5.0
-		 * @param aChar The character to be checked.
-		 * @param aLanguage The input language
-		 * @return ETrue if the  character is Eye Lash Ra, else returns EFalse
-		 */
-		static TBool IsCharEyeLashRa( TUint aChar, TLanguage aLanguage );
-
-		/**
-		 * This function populates the Eye Lash Ra character into 
-		 * aEyeLashRa parameter. (0x0931+0x094D+0x200D)
-		 *
-		 * @since 5.0
-		 * @param aEyeLashRa A descriptor in which Eye Lash Ra is stored.
-		 * @param aLanguage The input language
-		 * @return void
-		 */
-		static void GetEyeLashRa( TDes& aEyeLashRa, 
-									TLanguage aLanguage );
-
-		/**
-		 * This function checks whether the character is a Chandra A (0x0978).
-		 *
-		 * @since 5.0
-		 * @param aChar The character to be checked.
-		 * @return ETrue if the  character is a Chandra A,
-		 * 		   else returns EFalse
-		 */
-		static TBool IsCharChandraA( TUint aChar );
-
-		/**
-		 * This function populates the Chandra A character into 
-		 * aChandraA parameter. (0x0905+0x0945)
-		 *
-		 * @since 5.0
-		 * @param aChandraA A descriptor in which Chandra A is stored.
-		 * @param aIsToGetSingleUnicodeValue. If ETrue, return 0x0978
-		 * @return void
-		 */
-		static void GetChandraA( TDes& aChandraA, 
-								TBool aIsToGetSingleUnicodeValue = EFalse );
-#endif // RD_MARATHI
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-		/**
-	    * 
-	    * Returns True if aChar is a mathra( Dependant vowel), Modifier or Virama.
-	    * @since 5.0
-	    */		
-		static TBool IsIndicDependantCharacter(TUint aChar, TLanguage aLanguage);
-#endif	// RD_INTELLIGENT_TEXT_INPUT
-
-	}; //__AKN_FEP_UI_INDIC_INPUT_MANAGER_H__
-	
-#endif	
-
-//End of File
--- a/fep/aknfep/inc/AknFepUiInputStateBase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,219 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the TAknFepInputStateBase definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUTSTATE_BASE_H__
-#define __AKN_FEP_UI_INPUTSTATE_BASE_H__
-
-// INCLUDES
-#include <e32std.h>
-#include <uikon.hrh>
-
-#include "AknFepGlobalEnums.h"
-#include "AknFepManager.h"
-
-#include <PtiObserver.h> // MPtiObserver
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATION
-
-// CLASS DECLARATION
-class MAknFepUIManagerStateInterface;
-
-/**
- *  TAknFepInputStateBase class.
- *
- *  @lib AknFep.lib
- *  @since 2.6
- */
-class TAknFepInputStateBase : public MPtiObserver
-    {
-public: // Constructors and destructor
-    /**
-     * C++ default constructor
-     *
-     * @since 2.6
-     * @param aOwner Object derived MAknFepUIManagerStateInterfa
-     */
-    TAknFepInputStateBase(MAknFepUIManagerStateInterface* aOwner);
-
-public: // Functions from base classes
-    /**
-     * From MPtiObserver interface
-     * Call this function when Multitap timer of PtiEngine was time-out
-     *
-     * @since 2.6
-     */
-    virtual void KeyTimerExpired();
-
-    /**
-     * From MPtiObserver interface
-     * Call this function when getting last word in selection list
-     *
-     * @since 2.6
-     */
-    virtual void LastWordInSelectionList();
-
-    /**
-     * From MPtiObserver interface
-     * Call this function when getting first word in selection list
-     *
-     * @since 2.6
-     */
-    virtual void FirstWordInSelectionList();
-
-public: // New functions
-    /**
-     * Hnadling Keypress events.
-     * This Method is called by CAknFepUIManagerJapanese.
-     *
-     * @since 2.6
-     * @param aKey The event key code
-     * @param aLength The Length of keypress
-     * @return ETrue If aKey was handled
-     */
-    virtual TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-
-    /**
-     * Handling Command events.
-     * This Method is called by CAknFepUIManagerJapanese.
-     *
-     * @since 2.6
-     * @param aCommandId Command ID value
-     */
-    virtual void HandleCommandL(TInt aCommandId);
-    virtual void HandleCommandL(TInt aCommandId, TInt aParam);
-    /**
-     * return own input state.
-     *
-     * @since 2.6
-     * @return own input sate
-     */
-    virtual TUIState State() const;
-
-    /**
-     * Processing of Closeing UI
-     * @since 2.6
-     */
-    virtual void CloseUI();
-
-    /**
-     * Initialize state
-     * @since 2.6
-     */
-    virtual void InitializeStateL();
-
-    /**
-     * A patch to force the vtable to be copied during an assignment.
-     * @since 2.6
-     * @param aState TAknFepInputStateBase object
-     */
-    virtual void operator=(const TAknFepInputStateBase& aState);
-
-	/**
-	 * Set the Star key flag
-	 *
-     * @param aSet TBool.
-     * @return None
-	 */
-	virtual void SetStarKeyFlag( TBool aSet );
-#ifdef RD_HINDI_PHONETIC_INPUT 
-	/**
-	 * Gives the iPhoneticLatinChar
-	 *
-     * @param aChar TChar iPhoneticLatinChar value.
-     * @since 5.0
-     * @return None
-	 */
-	virtual void GetPhoneticLatinChar(TChar& aChar)const;
-#endif
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-	/**
-	 * Gets the length of the character of the short key press
-     * @return Lenght of the character
-	 */
-	virtual TInt GetShortKeyPressTxtLength();
-	/**
-	 * Set the text for short key press
-	 *
-     * @param aText Teh text entered for short key press.
-     * @return None
-	 */
-	virtual void SetShortKeyPressText(const TDesC& aText);
-#endif // RD_INTELLIGENT_TEXT_INPUT	
-
-protected: // Data
-		TBool iFakeDelete;  	                                        
-		TBool iCharKeyException;	                                    
-protected: // Data
-    MAknFepUIManagerStateInterface* iOwner;
-    TUIState iState;
-    TWordMatchState iMatchState; 
-    TInt iData; // data store for sub-classes...
-    TInt iCbaResourceID;
-protected:
-#ifdef RD_HINDI_PHONETIC_INPUT        
-	TChar iPhoneticLatinChar; // Used for current Latin character to be transliterated on key timer expiry or on other key press 
-    TBuf<CAknFepManager::EMaximumFepWordLength > iIndicPhoneticBuffer; // Used to hold the uncommited word to append with latin character    
-#endif
-	//Used for Hindi
-    TBool iIsStarKeyPressed;
-	TBool iIsKeyTimerExpired;
-	TLanguage iIndicLanguage;
-	TBool iIsHalantAllowed;  
-	TBool iZWSPresent;
-	TBool iKey1Pressed;
-	TBool iRephaPresent;
-	TBool iRakarPresent;
-	TBool iResponseInsertZWS;
-	TBool iLigaturePresent;
-        TBool iIsLastWord;
-	/** Stores the character which was present in the editor before
-	  * multitapping started. Used for validation of current character.
-	  */
-	TUint iPreviousCommittedChar;
-
-#ifdef RD_MARATHI
-	TBool iEyeLashRaPresent;
-	TBool iChandraAPresent;
-#endif // RD_MARATHI
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    TBuf<CAknFepManager::EMaximumFepWordLength > iShortKeyPressText;
-#endif
-    };
-
-#endif
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateCandidate.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the TAknFepInputStateCandidate definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_CANDIDATE_H__
-#define __AKN_FEP_UI_INPUT_STATE_CANDIDATE_H__
-
-#include "AknFepUiInputStateCandidateBase.h"
-
-class TAknFepInputStateCandidate : public TAknFepInputStateCandidateBase 
-    {
-public:
-    TAknFepInputStateCandidate(MAknFepUIManagerStateInterface* aOwner,
-                               MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_CANDIDATE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateCandidateBase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the TAknFepInputStateCandidateBase definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_CANDIDATE_BASE_H__
-#define __AKN_FEP_UI_INPUT_STATE_CANDIDATE_BASE_H__
-
-#include "AknFepUiInputStateChineseBase.h"
-#include <PtiDefs.h>
-
-class TAknFepInputStateCandidateBase : public TAknFepInputStateChineseBase
-    {
-public:
-    void HandleCommandL(TInt aCommandId);    
-    
-protected:
-    TAknFepInputStateCandidateBase(MAknFepUIManagerStateInterface* aOwner,
-                                    MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-
-    TBool HandleHorizontalNavigation(TInt aKey);
-    TBool HandleVerticalNavigation(TInt aKey);
-    inline TInt MapKeyToIndex(TInt aKey);
-    };
-
-inline TInt TAknFepInputStateCandidateBase::MapKeyToIndex(TInt aKey)
-    {
-    TInt index = aKey - EPtiKey0; // get zero-based value first
-    return !index ? 9 : --index; // map it for one-based keys...
-    }
-
-#endif //__AKN_FEP_UI_INPUT_STATE_CANDIDATE_BASE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateCandidateBaseChinesePhrase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-/*
-* Copyright (c)  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:            ?Description
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef T_AKNFEPUIINPUTSTATECANDIDATEBASECHINESEPHRASE_H_
-#define T_AKNFEPUIINPUTSTATECANDIDATEBASECHINESEPHRASE_H_
-
-#include "AknFepUiInputStateCandidateBase.h"
-#include <PtiDefs.h>
-
-class TAknFepInputStateCandidateBaseChinesePhrase : public TAknFepInputStateCandidateBase
-    {
-protected:
-    TAknFepInputStateCandidateBaseChinesePhrase(
-        MAknFepUIManagerStateInterface* aOwner,
-        MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    
-    void HandleCommandL(TInt aCommandId);
-
-    /**
-     * Handle CBA1 or select event.
-     * 
-     * @since S60 v3.2.3
-     * @return None.
-     */
-    void HandleCommitL();
-    
-    TBool HandleHorizontalNavigation(TInt aKey);
-    TBool HandleVerticalNavigation(TInt aKey);
-    TBool HandleVerticalNavigation(TInt aKey, TKeyPressLength aLength);
-    void UpdateIndicator();
-    //the follow 6 functions for creation
-    void GetValidkeystrokeL();
-    TBool CheckSpellingOfPtiEngine();
-    void GetKeystrokeCode( TInt& aKey, const TDesC& aKeystroke );
-    void ClearPtiEngineKeystroke();
-    void DeleteTonMarkFromInEffectKeytrokeArray();
-    void CheckTonemarkL();
-    TBool IsValid(const TDesC& aDesC, TInt aCount);
-    void GetNewCandidatesL(const TDesC& aSource, RPointerArray<HBufC>& aList);
-    };
-
-#endif //T_AKNFEPUIINPUTSTATECANDIDATEBASECHINESEPHRASE_H_
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateCandidateBasePhrase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* Copyright (c) 2004 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:           
-*       Provides the TAknFepInputStateCandidateBasePhrase definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_CANDIDATE_BASE_PHRASE_H__
-#define __AKN_FEP_UI_INPUT_STATE_CANDIDATE_BASE_PHRASE_H__
-
-#include "AknFepUiInputStateCandidateBase.h"
-#include <PtiDefs.h>
-
-class TAknFepInputStateCandidateBasePhrase : public TAknFepInputStateCandidateBase
-    {
-protected:
-    TAknFepInputStateCandidateBasePhrase(MAknFepUIManagerStateInterface* aOwner,
-                                    MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-
-    TBool HandleHorizontalNavigation(TInt aKey);
-    TBool HandleVerticalNavigation(TInt aKey);
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_CANDIDATE_BASE_PHRASE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateCandidateChinese.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-/*
-* 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:            header file of Pinyin phrase predictive Qwerty state
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef T_AKNFEPUIINPUTSTATECANDIDATECHINESE_H
-#define T_AKNFEPUIINPUTSTATECANDIDATECHINESE_H
-
-// User includes 
-#include "AknFepUiInputStateCandidateBase.h"
-
-/**
- *  TAknFepInputStateCandidateChinese class.
- *
- *  Implementation of Chinese candidate state
- *
- *  @lib avkonfep.dll
- *  @since S60 v3.2
- */
-class TAknFepInputStateCandidateChinese : public TAknFepInputStateCandidateBase 
-    {
-public:
-
-    /**
-     * C++ default constructor
-     *
-     * @since S60 V3.2
-     * @param aOwner Pointer to UI manager state interface
-     * @param aUIContainer Pointer to Chinese UI container
-     */
-
-    TAknFepInputStateCandidateChinese(MAknFepUIManagerStateInterface* aOwner,
-                                      MAknFepUICtrlContainerChinese* aUIContainer);
-
-    /**
-     * From TAknFepInputStateCandidate
-     * Handle system key press event
-     *
-     * @since S60 v3.2
-     * @param aKey System key
-     * @param aLength Key press length
-     * @return ETrue if handle, otherwise this class do not handle this key
-     */
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    
-    /**
-     * From MPtiObserver interface
-     * Call this function when getting last word in selection list
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-     
-protected:
-    
-    /**
-     * Handle horizontal navigation Key
-     *
-     * @since S60 v3.2
-     * @param aKey System key
-     * @return ETrue if handle, otherwise this class do not handle this key
-     */
-    TBool HandleHorizontalNavigation(TInt aKey);
-
-    /**
-     * Handle vertical navigation Key
-     *
-     * @since S60 v3.2
-     * @param aKey System key
-     * @return ETrue if handle, otherwise this class do not handle this key
-     */
-    TBool HandleVerticalNavigation(TInt aKey);
-    
-    /**
-     * Update indicator 
-     *
-     * @since S60 v3.2
-     * @param aKey System key
-     * @return ETrue if handle, otherwise this class do not handle this key
-     */
-    void UpdateIndicator();
-    
-    };
-
-#endif //T_AKNFEPUIINPUTSTATECANDIDATECHINESE_H
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateCandidateChinesePhrase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* Copyright (c)  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:            ?Description
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef T_AKNFEPUIINPUTSTATECANDIDATECHINESEPHRASE_H_
-#define T_AKNFEPUIINPUTSTATECANDIDATECHINESEPHRASE_H_
-
-#include "AknFepUiInputStateCandidateBaseChinesePhrase.h"
-
-class TAknFepInputStateCandidateChinesePhrase : public TAknFepInputStateCandidateBaseChinesePhrase
-    {
-public:
-    TAknFepInputStateCandidateChinesePhrase(MAknFepUIManagerStateInterface* aOwner,
-                               MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-
-    //the follow 3 functions for phrase creation
-      TBool UpdateEEPContent();
-      
-      void AddPhraseToDB( TDes& aPhrase );
-    };
-
-#endif //T_AKNFEPUIINPUTSTATECANDIDATECHINESEPHRASE_H_
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateCandidateHalfQwertyChinesePhrase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-/*
-* Copyright (c)  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:            ?Description
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#ifndef AKNFEPUIINPUTSTATECANDIDATEHALFQWERTYCHINESEPHRASE_H_
-#define AKNFEPUIINPUTSTATECANDIDATEHALFQWERTYCHINESEPHRASE_H_
-
-// User includes 
-#include "AknFepUiInputStateCandidateQwertyBaseChinesePhrase.h"
-
-/**
- *  TAknFepUiInputStateCandidateMiniQwertyPinyinAndStrokePhrase class.
- *
- *  Implementation of Pinyin and Stroke phrase candidate state
- *
- *  @lib avkonfep.dll
- *  @since S60 v3.2
- */
-class TAknFepUiInputStateCandidateHalfQwertyChinesePhrase : 
-    public TAknFepInputStateCandidateQwertyBaseChinesePhrase
-    {
-public:
-
-    /**
-     * C++ default constructor
-     *
-     * @since S60 V3.2
-     * @param aOwner Pointer to UI manager state interface
-     * @param aUIContainer Pointer to Chinese UI container
-     */
-    TAknFepUiInputStateCandidateHalfQwertyChinesePhrase(
-        MAknFepUIManagerStateInterface* aOwner,
-        MAknFepUICtrlContainerChinese* aUIContainer);
-    
-protected:
-
-    /**
-     * From TAknFepInputStateCandidateBasePhrase
-     * Handle system key press
-     *
-     * @since S60 v3.2
-     * @param aKey System key event
-     * @param aLength Key press length
-     * @return ETrue if handle, otherwise this class do not handle this key
-     */
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-#endif /*AKNFEPUIINPUTSTATECANDIDATEHALFQWERTYCHINESEPHRASE_H_*/
--- a/fep/aknfep/inc/AknFepUiInputStateCandidateHiraganaKanji.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,138 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the TAknFepUiInputStateCandidateHiraganaKanji definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_CANDIDATE_HIRAGANA_KANJI_H__
-#define __AKN_FEP_UI_INPUT_STATE_CANDIDATE_HIRAGANA_KANJI_H__
-
-// INCLUDES
-#include <e32std.h>
-
-#include "AknFepUiInputStateEntryJapaneseMultitap.h"
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-class MAknFepUIManagerStateInterface;
-class CAknFepUICtrlJapaneseCandidatePane;
-enum TKeyPressLength;
-
-/**
- *  TAknFepUiInputStateCandidateHiraganaKanji class.
- *
- *  @lib AknFep.lib
- *  @since 2.6
- */
-class TAknFepUiInputStateCandidateHiraganaKanji
-    :public TAknFepUiInputStateEntryJapaneseMultitap
-    {
-public: //  Constructors and destructor
-    /**
-     * C++ default constructor
-     * 
-     * @since 2.6
-     * @param aOwner Object derived MAknFepUIManagerStateInterfa
-     * @param aUIContainer MAknFepUICtrlContainerJapanese object
-     */
-     TAknFepUiInputStateCandidateHiraganaKanji(
-                                    MAknFepUIManagerStateInterface* aOwner,
-                                    MAknFepUICtrlContainerJapanese* aUIContainer);
-
-public: // Functions from base classes
-    /**
-     * From TAknFepUiInputStateEntryJapaneseMultitap
-     * Initialize state
-     * 
-     * @since 2.6
-     */
-    virtual void InitializeStateL();
-
-    /**
-     * From TAknFepUiInputStateEntryJapaneseMultitap
-     * Processing of Closeing UI
-     *
-     * @since 2.6
-     */
-    virtual void CloseUI();
-
-protected:// Functions from base classes
-    /**
-     * From TAknFepUiInputStateEntryJapaneseMultitap
-     * Handling short keypress events of the numeric and the star.
-     *
-     * @since 2.6
-     * @param aKey The event key code
-     * @return ETrue
-     */
-    virtual TBool HandleNumericShortKeyL(TInt aKey);
-
-    /**
-     * From TAknFepUiInputStateEntryJapaneseMultitap
-     * Handling navigate keypress events.
-     *
-     * @since 2.6
-     * @param aKey The event key code
-     * @param aLength The Length of keypress
-     * @return ETure
-     */
-    virtual TBool HandleNaviKeyL(TInt aKey, TKeyPressLength aLength);
-
-    /**
-     * From TAknFepUiInputStateEntryJapaneseMultitap
-     * Handling auxiliary keypress events including OK and Backspace.
-     * 
-     * @since 2.6
-     * @param aKey The event key code
-     * @param aLength The Length of keypress
-     * @return ETure
-     */
-    virtual TBool HandleAuxKeyL(TInt aKey, TKeyPressLength aLength);
-
-    /**
-     * From TAknFepUiInputStateJapanesePredictiveBase
-     * Handling Command events. This Method is called by CAknFepUIManagerJapanese.
-     *
-     * @since 2.6
-     * @param aCommandId Command ID value
-     */
-     void HandleCommandL(TInt aCommandId);
-
-protected: // New Fanctions
-    virtual void UpdateCandidateListL(TInt aIndex = 0);
-
-    };
-#endif //__AKN_FEP_UI_INPUT_STATE_CANDIDATE_HIRAGANA_KANJI_H__
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateCandidateMiniQwertyPinyinAndStrokePhrase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-/*
-* 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:            header file of Pinyin and Stroke phrase candidate state
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef T_AKNFEPUIINPUTSTATECANDIDATEMINIQERTYPINYINANDSTROKE_PHRASE_H
-#define T_AKNFEPUIINPUTSTATECANDIDATEMINIQERTYPINYINANDSTROKE_PHRASE_H
-
-// User includes 
-#include "AknFepUiInputStateCandidateQwertyBaseChinesePhrase.h"
-#include "aknfepuiinputminiqwertypinyinphrasebase.h"
-
-/**
- *  TAknFepUiInputStateCandidateMiniQwertyPinyinAndStrokePhrase class.
- *
- *  Implementation of Pinyin and Stroke phrase candidate state
- *
- *  @lib avkonfep.dll
- *  @since S60 v3.2
- */
-class TAknFepUiInputStateCandidateMiniQwertyPinyinAndStrokePhrase : 
-    public TAknFepInputMiniQwertyPinyinPhraseBase
-    {
-public:
-
-    enum TAknFepStrokePhraseChange
-        {
-        EManualChangeState,
-        EAutoChangeStateFromInput,
-        EAutoChangeStateFromCandidate
-        };
-    
-    /**
-     * C++ default constructor
-     *
-     * @since S60 V3.2
-     * @param aOwner Pointer to UI manager state interface
-     * @param aUIContainer Pointer to Chinese UI container
-     */
-    TAknFepUiInputStateCandidateMiniQwertyPinyinAndStrokePhrase(
-        MAknFepUIManagerStateInterface* aOwner,
-        MAknFepUICtrlContainerChinese* aUIContainer);
-    /**
-     * Handling Command events.
-     * This Method is called by CAknFepUIManagerJapanese.
-     *
-     * @param aCommandId Command ID value
-     */
-    void HandleCommandL( TInt aCommandId );
-    
-protected:
-
-    /**
-     * From TAknFepInputStateCandidateBasePhrase
-     * Handle system key press
-     *
-     * @since S60 v3.2
-     * @param aKey System key event
-     * @param aLength Key press length
-     * @return ETrue if handle, otherwise this class do not handle this key
-     */
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-
-#endif //T_AKNFEPUIINPUTSTATECANDIDATEPINYINANDSTROKE_PHRASE_H
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateCandidateMiniQwertyZhuyinPhrase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,124 +0,0 @@
-/*
-* 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:            header file of zhuyin phrase candidate state
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_CANDIDATE_MINIQWERTY_ZHUYINPHRASE_H__
-#define __AKN_FEP_UI_INPUT_STATE_CANDIDATE_MINIQWERTY_ZHUYINPHRASE_H__
-
-// User includes 
-#include "AknFepUiInputStateCandidateQwertyBaseChinesePhrase.h"
-
-/**
- *  TAknFepUiInputStateCandidateMiniQwertyPinyinAndStrokePhrase class.
- *
- *  Implementation of Pinyin and Stroke phrase candidate state
- *
- *  @lib avkonfep.dll
- *  @since S60 v3.2
- */
-class TAknFepUiInputStateCandidateMiniQwertyZhuyinPhrase : 
-    public TAknFepInputStateCandidateQwertyBaseChinesePhrase
-    {
-public:
-
-    /**
-     * C++ default constructor
-     *
-     * @since S60 V3.2
-     * @param aOwner Pointer to UI manager state interface
-     * @param aUIContainer Pointer to Chinese UI container
-     */
-    TAknFepUiInputStateCandidateMiniQwertyZhuyinPhrase(
-        MAknFepUIManagerStateInterface* aOwner,
-        MAknFepUICtrlContainerChinese* aUIContainer);
-    /**
-     * Handling Command events.
-     * This Method is called by CAknFepUIManagerJapanese.
-     *
-     * @param aCommandId Command ID value
-     */
-    void HandleCommandL( TInt aCommandId );
-    
-protected:
-
-    /**
-     * From TAknFepInputStateCandidateBasePhrase
-     * Handle system key press
-     *
-     * @since S60 v3.2
-     * @param aKey System key event
-     * @param aLength Key press length
-     * @return ETrue if handle, otherwise this class do not handle this key
-     */
-    
-    TBool HandleKeyForMiniQwertyL( TInt aKey,
-           TKeyPressLength aLength );
-       
-    TBool HandleKeyForHalfAndCustomQwertyL( TInt aKey,
-           TKeyPressLength aLength );
-    TBool HandleKeyL( TInt aKey,TKeyPressLength aLength );
-    /**
-     *fill the phrase and keystorke array 
-     *
-     * @since S60 V3.2
-     * @param aText Pointer to the spelling 
-     * @param aPhrase Pointer to phrase 
-     */
-    void FillPhraseAndStrokArrayL(const TDesC& aText, const TDesC& aPhrase);
-    /**
-     * get the key stroke count
-     *
-     * @since S60 V3.2
-     * @param aBuf Pointer to the spelling 
-     * 
-     */
-    TInt GetInputPaneKeyStrokeCount(const TDesC& aBuf);
-    /**
-     * commit the pharse created to editor
-     *
-     * @since S60 V3.2
-     * 
-     */
-    TBool ComitPhraseCreatedToEditorL();
-    /**
-     * Get the valid keystroke.
-     * ETure  get the valid keystorke,else EFalse
-     */
-    TBool CheckToneMarkBorderUpon();
-    /**
-     * get the index of the tonemark 
-     *
-     * @since S60 V3.2
-     * @param aText  Pointer to the spelling 
-     * 
-     */
-    TInt GetIndexOfToneMark( const TDesC& aText);
-    };
-
-#endif __AKN_FEP_UI_INPUT_STATE_CANDIDATE_MINIQWERTY_ZHUYINPHRASE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateCandidatePhrase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-* Copyright (c) 2004 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:           
-*       Provides the TAknFepInputStateCandidatePhrase definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_CANDIDATE_PHRASE_H__
-#define __AKN_FEP_UI_INPUT_STATE_CANDIDATE_PHRASE_H__
-
-#include "AknFepUiInputStateCandidateBasePhrase.h"
-
-class TAknFepInputStateCandidatePhrase : public TAknFepInputStateCandidateBasePhrase
-    {
-public:
-    TAknFepInputStateCandidatePhrase(MAknFepUIManagerStateInterface* aOwner,
-                               MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_CANDIDATE_PHRASE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateCandidatePinyinAndStrokePhrase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/*
-* 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:            header file of Pinyin and Stroke phrase candidate state
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef T_AKNFEPUIINPUTSTATECANDIDATEPINYINANDSTROKE_PHRASE_H
-#define T_AKNFEPUIINPUTSTATECANDIDATEPINYINANDSTROKE_PHRASE_H
-
-// User includes 
-#include "AknFepUiInputStateCandidateBaseChinesePhrase.h"
-
-/**
- *  TAknFepUiInputStateCandidatePinyinAndStrokePhrase class.
- *
- *  Implementation of Pinyin and Stroke phrase candidate state
- *
- *  @lib avkonfep.dll
- *  @since S60 v3.2
- */
-class TAknFepUiInputStateCandidatePinyinAndStrokePhrase : 
-    public TAknFepInputStateCandidateBaseChinesePhrase
-    {
-public:
-
-    /**
-     * C++ default constructor
-     *
-     * @since S60 V3.2
-     * @param aOwner Pointer to UI manager state interface
-     * @param aUIContainer Pointer to Chinese UI container
-     */
-    TAknFepUiInputStateCandidatePinyinAndStrokePhrase(
-        MAknFepUIManagerStateInterface* aOwner,
-        MAknFepUICtrlContainerChinese* aUIContainer);
-        
-    void HandleCommandL(TInt aCommandID);
-    
-    
-protected:
-
-    /**
-     * From TAknFepInputStateCandidateBasePhrase
-     * Handle system key press
-     *
-     * @since S60 v3.2
-     * @param aKey System key event
-     * @param aLength Key press length
-     * @return ETrue if handle, otherwise this class do not handle this key
-     */
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-
-#endif //T_AKNFEPUIINPUTSTATECANDIDATEPINYINANDSTROKE_PHRASE_H
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateCandidateQwerty.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStateCandidateQwerty definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_CANDIDATE_QWERTY_H__
-#define __AKN_FEP_UI_INPUT_STATE_CANDIDATE_QWERTY_H__
-
-#include "AknFepUiInputStateCandidateQwertyBase.h"
-#include "AknFepUIManagerStateInterface.h"
-
-class TAknFepInputStateCandidateQwerty : public TAknFepInputStateCandidateQwertyBase
-    {
-public:
-    TAknFepInputStateCandidateQwerty(MAknFepUIManagerStateInterface* aOwner,
-                               MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-
-    /**
-     * Handling Command events.
-     * This Method is called by CAknFepUIManagerJapanese.
-     *
-     * @param aCommandId Command ID value
-     */
-    void HandleCommandL( TInt aCommandId );
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_CANDIDATE_QWERTY_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateCandidateQwertyBase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStateCandidateQwertyBase definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_CANDIDATE_QWERTY_BASE_H__
-#define __AKN_FEP_UI_INPUT_STATE_CANDIDATE_QWERTY_BASE_H__
-
-#include "AknFepUiInputStateChineseBase.h"
-#include <PtiDefs.h>
-
-class TAknFepInputStateCandidateQwertyBase : public TAknFepInputStateChineseBase
-    {
-public:
-    /**
-     * Handling Command events.
-     * This Method is called by CAknFepUIManagerJapanese.
-     *
-     * @param aCommandId Command ID value
-     */
-    void HandleCommandL( TInt aCommandId );
-protected:
-    TAknFepInputStateCandidateQwertyBase(MAknFepUIManagerStateInterface* aOwner,
-                                    MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    TBool HandleHorizontalNavigation(TInt aKey);
-    TBool HandleVerticalNavigation(TInt aKey);
-    inline TInt MapKeyToIndex(TInt aKey);
-    };
-
-inline TInt TAknFepInputStateCandidateQwertyBase::MapKeyToIndex(TInt aKey)
-    {
-    TInt index = aKey - EPtiKey0; // get zero-based value first
-    return !index ? 9 : --index; // map it for one-based keys...
-    }
-
-#endif //__AKN_FEP_UI_INPUT_STATE_CANDIDATE_QWERTY_BASE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateCandidateQwertyBaseChinesePhrase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-/*
-* Copyright (c)  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:            ?Description
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef T_AKNFEPUIINPUTSTATECANDIDATEQWERTYBASECHINESEPHRASE_H
-#define T_AKNFEPUIINPUTSTATECANDIDATEQWERTYBASECHINESEPHRASE_H
-
-#include "AknFepUiInputStateChineseBase.h"
-#include <PtiDefs.h>
-
-/**
- * key struct.
- * @since S60 v3.2.3
- */
-struct TMiniQwertyKeyMap
-    {
-    TUint16 iValue;
-    TInt iKeyCode;
-    };
-
-/**
- * Tone mark struct.
- * @since S60 v3.2.3
- */
-struct TMiniQwertyToneMap
-    {
-    TUint16 iValue;
-    TInt iInputTone;
-    };
-
-class TAknFepInputStateCandidateQwertyBaseChinesePhrase : public TAknFepInputStateChineseBase
-    {
-public:
-    /**
-     * Handling Command events.
-     * This Method is called by CAknFepUIManagerJapanese.
-     *
-     * @param aCommandId Command ID value
-     */
-    void HandleCommandL( TInt aCommandId );
-protected:
-    TAknFepInputStateCandidateQwertyBaseChinesePhrase(MAknFepUIManagerStateInterface* aOwner,
-                                    MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-
-    TBool HandleHorizontalNavigation(TInt aKey);
-    TBool HandleVerticalNavigation(TInt aKey);
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    /**
-     * Check the select candidate numeric key is valid or not
-     * @since S60 v3.2
-     * @return ETure if the select number is valid ,others is EFalse
-     */
-    TBool  MapKeyToIndexSelectCandidate( TInt aKey,TInt& aIndex );
-#endif
-    
-    inline TInt MapKeyToIndex(TInt aKey);
-    void UpdateIndicator();
-    void GetNewCandidatesL(const TDesC& aSource, RPointerArray<HBufC>& aList);
-    };
-
-inline TInt TAknFepInputStateCandidateQwertyBaseChinesePhrase::MapKeyToIndex(TInt aKey)
-    {
-    TInt index = aKey - EPtiKey0; // get zero-based value first
-    return !index ? 9 : --index; // map it for one-based keys...
-    }
-
-#endif //T_AKNFEPUIINPUTSTATECANDIDATEQWERTYBASECHINESEPHRASE_H
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateCandidateQwertyBasePhrase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStateCandidateQwertyBasePhrase definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_CANDIDATE_QWERTY_BASE_PHRASE_H__
-#define __AKN_FEP_UI_INPUT_STATE_CANDIDATE_QWERTY_BASE_PHRASE_H__
-
-#include "AknFepUiInputStateChineseBase.h"
-#include <PtiDefs.h>
-
-class TAknFepInputStateCandidateQwertyBasePhrase : public TAknFepInputStateChineseBase
-    {
-    public:
-    /**
-     * Handling Command events.
-     * This Method is called by CAknFepUIManagerJapanese.
-     *
-     * @param aCommandId Command ID value
-     */
-    void HandleCommandL( TInt aCommandId );
-protected:
-    TAknFepInputStateCandidateQwertyBasePhrase(MAknFepUIManagerStateInterface* aOwner,
-                                    MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-
-    TBool HandleHorizontalNavigation(TInt aKey);
-    TBool HandleVerticalNavigation(TInt aKey);
-    inline TInt MapKeyToIndex(TInt aKey);
-    };
-
-inline TInt TAknFepInputStateCandidateQwertyBasePhrase::MapKeyToIndex(TInt aKey)
-    {
-    TInt index = aKey - EPtiKey0; // get zero-based value first
-    return !index ? 9 : --index; // map it for one-based keys...
-    }
-
-#endif //__AKN_FEP_UI_INPUT_STATE_CANDIDATE_QWERTY_BASE_PHRASE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateCandidateQwertyChinese.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* Copyright (c)  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:            ?Description
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_CANDIDATE_QWERTY_CHINESE_H__
-#define __AKN_FEP_UI_INPUT_STATE_CANDIDATE_QWERTY_CHINESE_H__
-
-#include "AknFepUiInputStateCandidateQwertyChineseBase.h"
-#include "AknFepUIManagerStateInterface.h"
-
-class TAknFepInputStateCandidateQwertyChinese : public TAknFepInputStateCandidateQwertyChineseBase
-    {
-public:
-    TAknFepInputStateCandidateQwertyChinese(MAknFepUIManagerStateInterface* aOwner,
-                               MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    /**
-     * Handling Command events.
-     * This Method is called by CAknFepUIManagerJapanese.
-     *
-     * @param aCommandId Command ID value
-     */
-    void HandleCommandL( TInt aCommandId );
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_CANDIDATE_QWERTY_CHINESE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateCandidateQwertyChineseBase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
-* Copyright (c)  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:            ?Description
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_CANDIDATE_QWERTY_CHINESE_BASE_H__
-#define __AKN_FEP_UI_INPUT_STATE_CANDIDATE_QWERTY_CHINESE_BASE_H__
-
-#include "AknFepUiInputStateChineseBase.h"
-#include <PtiDefs.h>
-
-class TAknFepInputStateCandidateQwertyChineseBase : public TAknFepInputStateChineseBase
-    {
-    public:
-    /**
-     * Handling Command events.
-     * This Method is called by CAknFepUIManagerJapanese.
-     *
-     * @param aCommandId Command ID value
-     */
-    void HandleCommandL( TInt aCommandId );
-protected:
-    TAknFepInputStateCandidateQwertyChineseBase(MAknFepUIManagerStateInterface* aOwner,
-                                    MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    TBool HandleHorizontalNavigation(TInt aKey);
-    TBool HandleVerticalNavigation(TInt aKey);
-    inline TInt MapKeyToIndex(TInt aKey);
-    void UpdateIndicator();
-    };
-  
-inline TInt TAknFepInputStateCandidateQwertyChineseBase::MapKeyToIndex(TInt aKey)
-    {
-    TInt index = aKey - EPtiKey0; // get zero-based value first
-    return !index ? 9 : --index; // map it for one-based keys...
-    }
-
-#endif //__AKN_FEP_UI_INPUT_STATE_CANDIDATE_QWERTY_CHINESE_BASE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateCandidateQwertyChinesePhrase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
-* Copyright (c)  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:            ?Description
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef T_AKNFEPUIINPUTSTATECANDIDATEQWERTYCHINESEPHRASE_H_
-#define T_AKNFEPUIINPUTSTATECANDIDATEQWERTYCHINESEPHRASE_H_
-
-#include "AknFepUiInputStateCandidateQwertyBaseChinesePhrase.h"
-#include "AknFepUIManagerStateInterface.h"
-
-class TAknFepInputStateCandidateQwertyChinesePhrase : 
-public TAknFepInputStateCandidateQwertyBaseChinesePhrase
-    {
-public:
-    TAknFepInputStateCandidateQwertyChinesePhrase(
-        MAknFepUIManagerStateInterface* aOwner,
-        MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    /**
-     * Handling Command events.
-     * This Method is called by CAknFepUIManagerJapanese.
-     *
-     * @param aCommandId Command ID value
-     */
-    void HandleCommandL( TInt aCommandId );
-    };
-
-#endif //T_AKNFEPUIINPUTSTATECANDIDATEQWERTYCHINESEPHRASE_H_
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateCandidateQwertyPhrase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStateCandidateQwertyPhrase definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_CANDIDATE_QWERTY_PHRASE_H__
-#define __AKN_FEP_UI_INPUT_STATE_CANDIDATE_QWERTY_PHRASE_H__
-
-#include "AknFepUiInputStateCandidateQwertyBasePhrase.h"
-#include "AknFepUIManagerStateInterface.h"
-
-class TAknFepInputStateCandidateQwertyPhrase : public TAknFepInputStateCandidateQwertyBasePhrase
-    {
-public:
-    TAknFepInputStateCandidateQwertyPhrase(MAknFepUIManagerStateInterface* aOwner,
-                               MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    /**
-     * Handling Command events.
-     * This Method is called by CAknFepUIManagerJapanese.
-     *
-     * @param aCommandId Command ID value
-     */
-    void HandleCommandL( TInt aCommandId );
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_CANDIDATE_QWERTY_PHRASE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateCandidateQwertyZhuyin.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStateCandidateQwertyZhuyin definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_INPUT_STATE_CANDIDATE_QWERTY_ZHUYIN_H__
-#define __AKN_FEP_INPUT_STATE_CANDIDATE_QWERTY_ZHUYIN_H__
-
-#include "AknFepUiInputStateCandidateQwertyChinese.h"
-
-class TAknFepInputStateCandidateQwertyZhuyin : public TAknFepInputStateCandidateQwertyChinese 
-    {
-public:
-    TAknFepInputStateCandidateQwertyZhuyin(MAknFepUIManagerStateInterface* aOwner,
-                               MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-
-#endif //__AKN_FEP_INPUT_STATE_CANDIDATE_QWERTY_ZHUYIN_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateCandidateQwertyZhuyinPhrase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStateCandidateQwertyZhuyinPhrase definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_INPUT_STATE_CANDIDATE_QWERTY_ZHUYIN_PHRASE_H__
-#define __AKN_FEP_INPUT_STATE_CANDIDATE_QWERTY_ZHUYIN_PHRASE_H__
-
-#include "AknFepUiInputStateCandidateQwertyChinesePhrase.h"
-
-class TAknFepInputStateCandidateQwertyZhuyinPhrase : 
-public TAknFepInputStateCandidateQwertyChinesePhrase
-    {
-public:
-    TAknFepInputStateCandidateQwertyZhuyinPhrase(MAknFepUIManagerStateInterface* aOwner,
-                               MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-
-#endif //__AKN_FEP_INPUT_STATE_CANDIDATE_QWERTY_ZHUYIN_PHRASE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateCandidateRetroActive.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,140 +0,0 @@
-/*
-* Copyright (c) 2002-2006 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:            Provides the TAknFepUiInputStateCandidateRetroActive definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_CANDIDATE_RETROACTIVE_H__
-#define __AKN_FEP_UI_INPUT_STATE_CANDIDATE_RETROACTIVE_H__
-
-// INCLUDES
-#include <e32std.h>
-
-#include "AknFepUiInputStateEntryJapaneseMultitap.h"
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-class MAknFepUIManagerStateInterface;
-class CAknFepUICtrlJapaneseCandidatePane;
-enum TKeyPressLength;
-
-/**
- *  TAknFepUiInputStateCandidateRetroActive class.
- *
- *  @lib AknFep.lib
- *  @since 2.6
- */
-class TAknFepUiInputStateCandidateRetroActive
-    :public TAknFepUiInputStateEntryJapaneseMultitap
-    {
-public: //  Constructors and destructor
-    /**
-     * C++ default constructor
-     *
-     * @since 2.6
-     * @param aOwner Object derived MAknFepUIManagerStateInterfa
-     * @param aUIContainer MAknFepUICtrlContainerJapanese object
-     */
-     TAknFepUiInputStateCandidateRetroActive(
-                                    MAknFepUIManagerStateInterface* aOwner,
-                                    MAknFepUICtrlContainerJapanese* aUIContainer);
-
-public: // Functions from base classes
-    /**
-     * From TAknFepUiInputStateEntryJapaneseMultitap
-     * Initialize state
-     *
-     * @since 2.6
-     */
-    void InitializeStateL();
-
-    /**
-     * From TAknFepUiInputStateEntryJapaneseMultitap
-     * Processing of Closeing UI
-     *
-     * @since 2.6
-     */
-    void CloseUI();
-
-protected:// Functions from base classes
-    /**
-     * From TAknFepUiInputStateEntryJapaneseMultitap
-     * Handling short keypress events of the numeric and the star.
-     *
-     * @since 2.6
-     * @param aKey The event key code
-     * @return ETrue
-     */
-    TBool HandleNumericShortKeyL(TInt aKey);
-
-    /**
-     * From TAknFepUiInputStateEntryJapaneseMultitap
-     * Handling navigate keypress events.
-     *
-     * @since 2.6
-     * @param aKey The event key code
-     * @param aLength The Length of keypress
-     * @return ETure
-     */
-    TBool HandleNaviKeyL(TInt aKey, TKeyPressLength aLength);
-
-    /**
-     * From TAknFepUiInputStateEntryJapaneseMultitap
-     * Handling auxiliary keypress events including OK and Backspace.
-     *
-     * @since 2.6
-     * @param aKey The event key code
-     * @param aLength The Length of keypress
-     * @return ETure
-     */
-    TBool HandleAuxKeyL(TInt aKey, TKeyPressLength aLength);
-
-    /**
-     * From TAknFepInputStateBase
-     * Handling Command events. This Method is called by CAknFepUIManagerJapanese.
-     *
-     * @since 2.6
-     * @param aCommandId Command ID value
-     */
-     void HandleCommandL(TInt aCommandId);
-
-private: // New Functions
-    void ShowListL(TInt aCommandId, TInt aIndex = 0);
-    void ShowPredictiveListL();
-    void DoSelectItemL();
-    void DoCommitItemL();
-
-    };
-#endif //__AKN_FEP_UI_INPUT_STATE_CANDIDATE_RETROACTIVE_H__
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateChineseBase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-/*
-* Copyright (c) 2003 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:            Provides the TAknFepInputStateChineseBase definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUTSTATE_CHINESE_BASE_H__
-#define __AKN_FEP_UI_INPUTSTATE_CHINESE_BASE_H__
-
-// INCLUDES
-#include <e32std.h>
-
-#include <avkon.hrh>
-#include <uikon.hrh>
-#include <AknFepGlobalEnums.h>
-#include "AknFepUiInputStateBase.h"
-#include "AknFepUiCtrlContainerChinese.h"
-
-// CONSTANTS
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-//class TAknFepInputStateBase;
-class MAknFepUIManagerStateInterface;
-//class MAknFepUICtrlContainerChinese;
-
-/**
-*  TAknFepInputStateChineseBase class.
-*
-*  @lib AknFep.lib
-*  @since 2.6
-*/
-class TAknFepInputStateChineseBase : public TAknFepInputStateBase
-    {
-public: // Constructors and destructor
-    /**
-     * Constructor
-     * @since 2.6
-     * @param aOwner 
-     * @param aUIContainer 
-     */
-    TAknFepInputStateChineseBase(MAknFepUIManagerStateInterface* aOwner,
-                                    MAknFepUICtrlContainerChinese* aUIContainer);
-    
-public:
-    // A patch to force the vtable to be copied during an assignment.
-    void operator=(const TAknFepInputStateBase& aState);
-
-    /**
-     * A patch to force the vtable to be copied during an assignment.
-     * 
-     * @param aState
-     */
-    void operator=(const TAknFepInputStateChineseBase& aState);
-    /**
-     * Getting UI container object
-     * @since 2.6
-     * @return Japanese UI container object
-     */
-    MAknFepUICtrlContainerChinese* UIContainer();
-    /**
-     * Handling Command events.
-     * This Method is called by CAknFepUIManagerJapanese.
-     *
-     * @param aCommandId Command ID value
-     */
-    void HandleCommandL( TInt aCommandId );
-
-protected:
-    MAknFepUICtrlContainerChinese* iUIContainer;
-    
-   TBool iUseforResourcechange;    
-      
-    };
-#endif//__AKN_FEP_UI_INPUTSTATE_CHINESE_BASE_H__
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateChineseBaseQwerty.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStateChineseBaseQwerty definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_CHINESE_BASE_QWERTY_H__
-#define __AKN_FEP_UI_INPUT_STATE_CHINESE_BASE_QWERTY_H__
-
-#include "AknFepUIInputStateChineseBase.h"
-
-class TAknFepInputStateChineseBaseQwerty : public TAknFepInputStateChineseBase
-    {
-public:
-    TAknFepInputStateChineseBaseQwerty(MAknFepUIManagerStateInterface* aOwner,
-					MAknFepUICtrlContainerChinese* aUIContainer); 
-
-protected:
-    TBool IsQwertyKey(const TInt aKey);
-    TBool IsNumberKey(const TInt aKey);
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_CHINESE_BASE_QWERTY_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateChineseFindQwerty.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStateFindQwerty definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_FIND_QWERTY_H__
-#define __AKN_FEP_UI_INPUT_STATE_FIND_QWERTY_H__
-
-#include "AknFepUiInputStateChineseBase.h"
-
-class TAknFepInputStateChineseFindQwerty : public TAknFepInputStateChineseBase
-    {
-public:
-    TAknFepInputStateChineseFindQwerty(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-protected:
-    TBool IsQwertyKey(const TInt aKey);
-    TBool IsNumberKey(const TInt aKey);
-
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_FIND_QWERTY_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateCompletionHiraganaKanji.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,118 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the AknFepUiInputStateCompletionHiraganaKanji definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_COMPLETION_HIRAGANA_KANJI_H__
-#define __AKN_FEP_UI_INPUT_STATE_COMPLETION_HIRAGANA_KANJI_H__
-
-// INCLUDES
-#include <e32std.h>
-
-#include "AknFepUiInputStateCompletionJapaneseMultitap.h"
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-class MAknFepUIManagerStateInterface;
-enum TKeyPressLength;
-
-/**
- *  TAknFepUiInputStateCompletionHiraganaKanji class.
- *
- *  @lib AknFep.lib
- *  @since 2.6
- */
-class TAknFepUiInputStateCompletionHiraganaKanji
-    :public TAknFepUiInputStateCompletionJapaneseMultitap
-    {
-public: //  Constructors and destructor
-    /**
-     * C++ default Constructor
-     * 
-     * @since 2.6
-     * @param aOwner Object derived MAknFepUIManagerStateInterface
-     * @param aUIContainer MAknFepUICtrlContainerJapanese object
-     */
-    TAknFepUiInputStateCompletionHiraganaKanji(
-                                    MAknFepUIManagerStateInterface* aOwner,
-                                    MAknFepUICtrlContainerJapanese* aUIContainer);
-
-protected: // Functions from base classes
-    /**
-     * From TAknFepUiInputStateCompletionJapaneseMultitap
-     * Handling short keypress events of the numeric and the star.
-     * HandleKeyEventL() call this method.
-     * 
-     * @since 2.6
-     * @param aKey The event key code
-     * @return ETrue If aKey was handled
-     */
-     TBool HandleNumericShortKeyL(TInt aKey);
-
-    /**
-     * From TAknFepUiInputStateCompletionJapaneseMultitap
-     * Handling numeric long-keypress events.
-     * HandleKeyEventL() call this method.
-     *
-     * @since 2.6
-     * @param aKey The event key code
-     * @return ETrue If aKey was handled
-     */
-     TBool HandleNumericLongKeyL(TInt aKey);
-
-    /**
-     * From TAknFepUiInputStateCompletionJapaneseMultitap
-     * Handling auxiliary keypress events including OK and Backspace.
-     * HandleKeyEventL() call this method.
-     *
-     * @since 2.6
-     * @param aKey The event key code
-     * @param aLength The Length of keypress
-     * @return ETrue If aKey was handled
-     */
-     TBool HandleAuxKeyL(TInt aKey, TKeyPressLength aLength);
-
-    /**
-     * From TAknFepUiInputStateCompletionJapaneseMultitap
-     * Update inline editing string
-     *
-     * @since 2.6
-     * @return ETrue If inline editing string was updated
-     */
-     TBool UpdateInlineEditingCharacterL();
-    };
-#endif //__AKN_FEP_UI_INPUT_STATE_COMPLETION_HIRAGANA_KANJI_H__
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateCompletionJapaneseMultitap.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,157 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*        Provides the TAknFepUiInputStateCompletionJapaneseMultitap definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_COMPLETION_JAPANESE_MULTITAP_H__
-#define __AKN_FEP_UI_INPUT_STATE_COMPLETION_JAPANESE_MULTITAP_H__
-// INCLUDES
-#include <e32std.h>
-
-#include "AknFepUiInputStateJapaneseBase.h"
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-class MAknFepUIManagerStateInterface;
-enum TKeyPressLength;
-
-/**
- *  TAknFepUiInputStateCompletionJapaneseMultitap class.
- *
- *  @lib AknFep.lib
- *  @since 2.6
- */
-class TAknFepUiInputStateCompletionJapaneseMultitap
-    :public TAknFepUiInputStateJapaneseBase
-    {
-public: // Constructors and destructor
-    /**
-     * C++ default Constructor
-     * 
-     * @since 2.6
-     * @param aOwner Object derived MAknFepUIManagerStateInterface
-     * @param aUIContainer MAknFepUICtrlContainerJapanese object
-     */
-    TAknFepUiInputStateCompletionJapaneseMultitap(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerJapanese* aUIContainer);
-
-public: // Functions from base classes
-    /**
-     * From TAknFepUiInputStateJapaneseBase
-     * Handling Command events. This Method is called by CAknFepUIManagerJapanese.
-     *
-     * @since 2.6
-     * @param aCommandId Command ID value
-     */
-     void HandleCommandL(TInt aCommandId);
-
-protected: // From TAknFepUiInputStateJapaneseBase
-    /**
-     * From TAknFepUiInputStateJapaneseBase
-     * Handling short keypress events of the numeric and the star.
-     * HandleKeyEventL() call this method.
-     * 
-     * @since 2.6
-     * @param aKey The event key code
-     * @return ETrue If aKey was handled
-     */
-     TBool HandleNumericShortKeyL(TInt aKey);
-
-    /**
-     * From TAknFepUiInputStateJapaneseBase
-     * Handling numeric long-keypress events.
-     * HandleKeyEventL() call this method.
-     *
-     * @since 2.6
-     * @param aKey The event key code
-     * @return ETrue If aKey was handled
-     */
-     TBool HandleNumericLongKeyL(TInt aKey);
-
-    /**
-     * From TAknFepUiInputStateJapaneseBase
-     * Handling navigate keypress events. HandleKeyEventL() call this method.
-     *
-     * @since 2.6
-     * @param aKey The event key code
-     * @param aLength The Length of keypress
-     * @return ETrue If aKey was handled
-     */
-     TBool HandleNaviKeyL(TInt aKey, TKeyPressLength aLength);
-
-    /**
-     * From TAknFepUiInputStateJapaneseBase
-     * Handling auxiliary keypress events including OK and Backspace.
-     * HandleKeyEventL() call this method.
-     *
-     * @since 2.6
-     * @param aKey The event key code
-     * @param aLength The Length of keypress
-     * @return ETrue If aKey was handled
-     */
-     TBool HandleAuxKeyL(TInt aKey, TKeyPressLength aLength);
-
-    /**
-     * From TAknFepUiInputStateJapaneseBase
-     * Update inline editing string
-     *
-     * @since 2.6
-     * @return ETrue If inline editing string was updated
-     */
-     TBool UpdateInlineEditingCharacterL();
-
-    /**
-     * From TAknFepUiInputStateJapaneseBase
-     * Commit inline editing string
-     *
-     * @since 2.6
-     * @return ETrue If inline editing string was updated
-     */
-     TBool CommitInlineEditingCharacterL();
-
-protected: // New Functions
-    /**
-     * 
-     * 
-     * @since 2.6
-     * @param aKey
-     * @return ETrue
-     */
-    virtual TBool ProcessNumericLongKeyPressL(TInt aKey);
-    };
-#endif //__AKN_FEP_UI_INPUT_STATE_COMPLETION_JAPANESE_MULTITAP_H__
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateCompletionKatakana.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,122 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*        Provides the TAknFepUiInputStateCompletionKatakana definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_COMPLETION_KATAKANA_H__
-#define __AKN_FEP_UI_INPUT_STATE_COMPLETION_KATAKANA_H__
-// INCLUDES
-#include <e32std.h>
-
-#include "AknFepUiInputStateCompletionJapaneseMultitap.h"
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-class MAknFepUIManagerStateInterface;
-
-/**
- *  TAknFepUiInputStateCompletionLatinJapanese class.
- *
- *  @lib AknFep.lib
- *  @since 2.6
- */
-class TAknFepUiInputStateCompletionKatakana
-    :public TAknFepUiInputStateCompletionJapaneseMultitap
-    {
-public: // Constructors and destructor
-    /**
-     * C++ default Constructor
-     * 
-     * @since 2.6
-     * @param aOwner Object derived MAknFepUIManagerStateInterface
-     * @param aUIContainer MAknFepUICtrlContainerJapanese object
-     */
-    TAknFepUiInputStateCompletionKatakana(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerJapanese* aUIContainer);
-
-protected: // Functions from base classes
-    /**
-     * From AknFepUiInputStateCompletionJapaneseMultitap
-     * Handling short keypress events of the numeric and the star.
-     * HandleKeyEventL() call this method.
-     * 
-     * @since 2.6
-     * @param aKey The event key code
-     * @return ETrue If aKey was handled
-     */
-     TBool HandleNumericShortKeyL(TInt aKey);
-
-    /**
-     * From TAknFepUiInputStateJapaneseBase
-     * Update inline editing string
-     *
-     * @since 3.0
-     * @return ETrue If inline editing string was updated
-     */
-    TBool UpdateInlineEditingCharacterL();
-
-    /**
-     * From TAknFepUiInputStateJapaneseBase
-     * Commit inline editing string
-     *
-     * @since 3.0
-     * @return ETrue If inline editing string was updated
-     */
-    TBool CommitInlineEditingCharacterL();
-
-    /**
-     * Check Full-width hiragana
-     *
-     * @since 3.0
-     * @return ETrue If there are some hiragana characters
-     */
-    TBool IsFullHiragana(const TChar aChr);
-    
-    /**
-     * From TAknFepUiInputStateJapaneseBase
-     * Handling auxiliary keypress events including OK and Backspace.
-     * HandleKeyEventL() call this method.
-     *
-     * @since 3.1
-     * @param aKey The event key code
-     * @param aLength The Length of keypress
-     * @return ETrue If aKey was handled
-     */
-     TBool HandleAuxKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-#endif //__AKN_FEP_UI_INPUT_STATE_COMPLETION_FULL_LATIN_H__
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateCompletionLatinJapanese.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*        Provides the TAknFepUiInputStateCompletionLatinJapanese definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_COMPLETION_FULL_LATIN_H__
-#define __AKN_FEP_UI_INPUT_STATE_COMPLETION_FULL_LATIN_H__
-// INCLUDES
-#include <e32std.h>
-
-#include "AknFepUiInputStateCompletionJapaneseMultitap.h"
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-class MAknFepUIManagerStateInterface;
-enum TKeyPressLength;
-
-/**
- *  TAknFepUiInputStateCompletionLatinJapanese class.
- *
- *  @lib AknFep.lib
- *  @since 2.6
- */
-class TAknFepUiInputStateCompletionLatinJapanese
-    :public TAknFepUiInputStateCompletionJapaneseMultitap
-    {
-public: // Constructors and destructor
-    /**
-     * C++ default Constructor
-     * 
-     * @since 2.6
-     * @param aOwner Object derived MAknFepUIManagerStateInterface
-     * @param aUIContainer MAknFepUICtrlContainerJapanese object
-     */
-    TAknFepUiInputStateCompletionLatinJapanese(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerJapanese* aUIContainer);
-
-protected: // Functions from base classes
-    /**
-     * From TAknFepUiInputStateCompletionJapaneseMultitap
-     * Handling short keypress events of the numeric and the star.
-     * HandleKeyEventL() call this method.
-     *
-     * @since 2.6
-     * @param aKey The event key code
-     * @return ETrue If aKey was handled
-     */
-    TBool HandleNumericShortKeyL(TInt aKey);
-
-    /**
-     * From TAknFepUiInputStateCompletionJapaneseMultitap
-     * Commit inline editing string
-     *
-     * @since 2.6
-     * @return ETrue If inline editing string was updated
-     */
-     TBool CommitInlineEditingCharacterL();
-
-    /**
-     * From TAknFepUiInputStateJapaneseBase
-     * Handling auxiliary keypress events including OK and Backspace.
-     * HandleKeyEventL() call this method.
-     *
-     * @since 3.1
-     * @param aKey The event key code
-     * @param aLength The Length of keypress
-     * @return ETrue If aKey was handled
-     */
-     TBool HandleAuxKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-#endif //__AKN_FEP_UI_INPUT_STATE_COMPLETION_FULL_LATIN_H__
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateCompletionPredictiveHiraganaKanji.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the TAknFepUiInputStateCompletionPredictiveHiraganaKanji definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_COMPLETION_PREDICTIVE_HIRAGANA_KANJI_H__
-#define __AKN_FEP_UI_INPUT_STATE_COMPLETION_PREDICTIVE_HIRAGANA_KANJI_H__
-
-// INCLUDES
-#include <e32std.h>
-
-#include "AknFepUiInputStateCompletionHiraganaKanji.h"
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-class MAknFepUIManagerStateInterface;
-enum TKeyPressLength;
-
-/**
- *  TAknFepUiInputStateCompletionHiraganaKanji class.
- *
- *  @lib AknFep.lib
- *  @since 2.6
- */
-class TAknFepUiInputStateCompletionPredictiveHiraganaKanji
-    :public TAknFepUiInputStateCompletionHiraganaKanji
-    {
-public: //  Constructors and destructor
-    /**
-     * C++ default Constructor
-     * 
-     * @since 2.6
-     * @param aOwner Object derived MAknFepUIManagerStateInterface
-     * @param aUIContainer MAknFepUICtrlContainerJapanese object
-     */
-    TAknFepUiInputStateCompletionPredictiveHiraganaKanji(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerJapanese* aUIContainer);
-
-
-protected: // Functions from base classes
-    /**
-     * From TAknFepUiInputStateCompletionJapaneseMultitap
-     * Handling short keypress events of the numeric and the star.
-     * HandleKeyEventL() call this method.
-     * 
-     * @since 2.6
-     * @param aKey The event key code
-     * @return ETrue If aKey was handled
-     */
-     TBool HandleNumericShortKeyL(TInt aKey);
-
-    /**
-     * From TAknFepUiInputStateCompletionJapaneseMultitap
-     * Handling numeric long-keypress events.
-     * HandleKeyEventL() call this method.
-     *
-     * @since 2.6
-     * @param aKey The event key code
-     * @return ETrue If aKey was handled
-     */
-     TBool HandleNumericLongKeyL(TInt aKey);
-
-    /**
-     * From TAknFepUiInputStateCompletionJapaneseMultitap
-     * Handling auxiliary keypress events including OK and Backspace.
-     * HandleKeyEventL() call this method.
-     *
-     * @since 2.6
-     * @param aKey The event key code
-     * @param aLength The Length of keypress
-     * @return ETrue If aKey was handled
-     */
-     TBool HandleAuxKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-#endif //__AKN_FEP_UI_INPUT_STATE_COMPLETION_HIRAGANA_KANJI_H__
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateConversionHiraganaKanji.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the TAknFepUiInputStateConversionHiraganaKanji definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_CONVERSION_HIRAGANA_KANJI_H__
-#define __AKN_FEP_UI_INPUT_STATE_CONVERSION_HIRAGANA_KANJI_H__
-
-// INCLUDES
-#include <e32std.h>
-
-#include "AknFepUiInputStateEntryJapaneseMultitap.h"
-
-// CONSTANTS
-
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-class MAknFepUIManagerStateInterface;
-enum TKeyPressLength;
-
-/**
- *  TAknFepUiInputStateConversionHiraganaKanji class.
- *
- *  @lib AknFep.lib
- *  @since 2.6
- */
-class TAknFepUiInputStateConversionHiraganaKanji
-    :public TAknFepUiInputStateEntryJapaneseMultitap
-    {
-public: //  Constructors and destructor
-    /**
-     * C++ default Constructor
-     * 
-     * @since 2.6
-     * @param aOwner Object derived MAknFepUIManagerStateInterface
-     * @param aUIContainer MAknFepUICtrlContainerJapanese object
-     */
-    TAknFepUiInputStateConversionHiraganaKanji(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerJapanese* aUIContainer);
-
-public:// Functions from base classes
-    /**
-     * From TAknFepUiInputStateJapaneseBase
-     * Initialize state
-     * 
-     * @since 2.6
-     */
-     void InitializeStateL();
-
-protected: // Functions from base classes
-    /**
-     * From TAknFepUiInputStateEntryJapaneseMultitap
-     * Handling short keypress events of the numeric and the star.
-     * HandleKeyEventL() call this method.
-     * 
-     * @since 2.6
-     * @param aKey The event key code
-     * @return ETrue If aKey was handled
-     */
-     TBool HandleNumericShortKeyL(TInt aKey);
-
-    /**
-     * From TAknFepUiInputStateEntryJapaneseMultitap
-     * Handling navigate keypress events. HandleKeyEventL() call this method.
-     *
-     * @since 2.6
-     * @param aKey The event key code
-     * @param aLength The Length of keypress
-     * @return ETrue If aKey was handled
-     */
-     TBool HandleNaviKeyL(TInt aKey, TKeyPressLength aLength);
-
-    /**
-     * From TAknFepUiInputStateEntryJapaneseMultitap
-     * Handling auxiliary keypress events including OK and Backspace.
-     * HandleKeyEventL() call this method.
-     *
-     * @since 2.6
-     * @param aKey The event key code
-     * @param aLength The Length of keypress
-     * @return ETrue If aKey was handled
-     */
-     TBool HandleAuxKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-#endif // __AKN_FEP_UI_INPUT_STATE_CONVERSION_HIRAGANA_KANJI_H__
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateEntryArabicHebrewPredictive.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
-* Copyright (c) 2004 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:           
-*       Provides the TAknFepInputStateEntryWesternPredictive definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_ENTRY_ARABIC_HEBREW_PREDICTIVE_H__
-#define __AKN_FEP_UI_INPUT_STATE_ENTRY_ARABIC_HEBREW_PREDICTIVE_H__
-
-#include "AknFepUiInputStateEntryWesternPredictive.h"
-
-class TAknFepInputStateEntryArabicHebrewPredictive : public TAknFepInputStateEntryWesternPredictive
-    {
-public:
-    TAknFepInputStateEntryArabicHebrewPredictive(MAknFepUIManagerStateInterface* aOwner);
-
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_ENTRY_ARABIC_HEBREW_PREDICTIVE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateEntryHalfQwertyWesternPredictive.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +0,0 @@
-/*
-* Copyright (c) 2007 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:           
-*       Provides the TAknFepUiInputStateEntryHalfQwertyWesternPredictive definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_ENTRY_HALFQWERTY_WESTERN_PREDICTIVE_H__
-#define __AKN_FEP_UI_INPUT_STATE_ENTRY_HALFQWERTY_WESTERN_PREDICTIVE_H__
-
-#include "AknFepUiInputStateBase.h"
-
-class TAknFepUiInputStateEntryHalfQwertyWesternPredictive : public TAknFepInputStateBase
-    {
-public:
-    /**
-    * Constructor
-    * @param    aOwner  The UI manager that owns this input state
-    */
-    TAknFepUiInputStateEntryHalfQwertyWesternPredictive(MAknFepUIManagerStateInterface* aOwner);
-    
-    /**
-    * The main handler function for the key presses.
-    * @param    aKey    The key to be handled. This may be either TKeyCode or TStdScanCode value.
-    * @param    aLength Tells if the key press is short or long one.
-    */
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    
-
-public: // Functions from MPtiObserver interface
-    /**
-    * Called when last word in the selection list is activated. Not relevant as we use the 
-    * candidate popup.
-    */
-    void LastWordInSelectionList();
-    
-    /**
-    * Called when the first word in the selection list is activated. Not relevant as we use the
-    * candidate popup.
-    */
-    void FirstWordInSelectionList();
-
-    /**
-    * Called when the Chr multitap timer expires. The case should be updated at that time.
-    */ 
-    void KeyTimerExpired();
-    
-//    void HandleCommandL(TInt aCommandId);
-
-protected:
-    /**
-    * Sets the shift state of the PtiEngine according the shift and chr states of the Fep.
-    * @param    aKey    The with which the shift state is used. This is needed because shift
-    *                   works differently with letter keys than with numbers and punctuation.
-    */
-    void HandleShiftState(TInt aKey);
-    
-    /**
-    * Handles keys which cause the active word to be committed (like enter, space, tab,...).
-    * @param    aKey    The key to be handled.
-    */
-    TBool HandleWordBreakingKeysL(TInt aKey);
-    
-    /**
-    * Handles the "normal" keys which (may) cause some character to be appended to the current word.
-    * @param    aKey    The key to be handled.
-    */
-    TBool HandleQwertyKeysL(TInt aKey, TKeyPressLength aLength);
-    
-    /**
-    * Handles the keys which cause cursor movements (arrows, backspace).
-    * @param    aKey    The key to be handled
-    * @param    aLength The key press length.
-    */
-    TBool HandleNaviKeysL(TInt aKey, TKeyPressLength aLength);
-    
-    void ConvertDigitToDigittype(TDigitType& digittype,TDes& aConvertedNumeral);
-    
-    
-/*    TBool HandleStandardNumericKeysL(TInt aKey, TKeyPressLength aLength);
-    
-    void DoNextMatch();
-    void DoPreviousMatch();*/
-};
-
-#endif //__AKN_FEP_UI_INPUT_STATE_ENTRY_HALFQWERTY_WESTERN_PREDICTIVE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateEntryHiraganaKanji.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:            Provides the TAknFepUiInputStateEntryHiraganaKanji definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_ENTRY_HIRAGANA_KANJI_H__
-#define __AKN_FEP_UI_INPUT_STATE_ENTRY_HIRAGANA_KANJI_H__
-
-// INCLUDES
-#include <e32std.h>
-
-#include "AknFepUiInputStateEntryJapaneseMultitap.h"
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-class MAknFepUIManagerStateInterface;
-enum TKeyPressLength;
-
-/**
- *  TAknFepUiInputStateEntryHiraganaKanji class.
- *
- *  @lib AknFep.lib
- *  @since 2.6
- */
-class TAknFepUiInputStateEntryHiraganaKanji
-    :public TAknFepUiInputStateEntryJapaneseMultitap
-    {
-public: // Constructors and destructor
-    /**
-     * C++ default Constructor
-     * 
-     * @since 2.6
-     * @param aOwner Object derived MAknFepUIManagerStateInterface
-     * @param aUIContainer MAknFepUICtrlContainerJapanese object
-     */
-    TAknFepUiInputStateEntryHiraganaKanji(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerJapanese* aUIContainer);
-
-public:// Functions from base classes
-    /**
-     * From TAknFepUiInputStateEntryJapaneseMultitap
-     * Initialize state
-     * 
-     * @since 2.6
-     */
-     void InitializeStateL();
-
-    /**
-     * From TAknFepUiInputStateJapanesePredictiveBase
-     * Handling Command events. This Method is called by CAknFepUIManagerJapanese.
-     *
-     * @since 3.2
-     * @param aCommandId Command ID value
-     */
-     void HandleCommandL(TInt aCommandId);
-
-protected: // Functions from base classes
-    /**
-     * From TAknFepUiInputStateEntryJapaneseMultitap
-     * Handling navigate keypress events. HandleKeyEventL() call this method.
-     *
-     * @since 2.6
-     * @param aKey The event key code
-     * @param aLength The Length of keypress
-     * @return ETrue If aKey was handled
-     */
-     TBool HandleNaviKeyL(TInt aKey, TKeyPressLength aLength);
-
-    TBool HandleNumericShortKeyL(TInt aKey);
-    };
-#endif //__AKN_FEP_UI_INPUT_STATE_ENTRY_HIRAGANA_KANJI_H__
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateEntryIndicPredictive.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           Provides the TAknFepInputStateEntryIndicPredictive definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_ENTRY_INDIC_PREDICTIVE_H__
-#define __AKN_FEP_UI_INPUT_STATE_ENTRY_INDIC_PREDICTIVE_H__
-
-#include "AknFepUiInputStateEntryWesternPredictive.h"
-
-/**
-*  This class handles the entry predictive state for Indic languages.
-*  @lib avkonfep.dll
-*  @since Series 60 3.1
-*/
-class TAknFepInputStateEntryIndicPredictive : public TAknFepInputStateEntryWesternPredictive
-    {
-public:
-    /**
-    * 
-    * Constructor for TAknFepInputStateEntryIndicPredictive.	
-    * @since 3.1M
-    * @return 
-    */
-    TAknFepInputStateEntryIndicPredictive(MAknFepUIManagerStateInterface* aOwner, 
-                                          TLanguage aLanguage);
-    void LastWordInSelectionList();
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_ENTRY_INDIC_PREDICTIVE_H__
-// End of File
--- a/fep/aknfep/inc/AknFepUiInputStateEntryJapaneseMultitap.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,166 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the TAknFepUiInputStateEntryJapaneseMultitap definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_ENTRY_JAPANESE_MULTITAP_H__
-#define __AKN_FEP_UI_INPUT_STATE_ENTRY_JAPANESE_MULTITAP_H__
-
-// INCLUDES
-#include <e32std.h>
-
-#include "AknFepUiInputStateJapaneseBase.h"
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-class MAknFepUIManagerStateInterface;
-enum TKeyPressLength;
-
-/**
- *  TAknFepUiInputStateEntryJapaneseMultitap class.
- *
- *  @lib AknFep.lib
- *  @since 2.6
- */
-class TAknFepUiInputStateEntryJapaneseMultitap
-    :public TAknFepUiInputStateJapaneseBase
-    {
-public: // Constructors and destructor
-    /**
-     * C++ default Constructor
-     *
-     * @since 2.6
-     * @param aOwner Object derived MAknFepUIManagerStateInterface
-     * @param aUIContainer MAknFepUICtrlContainerJapanese object
-     */
-    TAknFepUiInputStateEntryJapaneseMultitap(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerJapanese* aUIContainer);
-
-public: // Functions from base classes
-    /**
-     * From TAknFepUiInputStateJapaneseBase
-     * Call this function when Multitap timer of PtiEngine was time-out
-     *
-     * @since 2.6
-     */
-     void KeyTimerExpired();
-
-    /**
-     * From TAknFepUiInputStateJapaneseBase
-     * Initialize state
-     *
-     * @since 2.6
-     */
-     void InitializeStateL();
-
-protected: // Functions from base classes
-    /**
-     * From TAknFepUiInputStateJapaneseBase
-     * Handling short keypress events of the numeric and the star.
-     * HandleKeyEventL() call this method.
-     *
-     * @since 2.6
-     * @param aKey The event key code
-     * @return ETrue If aKey was handled
-     */
-     TBool HandleNumericShortKeyL(TInt aKey);
-
-    /**
-     * From TAknFepUiInputStateJapaneseBase
-     * Handling numeric long-keypress events.
-     * HandleKeyEventL() call this method.
-     *
-     * @since 2.6
-     * @param aKey The event key code
-     * @return ETrue If aKey was handled
-     */
-     TBool HandleNumericLongKeyL(TInt aKey);
-
-    /**
-     * From TAknFepUiInputStateJapaneseBase
-     * Handling navigate keypress events. HandleKeyEventL() call this method.
-     *
-     * @since 2.6
-     * @param aKey The event key code
-     * @param aLength The Length of keypress
-     * @return ETrue If aKey was handled
-     */
-     TBool HandleNaviKeyL(TInt aKey, TKeyPressLength aLength);
-
-    /**
-     * From TAknFepUiInputStateJapaneseBase
-     * Handling auxiliary keypress events including OK and Backspace.
-     * HandleKeyEventL() call this method.
-     *
-     * @since 2.6
-     * @param aKey The event key code
-     * @param aLength The Length of keypress
-     * @return ETrue If aKey was handled
-     */
-     TBool HandleAuxKeyL(TInt aKey, TKeyPressLength aLength);
-
-    /**
-     * From TAknFepUiInputStateJapaneseBase
-     * Update inline editing string
-     *
-     * @since 2.6
-     * @return ETrue If inline editing string was updated
-     */
-     TBool UpdateInlineEditingCharacterL();
-
-    /**
-     * From TAknFepUiInputStateJapaneseBase
-     * Commit inline editing string
-     *
-     * @since 2.6
-     * @return ETrue If inline editing string was updated
-     */
-     TBool CommitInlineEditingCharacterL();
-
-    /**
-     * From TAknFepUiInputStateJapanesePredictiveBase
-     * Handling Command events. This Method is called by CAknFepUIManagerJapanese.
-     *
-     * @since 3.2
-     * @param aCommandId Command ID value
-     */
-     void HandleCommandL(TInt aCommandId);
-
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_ENTRY_JAPANESE_MULTITAP_H__
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateEntryKatakana.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the TAknFepUiInputStateEntryKatakana definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_ENTRY_KATAKANA_H__
-#define __AKN_FEP_UI_INPUT_STATE_ENTRY_KATAKANA_H__
-
-// INCLUDES
-#include <e32std.h>
-
-#include "AknFepUiInputStateEntryJapaneseMultitap.h"
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-class MAknFepUIManagerStateInterface;
-enum TKeyPressLength;
-
-/**
- *  TAknFepUiInputStateEntryKatakana class.
- *
- *  @lib AknFep.lib
- *  @since 2.6
- */
-class TAknFepUiInputStateEntryKatakana
-    :public TAknFepUiInputStateEntryJapaneseMultitap
-    {
-public: // Constructors and destructor
-    /**
-     * C++ default Constructor
-     * 
-     * @since 2.6
-     * @param aOwner Object derived MAknFepUIManagerStateInterface
-     * @param aUIContainer MAknFepUICtrlContainerJapanese object
-     */
-    TAknFepUiInputStateEntryKatakana(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerJapanese* aUIContainer);
-
-public:// Functions from base classes
-    /**
-     * From TAknFepUiInputStateEntryJapaneseMultitap
-     * Initialize state
-     * 
-     * @since 2.6
-     */
-     void InitializeStateL();
-
-protected: // Functions from base classes
-    /**
-     * From AknFepUiInputStateEntryJapaneseMultitap
-     * Handling short keypress events of the numeric and the star.
-     * HandleKeyEventL() call this method.
-     * 
-     * @since 2.6
-     * @param aKey The event key code
-     * @return ETrue If aKey was handled
-     */
-     TBool HandleNumericShortKeyL(TInt aKey);
-    };
-#endif //__AKN_FEP_UI_INPUT_STATE_ENTRY_JAPANESE_MULTITAP_H__
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateEntryLatinJapanese.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the TAknFepUiInputStateEntryLatinJapanese definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_ENTRY_FULL_LATIN_H__
-#define __AKN_FEP_UI_INPUT_STATE_ENTRY_FULL_LATIN_H__
-
-// INCLUDES
-#include <e32std.h>
-
-#include "AknFepUiInputStateEntryJapaneseMultitap.h"
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-class MAknFepUIManagerStateInterface;
-enum TKeyPressLength;
-
-/**
- *  TAknFepUiInputStateEntryLatinJapanese class.
- *
- *  @lib AknFep.lib
- *  @since 2.6
- */
-class TAknFepUiInputStateEntryLatinJapanese
-    :public TAknFepUiInputStateEntryJapaneseMultitap
-    {
-public: // Constructors and destructor
-    /**
-     * C++ default Constructor
-     * 
-     * @since 2.6
-     * @param aOwner Object derived MAknFepUIManagerStateInterface
-     * @param aUIContainer MAknFepUICtrlContainerJapanese object
-     */ 
-    TAknFepUiInputStateEntryLatinJapanese(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerJapanese* aUIContainer);
-
-public: // Functions from base classes
-    /**
-     * From TAknFepUiInputStateEntryJapaneseMultitap
-     * Call this function when Multitap timer of PtiEngine was time-out
-     *
-     * @since 2.6
-     */
-    void KeyTimerExpired();
-
-protected: // Functions from base classes
-    /**
-     * From TAknFepUiInputStateEntryJapaneseMultitap
-     * Handling short keypress events of the numeric and the star.
-     * HandleKeyEventL() call this method.
-     * 
-     * @since 2.6
-     * @param aKey The event key code
-     * @return ETrue If aKey was handled
-     */
-     TBool HandleNumericShortKeyL(TInt aKey);
-    };
-#endif //__AKN_FEP_UI_INPUT_STATE_ENTRY_FULL_LATIN_H__
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateEntryMiniQwertyZhuyinPhrase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
-* Copyright (c) 2004 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:           
-*       Provides the TAknFepInputStateEntryMiniQwertyZhuyinPhrase definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_INPUT_MINIQWERTY_ZHUYIN_PHRASE_H__
-#define __AKN_FEP_UI_INPUT_STATE_INPUT_MINIQWERTY_ZHUYIN_PHRASE_H__
-
-#include "AknFepUiInputStateEntryQwertyBaseChinesePhrase.h"
-
-class TAknFepInputStateEntryMiniQwertyZhuyinPhrase : 
-public TAknFepInputStateEntryQwertyBaseChinesePhrase
-    {
-public:
-    TAknFepInputStateEntryMiniQwertyZhuyinPhrase(MAknFepUIManagerStateInterface* aOwner,
-                                 MAknFepUICtrlContainerChinese* aUIContainer);
-
-    /**
-     * Handling Command events.
-     * This Method is called by CAknFepUIManagerJapanese.
-     *
-     * @param aCommandId Command ID value
-     */
-    void HandleCommandL( TInt aCommandId );
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    
-    TBool HandleKeyForMiniQwertyL( TInt aKey,
-        TKeyPressLength aLength );
-    
-    TBool HandleKeyForHalfAndCustomQwertyL( TInt aKey,
-        TKeyPressLength aLength );
-public: // Functions from MPtiObserver interface
-    void KeyTimerExpired();
-private:
-    void DeliberatelyUpdateSelection();
-    void ImplicitlyUpdateSelection();
-    void ClearDeliberateSelection();
-    void RefreshUI(TInt aSelection);
-    void InitializeStateL();
-    void UpdateIndicator();    
-    
-    /**
-     * Check whether tone mark border upon.
-     *
-     * @since S60 v3.2.3
-     * @param None.
-     * @return ETrue,if the tone mark border upon, EFalse otehrs.
-     */
-    TBool CheckToneMarkBorderUpon();
-    
-    void CommitToneMarkL( TInt aKey );
-    };
-
-#endif __AKN_FEP_UI_INPUT_STATE_INPUT_MINIQWERTY_ZHUYIN_PHRASE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateEntryPinyin.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the TAknFepInputStateEntryPinyin definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_INPUT_PINYIN_H__
-#define __AKN_FEP_UI_INPUT_STATE_INPUT_PINYIN_H__
-
-#include "AknFepUiInputStateChineseBase.h"
-
-class TAknFepInputStateEntryPinyin : public TAknFepInputStateChineseBase
-    {
-public:
-    TAknFepInputStateEntryPinyin(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer);
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    void InitializeStateL();
-
-    void HandleCommandL(TInt aCommandId);
-private:
-    void DeliberatelyUpdateSelection();
-    void ImplicitlyUpdateSelection();
-    void ClearDeliberateSelection();
-    void RefreshUI(TInt aSelection);
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_INPUT_PINYIN_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateEntryPinyinPhrase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,170 +0,0 @@
-/*
-* Copyright (c) 2004 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:           
-*       Provides the TAknFepInputStateEntryPinyinPhrase definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_INPUT_PINYIN_PHRASE_H__
-#define __AKN_FEP_UI_INPUT_STATE_INPUT_PINYIN_PHRASE_H__
-
-#include "AknFepUiInputStateChineseBase.h"
-
-class TAknFepInputStateEntryPinyinPhrase : public TAknFepInputStateChineseBase
-    {
-public:
-	TAknFepInputStateEntryPinyinPhrase(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer);
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    void InitializeStateL();
-
-    void HandleCommandL(TInt aCommandId);
-private:
-    void ClearDeliberateSelection();
-    void DeliberatelyUpdateSelection();
-    void ImplicitlyUpdateSelection();
-    void RefreshUI(TInt aSelection);
-    void UpdateIndicator();
-
-    //the follow 12 functions for phrase creation
-    /**
-     * Optimize spelling.
-     *
-     * @since S60 v5.0.
-     * @param aOptimizeBefore the before spelling array be Optimized.
-     * @param aOptimizeAfter the after spelling array be Optimized..
-     * @return None.
-     */
-    void OptimizeSpellingL(CDesCArrayFlat& aOptimizeBefore,
-        CDesCArrayFlat& aOptimizeAfter);
-
-    /**
-     * Delete current keystroke.
-     *
-     * @since S60 v5.0.
-     * @return None.
-     */
-    void DeleteCurrentKeystroke();
-
-    /**
-     * Add current keystroke.
-     *
-     * @since S60 v5.0.
-     * @param keystroke input keystroke.
-     * @return None.
-     */
-    void AddCurrentKeystrokeL(const TDesC& keystroke);
-
-    /**
-     * Get the keystroke.
-     *
-     * @since S60 v5.0.
-     * @param aKey input key.
-     * @param aKeystroke the aKey's keytroke.
-     * @return None.
-     */
-    void GetKeystrokeNum(TInt aKey, TDes& aKeystroke);
-
-    /**
-     * Get the keystroke buf.
-     *
-     * @since S60 v5.0.
-     * @param aKeystrokeArray keytroke array.
-     * @param aKeystrokeBuf the keytroke buf.
-     * @return None.
-     */
-    void GetKeystrokeBuf(const CDesCArrayFlat& aKeystrokeArray,
-        TDes& aKeystrokeBuf);
-
-    /**
-     * clear keystroke.
-     *
-     * @since S60 v5.0.
-     * @return None.
-     */
-    void ClearKeystrokeBuf();
-
-    /**
-     * Get tome mark.
-     *
-     * @since S60 v5.0.
-     * @param aKeystrokeArray keytroke array.
-     * @param aPinyinToneMark the tone mark.
-     * @return None.
-     */
-    void GetPinyinToneMark(const CDesCArrayFlat& aKeystrokeArray,
-        TDes& aPinyinToneMark);
-
-    /**
-     * Check keystroke.
-     *
-     * @since S60 v5.0.
-     * @param aKeystrokeArray keytroke array.
-     * @param aPinyinToneMark the tone mark.
-     * @return None.
-     */
-    TBool CheckKeystroke(TInt aKey, const CDesCArrayFlat& aKeystrokeArray);
-
-    /**
-     * Check tome mark.
-     *
-     * @since S60 v5.0.
-     * @return None.
-     */
-    void CheckTonemarkL();
-
-    /**
-     * Get change state.
-     *
-     * @since S60 v5.0.
-     * @return ETrue change state, EFasle others.
-     */
-    TBool GetChangeState();
-
-    /**
-     * Append show keystroke.
-     *
-     * @since S60 v5.0.
-     * @param aShowKeystrokeArray the show keytroke array.
-     * @param aKeystrokeArray the keytroke array.
-     * @param aPinyinToneMark the tome mark.
-     * @return None.
-     */
-    void ShowKeystrokeAppendL(CDesCArrayFlat& aShowKeystrokeArray,
-        const CDesCArrayFlat& aKeystrokeArray, const TDesC& aPinyinToneMark);
-
-    /**
-     * change  CBA.
-     *
-     * @since S60 v5.0.
-     * @return None.
-     */
-    void ChangeCbaL();
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_INPUT_PINYIN_PHRASE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateEntryQwertyBase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStateQwertyBase definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_ENTRY_QWERTY_BASE_H__
-#define __AKN_FEP_UI_INPUT_STATE_ENTRY_QWERTY_BASE_H__
-
-#include "AknFepUiInputStateCandidateQwerty.h"
-#include "AknFepUIManagerStateInterface.h"
-
-class TAknFepInputStateEntryQwertyBase : public TAknFepInputStateCandidateQwerty
-    {
-public:
-    TAknFepInputStateEntryQwertyBase(MAknFepUIManagerStateInterface* aOwner,
-                               MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    void InitializeStateL();
-
-protected:
-    void RefreshUI();
-    void SetInputPaneToneMark();
-
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_ENTRY_QWERTY_BASE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateEntryQwertyBaseChinesePhrase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* Copyright (c)  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:            ?Description
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef T_AKNFEPUIINPUTSTATEENTRYQWERTYBASECHINESEPHRASE_H_
-#define T_AKNFEPUIINPUTSTATEENTRYQWERTYBASECHINESEPHRASE_H_
-
-#include "AknFepUiInputStateCandidateQwertyChinesePhrase.h"
-#include "AknFepUIManagerStateInterface.h"
-
-class TAknFepInputStateEntryQwertyBaseChinesePhrase : 
-public TAknFepInputStateCandidateQwertyChinesePhrase
-    {
-public:
-    TAknFepInputStateEntryQwertyBaseChinesePhrase(
-        MAknFepUIManagerStateInterface* aOwner,
-        MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    void InitializeStateL();
-
-protected:
-    void RefreshUI();
-    void SetInputPaneToneMark();
-   };
-
-#endif //T_AKNFEPUIINPUTSTATEENTRYQWERTYBASECHINESEPHRASE_H_
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateEntryQwertyBasePhrase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStateQwertyBasePhrase definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_ENTRY_QWERTY_BASE_PHRASE_H__
-#define __AKN_FEP_UI_INPUT_STATE_ENTRY_QWERTY_BASE_PHRASE_H__
-
-#include "AknFepUiInputStateCandidateQwertyPhrase.h"
-#include "AknFepUIManagerStateInterface.h"
-
-class TAknFepInputStateEntryQwertyBasePhrase : public TAknFepInputStateCandidateQwertyPhrase
-    {
-public:
-    TAknFepInputStateEntryQwertyBasePhrase(MAknFepUIManagerStateInterface* aOwner,
-                               MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    void InitializeStateL();
-
-protected:
-    void RefreshUI();
-    void SetInputPaneToneMark();
-   };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_ENTRY_QWERTY_BASE_PHRASE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateEntryQwertyCangJie.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStateEntryQwertyCangJie definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_ENTRY_QWERTY_CANGJIE_H__
-#define __AKN_FEP_UI_INPUT_STATE_ENTRY_QWERTY_CANGJIE_H__
-
-#include "AknFepUiInputStateEntryQwertyBase.h"
-#include "AknFepUIManagerStateInterface.h"
-#include <PtiDefs.h>
-
-class TAknFepInputStateEntryQwertyCangJie : public TAknFepInputStateEntryQwertyBase
-    {
-public:
-TAknFepInputStateEntryQwertyCangJie(MAknFepUIManagerStateInterface* aOwner,
-                               MAknFepUICtrlContainerChinese* aUIContainer);
-
-	TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-
-private:
-	inline TBool IsValidCangJieCode(TInt aKey) const;
-    };
-
-inline TBool TAknFepInputStateEntryQwertyCangJie::IsValidCangJieCode(TInt aKey) const
-	{
-	return ((aKey >= EPtiKeyQwertyA) && (aKey <= EPtiKeyQwertyZ));
-	}
-
-#endif //__AKN_FEP_UI_INPUT_STATE_ENTRY_QWERTY_CANGJIE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateEntryQwertyPinyin.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStateCandidateQwertyPinyin definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_ENTRY_QWERTY_PINYIN_H__
-#define __AKN_FEP_UI_INPUT_STATE_ENTRY_QWERTY_PINYIN_H__
-
-#include "AknFepUiInputStateEntryQwertyBase.h"
-#include "AknFepUIManagerStateInterface.h"
-
-class TAknFepInputStateEntryQwertyPinyin : public TAknFepInputStateEntryQwertyBase
-    {
-public:
-    TAknFepInputStateEntryQwertyPinyin(MAknFepUIManagerStateInterface* aOwner,
-                               MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    /**
-     * Handling Command events.
-     * This Method is called by CAknFepUIManagerJapanese.
-     *
-     * @param aCommandId Command ID value
-     */
-    void HandleCommandL( TInt aCommandId );
-protected:
-    void RefreshUI();  
-private:
-    TBool HandleVerticalNavigation(TInt aKey);
-    TBool HandleHorizontalNavigation(TInt aKey);
-    void UpdateIndicator();
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_ENTRY_QWERTY_PINYIN_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateEntryQwertyPinyinPhrase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStateCandidateQwertyPinyinPhrase definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_ENTRY_QWERTY_PINYIN_PHRASE_H__
-#define __AKN_FEP_UI_INPUT_STATE_ENTRY_QWERTY_PINYIN_PHRASE_H__
-
-#include "AknFepUiInputStateEntryQwertyBaseChinesePhrase.h"
-#include "AknFepUIManagerStateInterface.h"
-
-class TAknFepInputStateEntryQwertyPinyinPhrase : 
-public TAknFepInputStateEntryQwertyBaseChinesePhrase
-    {
-public:
-    TAknFepInputStateEntryQwertyPinyinPhrase(MAknFepUIManagerStateInterface* aOwner,
-                               MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_ENTRY_QWERTY_PINYIN_PHRASE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateEntryQwertyStroke.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStateEntryQwertyStroke definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_ENTRY_QWERTY_STROKE_H__
-#define __AKN_FEP_UI_INPUT_STATE_ENTRY_QWERTY_STROKE_H__
-
-#include "AknFepUiInputStateEntryQwertyBase.h"
-#include "AknFepUIManagerStateInterface.h"
-
-
-class TAknFepInputStateEntryQwertyStroke : public TAknFepInputStateEntryQwertyBase
-    {
-public:
-    TAknFepInputStateEntryQwertyStroke(MAknFepUIManagerStateInterface* aOwner,
-                               MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    /**
-     * Handling Command events.
-     * This Method is called by CAknFepUIManagerJapanese.
-     *
-     * @param aCommandId Command ID value
-     */
-    void HandleCommandL( TInt aCommandId );
-protected:
-    void RefreshUI();
-private:
-    TBool HandleHorizontalNavigation(TInt aKey);
-    TBool HandleVerticalNavigation(TInt aKey);
-    void  UpdateIndicator();
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_ENTRY_QWERTY_STROKE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateEntryQwertyStrokePhrase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-/*
-* 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:            header file of Stroke phrase Qwerty entry state
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef T_AKNFEPUIINPUTSTATEENTRYQWERTYSTROKE_PHRASE_H
-#define T_AKNFEPUIINPUTSTATEENTRYQWERTYSTROKE_PHRASE_H
-
-// User includes 
-#include "AknFepUiInputStateEntryQwertyBaseChinesePhrase.h"
-
-/**
- *  TAknFepInputStateEntryQwertyStrokePhrase class.
- *
- *  Implementation of Stroke phrase Qwerty entry state
- *
- *  @lib avkonfep.dll
- *  @since S60 v3.2
- */
-class TAknFepInputStateEntryQwertyStrokePhrase : 
-    public TAknFepInputStateEntryQwertyBaseChinesePhrase
-    {
-public:
-
-    /**
-     * C++ default constructor
-     *
-     * @since S60 V3.2
-     * @param aOwner Pointer to UI manager state interface
-     * @param aUIContainer Pointer to Chinese UI container
-     */
-    TAknFepInputStateEntryQwertyStrokePhrase(MAknFepUIManagerStateInterface* aOwner,
-        MAknFepUICtrlContainerChinese* aUIContainer);
-
-protected:
-
-    /**
-     * From TAknFepInputStateEntryQwertyBasePhrase
-     * Handle system key press event
-     *
-     * @since S60 v3.2
-     * @param aKey System key
-     * @param aLength Key press length
-     * @return ETrue if handle, otherwise this class do not handle this key
-     */
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-
-    /**
-     * From TAknFepInputStateEntryQwertyBasePhrase
-     * Update popup window
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    void RefreshUI();
-    };
-
-#endif //T_AKNFEPUIINPUTSTATEENTRYQWERTYSTROKE_PHRASE_H
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateEntryQwertyWesternPredictive.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-/*
-* Copyright (c) 2007 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:           
-*       Provides the TAknFepInputStateEntryQwertyWesternPredictive definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_ENTRY_QWERTY_WESTERN_PREDICTIVE_H__
-#define __AKN_FEP_UI_INPUT_STATE_ENTRY_QWERTY_WESTERN_PREDICTIVE_H__
-
-#include "AknFepUiInputStateBase.h"
-
-class TAknFepInputStateEntryQwertyWesternPredictive : public TAknFepInputStateBase
-    {
-public:
-    /**
-    * Constructor
-    * @param    aOwner  The UI manager that owns this input state
-    */
-    TAknFepInputStateEntryQwertyWesternPredictive(MAknFepUIManagerStateInterface* aOwner);
-    
-    /**
-    * The main handler function for the key presses.
-    * @param    aKey    The key to be handled. This may be either TKeyCode or TStdScanCode value.
-    * @param    aLength Tells if the key press is short or long one.
-    */
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    
-
-public: // Functions from MPtiObserver interface
-    /**
-    * Called when last word in the selection list is activated. Not relevant as we use the 
-    * candidate popup.
-    */
-    void LastWordInSelectionList();
-    
-    /**
-    * Called when the first word in the selection list is activated. Not relevant as we use the
-    * candidate popup.
-    */
-    void FirstWordInSelectionList();
-
-    /**
-    * Called when the Chr multitap timer expires. The case should be updated at that time.
-    */ 
-    void KeyTimerExpired();
-
-protected:
-    /**
-    * Sets the shift state of the PtiEngine according the shift and chr states of the Fep.
-    * @param    aKey    The with which the shift state is used. This is needed because shift
-    *                   works differently with letter keys than with numbers and punctuation.
-    */
-    void HandleShiftState(TInt aKey);
-    
-    /**
-    * Handles keys which cause the active word to be committed (like enter, space, tab,...).
-    * @param    aKey    The key to be handled.
-    */
-    TBool HandleWordBreakingKeysL(TInt aKey);
-    
-    /**
-    * Handles the "normal" keys which (may) cause some character to be appended to the current word.
-    * @param    aKey    The key to be handled.
-    */
-    TBool HandleQwertyKeysL(TInt aKey);
-    
-    /**
-    * Handles the keys which cause cursor movements (arrows, backspace).
-    * @param    aKey    The key to be handled
-    * @param    aLength The key press length.
-    */
-    TBool HandleNaviKeysL(TInt aKey, TKeyPressLength aLength);
-};
-
-#endif //__AKN_FEP_UI_INPUT_STATE_ENTRY_QWERTY_WESTERN_PREDICTIVE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateEntryQwertyZhuyin.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStateEntryQwertyZhuyin definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_INPUT_QWERTY_ZHUYIN_H__
-#define __AKN_FEP_UI_INPUT_STATE_INPUT_QWERTY_ZHUYIN_H__
-
-#include "AknFepUiInputStateEntryQwertyBase.h"
-
-class TAknFepInputStateEntryQwertyZhuyin : public TAknFepInputStateEntryQwertyBase
-    {
-    public:
-        TAknFepInputStateEntryQwertyZhuyin(MAknFepUIManagerStateInterface* aOwner,
-                                     MAknFepUICtrlContainerChinese* aUIContainer);
-
-        TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-	 /**
-     * Handling Command events.
-     * This Method is called by CAknFepUIManagerJapanese.
-     *
-     * @param aCommandId Command ID value
-     */
-    void HandleCommandL( TInt aCommandId );
-    public: // Functions from MPtiObserver interface
-        void KeyTimerExpired();    
-    protected:
-        void RefreshUI();
-        void UpdateIndicator();
-        TBool HandleVerticalNavigation(TInt aKey);            
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_INPUT_QWERTY_ZHUYIN_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateEntryQwertyZhuyinPhrase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStateEntryQwertyZhuyinPhrase definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_INPUT_QWERTY_ZHUYIN_PHRASE_H__
-#define __AKN_FEP_UI_INPUT_STATE_INPUT_QWERTY_ZHUYIN_PHRASE_H__
-
-#include "AknFepUiInputStateEntryQwertyBaseChinesePhrase.h"
-
-class TAknFepInputStateEntryQwertyZhuyinPhrase : 
-public TAknFepInputStateEntryQwertyBaseChinesePhrase
-    {
-public:
-    TAknFepInputStateEntryQwertyZhuyinPhrase(MAknFepUIManagerStateInterface* aOwner,
-                                 MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-public: // Functions from MPtiObserver interface
-    void KeyTimerExpired();
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_INPUT_QWERTY_ZHUYIN_PHRASE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateEntryStroke.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the TAknFepInputStateEntryStroke definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_INPUT_STROKE_H__
-#define __AKN_FEP_UI_INPUT_STATE_INPUT_STROKE_H__
-
-#include "AknFepUiInputStateEntryZhuyinStrokeBase.h"
-
-class TAknFepInputStateEntryStroke : public TAknFepInputStateEntryZhuyinStrokeBase
-    {
-public:
-    TAknFepInputStateEntryStroke(MAknFepUIManagerStateInterface* aOwner,
-                                 MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    
-
-    void HandleCommandL(TInt aCommandId);
-    
-    void RefreshUI();
-
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_INPUT_STROKE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateEntryStrokePhrase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,209 +0,0 @@
-/*
-* 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:            header file of Stroke phrase entry state
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef T_AKNFEPUIINPUTSTATEENTRYSTROKEPHRASE_H
-#define T_AKNFEPUIINPUTSTATEENTRYSTROKEPHRASE_H
-
-// User includes 
-#include "aknfepuiinputstatestrokephrasebase.h"
-
-/**
- *  TAknFepInputStateEntryStrokePhrase class.
- *
- *  Implementation of Stroke phrase entry state
- *
- *  @lib avkonfep.dll
- *  @since S60 v5.0
- */
-class TAknFepInputStateEntryStrokePhrase : 
-    public TAknFepInputStateStrokePhraseBase
-    {
-public:
-
-    /**
-     * C++ default constructor
-     *
-     * @since S60 V5.0
-     * @param aOwner Pointer to UI manager state interface
-     * @param aUIContainer Pointer to Chinese UI container
-     */
-    TAknFepInputStateEntryStrokePhrase(
-        MAknFepUIManagerStateInterface* aOwner,
-        MAknFepUICtrlContainerChinese* aUIContainer );
-	 /**
-    * Handling Command events.
-    * This Method is called by CAknFepUIManagerJapanese.
-    *
-    * @param aCommandId Command ID value
-    */
-    void HandleCommandL(TInt aCommandId);                                   
-
-    /**
-     * From TAknFepInputStateEntryZhuyinStrokeBasePhrase
-     * Handle system key press event
-     *
-     * @since S60 V5.0
-     * @param aKey System key
-     * @param aLength Key press length
-     * @return ETrue if handle, otherwise this class do not handle this key
-     */
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-private:   
-    /**
-     * Commit phrase to the EEP ctrl.
-     *
-     * @since S60 v5.0
-     * @param aText that need to commint to the EEP phrase.     
-     * @return ETrue commit to the EEP phrase successful, EFalse other.
-     */
-    TBool CommitInlineEEPL( const TDesC& aText );
-    /**
-     * Handle CBA1,ok and select candidate phrase key press.
-     *
-     * @since S60 v5.0
-     * @return None.
-     */
-    void HandleCommitL();
-    };
-
-/**
- *  TAknFepInputStateEditStrokePhrase class.
- *
- *  Implementation of Stroke phrase creation edit state
- *
- *  @lib avkonfep.dll
- *  @since S60 v5.0
- */
-class TAknFepInputStateEditStrokePhrase : public TAknFepInputStateStrokePhraseBase
-    {
-public:
-
-    /**
-     * C++ construct.
-     *
-     * @since S60 v5.0.
-     * @return self object.
-     */ 
-    TAknFepInputStateEditStrokePhrase(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer);
-    
-    /**
-     * HandleKeyL.
-     *
-     * @since S60 v5.0.
-     * @return ETrue.
-     */
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    
-    };    
-
-
-/**
- *  TAknFepInputStateEntryStrokePhraseCreation class.
- *
- *  Implementation of Stroke phrase creation candidate state
- *
- *  @lib avkonfep.dll
- *  @since S60 v5.0
- */
-class TAknFepInputStateCandidateStrokePhrase : 
-    public TAknFepInputStateStrokePhraseBase
-    {
-public:
-
-    /**
-     * C++ default constructor
-     *
-     * @since S60 v5.0
-     * @param aOwner Pointer to UI manager state interface
-     * @param aUIContainer Pointer to Chinese UI container
-     */
-    TAknFepInputStateCandidateStrokePhrase(
-        MAknFepUIManagerStateInterface* aOwner,
-        MAknFepUICtrlContainerChinese* aUIContainer);
-
-    /**
-     * From TAknFepInputStateEntryZhuyinStrokeBasePhrase
-     * Handle system key press event
-     *
-     * @since S60 v5.0
-     * @param aKey System key
-     * @param aLength Key press length
-     * @return ETrue if handle, otherwise this class do not handle this key
-     */
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    /**
-     * Handling Command events.
-     * This Method is called by CAknFepUIManagerJapanese.
-     *
-     * @param aCommandId Command ID value
-     */
-    void HandleCommandL( TInt aCommandId );   
-    
-private:
-    
-    /**
-     * Handle Horizontal Navigation.
-     *
-     * @since S60 v5.0
-     * @param aKey,key press.     
-     * @return None
-     */
-    void HandleHorizontalNavigation(TInt aKey);
-    
-    /**
-     * Commit phrase to the EEP ctrl.
-     *
-     * @since S60 v5.0
-     * @param aText that need to commint to the EEP phrase.     
-     * @return ETrue commit to the EEP phrase successful, EFalse other.
-     */
-    TBool CommitInlineEEPL( const TDesC& aText );
-    
-    /**
-     * Handle CBA1,ok and select candidate phrase key press.
-     *
-     * @since S60 v5.0
-     * @return None.
-     */
-    void HandleCommitL();
-    
-    inline TInt MapKeyToIndex(TInt aKey);
-    
-    };
-
-inline TInt TAknFepInputStateCandidateStrokePhrase::MapKeyToIndex( TInt aKey )
-    {
-    TInt index = aKey - EPtiKey0; // get zero-based value first
-    return !index ? 9 : --index; // map it for one-based keys...
-    }    
-    
-#endif //T_AKNFEPUIINPUTSTATEENTRYSTROKEPHRASE_H
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateEntryThaiPredictive.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the TAknFepInputStateEntryThaiPredictive definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_ENTRY_THAI_PREDICTIVE_H__
-#define __AKN_FEP_UI_INPUT_STATE_ENTRY_THAI_PREDICTIVE_H__
-
-#include "AknFepUiInputStateEntryWesternPredictive.h"
-
-
-class TAknFepInputStateEntryThaiPredictive : public TAknFepInputStateEntryWesternPredictive
-    {
-public:
-    TAknFepInputStateEntryThaiPredictive(MAknFepUIManagerStateInterface* aOwner);
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-
-private:
-    TBool HandleDownKeyL();
-    TBool HandleUpKeyL();
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_ENTRY_THAI_PREDICTIVE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateEntryVietnamesePredictive.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the TAknFepUiInputStateEntryVietnamesePredictive definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_ENTRY_VIET_PREDICTIVE_H__
-#define __AKN_FEP_UI_INPUT_STATE_ENTRY_VIET_PREDICTIVE_H__
-
-#include "AknFepUiInputStateEntryWesternPredictive.h"
-
-class TAknFepInputStateEntryVietnamesePredictive : public TAknFepInputStateEntryWesternPredictive
-    {
-public:
-    TAknFepInputStateEntryVietnamesePredictive(MAknFepUIManagerStateInterface* aOwner);
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-private:
-    TBool HandleStarKeyL(TKeyPressLength aLength);
-    TBool HandleDeleteKeysL(TInt aKey, TKeyPressLength /*aLength*/);
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_ENTRY_VIET_PREDICTIVE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateEntryWesternPredictive.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the TAknFepInputStateEntryWesternPredictive definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_ENTRY_WESTERN_PREDICTIVE_H__
-#define __AKN_FEP_UI_INPUT_STATE_ENTRY_WESTERN_PREDICTIVE_H__
-
-#include "AknFepUiInputStateBase.h"
-
-class TAknFepInputStateEntryWesternPredictive : public TAknFepInputStateBase
-    {
-public:
-    TAknFepInputStateEntryWesternPredictive(MAknFepUIManagerStateInterface* aOwner);
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    void HandleCommandL(TInt aCommandId);
-
-public: // Functions from MPtiObserver interface
-    void LastWordInSelectionList();
-    void FirstWordInSelectionList();
-    void DoPreviousMatchL();
-    void DoNextMatch();
-protected:
-    TBool HandleStandardNumericKeysL(TInt aKey, TKeyPressLength aLength);
-    TBool HandleNaviKeysL(TInt aKey, TKeyPressLength aLength);
-    virtual TBool HandleStarKeyL(TKeyPressLength aLength);
-
-private:
-	void ConvertDigitToDigittype(TDigitType& digittype,TDes& aConvertedNumeral);
-	TBool IsMoreCandidate();
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_ENTRY_WESTERN_PREDICTIVE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateEntryWesternPredictiveJp.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 2002-2006 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:            Provides the TAknFepInputStateEntryWesternPredictiveJp definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_ENTRY_WESTERN_PREDICTIVE_JP_H__
-#define __AKN_FEP_UI_INPUT_STATE_ENTRY_WESTERN_PREDICTIVE_JP_H__
-
-#include "AknFepUiInputStateEntryWesternPredictive.h"
-
-class TAknFepInputStateEntryWesternPredictiveJp : public TAknFepInputStateEntryWesternPredictive
-    {
-public:
-    TAknFepInputStateEntryWesternPredictiveJp(MAknFepUIManagerStateInterface* aOwner);
-
-protected:
-    TBool HandleStarKeyL(TKeyPressLength aLength);
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_ENTRY_WESTERN_PREDICTIVE_JP_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateEntryZhuyin.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the TAknFepInputStateEntryZhuyin definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_INPUT_ZHUYIN_H__
-#define __AKN_FEP_UI_INPUT_STATE_INPUT_ZHUYIN_H__
-
-#include "AknFepUiInputStateEntryZhuyinStrokeBase.h"
-
-class TAknFepInputStateEntryZhuyin : public TAknFepInputStateEntryZhuyinStrokeBase
-    {
-public:
-    TAknFepInputStateEntryZhuyin(MAknFepUIManagerStateInterface* aOwner,
-                                 MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-
-    void HandleCommandL(TInt aCommandId);
-
-public: // Functions from MPtiObserver interface
-    void KeyTimerExpired();
-protected:
-    void RefreshUI(TBool aOrdinals);
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_INPUT_ZHUYIN_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateEntryZhuyinPhrase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-/*
-* Copyright (c) 2004 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:           
-*       Provides the TAknFepInputStateEntryZhuyinPhrase definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_INPUT_ZHUYIN_PHRASE_H__
-#define __AKN_FEP_UI_INPUT_STATE_INPUT_ZHUYIN_PHRASE_H__
-
-//#include "AknFepUIInputStateEntryZhuyinStrokeBasePhrase.h"
-#include "aknfepuiinputstatezhuyinphrasecreationbase.h"
-
-class TAknFepInputStateEntryZhuyinPhrase : public TAknFepInputStateZhuyinPhraseCreationBase //TAknFepInputStateEntryZhuyinStrokeBasePhrase
-    {
-public:
-    TAknFepInputStateEntryZhuyinPhrase(
-                                    MAknFepUIManagerStateInterface* aOwner,
-                                    MAknFepUICtrlContainerChinese* aUIContainer);
-	TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-	void HandleCommandL(TInt aCommandId);
-
-public: // Functions from MPtiObserver interface
-    void KeyTimerExpired();
-    void GetNewCandidatesL(const TDesC& aSource, RPointerArray<HBufC>& aList);
-    void AddPhraseToDB( TDes& aPhrase );
-    /**
-     * Handle CBA1,ok and select candidate phrase key press.
-     *
-     * @since S60 v5.0
-     * @return None.
-     */
-    void HandleCommitL();
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_INPUT_ZHUYIN_PHRASE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateEntryZhuyinStrokeBase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the TAknFepInputStateEntryZhuyinStrokeBase definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_ZHUYIN_STROKE_BASE_H__
-#define __AKN_FEP_UI_INPUT_STATE_ZHUYIN_STROKE_BASE_H__
-
-#include "AknFepUiInputStateChineseBase.h"
-
-/**
- * Zhuyin and Stroke share a base class as there is commonality
- * over most of their functionality
- */
-class TAknFepInputStateEntryZhuyinStrokeBase : public TAknFepInputStateChineseBase
-    {
-public:
-    TAknFepInputStateEntryZhuyinStrokeBase(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer);
-
-    virtual TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    void InitializeStateL();
-
-    void HandleCommandL(TInt aCommandId);
-
-public: // Functions from MPtiObserver interface
-    virtual void KeyTimerExpired();
-
-protected:
-    void RefreshUI(TBool aOrdinals);
-    void SetInputPaneToneMark();
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_ZHUYIN_STROKE_BASE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateEntryZhuyinStrokeBasePhrase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* Copyright (c) 2004 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:           
-*       Provides the TAknFepInputStateEntryZhuyinStrokeBasePhrase definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_ZHUYIN_STROKE_BASE_PHRASE_H__
-#define __AKN_FEP_UI_INPUT_STATE_ZHUYIN_STROKE_BASE_PHRASE_H__
-
-#include "AknFepUiInputStateChineseBase.h"
-
-/**
- * Zhuyin and Stroke share a base class as there is commonality
- * over most of their functionality
- */
-class TAknFepInputStateEntryZhuyinStrokeBasePhrase : public TAknFepInputStateChineseBase
-    {
-public:
-    enum 
-        {
-        EPhoneticChanged  = 0x0001
-        };
-
-    TAknFepInputStateEntryZhuyinStrokeBasePhrase(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer);
-
-    virtual TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    void InitializeStateL();
-
-    void HandleCommandL(TInt aCommandId);
-
-public: // Functions from MPtiObserver interface
-    virtual void KeyTimerExpired();
-
-protected:
-    void RefreshUI();
-    void SetInputPaneToneMark();
-    void UpdateIndicator();
-    };
-
-
-#endif //__AKN_FEP_UI_INPUT_STATE_ZHUYIN_STROKE_BASE_PHRASE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateHalfQwerty.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
-* Copyright (c) 2007 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:           
-*       Provides the TAknFepInputStateHalfQwerty definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_HALF_QWERTY_H__
-#define __AKN_FEP_UI_INPUT_STATE_HALF_QWERTY_H__
-
-#include <w32std.h>
-#include "AknFepUiInputStateBase.h"
-
-class TAknFepInputStateHalfQwerty : public TAknFepInputStateBase
-    {
-public:
-    TAknFepInputStateHalfQwerty(MAknFepUIManagerStateInterface* aOwner); 
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    
-    void HandleCaseChange(TInt aKey, TBool aIsCharacter);
-    TBool IsCharacterKey(const TInt aKey);
-
-  
-public: // Functions from MPtiObserver interface
-    void KeyTimerExpired();
-    
-protected:
-    TBool TryGetValidCharForKey(const TInt& aKey, TChar& aChar);
-    TBool TryGetValidCharForKeyAndCase(const TInt& aKey, TChar& aChar, TPtiTextCase aCase);
-    static TInt TimerExpire(TAny* aPtr);
-    TInt ChrKeyTimerExpired();
-    TBool IsKeymapped(TInt aKey);
-    TBool CheckHasValidNumerKeyMappedL(TInt aKey, TBool &aLangChanged);	
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_HALF_QWERTY_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateInitialArabicHebrewMultitap.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the TAknFepInputStateInitialArabicHebrewMultitap definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_INIT_ARABIC_HEBREW_MULTITAP_H__
-#define __AKN_FEP_UI_INPUT_STATE_INIT_ARABIC_HEBREW_MULTITAP_H__
-
-#include "AknFepUiInputStateInitialLatinMultitap.h"
-
-class TAknFepInputStateInitialArabicHebrewMultitap : public TAknFepInputStateInitialLatinMultitap
-    {
-public:
-    TAknFepInputStateInitialArabicHebrewMultitap(MAknFepUIManagerStateInterface* aOwner); 
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_INIT_ARABIC_HEBREW_MULTITAP_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateInitialArabicHebrewPredictive.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-* Copyright (c) 2004 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:           
-*       Provides the TAknFepInputStateInitialWesternPredictive definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_INITIAL_ARABIC_HEBREW_PREDICTIVE_H__
-#define __AKN_FEP_UI_INPUT_STATE_INITIAL_ARABIC_HEBREW_PREDICTIVE_H__
-
-#include "AknFepUiInputStateInitialWesternPredictive.h"
-
-class TAknFepInputStateInitialArabicHebrewPredictive : 
-public TAknFepInputStateInitialWesternPredictive
-    {
-public:
-    TAknFepInputStateInitialArabicHebrewPredictive(MAknFepUIManagerStateInterface* aOwner);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_INITIAL_ARABIC_HEBREW_PREDICTIVE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateInitialChineseGeneric.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the TAknFepInputStateInitialChineseGeneric definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_INIT_CHIN_GEN_H__
-#define __AKN_FEP_UI_INPUT_STATE_INIT_CHIN_GEN_H__
-
-#include "AknFepUiInputStateInitialChineseMultitapBase.h"
-
-class TAknFepInputStateInitialChineseGeneric : public TAknFepInputStateInitialChineseMultitapBase
-    {
-public:
-    TAknFepInputStateInitialChineseGeneric(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_INIT_CHIN_GEN_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateInitialChineseGenericHalfQwerty.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,101 +0,0 @@
-/*
-* Copyright (c) 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:           
- *       Provides the TAknFepInputStateInitialChineseGenericHalfQwerty definition.
- *
-*/
-
-
-
-
-
-
-
-
-
-
-
-#ifndef AKNFEPUIINPUTSTATEINITIALCHINESEGENERICHALFQWERTY_H_
-#define AKNFEPUIINPUTSTATEINITIALCHINESEGENERICHALFQWERTY_H_
-#include "AknFepUiInputStateHalfQwerty.h"
-
-class TAknFepInputStateInitialChineseGenericHalfQwerty :
-public TAknFepInputStateHalfQwerty
-    {
-public:
-    /**
-     * C++ default constructor
-     *
-     * @since S60 v3.2.3
-     * @param aOwner Pointer to UI manager state interface
-     * @param aUIContainer Pointer to Chinese UI container
-     */
-    TAknFepInputStateInitialChineseGenericHalfQwerty(
-        MAknFepUIManagerStateInterface* aOwner, TInt aMode );
-    /**
-     * Handle system key press event
-     *
-     * @since S60 v3.2.3
-     * @param aKey System key
-     * @param aLength Key press length
-     * @return ETrue if handle, otherwise this class do not handle this key
-     */
-    TBool HandleKeyL( TInt aKey, TKeyPressLength aLength );
-
-private:
-    /**
-     * to check whether the key stroke is the sct key or not 
-     *
-     * @since S60 v3.2.3
-     * @param aKey System key
-     * @return ETrue if it is the sct key , otherwise not
-     */
-    TBool IsSCTKey( TInt aKey );
-    /**
-     * to check whether the key stroke is a character key or not 
-     *
-     * @since S60 v3.2.3
-     * @param aKey System key
-     * @return ETrue if it is a character key , otherwise not
-     */
-    TBool IsCharacter( TInt aKey );
-    /**
-     * Handle the shift key envent 
-     *
-     * @since S60 v3.2.3
-     * @param aKey System key
-     * @param aLength Key press length
-     * @return ETrue if handle, otherwise this class do not handle this key
-     */
-    TBool HandleKeyByShiftOrCharPressedL( TInt aKey, TKeyPressLength aLength );
-    /**
-     * to check whether the key stroke is a emotion key  or not 
-     *
-     * @since S60 v3.2.3
-     * @param aKey System key
-     * @return ETrue if it is a emotion key , otherwise not
-     */
-    TBool HandleEmotionKeyL( TInt aKey, TKeyPressLength aLength );
-    /**
-     * to check whether the key is a Multitap key or not 
-     *
-     * @since S60 v3.2.3
-     * @param aKey System key
-     * @return ETrue if it is a Multitap key , otherwise not
-     */
-    TBool IsMultitapkey( TInt aKey );
-    };
-#endif /*AKNFEPUIINPUTSTATEINITIALCHINESEGENERICHALFQWERTY_H_*/
-
-//end of the file
--- a/fep/aknfep/inc/AknFepUiInputStateInitialChineseGenericQwerty.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStateInitialChineseGenericQwerty definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_INIT_CHIN_GEN_QWERTY_H__
-#define __AKN_FEP_UI_INPUT_STATE_INIT_CHIN_GEN_QWERTY_H__
-
-#include "AknFepUiInputStateQwerty.h"
-
-class TAknFepInputStateInitialChineseGenericQwerty : public TAknFepInputStateQwerty
-    {
-public:
-    TAknFepInputStateInitialChineseGenericQwerty(MAknFepUIManagerStateInterface* aOwner, 
-                                                 TInt aMode);
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    void KeyTimerExpired();
-private:
-    TBool IsSCTKey(TInt aKey);
-    TBool IsCharacter(TInt aKey);
-    TBool HandleKeyByShiftOrCharPressed(TInt aKey, TKeyPressLength aLength);
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_INIT_CHIN_GEN_QWERTY_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateInitialChineseMultitapBase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the TAknFepInputStateInitialChineseMultitapBase definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_INIT_CHINESE_MULTITAP_BASE_H__
-#define __AKN_FEP_UI_INPUT_STATE_INIT_CHINESE_MULTITAP_BASE_H__
-
-#include "AknFepUiInputStateChineseBase.h"
-
-class MAknFepUICtrlContainerChinese;
-
-class TAknFepInputStateInitialChineseMultitapBase : public TAknFepInputStateChineseBase
-    {
-public:
-    TAknFepInputStateInitialChineseMultitapBase(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-
-public: // Functions from MPtiObserver interface
-    void KeyTimerExpired();
-
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_INIT_CHINESE_MULTITAP_BASE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateInitialFullNumber.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,122 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:            Provides the TAknFepUiInputStateInitialFullNumber definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_INIT_FULL_NUMBER_H__
-#define __AKN_FEP_UI_INPUT_STATE_INIT_FULL_NUMBER_H__
-
-// INCLUDES
-#include <e32std.h>
-
-#include "AknFepUiInputStateInitialJapaneseBase.h"
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-class MAknFepUIManagerStateInterface;
-
-/**
- *  TAknFepUiInputStateInitialFullNumber class.
- *
- *  @lib AknFep.lib
- *  @since 2.6
- */
-class TAknFepUiInputStateInitialFullNumber
- :public TAknFepUiInputStateInitialJapaneseBase
-    {
-public: // onstructors and destructor
-    /**
-     * C++ default Constructor
-     * 
-     * @since 2.6
-     * @param aOwner Object derived MAknFepUIManagerStateInterface
-     * @param aUIContainer MAknFepUICtrlContainerJapanese object
-     */
-    TAknFepUiInputStateInitialFullNumber(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerJapanese* aUIContainer);
-
-
-public:// Functions from base classes
-    /**
-     * From TAknFepUiInputStateInitialJapaneseBase
-     * Initialize state
-     * 
-     * @since 2.6
-     */
-     void InitializeStateL();
-
-    /**
-     * From TAknFepInputStateBase
-     * Hnadling Keypress events. This Method is called by CAknFepUIManagerJapanese.
-     *
-     * @since 3.0
-     * @param aKey The event key code
-     * @param aLength The Length of keypress
-     * @return ETrue If aKey was handled
-     */
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-
-public: // Functions from MPtiObserver interface
-
-    virtual void KeyTimerExpired();
-
-private: // New function
-    /**
-     * Handle ITUT-keypad characters (half-width only)
-     * 
-     * @since 3.0
-     * @param aKey The event key code
-     * @param aLength The Length of keypress
-     * @return ETrue If aKey was handled
-     */
-    TBool HandleOwnKeyL(TInt aKey, TKeyPressLength aLength);
-
-    /**
-     * Handle Qwerty characters
-     * 
-     * @since 3.0
-     * @param aKey The event key code
-     * @param aLength The Length of keypress
-     * @return ETrue If aKey was handled
-     */
-    TBool HandleQwertyKeyL(TInt aKey,
-                           TKeyPressLength aLength,
-                           TWidthChar aWidth);
-
-
-    };
-#endif //__AKN_FEP_UI_INPUT_STATE_INIT_FULL_NUMBER_H__
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateInitialHalfQwertyWesternPredictive.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the TAknFepInputStateInitialHalfQwertyWesternPredictive definition.
-*       This state is active when the predictive Half QWERTY mode is used but no
-*       inline editing is yet ongoing. The entry state is activated when some
-*       character key press is gained.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_INITIAL_HALFQWERTY_WESTERN_PREDICTIVE_H__
-#define __AKN_FEP_UI_INPUT_STATE_INITIAL_HALFQWERTY_WESTERN_PREDICTIVE_H__
-
-#include "AknFepUiInputStateBase.h"
-#include "AknFepUiInputStateInitialMultitapBase.h"
-
-class TAknFepUiInputStateInitialHalfQwertyWesternPredictive : /*public TAknFepInputStateBase, */public  TAknFepInputStateInitialMultitapBase
-    {
-public:
-    /**
-    * Constructor
-    * @param    aOwner  The UI manager owning this state object.
-    */
-    TAknFepUiInputStateInitialHalfQwertyWesternPredictive(MAknFepUIManagerStateInterface* aOwner);
-
-    /**
-    * Handler for the key presses.
-    * @param    aKey    The key code to be handled
-    * @param    aLength The lengyh of the key press
-    */
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    
-    /**
-    * Called when the Chr multitap timer expires. The case should be updated at that time.
-    */ 
-    void KeyTimerExpired();
-private:
-    void HandleShiftState( TInt aKey );
-    
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_INITIAL_HALFQWERTY_WESTERN_PREDICTIVE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateInitialHiragana.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:            Provides the TAknFepUiInputStateInitialHiragana definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_INIT_HIRAGANA_H__
-#define __AKN_FEP_UI_INPUT_STATE_INIT_HIRAGANA_H__
-
-// INCLUDES
-#include <e32std.h>
-
-#include "AknFepUiInputStateInitialJapaneseBase.h"
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-class MAknFepUIManagerStateInterface;
-
-/**
- *  TAknFepInputStateInitialHiragana class.
- *
- *  @lib AknFep.lib
- *  @since 2.6
- */
-class TAknFepUiInputStateInitialHiragana
- :public TAknFepUiInputStateInitialJapaneseBase
-    {
-public: // onstructors and destructor
-    /**
-     * C++ default Constructor
-     * 
-     * @since 2.6
-     * @param aOwner Object derived MAknFepUIManagerStateInterface
-     * @param aUIContainer MAknFepUICtrlContainerJapanese object
-     */
-    TAknFepUiInputStateInitialHiragana(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerJapanese* aUIContainer);
-
-public:// Functions from base classes
-    /**
-     * From TAknFepUiInputStateInitialJapaneseBase
-     * Initialize state
-     * 
-     * @since 2.6
-     */
-     void InitializeStateL();
-
-protected: // Functions from base classes
-    /**
-     * From TAknFepUiInputStateInitialJapaneseBase
-     * Handling short keypress events of the numeric and the star.
-     * HandleKeyEventL() call this method.
-     * 
-     * @since 2.6
-     * @param aKey The event key code
-     * @return ETrue If aKey was handled
-     */
-    TBool HandleNumericShortKeyL(TInt aKey);
-    };
-#endif //__AKN_FEP_UI_INPUT_STATE_INIT_HIRAGANA_H__
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateInitialHiraganaKanji.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:            Provides the TAknFepUiInputStateInitialHiraganaKanji definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_INIT_HIRAGANA_KANJI_H__
-#define __AKN_FEP_UI_INPUT_STATE_INIT_HIRAGANA_KANJI_H__
-
-// INCLUDES
-#include <e32std.h>
-
-#include "AknFepUiInputStateInitialJapaneseBase.h"
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-class MAknFepUIManagerStateInterface;
-enum TKeyPressLength;
-
-/**
- *  TAknFepUiInputStateInitialHiraganaKanji class.
- *
- *  @lib AknFep.lib
- *  @since 2.6
- */
-class TAknFepUiInputStateInitialHiraganaKanji
- :public TAknFepUiInputStateInitialJapaneseBase
-    {
-public: // Constructors and destructor
-    /**
-     * C++ default Constructor
-     * 
-     * @since 2.6
-     * @param aOwner Object derived MAknFepUIManagerStateInterface
-     * @param aUIContainer MAknFepUICtrlContainerJapanese object
-     */
-    TAknFepUiInputStateInitialHiraganaKanji(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerJapanese* aUIContainer);
-
-public:// Functions from base classes
-    /**
-     * From TAknFepUiInputStateInitialJapaneseBase
-     * Initialize state
-     * 
-     * @since 2.6
-     */
-     void InitializeStateL();
-
-protected:// Functions from base classes
-    /**
-     * From TAknFepUiInputStateJapaneseBase
-     * Handling short keypress events of the numeric and the star.
-     * HandleKeyEventL() call this method.
-     * 
-     * @since 2.6
-     * @param aKey The event key code
-     * @return ETrue If aKey was handled
-     */
-     TBool HandleNumericShortKeyL(TInt aKey);
-    };
-#endif //__AKN_FEP_UI_INPUT_STATE_INIT_HIRAGANA_KANJI_H__
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateInitialIndicPredictive.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:            Provides the TAknFepInputStateInitialIndicPredictive definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_INITIAL_INDIC_PREDICTIVE_H__
-#define __AKN_FEP_UI_INPUT_STATE_INITIAL_INDIC_PREDICTIVE_H__
-
-#include "AknFepUiInputStateInitialMultitapBase.h"
-
-
-/**
-*  This class handles the initial predictive state for Indic languages.
-*  @lib avkonfep.dll
-*  @since Series 60 3.1
-*/
-
-class TAknFepInputStateInitialIndicPredictive : public TAknFepInputStateInitialMultitapBase
-    {
-public:
-	/**
-    * 
-    * Constructor for TAknFepInputStateInitialIndicPredictive.	
-    * @since 3.1M
-    * @return 
-    */
-    TAknFepInputStateInitialIndicPredictive(MAknFepUIManagerStateInterface* aOwner, 
-                                            TLanguage aLanguage);
-
-public: // from TAknFepInputStateBase 
-    /**
-    * 
-    * Returns the virama character depending on the input language.	
-    * @since 3.1M
-    * @return Etrue if the Key is handled. 
-    */
-  
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_INITIAL_INDIC_PREDICTIVE_H__
-//End of File
\ No newline at end of file
--- a/fep/aknfep/inc/AknFepUiInputStateInitialJapaneseBase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:            Provides the TAknFepUiInputStateInitialJapaneseBase definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_INIT_JAPANESE_BASE_H__
-#define __AKN_FEP_UI_INPUT_STATE_INIT_JAPANESE_BASE_H__
-
-// INCLUDES
-#include <e32std.h>
-
-#include "AknFepUiInputStateJapaneseBase.h"
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-class MAknFepUIManagerStateInterface;
-enum TKeyPressLength;
-/**
- *  TAknFepUiInputStateInitialJapaneseBase class.
- *
- *  @lib AknFep.lib
- *  @since 2.6
- */
-class TAknFepUiInputStateInitialJapaneseBase :public TAknFepUiInputStateJapaneseBase
-    {
-public: // onstructors and destructor
-    /**
-     * C++ default Constructor
-     * 
-     * @since 2.6
-     * @param aOwner Object derived MAknFepUIManagerStateInterface
-     * @param aUIContainer MAknFepUICtrlContainerJapanese object
-     */
-    TAknFepUiInputStateInitialJapaneseBase(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerJapanese* aUIContainer);
-
-public:// Functions from base classes
-    /**
-     * From TAknFepUiInputStateJapaneseBase
-     * Initialize state
-     * 
-     * @since 2.6
-     */
-     void InitializeStateL();
-
-protected:// Functions from base classes
-    /**
-     * From TAknFepUiInputStateJapaneseBase
-     * Handling short keypress events of the numeric and the star.
-     * HandleKeyEventL() call this method.
-     * 
-     * @since 2.6
-     * @param aKey The event key code
-     * @return ETrue If aKey was handled
-     */
-     TBool HandleNumericShortKeyL(TInt aKey);
-
-    /**
-     * From TAknFepUiInputStateJapaneseBase
-     * Handling auxiliary keypress events including OK and Backspace.
-     * HandleKeyEventL() call this method.
-     *
-     * @since 2.6
-     * @param aKey The event key code
-     * @param aLength The Length of keypress
-     * @return ETrue If aKey was handled
-     */
-     TBool HandleAuxKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-#endif //__AKN_FEP_UI_INPUT_STATE_INIT_JAPANESE_BASE_H__
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateInitialKatakana.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:            Provides the TAknFepUiInputStateInitialKatakana definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_INIT_KATAKANA_H__
-#define __AKN_FEP_UI_INPUT_STATE_INIT_KATAKANA_H__
-
-// INCLUDES
-#include <e32std.h>
-
-#include "AknFepUiInputStateInitialJapaneseBase.h"
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-class MAknFepUIManagerStateInterface;
-
-/**
- *  TAknFepUiInputStateInitialKatakana class.
- *
- *  @lib AknFep.lib
- *  @since 2.6
- */
-class TAknFepUiInputStateInitialKatakana
-  :public TAknFepUiInputStateInitialJapaneseBase
-    {
-public: // onstructors and destructor
-    /**
-     * C++ default Constructor
-     * 
-     * @since 2.6
-     * @param aOwner Object derived MAknFepUIManagerStateInterface
-     * @param aUIContainer MAknFepUICtrlContainerJapanese object
-     */
-    TAknFepUiInputStateInitialKatakana(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerJapanese* aUIContainer);
-
-public: // Functions from base classes
-    /**
-     * From TAknFepUiInputStateInitialJapaneseBase
-     * Initialize state
-     * 
-     * @since 2.6
-     */
-     void InitializeStateL();
-
-    /**
-     * From TAknFepUiInputStateInitialJapaneseBase
-     * Handling Command events. This Method is called by CAknFepUIManagerJapanese.
-     *
-     * @since 2.6
-     * @param aCommandId Command ID value
-     */
-     void HandleCommandL(TInt aCommandId);
-
-private: // New functions
-    /**
-     * Setting input mode to PtiEngine
-     *
-     * @since 3.0
-     * @param aWidth Full or Half width
-     */
-    void SetInputMode(const TWidthChar aWidth);
-    };
-#endif //__AKN_FEP_UI_INPUT_STATE_INIT_KATAKANA_H__
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateInitialKoreanMultitap.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 2004 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:           
-*       Provides the TAknFepInputStateInitialKoreanMultitap definition.
-*
-*/
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_INIT_KOREAN_MULTITAP_H__
-#define __AKN_FEP_UI_INPUT_STATE_INIT_KOREAN_MULTITAP_H__
-
-#include "AknFepUiInputStateInitialMultitapBase.h"
-
-class TAknFepInputStateInitialKoreanMultitap : public TAknFepInputStateInitialMultitapBase
-    {
-public:
-    TAknFepInputStateInitialKoreanMultitap(MAknFepUIManagerStateInterface* aOwner); 
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-	
-	/**
-	 * Decides whether text input should be commited or not.
-	 * Function makes comparison between latest key input and korean keymappping data.
-	 * if data match, then text is to be commited. 
-     * @param aData TPtrC
-     * @param aKey TInt.
-     * @return TBool
-	 */
-	TBool CommitOrNot(TPtrC aData, TInt aKey);
-
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_INIT_KOREAN_MULTITAP_H__
-
-// End of file
\ No newline at end of file
--- a/fep/aknfep/inc/AknFepUiInputStateInitialLatinJapanese.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:            Provides the TAknFepUiInputStateInitialLatinJapanese definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_INIT_FULL_LATIN_H__
-#define __AKN_FEP_UI_INPUT_STATE_INIT_FULL_LATIN_H__
-
-// INCLUDES
-#include <e32std.h>
-
-#include "AknFepUiInputStateInitialJapaneseBase.h"
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-class MAknFepUIManagerStateInterface;
-
-/**
- *  TAknFepUiInputStateInitialLatinJapanese class.
- *
- *  @lib AknFep.lib
- *  @since 2.6
- */
-class TAknFepUiInputStateInitialLatinJapanese
- :public TAknFepUiInputStateInitialJapaneseBase
-    {
-public: // onstructors and destructor
-    /**
-     * C++ default Constructor
-     * 
-     * @since 2.6
-     * @param aOwner Object derived MAknFepUIManagerStateInterface
-     * @param aUIContainer MAknFepUICtrlContainerJapanese object
-     */
-    TAknFepUiInputStateInitialLatinJapanese(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerJapanese* aUIContainer);
-
-public:// Functions from base classes
-    /**
-     * From TAknFepUiInputStateInitialJapaneseBase
-     * Initialize state
-     * 
-     * @since 2.6
-     */
-     void InitializeStateL();
-
-protected: // Functions from base classes
-    /**
-     * From TAknFepUiInputStateInitialJapaneseBase
-     * Handling short keypress events of the numeric and the star.
-     * HandleKeyEventL() call this method.
-     * 
-     * @since 2.6
-     * @param aKey The event key code
-     * @return ETrue If aKey was handled
-     */
-     TBool HandleNumericShortKeyL(TInt aKey);
-
-    /**
-     * Handling auxiliary keypress events including OK and Backspace.
-     * HandleKeyEventL() call this method.
-     *
-     * @since 3.1
-     * @param aKey The event key code
-     * @param aLength The Length of keypress
-     * @return ETrue If aKey was handled
-     */
-    virtual TBool HandleAuxKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-#endif //__AKN_FEP_UI_INPUT_STATE_INIT_FULL_LATIN_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateInitialLatinMultitap.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the TAknFepInputStateInitialLatinMultitap definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_INIT_LATIN_MULTITAP_H__
-#define __AKN_FEP_UI_INPUT_STATE_INIT_LATIN_MULTITAP_H__
-
-#include "AknFepUiInputStateInitialMultitapBase.h"
-
-class TAknFepInputStateInitialLatinMultitap : public TAknFepInputStateInitialMultitapBase
-    {
-public:
-    TAknFepInputStateInitialLatinMultitap(MAknFepUIManagerStateInterface* aOwner); 
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_INIT_LATIN_MULTITAP_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateInitialMultitapBase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the TAknFepInputStateInitialMultitapBase definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_INIT_MULTITAP_BASE_H__
-#define __AKN_FEP_UI_INPUT_STATE_INIT_MULTITAP_BASE_H__
-
-#include "AknFepUiInputStateBase.h"
-
-class TAknFepInputStateInitialMultitapBase : public TAknFepInputStateBase
-    {
-public:
-    TAknFepInputStateInitialMultitapBase(MAknFepUIManagerStateInterface* aOwner); 
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-
-	/**
-	 * Set the Star key flag
-	 *
-     * @param aSet TBool.
-     * @return None
-	 */
-	void SetStarKeyFlag( TBool aSet );
-
-public: // Functions from MPtiObserver interface
-
-    virtual void KeyTimerExpired();
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_INIT_MULTITAP_BASE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateInitialNumber.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the TAknFepInputStateInitialNumber definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_INITIAL_NUMBER_H__
-#define __AKN_FEP_UI_INPUT_STATE_INITIAL_NUMBER_H__
-
-#include "AknFepUiInputStateInitialMultitapBase.h"
-
-class TAknFepInputStateInitialNumber : public TAknFepInputStateInitialMultitapBase
-    {
-public:
-    TAknFepInputStateInitialNumber(MAknFepUIManagerStateInterface* aOwner); 
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-protected:
-    static TInt NumericResourceTimerTimeoutL(TAny* aPtr);
-    TInt NumericResourceKeyTimerTimeoutL();    
-    
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_INITIAL_NUMBER_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateInitialQwertyWesternPredictive.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the TAknFepInputStateInitialQwertyWesternPredictive definition.
-*       This state is active when the predictive QWERTY mode is used but no
-*       inline editing is yet ongoing. The entry state is activated when some
-*       character key press is gained.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_INITIAL_QWERTY_WESTERN_PREDICTIVE_H__
-#define __AKN_FEP_UI_INPUT_STATE_INITIAL_QWERTY_WESTERN_PREDICTIVE_H__
-
-#include "AknFepUiInputStateBase.h"
-
-class TAknFepInputStateInitialQwertyWesternPredictive : public TAknFepInputStateBase
-    {
-public:
-    /**
-    * Constructor
-    * @param    aOwner  The UI manager owning this state object.
-    */
-    TAknFepInputStateInitialQwertyWesternPredictive(MAknFepUIManagerStateInterface* aOwner);
-
-    /**
-    * Handler for the key presses.
-    * @param    aKey    The key code to be handled
-    * @param    aLength The lengyh of the key press
-    */
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_INITIAL_QWERTY_WESTERN_PREDICTIVE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateInitialStrokeFind.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the TAknFepInputStateInitialStrokeFind definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_STROKE_FIND_H__
-#define __AKN_FEP_UI_INPUT_STATE_STROKE_FIND_H__
-
-#include "AknFepUiInputStateChineseBase.h"
-
-class TAknFepInputStateInitialStrokeFind : public TAknFepInputStateChineseBase
-    {
-public:
-    TAknFepInputStateInitialStrokeFind(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_STROKE_FIND_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateInitialThaiPredictive.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* Copyright (c) 2002-2007 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:           
-*       Provides the TAknFepInputStateInitialThaiPredictive definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_INITIAL_THAI_PREDICTIVE_H__
-#define __AKN_FEP_UI_INPUT_STATE_INITIAL_THAI_PREDICTIVE_H__
-
-#include "AknFepUiInputStateInitialMultitapBase.h"
-
-class TAknFepInputStateInitialThaiPredictive : public TAknFepInputStateInitialMultitapBase
-    {
-public:
-    TAknFepInputStateInitialThaiPredictive(MAknFepUIManagerStateInterface* aOwner);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-
-    void HandleCommandL(TInt aCommandId);
-
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_INITIAL_THAI_PREDICTIVE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateInitialWesternPredictive.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the TAknFepInputStateInitialWesternPredictive definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_INITIAL_WESTERN_PREDICTIVE_H__
-#define __AKN_FEP_UI_INPUT_STATE_INITIAL_WESTERN_PREDICTIVE_H__
-
-#include "AknFepUiInputStateInitialMultitapBase.h"
-
-// Reverting the change of deriving from TAknFepInputStateBase to fix the bugs
-// BSAN-7G4G3K and BSAN-7GD8ZW.
-class TAknFepInputStateInitialWesternPredictive : public TAknFepInputStateInitialMultitapBase
-    {
-public:
-    TAknFepInputStateInitialWesternPredictive(MAknFepUIManagerStateInterface* aOwner);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_INITIAL_WESTERN_PREDICTIVE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateInitialZhuyinFind.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the TAknFepInputStateInitialZhuyinFind definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_ZHUYIN_FIND_H__
-#define __AKN_FEP_UI_INPUT_STATE_ZHUYIN_FIND_H__
-
-#include "AknFepUiInputStateInitialChineseMultitapBase.h"
-
-class TAknFepInputStateInitialZhuyinFind : public TAknFepInputStateInitialChineseMultitapBase
-    {
-public:
-    TAknFepInputStateInitialZhuyinFind(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer);
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_ZHUYIN_FIND_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateJapaneseBase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,261 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:            Provides the TAknFepUiInputStateJapaneseBase definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUTSTATE_JAPANESE_BASE_H__
-#define __AKN_FEP_UI_INPUTSTATE_JAPANESE_BASE_H__
-
-// INCLUDES
-#include <e32std.h>
-#include <uikon.hrh>
-
-#include "AknFepUiInputStateBase.h"
-#include "AknFepGlobalEnums.h"
-#include "AknFepUICtrlContainerJapanese.h"
-
-#include <PtiObserver.h> // MPtiObserver
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-class MAknFepUIManagerStateInterface;
-
-/**
- *  TAknFepUiInputStateJapaneseBase class.
- *
- *  @lib AknFep.lib
- *  @since 2.6
- */
-class TAknFepUiInputStateJapaneseBase : public TAknFepInputStateBase
-    {
-protected:
-        enum TStateEvent
-        {
-        EStateEventNone,
-        EStateEventCompleteCharacter,
-        EStateEventDeleteCharacter,
-        EStateEventScrollLeft,
-        EStateEventScrollRigth,
-        EStateEventScrollUp,
-        EStateEventScrollDown,
-        EStateEventCandidateOff,
-        EStateEventCandidateOn
-        };
-
-public: // Constructors and destructor
-    /**
-     * C++ default Constructor
-     *
-     * @since 2.6
-     * @param aOwner Object derived MAknFepUIManagerStateInterface
-     * @param aUIContainer MAknFepUICtrlContainerJapanese object
-     */
-    TAknFepUiInputStateJapaneseBase(MAknFepUIManagerStateInterface* aOwner,
-                                    MAknFepUICtrlContainerJapanese* aUIContainer);
-
-
-public: // Functions from base classes
-    /**
-     * From MPtiObserver
-     * Call this function when Multitap timer of PtiEngine was time-out
-     *
-     * @since 2.6
-     */
-     void KeyTimerExpired();
-
-    /**
-     * From MPtiObserver
-     * not-use Japanese state
-     *
-     * @since 2.6
-     */
-     void LastWordInSelectionList();
-
-    /**
-     * From MPtiObserver
-     * not-use Japanese state
-     *
-     * @since 2.6
-     */
-     void FirstWordInSelectionList();
-
-    /**
-     * From TAknFepInputStateBase
-     * Hnadling Keypress events. This Method is called by CAknFepUIManagerJapanese.
-     *
-     * @since 2.6
-     * @param aKey The event key code
-     * @param aLength The Length of keypress
-     * @return ETrue If aKey was handled
-     */
-     TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-
-    /**
-     * From TAknFepInputStateBase
-     * Handling Command events. This Method is called by CAknFepUIManagerJapanese.
-     *
-     * @since 2.6
-     * @param aCommandId Command ID value
-     */
-     void HandleCommandL(TInt aCommandId);
-
-    /**
-     * From TAknFepInputStateBase
-     * A patch to force the vtable to be copied during an assignment.
-     *
-     * @since 2.6
-     */
-    void operator=(const TAknFepInputStateBase& aState);
-
-protected: // New Functions
-    /**
-     * Handling short keypress events of the numeric and the star.
-     * HandleKeyEventL() call this method.
-     *
-     * @since 2.6
-     * @param aKey The event key code
-     * @return ETrue If aKey was handled
-     */
-    virtual TBool HandleNumericShortKeyL(TInt aKey);
-
-    /**
-     * Handling numeric long-keypress events.
-     * HandleKeyEventL() call this method.
-     *
-     * @since 2.6
-     * @param aKey The event key code
-     * @return ETrue If aKey was handled
-     */
-    virtual TBool HandleNumericLongKeyL(TInt aKey);
-
-    /**
-     * Handling Qwerty keypress events.
-     * HandleKeyEventL() call this method.
-     *
-     * @since 2.8
-     * @param aKey The event key code
-     * @return ETrue If aKey was handled
-     */
-    virtual TBool HandleQwertyShortKeyL(TInt aKey);
-
-    /**
-     * Handling navigate keypress events. HandleKeyEventL() call this method.
-     *
-     * @since 2.6
-     * @param aKey The event key code
-     * @param aLength The Length of keypress
-     * @return ETrue If aKey was handled
-     */
-    virtual TBool HandleNaviKeyL(TInt aKey, TKeyPressLength aLength);
-
-    /**
-     * Handling auxiliary keypress events including OK and Backspace.
-     * HandleKeyEventL() call this method.
-     *
-     * @since 2.6
-     * @param aKey The event key code
-     * @param aLength The Length of keypress
-     * @return ETrue If aKey was handled
-     */
-    virtual TBool HandleAuxKeyL(TInt aKey, TKeyPressLength aLength);
-
-    /**
-     * Update inline editing string
-     *
-     * @since 2.6
-     * @return ETrue If inline editing string was updated
-     */
-    virtual TBool UpdateInlineEditingCharacterL();
-
-    /**
-     * Commit inline editing string
-     *
-     * @since 2.6
-     * @return ETrue If inline editing string was updated
-     */
-    virtual TBool CommitInlineEditingCharacterL();
-
-    /**
-     * Getting UI container object
-     *
-     * @since 2.6
-     * @return Japanese UI container object
-     */
-    MAknFepUICtrlContainerJapanese* UIContainer();
-
-    /**
-     * Update character case
-     *
-     * @since 2.6
-     * @param aChar 1-character, Judgment data of character case
-     */
-    void  UpdateCase(TPtrC& aChar);
-
-    TBool IsNumberKey(const TInt aKey);
-    TBool IsQwertyKey(const TInt aKey);
-
-private: // New Functions
-    /**
-     * Check whether last catacter case and current catacter case is same
-     * 
-     * @since 2.6
-     * @param aChar 1-character, Judgment data of character case
-     * @return ETrue If aChar case is diffrent from last character
-     */
-    TBool IsDiffrentCase(TPtrC& aChar) const;
-
-    /**
-     * Check a caracter case is upper
-     * 
-     * @since 2.6
-     * @param aChar 1-character, Judgment data of character case
-     * @return ETrue If aChar case is upper case
-     */
-    TBool IsUpperCase(TPtrC& aChar) const;
-
-    /**
-     * Check a caracter case is lower
-     *
-     * @since 2.6
-     * @param aChar 1-character, Judgment data of character case
-     * @return ETrue If aChar case is lower case
-     */
-    TBool IsLowerCase(TPtrC& aChar) const;
-
-protected: // Data
-    MAknFepUICtrlContainerJapanese* iUIContainer; // not owner
-    };
-#endif//__AKN_FEP_UI_INPUT_STATE_JAPANESE_BASE_H__
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateJapanesePredictiveBase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,123 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the TAknFepUiInputStateJapanesePredictiveBase definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_JAPANESE_PREDICTIVE_BASE_H__
-#define __AKN_FEP_UI_INPUT_STATE_JAPANESE_PREDICTIVE_BASE_H__
-
-// INCLUDES
-#include <e32std.h>
-
-#include "AknFepUiInputStateJapaneseBase.h"
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-class MAknFepUIManagerStateInterface;
-enum TKeyPressLength;
-
-/**
- *  TAknFepUiInputStateJapanesePredictiveBase class.
- *
- *  @lib AknFep.lib
- *  @since 2.6
- */
-class TAknFepUiInputStateJapanesePredictiveBase
-    :public TAknFepUiInputStateJapaneseBase
-    {
-public: // Constructors and destructor
-    /**
-     * C++ default Constructor
-     * 
-     * @since 2.6
-     * @param aOwner Object derived MAknFepUIManagerStateInterface
-     * @param aUIContainer MAknFepUICtrlContainerJapanese object
-     */
-    TAknFepUiInputStateJapanesePredictiveBase(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerJapanese* aUIContainer);
-
-public: // Functions from base classes
-    /**
-     * From TAknFepUiInputStateEntryJapaneseMultitap
-     * 
-     * @since 2.6
-     */
-     void CloseUI();
-
-protected: // Functions from base classes
-    /**
-     * From TAknFepUiInputStateEntryJapaneseMultitap
-     * Handling numeric long-keypress events.
-     * HandleKeyEventL() call this method.
-     *
-     * @since 2.6
-     * @param aKey The event key code
-     * @return ETrue If aKey was handled
-     */
-     TBool HandleNumericLongKeyL(TInt aKey);
-
-    /**
-     * From TAknFepUiInputStateEntryJapaneseMultitap
-     * Handling navigate keypress events. HandleKeyEventL() call this method.
-     *
-     * @since 2.6
-     * @param aKey The event key code
-     * @param aLength The Length of keypress
-     * @return ETrue If aKey was handled
-     */
-     TBool HandleNaviKeyL(TInt aKey, TKeyPressLength aLength);
-
-    /**
-     * From TAknFepUiInputStateEntryJapaneseMultitap
-     * Update inline editing string
-     *
-     * @since 2.6
-     * @return ETrue If inline editing string was updated
-     */
-     TBool UpdateInlineEditingCharacterL();
-
-protected: // New Fanctions
-    /**
-     *
-     *
-     * @since 2.6
-     * @return ETrue
-     */
-    virtual TBool UpdateCandidateListL(TInt aIndex = 0);
-    };
-#endif //__AKN_FEP_UI_INPUT_STATE_JAPANESE_PREDICTIVE_BASE_H__
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateNextWordJapanesePredictive.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the TAknFepUiInputStateNextWordJapanesePredictive definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_NEXTWORD_JAPANESE_PREDICTIVE_H__
-#define __AKN_FEP_UI_INPUT_STATE_NEXTWORD_JAPANESE_PREDICTIVE_H__
-
-// INCLUDES
-#include <e32std.h>
-
-#include "AknFepUiInputStateJapanesePredictiveBase.h"
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-class MAknFepUIManagerStateInterface;
-enum TKeyPressLength;
-
-/**
- *  TAknFepUiInputStateNextWordJapanesePredictive class.
- *
- *  @lib AknFep.lib
- *  @since 2.6
- */
-class TAknFepUiInputStateNextWordJapanesePredictive
-    :public TAknFepUiInputStateJapanesePredictiveBase
-    {
-public: // Constructors and destructor
-    /**
-     * C++ default Constructor
-     * 
-     * @since 2.6
-     * @param aOwner Object derived MAknFepUIManagerStateInterface
-     * @param aUIContainer MAknFepUICtrlContainerJapanese object
-     */
-    TAknFepUiInputStateNextWordJapanesePredictive(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerJapanese* aUIContainer);
-
-public: // Functions from base classes
-    /**
-     * From TAknFepUiInputStateJapanesePredictiveBase
-     * Initialize state
-     * 
-     * @since 2.6
-     */
-     void InitializeStateL();
-
-    /**
-     * From TAknFepUiInputStateJapanesePredictiveBase
-     * Handling Command events. This Method is called by CAknFepUIManagerJapanese.
-     * 
-     * @since 2.6
-     * @param aCommandId Command ID value
-     */
-     void HandleCommandL(TInt aCommandId);
-
-protected: // Functions from base classes
-    /**
-     * From TAknFepUiInputStateJapanesePredictiveBase
-     * Handling short keypress events of the numeric and the star.
-     * HandleKeyEventL() call this method.
-     * 
-     * @since 2.6
-     * @param aKey The event key code
-     * @return ETrue If aKey was handled
-     */
-     TBool HandleNumericShortKeyL(TInt aKey);
-
-    /**
-     * From TAknFepUiInputStateJapanesePredictiveBase
-     * Handling auxiliary keypress events including OK and Backspace.
-     * HandleKeyEventL() call this method.
-     *
-     * @since 2.6
-     * @param aKey The event key code
-     * @param aLength The Length of keypress
-     * @return ETrue If aKey was handled
-     */
-     TBool HandleAuxKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-#endif //__AKN_FEP_UI_INPUT_STATE_NEXTWORD_JAPANESE_PREDICTIVE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStatePredictiveCandidate.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the TAknFepInputStatePredictiveCandidate definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_PRED_CAND_H__
-#define __AKN_FEP_UI_INPUT_STATE_PRED_CAND_H__
-
-#include "AknFepUiInputStateCandidateBase.h"
-
-class TAknFepInputStatePredictiveCandidate : public TAknFepInputStateCandidateBase 
-    {
-public:
-    TAknFepInputStatePredictiveCandidate(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-
-#endif __AKN_FEP_UI_INPUT_STATE_PRED_CAND_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStatePredictiveCandidateChinesePhrase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c)  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:            ?Description
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef T_AKNFEPUIINPUTSTATEPREDCANDCHINESEPHRASE_H_
-#define T_AKNFEPUIINPUTSTATEPREDCANDCHINESEPHRASE_H_
-
-#include "AknFepUiInputStateCandidateBaseChinesePhrase.h"
-
-class TAknFepInputStatePredictiveCandidateChinesePhrase : 
-public TAknFepInputStateCandidateBaseChinesePhrase 
-    {
-public:
-    TAknFepInputStatePredictiveCandidateChinesePhrase(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-
-#endif T_AKNFEPUIINPUTSTATEPREDCANDCHINESEPHRASE_H_
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStatePredictiveCandidateHalfQwertyChinesePhrase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-#ifndef AKNFEPUIINPUTSTATEPREDICTIVECANDIDATEHALFQWERTYCHINESEPHRASE_H_
-#define AKNFEPUIINPUTSTATEPREDICTIVECANDIDATEHALFQWERTYCHINESEPHRASE_H_/*
-* Copyright (c) 2007 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:           
-*       Provides the  TAknFepInputStatePredictiveCandidateMiniQwertyPinyinPhrase definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStatePredictiveInputQwertyChinesePhrase.h"
-
-
-
-class TAknFepInputStatePredictiveCandidateHalfQwertyChinesePhrase : 
-    public TAknFepInputStatePredictiveInputQwertyChinesePhrase
-    {
-public:
-
-    /**
-     * C++ default constructor
-     *
-     * @since S60 V3.2
-     * @param aOwner Pointer to UI manager state interface
-     * @param aUIContainer Pointer to Chinese UI container
-     */
-
-    TAknFepInputStatePredictiveCandidateHalfQwertyChinesePhrase(
-        MAknFepUIManagerStateInterface* aOwner,
-        MAknFepUICtrlContainerChinese* aUIContainer);
-
-protected:
-
-    /**
-     * From TAknFepInputStatePredictiveInputQwertyPhrase
-     * Handle system key press event
-     *
-     * @since S60 v3.2
-     * @param aKey System key
-     * @param aLength Key press length
-     * @return ETrue if handle, otherwise this class do not handle this key
-     */
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-
-#endif /*AKNFEPUIINPUTSTATEPREDICTIVECANDIDATEHALFQWERTYCHINESEPHRASE_H_*/
--- a/fep/aknfep/inc/AknFepUiInputStatePredictiveCandidateMiniQwertyChinesePhrase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-/*
-* Copyright (c) 2007 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:           
-*       Provides the  TAknFepInputStatePredictiveCandidateMiniQwertyPinyinPhrase definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_PREDICTIVECANDIDATE_MINIQWERTY_CHINESEPHRASE_H__
-#define __AKN_FEP_UI_INPUT_STATE_PREDICTIVECANDIDATE_MINIQWERTY_CHINESEPHRASE_H__
-
-#include "AknFepUiInputStatePredictiveInputQwertyChinesePhrase.h"
-
-
-
-class TAknFepInputStatePredictiveCandidateMiniQwertyChinesePhrase : 
-    public TAknFepInputStatePredictiveInputQwertyChinesePhrase
-    {
-public:
-
-    /**
-     * C++ default constructor
-     *
-     * @since S60 V3.2
-     * @param aOwner Pointer to UI manager state interface
-     * @param aUIContainer Pointer to Chinese UI container
-     */
-
-    TAknFepInputStatePredictiveCandidateMiniQwertyChinesePhrase(
-        MAknFepUIManagerStateInterface* aOwner,
-        MAknFepUICtrlContainerChinese* aUIContainer);
-
-    /**
-     * Handling Command events.
-     * This Method is called by CAknFepUIManagerJapanese.
-     *
-     * @param aCommandId Command ID value
-     */
-    void HandleCommandL( TInt aCommandId );
-protected:
-
-    /**
-     * From TAknFepInputStatePredictiveInputQwertyPhrase
-     * Handle system key press event
-     *
-     * @since S60 v3.2
-     * @param aKey System key
-     * @param aLength Key press length
-     * @return ETrue if handle, otherwise this class do not handle this key
-     */
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-
-    };
-
-
-
-#endif __AKN_FEP_UI_INPUT_STATE_PREDICTIVECANDIDATE_MINIQWERTY_CHINESEPHRASE_H__
\ No newline at end of file
--- a/fep/aknfep/inc/AknFepUiInputStatePredictiveCandidatePhrase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2004 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:           
-*       Provides the TAknFepInputStatePredictiveCandidatePhrase definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_PRED_CAND_PHRASE_H__
-#define __AKN_FEP_UI_INPUT_STATE_PRED_CAND_PHRASE_H__
-
-#include "AknFepUiInputStateCandidateBasePhrase.h"
-
-class TAknFepInputStatePredictiveCandidatePhrase : public TAknFepInputStateCandidateBasePhrase 
-    {
-public:
-    TAknFepInputStatePredictiveCandidatePhrase(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-
-#endif __AKN_FEP_UI_INPUT_STATE_PRED_CAND_PHRASE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStatePredictiveCandidatePinyin.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the TAknFepInputStatePredictiveCandidatePinyin definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_PRED_CAND_PINYIN_H__
-#define __AKN_FEP_UI_INPUT_STATE_PRED_CAND_PINYIN_H__
-
-#include "AknFepUiInputStatePredictiveCandidate.h"
-
-class TAknFepInputStatePredictiveCandidatePinyin : public TAknFepInputStatePredictiveCandidate
-    {
-public:
-    TAknFepInputStatePredictiveCandidatePinyin(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-
-#endif __AKN_FEP_UI_INPUT_STATE_PRED_CAND_PINYIN_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStatePredictiveCandidatePinyinPhrase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2004 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:           
-*       Provides the TAknFepInputStatePredictiveCandidatePinyinPhrase definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_PRED_CAND_PINYIN_PHRASE_H__
-#define __AKN_FEP_UI_INPUT_STATE_PRED_CAND_PINYIN_PHRASE_H__
-
-#include "AknFepUiInputStatePredictiveCandidateChinesePhrase.h"
-
-class TAknFepInputStatePredictiveCandidatePinyinPhrase : 
-public TAknFepInputStatePredictiveCandidateChinesePhrase
-    {
-public:
-    TAknFepInputStatePredictiveCandidatePinyinPhrase(
-								MAknFepUIManagerStateInterface* aOwner,
-								MAknFepUICtrlContainerChinese* aUIContainer); 
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-
-#endif __AKN_FEP_UI_INPUT_STATE_PRED_CAND_PINYIN_PHRASE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStatePredictiveCandidateQwertyZhuyin.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStatePredictiveCandidateQwertyZhuyin definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_PRED_CAND_QWERTY_ZHUYIN_H__
-#define __AKN_FEP_UI_INPUT_STATE_PRED_CAND_QWERTY_ZHUYIN_H__
-
-#include "AknFepUiInputStateCandidateQwertyChinese.h"
-
-class TAknFepInputStatePredictiveCandidateQwertyZhuyin : 
-public TAknFepInputStateCandidateQwertyChinese
-    {
-public:
-    TAknFepInputStatePredictiveCandidateQwertyZhuyin(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-
-#endif __AKN_FEP_UI_INPUT_STATE_PRED_CAND_QWERTY_ZHUYIN_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStatePredictiveCandidateQwertyZhuyinPhrase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStatePredictiveCandidateQwertyZhuyinPhrase definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_PRED_CAND_QWERTY_ZHUYIN_PHRASE_H__
-#define __AKN_FEP_UI_INPUT_STATE_PRED_CAND_QWERTY_ZHUYIN_PHRASE_H__
-
-#include "AknFepUiInputStateCandidateQwertyChinesePhrase.h"
-
-class TAknFepInputStatePredictiveCandidateQwertyZhuyinPhrase : 
-public TAknFepInputStateCandidateQwertyChinesePhrase
-    {
-public:
-    TAknFepInputStatePredictiveCandidateQwertyZhuyinPhrase(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-
-#endif __AKN_FEP_UI_INPUT_STATE_PRED_CAND_QWERTY_ZHUYIN_PHRASE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStatePredictiveCandidateStroke.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the TAknFepInputStatePredictiveCandidateStroke definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_PRED_CAND_STROKE_H__
-#define __AKN_FEP_UI_INPUT_STATE_PRED_CAND_STROKE_H__
-
-#include "AknFepUiInputStateCandidateChinese.h"
-
-class TAknFepInputStatePredictiveCandidateStroke : public TAknFepInputStateCandidateChinese
-    {
-public:
-    TAknFepInputStatePredictiveCandidateStroke(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-
-#endif __AKN_FEP_UI_INPUT_STATE_PRED_CAND_STROKE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStatePredictiveCandidateStrokePhrase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-/*
-* 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:            header file of Stroke phrase predictive state
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef T_AKNFEPUIINPUTSTATEPREDICTIVECANDIDATESTROKE_PHRASE_H
-#define T_AKNFEPUIINPUTSTATEPREDICTIVECANDIDATESTROKE_PHRASE_H
-
-// User includes 
-#include "AknFepUiInputStatePredictiveCandidateChinesePhrase.h"
-
-/**
- *  TAknFepInputStatePredictiveCandidateStrokePhrase class.
- *
- *  Implementation of Stroke phrase predictive state
- *
- *  @lib avkonfep.dll
- *  @since S60 v3.2
- */
-class TAknFepInputStatePredictiveCandidateStrokePhrase : 
-    public TAknFepInputStatePredictiveCandidateChinesePhrase
-    {
-public:
-
-    /**
-     * C++ default constructor
-     *
-     * @since S60 V3.2
-     * @param aOwner Pointer to UI manager state interface
-     * @param aUIContainer Pointer to Chinese UI container
-     */
-    TAknFepInputStatePredictiveCandidateStrokePhrase(
-        MAknFepUIManagerStateInterface* aOwner,
-        MAknFepUICtrlContainerChinese* aUIContainer); 
-
-protected:
-
-    /**
-     * From TAknFepInputStatePredictiveCandidatePhrase
-     * Handle system key press event
-     *
-     * @since S60 v3.2
-     * @param aKey System key
-     * @param aLength Key press length
-     * @return ETrue if handle, otherwise this class do not handle this key
-     */
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-
-#endif T_AKNFEPUIINPUTSTATEPREDICTIVECANDIDATESTROKE_PHRASE_H
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStatePredictiveInput.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the TAknFepInputStatePredictiveInput definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_PRED_INPUT_H__
-#define __AKN_FEP_UI_INPUT_STATE_PRED_INPUT_H__
-
-#include "AknFepUiInputStateCandidateBase.h"
-
-class TAknFepInputStatePredictiveInput : public TAknFepInputStateCandidateBase 
-    {
-public:
-    TAknFepInputStatePredictiveInput(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-
-#endif __AKN_FEP_UI_INPUT_STATE_PRED_INPUT_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStatePredictiveInputChinese.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
-* 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:            header file of Pinyin phrase predictive Qwerty state
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef T_AKNFEPUIINPUTSTATEPREDINPUTCHINESE_H
-#define T_AKNFEPUIINPUTSTATEPREDINPUTCHINESE_H
-
-// User includes 
-#include "AknFepUiInputStateCandidateChinese.h"
-
-/**
- *  TAknFepInputStatePredictiveInputChinese class.
- *
- *  Implementation of Chinese predictive state
- *
- *  @lib avkonfep.dll
- *  @since S60 v3.2
- */
-class TAknFepInputStatePredictiveInputChinese : public TAknFepInputStateCandidateChinese 
-    {
-public:
-
-    /**
-     * C++ default constructor
-     *
-     * @since S60 V3.2
-     * @param aOwner Pointer to UI manager state interface
-     * @param aUIContainer Pointer to Chinese UI container
-     */
-
-    TAknFepInputStatePredictiveInputChinese(
-        MAknFepUIManagerStateInterface* aOwner,
-        MAknFepUICtrlContainerChinese* aUIContainer);
-
-    /**
-     * From TAknFepInputStateCandidateChinese
-     * Handle system key press event
-     *
-     * @since S60 v3.2
-     * @param aKey System key
-     * @param aLength Key press length
-     * @return ETrue if handle, otherwise this class do not handle this key
-     */
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-
-#endif T_AKNFEPUIINPUTSTATEPREDINPUTCHINESE_H
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStatePredictiveInputChinesePhrase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c)  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:            ?Description
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef T_AKNFEPUIINPUTSTATEPREDINPUTCHINESEPHRASE_H_
-#define T_AKNFEPUIINPUTSTATEPREDINPUTCHINESEPHRASE_H_
-
-#include "AknFepUiInputStateCandidateBaseChinesePhrase.h"
-
-class TAknFepInputStatePredictiveInputChinesePhrase : 
-public TAknFepInputStateCandidateBaseChinesePhrase 
-    {
-public:
-    TAknFepInputStatePredictiveInputChinesePhrase(
-        MAknFepUIManagerStateInterface* aOwner,
-        MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-
-#endif T_AKNFEPUIINPUTSTATEPREDINPUTCHINESEPHRASE_H_
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStatePredictiveInputJapanese.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,162 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the TAknFepUiInputStatePredictiveInputJapanese definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_PREDICTIVE_INPUT_JAPANESE_H__
-#define __AKN_FEP_UI_INPUT_STATE_PREDICTIVE_INPUT_JAPANESE_H__
-
-// INCLUDES
-#include <e32std.h>
-
-#include "AknFepUiInputStateJapanesePredictiveBase.h"
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-class MAknFepUIManagerStateInterface;
-enum TKeyPressLength;
-
-/**
- *  TAknFepUiInputStatePredictiveInputJapanese class.
- *
- *  @lib AknFep.lib
- *  @since 2.6
- */
-class TAknFepUiInputStatePredictiveInputJapanese
-    :public TAknFepUiInputStateJapanesePredictiveBase
-    {
-public: // Constructors and destructor
-    /**
-     * C++ default Constructor
-     *
-     * @since 2.6
-     * @param aOwner Object derived MAknFepUIManagerStateInterface
-     * @param aUIContainer MAknFepUICtrlContainerJapanese object
-     */
-    TAknFepUiInputStatePredictiveInputJapanese(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerJapanese* aUIContainer);
-
-public: // Functions from base classes
-    /**
-     * From TAknFepUiInputStateJapanesePredictiveBase
-     * Call this function when Multitap timer of PtiEngine was time-out
-     *
-     * @since 2.6
-     */
-    void KeyTimerExpired();
-
-    /**
-     * From TAknFepUiInputStateJapanesePredictiveBase
-     * Initialize state
-     *
-     * @since 2.6
-     */
-     void InitializeStateL();
-
-    /**
-     * From TAknFepUiInputStateJapanesePredictiveBase
-     * Handling Command events. This Method is called by CAknFepUIManagerJapanese.
-     *
-     * @since 2.6
-     * @param aCommandId Command ID value
-     */
-     void HandleCommandL(TInt aCommandId);
-
-    /**
-     * From TAknFepUiInputStateEntryJapaneseMultitap
-     * Close UI (Predictive popup)
-     * @since 2.6
-     */
-     void CloseUI();
-
-protected: // Functions from base classes
-    /**
-     * From TAknFepUiInputStateJapanesePredictiveBase
-     * Handling short keypress events of the numeric and the star.
-     * HandleKeyEventL() call this method.
-     *
-     * @since 2.6
-     * @param aKey The event key code
-     * @return ETrue If aKey was handled
-     */
-     TBool HandleNumericShortKeyL(TInt aKey);
-
-    /**
-     * From TAknFepUiInputStateJapanesePredictiveBase
-     * Handling auxiliary keypress events including OK and Backspace.
-     * HandleKeyEventL() call this method.
-     *
-     * @since 2.6
-     * @param aKey The event key code
-     * @param aLength The Length of keypress
-     * @return ETrue If aKey was handled
-     */
-     TBool HandleAuxKeyL(TInt aKey, TKeyPressLength aLength);
-
-    /**
-     * From TAknFepUiInputStateEntryJapaneseMultitap
-     * Handling navigate keypress events. HandleKeyEventL() call this method.
-     *
-     * @since 3.2
-     * @param aKey The event key code
-     * @param aLength The Length of keypress
-     * @return ETrue If aKey was handled
-     */
-     TBool HandleNaviKeyL(TInt aKey, TKeyPressLength aLength);
-
-private: // New function
-
-    /**
-     * TAknFepUiInputStatePredictiveInputJapanese::IsFullWidthAlphaChar
-     * Check full-width alphabet character
-     */
-    TBool IsFullWidthAlphaChar(TPtrC aPtr);
-
-    /**
-     * TAknFepUiInputStatePredictiveInputJapanese::ChangeStateToConversionL()
-     * Change state to conversion
-     */
-    void ChangeStateToConversionL();
-
-    /**
-     * TAknFepUiInputStatePredictiveInputJapanese::ChangeStateToEntryL()
-     * Change state to Entry
-     */
-    void ChangeStateToEntryL();
-    };
-#endif //__AKN_FEP_UI_INPUT_STATE_PREDICTIVE_INPUT_JAPANESE_H__
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStatePredictiveInputMiniQwertyChinesePhrase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
-* Copyright (c)  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:            ?Description
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef T_AKNFEPUIINPUTSTATEPREDINPUTMINIQWERTYCHINESEPHRASE_H_
-#define T_AKNFEPUIINPUTSTATEPREDINPUTMINIQWERTYCHINESEPHRASE_H_
-
-#include "AknFepUiInputStateCandidateQwertyBaseChinesePhrase.h"
-
-class TAknFepInputStatePredictiveInputMiniQwertyChinesePhrase : 
-public TAknFepInputStateCandidateQwertyBaseChinesePhrase 
-    {
-public:
-    TAknFepInputStatePredictiveInputMiniQwertyChinesePhrase(
-        MAknFepUIManagerStateInterface* aOwner,
-        MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    /**
-     * Handling Command events.
-     * This Method is called by CAknFepUIManagerJapanese.
-     *
-     * @param aCommandId Command ID value
-     */
-    void HandleCommandL( TInt aCommandId );
-    };
-
-#endif T_AKNFEPUIINPUTSTATEPREDINPUTCHINESEPHRASE_H_
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStatePredictiveInputPhrase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2004 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:           
-*       Provides the TAknFepInputStatePredictiveInputPhrase definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_PRED_INPUT_PHRASE_H__
-#define __AKN_FEP_UI_INPUT_STATE_PRED_INPUT_PHRASE_H__
-
-#include "AknFepUiInputStateCandidateBasePhrase.h"
-
-class TAknFepInputStatePredictiveInputPhrase : public TAknFepInputStateCandidateBasePhrase 
-    {
-public:
-    TAknFepInputStatePredictiveInputPhrase(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-
-#endif __AKN_FEP_UI_INPUT_STATE_PRED_INPUT_PHRASE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStatePredictiveInputQwerty.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStatePredictiveInputQwerty definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_PRED_INPUT_QWERTY_H__
-#define __AKN_FEP_UI_INPUT_STATE_PRED_INPUT_QWERTY_H__
-
-#include "AknFepUiInputStateCandidateQwertyChineseBase.h"
-
-class TAknFepInputStatePredictiveInputQwerty : public TAknFepInputStateCandidateQwertyChineseBase
-    {
-public:
-    TAknFepInputStatePredictiveInputQwerty(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    /**
-     * Handling Command events.
-     * This Method is called by CAknFepUIManagerJapanese.
-     *
-     * @param aCommandId Command ID value
-     */
-    void HandleCommandL( TInt aCommandId );
-    };
-
-#endif __AKN_FEP_UI_INPUT_STATE_PRED_INPUT_QWERTY_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStatePredictiveInputQwertyChinesePhrase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c)  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:            ?Description
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef T_AKNFEPUIINPUTSTATEPREDINPUTQWERTYCHINESEPHRASE_H_
-#define T_AKNFEPUIINPUTSTATEPREDINPUTQWERTYCHINESEPHRASE_H_
-
-#include "AknFepUiInputStateCandidateQwertyBaseChinesePhrase.h"
-
-class TAknFepInputStatePredictiveInputQwertyChinesePhrase : 
-public TAknFepInputStateCandidateQwertyBaseChinesePhrase
-    {
-public:
-    TAknFepInputStatePredictiveInputQwertyChinesePhrase(
-        MAknFepUIManagerStateInterface* aOwner,
-        MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-
-#endif T_AKNFEPUIINPUTSTATEPREDINPUTQWERTYCHINESEPHRASE_H_
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStatePredictiveInputQwertyPhrase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStatePredictiveInputQwertyPhrase definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_PRED_INPUT_QWERTY_PHRASE_H__
-#define __AKN_FEP_UI_INPUT_STATE_PRED_INPUT_QWERTY_PHRASE_H__
-
-#include "AknFepUiInputStateCandidateQwertyBasePhrase.h"
-
-class TAknFepInputStatePredictiveInputQwertyPhrase : 
-public TAknFepInputStateCandidateQwertyBasePhrase
-    {
-public:
-    TAknFepInputStatePredictiveInputQwertyPhrase(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-
-#endif __AKN_FEP_UI_INPUT_STATE_PRED_INPUT_QWERTY_PHRASE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStatePredictiveInputQwertyPinyin.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStatePredictiveInputQwerty definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_PRED_INPUT_QWERTY_PINYIN__H__
-#define __AKN_FEP_UI_INPUT_STATE_PRED_INPUT_QWERTY_PINYIN__H__
-
-#include "AknFepUiInputStateCandidateQwertyChineseBase.h"
-
-class TAknFepInputStatePredictiveInputQwertyPinyin : 
-public TAknFepInputStateCandidateQwertyChineseBase
-    {
-public:
-    TAknFepInputStatePredictiveInputQwertyPinyin(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-private:
-
-    TBool IsValidPinyinKey(TInt aKey);
-    TBool IsValidEntryKey(TInt aKey);
-    };
-
-#endif __AKN_FEP_UI_INPUT_STATE_PRED_INPUT_QWERTY_PINYIN_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStatePredictiveInputQwertyPinyinPhrase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +0,0 @@
-/*
-* 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:            header file of Pinyin phrase predictive Qwerty state
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef T_AKNFEPUIINPUTSTATEPREDICTIVEINPUTQWERTYPINYIN_PHRASE_H
-#define T_AKNFEPUIINPUTSTATEPREDICTIVEINPUTQWERTYPINYIN_PHRASE_H
-
-// User includes 
-#include "AknFepUiInputStatePredictiveInputQwertyChinesePhrase.h"
-
-/**
- *  TAknFepInputStatePredictiveInputQwertyPinyinPhrase class.
- *
- *  Implementation of Pinyin phrase predictive Qwerty state
- *
- *  @lib avkonfep.dll
- *  @since S60 v3.2
- */
-class TAknFepInputStatePredictiveInputQwertyPinyinPhrase : 
-    public TAknFepInputStatePredictiveInputQwertyChinesePhrase
-    {
-public:
-
-    /**
-     * C++ default constructor
-     *
-     * @since S60 V3.2
-     * @param aOwner Pointer to UI manager state interface
-     * @param aUIContainer Pointer to Chinese UI container
-     */
-
-    TAknFepInputStatePredictiveInputQwertyPinyinPhrase(
-        MAknFepUIManagerStateInterface* aOwner,
-        MAknFepUICtrlContainerChinese* aUIContainer);
-
-    /**
-     * Handling Command events.
-     * This Method is called by CAknFepUIManagerJapanese.
-     *
-     * @param aCommandId Command ID value
-     */
-    void HandleCommandL( TInt aCommandId );
-protected:
-
-    /**
-     * From TAknFepInputStatePredictiveInputQwertyPhrase
-     * Handle system key press event
-     *
-     * @since S60 v3.2
-     * @param aKey System key
-     * @param aLength Key press length
-     * @return ETrue if handle, otherwise this class do not handle this key
-     */
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-
-private:
-
-    /**
-     * Judge the kay is in the valid pinyin key group 
-     *
-     * @since S60 v3.2
-     * @param aKey System key
-     * @return ETrue if it is pinyin key, otherwise it is not
-     */
-    TBool IsValidPinyinKey(TInt aKey);
-
-    /**
-     * Judge the kay is in the valid entry key group 
-     *
-     * @since S60 v3.2
-     * @param aKey System key
-     * @return ETrue if it is pinyin key, otherwise it is not
-     */
-    TBool IsValidEntryKey(TInt aKey);
-    };
-
-#endif T_AKNFEPUIINPUTSTATEPREDICTIVEINPUTQWERTYPINYIN_PHRASE_H
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStatePredictiveInputQwertyStroke.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
-* Copyright (c)  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:            ?Description
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef T_AKNFEPUIINPUTSTATEPREDINPUTQWERTYSTROKE_H
-#define T_AKNFEPUIINPUTSTATEPREDINPUTQWERTYSTROKE_H
-
-#include "AknFepUiInputStateCandidateQwertyChineseBase.h"
-
-class TAknFepInputStatePredictiveInputQwertyStroke : 
-public TAknFepInputStateCandidateQwertyChineseBase
-    {
-public:
-    TAknFepInputStatePredictiveInputQwertyStroke(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    TBool IsValidEntryKey(TInt aKey);
-    /**
-     * Handling Command events.
-     * This Method is called by CAknFepUIManagerJapanese.
-     *
-     * @param aCommandId Command ID value
-     */
-    void HandleCommandL( TInt aCommandId );
-    };
-
-#endif T_AKNFEPUIINPUTSTATEPREDINPUTQWERTYSTROKE_H
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStatePredictiveInputQwertyStrokePhrase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
-* Copyright (c)  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:            ?Description
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef T_AKNFEPUIINPUTSTATEPREDINPUTQWERTYSTROKEPHRASE_H
-#define T_AKNFEPUIINPUTSTATEPREDINPUTQWERTYSTROKEPHRASE_H
-
-#include "AknFepUiInputStateCandidateQwertyBaseChinesePhrase.h"
-
-class TAknFepInputStatePredictiveInputQwertyStrokePhrase : 
-public TAknFepInputStateCandidateQwertyBaseChinesePhrase
-    {
-public:
-    TAknFepInputStatePredictiveInputQwertyStrokePhrase(
-        MAknFepUIManagerStateInterface* aOwner,
-        MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    /**
-     * Handling Command events.
-     * This Method is called by CAknFepUIManagerJapanese.
-     *
-     * @param aCommandId Command ID value
-     */
-    void HandleCommandL( TInt aCommandId );
-private:
-    TBool IsValidEntryKey(TInt aKey);
-    };
-
-#endif T_AKNFEPUIINPUTSTATEPREDINPUTQWERTYSTROKEPHRASE_H
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStatePredictiveInputQwertyZhuyin.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStatePredictiveInputQwertyZhuyin definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_PRED_INPUT_QWERTY_ZHUYIN_H__
-#define __AKN_FEP_UI_INPUT_STATE_PRED_INPUT_QWERTY_ZHUYIN_H__
-
-#include "AknFepUiInputStateCandidateBase.h"
-#include "AknFepUiInputStateCandidateQwertyChinese.h"
-
-class TAknFepInputStatePredictiveInputQwertyZhuyin : public TAknFepInputStateCandidateQwertyChinese
-    {
-public:
-    TAknFepInputStatePredictiveInputQwertyZhuyin(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-
-#endif __AKN_FEP_UI_INPUT_STATE_PRED_INPUT_QWERTY_ZHUYIN_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStatePredictiveInputQwertyZhuyinPhrase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStatePredictiveInputQwertyZhuyinPhrase definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_PRED_INPUT_QWERTY_ZHUYIN_PHRASE_H__
-#define __AKN_FEP_UI_INPUT_STATE_PRED_INPUT_QWERTY_ZHUYIN_PHRASE_H__
-
-#include "AknFepUiInputStateCandidateBase.h"
-#include "AknFepUiInputStateCandidateQwertyChinesePhrase.h"
-
-class TAknFepInputStatePredictiveInputQwertyZhuyinPhrase 
-    : public TAknFepInputStateCandidateQwertyChinesePhrase
-    {
-public:
-    TAknFepInputStatePredictiveInputQwertyZhuyinPhrase(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-
-#endif __AKN_FEP_UI_INPUT_STATE_PRED_INPUT_QWERTY_ZHUYIN_PHRASE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateQwerty.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +0,0 @@
-/*
-* Copyright (c) 2004 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:           
-*       Provides the TAknFepInputStateQwerty definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_QWERTY_H__
-#define __AKN_FEP_UI_INPUT_STATE_QWERTY_H__
-
-#include <w32std.h>
-#include "AknFepUiInputStateBase.h"
-
-class TAknFepInputStateQwerty : public TAknFepInputStateBase
-    {
-public:
-    TAknFepInputStateQwerty(MAknFepUIManagerStateInterface* aOwner); 
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    TBool IsNumberKey(const TInt aKey);
-
-public: // Functions from MPtiObserver interface
-    void KeyTimerExpired();
-
-protected:
-    TBool IsCharacterKey(const TInt aKey);
-    TBool IsQwertyKey(const TInt aKey);
-    
-//	TBool IsAllowedKeymappingForNumberMode(TChar aChar);    
-	void NumericCharacterForQwertyKey(TInt aInScanCode,
-                                      TKeyEvent& aEvent,
-                                      TBool aShifted,
-                                      TChar& aResult);     
-	TBool IsExceptionChar(TUint16 aChar);
-                                         
-                                      
-	/**
-	* There are currently handled as a herdcoded special cases. 
-	* This method is used for collecting and handling those cases.
-	*/                                      
-	void CustomFilter(TPtrC aInput, TDes& aOutput, TInt aLanguage, 
-                      TInt aCurrentCase, TBool aShiftDown);                                      
-	void HandleCaseChange(TInt aKey, TBool aIsCharacter);
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    TBool IsCharacterNumber(TChar aChar);
-    TBool TryGetValidCharForKey(const TInt& aKey, TChar& aChar);
-    TBool TryGetValidCharForKeyAndCase(const TInt& aKey, TChar& aChar, TPtiTextCase aCase);
-#endif
-    TBool CheckForValidNumberEntryForqwerty(TInt aKey);  	  	                                        
-private:
-	//TBool iFakeDelete;  	                                        
-	//TBool iCharKeyException;	 
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    
-    //IsLanguageSupportsCaseChanges() should return ETrue if the current input language
-    // does not support case changes. Eg - Arabic, Urdu, Farsi, Hindi, etc. 
-    //It should return EFalse for other languages (eg - latin based languages)
-    TBool IsLanguageWithoutCaseChanges();
-    
-    //IsSpecialNonLatinScript() should return ETrue if the current input language uses
-    // either Greek, Cyrillic or Hebrew script. Currently supported languages with Cyrillic 
-    // script are Russian, Ukrainian and Bulgarian.
-    TBool IsSpecialNonLatinScript();
-    
-#endif
-    };
-
-#endif //__AKN_FEP_UI_INPUT_STATE_QWERTY_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStateQwertyKorean.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* Copyright (c) 2004 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:           
-*       CAknFepInputStateQwertyKorean declaration
-*
-*/
-
-#ifndef AKNFEPINPUTSTATEQWERTYKOREAN_H
-#define AKNFEPINPUTSTATEQWERTYKOREAN_H
-
-// INCLUDES
-#include <e32std.h>
-#include <e32base.h>
-
-#include "AknFepUiInputStateQwerty.h"
-
-class CPtiEngine;
-
-class TAknFepInputStateQwertyKorean : public TAknFepInputStateQwerty
-    {
-public:
-    
-    TAknFepInputStateQwertyKorean(MAknFepUIManagerStateInterface* aOwner);
-    
-    virtual ~TAknFepInputStateQwertyKorean();
-
-private:
-
-    virtual TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    
-    void KeyTimerExpired();
-    
-private:
-    
-    };
-
-#endif // AKNFEPINPUTSTATEQWERTYKOREAN_H
--- a/fep/aknfep/inc/AknFepUiInputStateZhuyinFindQwerty.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStateZhuyinFindQwerty definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_ZHUYIN_FIND_QWERTY_H__
-#define __AKN_FEP_UI_INPUT_STATE_ZHUYIN_FIND_QWERTY_H__
-
-#include "AknFepUiInputStateChineseFindQwerty.h"
-#include "AknFepUiInputStateInitialChineseGenericQwerty.h"
-#include "AknFepUiInputStateInitialChineseGenericHalfQwerty.h"
-
-class TAknFepInputStateZhuyinFindQwerty : public TAknFepInputStateChineseFindQwerty
-    {
-public:
-    TAknFepInputStateZhuyinFindQwerty(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer);
-    };
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-class TAknFepInputStateZhuyinFindMiniQwerty : public TAknFepInputStateInitialChineseGenericQwerty
-    {
-public:
-    TAknFepInputStateZhuyinFindMiniQwerty(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                TInt aMode);
-    
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-     // Functions from MPtiObserver interface
-    void KeyTimerExpired();
-    };
-
-#ifdef __HALF_QWERTY_KEYPAD
-class TAknFepInputStateZhuyinFindHalfQwerty : 
-public TAknFepInputStateInitialChineseGenericHalfQwerty
-    {
-public:
-    TAknFepInputStateZhuyinFindHalfQwerty(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                TInt aMode);
-    
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-     // Functions from MPtiObserver interface
-    void KeyTimerExpired();
-private:
-    TBool IsValidZhuyinKey(TInt aKey);
-    };
-
-#endif //__HALF_QWERTY_KEYPAD
-
-#endif //RD_INTELLIGENT_TEXT_INPUT
-
-#endif //__AKN_FEP_UI_INPUT_STATE_STROKE_FIND_QWERTY_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiInputStatelStrokeFindQwerty.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStateStrokeFindQwerty definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_STROKE_FIND_QWERTY_H__
-#define __AKN_FEP_UI_INPUT_STATE_STROKE_FIND_QWERTY_H__
-
-#include "AknFepUiInputStateChineseFindQwerty.h"
-#include "AknFepUiInputStateInitialChineseGenericHalfQwerty.h"
-#include "AknFepUiInputStateInitialChineseGenericQwerty.h"
-
-class TAknFepInputStateStrokeFindQwerty : public TAknFepInputStateChineseFindQwerty
-    {
-public:
-    TAknFepInputStateStrokeFindQwerty(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer);
-    };
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-class TAknFepInputStateStrokeFindMiniQwerty :
-    public TAknFepInputStateInitialChineseGenericQwerty
-    {
-public:
-    TAknFepInputStateStrokeFindMiniQwerty(
-            MAknFepUIManagerStateInterface* aOwner,
-            TInt aMode);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-#ifdef __HALF_QWERTY_KEYPAD
-class TAknFepInputStateStrokeFindHalfQwerty :
-    public TAknFepInputStateInitialChineseGenericHalfQwerty
-    {
-public:
-    TAknFepInputStateStrokeFindHalfQwerty(
-            MAknFepUIManagerStateInterface* aOwner,
-            TInt aMode);
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-
-#endif //__HALF_QWERTY_KEYPAD
-
-#endif //RD_INTELLIGENT_TEXT_INPUT
-
-#endif //__AKN_FEP_UI_INPUT_STATE_STROKE_FIND_QWERTY_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiManagerBase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,479 +0,0 @@
-/*
-* Copyright (c) 2003 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:           
-*       Provides the CAknFepUIManagerBase definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_MANAGER_BASE_H__
-#define __AKN_FEP_UI_MANAGER_BASE_H__
-
-// INCLUDES
-#include <uikon.hrh>                        //TAknEditorNumericKeymap
-
-#include "AknFepManagerUIInterface.h"
-#include "AknFepManagerInterface.h"
-#include "AknFepUIManagerStateInterface.h"
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-class CPtiEngine;
-class TAknFepInputStateBase;
-
-/**
- *  CAknFepUIManagerBase class.
- *
- *  @lib AknFep.lib
- *  @since 2.6
- *
- */
-class CAknFepUIManagerBase : 
-            public CBase,
-            public MAknFepManagerInterface,
-            public MAknFepUIManagerStateInterface
-    {
-private:
-    /**
-     * private constants
-     */
-    enum
-        {
-        EBaseLanguageNumericKeymapIndex = 0x00FF,
-        EMaskShiftOffset                = 8 
-        };
-
-public: // Constructors and destructor
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    static CAknFepUIManagerBase* NewL(MAknFepManagerUIInterface* aFepMan, 
-                                      CAknFepCaseManager* aCaseMan, TLanguage aLanguage);
-
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    virtual ~CAknFepUIManagerBase();
-
-public: // Functions from base classes
-    /**
-     * From MAknFepManagerInterface
-     * 
-     * @since 2.6
-     */
-#ifdef RD_INTELLIGENT_TEXT_INPUT     
-    void SetMode(TInt aMode, TBool aPredictive, TBool aQwertyInputMode, 
-                 TInt aKeyboardType = EPtiKeyboardNone);
-#else
-    void SetMode(TInt aMode, TBool aPredictive, TBool aQwertyInputMode);
-#endif    
-
-    /**
-     * From MAknFepManagerInterface
-     * 
-     * @since 2.6
-     */
-    void SetCase(TCase aCase);
-
-    /**
-     * From MAknFepManagerInterface
-     * 
-     * @since 2.6
-     */
-    void SetNumberModeKeyMappingL(TAknEditorNumericKeymap aAknEditorNumericKeymap);
-
-    /**
-     * From MAknFepManagerInterface
-     * 
-     * @since 2.6
-     */
-    const TDesC& NumberModeKeyMapping() const;
-
-    /**
-     * From MAknFepManagerInterface
-     * 
-     * @since 2.6
-     */
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength, TEventCode aEventCode = EEventKey );
-
-    /**
-     * From MAknFepManagerInterface
-     * this is in base class only
-     * @since 2.6
-     */
-    void HandleCommandL(TInt aCommandId);
-    void HandleCommandL(TInt aCommandId, TInt aParam);
-
-    /**
-     * From MAknFepManagerInterface
-     * this should be implemented in each ui manager
-     * 
-     * @since 2.6
-     */
-    void CloseUI();
-
-    /**
-     * From MAknFepManagerInterface
-     * this is in base class only
-     *
-     * @since 2.6
-     */
-    void ExpireMultitapTimer();
-
-    /**
-     * From MAknFepManagerInterface
-     * this is in base class only
-     * 
-     * @since 2.6
-     */
-    TBool IsValidNumericLongKeyPress(TInt aKey) const;
-
-    /**
-     * From MAknFepManagerInterface
-     * this api use in chinese and western
-     * 
-     * @since 2.6
-     */
-    void AddTextToUserDictionaryL(const TDesC& aText);
-
-    /**
-     * From MAknFepManagerInterface
-     * this should be implemented in each ui manager
-     * 
-     * @since 2.6
-     */
-    void GetFormatOfFepInlineText(TCharFormat& aFormat, TInt& aNumberOfCharactersWithSameFormat, 
-                                  TInt aPositionOfCharacter) const;
-
-    /**
-     * From MAknFepManagerInterface
-     * 
-     * @since 2.6
-     */
-    virtual TInt SupportLanguage(TInt aMode) const;
-
-    /**
-     * From MAknFepManagerInterface
-     * 
-     * @since 2.6
-     */
-    virtual void SetInputLanguageL(TLanguage aLanguage);
-
-    /**
-     * From MAknFepManagerInterface
-     * 
-     * @since 2.6
-     */
-    TBool IsValidShiftKeyPress() const;
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    TBool IsValidFnKeyPress() const;
-
-    virtual TBool IsValidLongChrKeyPress() const;
-
-#endif
-
-    /**
-     * From MAknFepManagerInterface
-     * this api use in chinese ui only
-     * 
-     * @since 2.6
-     */
-    void SetEditorContext(TInt aContext);
-
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    void ActivateUI();
-
-    /**
-     * From MAknFepUIManagerStateInterface
-     * this is in base class only
-     *
-     * @since 2.6
-     */
-    TUIState State() const;
-
-    /**
-     * From MAknFepUIManagerStateInterface
-     * this should be implemented in each ui manager
-     *
-     * @since 2.6
-     */
-    TUIState ChangeState(TUIState aState);
-
-    /**
-     * From MAknFepUIManagerStateInterface
-     * this is in base class only
-     *
-     * @since 2.6
-     */
-    MAknFepManagerUIInterface* FepMan() const;
-
-    /**
-     * From MAknFepUIManagerStateInterface
-     * using instead of PtiEngine()
-     *
-     * @since 2.6
-     */
-    CPtiEngine* PtiEngine() const;
-    
-    // the follow function for phrase creation
-    MZhuyinKeyHandler* ZhuyinKeyHandler();
-    CAknFepZhuyinAnalyser* ZhuyinAnalyser();
-    
-    /**
-     * From MAknFepUIManagerStateInterface
-     * this api use in chinese input states only
-     *
-     * @since 2.6
-     */
-    TBool IsValidChineseInputKey(TInt aKey) const;
-
-    /**
-     * From MAknFepUIManagerStateInterface
-     * this api use in chinese Qwerty input states only
-     *
-     * @since 3.0
-     */
-    TBool IsValidChineseInputKeyQwerty(TInt aKey) const;
-    
-    /**
-     * From MAknFepUIManagerStateInterface
-     * this api use in chinese Qwerty input states only
-     *
-     * @since 3.0
-     */
-    TBool IsQwertyZhuyinToneMarkKey(TInt aKey) const;
-
-    /**
-     * this api use in HK Qwerty input states only
-     *
-     * @since 3.0
-     */
-    virtual void UpdateCangJieState();
-    
-    /**
-     * From MAknFepUIManagerStateInterface
-     * this api use in chinese input states only
-     *
-     * @since 3.0
-     */
-    TBool IsValidChineseSymbol(TInt aKey) const;
-    /**
-     * From MAknFepUIManagerStateInterface
-     * this is in base class only
-     * TLanguage is Language identity enumeration defined in e32std.h
-     *
-     * @since 2.6
-     */
-    TLanguage GetLanguage() const;
-
-    /**
-     * From MAknFepUIManagerStateInterface
-     * 
-     * @since 2.6
-     */
-    CAknFepCaseManager* CaseMan() const;
-
-    /**
-     * From MAknFepUIManagerStateInterface
-     * 
-     * 
-     * @since 2.6
-     * this api use in chinese ui only
-     */
-    TPtr GetLatestDeliberateSelection() const;
-
-    /**
-     * From MAknFepUIManagerStateInterface
-     * Thai only
-     *
-     * @since 2.6
-     */
-    TInt ThaiSCTResourceId(TUint aPrewChar, TInt aKey);
-
-    /**
-     * From MAknFepUIManagerStateInterface
-     * Japanese only
-     *
-     * @since 2.6
-     */
-    CDesCArrayFlat* CandidateArray();
-
-    /**
-     * From MAknFepUIManagerStateInterface
-     * Japanese only
-     *
-     * @since 2.6
-     */
-    TBool IsPredictive() const;
-
-    /**
-     * From MAknFepUIManagerStateInterface
-     * Japanese only
-     * 
-     * @since 2.6
-     */
-    void SetInlineEditUnderlineVisibility(TBool aFlag);
-
-    /**
-     * From MAknFepUIManagerStateInterface
-     *
-     * @since 3.0
-     */
-    TBool IsQwerty() const;
-
-    /**
-     * From MAknFepUIManagerStateInterface
-     *
-     * @since 3.2
-     */
-    void SetFepAwareEditorText(const TFepInputContextFieldData& /*aIcfData*/);
-
-    /**
-     * From MAknFepUIManagerStateInterface
-     *
-     * @since 3.2
-     */
-    TInt EditorMaxLength();
-    
-    /**
-     * From MAknFepUIManagerStateInterface
-     *
-     * @since 3.2
-     */
-    void ResourceChanged(TInt aType);
-
-    /**
-     * From MAknFepUIManagerStateInterface
-     *
-     * @since 3.2
-     */
-    void SetNextFepUI(MAknFepManagerInterface* /*aNextUi*/);
-
-	/**
-	 * Set the Star key flag
-	 *
-     * @param aSet TBool.
-     * @return None
-	 */
-	void SetStarKeyFlag( TBool aSet );
-
-protected: // New Functions
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    void ConstructL(TLanguage aLanguage);
-
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    CAknFepUIManagerBase(MAknFepManagerUIInterface* aFepMan, CAknFepCaseManager* aCaseMan);
-
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    virtual TAknFepInputStateBase* FepUIState();
-#ifdef __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    /**
-     * Removes the character produced by the initial short key press and substitutes
-     * it with the character found behind Fn. If no no Fn-mapping is available, the
-     * function does nothing. Also, in non-QWERTY modes the function does nothing because
-     * ITU-T input states handle long press internally.
-     * @return  ETrue   if key was consumed and no further handling should be made.
-     *                  This is the case when editor is filled up and no more characters can be entered.
-     *          EFalse  if handling of the key event may continue. Either the mode has
-     *                  been changed to Fn mode for the next character or nothing has
-     *                  been done and normal key repeat should happen.
-     * @since 3.2
-     */
-    virtual TBool HandleLongKeyL( TInt aKey );
-    
-    /**
-    * Removes the character produced by the last handled key press. Long press number
-    * entry uses this to remove the character which was entered when the key was pressed
-    * down ("the initially short press character") before the key press turned out to be
-    * a long press.
-    * @return   ETrue   if something was really removed
-    *           EFalse  if nothing was removed (the previous key press had produced no charcters)
-    * @since 3.2
-    */
-    virtual TBool RollbackPreviousCharL();
-
-#endif //RD_INTELLIGENT_TEXT_INPUT
-#endif // __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-
-protected: // Data
-    TInt iMode;                         // 
-    TInt iNumericKeymapResourceId;
-    HBufC* iNumericKeymapBuffer;
-    TLanguage iLanguage;                //
-
-    CPtiEngine* iPtiEngine;             //owned
-
-    TAknFepInputStateBase* iStatePtr;   // gcc workaround to force compiler to use vtable lookup.
-
-    MAknFepManagerUIInterface* iFepMan; //not owned
-    CAknFepCaseManager* iCaseMan;       //not owned
-    TBool iPredictive;                  // ETrue: prediction is ON.
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    // predictive QWERTY changes (e.g. XT9) ---->
-    TBool iQwertyInputMode;             // ETrue: QWERTY mode is ON
-    // predictive QWERTY changes (e.g. XT9) <----
-#ifdef __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-    TInt iPreviousInputSeqLen;
-    TInt iPreviousEditorTextLen;
-    TInt iInputSeqLenDeltaWithLastKey;
-    TInt iEditorTextLenDeltaWithLastKey;
-#endif //__ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__   
-#endif //RD_INTELLIGENT_TEXT_INPUT
-    TUIState iInitialFepUIState;        //
-    TInt     iCaseBeforeLongKey;
-    };
-
-#endif //__AKN_FEP_UI_MANAGER_BASE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiManagerChinese.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,312 +0,0 @@
-/*
-* Copyright (c) 2003-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:           
-*       Provides the CAknFepUIManagerChinese definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_MANAGER_CHINESE_H__
-#define __AKN_FEP_UI_MANAGER_CHINESE_H__
-
-// INCLUDES
-#include <uikon.hrh>                        //TAknEditorNumericKeymap
-#include "AknFepUIManagerStateInterface.h"
-#include "AknFepUICtrlInputPane.h"
-#include "AknFepUiInputStateChineseBase.h"
-#include <PtiDefs.h>
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-class CAknFepUIManagerBase;
-class MAknFepUICtrlContainerChinese;
-
-/**
- *  CAknFepUIManagerChinese class.
- *
- *  @lib AknFep.lib
- *  @since 2.6
- *
- */
-class CAknFepUIManagerChinese : public CAknFepUIManagerBase
-    {
-private:
-    /**
-     * private constants
-     */
-    enum
-        {
-        EBaseLanguageNumericKeymapIndex = 0x00FF,
-        EMaskShiftOffset                = 8 ,
-        ESupportPinyinPhrase            = 0x0010,
-        ESupportZhuyinPhrase            = 0x0020,
-        ESupportStrokePhrase            = 0x0040,
-        EQueryPtiEngineAlready          = 0x0080
-        };
-
-public: // Constructors and destructor
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    static CAknFepUIManagerChinese* NewL(MAknFepManagerUIInterface* aFepMan, 
-                                         CAknFepCaseManager* aCaseMan, TLanguage aLanguage);
-
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    virtual ~CAknFepUIManagerChinese();
-
-public: // Functions from base classes
-    /**
-     * From CAknFepUIManagerBase
-     * 
-     * @since 2.6
-     */
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength,TEventCode aEventCode = EEventKey);
-
-    /**
-     * From CAknFepUIManagerBase
-     * 
-     * @since 2.6
-     */
-    void CloseUI();
-
-    /**
-     * From CAknFepUIManagerBase
-     * 
-     * @since 2.6
-     */
-    void GetFormatOfFepInlineText(TCharFormat& aFormat, TInt& aNumberOfCharactersWithSameFormat, 
-                                  TInt aPositionOfCharacter) const;
-
-    /**
-     * From CAknFepUIManagerBase
-     * 
-     * @since 2.6
-     */
-    TInt SupportLanguage(TInt aMode) const;
-
-    /**
-     * From CAknFepUIManagerBase
-     * 
-     * @since 2.6
-     */
-    void SetInputLanguageL(TLanguage aLanguage);
-
-    /**
-     * From CAknFepUIManagerBase
-     * 
-     * @since 2.6
-     */
-    void SetEditorContext(TInt aContext);
-
-    /**
-     * From CAknFepUIManagerBase
-     * 
-     * @since 2.6
-     */
-    TUIState ChangeState(TUIState aState);
-
-    /**
-     * From CAknFepUIManagerBase
-     * 
-     * @since 3.0
-     */
-    void ChangeStatetItut(TUIState aState);
-    
-    /**
-     * From CAknFepUIManagerBase
-     * 
-     * @since 3.0
-     */
-    void ChangeStateQwerty(TUIState aState);
-
-    /**
-     * From CAknFepUIManagerBase
-     * 
-     * @since 2.6
-     */
-    TBool IsValidChineseInputKey(TInt aKey) const;
-    /**
-     * From CAknFepUIManagerBase
-     * 
-     * @since 3.0
-     */
-    TBool IsValidChineseInputKeyQwerty(TInt aKey) const;
-
-    /**
-     * From CAknFepUIManagerBase
-     * 
-     * @since 3.0
-     */
-    TBool IsQwertyZhuyinToneMarkKey(TInt aKey) const;
-
-    /**
-     * From CAknFepUIManagerBase
-     * 
-     * @since 2.6
-     */
-    TPtr GetLatestDeliberateSelection() const;
-
-    /**
-     * From CAknFepUIManagerBase
-     * 
-     * @since 3.0
-     */
-    void UpdateCangJieState();
-    
-    /**
-     * From CAknFepUIManagerBase
-     * 
-     * @since 3.0
-     */ 
-    TBool IsValidChineseSymbol(TInt aKey) const;
-
-private: // Functions from base classes
-    /**
-     * From CAknFepUIManagerBase
-     * 
-     * @since 2.6
-     */
-    TAknFepInputStateBase* FepUIState();
-
-    /**
-    * Clears all flags down
-    */
-    inline void ResetFlags();
-
-    /**
-    *  Clears aFlag bitfield in iFlags
-    */
-    inline void ClearFlag(TInt aFlag);
-
-    /**
-    *  Sets aFlag bitfield in iFlags
-    */
-    inline void SetFlag(TInt aFlag);
-    
-    /**
-    * Returns ETrue if the aFlag bitfield in iFlags is set, EFalse if it
-    * is clear
-    */    
-    inline TBool IsFlagSet(TInt aFlag) const;
-    /**
-    * Query PtiEngine for phrase input
-    */ 
-    void QueryPtiEngine();
-#ifdef RD_INTELLIGENT_TEXT_INPUT    
-    /**
-     * Decide if the key mapped stroke
-     * 
-     * since 3.2.3
-     */   
-    TBool IsKeyMappedStroke(TInt aKey) const;
-#endif
-public: // New Fanctions
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    MAknFepUICtrlContainerChinese* UIContainer() const;
-
-    /**
-    * Check valid shift key press
-    */ 
-    TBool IsValidShiftKeyPress() const;
-#ifdef RD_INTELLIGENT_TEXT_INPUT     
-    TBool IsValidFnKeyPress() const;  
-
-    TBool IsValidLongChrKeyPress() const;
-
-#endif    
-#ifdef __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-protected: // from CAknFepUIManagerBase
-    TBool RollbackPreviousCharL();
-#endif // RD_INTELLIGENT_TEXT_INPUT	
-#endif // __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-private: // New Fanctions
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    CAknFepUIManagerChinese(MAknFepManagerUIInterface* aFepMan, CAknFepCaseManager* aCaseMan);
-
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    void ConstructL(TLanguage aLanguage);
-
-private: // Data
-    TAknFepInputStateChineseBase iFepUiState;
-    MAknFepUICtrlContainerChinese* iContainerPane;
-
-    // note that this must be stored in the manager, as the input states cannot allocate any memory
-    TBufC<MAknFepUICtrlInputPane::EMaxInputCharsPinyinPopupNotIncludingToneMark> iLatestDeliberateSelection;
-	TUint iFlags;
-    TInt iPrevMode;
-    TBool iQwertyMode;
-    };
-    
-inline void CAknFepUIManagerChinese::SetFlag(TInt aFlag)
-    {
-    iFlags |= aFlag;
-    }
-
-inline void CAknFepUIManagerChinese::ClearFlag(TInt aFlag)
-    {
-    iFlags &= ~aFlag;
-    }
-
-inline void CAknFepUIManagerChinese::ResetFlags()
-    {
-    iFlags = 0;
-    }
-
-inline TBool CAknFepUIManagerChinese::IsFlagSet(TInt aFlag) const
-    {
-    return iFlags & aFlag;
-    }
-
-
-#endif //__AKN_FEP_UI_MANAGER_CHINESE_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiManagerKorean.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,146 +0,0 @@
-/*
-* Copyright (c) 2004 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:           
-*       Provides the CAknFepUIManagerKorean definition.
-*
-*/
-#ifndef __AKN_FEP_UI_MANAGER_KOREAN_H__
-#define __AKN_FEP_UI_MANAGER_KOREAN_H__
-
-// INCLUDES
-#include <uikon.hrh>                        //TAknEditorNumericKeymap
-
-#include "AknFepUiManagerBase.h"
-#include "AknFepUiInputStateBase.h"
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-class MAknFepManagerInterface;
-class MAknFepManagerUIInterface;
-class MAknFepUIManagerStateInterface;
-class MAknFepUIManagerStateInterface;
-
-
-/**
- * CAknFepUIManagerWestern class.
- * This class is mounted based on CAknFepUiManager.
- *
- *  @lib AknFep.lib
- *  @since 2.6
- */
-class CAknFepUIManagerKorean : public CAknFepUIManagerBase
-    {
-private:
-    /**
-     * private constants
-     */
-    enum
-        {
-        EBaseLanguageNumericKeymapIndex = 0x00FF,
-        EMaskShiftOffset                = 8 
-        };
-
-public: // Constructors and destructor
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    static CAknFepUIManagerKorean* NewL(MAknFepManagerUIInterface* aFepMan, CAknFepCaseManager* aCaseMan, TLanguage aLanguage);
-
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    virtual ~CAknFepUIManagerKorean();
-
-public: // Functions from base classes
-    /**
-     * From CAknFepUIManagerBase
-     * 
-     * @since 2.6
-     */
-    TBool HandleKeyL( TInt aKey, TKeyPressLength aLength, TEventCode aEventCode = EEventKey );
-
-    /**
-     * From CAknFepUIManagerBase
-     * 
-     * @since 2.6
-     */
-    void CloseUI();
-
-    /**
-     * From CAknFepUIManagerBase
-     * 
-     * @since 2.6
-     */
-    TInt SupportLanguage(TInt aMode) const;
-
-    /**
-     * Activates western predictive entry UI to inline editing state 
-     * by changing input state to entry state.
-     * 
-     * @since 2.6
-     */
-    void ActivateUI();
-
-    /**
-     * From CAknFepUIManagerBase
-     * 
-     * @since 2.6
-     */
-    TUIState ChangeState(TUIState aState);
-    
-private: // New Functions
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    void ConstructL(TLanguage aLanguage);
-
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    CAknFepUIManagerKorean(MAknFepManagerUIInterface* aFepMan, CAknFepCaseManager* aCaseMan);
-    
-   	/**
-     * 
-     * 
-     * @since 2.6
-     */
-
-    TAknFepInputStateBase* FepUIState();
-
-
-
-private: // Data
-                              
-    TAknFepInputStateBase iFepUiState;
-    
-    };
-
-#endif //__AKN_FEP_UI_MANAGER_KOREAN_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepUiManagerWestern.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,193 +0,0 @@
-/*
-* Copyright (c) 2003 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:           
-*       Provides the CAknFepUIManagerWestern definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_MANAGER_WESTERN_H__
-#define __AKN_FEP_UI_MANAGER_WESTERN_H__
-
-// INCLUDES
-#include <uikon.hrh>                        //TAknEditorNumericKeymap
-
-#include "AknFepUiManagerBase.h"
-#include "AknFepUiInputStateBase.h"
-
-// CONSTANTS
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-#define KSLATEGRAY TRgb(112,138,144); // slate gray color used in AutoCompletion mode
-#else	// RD_PRED_AW_COMPLETION
-#define KSLATEGRAY TRgb(112,138,144); // slate gray color used in AutoCompletion mode
-#endif // RD_PRED_AW_COMPLETION
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-class MAknFepManagerInterface;
-class MAknFepManagerUIInterface;
-class MAknFepUIManagerStateInterface;
-class CAknFepThaiSCTSelector;
-class CAknFepVietnameseToneManager;
-
-/**
- * CAknFepUIManagerWestern class.
- * This class is mounted based on CAknFepUiManager.
- *
- *  @lib AknFep.lib
- *  @since 2.6
- */
-class CAknFepUIManagerWestern : public CAknFepUIManagerBase
-    {
-private:
-    /**
-     * private constants
-     */
-    enum
-        {
-        EBaseLanguageNumericKeymapIndex = 0x00FF,
-        EMaskShiftOffset                = 8 
-        };
-
-public: // Constructors and destructor
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    static CAknFepUIManagerWestern* NewL(MAknFepManagerUIInterface* aFepMan, 
-                                         CAknFepCaseManager* aCaseMan, TLanguage aLanguage);
-
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    virtual ~CAknFepUIManagerWestern();
-
-public: // Functions from base classes
-    /**
-     * From CAknFepUIManagerBase
-     * 
-     * @since 2.6
-     */
-    TBool HandleKeyL( TInt aKey, TKeyPressLength aLength, TEventCode aEventCode = EEventKey );
-
-    /**
-     * From CAknFepUIManagerBase
-     * 
-     * @since 2.6
-     */
-    void CloseUI();
-
-    /**
-     * From CAknFepUIManagerBase
-     * 
-     * @since 2.6
-     */
-    void AddTextToUserDictionaryL(const TDesC& aText);
-
-    /**
-     * From CAknFepUIManagerBase
-     * 
-     * @since 2.6
-     */
-    void GetFormatOfFepInlineText(TCharFormat& aFormat, TInt& aNumberOfCharactersWithSameFormat, 
-                                  TInt aPositionOfCharacter) const;
-
-    /**
-     * From CAknFepUIManagerBase
-     * 
-     * @since 2.6
-     */
-    TInt SupportLanguage(TInt aMode) const;
-
-    /**
-     * Activates western predictive entry UI to inline editing state 
-     * by changing input state to entry state.
-     * 
-     * @since 2.6
-     */
-    void ActivateUI();
-
-    /**
-     * From CAknFepUIManagerBase
-     * 
-     * @since 2.6
-     */
-    TUIState ChangeState(TUIState aState);
-
-    /**
-     * From CAknFepUIManagerBase
-     * 
-     * @since 2.6
-     */
-    TInt ThaiSCTResourceId(TUint aPrewChar, TInt aKey);
-
-     /**
-     * From CAknFepUIManagerBase
-     * 
-     * @since 2.6
-     */
-    CAknFepVietnameseToneManager* VietnameseToneManager() const; 
-
-private: // New Functions
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    void ConstructL(TLanguage aLanguage);
-
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    CAknFepUIManagerWestern(MAknFepManagerUIInterface* aFepMan, CAknFepCaseManager* aCaseMan);
-
-    /**
-     * 
-     * 
-     * @since 2.6
-     */
-    TAknFepInputStateBase* FepUIState();
-
-private: // Data
-
-    TAknFepInputStateBase iFepUiState;
-    CAknFepThaiSCTSelector* iAknFepThaiSCTSelector;
-    CAknFepVietnameseToneManager* iVietToneMarkMgr; // own, tone mark mgr for vietnamese
-    };
-
-#endif //__AKN_FEP_UI_MANAGER_WESTERN_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepVietnameseInputTables.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides global tables.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_VIET_TABLES_H__
-#define __AKN_FEP_VIET_TABLES_H__
-
-// Vietnamese tone tables
-
-const TInt KNumberOfToneMarks = 5; // This equals the tone marks5 + mother vowel1
-
-const TText VietVowelList[] = {
-    0x0041, 0x0061, 0x0102, 0x0103, 0x00c2, 
-    0x00e2, 0x0045, 0x0065, 0x00ca, 0x00ea,
-    0x0049, 0x0069, 0x004f, 0x006f, 0x00d4,
-    0x00f4, 0x01a0, 0x01a1, 0x0055, 0x0075,
-    0x01af, 0x01b0, 0x0059, 0x0079
-    };
-
-const TText VietToneMatrix[][KNumberOfToneMarks] = 
-    {
-    0x0301, 0x0300, 0x0309, 0x0303, 0x0323, // Tone Marks
-    0x00c1, 0x00c0, 0x1ea2, 0x00c3, 0x1ea0,
-    0x00e1, 0x00e0, 0x1ea3, 0x00e3, 0x1ea1,
-    0x1eae, 0x1eb0, 0x1eb2, 0x1eb4, 0x1eb6,
-    0x1eaf, 0x1eb1, 0x1eb3, 0x1eb5, 0x1eb7,
-    0x1ea4, 0x1ea6, 0x1ea8, 0x1eaa, 0x1eac,
-    0x1ea5, 0x1ea7, 0x1ea9, 0x1eab, 0x1ead,
-    0x00c9, 0x00c8, 0x1eba, 0x1ebc, 0x1eb8,
-    0x00e9, 0x00e8, 0x1ebb, 0x1ebd, 0x1eb9,
-    0x1ebe, 0x1ec0, 0x1ec2, 0x1ec4, 0x1ec6,
-    0x1ebf, 0x1ec1, 0x1ec3, 0x1ec5, 0x1ec7,
-    0x00cd, 0x00cc, 0x1ec8, 0x0128, 0x1eca,
-    0x00ed, 0x00ec, 0x1ec9, 0x0129, 0x1ecb,
-    0x00d3, 0x00d2, 0x1ece, 0x00d5, 0x1ecc,
-    0x00f3, 0x00f2, 0x1ecf, 0x00f5, 0x1ecd,
-    0x1ed0, 0x1ed2, 0x1ed4, 0x1ed6, 0x1ed8,
-    0x1ed1, 0x1ed3, 0x1ed5, 0x1ed7, 0x1ed9,
-    0x1eda, 0x1edc, 0x1ede, 0x1ee0, 0x1ee2,
-    0x1edb, 0x1edd, 0x1edf, 0x1ee1, 0x1ee3,
-    0x00da, 0x00d9, 0x1ee6, 0x0168, 0x1ee4,
-    0x00fa, 0x00f9, 0x1ee7, 0x0169, 0x1ee5,
-    0x1ee8, 0x1eea, 0x1eec, 0x1eee, 0x1ef0,
-    0x1ee9, 0x1eeb, 0x1eed, 0x1eef, 0x1ef1,
-    0x00dd, 0x1ef2, 0x1ef6, 0x1ef8, 0x1ef4,
-    0x00fd, 0x1ef3, 0x1ef7, 0x1ef9, 0x1ef5
-    };
-
-#endif // __AKN_FEP_VIET_TABLES_H__
-
-// End of file
--- a/fep/aknfep/inc/AknFepVietnameseToneManager.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,174 +0,0 @@
-/*
-* Copyright (c) 2003 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 __AKN_FEP_VIETNAMESE_TONE_MANAGER__
-#define __AKN_FEP_VIETNAMESE_TONE_MANAGER__
-
-#include <e32def.h>
-#include <e32base.h>
-
-#include "AknFepManager.h"
-#include "AknFepVietnameseInputTables.h"
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-
-/**
- * CAknFepVietnameseToneManager class.
- * This class is mounted based on CAknFepUIManagerWestern.
- *
- *  @lib AknFep.lib
- *  @since 2.8
- */
-class CAknFepVietnameseToneManager : public CBase
-    {
-private:
-     /**
-     * Construct
-     *
-     * @param aFepManager fep manager
-     *
-     */
-    void ConstructL();
-
-     /**
-     * private constructor
-     */
-    CAknFepVietnameseToneManager();     
-    
-public:
-     /**
-     * NewL first phase construction
-     *
-     * @param aFepManager fep manager
-     *
-     */
-    static CAknFepVietnameseToneManager* NewL();
-
-     /**
-     * Destructor
-     */
-    virtual ~CAknFepVietnameseToneManager();
-    
-public:
-    /**
-     * Start the tone mark looping 
-     */
-    TBool StartToneMarkLooping();
-
-    /**
-     * first phase construction
-     *
-     * @param aParent parent window
-     * @param aPaneLayout the required layout
-     *
-     */
-    TText GetVowelWithToneMark() const;
-
-    /**
-     * Increase the tone mark
-     */
-    inline void IncrementToneMark();
-
-    /**
-     * stop tone marking looping, counterpart to StartToneMarkLooping
-     */
-    void StopToneMarkLooping();
-
-    /**
-     * Set the fep manager pointer
-     *
-     * @param aFepManager Pointer to the fep manager
-     *
-     */
-    inline void SetFepManager(MAknFepManagerUIInterface* aFepManager);
-
-    /**
-     * Judge if the current state is looping or not
-     */
-    inline TBool IsLooping() const;
-
-    /**
-     * Judge if the current state is looping or not
-     */
-    inline void SetDeletedVowel(TText aDeletedVowel);
-    
-    /**
-     * Judge if the current state is looping or not
-     */
-    inline TText GetDeletedVowel() const;
-
-private:    // Data
-    MAknFepManagerUIInterface* iFepMan;     // not own
-    TInt iToneIndex;                        // Index of tone mark list
-    TInt iVowelIndex;                       // Index of vowel list
-    TBool iIsLooping;                       // Judge if input is in looping state
-    TText iPrevVowel;                       // Prev Vowel, used for undo the backdeletion
-    };
-
-// Inline function implementation
-inline TBool CAknFepVietnameseToneManager::IsLooping() const
-    {
-    return iIsLooping;
-    }
-
-inline void CAknFepVietnameseToneManager::SetFepManager(MAknFepManagerUIInterface* aFepManager)
-    {
-    iFepMan = aFepManager;
-    }
-
-inline void CAknFepVietnameseToneManager::IncrementToneMark()
-    {
-    if (iToneIndex+1 == KNumberOfToneMarks)
-        iToneIndex = 0;
-    else
-        ++iToneIndex;
-    }
-
-inline void CAknFepVietnameseToneManager::SetDeletedVowel(TText aDeletedVowel)
-    {
-    iPrevVowel = aDeletedVowel;
-    }
-
-inline TText CAknFepVietnameseToneManager::GetDeletedVowel() const
-    {
-    return iPrevVowel;
-    }
-
-#endif // __AKN_FEP_VIETNAMESE_TONE_MANAGER__
-
-// End of file
--- a/fep/aknfep/inc/AknFepZhuyinAnalyser.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-/*
-* 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 C_AKNFEPZHUYINANALYSER_H
-#define C_AKNFEPZHUYINANALYSER_H
-
-
-#include <e32base.h>
-
-class TSpellBand;      
-class CZhuyinAnalyserDbFeed;
-
-/**
- *  Composition no chars ui state
- *  It provides key event handling and internal event handling in composition no chars state
- *
- *  @lib peninputvkbcn.lib
- *  @since S60 v3.2
- */
-class CAknFepZhuyinAnalyser : public CBase
-    {
-public:
-
-    /**
-     * Two-phased constructor.
-     *
-     * @since S60 v3.2
-     * @param aDb The database file for pinyin or spell
-     * @return The pointer point to CAknFepVkbPinyinAnalyser type object
-     */
-    static CAknFepZhuyinAnalyser* NewL( CZhuyinAnalyserDbFeed* aDb );
-        
-    /**
-     * Destructor.
-     *
-     * @since S60 v3.2
-     */
-    virtual ~CAknFepZhuyinAnalyser();
-        
-    /**
-     * Process key event
-     *
-     * @since S60 v3.2
-     * @param aData Carry information of key pressed
-     * @return ETrue means event was responsed, otherwise EFalse
-     */
-
-        
-    TBool AnalyzeL(const TDesC& aInputString);
-    
-    HBufC* LastAnalysisResult();
-    
-private:
-    CAknFepZhuyinAnalyser();
-    void ConstructL( CZhuyinAnalyserDbFeed* aDb );
-    TBool DetailAnalyseL(const TDesC& aInputString);
-    TBool FindSpell(const TDesC& aSpell, TInt& aSameLength);
-    TInt  Compare(const TDesC& aFirst, const TDesC& aSecond, TInt& aSameLength);
-  
-private:
-    TSpellBand* iParagraph;
-    TPtrC*      iSpellLibrary;
-    HBufC*      iLastResult;
-    RArray<TInt> iSeperators;
-    CZhuyinAnalyserDbFeed* iDb;
-    TBool   iAnalysisFlag;
-    };
-
-#endif // C_AKNFEPZHUYINANALYSER_H
--- a/fep/aknfep/inc/AknFepZhuyinAnalyserDb.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,129 +0,0 @@
-/*
-* 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 C_AKNFEPZHUYINANALYSERDB_H
-#define C_AKNFEPZHUYINANALYSERDB_H
-
-
-#include <e32base.h>
-
-enum TPinyinAnalyserDbType
-    {
-    EPinyinAnalyserTypePinyin,
-    EPinyinAnalyserTypeZhuyin
-    };
-
-enum TSpellType
-{
-    ESpellVowel,
-    ESpellConsonant,
-    ESpellSpecialConsonnant
-};
-const TUint16 KProgramSeparator = 0x002e;
-/**
- *  Composition no chars ui state
- *  It provides key event handling and internal event handling in composition no chars state
- *
- *  @lib peninputvkbcn.lib
- *  @since S60 v3.2
- */
-class CZhuyinAnalyserDbFeed : public CBase
-    {
-public:
-
-    /**
-     * Two-phased constructor.
-     *
-     * @since S60 v3.2
-     * @param aUiStateMgr The vkb ui state manager
-     * @param aContext The vkb layout context
-     * @return The pointer point to CAknFepVkbPinyinAnalyser type object
-     */
-    static CZhuyinAnalyserDbFeed* NewL( TPinyinAnalyserDbType aType );
-        
-    /**
-     * Destructor.
-     *
-     * @since S60 v3.2
-     */
-    virtual ~CZhuyinAnalyserDbFeed();
-    
-    /**
-     * Get the Number of whole spell set.        
-     *
-     * @since S60 V4.0        
-     */ 
-    TInt GetSpellCount() const;
-    
-    /**
-     * Get the Number of whole spell set.        
-     *
-     * @since S60 V4.0        
-     * @param The index for the spell.
-     */ 
-    const TPtrC GetSpellByIndex( TInt aIndex ) const;
-    
-    /**
-     * Get the Number of spell elements.        
-     *
-     * @since S60 V4.0        
-     */ 
-    TInt GetSpellElementCount() const;
-    
-    /**
-     * Get the unicode number for spell element index.       
-     *
-     * @since S60 V4.0        
-     * @param The index for the spell element.
-     */ 
-    TUint16 GetSpellElementByIndex( TInt aIndex ) const;
-    
-    TBool IsNormalElement( TUint16 aCode ) const;
-    
-    TSpellType GetSpellElementType( TUint16 aCode ) const;
-    
-    TBool IsFirstElement( TUint16 aCode ) const;
-    
-    TBool IsToneMark( TUint16 aCodeFirst, TUint16 aCodeSecond );
-    
-private:
-    CZhuyinAnalyserDbFeed();
-    
-    void ConstructL( TPinyinAnalyserDbType aType );
-    
-private:
-    TPtrC iSpellBuf;
-    TPtrC iSpellLenBuf;
-    TUint16 iSpellElemBase;
-    TUint16 iSpellElemLen;
-    TPtrC iSpellTypeBuf;
-    TPtrC iNoFirstElements;
-    };
-
-#include "AknFepZhuyinAnalyserDb.inl"
-
-#endif //C_AKNFEPZHUYINANALYSERDB_H
--- a/fep/aknfep/inc/AknFepZhuyinAnalyserDb.inl	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
-* 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:            vkb control pool inline function 
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-inline TInt CZhuyinAnalyserDbFeed::GetSpellCount() const
-    {
-    return iSpellLenBuf.Length();
-    }
-    
-inline const TPtrC CZhuyinAnalyserDbFeed::GetSpellByIndex( TInt aIndex ) const
-    {
-    int offset = 0;
-    for ( TInt i = 0;  i < aIndex;  ++i  )
-        {
-        offset += iSpellLenBuf[i];
-        }
-    return iSpellBuf.Mid( offset, iSpellLenBuf[aIndex] );
-    }
-
-inline TInt CZhuyinAnalyserDbFeed::GetSpellElementCount() const
-    {
-    return iSpellElemLen;
-    }
-    
-inline TUint16 CZhuyinAnalyserDbFeed::GetSpellElementByIndex( TInt aIndex ) const
-    {
-    return iSpellElemBase + aIndex;
-    }
-
-inline TBool CZhuyinAnalyserDbFeed::IsNormalElement( TUint16 aCode ) const
-    {
-    return aCode >= iSpellElemBase && aCode < iSpellElemBase + iSpellElemLen;
-    }
-    
-inline TSpellType CZhuyinAnalyserDbFeed::GetSpellElementType( TUint16 aCode ) const
-    {
-    return ( TSpellType )iSpellTypeBuf[ aCode - iSpellElemBase ];
-    }
- 
-inline TBool CZhuyinAnalyserDbFeed::IsFirstElement( TUint16 aCode ) const
-    {
-    for ( TInt i = 0; i < iNoFirstElements.Length(); i++ )
-        {
-        if ( iNoFirstElements[i] == aCode )
-            {
-            return EFalse;
-            }
-        }
-    return ETrue;
-    }
-
- 
-
--- a/fep/aknfep/inc/aknfepinputstatecandidatepinyinphrasecreation.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,128 +0,0 @@
-/*
-* Copyright (c) 2008 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:           
-*       Provides the aknfepinputstatecandidatepinyinphrasecreation definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef T_AKNFEPINPUTSTATECANDIDATEPINYINPHRASECREATION_H
-#define T_AKNFEPINPUTSTATECANDIDATEPINYINPHRASECREATION_H
-
-#include "aknfepinputstatepinyinphrasecreationbase.h"
-
-class TAknFepInputStateCandidatePinyinPhraseCreation : 
-    public TAknFepInputStatePinyinPhraseCreationBase
-    {
-public:
-
-    /**
-     * C++ default constructor
-     *
-     * @since S60 V5.0
-     * @param aOwner Pointer to UI manager state interface
-     * @param aUIContainer Pointer to Chinese UI container
-     * @return self object
-     */
-    TAknFepInputStateCandidatePinyinPhraseCreation(
-        MAknFepUIManagerStateInterface* aOwner,
-        MAknFepUICtrlContainerChinese* aUIContainer);
-    
-protected:
-
-    /**
-     * From TAknFepInputStateCandidateBasePhrase
-     * Handle system key press
-     *
-     * @since S60 V5.0
-     * @param aKey System key event
-     * @param aLength Key press length
-     * @return ETrue if handle, otherwise this class do not handle this key
-     */
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    
-    /**
-     * Update indicator
-     *
-     * @since S60 V5.0
-     * @return none.
-     */
-    void UpdateIndicator();
-    
-    /**
-     * Handle horizontal navigation
-     *
-     * @since S60 V5.0
-     * @return ETrue if can move left or right,EFalse others.
-     */
-    TBool HandleHorizontalNavigation(TInt aKey);
-    
-    /**
-     * Handle vertical navigation
-     *
-     * @since S60 V5.0
-     * @return ETrue if can move up or down,EFalse others.
-     */
-    TBool HandleVerticalNavigation(TInt aKey);
-    
-    /**
-     * Commit Inline to the EEP ctrl
-     *
-     * @since S60 V5.0
-     * @param aText the commit info.
-     * @return ETrue if can move up or down,EFalse others.
-     */
-    TBool CommitInlineEEPL( const TDesC& aText  );
-
-private:
-    
-    /**
-     * KeyBackspace.
-     *
-     * @since S60 V5.0
-     * @return none.
-     */
-    void KeyBackspace();
-    
-    /**
-     * Key Up,Down,Left,RightArrow Or Key CBA1,OK.
-     *
-     * @since S60 V5.0
-     * @return none.
-     */
-    void HandleKeyUpDownLeftRightArrowOrKeyCBA1OKL( 
-                                 TInt aKey, 
-                                 TKeyPressLength aLength );
-    /**
-       * the state change or not 
-       *
-       * @since S60 V5.0
-       * @return none.
-       */
-    void ChangeStateOrNotL();
-    };
-
-#endif //T_AKNFEPINPUTSTATECANDIDATEPINYINPHRASECREATION_H
-
-// End of file
--- a/fep/aknfep/inc/aknfepinputstateminiqwertyzhuyinkeymap.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-/*
-* Copyright (c) 2008 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:            This file contains classes of phrase creation layout data management
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef C_AKNFEPINPUTSTATEMINIQWERTYZHUYINKEYMAP_H
-#define C_AKNFEPINPUTSTATEMINIQWERTYZHUYINKEYMAP_H
-
-#include <e32std.h>
-#include <e32base.h>
-#include "PtiEngine.h"
-
-//class CAknFepInputStateMiniQwertyZhuyinKeyMap;
-/**
- *  CAknFepInputStateMiniQwertyZhuyinKeyMap
- *  This class provides mini-qwerty zhuyin key map 
- *  zhuyin key map interface management
- *  to the program other component
- */
-/**
-* CAknFepInputStateMiniQwertyZhuyinKeyMap is a static fascade interface to the mini-qwerty zhuyin key map object.
-* There is at most one CAknFepInputStateMiniQwertyZhuyinKeyMap per thread. This static interface ensures that this
-* fact can not be changed.
-*/
-class TAknFepInputStateMiniQwertyZhuyinKeyMap
-    {
-public:
-    // General public API
-    
-    /**
-     * Get the show keystroke for the keytype.
-     * 
-     * @param aPtiEngine, ptiengine.
-     * @param aKey, the input keystroke.
-     * @param aKeystroke, the keystroke.
-     * @since S60 v3.2.3.
-     * @return None.
-     */
-    static void GetKeyStroke( CPtiEngine* aPtiEngine, TInt& aKey, TDes& aKeystroke );
-    };
-
-#endif // C_AKNFEPINPUTSTATEMINIQWERTYZHUYINKEYMAP_H
-
-// End of File
--- a/fep/aknfep/inc/aknfepinputstatepinyinphrasecreationbase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,296 +0,0 @@
-/*
-* Copyright (c) 2008 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:           
- *      Provides the TAknFepInputStateEntryPinyinPhraseCreation methods.
- *
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef T_AKNFEPINPUTSTATEPINYINPHRASECREATIONBASE_H
-#define T_AKNFEPINPUTSTATEPINYINPHRASECREATIONBASE_H
-
-#include <PtiDefs.h>                            //keys
-
-#include "AknFepUiInputStateCandidateBase.h"
-
-enum TMkeyReturnValue
-    {
-    EKeyStrokeNull = -2, //  neans the keystroke is null  
-    EKeyDelimiter,   // means the input key is delimiter
-    EkeyNumber       // means the input key is the number( from 2 to 9 )
-    };
-
-class TAknFepInputStatePinyinPhraseCreationBase : public TAknFepInputStateCandidateBase
-    {
-public:
-    
-    /**
-     * C++ constructor.
-     * 
-     * @since S60 v5.0.
-     * @return self object.
-     */  
-    TAknFepInputStatePinyinPhraseCreationBase(
-                                    MAknFepUIManagerStateInterface* aOwner,
-                                    MAknFepUICtrlContainerChinese* aUIContainer);
-    
-    /**
-     * Add keystroke.
-     * 
-     * @param aKey the input keystroke.
-     * @since S60 v5.0.
-     * @return ETrue if that the key can add to the current keystroke, EFase others.
-     */            
-    TBool AddKeystroke( TInt aKey );
-    
-    /**
-     * Add tone mark.
-     * 
-     * @since S60 v5.0.
-     * @return ETrue if that the key can add to the current keystroke, EFase others.
-     */            
-    TBool AddToneMark(); 
-    
-    /**
-     * get the valid keystroke.
-     * 
-     * @since S60 v5.0.
-     * @return ETrue if valid keystroke happen change , EFase others.
-     */            
-    TBool GetValidKeystroke();
-    
-    /**
-     * Delete current keystroke.
-     * 
-     * @since S60 v5.0.
-     * @return ETrue if that can be deleted, EFase others.
-     */            
-    TBool DeleteCurrentKeystroke();
-    
-    /**
-     * Revert the current chinse to keystroke.
-     * 
-     * @since S60 v5.0.
-     * @return ETrue if that can be deleted, EFase others.
-     */            
-    TBool ChineseRevertKeystroke();
-    
-    /**
-     * show info to the eep ctrl.
-     * 
-     * @since S60 v5.0.
-     * @return none.
-     */            
-    void ShowInfo();
-    
-    /**
-     * set the show info warning color.
-     * 
-     * @since S60 v5.0.
-     * @return none.
-     */            
-    void SetWarningColor();
-    
-    /**
-     * Get the candidate info.
-     * 
-     * @since S60 v5.0.
-     * @return none.
-     */            
-    void GetCandidate( TInt aSelection = 0 );
-    
-    /**
-     * Change CBA.
-     *
-     * @since S60 v5.0
-     * @return None.
-     */        
-    void ChangeCba();
-  
-    /**
-     * Refresh the candidate info.
-     * 
-     * @since S60 v5.0.
-     * @return none.
-     */            
-    void RefreshCandidate();
-    
-    /**
-     * Update Selection
-     *
-     * @since S60 v5.0
-     * @param aSelection the index of selecion.
-     * @return None.
-     */ 
-    void RefreshUI(TInt aSelection = 0);
-    
-    /**
-     * clear Selection
-     *
-     * @since S60 v5.0
-     * @return None.
-     */
-    void ClearDeliberateSelection();
-    
-    /**
-     * Update indicator
-     *
-     * @since S60 v5.0
-     * @return None.
-     */
-    void UpdateIndicator();
-    
-private:
-    
-    /**
-     * clear the keystroke of PtiEngine.
-     * 
-     * @since S60 v5.0.
-     * @return none.
-     */
-    void ClearPtiEngineKeystroke();
-    
-    /**
-     * Add keystroke.
-     * 
-     * @param aKey the input keystroke.
-     * @since S60 v5.0.
-     * @return ETrue if that the key can add to the current keystroke, EFase others.
-     */            
-    TBool AddKeystrokeL( TInt aKey );  
-    
-    /**
-     * Add tone mark.
-     * 
-     * @since S60 v5.0.
-     * @return ETrue if that the key can add to the current keystroke, EFase others.
-     */            
-    TBool AddToneMarkL(); 
-    
-    /**
-     * check the keystroke.
-     * 
-     * @param aInput the input keystroke.
-     * @since S60 v5.0.
-     * @return ETrue if the input param is tone mark, EFalse others.
-     */            
-    TBool IsToneMark( const TDesC& aInput );
-    
-    /**
-     * check the keystroke.
-     * 
-     * @since S60 v5.0.
-     * @return EFalse if that have invalid keystroke, ETrue others.
-     */            
-    TBool CheckKeystroke();
-    
-    /**
-     * get the valid keystroke.
-     * 
-     * @since S60 v5.0.
-     * @return ETrue if that have valid keystroke than happens change, EFase others.
-     */            
-    TBool GetValidKeystrokeL();
-    
-    /**
-     * get the key code.
-     * 
-     * @param aKey the TPtiKey.
-     * @param aKeystroke the input show key.
-     * 
-     * @since S60 v5.0.
-     * @return -2 the aKeystroke is null,-1 if the input key is delimiter, 
-     *  0 the input key is 2 - 9, others return tome mark.
-     */
-    TInt GetKeystrokeCode( TPtiKey& aKey, 
-                           const TDesC& aKeystroke );
-    
-    /**
-     * Append the key to the ptiengine.
-     * 
-     * @param aKey the TPtiKey.
-     * @param aKey the add the spelling to the spelling array flag.
-     * @since S60 v5.0.
-     * @return ETrue if ptiengine can append keypress, others return EFalse.
-     */
-    TBool AppendKeyPressL( TPtiKey& aKey, TBool aAddSpellingFlag );
-    
-    
-    /**
-     * Append the tone mark to the ptiengine.
-     * 
-     * @param aToneMark the tone mark.
-     * 
-     * @since S60 v5.0.
-     * @return ETrue if ptiengine can append tone mark, others return EFalse.
-     */
-    TBool AppendToneMarkL( TInt& aToneMark );
-    
-    /**
-     * Revert the current chinse to keystroke.
-     * 
-     * @since S60 v5.0.
-     * @return ETrue if that can be deleted, EFase others.
-     */            
-    TBool ChineseRevertKeystrokeL();
-    
-    /**
-     * check the spelling delete the phrase spelling.
-     * 
-     * @since S60 v5.0.
-     * @return none.
-     */
-    void CheckSpellingL( CDesCArrayFlat* aTempSpelling, CDesCArrayFlat* aAfterCheck );
-    
-    /**
-     * check the tone mark and delete the phrase spelling.
-     * 
-     * @param aToneMark the tone mark.
-     * @since S60 v5.0.
-     * @return ETrue if the spelling is valid, EFalse others.
-     */
-    TBool CheckToneMark( TInt& aToneMark );
-    
-    /**
-     * Get the candidate info.
-     * 
-     * @since S60 v5.0.
-     * @return none.
-     */            
-    void GetCandidateL( TInt aSelection );
-    
-    /**
-     * Change CBA.
-     *
-     * @since S60 v5.0
-     * @return None.
-     */        
-    void ChangeCbaL();
-    
-    };
-
-#endif /*T_AKNFEPINPUTSTATEPINYINPHRASECREATIONBASE_H*/
-
-// End of file
-
--- a/fep/aknfep/inc/aknfepinputstatespellingpinyinphrasecreation.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,139 +0,0 @@
-/*
-* Copyright (c) 2004 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:           
-*       Provides the aknfepinputstatespellingpinyinphrasecreation definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef T_AKNFEPINPUTSTATESPELLINGPINYINPHRASECREATION_H
-#define T_AKNFEPINPUTSTATESPELLINGPINYINPHRASECREATION_H
-
-#include "aknfepinputstatepinyinphrasecreationbase.h"
-
-class TAknFepInputStateSpellingPinyinPhraseCreation : public TAknFepInputStatePinyinPhraseCreationBase
-    {
-public:
-    
-    /**
-     * C++ construct.
-     *
-     * @since S60 v5.0.
-     * @return self object.
-     */ 
-    TAknFepInputStateSpellingPinyinPhraseCreation(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer);
-    
-    /**
-     * HandleKeyL.
-     *
-     * @since S60 v5.0.
-     * @param aKey the input key.
-     * @param TKeyPressLength the key press length.
-     * @return ETrue.
-     */
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    
-    /**
-     * Initialize State.
-     *
-     * @since S60 v5.0.
-     * @return none.
-     */
-    void InitializeStateL();
-
-private:
-    
-    /**
-     * Implicity Show Info.
-     *
-     * @since S60 v5.0
-     * @return None.
-     */    
-    void ImplicityShowInfo( TBool aGetScreenCoordinates = EFalse );
-    
-    /**
-     * Refresh Show Info.
-     *
-     * @since S60 v5.0
-     * @return None.
-     */    
-    void RefreshShowInfo();
-    
-    /**
-     * KeyBackspace Or KeyUpArrow
-     *
-     * @since S60 v5.0
-     * @param TKeyPressLength the key press length.
-     * @return None.
-     */
-    void HandleKeyBackspaceOrKeyUpArrow( TKeyPressLength aLength );
-    
-    
-    /**
-     * KeyBackspace And KeyUpArrow
-     *
-     * @since S60 v5.0
-     * @param TKeyPressLength the key press length.
-     * @return None.
-     */
-    void HandleKeyOKOrKeyDownArrowOrKeyCBA1( TKeyPressLength aLength );
-  
-    /**
-     * KeyRightArrow.
-     *
-     * @since S60 v5.0
-     * @return None.
-     */  
-    void HandleKeyRightArrow();
-    
-    /**
-     * KeyLeftArrow.
-     *
-     * @since S60 v5.0
-     * @return None.
-     */ 
-    void HandleKeyLeftArrow();
-    /**
-     * Refresh Valid Keystroke.
-     *
-     * @since S60 v5.0
-     * @return ETrue refresh ok, others EFalse.
-     */  
-    TBool RefreshValidKeystroke();
-    
-    /**
-     * Refresh Valid Keystroke.
-     *
-     * @since S60 v5.0
-     * @return None.
-     */  
-    void RefreshValidKeystrokeL();
-    
-    };
-
-#endif //T_AKNFEPINPUTSTATESPELLINGPINYINPHRASECREATION_H
-
-// End of file
--- a/fep/aknfep/inc/aknfeppeninputimeplugin.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,248 +0,0 @@
-/*
-* 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:            Input mode plugin interac
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef C_AKNFEPPENINPUTIMEPLUGIN_H
-#define C_AKNFEPPENINPUTIMEPLUGIN_H
-
-//Include 
-#include <ecom/ecom.h>
-
-//Forward declaration
-class MAknFepManagerInterface;
-class MAknFepManagerUIInterface;
-class CAknFepUiInterfaceMenuPane;
-class CPtiEngine;
-
-/** UID of IME plugin this interface */
-const TInt KImePluginInterfaceId = 0x10207363;
-
-/** Maxlength of IME plugin name */
-const TInt KMaxImePluginName = 20;
-
-/**
- *  Pen input mode plugin interface
- *
- *  @since S60 v3.2
- */
-class CAknFepPenInputImePlugin: public CBase
-    {
-public:
-    /**
-     *  IME plugin implemetation detail struct
-     *
-     *  @since S60 v3.2
-     */
-    class TImePlguinImplDetail
-        {
-    public:
-        TInt iImplementationId;
-        TInt iMode;
-        TInt iMeritValue;
-        TInt iLanguage;
-        TBuf<KMaxImePluginName> iDisplayName;
-        };
-        
-    /**
-     *  IME plugin weight number, if there are more than one
-     *  IME plugin for some language, the system select the
-     *  biggest meritvalue one.
-     *
-     *  @since S60 v3.2
-     */
-    enum TImePluginMerit
-        {
-        EImeMerit_NotUsed = 0,
-        EImeMerit_Normal = 100,
-        EImeMerit_Preferred = 200
-        };
-        
-    /**
-     * Destructor
-     *
-     * @since S60 v3.2
-     */
-     virtual ~CAknFepPenInputImePlugin() 
-        { 
-        REComSession::DestroyedImplementation(iDtor_ID_Key);                        
-        }
-
-public:
-    /**
-     * Pure virtual functions to implement the interface.
-     */
-
-    /**
-     * Get layout UI interface
-     * 
-     * @since S60 v3.2
-     * @param aFepManager Fep manager interface pointer
-     * @param aLanguage Language that layout UI need to support
-     * @param aMode Speicifed layout UI mode to create
-     * @param aData Initialization data.
-     *
-     * @return The layout UI interface..
-     */
-    virtual MAknFepManagerInterface* GetInputMethodUiL(
-                                        MAknFepManagerUIInterface* aFepManager,
-                                        TLanguage aLanguage, 
-                                        TInt      aMode,
-                                        const TDesC8& aData,
-                                        const TBool aIsSplitView = EFalse) = 0;
-    
-    /**
-     * Get layout UI interface
-     * 
-     * @since S60 v3.2
-     * @param aFepManager Fep manager interface pointer
-     * @param aLayoutId Speicifed layout UI id to create
-     * @param aData Initialization data.
-     *
-     * @return The layout UI interface..
-     */
-    virtual MAknFepManagerInterface* GetInputMethodUiL(
-                                        MAknFepManagerUIInterface* aFepManager,
-                                        TInt aLayoutId,
-                                        const TDesC8& aData) = 0;
-    
-    /**
-     * Activate current IME plugin.
-     * 
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-    virtual void Activate() = 0;
-
-    /**
-     * Deactivate current IME plugin.
-     * 
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-    virtual void DeActivate() = 0;
-
-    /**
-     * Get current IME plugin implementation ID.
-     * 
-     * @since S60 v3.2
-     *
-     * @return IME plugin implementation id.
-     */
-    virtual TInt ImeImplId() = 0;
-
-    /**
-     * Get current layout UI implementation id.
-     * 
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-    virtual TInt LayoutUiImplId() = 0;
-
-    /**
-     * Handle pen input server event.
-     * 
-     * @param aEventId The event id, defined in <peninputcmd.h>
-     * @param aData The event related data.
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-    virtual TBool HandleServerEventL(TInt aEventId, const TDesC& aData) = 0;
-
-    /**
-     * Get suppored layout UI modes(VKB/HWR).
-     * 
-     * @since S60 v3.2
-     *
-     * @return Supported modes.
-     */
-    virtual TInt SupportModes(CPtiEngine* aPtiEngine, 
-                              RArray<TImePlguinImplDetail>& aSupportList) const = 0;
-    
-    /**
-     * Get current layout UI mode.
-     * 
-     * @since S60 v3.2
-     *
-     * @return Current layout UI mode.
-     */
-    virtual TInt CurrentMode() const = 0;
-    
-    /**
-     * Handle the menu command.The menu is launched by FEP
-     * The menu command is first passed to IME plugin, if 
-     * this function return EFalse, FEP handles it defaultly.
-     * 
-     * @param aCommandId The menu command id
-     * @return ETrue if IME plugin handled the command; 
-     *         EFalse otherwise.
-     */
-    virtual TBool HandleMenuCommandL(TInt aCommandId) = 0;
-    
-    /**
-     * Dynamiclly update menu items during it displays. 
-     * 
-     * aMenuPane The menu pane pointer.
-     * @return None.
-     */
-    virtual void DynInitMenuPaneL(CAknFepUiInterfaceMenuPane* aMenuPane) = 0;
-    
-protected:
-    /**
-     * C++ default constructor.
-     *
-     * @param aServer Pen input server pointer
-     */
-    CAknFepPenInputImePlugin()
-        {
-        }
-    
-public:
-
-    /**
-     * Destructor key.
-     */
-    TUid iDtor_ID_Key;
-
-protected:
-    /**
-     * Current language.
-     */
-    TLanguage iLanguage;
-
-    /**
-     * Fep manager UI interface. Not own.
-     */
-    MAknFepManagerUIInterface* iFepManager;
-    };
-
-#endif //C_AKNFEPPENINPUTIMEPLUGIN_H
-//End Of File
--- a/fep/aknfep/inc/aknfepuifingeritutinputstategeneric.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-/*
-* Copyright (c) 2002-2007 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:            Provides the TAknFepUIFingerItutInputStateChineseGeneric definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_FINGERITUT_INPUT_STATE_INIT_CHIN_GEN_H__
-#define __AKN_FEP_UI_FINGERITUT_INPUT_STATE_INIT_CHIN_GEN_H__
-
-// INCLUDES
-#include "AknFepUiInputStateBase.h"
-
-/**
- *  TAknFepUIFingerItutInputStateChineseGeneric state machine
- *
- *  This class handle the key event, which is not handled by finger ITUT ui.
- *
- *  @lib avkonfep.dll
- *  @since S60 v3.2
- */
-class TAknFepUIFingerItutInputStateChineseGeneric : public TAknFepInputStateBase//TAknFepInputStateInitialChineseMultitapBase
-    {
-    
-public:
-
-    /**
-     * C++ default constructor
-     *
-     * @since S60 v3.2
-     * @param aOwner Pointer to finger ITUT ui manager
-     * @param aUIContainer Pointer to ui container
-     * @return None
-     */  
-    TAknFepUIFingerItutInputStateChineseGeneric(
-        MAknFepUIManagerStateInterface* aOwner/*,
-        MAknFepUICtrlContainerChinese* aUIContainer*/);
-        
-    /**
-     * Handle key event  
-     *
-     * @since S60 v3.2
-     * @param aKey Event key
-     * @param aLength The length of key press
-     * @return ETrue for handling by state machine; otherwise EFalse
-     */ 
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    
-    /**
-     * Key timer expired called by ptiengine  
-     *
-     * @since S60 v3.2
-     * @return none
-     */ 
-    void KeyTimerExpired();
-    
-private:
-
-    /**
-     * Set Previous ptiengine observer  
-     *
-     * @since S60 v3.2
-     * @param aPreObserver Pointer to previous observer
-     * @return none
-     */ 
-    void SetPreObserver(MPtiObserver* aPreObserver);
-    
-    /**
-     * Get Previous ptiengine observer  
-     *
-     * @since S60 v3.2
-     * @return Pointer to previous observer
-     */ 
-    MPtiObserver* PreObserver();
-
-private:
-    
-    /**
-     * Previous observer
-     */
-    MPtiObserver* iPreObserver;    
-
-    };
-
-#endif //__AKN_FEP_UI_FINGERITUT_INPUT_STATE_INIT_CHIN_GEN_H__
-
-// End of file
--- a/fep/aknfep/inc/aknfepuiinputminiqwertypinyinphrasebase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,542 +0,0 @@
-/*
-* Copyright (c) 2008 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:           
-*      Provides the TAknFepInputMiniQwertyPinyinPhraseBase definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef T_AKNFEPUIINPUTMINIQWERTYPINYINPHRASEBASE_H
-#define T_AKNFEPUIINPUTMINIQWERTYPINYINPHRASEBASE_H
-
-//#include "AknFepUiInputStateChineseBase.h"
-#include "AknFepUiInputStateCandidateQwertyBaseChinesePhrase.h"
-
-class TAknFepInputMiniQwertyPinyinPhraseBase : public TAknFepInputStateCandidateQwertyBaseChinesePhrase
-    {
-public:
-    
-    /**
-     * change state flag.
-     */
-    enum TAknFepStrokePhraseChange
-        {
-        EManualChangeState,
-        EAutoChangeStateFromInput,
-        EAutoChangeStateFromCandidate
-        };
-    
-    /**
-     * C++ default constructor
-     *
-     * @since S60 v3.2.3
-     * @param aOwner Pointer to UI manager state interface
-     * @param aUIContainer Pointer to Chinese UI container
-     */
-    TAknFepInputMiniQwertyPinyinPhraseBase(
-        MAknFepUIManagerStateInterface* aOwner,
-        MAknFepUICtrlContainerChinese* aUIContainer
-        );
-    
-    /**
-     * Handle system key press event
-     *
-     * @since S60 v3.2.3
-     * @param aKey System key
-     * @param aLength Key press length
-     * @return ETrue if handle, otherwise this class do not handle this key
-     */
-    TBool HandleKeyL( TInt aKey, TKeyPressLength aLength );
-    /**
-     * get the spell of least delimiter
-     *
-     * @since S60 v3.2.3
-     * @return the spell of least delimiter
-     */
-    TPtrC getCurrentLeastDLTSpell();
-    /**
-     * Update input window
-     *
-     * @since S60 v3.2.3
-     * @param aRefresh, if ETRue need to get the screen position, other need not.      
-     * @return None
-     */
-    void RefreshUI( TBool aRefresh = EFalse );
-    
-    /**
-     * check the first group stroke of keystroke.
-     *
-     * @since S60 v3.2.3
-     * @param None
-     * @return ETrue if the first group stroke is valid, others return EFalse.
-     */
-    TBool CheckFirstGroupStroke();
-
-    /**
-     * Add phrase to the UDB.
-     *  
-     * @since S60 v3.2.3.
-     * @param aPhraseAdd that need to be added to the UDB.
-     * @return None.
-     */ 
-    void AddPhraseToDB( const TDesC& aPhraseAdd );    
-
-    
-    /**
-     * Refresh candidate
-     *
-     * @since S60 v3.2.3
-     * @param None
-     * @return none
-     */
-    void RefreshCandidate();
-    
-    /**
-     * Check key whether need repeat.
-     * 
-     * @since S60 v3.2.3
-     * @param aLength, the key press length.
-     * @return ETrue if the key need repeat, EFalse others.
-     */
-    TBool CheckKeyNeedRepeat( TKeyPressLength aLength );
-    
-    /**
-     * Commint text to EEP or editor
-     *
-     * @since S60 V3.2.3
-     * @param aDes Text had been select from candidate pane
-     * @return ETrue if keep state, otherwise need to change to pridictive or editor
-     */
-    TBool CommitInlineEEPL( const TDesC& aDes );
-    
-    /**
-     * Update indicator
-     *
-     * @since S60 v3.2.3
-     * @param None
-     * @return None.
-     */
-    void UpdateIndicator();
-    
-    /**
-      * Do action afer commit, change state to predictive or not.
-      *
-      * @since S60 v3.2.3
-      * @param None
-      * @return None.
-      */
-    void DoActionAfterCommit();
-    
-    /**
-     * Handling Command events.
-     * This Method is called by CAknFepUIManagerJapanese.
-     *
-     * @param aCommandId Command ID value
-     */
-    void HandleCommandL( TInt aCommandId );
-    
-private:
-    
-    /**
-     * The pinyin tone mark. 
-     */
-    enum PinyinToneMark
-        {
-        EToneMark1 = 1,
-        EToneMark2 = 2,
-        EToneMark3 = 3,
-        EToneMark4 = 4,
-        EToneMark5 = 5,
-        EOthers = -1
-        };
-    
-    /**
-     * Get the cursor's pos of show keystroke.
-     *
-     * @since S60 v3.2.3
-     * @param None
-     * @return cursor's pos of show keystroke.
-     */
-    TInt GetCursorPos();
-    
-    /**
-     * Handle Enter key press.
-     *
-     * @since S60 v3.2.3
-     * @param None
-     * @return None
-     */
-    void HandlEnterKeyL();
-    
-    /**
-     * Handle space key press.
-     *
-     * @since S60 v3.2.3
-     * @param None
-     * @return None
-     */
-    void HandlSpaceKeyL();
-    
-    /**
-     * Handle key from candidate.
-     *
-     * @since S60 v3.2.3
-     * @param aKey System key
-     * @param aLength Key press length
-     * return None
-     */
-    void HandleKeyFromCandidateL(TInt aKey, TKeyPressLength aLength );
-    
-    /**
-     * Handle tone mark key press.
-     *
-     * @since S60 v3.2.3
-     * @param None
-     * @return None
-     */
-    void HandlToneMarkL();
-    
-    /**
-     * Check the delimiter that wether is manual delimiter.
-     *
-     * @since S60 v3.2.3
-     * @param aCount the count of keystroke except delimiter.
-     * @param aKeystroke that put to the Pti keystroke. 
-     * @return ETrue if the deimiter is manual delimiter, EFalse others.
-     */
-    TBool CheckManualDelimiter( const TInt aCount,
-                                const TDesC& aKeystroke );
-    
-    /**
-     * Analyse Pinyin spelling.
-     * 
-     * @since S60 v3.2.3
-     * @param aKeystroke that put to the Pti keystroke.
-     * @param aSpelling get the spelling from Pti.
-     * @param the show keystroke array. 
-     * @return None.
-     */
-    void AnalyseSpellingL( const TDesC& aKeystroke, 
-                           const TDesC& aSpelling,
-                           CDesCArrayFlat* aShowKeystroke );
-    
-    /**
-     * Analyse spelling after user press tone mark.
-     * 
-     * @since S60 v3.2.3
-     * @param None.
-     * @return None.
-     */
-    void AnalyseSpellingAddToneMarkL( 
-                                    TInt aI,
-                                    TInt aToneMarkCount,
-                                    CDesCArrayFlat* aKeystroke,
-                                    CDesCArrayFlat* showKeystroke );
-    
-    /**
-     * Analyse spelling after user press key that is not tone mark.
-     * 
-     * @since S60 v3.2.3
-     * @param None.
-     * @return None.
-     */
-    void AnalyseSpellingAddKeyL( 
-                               TInt& aI,
-                               TInt aDelimterPos,
-                               CDesCArrayFlat* aKeystroke,
-                               CDesCArrayFlat* aShowKeystroke );
-    
-    /**
-     * Analyse spelling after user press key.
-     * 
-     * @since S60 v3.2.3
-     * @param None.
-     * @return None.
-     */
-    void AnalyseL();
-    
-    /**
-     * Handle CBA1 or select event.
-     * 
-     * @since S60 v3.2.3
-     * @param None.
-     * @return None.
-     */
-    void HandleCommitL();
-    
-    /**
-     * Handle KeyBackspace event.
-     * 
-     * @since S60 v3.2.3
-     * @param aLength Key press length 
-     * @return ETrue if handle, otherwise this class do not handle this key
-     */
-    void HandleKeyBackspaceL( TKeyPressLength aLength );
-    
-    /**
-     * Handle default key press event.
-     *
-     * @since S60 v3.2.3
-     * @param aKey System key
-     * @param aLength Key press length
-     * @return ETrue if handle, otherwise this class do not handle this key
-     */
-    void HandleDefaultKeyL( TInt aKey );
-    
-    /**
-     * Show the showinfo on the EEP ctrl.
-     * 
-     * @since S60 v3.2.3.
-     * @param None.
-     * @return None.
-     */
-    void ShowInfoOnEEPPane();
-    
-    /**
-     * Show the showinfo on the candidate ctrl.
-     * 
-     * @since S60 v3.2.3.
-     * @param None.
-     * @return None.
-     */
-    void ShowInfoOnCandidatePane();
-    
-    /**
-     * get the show keystroke.
-     * 
-     * @since S60 v3.2.3.
-     * @param aKey, the input keystroke.
-     * @param aKeystroke the show keystroke.
-     * @return None.
-     */
-    void GetShowKeystroke( TInt aKey, TDes& aKeystroke );
-    
-    /**
-     * Handle horizontal navigation.
-     * 
-     * @since S60 v3.2.3.
-     * @param aKey the input keystroke.
-     * @return ETrue if high light can move, EFase others.
-     */ 
-    TBool HandleHorizontalNavigation( TInt aKey );
-    
-    /**
-     * Add keystroke.
-     * 
-     * @since S60 v3.2.3.
-     * @param aKey the input keystroke.
-     * @return ETrue if that the key can add to the current keystroke, EFase others.
-     */            
-    TBool AddKeystrokeL( TInt aKey );
-    
-    /**
-     * Add tone mark.
-     * 
-     * @since S60 v3.2.3.
-     * @param None.
-     * @return ETrue if that the key can add to the current keystroke, EFase others.
-     */            
-    TBool AddToneMarkL();
-    
-    /**
-     * Get the candidate info.
-     * 
-     * @since S60 v3.2.3.
-     * @param None.
-     * @return none.
-     */            
-    void GetCandidateL();
-    
-    /**
-     * Change CBA.
-     *
-     * @since S60 v3.2.3
-     * @param None.
-     * @return None.
-     */        
-    void ChangeCbaL();
-    
-    /**
-     * Delete more keystroke than max leng.
-     * 
-     * @since S60 v3.2.3.
-     * @param None.
-     * @return None.
-     */            
-    void DeleteMoreKeystrokeL();
-    
-    /**
-     * Delete current keystroke.
-     * 
-     * @since S60 v3.2.3.
-     * @param None.
-     * @return ETrue if that can be deleted, EFase others.
-     */            
-    TBool DeleteKeystrokeL();
-    
-    /**
-     * Clear Keystroke of PtiEngine.
-     *
-     * @since S60 v3.2.3.
-     * @param None.
-     * @return None.
-     */
-    void ClearPtiEngineKeystroke();
-
-    /**
-     * get the key code.
-     * 
-     * @since S60 v3.2.3
-     * @param aKey, the keycode.
-     * @param aKeystroke, the show keystroke.
-     * @return none.
-     */
-    void GetKeystrokeCode( TInt& aKey, const TDesC& aKeystroke );
-    
-    /**
-     * Revert the phrase to keystroke.
-     * 
-     * @since S60 v3.2.3
-     * @param None.
-     * @return none.
-     */
-    void RevertPhraseToKeystrokeL();
-    
-    /**
-     * set warning color.
-     * 
-     * @since S60 v3.2.3.
-     * @param aCount, the count of key.
-     * @param aIndex, the index of key.
-     * @param aPhraseCount, the count of phrase.
-     * @param aToneMark, the tone mark.
-     * @param aValid, the key whether is valid.
-     * @param aShowKeystroke, the show key stroke array.
-     * 
-     * @return none.
-     */         
-    void SetWarningColor(
-                        TInt aCount,
-                        TInt aIndex,
-                        TInt aI,
-                        TInt aPhraseCount,
-                        TInt aToneMark,
-                        TBool aValid,
-                        CDesCArrayFlat* aShowKeystroke );
-    
-    /**
-     * set warning color.
-     * 
-     * @since S60 v3.2.3.
-     * @param None.
-     * @return none.
-     */         
-    void SetWarningColor();
-    
-    /**
-     * Move the cursor to Left.
-     * 
-     * @since S60 v3.2.3.
-     * @param None.
-     * @return none.
-     */         
-    void MoveCursorLeft();
-    
-    /**
-     * Move the cursor to Right.
-     * 
-     * @since S60 v3.2.3.
-     * @param None.
-     * @return none.
-     */         
-    void MoveCursorRight();
-
-    /**
-     * Check the special keystroke( i,u,v ).
-     * 
-     * @since S60 v3.2.3.
-     * @param aKeystroke the key code.
-     * @return ETrue if the param is special key, EFalse others.
-     */         
-    TBool CheckSpecialKey( const TInt aKeystroke );
-    
-    /**
-     * Check the delimiter of spelling.
-     * 
-     * @since S60 v3.2.3.
-     * @param aKeystroke the keystroke.
-     * @return ETrue if the param is delimiter, EFalse others.
-     */         
-    TBool CheckSpellingDLT( const TDesC& aKeystroke );
-    
-    /**
-     * Get pinyin tone mark.
-     * 
-     * @since S60 v3.2.3.
-     * @param aKeystroke,The tone mark.
-     * @return pinyin tone mark.
-     */         
-    TInt ToneMark( const TDesC& aKeystroke );
-    
-    /**
-     * Check the spelling after add tone mark to the PTI.
-     * 
-     * @since S60 v3.2.3.
-     * @param aToneMark,The tone mark.
-     * @return ETue,if the splling is not phrase spelling,EFalse others.
-     */         
-    TBool CheckSpellingAddToneMarkToPTIL( const TInt aToneMark );
-
-    /**
-     * Check the spelling after add key to the PTI.
-     * 
-     * @since S60 v3.2.3.
-     * @param aToneMark,The tone mark.
-     * @return o,if the splling is not phrase spelling,other the position of delimiter.
-     */         
-    TInt CheckSpellingAddKeyToPTIL( const TDesC& aKeystroke );
-    
-    /**
-     * check the all group stroke of keystroke.
-     *
-     * @since S60 v3.2.3
-     * @param None.
-     * @return ETrue if the first group stroke is valid, others return EFalse.
-     */
-    TBool CheckAllGroupStroke();
-    
-    /**
-      * Do action afer commit, change state to predictive or not.
-      *
-      * @since S60 v3.2.3
-      * @param None.
-      * @return None.
-      */
-    void DoActionAfterCommitL();
-    
-    };		
-
-#endif //T_AKNFEPUIINPUTMINIQWERTYPINYINPHRASEBASE_H
-
-// End of file
--- a/fep/aknfep/inc/aknfepuiinputminiqwertystrokephrasebase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,342 +0,0 @@
-/*
-* Copyright (c) 2008 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:           
-*      Provides the TAknFepInputMiniQwertyStrokePhraseBase definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef T_AKNFEPUIINPUTMINIQWERTYSTROKEPHRASEBASE_H
-#define T_AKNFEPUIINPUTMINIQWERTYSTROKEPHRASEBASE_H
-
-//#include "AknFepUiInputStateChineseBase.h"
-#include "AknFepUiInputStateCandidateQwertyBaseChinesePhrase.h"
-
-/**
- * key struct.
- * @since S60 v3.2.3
- */
-
-class TAknFepInputMiniQwertyStrokePhraseBase : public TAknFepInputStateCandidateQwertyBaseChinesePhrase
-    {
-public:
-    /**
-     * change state flag.
-     */
-    enum TAknFepStrokePhraseChange
-        {
-        EManualChangeState,
-        EAutoChangeStateFromInput,
-        EAutoChangeStateFromCandidate
-        };
-    
-    /**
-     * C++ default constructor
-     *
-     * @since S60 v3.2.3
-     * @param aOwner Pointer to UI manager state interface
-     * @param aUIContainer Pointer to Chinese UI container
-     */
-    TAknFepInputMiniQwertyStrokePhraseBase(
-        MAknFepUIManagerStateInterface* aOwner,
-        MAknFepUICtrlContainerChinese* aUIContainer
-        );
-    
-    /**
-     * Handle system key press event
-     *
-     * @since S60 v3.2.3
-     * @param aKey System key
-     * @param aLength Key press length
-     * @return ETrue if handle, otherwise this class do not handle this key
-     */
-    TBool HandleKeyL( TInt aKey, TKeyPressLength aLength );
-    
-    /**
-     * Update input window
-     *
-     * @since S60 v3.2.3
-     * @param aRefresh, if ETRue need to get the screen position, other need not.      
-     * @return None
-     */
-    void RefreshUI();
-    
-    /**
-     * check the first group stroke of keystroke.
-     *
-     * @since S60 v3.2.3
-     * @return ETrue if the first group stroke is valid, others return EFalse.
-     */
-    TBool CheckFirstGroupStroke();
-
-    /**
-     * Add phrase to the UDB.
-     * 
-     * @param aPhraseAdd that need to be added to the UDB.
-     * @since S60 v3.2.3.
-     * @return None.
-     */ 
-    void AddPhraseToDB( const TDesC& aPhraseAdd );    
-
-    
-    /**
-     * Refresh candidate
-     *
-     * @since S60 v3.2.3
-     * @return none
-     */
-    void RefreshCandidate();
-    
-    /**
-     * Check key whether need repeat.
-     * 
-     * @since S60 v3.2.3
-     * @return ETrue if the key need repeat, EFalse others.
-     */
-    TBool CheckKeyNeedRepeat( TKeyPressLength aLength );
-    
-    /**
-     * Commint text to EEP or editor
-     *
-     * @since S60 V3.2.3
-     * @param aDes Text had been select from candidate pane
-     * @return ETrue if keep state, otherwise need to change to pridictive or editor
-     */
-    TBool CommitInlineEEPL( const TDesC& aDes );
-    
-    /**
-     * Update indicator
-     *
-     * @since S60 v3.2.3
-     * @return None.
-     */
-    void UpdateIndicator();
-    
-    /**
-      * Do action afer commit, change state to predictive or not.
-      *
-      * @since S60 v3.2.3
-      * @return None.
-      */
-    void DoActionAfterCommit();
-    
-    /**
-     * Handling Command events.
-     * This Method is called by CAknFepUIManagerJapanese.
-     *
-     * @param aCommandId Command ID value
-     */
-    void HandleCommandL( TInt aCommandId );
-private:
-    
-    /**
-     * Handle key from candidate.
-     *
-     * @since S60 v3.2.3
-     * @param aKey System key
-     * @param aLength Key press length
-     * return None
-     */
-    void HandleKeyFromCandidateL(TInt aKey, TKeyPressLength aLength );
-    
-    /**
-     * Handle CBA1 or select event.
-     * 
-     * @since S60 v3.2.3
-     * @return None.
-     */
-    void HandleCommitL( TKeyPressLength aLength );
-    
-    /**
-     * Auto change state.
-     * 
-     * @since S60 v3.2.3
-     * @return Etru auto change state,ohters don't change state.
-     */
-    TBool HandleAutoChangeState();
-    
-    /**
-     * Handle KeyBackspace event.
-     * 
-     * @param aLength Key press length
-     * @since S60 v3.2.3
-     * @return ETrue if handle, otherwise this class do not handle this key
-     */
-    void HandleKeyBackspaceL( TKeyPressLength aLength );
-    
-    /**
-     * Handle default event.
-     *
-     * @since S60 v3.2.3
-     * @param aKey System key
-     * @param aLength Key press length
-     * @return ETrue if handle, otherwise this class do not handle this key
-     */
-    TBool HandleDefaultL( TInt aKey, TKeyPressLength aLength );
-    
-    /**
-     * Handle default key press event.
-     *
-     * @since S60 v3.2.3
-     * @param aKey System key
-     * @return none.
-     */
-    void HandleDefaultKeyL( TInt aKey );
-    
-    /**
-     * Show the showinfo on the EEP ctrl.
-     * 
-     * @since S60 v3.2.3.
-     * @return None.
-     */
-    void ShowInfoOnEEPPane();
-    
-    /**
-     * Show the showinfo on the candidate ctrl.
-     * 
-     * @since S60 v3.2.3.
-     * @return None.
-     */
-    void ShowInfoOnCandidatePane();
-    
-    /**
-     * Handle horizontal navigation.
-     * 
-     * @param aKey the input keystroke.
-     * @since S60 v3.2.3.
-     * @return ETrue if high light can move, EFase others.
-     */ 
-    TBool HandleHorizontalNavigation( TInt aKey );
-    
-    /**
-     * Add keystroke.
-     * 
-     * @param aKey the input keystroke.
-     * @since S60 v3.2.3.
-     * @return ETrue if that the key can add to the current keystroke, EFase others.
-     */            
-    TBool AddKeystrokeL( TInt aKey );
-    
-    /**
-     * Get the candidate info.
-     * 
-     * @since S60 v3.2.3.
-     * @return none.
-     */            
-    void GetCandidateL();
-    
-    /**
-     * Change CBA.
-     *
-     * @since S60 v3.2.3
-     * @return None.
-     */        
-    void ChangeCbaL();
-    
-    /**
-     * Delete current keystroke.
-     * 
-     * @since S60 v3.2.3.
-     * @return ETrue if that can be deleted, EFase others.
-     */            
-    TBool DeleteKeystroke();
-    
-    /**
-     * Clear Keystroke of PtiEngine.
-     *
-     * @since S60 v3.2.3
-     * @return None.
-     */
-    void ClearPtiEngineKeystroke();
-    
-    /**
-     * get the show keystroke.
-     * 
-     * @param aKey, the input keystroke.
-     * @param aKeystroke the show keystroke.
-     * @since S60 v3.2.3.
-     * @return None.
-     */
-    void GetShowKeystroke( TInt aKey, TDes& aKeystroke );    
-    
-    /**
-     * Revert the phrase to keystroke.
-     * @since S60 v3.2.3
-     * @return none.
-     */
-    void RevertPhraseToKeystrokeL();
-    
-    /**
-     * set warning color.
-     * 
-     * @since S60 v3.2.3.
-     * @return none.
-     */         
-    void SetWarningColor();
-    
-    /**
-     * Move the cursor to Left.
-     * 
-     * @since S60 v3.2.3.
-     * @return ETrue if cursor can be moved, other EFalse.
-     */         
-    TBool MoveCursorLeft();
-    
-    /**
-     * Move the cursor to Right.
-     * 
-     * @since S60 v3.2.3.
-     * @return ETrue if cursor can be moved, other EFalse.
-     */         
-    TBool MoveCursorRight();
-
-    /**
-     * check the all group stroke of keystroke.
-     *
-     * @since S60 v3.2.3
-     * @return ETrue if the first group stroke is valid, others return EFalse.
-     */
-    TBool CheckAllGroupStroke();
-    
-    /**
-      * Do action afer commit, change state to predictive or not.
-      *
-      * @since S60 v3.2.3
-      * @return None.
-      */
-    void DoActionAfterCommitL();
-    
-    /**
-     * check the delimeter 
-     * @ aKeystroke   the key stroke
-     * @@since S60 v3.2.3
-     * @return ETrue if the key stoke is the delimeter ,otherwise return EFalse .
-     */
-   TBool CheckSpellingDLT( const TDesC& aKeystroke );
-
-    };		
-
-#endif //T_AKNFEPUIINPUTMINIQWERTYSTROKEPHRASEBASE_H
-
-// End of file
--- a/fep/aknfep/inc/aknfepuiinputminiqwertyzhuyinphrasebase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,184 +0,0 @@
-/*
-* Copyright (c) 2008 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:           
-*      Provides the TAknFepInputMiniQwertyZhuyinPhraseBase definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef T_AKNFEPUIINPUTMINIQWERTYZHUYINPHRASEBASE_H
-#define T_AKNFEPUIINPUTMINIQWERTYZHUYINPHRASEBASE_H
-
-//#include "AknFepUiInputStateChineseBase.h"
-#include "AknFepUiInputStateCandidateQwertyBaseChinesePhrase.h"
-
-class TAknFepInputMiniQwertyZhuyinPhraseBase : public TAknFepInputStateCandidateQwertyBaseChinesePhrase
-    {
-public:
-    
-    /**
-     * C++ default constructor
-     *
-     * @since S60 v3.2.3
-     * @param aOwner Pointer to UI manager state interface
-     * @param aUIContainer Pointer to Chinese UI container
-     */
-    TAknFepInputMiniQwertyZhuyinPhraseBase(
-        MAknFepUIManagerStateInterface* aOwner,
-        MAknFepUICtrlContainerChinese* aUIContainer
-        );
-    
-    /**
-     * Handle system key press event
-     *
-     * @since S60 v3.2.3
-     * @param aKey System key
-     * @param aLength Key press length
-     * @return ETrue if handle, otherwise this class do not handle this key
-     */
-    TBool HandleKeyL( TInt aKey, TKeyPressLength aLength );
-    
-    /**
-     * Get the valid keystroke.
-     *
-     * @since S60 v3.2.3
-     * @param None.
-     * @return ETrue,if the valid keystroke is not null, EFalse otehrs.
-     */
-    TBool GetValidKeystroke();
-    
-    /**
-     * Refresh editing pane
-     *
-     * @since S60 v3.2.3
-     * @param None.
-     * @return None
-     */
-    void RefreshEditPane();
-    
-    /**
-     * Refresh spelling pane
-     *
-     * @since S60 v3.2.3
-     * @param aClearSelection ETrue if need to clear current selection, otherwise EFalse.
-     * @return None
-     */
-    void RefreshSpellingPane( TBool aClearSelection = EFalse );
-    
-    /**
-     * Refresh candidate
-     *
-     * @since S60 v3.2.3
-     * @param aClearSelection, if ETrue then clear selection of popup, others EFalse.
-     * @return none
-     */
-    void RefreshCandidatePane( TBool aClearSelection = EFalse );
-
-    /**
-     * Get candidate info.
-     *
-     * @since S60 v3.2.3
-     * @param aClearSelection, if ETrue then clear selection of popup, others EFalse.
-     * @return none
-     */
-    void GetCandidate( TBool aClearSelection = EFalse );
-    
-    /**
-     * Update indicator
-     *
-     * @since S60 v3.2.3
-     * @param None
-     * @return None.
-     */
-    void UpdateIndicator();
-    
-    /**
-     * Change CBA.
-     *
-     * @since S60 v3.2.3
-     * @param None.
-     * @return None.
-     */        
-    void ChangeCbaL();
-    
-    /**
-     * clear Selection
-     *
-     * @since S60 v5.0
-     * @return None.
-     */
-    void ClearDeliberateSelection();
-    
-private:
-    
-    /**
-     * clear the ptiengine keystroke.
-     *
-     * @since S60 v3.2.3
-     * @param None
-     * @return None
-     */
-    void ClearPtiEngineKeystroke();
-    
-    /**
-     * Check the spelling whether is phrase spelling.
-     *
-     * @since S60 v3.2.3
-     * @param None.
-     * @return ETrue,if one of spelling of PtiEngine is not phrase spelling, 
-     *  EFalse others.
-     */
-    TBool CheckPhraseSpellingL();
-    
-    /**
-     * Get the valid keystroke.
-     *
-     * @since S60 v3.2.3
-     * @param None.
-     * @return ETrue,if the valid keystroke is not null, EFalse otehrs.
-     */
-    TBool GetValidKeystrokeL();
-    
-    /**
-     * Check whether tone mark border upon.
-     *
-     * @since S60 v3.2.3
-     * @param None.
-     * @return ETrue,if the tone mark border upon, EFalse otehrs.
-     */
-    TBool CheckToneMarkBorderUpon();
-    
-    /**
-     * Get candidate info.
-     *
-     * @since S60 v3.2.3
-     * @param aClearSelection, if ETrue then clear selection of popup, others EFalse.
-     * @return none
-     */
-    void GetCandidateL( TBool aClearSelection = EFalse );
-    };		
-
-#endif //T_AKNFEPUIINPUTMINIQWERTYZHUYINPHRASEBASE_H
-
-// End of file
--- a/fep/aknfep/inc/aknfepuiinputstateentryhalfqwertyphrase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,196 +0,0 @@
-/*
-* Copyright (c) 2008 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:           
- *       Provides the  TAknFepInputStateEntryHalfQwerty definition.
- *
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef T_AKNFEPINPUTSTATEENTRYHALFQWERTYPINYINPHRASE_H
-#define T_AKNFEPINPUTSTATEENTRYHALFQWERTYPINYINPHRASE_H
-
-#include "AknFepUiInputStateEntryQwertyBaseChinesePhrase.h"
-#include "aknfepuiinputstateminiqwertystrokephrase.h"
-#include "AknFepUiInputStateEntryZhuyinPhrase.h"
-#include "AknFepUiInputStateChineseBase.h"
-
-// the entry of the pinyin inputmethod 
-class TAknFepInputStateEntryHalfQwertyPinyinPhrase :
-public TAknFepInputStateEntryQwertyBaseChinesePhrase
-    {
-public:
-    /**
-     * C++ default constructor
-     *
-     * @since S60 v3.2.3
-     * @param aOwner Pointer to UI manager state interface
-     * @param aUIContainer Pointer to Chinese UI container
-     */
-    TAknFepInputStateEntryHalfQwertyPinyinPhrase(
-        MAknFepUIManagerStateInterface* aOwner,
-        MAknFepUICtrlContainerChinese* aUIContainer );
-    /**
-     * Handle system key press event
-     *
-     * @since S60 v3.2.3
-     * @param aKey System key
-     * @param aLength Key press length
-     * @return ETrue if handle, otherwise this class do not handle this key
-     */
-    TBool HandleKeyL( TInt aKey, TKeyPressLength aLength );
-private:
-    /**
-     * update the selection 
-     *
-     * @since S60 v3.2.3
-     */
-    void DeliberatelyUpdateSelection( );
-    /**
-     * update the selection  
-     *
-     * @since S60 v3.2.3
-     */
-    void ImplicitlyUpdateSelection( );
-    /**
-     * clear the deliberate selection
-     *
-     * @since S60 v3.2.3
-     */
-    void ClearDeliberateSelection( );
-    /**
-     * refresh the ui 
-     *
-     * @since S60 v3.2.3
-     */
-    void RefreshUI( TInt aSelection );
-    /**
-     * change the cba 
-     *
-     * @since S60 v3.2.3
-     */
-    void InitializeStateL( );
-    /**
-     * update the indicator  
-     *
-     * @since S60 v3.2.3
-     */
-    void UpdateIndicator( );
-    /**
-     * to check whether the key stroke is a character key or not 
-     *
-     * @since S60 v3.2.3
-     * @param aKey System key
-     * @return ETrue if it is a character key , otherwise not
-     */
-    TBool IsCharacterKey( const TInt aKey );
-    };
-
-// the entry state of the stroke inputmethod  
-class TAknFepInputStateEntryHalfQwertyStrokePhrase :
-public TAknFepInputStateEntryQwertyBaseChinesePhrase
-    {
-public:
-    /**
-     * C++ default constructor
-     *
-     * @since S60 v3.2.3
-     * @param aOwner Pointer to UI manager state interface
-     * @param aUIContainer Pointer to Chinese UI container
-     */
-    TAknFepInputStateEntryHalfQwertyStrokePhrase(
-        MAknFepUIManagerStateInterface* aOwner,
-        MAknFepUICtrlContainerChinese* aUIContainer );
-    /**
-     * Handle system key press event
-     *
-     * @since S60 v3.2.3
-     * @param aKey System key
-     * @param aLength Key press length
-     * @return ETrue if handle, otherwise this class do not handle this key
-     */
-    TBool HandleKeyL( TInt aKey, TKeyPressLength aLength );
-private:
-    /**
-     * change the cba 
-     *
-     * @since S60 v3.2.3
-     */
-    void InitializeStateL( );
-    /**
-     * to check whether the key stroke is a character key or not 
-     *
-     * @since S60 v3.2.3
-     * @param aKey System key
-     * @return ETrue if it is a character key , otherwise not
-     */
-    TBool IsCharacterKey( const TInt aKey );
-    
-    /**
-     * update the indicator  
-     *
-     * @since S60 v3.2.3
-     */
-    void UpdateIndicator( );
-
-    };
-// the zhuyin inputmethod entry state 
-class TAknFepInputStateEntryHalfQwertyZhuyinPhrase :
-public TAknFepInputStateEntryQwertyBaseChinesePhrase
-    {
-public:
-    /**
-     * C++ default constructor
-     *
-     * @since S60 v3.2.3
-     * @param aOwner Pointer to UI manager state interface
-     * @param aUIContainer Pointer to Chinese UI container
-     */
-    TAknFepInputStateEntryHalfQwertyZhuyinPhrase(
-        MAknFepUIManagerStateInterface* aOwner,
-        MAknFepUICtrlContainerChinese* aUIContainer );
-    /**
-     * Handle system key press event
-     *
-     * @since S60 v3.2.3
-     * @param aKey System key
-     * @param aLength Key press length
-     * @return ETrue if handle, otherwise this class do not handle this key
-     */
-    TBool HandleKeyL( TInt aKey, TKeyPressLength aLength );
-
-public:
-    // Functions from MPtiObserver interface
-    void KeyTimerExpired( );
-    
-private:
-    /**
-     * update the indicator  
-     *
-     * @since S60 v3.2.3
-     */
-    void UpdateIndicator( );
-    };
-#endif T_AKNFEPINPUTSTATEENTRYHALFQWERTYPINYINPHRASE_H
-
-//end of the file 
--- a/fep/aknfep/inc/aknfepuiinputstateentrypinyinphrasecreation.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,158 +0,0 @@
-/*
-* Copyright (c) 2008 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:           
-*       Provides the TAknFepInputStateEntryPinyinPhraseCreation definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef T_AKNFEPUIINPUTSTATEENTRYPINYINPHRASECREATION_H
-#define T_AKNFEPUIINPUTSTATEENTRYPINYINPHRASECREATION_H
-
-
-#include "aknfepinputstatepinyinphrasecreationbase.h"
-
-
-class TAknFepInputStateEntryPinyinPhraseCreation : public TAknFepInputStatePinyinPhraseCreationBase
-    {
-public:
-    
-    /**
-     * C++ construct.
-     *
-     * @since S60 v5.0.
-     * @return self object.
-     */ 
-    TAknFepInputStateEntryPinyinPhraseCreation(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer);
-    
-    /**
-     * HandleKeyL.
-     *
-     * @param aKey input key.
-     * @param aLength TKeyPressLength.
-     * @since S60 v5.0.
-     * @return ETrue.
-     */ 
-    TBool HandleKeyL( TInt aKey, TKeyPressLength aLength );
-    
-    /**
-     * Initialize State.
-     *
-     * @since S60 v5.0.
-     * @return none.
-     */ 
-    void InitializeState();
-    
-private:
-    
-    /**
-     * Implicity show the show info.
-     *
-     * @since S60 v5.0.
-     * @return none.
-     */        
-    void ImplicityShowInfo( TBool aGetScreenCoordinates = EFalse );
-
-    /**
-     * Implicity show the show info.
-     *
-     * @since S60 v5.0.
-     * @return none.
-     */        
-    void ImplicityShowInfoL( TBool aGetScreenCoordinates );
-
-    /**
-     * EKeyBackspace.
-     *
-     * @param aLength TKeyPressLength.
-     * @since S60 v5.0
-     * @return None.
-     */        
-    void HandleKeyBackspace( TKeyPressLength aLength );
-    
-    /**
-     * EKeyOK And EKeyCBA1L.
-     *
-     * @since S60 v5.0
-     * @return None.
-     */        
-    void HandleKeyOKAndKeyCBA1L();
-    
-    /**
-     * others key input.
-     *
-     * @param aKey input key.
-     * @since S60 v5.0
-     * @return None.
-     */        
-    void HandleOthersKey( TInt aKey );
-    
-    /**
-     * Judge that cursor can move.
-     * 
-     * @since S60 v5.0
-     * @return ETrue the cursor can move, EFalse the cursor can't move.
-     */
-    TBool IsMoveCursor();
-    
-    /**
-     * move cursor to left.
-     * 
-     * @since S60 v5.0
-     * @return none.
-     */
-    void MoveCursorToLeft();
-    
-    /**
-     * move cursor to left.
-     * 
-     * @since S60 v5.0
-     * @return none.
-     */
-    void MoveCursorToRight();
-    
-    /**
-     * Add phrase to DB.
-     *
-     * @since S60 v5.0
-     * @param aPhraseAdd the phrase to be added to DB  
-     * @return ETrue if the phrase is added to DB successfully, otherwise EFalse.
-     */    
-    TBool AddPhraseToDB( const TDesC& aPhraseAdd );
-    
-    /**
-     * Try to close UI.
-     * 
-     * @since S60 v5.0
-     * @return ETrue close the UI.
-     */
-    TBool TryCloseUI( TKeyPressLength aLength );
-    
-    };
-
-#endif //T_AKNFEPUIINPUTSTATEENTRYPINYINPHRASECREATION_H
-
-// End of file
--- a/fep/aknfep/inc/aknfepuiinputstateentryzhuyinphrasecreation.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,134 +0,0 @@
-/*
-* Copyright (c) 2008 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:           
-*       Provides the TAknFepInputStateEntryZhuyinPhraseCreation methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef T_AKNFEPINPUTSTATEENTRYZHUYINPHRASECREATION_H
-#define T_AKNFEPINPUTSTATEENTRYZHUYINPHRASECREATION_H
-
-
-//#include "AknFepUIInputStateChineseBase.h"
-#include "aknfepuiinputstatezhuyinphrasecreationbase.h"
-
-class TAknFepInputStateEntryZhuyinPhraseCreation : public TAknFepInputStateZhuyinPhraseCreationBase
-    {
-public:
-    /**
-     * C++ constructor.
-     * 
-     * @since S60 v5.0.
-     * @param fepuimanagerstate interface
-     * @param uicontainer
-     * @return self object.
-     */  
-    TAknFepInputStateEntryZhuyinPhraseCreation(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer);
-    
-    /**
-     * Handle Key function.
-     * 
-     * @since S60 v5.0.
-     * 
-     * @param the user input key.
-     * @param TKeyPressLength the key length.
-     * @return ETrue if handle key is dealed with, EFalse others.
-     */  
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    
-    /**
-     * Initialize State.
-     * 
-     * @since S60 v5.0.
-     * @return None.
-     */ 
-    void InitializeState();
-
-private:
-
-    /**
-     * Set the show info high light.
-     * 
-     * @since S60 v5.0.
-     * @return none.
-     */         
-    void SetHighLight();
-    
-    /**
-     * Set the show info high light.
-     * 
-     * @since S60 v5.0.
-     * @return none.
-     */         
-    void SetHighLightMoreThanMax();
-    
-    /**
-     * move the index of the keystroke left.
-     * 
-     * @since S60 v5.0.
-     * @return ETrue if move ok.
-     */
-    TBool MoveIndexOfKeystrokeLeft();
-
-    /**
-     * move the index of the keystroke right.
-     * 
-     * @since S60 v5.0.
-     * @return ETrue if move ok.
-     */
-    TBool MoveIndexOfKeystrokeRight();
-    
-    /**
-     * Add phrase to DB.
-     *
-     * @since S60 v5.0.
-     * @param aPhraseAdd the phrase to be added to DB  
-     * @return ETrue if the phrase is added to DB successfully, otherwise EFalse.
-     */
-     TBool AddPhraseToDB( const TDesC& aPhraseAdd );
-    
-    /**
-     * Check auto change state.
-     * 
-     * @since S60 v5.0.
-     * @return ETrue if need to auto change state,EFalse others.
-     */
-    TBool AutoChangeState();
-    
-    /**
-     * Check high light.
-     * 
-     * @since S60 v5.0.
-     * @return ETrue if the hight light,EFalse others.
-     */
-    TBool CheckHighLightL(); 
-    
-    };
-
-#endif //T_AKNFEPINPUTSTATEENTRYZHUYINPHRASECREATION_H
-
-// End of file
--- a/fep/aknfep/inc/aknfepuiinputstateindicphoneticqwerty.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-/*
-* Copyright (c) 2006 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:           
-*       Provides the TAknFepInputStateIndicPhoneticQwerty definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_INDIC_PHONETIC_QWERTY_H__
-#define __AKN_FEP_UI_INPUT_STATE_INDIC_PHONETIC_QWERTY_H__
-
-#include <w32std.h>
-#include <aknfepuiinputstateqwerty.h>
-class TAknFepInputStateIndicPhoneticQwerty : public TAknFepInputStateQwerty
-    {
-public:
-	/**
-         * Class Constructor.
-         * 
-         * @since S60 4.0
-         * @param UI Manager.
-         * Engine.
-         * @return Nothing
-    */
-         
-    TAknFepInputStateIndicPhoneticQwerty(MAknFepUIManagerStateInterface* aOwner); 
-
-	/**
-         * Interface fuction from MAknFepManagerInterface, Used for handling events passes by FEP manager.
-         * 
-         * @since S60 4.0
-         * @param aKey- key code of the event.
-         * @param aLength- Signifies short key press or long key press.
-         * Engine.
-         * @return returns EKeyWasConsumed if the key event is handled else EKeyWasNotConsumed
-    */
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-
-	/**
-         * Removes Halant added by Phonetic PtiENgine for North Indian Languages.
-         * 
-         * @since S60 4.0
-         * @param aLanguage- Current Phonetic input language is passed to this function.
-         * Engine.
-         * @return Nothing
-    */
-    
-	void RemoveHalantL(TLanguage aLanguage);
-	
-	/**
-         * Checks wheather the current Phonetic Input Language follows North Indian style of editing. This is necessary for removal
-         * of Halant.
-         * @since S60 4.0
-         * @param aLanguage- Current Phonetic input language is passed to this function.
-         * Engine.
-         * @return Returns True if the current language comes under North Indian style of writting.
-    */
-	TBool IsToRemoveHalantForLanguage(TInt aLanguage);
-
-private:
-	
-	/**
-         * Checks wheather key code is valid QWERTY key for Phonetic FEP.
-         * 
-         * @since S60 4.0
-         * @param aKey- key code of the event.
-         * Engine.
-         * @return Returns ETrue if the key is valid Phonetic QWERTY Key.
-    */
-    
-    TBool IsQwertyKey(const TInt aKey);
-
-    };
-
-#endif __AKN_FEP_UI_INPUT_STATE_INDIC_PHONETIC_QWERTY_H__
-
-// End of file
--- a/fep/aknfep/inc/aknfepuiinputstateinitialindicphoneticmultitap.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,140 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:            Provides the TAknFepInputStateInitialIndicPhoneticMultitap definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_INIT_INDIC_PHONETIC_MULTITAP_H__
-#define __AKN_FEP_UI_INPUT_STATE_INIT_INDIC_PHONETIC_MULTITAP_H__
-
-#include "AknFepUIInputStateInitialMultitapBase.h"
-/**
-*  This class  handles the multitap input for Indic languages.
-*  @lib avkonfep.dll
-*  @since Series 60 3.1
-*/
-class TAknFepInputStateInitialIndicPhoneticMultitap : public TAknFepInputStateInitialMultitapBase
-    {
-public:
-    /**
-    * 
-    * Constructor for TAknFepInputStateInitialIndicPhoneticMultitap.	
-    * @since 5.0
-    * @return 
-    */
-    TAknFepInputStateInitialIndicPhoneticMultitap(MAknFepUIManagerStateInterface* aOwner, 
-                                                  TInt aLanguage); 
-public: //from TAknFepInputStateBase    
-    /**
-    * 
-    * Returns the virama character depending on the input language.	
-    * @since 5.0
-    * @return Etrue if the Key is handled. 
-    */
-
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-#ifdef RD_HINDI_PHONETIC_INPUT 
-    /**
-    * 
-    * Populates iPhoneticLatinChar to aChar.	
-    * @since 5.0
-    * @return None. 
-    */
-    virtual void GetPhoneticLatinChar(TChar& aChar)const;
-#endif 
-    
-public: //from MptiObserver
-    /**
-    * 
-    * Gets called when PTI Engine's timer expires.	
-    * @since 5.0
-    * @return 
-    */
-	void KeyTimerExpired();
-	/**
-	 * Transliterate the current inputted character to language specific character
-	 * of Halant.
-	 * @since 5.0
-	 * @param Null
-	 * @return Null
-	 */
-private:
-	void TransliterateFromLatinL();
-	/**
-     * Removes Halant added by Phonetic PtiENgine for North Indian Languages.
-     * 
-     * @since 5.0
-     * @param aLanguage- Current Phonetic input language is passed to this function.
-     * Engine.
-     * @return Nothing
-     */
-	void RemoveHalantL(TLanguage aLanguage);
-	
-	/**
-     * Checks wheather the current Phonetic Input Language follows North Indian style of editing. This is necessary for removal
-     * of Halant.
-     * @since 5.0
-     * @param aLanguage- Current Phonetic input language is passed to this function.
-     * Engine.
-     * @return Returns True if the current language comes under North Indian style of writting.
-     */
-	TBool IsToRemoveHalantForLanguage(TInt aLanguage);
-	/**
-	 * Checks if the character has phonetic equivallent to be Transliterated
-	 * of Halant.
-	 * @since 5.0
-	 * @param aChar character to be checked
-	 * @return returns ETrue if the character can be transliterated
-	 */
-	inline TBool IsToTransliterate(TChar& aChar);
-	/**
-	 * Checks if the current transliterated character can be inputted as per the language rule, if not then Question mark is inputted 
-	 * of Halant.
-	 * @since 5.0
-	 * @param aChar character to be validated for inputting
-	 * @return ETrue if the character is allowed
-	 */
-	TBool ValidatePhoneticInputL(const TDes& aBuf, TLanguage aLanguage);
-	/**
-	 * Checks if the current inputted character is a fallback rendered character
-	 * of Halant.
-	 * @since 5.0
-	 * @param aChar Character to be checked
-	 * @return ETrue is the character is a fallback rendered character
-	 */	
-	TBool IsInvalidPhoneticCharacter( TUint aChar, TLanguage aLanguage );
-	/**
-	 * Handels the key timer expiry
-	 * of Halant.
-	 * @since 5.0
-	 * @param Null
-	 * @return Null
-	 */
-	void HandleKeyTimerExpiryL();
-	};
-
-
-#endif //__AKN_FEP_UI_INPUT_STATE_INIT_INDIC_MULTITAP_H__
-
-// End of File
--- a/fep/aknfep/inc/aknfepuiinputstateminiqwertystrokephrase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +0,0 @@
-/*
-* Copyright (c) 2007 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:           
-*       Provides the TAknFepInputStateEntryMiniQwertyStrokePhrase,
-*       TAknFepInputStateEditingMiniQwertyStrokePhrase,
-*       TAknFepUiInputStateCandidateMiniQwertyStrokePhrase definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_INPUT_STATE_MINIQWERTY_STROKEPHRASECREATION_H__
-#define __AKN_FEP_UI_INPUT_STATE_MINIQWERTY_STROKEPHRASECREATION_H__
-//#include "aknfepuiinputminiqwertystrokephrasebase.h"
-#include "aknfepuiinputminiqwertystrokephrasebase.h"
-/**
- *  TAknFepInputStateEntryMiniQwertyStrokePhrase class.
- *
- *  Implementation of Stroke phrase entry state
- *
- *  @lib avkonfep.dll
- *  @since S60 v3.2
- */
-class TAknFepInputStateEntryMiniQwertyStrokePhrase: public TAknFepInputMiniQwertyStrokePhraseBase
-    {
-public: 
-    /**
-     * C++ default constructor
-     *
-     * @since S60 V3.2
-     * @param aOwner Pointer to UI manager state interface
-     * @param aUIContainer Pointer to Chinese UI container
-     */
-    TAknFepInputStateEntryMiniQwertyStrokePhrase(
-            MAknFepUIManagerStateInterface* aOwner,
-            MAknFepUICtrlContainerChinese* aUIContainer );
-    /**
-     * From TAknFepInputStateCandidateBasePhrase
-     * Handle system key press
-     *
-     * @since S60 v3.2
-     * @param aKey System key event
-     * @param aLength Key press length
-     * @return ETrue if handle, otherwise this class do not handle this key
-     */
-     TBool HandleKeyL( TInt aKey, TKeyPressLength aLength );
-     
-     /**
-      * Handling Command events.
-      * This Method is called by CAknFepUIManagerJapanese.
-      *
-      * @param aCommandId Command ID value
-      */
-     void HandleCommandL( TInt aCommandId );
-    };
-
-/**
- *  TAknFepInputStateEditingMiniQwertyStrokePhrase class.
- *
- *  Implementation of Stroke phrase editing state
- *
- *  @lib avkonfep.dll
- *  @since S60 v3.2
- */
-class TAknFepInputStateEditingMiniQwertyStrokePhrase: public TAknFepInputMiniQwertyStrokePhraseBase
-    {
-public: 
-    /**
-     * C++ default constructor
-     *
-     * @since S60 V3.2
-     * @param aOwner Pointer to UI manager state interface
-     * @param aUIContainer Pointer to Chinese UI container
-     */
-    TAknFepInputStateEditingMiniQwertyStrokePhrase(
-            MAknFepUIManagerStateInterface* aOwner,
-            MAknFepUICtrlContainerChinese* aUIContainer );
-    /**
-     * From TAknFepInputStateCandidateBasePhrase
-     * Handle system key press
-     *
-     * @since S60 v3.2
-     * @param aKey System key event
-     * @param aLength Key press length
-     * @return ETrue if handle, otherwise this class do not handle this key
-     */
-    TBool HandleKeyL( TInt aKey ,TKeyPressLength alength );
-    /**
-     * Handling Command events.
-     * This Method is called by CAknFepUIManagerJapanese.
-     *
-     * @param aCommandId Command ID value
-     */
-    void HandleCommandL( TInt aCommandId );
-    };
-
-/**
- *  TAknFepUiInputStateCandidateMiniQwertyPinyinAndStrokePhrase class.
- *
- *  Implementation of Pinyin and Stroke phrase candidate state
- *
- *  @lib avkonfep.dll
- *  @since S60 v3.2
- */
-class TAknFepUiInputStateCandidateMiniQwertyStrokePhrase: public TAknFepInputMiniQwertyStrokePhraseBase
-    {
-public:
-
-    /**
-     * C++ default constructor
-     *
-     * @since S60 V3.2
-     * @param aOwner Pointer to UI manager state interface
-     * @param aUIContainer Pointer to Chinese UI container
-     */
-    TAknFepUiInputStateCandidateMiniQwertyStrokePhrase(
-        MAknFepUIManagerStateInterface* aOwner,
-        MAknFepUICtrlContainerChinese* aUIContainer);
-    /**
-     * Handling Command events.
-     * This Method is called by CAknFepUIManagerJapanese.
-     *
-     * @param aCommandId Command ID value
-     */
-    void HandleCommandL( TInt aCommandId );
-protected:
-
-    /**
-     * From TAknFepInputStateCandidateBasePhrase
-     * Handle system key press
-     *
-     * @since S60 v3.2
-     * @param aKey System key event
-     * @param aLength Key press length
-     * @return ETrue if handle, otherwise this class do not handle this key
-     */
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-    };
-
-#endif /*__AKN_FEP_UI_INPUT_STATE_MINIQWERTY_STROKEPHRASECREATION_H__*/
--- a/fep/aknfep/inc/aknfepuiinputstateminiqwertyzhuyinphrase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,293 +0,0 @@
-/*
-* Copyright (c) 2007 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:           
-*       Provides the TAknFepInputStateEntryMiniQwertyZhuyinPhrase,
-*       TAknFepInputStateEditingMiniQwertyZhuyinPhrase,
-*       TAknFepUiInputStateCandidateMiniQwertyZhuyinPhrase definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef AKNFEPUIINPUTSTATEMINIQWERTYZHUYINPHRASE_H_
-#define AKNFEPUIINPUTSTATEMINIQWERTYZHUYINPHRASE_H_
-
-#include "aknfepuiinputminiqwertyzhuyinphrasebase.h"
-
-/**
- *  TAknFepInputStateEntryMiniQwertyZhuyinPhrase class.
- *
- *  Implementation of Zhuyin phrase editing state
- *
- *  @lib avkonfep.dll
- *  @since S60 v3.2
- */
-
-class TAknFepInputStateEditingMiniQwertyZhuyinPhrase : public TAknFepInputMiniQwertyZhuyinPhraseBase
-    {
-public:
-    /**
-     * C++ default constructor
-     *
-     * @since S60 V3.2
-     * @param aOwner Pointer to UI manager state interface
-     * @param aUIContainer Pointer to Chinese UI container
-     */
-    TAknFepInputStateEditingMiniQwertyZhuyinPhrase(
-            MAknFepUIManagerStateInterface* aOwner,
-            MAknFepUICtrlContainerChinese* aUIContainer );
-    
-    /**
-     * From TAknFepInputStateCandidateBasePhrase
-     * Handle system key press
-     *
-     * @since S60 v3.2
-     * @param aKey System key event
-     * @param aLength Key press length
-     * @return ETrue if handle, otherwise this class do not handle this key
-     */
-     TBool HandleKeyL( TInt aKey, TKeyPressLength aLength );
-     
-     /**
-      * Handling Command events.
-      * This Method is called by CAknFepUIManagerJapanese.
-      *
-      * @param aCommandId Command ID value
-      */
-     void HandleCommandL( TInt aCommandId );
-     
-     /**
-      * Add keystroke.
-      * 
-      * @since S60 v3.2.3.
-      * @param aKey the input keystroke.
-      * @return ETrue if that the key can add to the current keystroke, EFase others.
-      */            
-     TBool AddKeystrokeL( TInt aKey );
-     
-     /**
-      * Revert the phrase to keystroke.
-      * 
-      * @since S60 v3.2.3.
-      * @return None.
-      */
-     void RevertPhraseToKeystrokeL();
-     
-     /**
-      * Add phrase to DB.
-      * 
-      * @since S60 v3.2.3.
-      * @param aPhraseAdd The phrase to be added
-      * @return None.
-      */
-     void AddPhraseToDB( const TDesC& aPhraseAdd );
-     
-     /**
-      * Move the cursor to Left.
-      * 
-      * @since S60 v3.2.3.
-      * @return ETrue if cursor can be moved, other EFalse.
-      */         
-     TBool MoveCursorLeft();
-     
-     /**
-      * Move the cursor to Right.
-      * 
-      * @since S60 v3.2.3.
-      * @return ETrue if cursor can be moved, other EFalse.
-      */         
-     TBool MoveCursorRight();
-
-     /**
-      * Handle Key Backspace
-      * 
-      * @since S60 v3.2.3.
-      * @return None.
-      */  
-     void HandleKeyBackspaceL( TKeyPressLength aLength );
-     
-     /**
-      * Commit content
-      * 
-      * @since S60 v3.2.3.
-      * param aAddUDB ETrue if the content need to be added to UDB, otherwise EFalse.
-      * @return None.
-      */ 
-     void CommitContentL( TBool aAddUDB );
-     
-     /**
-      * Handle commit action
-      * 
-      * @since S60 v3.2.3.
-      * @return None.
-      */
-     void HandleCommitL();
-     
-     /**
-      * Refresh UI if necessary
-      * 
-      * @since S60 v3.2.3.
-      * @return None.
-      */
-     void RefreshUI();
-     
-     /**
-      * Refresh UI if necessary
-      * 
-      * @since S60 v3.2.3.
-      * @return None.
-      */
-     void ImplicityShowInfo( TBool aGetScreenCoordinates );
-
-     /**
-      * Refresh UI if necessary
-      * 
-      * @since S60 v3.2.3.
-      * @return None.
-      */
-     void ImplicityShowInfoL( TBool aGetScreenCoordinates );
-     
-     /**
-      * Show EEP Info
-      * 
-      * @since S60 v3.2.3.
-      * @return None.
-      */
-     void ShowEEPInfo();
-    };
-
-/**
- *  TAknFepInputStateSpellingMiniQwertyZhuyin class.
- *
- *  Implementation of Zhuyin phrase spelling selection state
- *
- *  @lib avkonfep.dll
- *  @since S60 v3.2
- */
-class TAknFepInputStateSpellingMiniQwertyZhuyin: public TAknFepInputMiniQwertyZhuyinPhraseBase
-    {
-public:
-
-    /**
-     * C++ default constructor
-     *
-     * @since S60 V3.2
-     * @param aOwner Pointer to UI manager state interface
-     * @param aUIContainer Pointer to Chinese UI container
-     */
-    TAknFepInputStateSpellingMiniQwertyZhuyin(
-        MAknFepUIManagerStateInterface* aOwner,
-        MAknFepUICtrlContainerChinese* aUIContainer );
-    
-    /**
-     * Handling Command events.
-     * This Method is called by CAknFepUIManagerJapanese.
-     *
-     * @param aCommandId Command ID value
-     */
-    void HandleCommandL( TInt aCommandId );
-
-private:
-    /**
-     * From TAknFepInputStateCandidateBasePhrase
-     * Handle system key press
-     *
-     * @since S60 v3.2
-     * @param aKey System key event
-     * @param aLength Key press length
-     * @return ETrue if handle, otherwise this class do not handle this key
-     */
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-
-    /**
-     * Refresh UI if necessary
-     * 
-     * @since S60 v3.2.3.
-     * @return None.
-     */
-    void RefreshUI();
-    
-    /**
-     * Refresh vaild key stroke length
-     * 
-     * @since S60 v3.2.3.
-     * @return None.
-     */
-    void RefreshVaildKeyStroke();
-    };
-
-class TAknFepInputStateCanindateSelectingMiniQwertyZhuyin : public TAknFepInputMiniQwertyZhuyinPhraseBase
-    {
-public:
-    /**
-     * C++ default constructor
-     *
-     * @since S60 v3.2.3
-     * @param aOwner Pointer to UI manager state interface
-     * @param aUIContainer Pointer to Chinese UI container
-     */
-    TAknFepInputStateCanindateSelectingMiniQwertyZhuyin(
-        MAknFepUIManagerStateInterface* aOwner,
-        MAknFepUICtrlContainerChinese* aUIContainer
-        );
-   /**
-    * From TAknFepInputStateMiniQwertyZhuyinPhraseCreationBase
-    * Handle system key press
-    *
-    * @since S60 v3.2
-    * @param aKey System key event
-    * @param aLength Key press length
-    * @return ETrue if handle, otherwise this class do not handle this key
-    */
-   TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
-   
-   /**
-    * Handling Command events.
-    * This Method is called by CAknFepUIManagerJapanese.
-    *
-    * @param aCommandId Command ID value
-    */
-   void HandleCommandL( TInt aCommandId );
-   
-   /**
-     * commit the selected character into the editor pane 
-     * @since S60 v3.2
-     * @return none
-     */
-   void CommitCandidateL();
-   
-   /**
-     * Check the select candidate numeric key is valid or not
-     * @since S60 v3.2
-     * @return ETure if the select number is valid ,others is EFalse
-     */
-   TBool SelectCandidate( TInt aKey );
-   
-   /**
-     * the postion of the first tonemark appeared 
-     * @since S60 v3.2
-     */
-    TInt GetIndexOfToneMark( const TDesC& aText);
-    };
-
-#endif /*AKNFEPUIINPUTSTATEMINIQWERTYZHUYINPHRASE_H_*/
--- a/fep/aknfep/inc/aknfepuiinputstatestrokephrasebase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,310 +0,0 @@
-/*
-* Copyright (c) 2008 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:           
-*      Provides the TAknFepInputStateStrokePhraseBase definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef T_AKNFEPUIINPUTSTATESTROKEPHRASEBASE_H
-#define T_AKNFEPUIINPUTSTATESTROKEPHRASEBASE_H
-
-#include "AknFepUiInputStateChineseBase.h"
-
-/**
- * key struct.
- * @since S60 v5.0
- */
-
-struct TKeyMap
-    {
-    TUint16 iValue;
-    TInt iKeyCode;
-    };
-
-class TAknFepInputStateStrokePhraseBase : public TAknFepInputStateChineseBase
-    {
-public:
-    
-    /**
-     * C++ default constructor
-     *
-     * @since S60 v5.0
-     * @param aOwner Pointer to UI manager state interface
-     * @param aUIContainer Pointer to Chinese UI container
-     */
-    TAknFepInputStateStrokePhraseBase(
-        MAknFepUIManagerStateInterface* aOwner,
-        MAknFepUICtrlContainerChinese* aUIContainer
-        );
-    
-    /**
-     * Handle system key press event
-     *
-     * @since S60 v5.0
-     * @param aKey System key
-     * @param aLength Key press length
-     * @return ETrue if handle, otherwise this class do not handle this key
-     */
-    TBool HandleKeyL( TInt aKey, TKeyPressLength aLength );
-    
-    /**
-     * Update input window
-     *
-     * @since S60 v5.0
-     * @param aRefresh, if ETRue need to get the screen position, other need not.      
-     * @return None
-     */
-    void RefreshUI( TBool aRefresh = EFalse );
-    
-    /**
-     * Update popup window
-     *
-     * @since S60 v5.0
-     * @return ETrue if the first group stroke is valid, others return EFalse.
-     */
-    TBool CheckFirstGroupStroke();
-
-    /**
-     * Add phrase to the UDB.
-     * 
-     * @param aPhraseAdd that need to be added to the UDB.
-     * @since S60 v5.0.
-     * @return None.
-     */ 
-    void AddPhraseToDB( const TDesC& aPhraseAdd );    
-
-    
-    /**
-     * Refresh candidate
-     *
-     * @since S60 V5.0
-     * @return none
-     */
-    void RefreshCandidate();
-    
-    /**
-     * Check key whether need repeat.
-     * 
-     * @since S60 v5.0
-     * @return ETrue if the key need repeat, EFalse others.
-     */
-    TBool CheckKeyNeedRepeat( TKeyPressLength aLength );
-    
-    /**
-     * Get new candidate.
-     * 
-     * @since S60 v5.0
-     * @return None.
-     */
-    void GetNewCandidatesL(const TDesC& aSource, RPointerArray<HBufC>& aList);
-private:    
-    
-    /**
-     * Handle KeyBackspace event.
-     * 
-     * @param aLength Key press length
-     * @since S60 v5.0
-     * @return ETrue if handle, otherwise this class do not handle this key
-     */
-    void HandleKeyBackspaceL( TKeyPressLength aLength );
-    
-    /**
-     * Entry state handle CBA1 or OK key press event.
-     *
-     * @since S60 v5.0
-     * @param aKey System key
-     * @param aLength Key press length
-     * @return ETrue if handle, otherwise this class do not handle this key
-     */
-    void HandleKeyCBA1OrKeyOKEntry( TKeyPressLength aLength );
-    
-    /**
-     * Edit state handle CBA1 or OK key press event.
-     *
-     * @since S60 v5.0
-     * @param aKey System key
-     * @param aLength Key press length
-     * @return ETrue if handle, otherwise this class do not handle this key
-     */
-    void HandleKeyCBA1OrKeyOKEditL();
-    
-    /**
-     * Handle CBA1 or OK key press event.
-     *
-     * @since S60 v5.0
-     * @param aKey System key
-     * @param aLength Key press length
-     * @return ETrue if handle, otherwise this class do not handle this key
-     */
-    void HandleKeyCBA1OrKeyOKL( TKeyPressLength aLength );
-    
-    /**
-     * Handle default key press event.
-     *
-     * @since S60 v5.0
-     * @param aKey System key
-     * @param aLength Key press length
-     * @return ETrue if handle, otherwise this class do not handle this key
-     */
-    void HandleDefaultKeyL( TInt aKey );
-    
-    /**
-     * Show the showinfo on the EEP ctrl.
-     * 
-     * @since S60 v5.0.
-     * @return None.
-     */
-    void ShowInfoOnEEPPane();
-    
-    /**
-     * Show the showinfo on the candidate ctrl.
-     * 
-     * @since S60 v5.0.
-     * @return None.
-     */
-    void ShowInfoOnCandidatePane();
-    
-    /**
-     * get the show keystroke.
-     * 
-     * @param aKey, the input keystroke.
-     * @param aKeystroke the show keystroke.
-     * @since S60 v5.0.
-     * @return None.
-     */
-    void GetShowKeystroke( TInt aKey, TDes& aKeystroke );
-    
-    /**
-     * Handle horizontal navigation.
-     * 
-     * @param aKey the input keystroke.
-     * @since S60 v5.0.
-     * @return ETrue if high light can move, EFase others.
-     */ 
-    TBool HandleHorizontalNavigation( TInt aKey );
-    
-    /**
-     * Add keystroke.
-     * 
-     * @param aKey the input keystroke.
-     * @since S60 v5.0.
-     * @return ETrue if that the key can add to the current keystroke, EFase others.
-     */            
-    TBool AddKeystrokeL( TInt aKey );
-    
-    /**
-     * Get the candidate info.
-     * 
-     * @since S60 v5.0.
-     * @return none.
-     */            
-    void GetCandidateL();
-    
-    /**
-     * Change CBA.
-     *
-     * @since S60 v5.0
-     * @return None.
-     */        
-    void ChangeCbaL();
-    
-    /**
-     * Update indicator
-     *
-     * @since S60 v5.0
-     * @return None.
-     */
-    void UpdateIndicator();
-    
-    /**
-     * Delete current keystroke.
-     * 
-     * @since S60 v5.0.
-     * @return ETrue if that can be deleted, EFase others.
-     */            
-    TBool DeleteKeystroke();
-    
-    /**
-     * Clear Keystroke of PtiEngine.
-     *
-     * @since S60 v5.0
-     * @return None.
-     */
-    void ClearPtiEngineKeystroke();
-
-    /**
-     * get the key code.
-     * 
-     * @param aKey, the keycode.
-     * @param aKeystroke, the show keystroke.
-     * @since S60 v5.0
-     * @return none.
-     */
-    void GetKeystrokeCode( TInt& aKey, const TDesC& aKeystroke );
-    
-    /**
-     * Check all the keystroke.
-     * 
-     * @since S60 v5.0.
-     * @return True if All the keystroke is valid.
-     */            
-    TBool CheckAllKeystroke();
-    
-    /**
-     * Revert the phrase to keystroke.
-     * @since S60 v5.0
-     * @return none.
-     */
-    void RevertPhraseToKeystrokeL();
-    
-    /**
-     * set warning color.
-     * 
-     * @since S60 v5.0.
-     * @return none.
-     */         
-    void SetWarningColor();
-    
-    /**
-     * Move the cursor to Left.
-     * 
-     * @since S60 v5.0.
-     * @return none.
-     */         
-    void MoveCursorLeft();
-    
-    /**
-     * Move the cursor to Right.
-     * 
-     * @since S60 v5.0.
-     * @return none.
-     */         
-    void MoveCursorRight();
-
-    };		
-
-#endif //T_AKNFEPUIINPUTSTATESTROKEPHRASEBASE_H
-
-// End of file
--- a/fep/aknfep/inc/aknfepuiinputstatezhuyinphrasecreationbase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,158 +0,0 @@
-/*
-* Copyright (c) 2008 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:           
- *      Provides the TAknFepInputStateEntryZhuyinPhraseCreation methods.
- *
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef T_AKNFEPINPUTSTATEZHUYINPHRASECREATIONBASE_H
-#define T_AKNFEPINPUTSTATEZHUYINPHRASECREATIONBASE_H
-
-#include "AknFepUiInputStateCandidateBase.h"
-
-class TAknFepInputStateZhuyinPhraseCreationBase : public TAknFepInputStateCandidateBase
-    {
-public:
-    
-    /**
-     * C++ constructor.
-     * 
-     * @since S60 v5.0.
-     * @return self object.
-     */  
-    TAknFepInputStateZhuyinPhraseCreationBase(
-                                    MAknFepUIManagerStateInterface* aOwner,
-                                    MAknFepUICtrlContainerChinese* aUIContainer);
-    
-    /**
-     * Add keystroke.
-     * 
-     * @param aKey the input keystroke.
-     * @since S60 v5.0.
-     * @return ETrue if that the key can add to the current keystroke, EFalse others.
-     */            
-    TBool AddKeystrokeL( TInt aKey );
-    
-    /**
-     * Add tone mark.
-     * 
-     * @since S60 v5.0.
-     * @return ETrue if that the key can add to the current keystroke, EFalse others.
-     */            
-    TBool AddToneMarkL(); 
-    
-    /**
-     * Get the candidate info and refresh ui.
-     * 
-     * @since S60 v5.0.
-     * @return ETrue if get candidate sucessful, EFalse others.
-     */            
-    TBool UpdateEEPContent();
-    
-    /**
-     * Check the key stroke group more than max.
-     * 
-     * @since S60 v5.0
-     * 
-     * @return value that more than max begine position.
-     */
-    TInt BegPosOfMoreThanSeven();
-    
-    /**
-     * Check the key stroke group more than max.
-     * 
-     * @since S60 v5.0
-     * @param aBegPos that more than max begine position.
-     * @return none.
-     */
-    void HighlightMoreThanSeven( TInt aBegPos );
-    
-    /**
-     * Check the keystroke count.
-     * 
-     * @since S60 v5.0.
-     * @param aIndex the index of keystroke.
-     * @param aChineseCount the chinese character count.
-     * @param aSymbol the zhuyinsymbol.
-     * @param aZhuyinSymbol the zhuyin symbol array.
-     * @return ETure if keystroke count is not more than max,EFalse others.
-     */
-    TBool ReplaceKeystrokeL( 
-                          TInt aIndex, 
-                          TInt aChineseCount,
-                          const TDesC& aSymbol, 
-                          CDesCArrayFlat* aZhuyinSymbol );
-    
-    /**
-     * Update Selection
-     *
-     * @since S60 v5.0
-     * @param aSelection the index of selecion.
-     * @return None.
-     */ 
-    void RefreshUI();
-    
-    /**
-     * Update indicator
-     *
-     * @since S60 v5.0
-     * @return None.
-     */
-    void UpdateIndicator();
-    
-    void HandleCommandL(TInt /*aCommandId*/);
-    
-    TBool DeleteZhuyinSymbolOrChinese();
-    
-    
-    /**
-     * Change CBA.
-     *
-     * @since S60 v5.0.
-     * @return None.
-     */
-    void ChangeCbaL();
-    
-private:
-    
-    /**
-     * Check the keystroke count.
-     * 
-     * @since S60 v5.0.
-     * @param aChineseCount the chinese character count.
-     * @param aZhuyinSymbol the zhuyin symbol array.
-     * @return ETure if keystroke count is not more than max,EFalse others.
-     */
-    TBool CheckKeystrokeCountL( TInt aChineseCount, CDesCArrayFlat* aZhuyinSymbol );
-    
-    void CheckShowInfo( TDes& aOutDes, CDesCArrayFlat* aZhuyinSymbol );
-    
-    void DeleteSeparatorWhenInvaild( TDes& aDes );
-
-    };
-
-#endif /*T_AKNFEPINPUTSTATEZHUYINPHRASECREATIONBASE_H*/
-
-// End of file
--- a/fep/aknfep/inc/aknfepuimanagerfingeritutchinese.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,199 +0,0 @@
-/*
-* Copyright (c) 2002-2007 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:            Provides the CAknFepUIManagerFingerItutChinese definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_MANAGER_FINGERITUT_CHINESE_H__
-#define __AKN_FEP_UI_MANAGER_FINGERITUT_CHINESE_H__
-
-// INCLUDES
-#include <PtiDefs.h>
-
-#include "AknFepUIManagerStateInterface.h"
-#include "AknFepUiInputStateChineseBase.h"
-
-// FORWARD DECLARATION
-class CAknFepUIManagerBase;
-class CAknFepPluginManager;
-
-/**
- *  CAknFepUIManagerFingerItutChinese ui class
- *
- *  This class is Chinese finger ITUT ui manager. 
- *  It manage the Chinese finger ITUT state class.
- *
- *  @lib avkonfep.dll
- *  @since S60 v3.2
- */
-class CAknFepUIManagerFingerItutChinese : public CAknFepUIManagerBase
-    {
-    
-public: 
-
-    /**
-     * Symbian constructor
-     *
-     * @since S60 v3.2
-     * @param aFepMan Pointer to fep manager
-     * @param aCaseMan Pointer to case manager
-     * @param aLanguage Current language
-     * @param aPluginMager Pointer to plugin manager
-     * @return Pointer to created CAknFepUIManagerFingerItutChinese object
-     */  
-     static CAknFepUIManagerFingerItutChinese* NewL(MAknFepManagerUIInterface* aFepMan, 
-         CAknFepCaseManager* aCaseMan, TLanguage aLanguage, CAknFepPluginManager* aPluginMager);
-         
-    /**
-     * Destructor
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    virtual ~CAknFepUIManagerFingerItutChinese();
-
-public:
-
-// From CAknFepUIManagerBase
-
-    /**
-     * From CAknFepUIManagerBase
-     * Handle key event  
-     *
-     * @since S60 v3.2
-     * @param aKey Event key
-     * @param aLength The length of key press
-     * @return ETrue for handling by state machine; otherwise EFalse
-     */ 
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength,TEventCode aEventCode = EEventKey);       
-
-    /**
-     * From CAknFepUIManagerBase
-     * Close current Finger ITUT ui  
-     *
-     * @since S60 v3.2
-     * @return none
-     */ 
-    void CloseUI();
-
-    /**
-     * From CAknFepUIManagerBase
-     * Input mode is supported by this ui  
-     *
-     * @since S60 v3.2
-     * @param aMode Input mode
-     * @return error code
-     */ 
-    TInt SupportLanguage(TInt aMode) const;
-
-    /**
-     * From CAknFepUIManagerBase
-     * Set current input language  
-     *
-     * @since S60 v3.2
-     * @param aLanguage Current language
-     * @return none
-     */ 
-    void SetInputLanguageL(TLanguage aLanguage);
-
-    /**
-     * From CAknFepUIManagerBase
-     * Change state machine  
-     *
-     * @since S60 v3.2
-     * @param aState ui state
-     * @return current ui state
-     */ 
-    TUIState ChangeState(TUIState aState);
-
-    /**
-     * From CAknFepUIManagerBase
-     * Change ITUT state machine  
-     *
-     * @since S60 v3.2
-     * @param aState ui state
-     * @return none
-     */ 
-    void ChangeStatetItut(TUIState aState);
-    
-private: 
-
-    /**
-     * From CAknFepUIManagerBase
-     * Get current fep ui state machine
-     *
-     * @since S60 v3.2
-     * @return pointer to TAknFepInputStateBase
-     */ 
-    TAknFepInputStateBase* FepUIState();
-
-    /**
-     * C++ default constructor
-     *
-     * @since S60 v3.2
-     * @param aFepMan Pointer to fep manager
-     * @param aCaseMan Pointer to case manager
-     * @param aPluginMager Pointer to plugin manager
-     * @return None
-     */  
-    CAknFepUIManagerFingerItutChinese(MAknFepManagerUIInterface* aFepMan, 
-        CAknFepCaseManager* aCaseMan, CAknFepPluginManager* aPluginMager);
-
-    /**
-     * Symbian second-phase constructor
-     *
-     * @since S60 v3.2
-     * @param aLanguage Current language
-     * @return None
-     */ 
-    void ConstructL(TLanguage aLanguage);
-
-private: // Data
-
-    /**
-     * Current state machine
-     */
-    TAknFepInputStateBase iFepUiState;//TAknFepInputStateChineseBase iFepUiState;
-
-    /**
-     * Current flag
-     */
-	TUint iFlags;
-
-    /**
-     * Previous mode
-     */
-    TInt iPrevMode;
-
-    /**
-     * Fep plugin manager (Not own)
-     */
-    CAknFepPluginManager* iPluginMager;
-
-    };
-    
-#endif //__AKN_FEP_UI_MANAGER_FINGERITUT_CHINESE_H__
-
-// End of file
--- a/fep/aknfep/inc/aknfepuispellcontainer.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,129 +0,0 @@
-/*
-* Copyright (c)  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:            Provides the CAknFepUiSpellContainer definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef AKNFEP_SPELLCONTAINER_H
-#define AKNFEP_SPELLCONTAINER_H
-
-// INCLUDES
-#include <coecntrl.h>          // for CCoeControl
-#include <eiklbo.h>            // for MEikListBoxObserver
-#include <badesca.h>           // for CDesCArray
-
-
-// FORWARD DECLARATIONS
-class CAknFepUiSpellInputPane;
-
-// CLASS DECLARATION
-
-/**
-*  CAknFepUiSpellContainer  container control class.
-*/
-class CAknFepUiSpellContainer : public CCoeControl
-{
-public: // Constructors and destructor
-
-    /**
-    * Two-phased constructor.
-    * @param aRect Frame rectangle for container.
-    * @param aModel Data model of the application.
-    * @return A Pointer to new dictionary container.
-    */
-    static CAknFepUiSpellContainer* NewL(const TInt aEditorFlag, const TInt aEditorCase, 
-                                         const TInt aEditorSCTResID);
-
-    /**
-    * Destructor.
-    */
-    virtual ~CAknFepUiSpellContainer();
-    
-    CAknFepUiSpellInputPane* InputPane();
-    
-    void SetInputWinObserver( MEikEdwinObserver* aObserver );
-
-private:
-    
-    /**
-    * C++ default constructor.
-    */
-    CAknFepUiSpellContainer();
-    
-    /**
-    * EPOC default constructor.
-    * @param aRect Frame rectangle for container.
-    * @param aModel Data model of the application.
-    */
-    void ConstructL(const TInt aEditorFlag, const TInt aEditorCase, const TInt aEditorSCTResID); 
-
-private: // Functions from base classes
-
-    /**
-    * From CoeControl, CountComponentControls.
-    */
-    TInt CountComponentControls() const;
-
-    /**
-    * From CCoeControl, ComponentControl.
-    */
-    CCoeControl* ComponentControl( TInt aIndex ) const;
-
-    /**
-    * From CCoeControl, Draw.
-    */
-    void Draw( const TRect& aRect ) const;
-
-    /**
-    * From CCoeControl, return the container's input capabilities.
-    */
-    TCoeInputCapabilities InputCapabilities() const;
-
-    /**
-    * From CCoeControl, handle key events.
-    */
-    TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );
-
-   
-    void SetContainerRect();
-    
-    HBufC* InputText();
-     
-     
-protected:
-    
-    void SizeChanged();
-    
-    void FocusChanged(TDrawNow aDrawNow);
-    
-private: // data
-    
-    CAknFepUiSpellInputPane* iInputPane;
-
- };
-
-#endif  // AKNFEP_SPELLCONTAINER_H
-
-// End of File
--- a/fep/aknfep/inc/aknfepuispellinputpane.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,153 +0,0 @@
-/*
-* Copyright (c)  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:            Provides the CAknFepUiSpellInputPane definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef AKNFEP_SPELLINPUTPANE_H
-#define AKNFEP_SPELLINPUTPANE_H
-
-#include <coecntrl.h> // for CCoeControl
-
-// FORWARD DECLARATIONS
-class CEikEdwin;
-class MEikEdwinObserver;
-
-/**
-*  CDicInputPane  input pane class.
-*/
-class CAknFepUiSpellInputPane : public CCoeControl
-{
-public: // Constructors and destructor
-
-    /**
-    * Two-phased constructor.
-    * @param aParent Parent control for container.
-    * @param aRect Frame rectangle for container.
-    * @return A Pointer to new input pane.
-    */
-    static CAknFepUiSpellInputPane* NewL( CCoeControl* aParent, 
-                                 const TInt aEditorFlag, 
-                                 const TInt aEditorCase, 
-                                 const TInt aEditorSCTResID );
-
-    /**
-    * Destructor.
-    */
-    virtual ~CAknFepUiSpellInputPane();
-
-public: // New functions
-
-    /**
-    * Return input win.
-    * @return A pointer to the input editor object.
-    */
-    CEikEdwin* InputWin() const;
-
-    /**
-    * Set input win observer
-    * @param aObserver input win observer
-    */
-    void SetInputWinObserver( MEikEdwinObserver* aObserver );
-
-    /**
-    * Set the content of input win
-    * @param aDes the text to be set
-    */
-    void SetInputWinTextL( const TDesC* aDes );
-
-    /**
-    * Selects the entire document of input win
-    */
-    void SelectAllL();
-
-	/**
-	*  SizeChanged   resize the controls
-	**/
-	void SizeChanged();
-	
-public: // Functions from base classes   
- 
-    /**
-    * From CoeControl, return the container's input capabilities.
-    * @return The input capabilities of the container
-    */
-    TCoeInputCapabilities InputCapabilities() const;
-
-    /**
-    * From CoeControl, Handles key events.
-    * @param aKeyEvent The key event.
-    * @param aType The type of key event: EEventKey, 
-    *  EEventKeyUp or EEventKeyDown.
-    * @return The value to indicates whether or not 
-    * the key event was used by this control
-    */
-    TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );
-
-private:
-
-    /**
-    * C++ default constructor.
-    */
-    CAknFepUiSpellInputPane();
-
-    /**
-    * EPOC default constructor.
-    * @param aParent Parent control for container.
-    * @param aRect Frame rectangle for container.
-    */
-    void ConstructL( CCoeControl* aParent, const TInt aEditorFlag, 
-        const TInt aEditorCase, const TInt aEditorSCTResID );
-
-private: // Functions from base classes
-
-    /**
-    * From CoeControl, CountComponentControls.
-    */
-    TInt CountComponentControls() const;
-
-    /**
-    * From CoeControl, ComponentControl.
-    */
-    CCoeControl* ComponentControl( TInt aIndex ) const;
-
-    /**
-    * From CoeControl, Draw.
-    */
-    void Draw( const TRect& aRect ) const; 
-
-    /**
-    * From CoeControl, FocusChanged.
-    */
-    void FocusChanged( TDrawNow aDrawNow );
-
-private: // data
-
-    CEikEdwin*   iInputWin;
-};
-
-#endif      // AKNFEP_SPELLINPUTPANE_H
-
-// End of File
--- a/fep/aknfep/inc/aknfepuserdbdlg.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,388 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:            Define dialog for user DB management
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef C_CAKNFEPUSERDBDLG_H
-#define C_CAKNFEPUSERDBDLG_H
-
-// INCLUDES
-#include <e32std.h>
-#include <e32base.h>
-#include <aknselectionlist.h> //CAknMarkableListDialog
-#include <AknProgressDialog.h> 
-#include <eiklbo.h> // MEikListBoxObserver 
-#include <eiklbx.h> //MListBoxItemChangeObserver
-
-const TInt KMaxInputSize(7);
-const TInt KMaxCharSize(7);
-
-// CLASS DECLARATION
-class CDBManagement;
-class CPtiEngine;
-class CAknFepManager;
-class CAknProgressDialog;
-class CEikProgressInfo;
-class CAknFepUserDBQueryDlg;
-
-/**
- *  Dialog for user DB management
- *  In this Dialog of user DB management, it has add,remove,
- *  edit and mark/unmark function
- *
- *  @code
- *   ?good_class_usage_example(s)
- *  @endcode
- *
- *  @lib ?library
- *  @since S60 v3.1
- */
-class CAknFepUserdbDlg : public CAknMarkableListDialog,
-                         public MListBoxItemChangeObserver 
-    {
-public:
-    // Constructors and destructor
-
-    /**
-     * Destructor.
-     */
-    ~CAknFepUserdbDlg();
-
-    /**
-     * Two-phased constructor.
-     * @param aOpenedItem Index of the item focusing on
-     * @param aSelectedItems Selected of list items
-     * @param aArray Content of list items
-     * @param aMenuBarResourceId Menu bar id
-     * @param aCommand Default value is zero
-     */
-    static CAknFepUserdbDlg* NewL( TInt &aOpenedItem,
-            CArrayFix< TInt > *aSelectedItems, MDesCArray *aArray,
-            TInt aMenuBarResourceId, CPtiEngine* aPtiEngine, CAknFepManager* aOwner,
-            MEikCommandObserver *aObserver=0 );
-    
-    /**
-     * Refresh user db view
-     *
-     * @since S60 v3.1
-     * @param none
-     * @return none
-     */
-    void OnChangeLanguageL( TInt aInputLanguage );
-
-    /**
-     * Refresh user db view when the screen size was changed.
-     *
-     * @since S60 vTB9.1
-     * @param none
-     * @return none
-     */
-    void SizeChanged();
-	
-	/**
-     * Return control to application framework.
-     *
-     * @since S60 vTB9.2
-     * @param TInt aIndex is the index of control
-     * @return CCoeControl object pointer
-     */
-    CCoeControl* ComponentControl(TInt aIndex) const; 
-	
-	/**
-     * Return number of controls in this dialog
-     *
-     * @since S60 vTB9.2
-     * @param none
-     * @return number of controls
-     */
-    TInt CountComponentControls() const;
-	
-private:
-
-    /**
-     * C++ constructor.
-     * @param aOpenedItem Index of the item focusing on
-     * @param aSelectedItems Selected of list items
-     * @param aArray Content of list items
-     * @param aCommand Default value is zero
-     */
-    CAknFepUserdbDlg( TInt &aValue, CArrayFix< TInt > *aSelectedItems,
-            MDesCArray *aArray, CPtiEngine* aPtiEngine, CAknFepManager* aOwner,
-            MEikCommandObserver *aObserver );
-
-    /**
-     * Symbian second-phase constructor.
-     * @param aMenuBarResourceId Menu bar id
-     */
-    void ConstructL( TInt aMenuBarResourceId );
-    
-    /**
-     * Construct Context Menu
-     *
-     * @since S60 v3.1
-     * @param None
-     * @return None 
-     */
-    void ConstructContextMenuL();
-    
-    /**
-     * Init items in the list from user DB
-     *
-     * @since S60 v3.1
-     * @param None
-     * @return Whether there are any items in list, ETrue is have items 
-     */
-    TBool InitListBoxItemL( );
-    
-    /**
-     * Add phrase to listbox and user DB
-     *
-     * @since S60 v3.1
-     * @param none
-     * @return none
-     */
-    void AddItemL();
-
-    /**
-     * Delete phrase in listbox and user DB
-     *
-     * @since S60 v3.1
-     * @param none
-     * @return none
-     */
-    void RemoveItemL();
-
-    /**
-     * Edit phrase in listbox and user DB
-     *
-     * @@since S60 v3.1
-     * @param none
-     * @return none
-     */
-    void EditItemL();
-
-    /**
-     * Mark/Unmark phrase in listbox and user DB
-     *
-     * @since S60 v3.1
-     * @param aItemIndex item's index which would be mark or unmark
-     * @return aMark set for the item mark
-     */
-    void CmdMarkL( TInt aItemIndex, TBool aMark );
-    
-    /**
-     * Change the current cba to the specific cba
-     *
-     * @since S60 v3.1
-     * @param aCbaResourceId cba id
-     * @return none
-     */
-    void ChangeCurrentCbaL ( TInt aCbaResourceId );
-    
-    /**
-     * Show context menu
-     *
-     * @since S60 v3.1
-     * @param none
-     * @return none
-     */
-    void ShowContextMenuL();
-    
-    /**
-     * Set the Search Field blank
-     *
-     * @since S60 v3.1
-     * @param none
-     * @return none
-     */
-    void ResetSearchFieldL();
-    
-    /**
-     * Find item's real Index in list
-     *
-     * @since S60 v3.1
-     * @param aItemIndex Item's index in the view which want to find the actual index
-     * @return The actual index of the item
-     */
-    TInt FindActualIndex( const TInt aItemIndex ); 
-    /**
-     * Mark or unmark item in list
-     *
-     * @since S60 v3.1
-     * @param none
-     * @return none
-     */
-    void MarkOrUnmarkItemL();
-    
-    /**
-     * Add '\t' to item array
-     *
-     * @since S60 v3.1
-     * @param aDataArray array which want to be inserted '\t'
-     * @return none
-     */
-    void InsertIconL( CDesC16Array* aDataArray );
-    
-    /**
-     * To update cba of dialg
-     *
-     * @since S60 v3.1
-     * @param aCommandId command id from menu, 0 for command except mark
-     * @return none
-     */
-    void UpdateListBoxL( TInt aCommandId = 0);
-        
-    //From base class CAknMarkableListDialog
-    /**
-     * From base class CAknMarkableListDialog
-     * Deal the commands that have recevied
-     * @param aCommandId Commands' Id
-     * @return None
-     */
-    void ProcessCommandL( TInt aCommandId );
-    
-    /**
-     * From base class CAknMarkableListDialog
-     * Deal the softkey event
-     * @param aButtonId softkey Id
-     * @return ETrue to validate and exit the dialog, EFalse to keep the dialog active.
-     */
-    TBool OkToExitL( TInt aButtonId );
-    
-    /**
-     * From base class CAknMarkableListDialog
-     * Dynamically initialises a menu pane.
-     * @param aResourceId Menu pane id
-     * @param aMenuPane The in-memory representation of the menu pane.
-     * @return None
-     */
-    void DynInitMenuPaneL( TInt aResourceId,CEikMenuPane* aMenuPane );
-    
-    void FocusChanged(TDrawNow aDrawNow);
-    
-    /**
-     * From base class CAknMarkableListDialog
-     * Initializes the dialog's controls after the 
-     * dialog has been sized but before it has been activated
-     * @param None
-     * @return None
-     */
-    void PostLayoutDynInitL();
-    
-    /**
-     * From base class CAknMarkableListDialog
-     * @param aKeyEvent The key event.
-     * @param aType The type of key event: EEventKey, EEventKeyUp or EEventKeyDown
-     * @return Indicates whether or not the key event was used by this control
-     */
-    TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );
-
-    //From base class MEikListBoxObserver
-    /**
-     * From base class MEikListBoxObserver
-     * Observer callback from the listbox..
-     * @param aListBox  ptr to listbox that is calling the method  
-     * @param aEventType  type of event; defined by MEikListBoxObserver 
-     * @return None
-     */
-    void HandleListBoxEventL(CEikListBox* aListBox, TListBoxEvent aEventType); 
-    
-    //From base class MListBoxItemChangeObserver
-    /**
-     * From base class MListBoxItemChangeObserver
-     * Item change observer will be notified when list box items have been 
-     * added or removed or the list box has been reset.
-     * @param aListBox  ptr to listbox that is calling the method  
-     * @return None
-     */
-    void ListBoxItemsChanged( CEikListBox* aListBox );
-    
-private: //data
-
-    /**
-     * Engine
-     * Own
-     */
-	CDBManagement* iDBEngine;  
-	
-    /**
-     * Progress dialog
-     * Own, but doesn't need delete by myself
-     */
-	CAknProgressDialog*  iProgressDialog;
-	
-    /**
-     * progress info
-     * Own, but doesn't need delete by myself
-     */
-	CEikProgressInfo*    iProgressInfo;
-	
-    /**
-     * Item array
-     * Own, but doesn't need delete by myself,listbox would free it automatic
-     */
-	CDesC16Array* iItems;
-	
-    /**
-     * Pti Engine
-     * Not Own
-     */
-    CPtiEngine* iPtiEngine;
-    
-    /**
-     * AknFepManager need by DBEngine
-     * Not own
-     */
-	CAknFepManager* iOwner;
-	
-    /**
-     * Context menu bar
-     * Own
-     */
-	CEikMenuBar* iContextMenuBar;
-    
-    /**
-     * Old highLight postion
-     */
-    TInt iOldIndex;
-
-    /**
-     * Old Language
-     */
-    TInt iOldLanguage;
-    
-    /**
-     * Query for add and edit. Not Own.
-     */
-    CAknFepUserDBQueryDlg* iQueryDlg;
-    
-    /**
-     * Old cba resouce
-     */
-    TInt iOldCbaRes;
-    };
-
-#endif // C_CAKNFEPUSERDBDLG_H
--- a/fep/aknfep/inc/aknfepuserdbquerydlg.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,145 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:            Define query dialog for user DB management
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef C_AKNFEPUSERDBQUERYDLG_H
-#define C_AKNFEPUSERDBQUERYDLG_H
-
-// INCLUDES
-#include <e32std.h>
-#include <e32base.h>
-#include <AknQueryDialog.h> 
-
-// CLASS DECLARATION
-class CDBManagement;
-
-
-/**
- *  Query dialog for user DB management
- *  In this query dialog, it will check phrase and show note
- *
- *  @code
- *   ?good_class_usage_example(s)
- *  @endcode
- *
- *  @lib ?library
- *  @since S60 v3.1
- */
-class CAknFepUserDBQueryDlg : public CAknTextQueryDialog 
-    {
-public:
-    // Constructors and destructor
-
-    /**
-     * Destructor.
-     */
-    ~CAknFepUserDBQueryDlg();
-
-    /**
-     * Two-phased constructor.
-     * @param aDBEngine Pointer of DBEngine
-     * @param aText Text which for initialization of query dialog
-     * @param aPrompt Prompt for query
-     * @param aTone The tone played before the dialog is shown.
-     *              Default No tone is played. 
-     */
-    static CAknFepUserDBQueryDlg* NewL( CDBManagement* aDBEngine, 
-                                        TDes& aText, const TDesC& aPrompt, 
-                                        const TTone& aTone = ENoTone );
-
-    /**
-     * Two-phased constructor.
-     * @param aDBEngine Pointer of DBEngine
-     * @param aText Text which for initialization of query dialog
-     * @param aPrompt Prompt for query
-     * @param aTone The tone played before the dialog is shown.
-     *              Default No tone is played. 
-     */
-    static CAknFepUserDBQueryDlg* NewLC( CDBManagement* aDBEngine, 
-                                         TDes& aText, const TDesC& aPrompt, 
-                                         const TTone& aTone = ENoTone );
-
-private:
-
-    /**
-     * C++ constructor.
-     * @param aDBEngine Pointer of DBEngine
-     * @param aText Text which for initialization of query dialog
-     * @param aTone The tone played before the dialog is shown.
-     *              Default No tone is played. 
-     */
-    CAknFepUserDBQueryDlg( CDBManagement* aDBEngine, 
-                           TDes& aText,
-                           const TTone& aTone = ENoTone );
-
-    /**
-     * Symbian second-phase constructor.
-     * @param aPrompt Prompt for query
-     */
-    void ConstructL( const TDesC& aPrompt );
-       
-    // From base class CAknQueryDialog
-    /**
-     * From base class CAknQueryDialog
-     * Deal the softkey event
-     * @param aButtonId softkey Id
-     * @return ETrue to validate and exit the dialog, EFalse to keep the dialog active.
-     */
-    TBool OkToExitL( TInt aButtonId );
-    
-    /**
-     * From base class CAknQueryDialog
-     * Initializes the dialog's controls after the 
-     * dialog has been sized but before it has been activated
-     * @param None
-     * @return None
-     */
-    void PostLayoutDynInitL();
-    
-private: // data
-    
-    /**
-     * Engine
-     * Not own
-     */
-    CDBManagement* iDBEngine;  
-    
-    /**
-     * Text pointer in query
-     * Not own
-     */
-    TDes* iptrbuf;
-    
-    /**
-     * Text in query
-     * Own
-     */
-    HBufC* iItemText;
-    
-    };
-
-#endif // C_AKNFEPUSERDBQUERYDLG_H
--- a/fep/aknfep/inc/aknfepzhuyinconvertion.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,208 +0,0 @@
-/*
-* Copyright (c) 2008 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:           
- *      Provides the TZhuyinSymbolsMethods definition 
- *
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef T_AKNFEPZHUYINCONVERTION_H
-#define T_AKNFEPZHUYINCONVERTION_H
-
-#include <e32hashtab.h>
-#include <badesca.h>
-#include <PtiEngine.h>
-#include "AknFepZhuyinAnalyser.h"
-
-class TZhuyinSymbolsMethods
-    {
-public:
-    /**
-     * Convert aArray to a descriptor outputed through aOutDes
-     * 
-     * @param aArray. the converted array.
-     * @param aOutDes. an output parameter for storing descriptor after converting.
-     * @return. the converted number of elements for aArray.
-     */
-    static TInt Convert2Des ( CDesCArrayFlat* aArray, TDes& aOutDes );
-    
-    /**
-     * Update the content in eep control.
-     * 
-     * @since S60 v5.0
-     * @param aPtiengine. used for getting candidate list.
-     * @param aAnylyser. used for analysing validity for zhuyin symbols.
-     * @param aZhuyinSymbols. zhuyin symbols' array.
-     * @param aChineseDisped. chinese characters' array.
-     * @param aCandidateList. an output parameter which will receive updated candidates.
-     * @param aOutDes. an output parameter for storing displayed text.
-     * @param aPhraseCreation. an out put parameter, ETrue for phrase creation, EFalse phrase input
-     * @return. whether zhuyin symbols is valid. ETrue for valid and EFalse for invalid.
-     */
-    static TBool UpdateEEPContent( 
-        CPtiEngine* aPtiengine,
-        CAknFepZhuyinAnalyser* aAnalyser,
-        CDesCArrayFlat* aZhuyinSymbols, 
-        CDesCArrayFlat* aChineseDisped,
-        CDesCArrayFlat* aCandidateList,
-        TDes& aOutDes,
-        TBool& aPhraseCreation);
-    
-    /**
-     * Update the content in eep control.
-     * 
-     * @since S60 v5.0
-     * @param aPtiengine. used for getting candidate list.
-     * @param aAnylyser. used for analysing validity for zhuyin symbols.
-     * @param aZhuyinSymbols. zhuyin symbols' array.
-     * @param aChineseDisped. chinese characters' array.
-     * @param aCandidateList. an output parameter which will receive updated candidates.
-     * @param aOutDes. an output parameter for storing displayed text.
-     * @param aPhraseCreation. an out put parameter, ETrue for phrase creation, EFalse phrase input
-     * @return. whether zhuyin symbols is valid. ETrue for valid and EFalse for invalid.
-     */
-    static TBool UpdateEEPContentL( 
-        CPtiEngine* aPtiengine,
-        CAknFepZhuyinAnalyser* aAnalyser,
-        CDesCArrayFlat* aZhuyinSymbols, 
-        CDesCArrayFlat* aChineseDisped,
-        CDesCArrayFlat* aCandidateList,
-        TDes& aOutDes,
-        TBool& aPhraseCreation);
-    
-    /**
-     * commit a chinese character from candidate list.
-     * After appending, the CDesCArrayFlat parameters will be updated for accordance.
-     * 
-     * @since S60 v5.0
-     * @param aChinese. the unicode for added chinese character.
-     * @param aAnalyser. the analyser for cecking the validity of aZhuyinSymbols.
-     * @param aZhuyinSymbols. the zhuyin symbols appeared in the eep control.
-     * @param aChineseDisped. the chinese character array aChinese should be added into.
-     * @param aZhuyinSymbolsForChinese. the corresponding symbols for chinese character array.
-     * @return. ETrue there are already 7 characters in eep control after appending.
-     *          EFalse there are less than 7 characters in eep control.
-     */
-    static TBool AppendChineseChar( 
-        const TDes& aChinese,
-        CAknFepZhuyinAnalyser* aAnalyser,
-        CDesCArrayFlat* aZhuyinSymbols, 
-        CDesCArrayFlat* aChineseDisped,
-        CDesCArrayFlat* aZhuyinSymbolsForChinese ); 
-
-    /**
-     * Delete a chinese character from aChineseDisped array
-     * and update related array in the meantime.
-     * 
-     * @since S60 v5.0
-     * @param aZhuyinSymbols.zhuyin symbols' array.
-     * @param aInputBuf. zhuyin symbols' buf.
-     * @return.ETrue for successful delete, EFalse for failed delete.
-     */
-    static void GetZhuyinSymbolsL(
-        CDesCArrayFlat* aZhuyinSymbols,
-        const TDesC& aInputBuf );
-    
-    /**
-     * Delete a chinese character from aChineseDisped array
-     * and update related array in the meantime.
-     * 
-     * @since S60 v5.0
-     * @param aZhuyinSymbols.zhuyin symbols' array.
-     * @param aChineseDisped. chinese caracters' array.
-     * @param aZhuyinSymbolsForChinese. corresponding zhuyin symbol sequences for 
-     * chinese caracters stored in aChineseDisped.
-     * @return.ETrue for successful delete, EFalse for failed delete.
-     */
-    static TBool DeleteChineseChar(
-        CDesCArrayFlat* aZhuyinSymbols, 
-        CDesCArrayFlat* aChineseDisped,
-        CDesCArrayFlat* aZhuyinSymbolsForChinese );
-    
-    /**
-     * Delete a zhuyin symbol stored in aZhuyinSymbols array.
-     * if the symbol after aKeyStroke is a tonemark, the tonemark should be deleted with zhuyin symbol.
-     * 
-     * @since S60 v5.0
-     * @param aZhuyinSymbols.zhuyin symbols' array.
-     * @param aKeyStroke. the key stroke position when deleting. 
-     * @return. ETrue for success. EFalse for failure.
-     */
-    static TBool DeleteZhuyinSymbol(
-        CDesCArrayFlat* aZhuyinSymbols, 
-        TInt aKeyStroke
-        );
-    
-    /**
-     * Refresh the cursor position according to the input parameters.
-     * 
-     * @since S60 v5.0
-     * @param aChineseNum. the number of chinese characters.
-     * @param aZhuyinShown. the displayed content.
-     * @param aKeyStrokePos. the key stroke position.
-     * @return. the new cursor position for displayed content.
-     */
-    static TInt RefreshCursorPos (
-        TInt aChineseNum,
-        const TDes& aShownContent,
-        TInt aKeyStrokePos );
-    
-    /**
-     * Get the number of zhuyin symbol group.
-     * 
-     * @since S60 v5.0
-     * @param aShown. the displayed content.
-     * @return. the number of zhuyin symbol group.
-     */
-    static TInt GetChineseCount ( const TDes& aShown );
-    
-    /**
-     * Whether the aFirstPhrase is a Zhuyin symbol or not.
-     * 
-     * @since S60 v5.0
-     * @param aFirstPhrase.Phrase content.
-     * @return. ETrue for aFirstPhrase is Zhuyin symbol. EFalse for not.
-     */
-    static TBool IsZhuyinSymbol( const TDesC& aFirstPhrase );
-    
-    /**
-     * Whether is a Zhuyin spelling or not.
-     * 
-     * @since S60 v5.0
-     * @param aSymbol the first zhuyin symbol.
-     * @param index the zhuyin symbol that index of zhuyin symbol array. 
-     * @return. ETrue the aSymbol and the symbol that index of zhuyin symbol
-     *  array is zhuyin spelling, EFalse others.
-     */
-    static TBool IsZhuyinSpelling( 
-        const TDesC& aSymbol,
-        const TInt index,
-        CDesCArrayFlat* aZhuyinSymbols );
-    
-    };
-
-#endif /*T_AKNFEPZHUYINCONVERTION_H*/
-
-//End of File
-
--- a/fep/aknfep/inc/aknfepzhuyinkeyhandler.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,240 +0,0 @@
-/*
-* 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 C_AKNFEPZHUYINKEYHANDLER_H
-#define C_AKNFEPZHUYINKEYHANDLER_H
-
-#include <e32base.h>	// For CActive, link against: euser.lib
-#include <e32std.h>		// For RTimer, link against: euser.lib
-#include <PtiDefs.h>
-#include "aknfepzhuyinkeyhandlerinterface.h"
-
-class ZhuyinKeyTable
-    {
-public:
-    /**
-     *  C++ constructor.
-     * 
-     * @return state.
-     */
-    ZhuyinKeyTable();
-
-    /**
-     *  Cancel and destroy
-     * 
-     * @return state.
-     */
-    ~ZhuyinKeyTable();
-    
-    /**
-     *  Get butten loop length.
-     * 
-     * @parameter aKey the input key.
-     * @return loop length.
-     */
-    static TInt GetBtLoopLength( TPtiKey aKey );
-    
-    /**
-     *  Get zhuyin symbol.
-     * 
-     * @parameter aKey the input key
-     * @parameter aClkCount input key count
-     * @parameter aOutput the zhuyin symbol
-     * @return state.
-     */
-    static TBool GetUnicode( TPtiKey aKey, TInt aClkCount, TDes& aOutput );
-    
-    };
-
-class CZhuyinKeyHandler : public CActive, public MZhuyinKeyHandler
-    {
-public:
-     
-    /**
-     *  Cancel and destroy
-     * 
-     * @return state.
-     */
-    ~CZhuyinKeyHandler();
-
-    /**
-     *  Two-phased constructor.
-     * 
-     * @return state.
-     */
-    static CZhuyinKeyHandler* NewL();
-
-    /**
-     *  Two-phased constructor.
-     * 
-     * @return state.
-     */
-    static CZhuyinKeyHandler* NewLC();
-
-public:
-
-    /**
-     * Function for making the initial request.
-     * 
-     * @return state.
-     */
-    void Start();
-    
-    /**
-     * Get Zhuyin symbol according to the input key.
-     * 
-     * @param aKey. the input key.
-     * @param aOutBuf. an output parameter which will receive the zhuyin symbol unicode.
-     * @return 0 identify the output should replace the old symbol.
-     *         1 identify the output is a new symbol.
-     *        -1 identify error
-     */
-    TInt GetZhuyinSymbol( TPtiKey aKey, TDes& aOutBuf );
-    
-    /**
-     * Reset all the member variables.
-     * @param None.
-     * @return None.
-     */
-    void Reset();
-    
-    /**
-     * Get tonemark according to symbol in front of cursor.
-     * 
-     * @param. aBaseSymbol is the symbol in front of cursor.
-     * @param. aOutBuf is the output buffer for rcving tonemark.
-     * @return. 0 identify the output should replace symbol in front of cursor
-     *          1 identify the output should be added.
-     *         -1 identify error
-     */
-    TInt GetToneMark( const TDes& aBaseSymbol, TDes& aOutBuf );
-    
-    /**
-     * Set whether state change from entry to spelling editing is automatical.
-     * 
-     * @param aState.1 for automatical, 0 for manual.
-     * @return None.
-     */
-    void SetState( TInt aState );
-    
-    /**
-     * Get state change states.
-     * 
-     * @return state.
-     */
-    TInt GetState();
-    
-    /**
-     * Set status change flag. 
-     * this function is used to deal with long press on Down key or Clear key.
-     * 
-     * @param aChgFlag.
-     * @return None.
-     */
-    void SetStatusChgFlag( TStatusChgFlag aChgFlag );
-    
-    /**
-     * Get the status change flag.
-     * @prama None.
-     * @return.
-     */
-    TStatusChgFlag GetStatusChgFlag();
-    
-private:
-    
-    /**
-     * C++ constructor.
-     * @prama None.
-     * @return.
-     */
-    CZhuyinKeyHandler();
-
-    /**
-     * Second-phase constructor.
-     * @prama None.
-     * @return.
-     */
-    void ConstructL();
-
-private:
-
-    /**
-     * From CActive Handle completion.
-     * @prama None.
-     * @return.
-     */
-    void RunL();
-
-    /**
-     * How to cancel me.
-     * @prama None.
-     * @return.
-     */
-    void DoCancel();
-
-    /**
-     * Override to handle leaves from RunL(). Default implementation causes.
-     * the active scheduler to panic.
-     * @prama None.
-     * @return.
-     */
-    TInt RunError( TInt aError );
-
-private:
-    
-    /**
-     * Provides async timing service
-     */
-    RTimer iTimer;
-    
-    /**
-     * Last pressed key.
-     */
-    TPtiKey iLastKey;
-    
-    /**
-     * if ETrue, it identify you don't touch any key in the specified time.
-     */
-    TBool iTimeOut;
-    /**
-     * the times you pressed current key.
-     */
-    TInt iBtClickNum;
-    
-    /**
-     * the max loop length for pressed key.
-     */
-    TInt iBtLoopLength;
-    
-    /**
-     * whether the state change from entry to spelling editing is automatical.
-     */
-    TInt iState;
-    
-    /**
-     * state change flag.used to handle long press on down key and clear key currently.
-     */
-    TStatusChgFlag iStatusChgFlag;
-    
-    };
-
-#endif // C_AKNFEPZHUYINKEYHANDLER_H
-
-// End of file
-
--- a/fep/aknfep/inc/aknfepzhuyinkeyhandlerinterface.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
-* 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:          
-*
-*/
-
-
-
-
-
-
-
-
-
-
-/**
- * aknfepzhuyinkeyhandlerinterface.h
- * 
- */
-#ifndef M_AKNFEPZHUYINKEYHANDLERINTERFACE_H
-#define M_AKNFEPZHUYINKEYHANDLERINTERFACE_H
-
-#include <e32std.h>
-
-class MZhuyinKeyHandler
-    {
-public:
-    enum TStatusChgFlag
-    {
-    EInit,
-    EFromSpellingEditingToEntry,
-    EFromCandidateToEntry
-    };
-    virtual TInt GetZhuyinSymbol ( TPtiKey aKey, TDes& aOutBuf ) = 0;
-    virtual void Reset() = 0;
-    virtual TInt GetToneMark ( const TDes& aBaseSymbol, TDes& aOutBuf ) = 0;
-    virtual void SetState( TInt aState ) = 0;
-    virtual TInt GetState() = 0;
-    virtual void SetStatusChgFlag ( TStatusChgFlag aChgFlag ) = 0;
-    virtual TStatusChgFlag GetStatusChgFlag () = 0;
-    };
-
-#endif /*M_AKNFEPZHUYINKEYHANDLERINTERFACE_H*/
--- a/fep/aknfep/inc/dbmanagement.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,214 +0,0 @@
-/*
-* Copyright (c) 2008 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:            DB Engine
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef C_CDBMANAGEMENT_H
-#define C_CDBMANAGEMENT_H
-
-// CLASS DECLARATION
-class CPtiEngine;
-class CAknFepSharedDataInterface;
-class CAknFepManager;
-
-// CONSTANTS
-const TInt KErrorMsgMaxLength = 60;
-/**
- *  CDBManagement
- *  User DB management view's DB Engine
- * 
- * 
- *  @lib peninputhwrboxcn.lib
- *  @since S60 v5.0
- */
-class CDBManagement : public CBase
-    {
-    
-public:
-    
-    /**
-     * Symbian constructor.
-     *
-     * @since S60 v5.0
-     * @return Pointer to created CDBManagement object
-     */
-    static CDBManagement* NewL( CAknFepManager* aFepManager );
-
-    /**
-     * Destructor.
-     *
-     * @since S60 v5.0
-     * @return None
-     */    
-    virtual ~CDBManagement();
-
-    /**
-     * Add phrase to DB.
-     *
-     * @since S60 v5.0
-     * @param aPhraseAdd the phrase to be added to DB  
-     * @return ETrue if the phrase is added to DB successfully, otherwise EFalse.
-     */    
-    TBool AddPhraseToDB( const TDesC& aPhraseAdd );
-    
-    /**
-     * Edit phrase from DB.
-     *
-     * @since S60 v5.0
-     * @param aPhraseOld the phrase to be edited before
-     * @param aPhraseNew the phrase to be edited after
-     * @return ETrue if the phrase is edited from DB successfully, otherwise EFalse.
-     */    
-    TBool EditPhraseFromDB(  const TDesC& aPhraseOld,
-                             const TDesC& aPhraseNew );
-    
-    /**
-     * Remove phrase from DB.
-     *
-     * @since S60 v5.0
-     * @param aPhraseRemove the phrase to be removed
-     * @return ETrue if the phrase is remove from DB successfully, otherwise EFalse.
-     */    
-    TBool RemovePhraseFromDB( const TDesC& aPhraseRemove );
-    
-    /**
-     * Get phrases from DB.
-     *
-     * @since S60 v5.0
-     * @param aPhraseGet the phrases are getde from DB
-     * @return ETrue if the phrases are geted from DB successfully, otherwise EFalse.
-     */    
-    TBool GetPhraseFromDBL( CDesCArray& aPhraseGet);     
-    
-    /**
-     * Get Error Message.
-     *
-     * @since S60 v5.0
-     * @param aErrMsg the Error Message
-     * @return None.
-     */    
-    void GetErrMsg( TDes& aErrMsg );
- 
-    /**
-     * Check the input pharese.
-     *
-     * @since S60 v5.0
-     * @param aPhraseInput  the phrase to be checked
-     * @return ETrue if the input phrase are checked successfully, otherwise EFalse.
-     */
-    TBool InputPhraseCheck( TDes& aPhraseInput );
-
-private:
-    
-    /**
-     * C++ constructor
-     *
-     * @since S60 v5.0
-     * @return None
-     */
-    CDBManagement();
-    
-    /**
-     * Second phase constructor.
-     *
-     * @since S60 v5.0
-     * @return Pointer to created CDBManagement object
-     */    
-    void ConstructL( CAknFepManager* aFepManager );
-
-    /**
-     * set language
-     *
-     * @since S60 v5.0
-     * @return none.
-     */    
-    void ActivateLanguageL();
-    
-    /**
-     * set language
-     *
-     * @since S60 v5.0
-     * @return none.
-     */    
-    void ActivateLanguageOfFepL();
-    
-    /**
-     * set language
-     *
-     * @since S60 v5.0
-     * @return none.
-     */    
-    void ActivateLanguage();
-    
-    /**
-     * set input mode
-     *
-     * @since S60 v5.0
-     * @return ETrue if set input mode successfully, otherwise EFalse.
-     */
-    TBool SetInputMode( CPtiEngine* aPtiEngine );
-    
-    /**
-     * get db error message
-     *
-     * @since S60 v5.0
-     * @return none.
-     */
-    void GetDBErrMsg( TInt aErrCode );
-    
-private: //private data
-    
-    /**
-     * CAknFepSharedDataInterface objcet
-     * Own
-     */
-    CAknFepSharedDataInterface* iAknFepSharedDataInterface;
-    
-    /**
-     * CAknFepSharedDataInterface objcet
-     * Own
-     */
-    CPtiEngine* iPtiEngine;
-    
-    /**
-     * CAknFepSharedDataInterface objcet
-     * not Own
-     */
-    CPtiEngine* iPtiEngineOfFep;
-    
-    /**
-     * CAknFepSharedDataInterface objcet
-     * not Own
-     */
-    CAknFepManager* iFepManager;
-        
-    /**
-     * Error message info
-     */
-    TBuf<KErrorMsgMaxLength> iErrMsg;
-    };
-
-#endif // C_CDBMANAGEMENT_H
--- a/fep/aknfep/peninputplugins/PeninputPluginKr/data/E95A395D.rss	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* 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:  Resource definitions for project peninputimeplugingeneric
-*
-*/
-
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
-#include "PeninputPluginKr.hrh"   // CPeninputPluginKr
-
-// Declares info for two implementations
-RESOURCE REGISTRY_INFO theInfo
-    {
-    // UID for the DLL
-    dll_uid = KAknFepImePluginImplementationId;
-    // Declare array of interface info
-    interfaces = 
-        {
-        INTERFACE_INFO
-            {
-            // UID of interface that is implemented
-            interface_uid = 0x10207363;
-            implementations = 
-                {
-                // Info for CImplementation1
-                IMPLEMENTATION_INFO
-                    {
-                    implementation_uid = KAknFepImePluginImplementationId;
-                    version_no = 1;
-                    display_name = "Korean touch input method plugin";
-                    //supported language
-                    default_data = "1||65";
-                    }
-                };
-            }
-        };
-    }
-
-// End Of File
--- a/fep/aknfep/peninputplugins/PeninputPluginKr/data/PeninputPluginKr.loc	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* 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: 
-*
-*/
-//  LOCALISATION STRINGS
-
-#ifdef LANGUAGE_01
-
-#define qtn_peninput_plugin_kr_doubleconsonent_setting "Custom Combination"
-
-#define STRING_r_aknexquery_selection_title "Custom Combination"
-
-#define qtn_peninput_plugin_kr_item1 "1\t"<0x3131>" + "<0x3131>" "<0x21D2>" "<0x3132>
-#define qtn_peninput_plugin_kr_item2 "1\t"<0x3137>" + "<0x3137>" "<0x21D2>" "<0x3138>
-#define qtn_peninput_plugin_kr_item3 "1\t"<0x3142>" + "<0x3142>" "<0x21D2>" "<0x3143>
-#define qtn_peninput_plugin_kr_item4 "1\t"<0x3145>" + "<0x3145>" "<0x21D2>" "<0x3146>
-#define qtn_peninput_plugin_kr_item5 "1\t"<0x3148>" + "<0x3148>" "<0x21D2>" "<0x3149>
-#define qtn_peninput_plugin_kr_item6 "1\t"<0x3151>" + "<0x3163>" "<0x21D2>" "<0x3152>
-#define qtn_peninput_plugin_kr_item7 "1\t"<0x3155>" + "<0x3163>" "<0x21D2>" "<0x3156>
-
-#endif
-
-#ifdef LANGUAGE_65
-
-#define qtn_peninput_plugin_kr_doubleconsonent_setting <0xC790><0xBAA8>" "<0xC870><0xD569>" "<0xC124><0xC815>
-
-#define STRING_r_aknexquery_selection_title <0xC790><0xBAA8>" "<0xC870><0xD569>" "<0xC124><0xC815>
-
-#define qtn_peninput_plugin_kr_item1 "1\t"<0x3131>" + "<0x3131>" "<0x21D2>" "<0x3132>
-#define qtn_peninput_plugin_kr_item2 "1\t"<0x3137>" + "<0x3137>" "<0x21D2>" "<0x3138>
-#define qtn_peninput_plugin_kr_item3 "1\t"<0x3142>" + "<0x3142>" "<0x21D2>" "<0x3143>
-#define qtn_peninput_plugin_kr_item4 "1\t"<0x3145>" + "<0x3145>" "<0x21D2>" "<0x3146>
-#define qtn_peninput_plugin_kr_item5 "1\t"<0x3148>" + "<0x3148>" "<0x21D2>" "<0x3149>
-#define qtn_peninput_plugin_kr_item6 "1\t"<0x3151>" + "<0x3163>" "<0x21D2>" "<0x3152>
-#define qtn_peninput_plugin_kr_item7 "1\t"<0x3155>" + "<0x3163>" "<0x21D2>" "<0x3156>
-
-#endif
-
-// End of File
--- a/fep/aknfep/peninputplugins/PeninputPluginKr/data/PeninputPluginKrRes.rss	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,148 +0,0 @@
-/*
-* 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:  Resource definitions for project peninputgenericvkb
-*
-*/
-
-
-// Resource identifier
-NAME PIPK
-
-// System includes
-#include <avkon.rsg>
-#include <avkon.rh>
-#include <eikon.rh>
-#include <appinfo.rh>
-#include "PeninputPluginKr.loc"
-
-RESOURCE RSS_SIGNATURE
-    {
-    }
-
-RESOURCE TBUF
-    {
-    buf = "PeninputPluginKr";
-    }
-
-
-RESOURCE LBUF r_peninput_plugin_kr_doubleconsonent_setting
-    {
-    txt=qtn_peninput_plugin_kr_doubleconsonent_setting;
-    }
-
-//-----------------------------------------------------------------------------
-//
-//    r_aknexquery_multi_selection_query
-//    Resource of Multi Selection Query.
-//
-//-----------------------------------------------------------------------------
-//
-
-#define AKNEXQUERY_LISTBOX_HEIGHT 3
-#define AKNEXQUERY_LISTBOX_WIDTH 3
-
-RESOURCE DIALOG r_aknexquery_multi_selection_query
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_OK_CANCEL;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtListQueryControl;
-            id = EListQueryControl;
-            control = AVKON_LIST_QUERY_CONTROL
-                {
-                listtype = EAknCtSingleGraphicPopupMenuListBox;
-                listbox = LISTBOX
-                    {
-                    flags = EAknListBoxMultiselectionList;
-                    height = AKNEXQUERY_LISTBOX_HEIGHT;
-                    width = AKNEXQUERY_LISTBOX_WIDTH;
-                    array_id = r_aknexquery_multi_selection_query_list_item;
-                    };
-                heading = STRING_r_aknexquery_selection_title;
-                };
-            }
-        };
-    }
-
-//-----------------------------------------------------------------------------
-//
-//    r_aknexquery_multi_selection_query_list_item
-//    Items array for Multi Selection Query
-//
-//-----------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_aknexquery_multi_selection_query_list_item
-    {
-    items =
-        {
-        LBUF
-            {
-            txt = qtn_peninput_plugin_kr_item1;
-            },
-        LBUF
-            {
-            txt = qtn_peninput_plugin_kr_item2;
-            },
-        LBUF
-            {
-            txt = qtn_peninput_plugin_kr_item3;
-            },
-        LBUF
-            {
-            txt = qtn_peninput_plugin_kr_item4;
-            },
-        LBUF
-            {
-            txt = qtn_peninput_plugin_kr_item5;
-            },
-        LBUF
-            {
-            txt = qtn_peninput_plugin_kr_item6;
-            },
-        LBUF
-            {
-            txt = qtn_peninput_plugin_kr_item7;
-            }
-        };
-    }
-
-//-----------------------------------------------------------------------------
-//
-//    r_aknexquery_multi_selection_list_query
-//
-//-----------------------------------------------------------------------------
-//
-RESOURCE AVKON_MULTISELECTION_LIST_QUERY r_aknexquery_multi_selection_list_query
-    {
-    flags = EGeneralQueryFlags;
-    softkeys = R_AVKON_SOFTKEYS_SELECT_CANCEL;
-    items =
-        {
-        AVKON_MULTISELECTION_LIST_QUERY_DLG_LINE 
-            {
-            control = AVKON_LIST_QUERY_CONTROL
-                {
-                listtype = EAknCtSingleGraphicPopupMenuListBox;
-                listbox = AVKON_MULTISELECTION_LIST_QUERY_LIST
-                    {
-                    array_id=r_aknexquery_multi_selection_query_list_item;
-                    };
-                heading = STRING_r_aknexquery_selection_title;
-                };
-            }
-        };
-    }
--- a/fep/aknfep/peninputplugins/PeninputPluginKr/group/PeninputPluginKr.mmp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-/*
-* Copyright (c) 2002-2006 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:
-*
-*/
-
-#include <bldvariant.hrh>
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-TARGET          PeninputPluginKr.dll
-TARGETTYPE      PLUGIN
-CAPABILITY      CAP_ECOM_PLUGIN
-VENDORID        VID_DEFAULT
-UID             0x10009D8D 0xE95A395D
-
-MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE   /epoc32/include/ecom
-SYSTEMINCLUDE   ../../../../../inc 
-SYSTEMINCLUDE   ../../../../../fep/aknfep/inc
-
-USERINCLUDE	    ../inc
-
-SOURCEPATH	  ../src
-
-SOURCE        PeninputPluginKr.cpp
-SOURCE        PeninputPluginKrDllMain.cpp
-SOURCE        PeninputPluginKrProxy.cpp
-SOURCE        PluginKrFepManagerBase.cpp
-SOURCE        PluginKrFepManagerHwr.cpp
-SOURCE        PluginKrFepManagerVkb.cpp
-SOURCE	      PluginKrFepManagerItut.cpp
-
-LANG          sc 01 65
-
-SOURCEPATH ../data
-START RESOURCE E95A395D.rss
-    #ifdef SYMBIAN_SECURE_ECOM 
-      TARGET PeninputPluginKr.rsc
-    #endif
-END
-
-SOURCEPATH      ../data
-START RESOURCE PeninputPluginKrRes.rss
-	HEADER
-	TARGETPATH resource/fep
-END
-
-LIBRARY       euser.lib
-LIBRARY       ecom.lib
-LIBRARY       FeatMgr.lib
-LIBRARY       commonengine.lib
-LIBRARY       bafl.lib
-LIBRARY       cone.lib
-#ifdef RD_SCALABLE_UI_V2
-LIBRARY       peninputclient.lib
-#else
-LIBRARY       peninputserverstub.lib
-#endif
-LIBRARY       estor.lib
-LIBRARY       avkon.lib
-LIBRARY       eikcoctl.lib
-LIBRARY       centralrepository.lib
-
-DEBUGLIBRARY  flogger.lib
--- a/fep/aknfep/peninputplugins/PeninputPluginKr/group/bld.inf	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-/*
-* Copyright (c) 2002-2007 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:
-*
-*/
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-PeninputPluginKr.mmp
--- a/fep/aknfep/peninputplugins/PeninputPluginKr/group/peninputpluginkrproxy.d	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \Carbide\PeninputPluginKr\src\peninputpluginkrproxy.cpp
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\RVCT2_2\RVCT2_2.h
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \EPOC32\include\oem\feature_settings.hrh
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \EPOC32\include\oem\defaultcaps.hrh
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \EPOC32\include\oem\Symbian.hrh
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \EPOC32\include\oem\..\variant\Symbian_OS.hrh
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \EPOC32\include\oem\privateruntimeids.hrh
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \EPOC32\include\oem\publicruntimeids.hrh
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \EPOC32\include\oem\ncp_feature_consts.hrh
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \EPOC32\include\oem\ncp_consts.hrh
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\oem\bldcodeline.hrh
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\oem\bldprivate.hrh
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\oem\bldpublic.hrh
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\oem\bldregional.hrh
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\oem\adaptation_features.hrh
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\oem\ncp_feature_settings.hrh
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\oem\hw_rapido_init_settings.hrh
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\oem\hw_logical_pins.hrh
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\oem\spp_feature_settings.hrh
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\oem\dsw_feature_settings.hrh
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\oem\productvariant.hrh
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\oem\bldcustomsw.hrh
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\oem\customswconsts.hrh
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\oem\customswruntimeids.hrh
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\oem\customswstaticfeatures.hrh
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\oem\bldnokia.hrh
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\RVCT2_2\../symcpp.h
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\e32std.h
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\e32cmn.h
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\e32const.h
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\e32err.h
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\e32def.h
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\e32lang.h
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\e32capability.h
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\e32des8.h
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\e32des16.h
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\e32cmn.inl
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\e32std.inl
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\ecom\ImplementationProxy.h
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \Carbide\PeninputPluginKr\inc\PeninputPluginKr.hrh
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \Carbide\PeninputPluginKr\inc\PeninputPluginKr.h
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\e32base.h
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\e32base.inl
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \s60\mw\inputmethods\inc\AknFepPenInputImePlugin.h
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\ECom\ECom.h
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\s32std.h
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\s32strm.h
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\s32strm.inl
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\s32std.inl
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\f32file.h
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\e32svr.h
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\e32hal.h
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\d32locd.h
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\partitions.h
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\d32locd.inl
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\e32notif.h
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\e32ldr.h
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\e32event.h
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\e32ktran.h
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\e32keys.h
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\e32debug.h
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\e32lmsg.h
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include\f32file.inl
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include/ecom/ecomerrorcodes.h
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include/ecom/ecomresolverparams.h
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include/ecom/ecomresolverparams.inl
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include/ecom/implementationinformation.h
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include/s32std.h
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include/f32file.h
-\EPOC32\BUILD\Carbide\PeninputPluginKr\group\PENINPUTPLUGINKR\ARMV5\udeb\PeninputPluginKrProxy.o: \epoc32\include/ecom/implementationinformation.inl
--- a/fep/aknfep/peninputplugins/PeninputPluginKr/inc/PeninputImePluginKr.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-/*
-* Copyright (c) 2002-2006 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 PENINPUTIMEPLUGINKR_H
-#define PENINPUTIMEPLUGINKR_H
-
-// INCLUDES
-#include <e32std.h>
-#include <e32base.h>
-
-// CLASS DECLARATION
-
-/**
- *  CPeninputImePluginKr
- * 
- */
-class CPeninputImePluginKr : public CBase
-    {
-public:
-    // Constructors and destructor
-
-    /**
-     * Destructor.
-     */
-    ~CPeninputImePluginKr();
-
-    /**
-     * Two-phased constructor.
-     */
-    static CPeninputImePluginKr* NewL();
-
-    /**
-     * Two-phased constructor.
-     */
-    static CPeninputImePluginKr* NewLC();
-
-private:
-
-    /**
-     * Constructor for performing 1st stage construction
-     */
-    CPeninputImePluginKr();
-
-    /**
-     * EPOC default constructor for performing 2nd stage construction
-     */
-    void ConstructL();
-
-    };
-
-#endif // PENINPUTIMEPLUGINKR_H
--- a/fep/aknfep/peninputplugins/PeninputPluginKr/inc/PeninputPluginKr.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,228 +0,0 @@
-/*
-* Copyright (c) 2002-2006 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 __PENINPUTPLUGINKR_H__
-#define __PENINPUTPLUGINKR_H__
-
-#include <e32base.h>	// CBase
-#include <e32std.h>	 // TBuf
-#include <aknfeppeninputimeplugin.h>
-#include <centralrepository.h>
-
-class RPeninputServer;
-class CPtiEngine;
-class CPluginKrFepManagerBase;
-
-class CPeninputPluginKr : public CAknFepPenInputImePlugin
-    {
-public:
-
-    static CPeninputPluginKr* NewLC(TAny* aInitParams);
-    
-    static CPeninputPluginKr* NewL(TAny* aInitParams);
-    
-    virtual ~CPeninputPluginKr();
-
-private:
-
-    CPeninputPluginKr(RPeninputServer* aServer);
-    
-    void ConstructL();
-
-private: // from CAknFepPenInputImePlugin
-
-    /**
-     * Get layout UI interface
-     * 
-     * @since S60 v3.2
-     * @param aFepManager Fep manager interface pointer
-     * @param aLanguage Language that layout UI need to support
-     * @param aMode Speicifed layout UI mode to create
-     * @param aData Initialization data.
-     *
-     * @return The layout UI interface..
-     */
-    virtual MAknFepManagerInterface* GetInputMethodUiL(
-        MAknFepManagerUIInterface* aFepManager,
-        TLanguage aLanguage, 
-        TInt aMode,
-        const TDesC8& aData,
-        const TBool aIsSplitView = EFalse);
-    
-    /**
-     * Get layout UI interface
-     * 
-     * @since S60 v3.2
-     * @param aFepManager Fep manager interface pointer
-     * @param aLayoutId Speicifed layout UI id to create
-     * @param aData Initialization data.
-     *
-     * @return The layout UI interface..
-     */
-    virtual MAknFepManagerInterface* GetInputMethodUiL(
-        MAknFepManagerUIInterface* aFepManager,
-        TInt aLayoutId,
-        const TDesC8& aData);
-    
-    /**
-     * Activate current IME plugin.
-     * 
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-    virtual void Activate();
-
-    /**
-     * Deactivate current IME plugin.
-     * 
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-    virtual void DeActivate();
-
-    /**
-     * Get current IME plugin implementation ID.
-     * 
-     * @since S60 v3.2
-     *
-     * @return IME plugin implementation id.
-     */
-    virtual TInt ImeImplId();
-
-    /**
-     * Get current layout UI implementation id.
-     * 
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-    virtual TInt LayoutUiImplId();
-
-    /**
-     * Handle pen input server event.
-     * 
-     * @param aEventId The event id, defined in <peninputcmd.h>
-     * @param aData The event related data.
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-    virtual TBool HandleServerEventL(
-        TInt aEventId, 
-        const TDesC& aData);
-
-    /**
-     * Get suppored layout UI modes(VKB/HWR).
-     * 
-     * @since S60 v3.2
-     *
-     * @return Supported modes.
-     */
-    virtual TInt SupportModes(
-        CPtiEngine* aPtiEngine, 
-        RArray<TImePlguinImplDetail>& aSupportList) const;
-    
-    /**
-     * Get current layout UI mode.
-     * 
-     * @since S60 v3.2
-     *
-     * @return Current layout UI mode.
-     */
-    virtual TInt CurrentMode() const;
-    
-    /**
-     * Handle the menu command.The menu is launched by FEP
-     * The menu command is first passed to IME plugin, if 
-     * this function return EFalse, FEP handles it defaultly.
-     * 
-     * @param aCommandId The menu command id
-     * @return ETrue if IME plugin handled the command; 
-     *         EFalse otherwise.
-     */
-    virtual TBool HandleMenuCommandL(TInt aCommandId);
-    
-    /**
-     * Dynamiclly update menu items during it displays. 
-     * 
-     * aMenuPane The menu pane pointer.
-     * @return None.
-     */
-    virtual void DynInitMenuPaneL(
-        CAknFepUiInterfaceMenuPane* aMenuPane);
-    
-
-private:
-    
-    void FindUiLayoutImplementationL();
-    
-    CPluginKrFepManagerBase* GetPluginUiL( TInt aMode );
-    
-    TInt SupportModesL(
-        CPtiEngine* /*aPtiEngine*/,
-        RArray<TImePlguinImplDetail>& aSupportList) const; 
-
-    CPluginKrFepManagerBase* CPeninputPluginKr::GetCurrentUi();
-
-    /**
-     * Get VKB UI interface
-     *
-     * @return VKB UI pointer
-     */
-    CPluginKrFepManagerBase* GetVkbUiL();
-
-    /**
-     * Get Itut UI interface
-     *
-     * @return Itut UI pointer
-     */
-    CPluginKrFepManagerBase* GetItutUiL();
-
-    /**
-     * Get FSQ UI interface
-     *
-     * @return FSQ UI pointer
-     */
-    CPluginKrFepManagerBase* GetFSQUiL(TInt aLang);
-    
-    void ShowListQueryL( const TInt aResourceId );
-    
-private:
-    
-    RPeninputServer& iPeninputServer;
-
-    RArray<TInt> iUiLayoutImpIdList;
-
-    TInt iPenInputMode;
-    
-     /**
-     * Pen input server pointer. Not own.
-     */
-    RPointerArray<CPluginKrFepManagerBase> iAllUiManagers;
-    
-    CPluginKrFepManagerBase* iPluginKrFepManager;
-    
-    CRepository* iRepository;
-    
-    TInt iResId;
-    
-    };
-
-#endif  // __PENINPUTPLUGINKR_H__
-
--- a/fep/aknfep/peninputplugins/PeninputPluginKr/inc/PeninputPluginKr.hrh	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
-* Copyright (c) 2002-2006 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 PENINPUTPLUGINKR_HRH_
-#define PENINPUTPLUGINKR_HRH_
-
-#include <avkon.hrh>
-
-#define KAknFepImePluginImplementationId   0xE95A395D
-#define KHwrLayoutInterfaceId 0x102072FC
-
-enum TLayoutUiImplId
-    {
-    KVkbUiId = 0xEB339F5D,
-    KItutUiId = 0x2000b101,
-    KFsqUiId = 0xEB339F5E,
-    KFsqUiEngId = 0x2001114D
-    };
-
-enum TPeninputPluginKrCmd
-    {
-    EPeninputPluginKrDoubleConsonentCmd=EAknCmdEnd
-    };
-
-
-#endif /* PENINPUTPLUGINKR_HRH_ */
--- a/fep/aknfep/peninputplugins/PeninputPluginKr/inc/PeninputPluginKr.pan	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2002-2006 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 __PENINPUTPLUGINKR_PAN__
-#define __PENINPUTPLUGINKR_PAN__
-
-//  Data Types
-
-enum TPeninputPluginKrPanic
-    {
-    EPeninputPluginKrNullPointer
-    };
-
-//  Function Prototypes
-
-GLREF_C void Panic(TPeninputPluginKrPanic aPanic);
-
-#endif  // __PENINPUTPLUGINKR_PAN__
-
--- a/fep/aknfep/peninputplugins/PeninputPluginKr/inc/PeninputPluginKrDbg.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2002-2006 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 __PENINPUTPLUGINKRDBG_H__
-#define __PENINPUTPLUGINKRDBG_H__
-
-#ifdef _DEBUG
-#include <e32svr.h>
-    #if __WINS__
-        #define LOG_ASSERT(a) RDebug::Print(_L("PKQC: "a)); __ASSERT_DEBUG(EFalse,User::Panic(_L("PKQC: Not Implemented"),__LINE__))
-        #define LOG(a) RDebug::Print(_L("PKQC: "a))
-        #define LOG1(a,b) RDebug::Print(_L("PKQC: "a),b)
-        #define LOG2(a,b,c) RDebug::Print(_L("PKQC: "a),b,c)
-        #define LOG3(a,b,c,d) RDebug::Print(_L("PKQC: "a),b,c,d)
-        #define LOG4(a,b,c,d,e) RDebug::Print(_L("PKQC: "a),b,c,d,e)
-    #else
-        #define LOG_ASSERT(a) RDebug::Print(_L(a)); __ASSERT_DEBUG(EFalse,User::Panic(_L("PKQC: Not Implemented"),__LINE__))
-        #define LOG(a) RDebug::Print(_L(a))
-        #define LOG1(a,b) RDebug::Print(_L(a),b)
-        #define LOG2(a,b,c) RDebug::Print(_L(a),b,c)
-        #define LOG3(a,b,c,d) RDebug::Print(_L(a),b,c,d)
-        #define LOG4(a,b,c,d,e) RDebug::Print(_L(a),b,c,d,e)
-    #endif
-#else
-    #define LOG_ASSERT(a)
-    #define LOG(a)
-    #define LOG1(a,b)
-    #define LOG2(a,b,c)
-    #define LOG3(a,b,c,d)
-    #define LOG4(a,b,c,d,e)
-#endif
-
-#endif /* __PENINPUTPLUGINKRDBG_H__ */
--- a/fep/aknfep/peninputplugins/PeninputPluginKr/inc/PluginKrFepManagerBase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,158 +0,0 @@
-/*
-* Copyright (c) 2002-2006 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 PLUGINKRFEPMANAGERBASE_H
-#define PLUGINKRFEPMANAGERBASE_H
-
-#include <e32std.h>
-#include <e32base.h>
-#include <AknFepManagerInterface.h>
-#include <peninputclient.h>
-
-class CPeninputPluginKr;
-class RPeninputServer;
-class CRepository;
-class CAknEdwinState;
-
-class CPluginKrFepManagerBase : public CBase, public MAknFepManagerInterface
-    {
-public:
-    
-    virtual ~CPluginKrFepManagerBase();
-
-protected:
-
-    CPluginKrFepManagerBase(
-        CPeninputPluginKr& aOwner, 
-        RPeninputServer& aPenInputServer);
-
-    void ConstructL();
-    
-private:
-
-    virtual void SetMode(
-        TInt aMode, 
-        TBool aPredictive, 
-        TBool aQwertyInputMode,
-        TInt aKeyboardType = EPtiKeyboardNone);
-
-    virtual void SetCase(TCase aCase);
-
-    virtual void SetNumberModeKeyMappingL(
-        TAknEditorNumericKeymap aAknEditorNumericKeymap);
-
-    virtual TBool HandleKeyL(TInt aKey, TKeyPressLength aLength, TEventCode aEventCode = EEventKey);
-
-    virtual void HandleCommandL(TInt aCommandId);
-    
-    virtual void HandleCommandL(TInt aCommandId, TInt aParam);
-
-    virtual void CloseUI();
-
-    virtual void ExpireMultitapTimer();
-
-    virtual TBool IsValidNumericLongKeyPress(TInt aKey) const;
-
-    virtual void AddTextToUserDictionaryL(const TDesC& aText);
-
-    virtual void GetFormatOfFepInlineText(
-        TCharFormat& aFormat, 
-        TInt& aNumberOfCharactersWithSameFormat, 
-        TInt aPositionOfCharacter) const;
-
-    virtual TInt SupportLanguage(TInt aMode) const;
-
-    virtual void SetInputLanguageL(TLanguage aLanguage);
-
-    virtual TBool IsValidShiftKeyPress() const;
-
-    virtual void SetEditorContext(TInt aContext);
-
-    virtual void ActivateUI();
-
-    virtual void SetFepAwareEditorText(const TFepInputContextFieldData& /*aIcfData*/);
-
-    virtual TInt EditorMaxLength();
-    
-    virtual void ResourceChanged(TInt aType);
-        
-    virtual void SetNextFepUI(MAknFepManagerInterface* /*aNextUi*/);
-
-    virtual void SetStarKeyFlag( TBool aSet );
-    
-    virtual TBool IsValidFnKeyPress() const
-		{
-		return EFalse;
-		};
-    virtual TBool IsValidLongChrKeyPress() const
-		{
-        return EFalse;
-		};
-public:
-    
-    virtual void OnInit();
-    
-    virtual void RetrieveEditorMaxLength();
-    
-    virtual void UpdateRange( TInt aRange );
-    
-    virtual void UpdateCaseMode( TInt aCaseMode );
-    
-protected:
-    
-    void SendCommandToServer( TInt aCommandId );
-    
-    void SendCommandToServer( TInt aCommandId, TInt aParam );
-    
-    void SendCommandToServer(TInt aCommandId, const TDesC8& aParam);
-
-    void SetLayoutRange(const CAknEdwinState* aEditorState);
-    
-    void SetLayoutPermitedRanges( TInt aPermittedMode );
-    
-    TBool SupportNativeNumberRange();
-    
-protected:
-
-    CPeninputPluginKr& iOwner;
-
-    RPeninputServer& iPenInputServer;
-
-    TInt iPermittedRange;
-    
-    TInt iHkbMode;
-
-    TInt iSuggestedRange;
-    
-    TLanguage iLanguage;   
-    
-private:
-
-    CRepository* iRepository;
-
-    TInt iMaxEditorLength;
-
-    TInt iLastCase;
-    
-    TInt iLastRange;
-
-    MAknFepManagerInterface* iHkbUi;
-    
-    TInt iPermittedMode;
-    };
-
-#endif // PLUGINKRFEPMANAGERBASE_H
--- a/fep/aknfep/peninputplugins/PeninputPluginKr/inc/PluginKrFepManagerHwr.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 2002-2006 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 PLUGINKRFEPMANAGERHWR_H
-#define PLUGINKRFEPMANAGERHWR_H
-
-#include <e32std.h>
-#include <e32base.h>
-#include "PluginKrFepManagerBase.h"
-
-class CPluginKrFepManagerHwr : public CPluginKrFepManagerBase
-    {
-public:
-    
-    static CPluginKrFepManagerHwr* NewLC(
-        CPeninputPluginKr& aOwner, 
-        RPeninputServer& aPenInputServer);
-
-    static CPluginKrFepManagerHwr* NewL(
-        CPeninputPluginKr& aOwner, 
-        RPeninputServer& aPenInputServer);
-
-    virtual ~CPluginKrFepManagerHwr();
-
-private:
-
-    CPluginKrFepManagerHwr(
-        CPeninputPluginKr& aOwner, 
-        RPeninputServer& aPenInputServer);
-
-    void ConstructL();
-
-    };
-
-#endif // PLUGINKRFEPMANAGERHWR_H
--- a/fep/aknfep/peninputplugins/PeninputPluginKr/inc/PluginKrFepManagerItut.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
-* Copyright (c) 2002-2006 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 PLUGINKRFEPMANAGERITUT_H
-#define PLUGINKRFEPMANAGERITUT_H
-
-#include <e32std.h>
-#include <e32base.h>
-#include "PluginKrFepManagerBase.h"
-
-class PeninputImePluginKr;
-
-class CPluginKrFepManagerItut : public CPluginKrFepManagerBase
-    {
-public:
-    
-    static CPluginKrFepManagerItut* NewLC(
-        CPeninputPluginKr& aOwner, 
-        RPeninputServer& aPenInputServer);
-
-    static CPluginKrFepManagerItut* NewL(
-        CPeninputPluginKr& aOwner, 
-        RPeninputServer& aPenInputServer);
-        
-   TBool HandleKeyL( TInt aKey, TKeyPressLength aLength,TEventCode aEventCode = EEventKey);                                      
-
-
-    virtual ~CPluginKrFepManagerItut();
-
-private:
-
-    CPluginKrFepManagerItut(
-        CPeninputPluginKr& aOwner, 
-        RPeninputServer& aPenInputServer);
-
-    void ConstructL();
-
-    };
-
-#endif // PLUGINKRFEPMANAGERVKB_H
--- a/fep/aknfep/peninputplugins/PeninputPluginKr/inc/PluginKrFepManagerVkb.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 2002-2006 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 PLUGINKRFEPMANAGERVKB_H
-#define PLUGINKRFEPMANAGERVKB_H
-
-#include <e32std.h>
-#include <e32base.h>
-#include "PluginKrFepManagerBase.h"
-
-class CPluginKrFepManagerVkb : public CPluginKrFepManagerBase
-    {
-public:
-    
-    static CPluginKrFepManagerVkb* NewLC(
-        CPeninputPluginKr& aOwner, 
-        RPeninputServer& aPenInputServer);
-
-    static CPluginKrFepManagerVkb* NewL(
-        CPeninputPluginKr& aOwner, 
-        RPeninputServer& aPenInputServer);
-
-    virtual ~CPluginKrFepManagerVkb();
-
-private:
-
-    CPluginKrFepManagerVkb(
-        CPeninputPluginKr& aOwner, 
-        RPeninputServer& aPenInputServer);
-
-    void ConstructL();
-
-    };
-
-#endif // PLUGINKRFEPMANAGERVKB_H
--- a/fep/aknfep/peninputplugins/PeninputPluginKr/sis/PeninputPluginKr_EKA2.pkg	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-;
-; 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:
-;
-; Installation file for PeninputPluginKr dll
-;
-; This is an auto-generated PKG file by Carbide.
-; This file uses variables specific to Carbide builds that will not work
-; on command-line builds. If you want to use this generated PKG file from the
-; command-line tools you will need to modify the variables with the appropriate
-; values: $(EPOCROOT), $(PLATFORM), $(TARGET)
-
-;
-; UID is the dll's UID
-;
-#{"PeninputPluginKr DLL"},(0xE95A395D),1,0,0
-
-
-;Localised Vendor name
-%{"Vendor-EN"}
-
-;Unique Vendor name
-:"Vendor"
-
-"\epoc32\release\ARMV5\UDEB\PeninputPluginKr.dll"-"!:\Sys\Bin\PeninputPluginKr.dll" 
-"\epoc32\data\Z\resource\fep\PeninputPluginKrRes.r01"-"!:\resource\fep\PeninputPluginKrRes.r01"
-"\epoc32\data\Z\resource\fep\PeninputPluginKrRes.r65"-"!:\resource\fep\PeninputPluginKrRes.r65"
--- a/fep/aknfep/peninputplugins/PeninputPluginKr/sis/PeninputPluginKr_stub.pkg	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-;
-; 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:
-;
-; Installation file for PeninputPluginKr dll
-;
-; This is an auto-generated PKG file by Carbide.
-; This file uses variables specific to Carbide builds that will not work
-; on command-line builds. If you want to use this generated PKG file from the
-; command-line tools you will need to modify the variables with the appropriate
-; values: $(EPOCROOT), $(PLATFORM), $(TARGET)
-
-;
-; UID is the dll's UID
-;
-#{"PeninputPluginKr DLL"},(0xE95A395D),1,0,0, TYPE=SA
-
-
-;Localised Vendor name
-%{"Vendor-EN"}
-
-;Unique Vendor name
-:"Vendor"
-
-"\epoc32\release\ARMV5\UDEB\PeninputPluginKr.dll"-"!:\Sys\Bin\PeninputPluginKr.dll" 
-"\epoc32\data\Z\resource\fep\PeninputPluginKrRes.r01"-"!:\resource\fep\PeninputPluginKrRes.r01"
-"\epoc32\data\Z\resource\fep\PeninputPluginKrRes.r65"-"!:\resource\fep\PeninputPluginKrRes.r65"
Binary file fep/aknfep/peninputplugins/PeninputPluginKr/sis/PeninputPluginKr_stub.sis has changed
--- a/fep/aknfep/peninputplugins/PeninputPluginKr/src/PeninputPluginKr.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,640 +0,0 @@
-/*
-* Copyright (c) 2002-2006 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:
-*
-*/
-
-#include <featmgr.h>
-#include <implementationinformation.h>
-#include <aknfeppeninputenums.h>
-#include <aknfepuiinterface.h>
-#include <aknfepuimenus.h>
-#include <aknlistquerydialog.h>
-
-#include <coemain.h>
-#include <bautils.h>
-#include <StringLoader.h>
-
-#include <peninputcmd.h>
-#include <PeninputPluginKrRes.rsg>
-#include <peninputclient.h>
-
-#include <PtiKoreanQwertyCoreCRDefs.h>
-
-#include "PeninputPluginKrDbg.h"
-#include "PeninputPluginKr.hrh"   // CPeninputPluginKr
-#include "PeninputPluginKr.h"	// CPeninputPluginKr
-#include "PeninputPluginKr.pan"	  	// panic codes
-#include "PluginKrFepManagerBase.h"     // panic codes
-#include "PluginKrFepManagerHwr.h"
-#include "PluginKrFepManagerVkb.h"
-#include "PluginKrFepManagerItut.h"
-
-//_LIT(KFscImeName, "Korean FSC");
-//_LIT(KHwrImeName, "Korean HWR");
-_LIT(KVkbImeName, "Korean VKB");
-_LIT(KFsqImeName, "Korean FSQ");
-//_LIT(KFsqImeNameEng, "English FSQ");
-_LIT(KItutImeName, "Korean ITUT");
-
-_LIT(KPeninputPluginKrResourceFileName, "z:\\resource\\fep\\PeninputPluginKrRes.rsc");
-
-const TInt KItutUiIndex = 0;
-const TInt KVkbUiIndex = 1;
-const TInt KFSQUiIndex = 2;
-//const TInt KFSQUiEngIndex = 3;
-const TInt KInvalidImplId = 0;
-
-LOCAL_C void Cleanup( TAny* aAny )
-    {
-    RImplInfoPtrArray* implArray = 
-        reinterpret_cast< RImplInfoPtrArray*> ( aAny );
-    implArray->ResetAndDestroy();
-    implArray->Close();
-    }
-
-// ---------------------------------------------------------------------------
-// Constructors & Destructors
-// ---------------------------------------------------------------------------
-//
-
-CPeninputPluginKr* CPeninputPluginKr::NewLC(TAny* aInitParams)
-    {
-    CPeninputPluginKr* self = new (ELeave) CPeninputPluginKr(
-        static_cast<RPeninputServer*>(aInitParams));
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    return self;
-    }
-
-CPeninputPluginKr* CPeninputPluginKr::NewL(TAny* aInitParams)
-    {
-    CPeninputPluginKr* self = CPeninputPluginKr::NewLC(aInitParams);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-CPeninputPluginKr::CPeninputPluginKr(RPeninputServer* aServer)
-    : iPeninputServer(*aServer)
-    {
-    }
-
-void CPeninputPluginKr::ConstructL()
-    {
-    /*
-    LOG("FEP.IMEPLG.KR.ConstructL");
-    FindUiLayoutImplementationL();
-    */
-    FindUiLayoutImplementationL();
-    //Append NULL to save HWR manager position
-    iAllUiManagers.Append(NULL);
-    //Append NULL to save VKB manager position
-    iAllUiManagers.Append(NULL);
-    //Append NULL to save ITUT manager position
-    iAllUiManagers.Append(NULL);
-    //Append NULL to save Mini ITUT manager position
-    iAllUiManagers.Append(NULL);
-    //Append NULL to save FSQ manager position
-    iAllUiManagers.Append(NULL);
-    
-    TFileName resourceName(KPeninputPluginKrResourceFileName);
-    CCoeEnv* coeEnv = CCoeEnv::Static();
-    BaflUtils::NearestLanguageFile(coeEnv->FsSession(), resourceName);
-    iResId = coeEnv->AddResourceFileL(resourceName);
-    
-    iRepository=CRepository::NewL(KCRUidPtiKoreanQwertyCore);
-    
-    }
-
-CPeninputPluginKr::~CPeninputPluginKr()
-    {
-    delete iRepository;
-    CCoeEnv::Static()->DeleteResourceFile(iResId);
-    DeActivate();
-    iUiLayoutImpIdList.Close();
-    delete iPluginKrFepManager;
-    iAllUiManagers.ResetAndDestroy();
-    REComSession::FinalClose();//cleanup ecom
-    }
-
-// ---------------------------------------------------------------------------
-// from CAknFepPenInputImePlugin
-// ---------------------------------------------------------------------------
-//
-
-MAknFepManagerInterface* CPeninputPluginKr::GetInputMethodUiL(
-        MAknFepManagerUIInterface* aFepManager,
-        TLanguage aLanguage, 
-        TInt aMode,
-        const TDesC8& /*aData*/,
-        const TBool /*aIsSplitView*/ )
-    {
-    iFepManager = aFepManager;
-    iLanguage = aLanguage;
-    CPluginKrFepManagerBase* fepmanager = NULL;
-
-    TUid layoutId;
-    TInt i;
-
-    switch(aMode)
-        {
-        case EPluginInputModeVkb:
-            layoutId.iUid = KVkbUiId;
-            fepmanager = GetVkbUiL();
-            break;
-        /*   
-        case EPluginInputModeItut:
-            layoutId.iUid = KItutUiId;
-            fepmanager = GetItutUiL();
-            break;*/
-            
-        case EPluginInputModeFSQ:
-        	{
-        	/*if(iLanguage == ELangEnglish)
-        		{
-        		layoutId.iUid = KFsqUiEngId;
-        		}
-        	else*/
-        		{
-        		layoutId.iUid = KFsqUiId;
-        		}
-        	fepmanager = GetFSQUiL(aLanguage);
-        	}
-            break;
-        default:
-            return NULL;
-        }
-    
-    for(i = 0; i < iUiLayoutImpIdList.Count(); ++i)
-        {
-        if(iUiLayoutImpIdList[i] == layoutId.iUid )
-            {
-            break;
-            }
-        }
-
-    if( i < iUiLayoutImpIdList.Count() )
-        {
-        iPenInputMode = aMode;
-        TInt errCode = iPeninputServer.SetUiLayoutId(layoutId);
-        if( errCode == KErrNone )
-            {
-            fepmanager->OnInit();
-            return fepmanager;
-            }
-        }
-        
-    return NULL;
-    }
-
-MAknFepManagerInterface* CPeninputPluginKr::GetInputMethodUiL(
-        MAknFepManagerUIInterface* /*aFepManager*/,
-        TInt /*aLayoutId*/,
-        const TDesC8& /*aData*/)
-    {
-    LOG("FEP.IMEPLG.KR.GetInputMethodUiL");
-    MAknFepManagerInterface* ret(NULL);
-    return ret;    
-    }
-
-void CPeninputPluginKr::Activate()
-    {
-    LOG("FEP.IMEPLG.KR.Activate");
-    iPeninputServer.ActivateLayout(ETrue);        
-    }
-
-void CPeninputPluginKr::DeActivate()
-    {
-    LOG("FEP.IMEPLG.KR.DeActivate");
-    if (&iPeninputServer && iPeninputServer.IsVisible())        
-        {
-        iPeninputServer.ActivateLayout(EFalse);
-        }
-    }
-
-TInt CPeninputPluginKr::ImeImplId()
-    {
-    LOG("FEP.IMEPLG.KR.ImeImplId");
-    return KAknFepImePluginImplementationId;
-    }
-
-TInt CPeninputPluginKr::LayoutUiImplId()
-    {
-    LOG("FEP.IMEPLG.KR.LayoutUiImplId");
-    TInt id;
-    switch ( iPenInputMode )
-        {
-        case EPluginInputModeVkb:
-            {
-            id = KVkbUiId;
-            }
-            break;
-        case EPluginInputModeFSQ:
-            {
-            id = KFsqUiId;
-            }
-            break;
-        case EPluginInputModeItut:
-        	{
-        	id = KItutUiId;
-        	}
-        	
-        	break;
-        default:
-            {
-            id = KInvalidImplId;
-            }
-            break;
-        }
-    return id;
-    }
-
-TBool CPeninputPluginKr::HandleServerEventL(
-        TInt aEventId, 
-        const TDesC& aData)
-    {
-    LOG1("FEP.IMEPLG.KR.HandleServerEventL %d",aEventId);
-    TBool bHandled = EFalse;
-    switch ( aEventId )
-        {
-        case ESignalLayoutICFLengthChanged:
-            {
-            GetCurrentUi()->RetrieveEditorMaxLength();
-            }
-            break;
-        case ESignalCaseMode:
-            {
-            TInt data = *(TInt*)( aData.Ptr() );
-            if (data>=ECaseInvalide)
-                {
-                GetCurrentUi()->UpdateCaseMode( data );                 
-                }
-            }
-            break;
-        default:
-            break;
-        }
-        
-    return bHandled;
-    }
-
-TInt CPeninputPluginKr::SupportModes(
-        CPtiEngine* aPtiEngine, 
-        RArray<TImePlguinImplDetail>& aSupportList) const
-    {
-    LOG("FEP.IMEPLG.KR.SupportModes");
-    TRAPD( ret, SupportModesL( aPtiEngine, aSupportList ) );
-    return ret;
-    }
-
-TInt CPeninputPluginKr::CurrentMode() const
-    {
-    LOG("FEP.IMEPLG.KR.CurrentMode");
-    return iPenInputMode;
-    }
-
-TBool CPeninputPluginKr::HandleMenuCommandL(TInt aCommandId)
-    {
-    LOG("FEP.IMEPLG.KR.HandleMenuCommandL");
-    TInt ret(EFalse);
-    if (aCommandId==EPeninputPluginKrDoubleConsonentCmd)
-        {
-        iRepository->Set(EDblConsonentOnSetting,1);
-        TRAP_IGNORE(ShowListQueryL(R_AKNEXQUERY_MULTI_SELECTION_LIST_QUERY));
-        iRepository->Set(EDblConsonentOnSetting,0);
-        ret=ETrue;
-        }
-    return ret;
-    }
-
-void CPeninputPluginKr::DynInitMenuPaneL(
-        CAknFepUiInterfaceMenuPane* aMenuPane)
-    {
-    LOG("FEP.IMEPLG.KR.DynInitMenuPaneL");
-    TInt index;
-    /*
-    if ((iPenInputMode == EPluginInputModeVkb ||
-        iPenInputMode == EPluginInputModeFSQ) &&
-        aMenuPane->MenuItemExists(EPenInputCmdSetting, index))
-        {
-        aMenuPane->SetItemDimmed(EPenInputCmdSetting, EFalse);   
-        }
-    aMenuPane->SetItemDimmed(EPenInputCmdHwrTraining, ETrue);
-    */           
-    if (
-        ( iLanguage == ELangKorean ) &&
-        (iPenInputMode == EPluginInputModeVkb ||
-        iPenInputMode == EPluginInputModeFSQ))
-        {
-        aMenuPane->MenuItemExists(EFepInputCmdHelp, index);
-        if (index!=KErrNotFound)
-            {
-            TBuf<255> menuStr;
-            StringLoader::Load(menuStr, R_PENINPUT_PLUGIN_KR_DOUBLECONSONENT_SETTING);
-            CAknFepUiInterfaceMenuPane::SItemData data;
-            data.iCommandId=EPeninputPluginKrDoubleConsonentCmd;
-            data.iCascadeId=0;
-            data.iFlags=0;
-            data.iText=menuStr.Mid(1, menuStr.Length() - 1);
-            aMenuPane->InsertMenuItemL(data,index);
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Internal Utilities
-// ---------------------------------------------------------------------------
-//
-
-void CPeninputPluginKr::FindUiLayoutImplementationL()
-    {
-    RImplInfoPtrArray infoArray;
-    TUid id;
-    id.iUid = KHwrLayoutInterfaceId;
-    
-    iUiLayoutImpIdList.Reset();
-    CleanupStack::PushL( TCleanupItem( Cleanup, &infoArray ) );
-    REComSession::ListImplementationsL(id, infoArray);
-
-    LOG1("FEP.IMEPLG.KR.FindUiLayoutImplementationL %d",infoArray.Count());
-    for (TInt i = 0; i < infoArray.Count(); ++i)
-        {
-        LOG1("FEP.IMEPLG.KR.  0x%08X",infoArray[i]->ImplementationUid().iUid);
-#ifdef _DEBUG
-        TPtrC ptr(infoArray[i]->DisplayName());
-        LOG1("FEP.IMEPLG.KR.  %S",&ptr);
-#endif
-        iUiLayoutImpIdList.AppendL(infoArray[i]->ImplementationUid().iUid);
-        
-        }
-
-    CleanupStack::PopAndDestroy(&infoArray); // infoArray    
-    }
-
-CPluginKrFepManagerBase* CPeninputPluginKr::GetPluginUiL( TInt /*aMode*/ )
-    {
-    return NULL;
-    }
-
-TInt CPeninputPluginKr::SupportModesL(
-        CPtiEngine* /*aPtiEngine*/,
-        RArray<TImePlguinImplDetail>& aSupportList) const
-    {
-    RImplInfoPtrArray infoArray;
-    TUid id;
-    id.iUid = KHwrLayoutInterfaceId;
-    //TBool hwr = EFalse;
-    TBool vkb = EFalse;
-    TBool itut = EFalse;
-    //TBool miniitut = EFalse;
-    TBool fsq = EFalse;
-    //TBool fsqEng = EFalse;
-
-    CleanupStack::PushL( TCleanupItem( Cleanup, &infoArray ) );
-    REComSession::ListImplementationsL(id, infoArray);
-
-    for (TInt i = 0; i < infoArray.Count(); ++i)
-        {
-        if(infoArray[i]->ImplementationUid().iUid == KVkbUiId )
-            {
-            vkb = ETrue;
-            }
-        /*    
-        if(infoArray[i]->ImplementationUid().iUid == KItutUiId )
-            {
-            itut = ETrue;
-            }*/
-        if(infoArray[i]->ImplementationUid().iUid == KFsqUiId )
-            {
-            fsq = ETrue;
-            }
-        /*if(infoArray[i]->ImplementationUid().iUid == KFsqUiEngId )
-            {
-            fsqEng = ETrue;
-            }*/
-        }
-
-    TImePlguinImplDetail detail;
-
-    detail.iImplementationId = KAknFepImePluginImplementationId;
-
-    if( vkb )
-        {
-        detail.iMode = EPluginInputModeVkb;
-        detail.iMeritValue = EImeMerit_Preferred;
-        detail.iDisplayName.Copy(KVkbImeName());
-        detail.iLanguage = ELangKorean;
-        aSupportList.Append(detail);
-        }
-
-    if( itut )
-        {
-        detail.iMode = EPluginInputModeItut;
-        detail.iMeritValue = EImeMerit_Preferred;
-        detail.iDisplayName.Copy(KItutImeName());
-        detail.iLanguage = ELangKorean;
-        aSupportList.Append(detail);
-        }
-
-    if( fsq )
-        {
-        detail.iMode = EPluginInputModeFSQ;
-        detail.iMeritValue = EImeMerit_Preferred;
-        detail.iDisplayName.Copy(KFsqImeName());
-        detail.iLanguage = ELangKorean;
-        aSupportList.Append(detail);
-        }
-     /*if( fsqEng )
-        {
-        detail.iMode = EPluginInputModeFSQ;
-        detail.iMeritValue = EImeMerit_Preferred;
-        detail.iDisplayName.Copy(KFsqImeNameEng());
-        detail.iLanguage = ELangEnglish;
-        aSupportList.Append(detail);
-        }*/
-
-    CleanupStack::PopAndDestroy(&infoArray); // infoArray
-
-    return 0;
-    }
-
-inline CPluginKrFepManagerBase* CPeninputPluginKr::GetCurrentUi()
-    {
-    switch ( iPenInputMode )
-        {
-        case EPluginInputModeVkb:
-            return iAllUiManagers[KVkbUiIndex];
-        case EPluginInputModeItut:
-            return iAllUiManagers[KItutUiIndex];
-        case EPluginInputModeFSQ:
-        	{
-        	/*if(iLanguage == ELangEnglish)
-        		{
-				return iAllUiManagers[KFSQUiEngIndex];
-        		}
-        	else*/
-        		{
-        		return iAllUiManagers[KFSQUiIndex];	
-        		}
-        	}
-        default:
-            return NULL;
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CPeninputPluginKr::GetVkbUi
-// Get VKB UI interface.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPluginKrFepManagerBase* CPeninputPluginKr::GetVkbUiL()
-    {
-    if( !iAllUiManagers[KVkbUiIndex] )
-        {
-        iAllUiManagers[KVkbUiIndex] = CPluginKrFepManagerVkb::NewL(*this, iPeninputServer);
-        }
-
-    return iAllUiManagers[KVkbUiIndex];
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputPluginKr::GetItutUi
-// Get Itut UI interface.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPluginKrFepManagerBase* CPeninputPluginKr::GetItutUiL()
-    {
-    if( iAllUiManagers[KItutUiIndex] == NULL )
-        {
-        iAllUiManagers[KItutUiIndex] = CPluginKrFepManagerItut::NewL(*this, iPeninputServer);
-        }
-
-    return iAllUiManagers[KItutUiIndex];
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputPluginKr::GetFSQUi
-// Get FSQ UI interface.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPluginKrFepManagerBase* CPeninputPluginKr::GetFSQUiL(TInt aLang)
-    {
-    if( iAllUiManagers[KFSQUiIndex] == NULL )
-        {
-        iAllUiManagers[KFSQUiIndex] = CPluginKrFepManagerVkb::NewL(*this, iPeninputServer);
-        }
-        
-   /* if( iAllUiManagers[KFSQUiEngIndex] == NULL )
-        {
-        iAllUiManagers[KFSQUiEngIndex] = CPluginKrFepManagerVkb::NewL(*this, iPeninputServer);
-        }*/
-	
-	/*if (aLang == ELangEnglish)
-		{
-		return iAllUiManagers[KFSQUiEngIndex];
-		}
-	else*/
-		{
-		return iAllUiManagers[KFSQUiIndex];
-		}
-    }
-
-void CPeninputPluginKr::ShowListQueryL(const TInt aResourceId)
-    {
-    CArrayFixFlat<TInt>* arraySelected=
-        new (ELeave) CArrayFixFlat<TInt>(7);
-    CleanupStack::PushL(arraySelected);
-    CAknListQueryDialog* dlg=
-        new (ELeave) CAknListQueryDialog(arraySelected);
-    dlg->PrepareLC(aResourceId);
-    
-    TInt set;
-    if (iRepository->Get(EDblConsonentSsangKiyeok,set)==KErrNone)
-        {
-        if (set) arraySelected->AppendL(0);
-        }
-    if (iRepository->Get(EDblConsonentSsangTikeut,set)==KErrNone)
-        {
-        if (set) arraySelected->AppendL(1);
-        }
-    if (iRepository->Get(EDblConsonentSsangPieup,set)==KErrNone)
-        {
-        if (set) arraySelected->AppendL(2);
-        }
-    if (iRepository->Get(EDblConsonentSsangSios,set)==KErrNone)
-        {
-        if (set) arraySelected->AppendL(3);
-        }
-    if (iRepository->Get(EDblConsonentSsangCieuc,set)==KErrNone)
-        {
-        if (set) arraySelected->AppendL(4);
-        }
-    if (iRepository->Get(EDblConsonentYaPlusI,set)==KErrNone)
-        {
-        if (set) arraySelected->AppendL(5);
-        }
-    if (iRepository->Get(EDblConsonentYuPlusI,set)==KErrNone)
-        {
-        if (set) arraySelected->AppendL(6);
-        }
-    dlg->ListBox()->SetSelectionIndexesL(arraySelected);
-    
-    if (dlg->RunLD())
-        {
-        iRepository->Set(EDblConsonentSsangKiyeok,0);
-        iRepository->Set(EDblConsonentSsangTikeut,0);
-        iRepository->Set(EDblConsonentSsangPieup,0);
-        iRepository->Set(EDblConsonentSsangSios,0);
-        iRepository->Set(EDblConsonentSsangCieuc,0);
-        iRepository->Set(EDblConsonentYaPlusI,0);
-        iRepository->Set(EDblConsonentYuPlusI,0);
-
-        for (TInt i=0;i<arraySelected->Count();i++)
-            {
-            switch (arraySelected->At(i))
-                {
-                case 0:
-                    iRepository->Set(EDblConsonentSsangKiyeok,1);
-                    break;
-                case 1:
-                    iRepository->Set(EDblConsonentSsangTikeut,1);
-                    break;
-                case 2:
-                    iRepository->Set(EDblConsonentSsangPieup,1);
-                    break;
-                case 3:
-                    iRepository->Set(EDblConsonentSsangSios,1);
-                    break;
-                case 4:
-                    iRepository->Set(EDblConsonentSsangCieuc,1);
-                    break;
-                case 5:
-                    iRepository->Set(EDblConsonentYaPlusI,1);
-                    break;
-                case 6:
-                    iRepository->Set(EDblConsonentYuPlusI,1);
-                    break;
-                default:
-                    break;
-                }
-            }
-        }
-    CleanupStack::PopAndDestroy(arraySelected);
-    }
-
-//End Of File
--- a/fep/aknfep/peninputplugins/PeninputPluginKr/src/PeninputPluginKrDllMain.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* Copyright (c) 2002-2006 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:
-*
-*/
-
-#include <e32std.h>		 // GLDEF_C
-#include "PeninputPluginKr.pan"		// panic codes
-
-//  Global Functions
-
-GLDEF_C void Panic(TPeninputPluginKrPanic aPanic)
-// Panics the thread with given panic code
-    {
-    User::Panic(_L("PeninputPluginKr"), aPanic);
-    }
-
-//  Exported Functions
-
-#ifndef EKA2 // for EKA1 only
-EXPORT_C TInt E32Dll(TDllReason /*aReason*/)
-// Called when the DLL is loaded and unloaded. Note: have to define
-// epoccalldllentrypoints in MMP file to get this called in THUMB.
-    {
-    return KErrNone;
-    }
-#endif
-
--- a/fep/aknfep/peninputplugins/PeninputPluginKr/src/PeninputPluginKrProxy.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
-* Copyright (c) 2002-2006 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:
-*
-*/
-
-#include <e32std.h>
-#include <implementationproxy.h>
-
-// User includes
-#include "PeninputPluginKr.hrh"
-#include "PeninputPluginKr.h"
-
-// Map the interface UIDs to implementation factory functions
-const TImplementationProxy ImplementationTable[] = 
-    {
-    //lint !e611    
-    IMPLEMENTATION_PROXY_ENTRY( KAknFepImePluginImplementationId, CPeninputPluginKr::NewL ) 
-    };
-
-// Exported proxy for instantiation method resolution
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy( TInt& aTableCount )
-    {
-    aTableCount = sizeof( ImplementationTable ) / sizeof( TImplementationProxy );
-
-    return ImplementationTable;
-    }
-
-//End Of File
--- a/fep/aknfep/peninputplugins/PeninputPluginKr/src/PluginKrFepManagerBase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,587 +0,0 @@
-/*
-* Copyright (c) 2002-2006 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:
-*
-*/
-
-#include <s32mem.h>
-#include <centralrepository.h>
-#include <AknFepGlobalEnums.h>
-#include <aknfeppeninputenums.h>
-#include <aknedsts.h>
-
-#include <peninputcommonlayoutglobalenum.h>
-
-#include "PeninputPluginKrDbg.h"
-#include "PeninputPluginKr.hrh"
-#include "PluginKrFepManagerBase.h"
-
-// ---------------------------------------------------------------------------
-// Constructors & Destructors
-// ---------------------------------------------------------------------------
-//
-
-CPluginKrFepManagerBase::CPluginKrFepManagerBase(
-        CPeninputPluginKr& aOwner, 
-        RPeninputServer& aPenInputServer)
-    : iOwner(aOwner),
-      iPenInputServer(aPenInputServer),
-      iSuggestedRange(ERangeInvalid),
-      iLastRange(ERangeInvalid)
-    {
-    }
-
-void CPluginKrFepManagerBase::ConstructL()
-    {
-
-    }
-
-CPluginKrFepManagerBase::~CPluginKrFepManagerBase()
-    {
-    delete iRepository;
-    }
-
-// ---------------------------------------------------------------------------
-// from MAknFepManagerInterface
-// ---------------------------------------------------------------------------
-//
-
-void CPluginKrFepManagerBase::SetMode(
-        TInt aMode, 
-        TBool aPredictive, 
-        TBool aQwertyInputMode,
-        TInt /*aKeyboardType*/ )
-    {
-    LOG3("FEP.IMEPLG.KR.Base.SetMode %d %d %d",aMode,aPredictive,aQwertyInputMode);
-    iHkbUi->SetMode(aMode, aPredictive, aQwertyInputMode);
-    }
-
-void CPluginKrFepManagerBase::SetCase(TCase aCase)
-    {
-    LOG1("FEP.IMEPLG.KR.Base.SetCase %d",aCase);
-    iHkbUi->SetCase(aCase);
-    }
-
-void CPluginKrFepManagerBase::SetNumberModeKeyMappingL(
-        TAknEditorNumericKeymap aAknEditorNumericKeymap)
-    {
-    LOG1("FEP.IMEPLG.KR.Base.SetNumberModeKeyMappingL %d",aAknEditorNumericKeymap);
-    SendCommandToServer(ECmdPenInputEditorNumericKeyMap, aAknEditorNumericKeymap);    
-    }
-
-TBool CPluginKrFepManagerBase::HandleKeyL(
-        TInt aKey, 
-        TKeyPressLength aLength,
-        TEventCode /*aEventCode*/ )
-    {
-    LOG2("FEP.IMEPLG.KR.Base.HandleKeyL %d",aKey,aLength);
-    return iHkbUi->HandleKeyL( aKey, aLength );
-    }
-
-void CPluginKrFepManagerBase::HandleCommandL(
-        TInt aCommandId)
-    {
-    LOG1("FEP.IMEPLG.KR.Base.HandleCommandL %d",aCommandId);
-    SendCommandToServer( aCommandId );
-    }
-    
-void CPluginKrFepManagerBase::HandleCommandL(
-        TInt aCommandId, 
-        TInt aParam)
-    {
-    switch ( aCommandId )
-        {
-        case ECmdPenInputRange:
-            {
-            LOG1("FEP.IMEPLG.KR.Base.HandleCommandL ECmdPenInputRange %d",iHkbMode);
-            if (aParam&EPRCFind) LOG("FEP.IMEPLG.KR.Base  EPRCFind");
-            if (aParam&ECangJie) LOG("FEP.IMEPLG.KR.Base  ECangJie");
-            if (aParam&EZhuyinFind) LOG("FEP.IMEPLG.KR.Base  EZhuyinFind");
-            if (aParam&EStrokeFind) LOG("FEP.IMEPLG.KR.Base  EStrokeFind");
-            if (aParam&EPinyin) LOG("FEP.IMEPLG.KR.Base  EPinyin");
-            if (aParam&EZhuyin) LOG("FEP.IMEPLG.KR.Base  EZhuyin");
-            if (aParam&EStroke) LOG("FEP.IMEPLG.KR.Base  EStroke");
-            if (aParam&ELatin) LOG("FEP.IMEPLG.KR.Base  ELatin");
-            if (aParam&ENumber) LOG("FEP.IMEPLG.KR.Base  ENumber");
-            if (aParam&EHiraganaKanji) LOG("FEP.IMEPLG.KR.Base  EHiraganaKanji");
-            if (aParam&EKatakana) LOG("FEP.IMEPLG.KR.Base  EKatakana");
-            if (aParam&EHiragana) LOG("FEP.IMEPLG.KR.Base  EHiragana");
-            if (aParam&EHindi) LOG("FEP.IMEPLG.KR.Base  EHindi");
-            if (aParam&ENativeNumber) LOG("FEP.IMEPLG.KR.Base  ENativeNumber");
-            if (aParam&EHangul) LOG("FEP.IMEPLG.KR.Base  EHangul");
-            if (aParam&ELatinText) LOG("FEP.IMEPLG.KR.Base  ELatinText");
-            if (aParam&ELatinUpper) LOG("FEP.IMEPLG.KR.Base  ELatinUpper");
-            if (aParam&ELatinLower) LOG("FEP.IMEPLG.KR.Base  ELatinLower");
-            if (aParam&ECangJieNormal) LOG("FEP.IMEPLG.KR.Base  ECangJieNormal");
-            if (aParam&ECangJieEasy) LOG("FEP.IMEPLG.KR.Base  ECangJieEasy");
-            if (aParam&ECangJieAdvanced) LOG("FEP.IMEPLG.KR.Base  ECangJieAdvanced");
-            iHkbMode = aParam;
-            }
-            break;
-        case ECmdPenInputPermittedRange:
-            {
-            LOG("FEP.IMEPLG.KR.Base.HandleCommandL ECmdPenInputPermittedRange");
-            if (aParam&EAknEditorTextInputMode) LOG("FEP.IMEPLG.KR.Base  EAknEditorTextInputMode");
-            if (aParam&EAknEditorNumericInputMode) LOG("FEP.IMEPLG.KR.Base  EAknEditorNumericInputMode");
-            if (aParam&EAknEditorSecretAlphaInputMode) LOG("FEP.IMEPLG.KR.Base  EAknEditorSecretAlphaInputMode");
-            if (aParam&EAknEditorKatakanaInputMode) LOG("FEP.IMEPLG.KR.Base  EAknEditorKatakanaInputMode");
-            if (aParam&EAknEditorFullWidthTextInputMode) LOG("FEP.IMEPLG.KR.Base  EAknEditorFullWidthTextInputMode");
-            if (aParam&EAknEditorFullWidthNumericInputMode) LOG("FEP.IMEPLG.KR.Base  EAknEditorFullWidthNumericInputMode");
-            if (aParam&EAknEditorFullWidthKatakanaInputMode) LOG("FEP.IMEPLG.KR.Base  EAknEditorFullWidthKatakanaInputMode");
-            if (aParam&EAknEditorHiraganaKanjiInputMode) LOG("FEP.IMEPLG.KR.Base  EAknEditorHiraganaKanjiInputMode");
-            if (aParam&EAknEditorHiraganaInputMode) LOG("FEP.IMEPLG.KR.Base  EAknEditorHiraganaInputMode");
-            if (aParam&EAknEditorHalfWidthTextInputMode) LOG("FEP.IMEPLG.KR.Base  EAknEditorHalfWidthTextInputMode");
-            if (aParam&EAknEditorHangulInputMode) LOG("FEP.IMEPLG.KR.Base  EAknEditorHangulInputMode");
-            iLastCase = ECaseInvalide;
-            SetLayoutPermitedRanges( aParam );
-            }
-            break;
-        case ECmdPenInputEditorState:
-            {
-            LOG("FEP.IMEPLG.KR.Base.HandleCommandL ECmdPenInputEditorState");
-            SetLayoutRange(reinterpret_cast<CAknEdwinState*>(aParam));
-            }
-            break;
-        case ECmdPenInputSetWindowPos:
-            {
-            LOG("FEP.IMEPLG.KR.Base.HandleCommandL ECmdPenInputSetWindowPos");
-            //SetLayoutPosition(*reinterpret_cast<TRect*>(aParam));
-            }
-            break;
-        case ECmdPenInputCaseMode:
-            LOG1("FEP.IMEPLG.KR.Base.HandleCommandL ECmdPenInputCaseMode %d",aParam);
-            //if( aParam != iLastCase )
-                {
-                SendCommandToServer( ECmdPenInputCase, aParam );
-                iLastCase = aParam;
-                }
-            break;
-        case ECmdPenInputEditorCustomNumericKeyMap:
-            {
-            LOG("FEP.IMEPLG.KR.Base.HandleCommandL ECmdPenInputEditorCustomNumericKeyMap");
-            TDesC* res = (TDesC*)aParam;
-            TPtrC8 param;
-            param.Set((TUint8*)res->Ptr(), res->Size());
-            SendCommandToServer( aCommandId, param );                    
-            SetNumberModeKeyMappingL((TAknEditorNumericKeymap)EKeymapFromResource);
-            }
-            break;            
-        case ECmdPenInputSuggestRange:
-            LOG("FEP.IMEPLG.KR.Base.HandleCommandL ECmdPenInputSuggestRange");
-            iSuggestedRange = aParam;
-            if( iSuggestedRange == ERangeAccent )
-                {
-                iSuggestedRange = ERangeEnglish;
-                }
-            break;
-        case ECmdPenInputSendEditorTextAndCurPos:
-            {
-            LOG("FEP.IMEPLG.KR.Base.HandleCommandL ECmdPenInputSendEditorTextAndCurPos");
-            TFepInputContextFieldData* pIcfData = 
-                reinterpret_cast<TFepInputContextFieldData*>( aParam );
-                       
-            TInt dataSize = sizeof( TFepInputContextFieldData );
-            TInt textSize = pIcfData->iText.Size();
-            
-            HBufC8* buf = HBufC8::NewLC(dataSize + textSize + 2*sizeof(TInt));
-            TPtr8 bufPtr = buf->Des();
-            
-            RDesWriteStream writeStream;
-            writeStream.Open(bufPtr);
-            CleanupClosePushL(writeStream);
-            
-            writeStream.WriteInt32L(dataSize);
-            writeStream.WriteInt32L(textSize);
-            
-            const TUint8* pData = reinterpret_cast<const TUint8*>( pIcfData );
-            writeStream.WriteL( pData, dataSize );
-                
-            const TUint8* pText = reinterpret_cast<const TUint8*>( pIcfData->iText.Ptr() );
-            writeStream.WriteL( pText, textSize );
-            
-            writeStream.CommitL();
-        
-            SendCommandToServer( aCommandId, bufPtr );
-    
-            CleanupStack::PopAndDestroy(&writeStream);
-            CleanupStack::PopAndDestroy(buf);
-            }
-            break;
-        case ECmdPenInputSetPromptText:
-            {
-            LOG("FEP.IMEPLG.KR.Base.HandleCommandL ECmdPenInputSetPromptText");
-            TFepPromptText* pPromptData = 
-                reinterpret_cast<TFepPromptText*>( aParam );
-                
-            TInt dataSize = sizeof( TFepPromptText );
-            TInt textSize = 0;
-            
-            if (pPromptData->iText.Length())
-                {
-                textSize = pPromptData->iText.Size();
-                }
-            
-            HBufC8* buf = HBufC8::NewLC(dataSize + textSize + 2*sizeof(TInt));
-            TPtr8 bufPtr = buf->Des();
-            
-            RDesWriteStream writeStream;
-            writeStream.Open(bufPtr);
-            CleanupClosePushL(writeStream);
-            
-            writeStream.WriteInt32L(dataSize);
-            writeStream.WriteInt32L(textSize);
-            
-            const TUint8* pData = reinterpret_cast<const TUint8*>( pPromptData );
-            writeStream.WriteL( pData, dataSize );
-            
-            if (textSize != 0)
-                {
-                const TUint16* pText = pPromptData->iText.Ptr();
-                writeStream.WriteL( pText, textSize/2 );
-                }
-            
-            writeStream.CommitL();
-        
-            SendCommandToServer( aCommandId, bufPtr );
-    
-            CleanupStack::PopAndDestroy(&writeStream);
-            CleanupStack::PopAndDestroy(buf);
-            }
-            break;
-        case ECmdPenInputFingerMatchIndicator:
-            {
-            if (aParam)  // ITUT
-                {
-                TFepIndicatorInfo* pIndicatorData = 
-                    reinterpret_cast<TFepIndicatorInfo*>( aParam );
-
-                HBufC8* buf = HBufC8::NewLC(4 * sizeof(TInt));
-                TPtr8 bufPtr = buf->Des();
-
-                RDesWriteStream writeStream;
-                writeStream.Open(bufPtr);
-                CleanupClosePushL(writeStream);
-
-                writeStream.WriteInt32L(pIndicatorData->iIndicatorImgID);
-                writeStream.WriteInt32L(pIndicatorData->iIndicatorMaskID);
-                writeStream.WriteInt32L(pIndicatorData->iIndicatorTextImgID);
-                writeStream.WriteInt32L(pIndicatorData->iIndicatorTextMaskID);
-
-                writeStream.CommitL();
-
-                SendCommandToServer( aCommandId, bufPtr );
-
-                CleanupStack::PopAndDestroy(&writeStream);
-                CleanupStack::PopAndDestroy(buf);
-                }
-            else
-                {
-                SendCommandToServer( aCommandId, 0 );
-                }
-            }
-            break;
-        default:
-            LOG2("FEP.IMEPLG.KR.Base.HandleCommandL %d 0x%08x",aCommandId,aParam);
-            SendCommandToServer( aCommandId, aParam );
-            break;
-        }
-    }
-
-void CPluginKrFepManagerBase::CloseUI()
-    {
-    LOG("FEP.IMEPLG.KR.Base.CloseUI");
-    if ( iPenInputServer.IsVisible() )
-        {
-        iPenInputServer.ActivateLayout( EFalse ); 
-        }
-    }
-
-void CPluginKrFepManagerBase::ExpireMultitapTimer()
-    {
-    LOG("FEP.IMEPLG.KR.Base.ExpireMultitapTimer");
-    }
-
-TBool CPluginKrFepManagerBase::IsValidNumericLongKeyPress(TInt aKey) const
-    {
-    LOG1("FEP.IMEPLG.KR.Base.IsValidNumericLongKeyPress %d",aKey);
-    return EFalse;
-    }
-
-void CPluginKrFepManagerBase::AddTextToUserDictionaryL(const TDesC& aText)
-    {
-    TPtrC ptr(aText);
-    LOG1("FEP.IMEPLG.KR.Base.AddTextToUserDictionaryL %S",&ptr);
-    }
-
-void CPluginKrFepManagerBase::GetFormatOfFepInlineText(
-        TCharFormat& /*aFormat*/, 
-        TInt& /*aNumberOfCharactersWithSameFormat*/, 
-        TInt aPositionOfCharacter) const
-    {
-    LOG1("FEP.IMEPLG.KR.Base.GetFormatOfFepInlineText %S",aPositionOfCharacter);
-    }
-
-TInt CPluginKrFepManagerBase::SupportLanguage(TInt aMode) const
-    {
-    LOG2("FEP.IMEPLG.KR.Base.SupportLanguage %d - %d",aMode,iLanguage);
-    return iLanguage;
-    }
-
-void CPluginKrFepManagerBase::SetInputLanguageL(TLanguage aLanguage)
-    {
-    LOG1("FEP.IMEPLG.KR.Base.SetInputLanguageL %d",aLanguage);
-    iLanguage = aLanguage;
-    SendCommandToServer(ECmdPenInputLanguage, (TInt)aLanguage);
-    }
-
-TBool CPluginKrFepManagerBase::IsValidShiftKeyPress() const
-    {
-    LOG("FEP.IMEPLG.KR.Base.IsValidShiftKeyPress");
-    return EFalse;
-    }
-
-void CPluginKrFepManagerBase::SetEditorContext(TInt aContext)
-    {
-    LOG1("FEP.IMEPLG.KR.Base.SetEditorContext %d",aContext);
-    }
-
-void CPluginKrFepManagerBase::ActivateUI()
-    {
-    LOG("FEP.IMEPLG.KR.Base.ActivateUI");
-    iPenInputServer.ActivateLayout( ETrue );
-    }
-
-void CPluginKrFepManagerBase::SetFepAwareEditorText(
-        const TFepInputContextFieldData& /*aIcfData*/)
-    {
-    LOG("FEP.IMEPLG.KR.Base.SetFepAwareEditorText");
-    }
-
-TInt CPluginKrFepManagerBase::EditorMaxLength()
-    {
-    LOG1("FEP.IMEPLG.KR.Base.EditorMaxLength - %d",iMaxEditorLength);
-    return iMaxEditorLength;
-    }
-    
-void CPluginKrFepManagerBase::ResourceChanged(TInt aType)
-    {
-    LOG1("FEP.IMEPLG.KR.Base.ResourceChanged - %d",aType);
-    iPenInputServer.ResourceChanged(aType);
-    }
-        
-void CPluginKrFepManagerBase::SetNextFepUI(
-        MAknFepManagerInterface* aNextUi)
-    {
-    LOG("FEP.IMEPLG.KR.Base.SetNextFepUI");
-    iHkbUi = aNextUi;
-    }
-
-void CPluginKrFepManagerBase::SetStarKeyFlag( TBool aSet )
-    {
-    LOG1("FEP.IMEPLG.KR.Base.SetStarKeyFlag %d",aSet);
-    }
-
-// ---------------------------------------------------------------------------
-// External Functions
-// ---------------------------------------------------------------------------
-//
-
-void CPluginKrFepManagerBase::OnInit()
-    {
-    
-    }
-
-void CPluginKrFepManagerBase::RetrieveEditorMaxLength()
-    {
-    
-    }
-
-void CPluginKrFepManagerBase::UpdateRange( TInt aRange )
-    {
-    iLastRange=aRange;
-    }
-
-void CPluginKrFepManagerBase::UpdateCaseMode( TInt aCaseMode )
-    {
-    iLastCase = aCaseMode; 
-    }
-
-// ---------------------------------------------------------------------------
-// Internal Functions
-// ---------------------------------------------------------------------------
-//
-
-void CPluginKrFepManagerBase::SendCommandToServer( TInt aCommandId )
-    {
-    iPenInputServer.HandleCommand( aCommandId );
-    }
-
-void CPluginKrFepManagerBase::SendCommandToServer( TInt aCommandId, TInt aParam )
-    {
-    TBuf8<sizeof(TInt)> buf;
-    buf.Append( (TUint8*)&aParam, sizeof(TInt) );    
-    SendCommandToServer( aCommandId, buf );
-    }
-
-void CPluginKrFepManagerBase::SendCommandToServer(TInt aCommandId, const TDesC8& aParam)
-    {
-    iPenInputServer.HandleCommand( aCommandId, aParam );        
-    }
-
-void CPluginKrFepManagerBase::SetLayoutRange(const CAknEdwinState* aEditorState)
-    {
-    //calculate permitted ranges
-    // TODO: Korean specific permitted range can be added
-    if (aEditorState)
-        {
-        if( aEditorState->Flags() & EAknEditorFlagLatinInputModesOnly )
-            {
-            iPermittedRange &= ~ERangeNative;
-            iPermittedRange &= ~ERangeNativeNumber;
-            iPermittedRange &= ~ERangeSymbol;
-            }
-        /*
-        if ( iPermittedMode != EAknEditorNumericInputMode 
-            && !( aEditorState->Flags() & EAknEditorFlagLatinInputModesOnly ) )
-            {
-            iPermittedRange &= ~ERangeEnglish;
-            }
-        */
-        }
-    else // for MFNE editor
-        {
-        if ( iPermittedMode == EAknEditorNumericInputMode )
-            {
-            iPermittedRange &= ~ERangeSymbol;
-            if( iHkbMode == ENumber )
-                {
-                iPermittedRange = ERangeNumber;
-                }
-            else if ( iHkbMode == ENativeNumber )
-                {
-                iPermittedRange = ERangeNativeNumber;
-                } 
-            }
-        }
-    
-
-    SendCommandToServer( ECmdPenInputPermittedRange, iPermittedRange );
-    
-    TInt priRange;
-    
-    switch( iHkbMode )
-        {
-        case ECangJie:
-        case EStrokeFind:
-        case EStroke:
-        case EPinyin:
-        case EZhuyin:
-        case EZhuyinFind:
-        case EHindi:
-        case EHangul:
-            {
-            priRange = ERangeNative;
-            }
-            break;                 
-        case ENumber:
-            {
-            priRange = ERangeNumber;
-            }
-            break;  
-        case ENativeNumber:
-            {
-            priRange = ERangeNativeNumber;
-            }
-            break;  
-        case EPRCFind:
-        case ELatin:
-        case ELatinText:
-        case ELatinUpper:
-        case ELatinLower:
-        	{
-        	priRange = ERangeEnglish;
-        	}
-        	break;
-        default:
-            priRange = iPermittedRange & ERangeNative ? ERangeNative : ERangeEnglish;
-            break;               
-        }
-     
-    if( iSuggestedRange != ERangeInvalid && (iSuggestedRange & iPermittedRange) )
-        {
-        priRange = iSuggestedRange;
-        iSuggestedRange = ERangeInvalid;
-        }
-    
-    if (iLastRange)
-        {
-        priRange=iLastRange;
-        }
-    
-    SendCommandToServer( ECmdPenInputRange, priRange );
-    }
-
-void CPluginKrFepManagerBase::SetLayoutPermitedRanges( TInt aPermittedMode )
-    {
-    iPermittedMode = aPermittedMode;
-    
-    // Not derived from edwin
-    if ( aPermittedMode == EAknEditorNumericInputMode ) 
-        {
-        if ( SupportNativeNumberRange() )
-            {
-            iPermittedRange = ERangeNativeNumber;
-            }
-        iPermittedRange |= ERangeNumber;
-        }
-        
-    else if ( aPermittedMode & EAknEditorTextInputMode )
-        {
-        // Derived from edwin and EAknEditorTextInputMode
-        iPermittedRange = ERangeNative | 
-                          ERangeNumber | 
-                          ERangeEnglish | 
-                          ERangeSymbol |
-                          ERangeNativeNumber;
-        }
-    else if ( aPermittedMode & EAknEditorSecretAlphaInputMode ) 
-        {
-        // Derived from EAknEditorSecretAlphaInputMode 
-        iPermittedRange = ERangeNumber |
-                          ERangeEnglish | 
-                          ERangeSymbol;        
-        }
-    else
-        {
-        iPermittedRange = ERangeNative | 
-                          ERangeNumber | 
-                          ERangeEnglish | 
-                          ERangeSymbol |
-                          ERangeNativeNumber;
-        }
-    }
-
-TBool CPluginKrFepManagerBase::SupportNativeNumberRange()
-    {
-    if ( iLanguage == ELangArabic || iLanguage == ELangFarsi ||
-         iLanguage == ELangUrdu || iLanguage == ELangHindi ||
-         iLanguage == ELangThai )
-         {
-         return ETrue;
-         }
-        
-    return EFalse;                   
-    }   
-
-
--- a/fep/aknfep/peninputplugins/PeninputPluginKr/src/PluginKrFepManagerHwr.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
-* Copyright (c) 2002-2006 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:
-*
-*/
-
-#include "PluginKrFepManagerHwr.h"
-
-CPluginKrFepManagerHwr* CPluginKrFepManagerHwr::NewLC(
-        CPeninputPluginKr& aOwner, 
-        RPeninputServer& aPenInputServer)
-    {
-    CPluginKrFepManagerHwr* self = 
-        new (ELeave) CPluginKrFepManagerHwr(aOwner,aPenInputServer);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    return self;
-    }
-
-CPluginKrFepManagerHwr* CPluginKrFepManagerHwr::NewL(
-        CPeninputPluginKr& aOwner, 
-        RPeninputServer& aPenInputServer)
-    {
-    CPluginKrFepManagerHwr* self = 
-        CPluginKrFepManagerHwr::NewLC(aOwner,aPenInputServer);
-    CleanupStack::Pop(); // self;
-    return self;
-    }
-
-CPluginKrFepManagerHwr::CPluginKrFepManagerHwr(
-        CPeninputPluginKr& aOwner, 
-        RPeninputServer& aPenInputServer)
-    : CPluginKrFepManagerBase(aOwner,aPenInputServer)
-    {
-    }
-
-void CPluginKrFepManagerHwr::ConstructL()
-    {
-    }
-
-CPluginKrFepManagerHwr::~CPluginKrFepManagerHwr()
-    {
-    }
--- a/fep/aknfep/peninputplugins/PeninputPluginKr/src/PluginKrFepManagerItut.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-/*
-* Copyright (c) 2002-2006 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:
-*
-*/
-
-#include "PeninputImePluginKr.h"
-#include "eikon.hrh"
-
-#include <aknedsts.h>               //CAknEdwinState
-#include <aknfeppeninputenums.h>
-
-
-#include "PluginKrFepManagerItut.h"
-
-CPluginKrFepManagerItut* CPluginKrFepManagerItut::NewLC(
-        CPeninputPluginKr& aOwner, 
-        RPeninputServer& aPenInputServer)
-    {
-    CPluginKrFepManagerItut* self = 
-        new (ELeave) CPluginKrFepManagerItut(aOwner,aPenInputServer);
-    CleanupStack::PushL(self);
-    self->ConstructL(); 
-    return self;
-    }
-
-CPluginKrFepManagerItut* CPluginKrFepManagerItut::NewL(
-        CPeninputPluginKr& aOwner, 
-        RPeninputServer& aPenInputServer)
-    {
-    CPluginKrFepManagerItut* self = 
-        CPluginKrFepManagerItut::NewLC(aOwner,aPenInputServer);
-    CleanupStack::Pop(); // self;
-    return self;
-    }
-
-TBool CPluginKrFepManagerItut::HandleKeyL( TInt aKey, TKeyPressLength aLength,
-                                           TEventCode /*aEventCode*/)
-    {
-    TInt ret;
-    TPckgC<TInt> msgdata(aKey);
-    
-    if (aLength == ELongKeyPress)
-        {
-        iPenInputServer.HandleCommand(ECmdPenInputFingerLongKeyPress, msgdata, ret);
-        }
-    else
-        {
-        iPenInputServer.HandleCommand(ECmdPenInputFingerKeyPress, msgdata, ret);
-        }
-    
-    return ret == KErrNone ? ETrue:EFalse;
-    }
-
-CPluginKrFepManagerItut::CPluginKrFepManagerItut(
-        CPeninputPluginKr& aOwner, 
-        RPeninputServer& aPenInputServer)
-    : CPluginKrFepManagerBase(aOwner,aPenInputServer)
-    {
-    }
-
-void CPluginKrFepManagerItut::ConstructL()
-    {
-    }
-
-CPluginKrFepManagerItut::~CPluginKrFepManagerItut()
-    {
-    }
--- a/fep/aknfep/peninputplugins/PeninputPluginKr/src/PluginKrFepManagerVkb.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
-* Copyright (c) 2002-2006 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:
-*
-*/
-
-#include "PluginKrFepManagerVkb.h"
-
-CPluginKrFepManagerVkb* CPluginKrFepManagerVkb::NewLC(
-        CPeninputPluginKr& aOwner, 
-        RPeninputServer& aPenInputServer)
-    {
-    CPluginKrFepManagerVkb* self = 
-        new (ELeave) CPluginKrFepManagerVkb(aOwner,aPenInputServer);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    return self;
-    }
-
-CPluginKrFepManagerVkb* CPluginKrFepManagerVkb::NewL(
-        CPeninputPluginKr& aOwner, 
-        RPeninputServer& aPenInputServer)
-    {
-    CPluginKrFepManagerVkb* self = 
-        CPluginKrFepManagerVkb::NewLC(aOwner,aPenInputServer);
-    CleanupStack::Pop(); // self;
-    return self;
-    }
-
-CPluginKrFepManagerVkb::CPluginKrFepManagerVkb(
-        CPeninputPluginKr& aOwner, 
-        RPeninputServer& aPenInputServer)
-    : CPluginKrFepManagerBase(aOwner,aPenInputServer)
-    {
-    }
-
-void CPluginKrFepManagerVkb::ConstructL()
-    {
-    }
-
-CPluginKrFepManagerVkb::~CPluginKrFepManagerVkb()
-    {
-    }
--- a/fep/aknfep/peninputplugins/peninputimeplugincn/group/bld.inf	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
-* 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:            Build information file for project peninputimeplugincn
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-	
-PRJ_MMPFILES
-
-../group/peninputimeplugincn.mmp
-
-// End Of File
--- a/fep/aknfep/peninputplugins/peninputimeplugincn/group/peninputimeplugincn.mmp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-/*
-* 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:            Project definition file for project peninputimeplugincn
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include <bldvariant.hrh>
-#include <platform_paths.hrh>
-
-TARGET      peninputimeplugincn.dll
-TARGETTYPE  plugin
-UID         0x10009D8D 0x10207361
-
-CAPABILITY  CAP_ECOM_PLUGIN
-VENDORID    VID_DEFAULT
-
-SOURCEPATH	../src
-
-SOURCE		peninputimeplugincnproxy.cpp
-SOURCE		peninputimeplugincn.cpp
-SOURCE		pluginfepmanagerbase.cpp
-SOURCE		pluginfepmanagerhwr.cpp
-SOURCE		pluginfepmanagervkb.cpp
-
-userinclude     ../inc 
-
-// This is a SYSTEMINCLUDE macro containing the middleware
-// layer specific include directories
-MW_LAYER_SYSTEMINCLUDE
-
-SYSTEMINCLUDE 	/epoc32/include/ecom
-SYSTEMINCLUDE   ../../../../../inc
-SYSTEMINCLUDE	../../../inc
-
-
-SOURCEPATH      ../srcdata
-
-START RESOURCE 10207361.rss
-#ifdef SYMBIAN_SECURE_ECOM 
-TARGET peninputimeplugincn.rsc                                                              
-#endif
-END
-
-
-LIBRARY euser.lib 
-LIBRARY ECom.lib
-LIBRARY centralrepository.lib 
-LIBRARY eikcoctl.lib 
-LIBRARY estor.lib 
-LIBRARY FeatMgr.lib                // feature manager
-#ifdef RD_SCALABLE_UI_V2
-LIBRARY         peninputclient.lib
-#else
-LIBRARY         peninputserverstub.lib
-#endif
-
-// End Of File
--- a/fep/aknfep/peninputplugins/peninputimeplugincn/inc/peninputimeplugincn.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,272 +0,0 @@
-/*
-* 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:            input mode plugin header file
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#ifndef C_PENINPUTIMEPLUGINCHN_H
-#define C_PENINPUTIMEPLUGINCHN_H   
-
-// System includes
-#include <e32base.h>
-#include <peninputclient.h>
-#include <aknfeppeninputimeplugin.h>
-#include <eikon.hrh>
-#include <AknFepManagerInterface.h>
-//#include <AknFepManagerUIInterface.h>
-#include <aknfeppeninputenums.h>
-#include <AknFepGlobalEnums.h>
-
-// Forward declaration
-class MAknFepManagerInterface;
-class CAknEdwinState;
-class CRepository;
-class CPluginFepManagerBase;
-
-/**
- *  Pen input mode plugin chinese implementation
- *
- *  @lib peninputimeplugincn.lib
- *  @since S60 v3.2
- */
-class CPenInputImePluginCn : public CAknFepPenInputImePlugin
-    {
-public:
-
-    /**
-     * Symbian constructor.
-     *
-     * @since S60 v3.2
-     * @param aInitParams Init data plugin, actually it is 
-     *        a pointer of RPeninputServer.
-     * @return Pointer to created CPenInputImePluginCn object
-     */
-    static CPenInputImePluginCn* NewL(TAny* aInitParams);
-
-    static CPenInputImePluginCn* NewLC(TAny* aInitParams);
-
-    /**
-     * Destructor.
-     */
-    ~CPenInputImePluginCn();
-
-public: // From CAknFepPenInputImePlugin
-
-    /**
-     * Get layout UI interface
-     * 
-     * @since S60 v3.2
-     * @param aFepManager Fep manager interface pointer
-     * @param aLanguage Language that layout UI need to support
-     * @param aMode Speicifed layout UI mode to create
-     * @param aData Initialization data.
-     *
-     * @return The layout UI interface..
-     */
-    MAknFepManagerInterface* GetInputMethodUiL(
-                            MAknFepManagerUIInterface* aFepManager,
-                            TLanguage aLanguage,
-                            TInt      aMode,
-                            const TDesC8& aData,
-                            const TBool aIsSplitView = EFalse);
-
-    /**
-     * Get layout UI interface
-     * 
-     * @since S60 v3.2
-     * @param aFepManager Fep manager interface pointer
-     * @param aLayoutId Speicifed layout UI id to create
-     * @param aData Initialization data.
-     *
-     * @return The layout UI interface..
-     */
-    MAknFepManagerInterface* GetInputMethodUiL(
-                            MAknFepManagerUIInterface* aFepManager,
-                            TInt aLayoutId,
-                            const TDesC8& aData);
-
-    /**
-     * Activate current IME plugin.
-     * 
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-    void Activate();
-
-    /**
-     * Deactivate current IME plugin.
-     * 
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-    void DeActivate();
-
-    /**
-     * Get current IME plugin implementation ID.
-     * 
-     * @since S60 v3.2
-     *
-     * @return IME plugin implementation id.
-     */
-    TInt ImeImplId();
-
-    /**
-     * Get current layout UI implementation id.
-     * 
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-     TInt LayoutUiImplId();
-
-    /**
-     * Handle pen input server event.
-     * 
-     * @param aEventId The event id, defined in <peninputcmd.h>
-     * @param aData The event related data.
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-     TBool HandleServerEventL(TInt aEventId, const TDesC& aData);
-
-    /**
-     * Get suppored layout UI modes(VKB/HWR).
-     * 
-     * @since S60 v3.2
-     *
-     * @param aPtiEngine  A pointer to ptiengine
-     * @param aSupportList A reference to result ime plugin list
-     * @return Meaningless.
-     */
-     TInt SupportModes(CPtiEngine* aPtiEngine, 
-                       RArray<TImePlguinImplDetail>& aSupportList) const;
-
-    /**
-     * Get current layout UI mode.
-     * 
-     * @since S60 v3.2
-     *
-     * @return Current layout UI mode.
-     */
-     TInt CurrentMode() const;
-
-    /**
-     * Handle the menu command.The menu is launched by FEP
-     * The menu command is first passed to IME plugin, if 
-     * this function return EFalse, FEP handles it defaultly.
-     * 
-     * @param aCommandId The menu command id
-     * @return ETrue if IME plugin handled the command; 
-     *         EFalse otherwise.
-     */
-    TBool HandleMenuCommandL(TInt aCommandId);
-
-    /**
-     * Dynamiclly update menu items during it displays. 
-     * 
-     * aMenuPane The menu pane pointer.
-     * @return None.
-     */
-    void DynInitMenuPaneL(CAknFepUiInterfaceMenuPane* aMenuPane);
-
-private:
-    
-    /**
-     * C++ default constructor.
-     *
-     * @param aServer Pen input server pointer
-     */
-    CPenInputImePluginCn(RPeninputServer* aServer);
-    
-    /**
-     * By default Symbian 2nd phase constructor is private.
-     *
-     * @return None
-     */
-    void ConstructL();
-
-    /**
-     * Enumuate all layout UI ids and save them to iUiLayoutImpIdList.
-     *
-     * @return None
-     */
-    void FindUiLayoutImplementationL();
-    
-    /**
-     * Get HWR UI interface
-     *
-     * @return HWR UI pointer
-     */
-    CPluginFepManagerBase* GetPluginUiL( TInt aMode );
-    
-    /**
-     * Get current UI interface
-     *
-     * @return current UI pointer
-     */
-    inline CPluginFepManagerBase* GetCurrentUi();
-        
-    /**
-     * Get suppored layout UI modes(VKB/HWR).
-     * 
-     * @since S60 v3.2
-     *
-     * @param aPtiEngine  A pointer to ptiengine
-     * @param aSupportList A reference to result ime plugin list
-     * @return Meaningless.
-     */
-    TInt SupportModesL(CPtiEngine* aPtiEngine, 
-                       RArray<TImePlguinImplDetail>& aSupportList) const;
-                       
-private:
-
-    /**
-     * Pen input server pointer. Not own.
-     */
-    RPeninputServer* iPenInputServer;
-
-    /**
-     * Pen input server pointer. Not own.
-     */
-    RArray<TInt> iUiLayoutImpIdList;
-
-    /**
-     * Current layout UI mode.
-     */
-    TInt iPenInputMode;
-
-    /**
-     * Pen input server pointer. Not own.
-     */
-    CPluginFepManagerBase* iPluginUiManager;
-    };
-
-#include "peninputimeplugincn.inl"
-
-#endif //C_PENINPUTIMEPLUGINCHN_H
-
-//End Of File
--- a/fep/aknfep/peninputplugins/peninputimeplugincn/inc/peninputimeplugincn.inl	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
-* 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:            Inline file for Ime plugin China.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-const TInt KHwrLayoutInterfaceId = 0x102072FC; // This is for layout interface
-const TInt KInputMethodImplementationId = 0x10207361;
-const TInt KHwrUiId = 0x10281856;
-const TInt KFScUiId = 0x2000B132;
-const TInt KVkbUiId = 0x1028185C;
-const TInt KFsqUiId = 0x2001114E;
-const TInt KFingerHwrUiId = 0x2001CB83;
-
-inline CPluginFepManagerBase* CPenInputImePluginCn::GetCurrentUi()
-    {
-    switch(iPenInputMode)
-        {
-        case EPluginInputModeHwr:
-        case EPluginInputModeVkb:
-        case EPluginInputModeFSc:
-        case EPluginInputModeFingerHwr:
-        case EPluginInputModeFSQ:
-            return iPluginUiManager;
-        default:
-            return NULL;
-        }
-    }
-
-//End Of File
--- a/fep/aknfep/peninputplugins/peninputimeplugincn/inc/peninputimeplugincndebug.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-/*
-* 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:            Debug utils API
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef PENINPUTIMEPLUGINCHSDEBUG_H
-#define PENINPUTIMEPLUGINCHSDEBUG_H
- 
-#ifdef _DEBUG
-    #define PRINT( txt )                    RDebug::Print( txt );
-    #define PRINTF( txt )                   RDebug::Print txt;
-    #define PRINT1( txt, arg1 )             RDebug::Print( txt, arg1 );
-    #define PRINT2( txt, arg1, arg2 )       RDebug::Print( txt, arg1, arg2 );
-    #define PRINT3( txt, arg1, arg2, arg3 ) RDebug::Print( txt, arg1, arg2, arg3 ); 
-#else 
-    #define PRINT( txt ) 
-    #define PRINTF( txt )                    
-    #define PRINT1( txt, arg1 ) 
-    #define PRINT2( txt, arg1, arg2 ) 
-    #define PRINT3( txt, arg1, arg2, arg3 ) 
-#endif
-
-
-// Record into log files
-#define USE_FILE_LOGGER
-
-#if defined (_DEBUG) && !defined(USE_FILE_LOGGER)                   
-    #define USE_SERIAL_LOGGER 
-#endif
-                                    
-#if defined (USE_FILE_LOGGER)
-    #include <flogger.h>
-    _LIT(KLogFile,"imepluginchn.txt");
-    _LIT(KLogFolder,"peninputime");
-    #define LOGTEXT(AAA)                RFileLogger::Write(KLogFolder(), \
-                                                           KLogFile(), \
-                                                           EFileLoggingModeAppend, \
-                                                           AAA)
-    #define LOGTEXT2(AAA,BBB)           RFileLogger::WriteFormat(KLogFolder(), \
-                                                                 KLogFile(), \
-                                                                 EFileLoggingModeAppend, \
-                                                                 TRefByValue<const TDesC>(AAA), \
-                                                                 BBB)
-    #define LOGTEXT3(AAA,BBB,CCC)       RFileLogger::WriteFormat(KLogFolder(), \
-                                                                 KLogFile(), \
-                                                                 EFileLoggingModeAppend, \
-                                                                 TRefByValue<const TDesC>(AAA), \
-                                                                 BBB, \
-                                                                 CCC)
-    #define LOGHEXDUMP(AAA,BBB,CCC,DDD) RFileLogger::HexDump(KLogFolder(), \
-                                                             KLogFile(), \
-                                                             EFileLoggingModeAppend, \
-                                                             AAA,\
-                                                             BBB,\
-                                                             CCC,\
-                                                             DDD)    
-#elif defined (USE_SERIAL_LOGGER) 
-    #include <e32svr.h>
-    #define LOGTEXT(AAA)                RDebug::Print(AAA)
-    #define LOGTEXT2(AAA,BBB)           RDebug::Print(AAA,BBB)
-    #define LOGTEXT3(AAA,BBB,CCC)       RDebug::Print(AAA,BBB,CCC)
-    #define LOGHEXDUMP(AAA,BBB,CCC,DDD)
-#else
-    #define LOGTEXT(AAA)                
-    #define LOGTEXT2(AAA,BBB)           
-    #define LOGTEXT3(AAA,BBB,CCC)       
-    #define LOGHEXDUMP(AAA,BBB,CCC,DDD) 
-#endif      
-
-#endif      // PENINPUTIMEPLUGINCHSDEBUG   
-            
-// End Of File
--- a/fep/aknfep/peninputplugins/peninputimeplugincn/inc/pluginfepmanagerbase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,473 +0,0 @@
-/*
-* 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:            Layout UI interface base class
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#ifndef C_PLUGINFEPMANAGERBASE_H
-#define C_PLUGINFEPMANAGERBASE_H
-
-// System includes
-#include <e32base.h>
-#include <frmtlay.h>
-#include <eikon.hrh>
-#include <AknFepManagerInterface.h>
-#include <peninputcmd.h>
-
-//Forward declaration
-class CPenInputImePluginCn;
-class RPeninputServer;
-class CAknEdwinState;
-class CRepository;
-/**
- *  CPluginFepManagerBase is the layout UI interface base class. 
- *  It is something like a "proxy" class of layout UI plugin, sending
- *  commands from FEP to layout UI plugin.
- *
- *  @lib peninputimeplugincn.lib
- *  @since S60 v3.2
- */
-class CPluginFepManagerBase: public CBase, public MAknFepManagerInterface
-    {
-public: 
-
-    /**
-     * Destructor.
-     */
-    ~CPluginFepManagerBase();
-
-    /**
-     * Initalize UI when first time starting up. 
-     * The first time means when the instance created.
-     * 
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-    virtual void OnInit();
-
-    /**
-     * Explicitly get ICF max length from layout UI and save the 
-     * value to iMaxEditorLength.
-     * 
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-    void RetrieveEditorMaxLength();
-
-    /**
-     * Update local copy of case mode when 
-     * user change case in layout UI.
-     * 
-     * @since S60 v3.2
-     *
-     * @param aCaseMode The case mode to save locally.
-     * @return None.
-     */
-    void UpdateCaseMode( TInt aCaseMode );
-
-// From MAknFepManagerInterface
-
-    /**
-     * Set layout UI current number mode key mapping.
-     * For example, 0-9 ; 0-9,*,# and etc.
-     * 
-     * @since S60 v3.2
-     *
-     * @param aAknEditorNumericKeymap Key mapping enum value.
-     * @return None.
-     */
-    void SetNumberModeKeyMappingL( TAknEditorNumericKeymap aAknEditorNumericKeymap );
-
-    /**
-     * Handle key event.
-     * Since most plugin layout UIs are based on animation, they receive 
-     * key and process key events before this function. 
-     * 
-     * @since S60 v3.2
-     *
-     * @param aKey Key event code.
-     * @param aLength Key press length.
-     * @return ETrue if processed, EFalse otherwise.
-     */
-    TBool HandleKeyL( TInt aKey, TKeyPressLength aLength, TEventCode aEventCode = EEventKey );
-
-    /**
-     * Handle command come from FEP.
-     * 
-     * @since S60 v3.2
-     *
-     * @param aCommandId Command id.
-     * @return None
-     */
-    void HandleCommandL( TInt aCommandId );
-
-    /**
-     * Handle command come from FEP.
-     * 
-     * @since S60 v3.2
-     *
-     * @param aCommandId Command id.
-     * @param aParam  Command parameter.
-     * @return None.
-     */
-    void HandleCommandL( TInt aCommandId, TInt aParam );
-
-    /**
-     * Close plugin layout UI.
-     * 
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-    void CloseUI();
-
-    /**
-     * Activate plugin layout UI.
-     * 
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-    void ActivateUI();
-
-    /**
-     * Get max text length of layout UI ICF control.
-     * 
-     * @since S60 v3.2
-     * @return Max ICF text length.
-     */
-    TInt EditorMaxLength();
-
-    /**
-     * When screen size changes, SizeChanged is called by FEP.
-     * 
-     * @since S60 v3.2
-     * @return None.
-     */
-    void ResourceChanged( TInt aType );
-
-    /**
-     * Set underlining UI.
-     * Since plugin layout UI and HKB can be used at same time,
-     * HKB UI layout need to be notified after plugin layout UI 
-     * processes some events
-     * 
-     * @since S60 v3.2
-     * @param aNextUI The underlining UI pointer.
-     * @return None.
-     */
-    void SetNextFepUI( MAknFepManagerInterface* aNextUi );
-    
-    /**
-     * Get support language in sepecfied mode.
-     * The method leaves here only for compatibility.
-     * 
-     * @since S60 v3.2
-     *
-     * @param aMode Input mode.
-     * @return Language supported.
-     */
-    TInt SupportLanguage( TInt aMode ) const;
-
-    /**
-     * Set current language, which is required by editor
-     * 
-     * @since S60 v3.2
-     *
-     * @param aLanguage Language to set.
-     * @return None.
-     */
-    void SetInputLanguageL( TLanguage aLanguage );
-
-    /**
-     * Set editor text and cursor information to layout UI 
-     * ICF control.
-     * 
-     * @since S60 v3.2
-     * @param aTotalTextLen Total text length in eidtor.
-     * @param aStartPos Offset of aText to the start of editor text.
-     * @param aCursorSel Cursor position.
-     * @param aText A part of editor text start from aStartPos.
-     *
-     * @return None.
-     */
-    void SetFepAwareEditorText( const TFepInputContextFieldData& aIcfData );
-
-    /**
-     * Set layout UI mode.
-     * The method leaves here only for compatibility
-     * 
-     * @since S60 v3.2
-     *
-     * @param aMode Mode to set.
-     * @param aPredictive Whether the current mode support predictive.
-     * @param aWwertyInputMode Whether the current HKB is qwerty.
-     * @return None.
-     */
-#ifdef RD_INTELLIGENT_TEXT_INPUT          
-    void SetMode(TInt aMode, TBool aPredictive, TBool aQwertyInputMode, TInt aKeyboardType);
-#else
-    void SetMode(TInt aMode, TBool aPredictive, TBool aQwertyInputMode);
-#endif   
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    virtual TBool IsValidFnKeyPress() const;
-    virtual TBool IsValidLongChrKeyPress() const;
-#endif
-
-    /**
-     * Set layout UI current case.
-     * The method leaves here only for compatibility. Since plugin layout 
-     * UI is different from HKB tranditional UI, they use something like 
-     * "case mode" other than case which is set by a FEP command.
-     * 
-     * @since S60 v3.2
-     *
-     * @param aCase Case to set.
-     * @return None.
-     */
-    void SetCase( TCase aCase );
-
-    /**
-     * The method leaves here only for compatibility.
-     * 
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-    void ExpireMultitapTimer();
-
-    /**
-     * The method leaves here only for compatibility.
-     * 
-     * @since S60 v3.2
-     * 
-     * @param aKey The key presssed.
-     * @return ETrue if long press, EFalse otherwise.
-     */
-    TBool IsValidNumericLongKeyPress( TInt aKey ) const;
-
-    /**
-     * The method leaves here only for compatibility.
-     * 
-     * @since S60 v3.2
-     *
-     * @param aText Text to add to user dictionary.
-     * @return None.
-     */
-    void AddTextToUserDictionaryL( const TDesC& aText );
-
-    /**
-     * The method leaves here only for compatibility.
-     * 
-     * @since S60 v3.2
-     *
-     * @param aFormat On return, contains the formatting to 
-     *        apply to the inline text (or to a portion of it). 
-     * @param aNumberOfCharactersWithSameFormat  On return, 
-              contains the number of characters in the inline 
-              text (starting at aPositionOfCharacter) 
-              which have the same formatting
-     * @param aPositionOfCharacter Start position within the inline text
-     * @return None.
-     */
-    void GetFormatOfFepInlineText( TCharFormat& aFormat, 
-                                   TInt& aNumberOfCharactersWithSameFormat, 
-                                   TInt aPositionOfCharacter ) const;
-
-    /**
-     * The method leaves here only for compatibility.
-     * 
-     * @since S60 v3.2
-     *
-     * @return ETrue if valid, EFalse otherwise.
-     */
-    TBool IsValidShiftKeyPress() const;
-
-    /**
-     * The method leaves here only for compatibility.
-     * 
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-    void SetEditorContext( TInt aContext );
-
-	/**
-	 * Set the Star key flag
-	 *
-     * @param aSet TBool.
-     * @return None
-	 */
-	void SetStarKeyFlag( TBool aSet );
-protected:
-   
-    /**
-     * C++ default constructor.
-     *
-     * @since S60 v3.2
-     * @param aOwner IME plugin pointer.
-     * @param aPenInputServer Pen input server pointer
-     */
-    CPluginFepManagerBase(CPenInputImePluginCn& aOwner, 
-                          RPeninputServer* aPenInputServer);
-
-    /**
-     * By default Symbian 2nd phase constructor.
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    void BaseConstructL();
-
-    /**
-     * Set layout permited ranges.
-     *
-     * @param aPermittedMode Ranges of current editor allowed.
-     * @return None
-     */
-    virtual void SetLayoutPermitedRanges( TInt aPermittedRanges );
-
-    /**
-     * Set layout primary range.
-     *
-     * @since S60 v3.2
-     * @param aEditorState Current editor state.
-     * @return None
-     */
-    virtual void SetLayoutRange( const CAknEdwinState* aEditorState );
-
-    /**
-     * Send command to pen input server utility function.
-     *
-     * @since S60 v3.2
-     * @param aCommandId The command id to sent.
-     * @return None
-     */
-    void SendCommandToServer( TInt aCommandId );
-
-    /**
-     * Send command to pen input server utility function.
-     *
-     * @since S60 v3.2
-     * @param aCommandId The command id to sent.
-     * @param aParam The command param.
-     * @return None
-     */
-    void SendCommandToServer( TInt aCommandId, TInt aParam );
-
-    /**
-     * Send command to pen input server utility function.
-     *
-     * @since S60 v3.2
-     * @param aCommandId The command id to sent.
-     * @param aParam The command param.
-     * @return None
-     */
-    void SendCommandToServer( TInt aCommandId, const TDesC8& aParam );
-
-    /**
-     * Get layout UI last used range.
-     *
-     * @since S60 v3.2
-     * @return Range last used.
-     */
-    TInt LayoutLastUsedRange();
-
-    /**
-     * Set layout UI position.
-     * Move layout UI not to overlap with some editors.
-     *
-     * @since S60 v3.2
-     * @param aBottomRight The bottom right position of layout UI.
-     *        The value is only a suggest value, layout UI may adjust it.
-     * @return None.
-     */
-    void SetLayoutPosition( const TRect& aParam );
-
-    /**
-     * Get Editor's local language.
-     *
-     * @since S60 v3.2
-     * @param aEditorState The editor's .CAknEdwinState pointer
-     * @return Language code the editor requires.
-     */
-    TLanguage GetLocalLanguage( const CAknEdwinState* aEditorState ) const;
-   
-protected:
-
-    /**
-     * IME plugin reference.
-     */
-    CPenInputImePluginCn& iOwner;
-
-    /**
-     * Pen input server pointer. Not own.
-     */
-    RPeninputServer* iPenInputServer;
-
-    /**
-     * The premitted range of current editor.
-     */
-    TInt iPermittedRange;
-    
-    TInt iHkbMode;
-    /**
-     * The fep suggested range. The suggested value comes from
-     * previous touch input method.
-     */
-    TInt iSuggestedRange;
-    
-    /**
-     * Current language.
-     */
-    TLanguage iLanguage;   
-    
-private:
-
-    /**
-     * Repository object used to get last used range.
-     */
-    CRepository* iRepository;
-
-    /**
-     * Local copy of ICF max text length.
-     */
-    TInt iMaxEditorLength;
-
-    /**
-     * Local copy of layout current case mode
-     */
-    TInt iLastCase;
-
-    /**
-     * Underlineing UI interface
-     */
-    MAknFepManagerInterface* iHkbUi;
-    };
-#endif // C_PLUGINFEPMANAGERBASE_H
-
-// End Of File
--- a/fep/aknfep/peninputplugins/peninputimeplugincn/inc/pluginfepmanagerhwr.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,113 +0,0 @@
-/*
-* 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:            HWR layout UI class header
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef C_PLUGINFEPMANAGERHWR_H
-#define C_PLUGINFEPMANAGERHWR_H
-
-// System includes
-#include <e32base.h>
-
-// User includes
-#include "pluginfepmanagerbase.h"
-
-//Forward declaration
-class CPenInputImePluginCn;
-class RPeninputServer;
-
-/**
- *  CPluginFepManagerHwr is the chinese HWR layout UI interface 
- *  "proxy" class.
- *
- *  @lib peninputimeplugincn.lib
- *  @since S60 v3.2
- */
-class CPluginFepManagerHwr : public CPluginFepManagerBase
-    {
-public:
-    /**
-     * Symbian constructor.
-     *
-     * @since S60 v3.2
-     * @param aOwner IME plugin reference 
-     * @param aPenInputServer The pointer of RPeninputServer.
-     * @return Pointer to created CPluginFepManagerHwr object
-     */
-    static CPluginFepManagerHwr* NewL(CPenInputImePluginCn& aOwner,
-                                      RPeninputServer* aPenInputServer);
-
-     /**
-     * Set layout UI current number mode key mapping.
-     * For example, 0-9 ; 0-9,*,# and etc.
-     * 
-     * @since S60 v3.2
-     *
-     * @param aAknEditorNumericKeymap Key mapping enum value.
-     * @return None.
-     */
-   void SetNumberModeKeyMappingL( TAknEditorNumericKeymap aAknEditorNumericKeymap );
-
-    /**
-     * Handle command come from FEP.
-     * 
-     * @since S60 v3.2
-     *
-     * @param aCommandId Command id.
-     * @param aParam  Command parameter.
-     * @return None.
-     */
-    void HandleCommandL( TInt aCommandId, TInt aParam );
-
-private:
-    /**
-     * C++ default constructor.
-     *
-     * @since S60 v3.2
-     * @param aOwner IME plugin reference 
-     * @param aPenInputServer The pointer of RPeninputServer.
-     */
-    CPluginFepManagerHwr(CPenInputImePluginCn& aOwner,
-                         RPeninputServer* aPenInputServer);
- 
-    /**
-     * Set layout primary range.
-     *
-     * @since S60 v3.2
-     * @param aEditorState Current editor state.
-     * @return None
-     */
-    void SetLayoutRange(const CAknEdwinState* aEditorState);
-    
-    /**
-     * Flag to skin set number key mapping.
-     */
-    TInt iNumberKeyMapping;
-    };
-
-#endif // C_PLUGINFEPMANAGERHWR_H
-
-// End Of File
--- a/fep/aknfep/peninputplugins/peninputimeplugincn/inc/pluginfepmanagervkb.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
-* 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:            VKB layout UI class header
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#ifndef C_PLUGINFEPMANAGERVKB_H
-#define C_PLUGINFEPMANAGERVKB_H
-
-// System includes
-#include <e32base.h>
-
-// User includes
-#include "pluginfepmanagerbase.h"
-
-class CPenInputImePluginCn;
-
-/**
- *  CPluginFepManagerHwr is the chinese VKB layout UI interface 
- *  "proxy" class.
- *
- *  @lib peninputimeplugincn.lib
- *  @since S60 v3.2
- */
-class CPluginFepManagerVkb : public CPluginFepManagerBase
-    {
-public:
-    /**
-     * Symbian constructor.
-     *
-     * @since S60 v3.2
-     * @param aOwner IME plugin reference 
-     * @param aPenInputServer The pointer of RPeninputServer.
-     * @return Pointer to created CPluginFepManagerHwr object
-     */
-    static CPluginFepManagerVkb* NewL( CPenInputImePluginCn& aOwner,
-                                       RPeninputServer* aPenInputServer);
-
-private:
-    /**
-     * C++ default constructor.
-     *
-     * @since S60 v3.2
-     * @param aOwner IME plugin reference 
-     * @param aPenInputServer The pointer of RPeninputServer.
-     */
-     
-    CPluginFepManagerVkb(CPenInputImePluginCn& aOwner,
-                         RPeninputServer* aPenInputServer);
-    };
-#endif // C_PLUGINFEPMANAGERVKB_H
-
-// End Of File
--- a/fep/aknfep/peninputplugins/peninputimeplugincn/src/peninputimeplugincn.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,630 +0,0 @@
-/*
-* 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:            Input mode plugin implementation file
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// System includes
-#include <ecom.h>
-#include <AknFepManagerInterface.h>
-#include <eikmenup.h>
-#include <avkon.hrh>
-#include <aknfepuiinterface.h>
-#include <aknfepuimenus.h>
-#include <bldvariant.hrh>
-#include <featmgr.h>
-
-// User includes
-#include "peninputimeplugincn.h"
-#include "peninputimeplugincndebug.h"
-#include "pluginfepmanagerhwr.h"
-#include "pluginfepmanagervkb.h"
-#include "aknfepuiinterface.h"
-
-
-
-const TInt KInvalidImplId = 0;
-
-_LIT(KFscImeName, "Chinese FSC");
-_LIT(KHwrImeName, "Chinese HWR");
-_LIT(KVkbImeName, "Chinese VKB");
-_LIT(KFsqImeName, "Chinese FSQ");
-_LIT(KFingerHwrImeName, "Chinese Fingerhwr");
-
-//lint -esym( 960, 58, * ) lint notes: break used outside of a switch
-
-// Implementation of Class CPenInputImePluginCn 
-
-// -----------------------------------------------------------------------------
-// RImplInfoPtrArray cleanup function
-// -----------------------------------------------------------------------------
-//
-void Cleanup( TAny* aAny )
-    {
-    RImplInfoPtrArray* implArray = 
-        reinterpret_cast< RImplInfoPtrArray*> ( aAny );
-    implArray->ResetAndDestroy();
-    implArray->Close();
-    }
-
-// ======== MEMBER FUNCTIONS ========
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginCn::NewL
-// factory function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPenInputImePluginCn* CPenInputImePluginCn::NewL(TAny* aInitParams)
-    {
-    CPenInputImePluginCn* self = new(ELeave)CPenInputImePluginCn(
-                                        static_cast<RPeninputServer*>(aInitParams));
-    CleanupStack::PushL(self);
-    self->ConstructL(); 
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginCn::NewLC
-// factory function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPenInputImePluginCn* CPenInputImePluginCn::NewLC(TAny* aInitParams)
-    {
-    CPenInputImePluginCn* self = new(ELeave) CPenInputImePluginCn(
-                                        static_cast<RPeninputServer*>(aInitParams));
-    CleanupStack::PushL(self);
-    self->ConstructL(); 
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginCn::~CPenInputImePluginCn
-// destructor
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPenInputImePluginCn::~CPenInputImePluginCn()
-    {
-    DeActivate();
-    iUiLayoutImpIdList.Close();
-    delete iPluginUiManager;
-    REComSession::FinalClose();//cleanup ecom
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginCn::GetInputMethodUiL
-// Create layout UI interface
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-MAknFepManagerInterface* CPenInputImePluginCn::GetInputMethodUiL(
-                                        MAknFepManagerUIInterface* aFepManager,
-                                        TLanguage aLanguage, 
-                                        TInt      aMode,
-                                        const TDesC8& /*aData*/,
-                                        const TBool aIsSplitView)
-    {
-    iFepManager = aFepManager;
-    iLanguage = aLanguage;
-    CPluginFepManagerBase* fepmanager = NULL;
-    
-    TUid layoutId;
-    TInt i;
-
-    switch(aMode)
-        {
-        case EPluginInputModeFSc:
-            {
-            layoutId.iUid = KFScUiId;
-            }
-            break;         
-        case EPluginInputModeHwr:
-            {
-            layoutId.iUid = KHwrUiId;
-            }
-            break; 
-        case EPluginInputModeVkb:
-            {
-            layoutId.iUid = KVkbUiId;
-            }
-            break;
-        case EPluginInputModeFSQ:
-            {
-            layoutId.iUid = KFsqUiId;
-            }
-            break;
-        case EPluginInputModeFingerHwr:
-            {
-            layoutId.iUid = KFingerHwrUiId;
-            }
-            break;            
-        default:
-            return NULL;
-        }
-    fepmanager = GetPluginUiL( aMode );
-    
-    for(i = 0; i < iUiLayoutImpIdList.Count(); ++i)
-        {
-        if(iUiLayoutImpIdList[i] == layoutId.iUid )
-            {
-            break;
-            }
-        }
-
-    if( i < iUiLayoutImpIdList.Count() )
-        {
-        iPenInputMode = aMode;
-        TInt errCode = iPenInputServer->SetUiLayoutId(layoutId);
-        if( errCode == KErrNone )
-            {
-            fepmanager->OnInit();
-            return fepmanager;
-            }
-        }
-        
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginCn::GetInputMethodUiL
-// Create layout UI interface
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-MAknFepManagerInterface* CPenInputImePluginCn::GetInputMethodUiL(
-                                    MAknFepManagerUIInterface* aFepManager,
-                                    TInt aLayoutId,
-                                    const TDesC8& /*aData*/)
-    {
-    iFepManager = aFepManager;
-    CPluginFepManagerBase* fepmanager = NULL;   
-    TInt i;
-    TInt mode;    
-    
-    if ( aLayoutId == KHwrUiId )
-        {
-        mode = EPluginInputModeHwr;      
-        }
-    else if( aLayoutId == KVkbUiId )
-        {
-        mode = EPluginInputModeVkb;
-        }
-    else if (aLayoutId == KFScUiId)
-        {
-        mode = EPluginInputModeFSc;
-        }
-    else if( aLayoutId == KFsqUiId )
-        {
-        mode = EPluginInputModeFSQ;
-        }
-    else if( aLayoutId == KFingerHwrUiId )
-        {
-        mode = EPluginInputModeFingerHwr;
-        }
-    else
-        {
-        return NULL;
-        }
-    fepmanager = GetPluginUiL( mode );
-
-    for ( i = 0; i < iUiLayoutImpIdList.Count(); ++i )
-        {
-        if ( iUiLayoutImpIdList[i] == aLayoutId )
-            {
-            break;
-            }
-        }
-
-    if ( i < iUiLayoutImpIdList.Count() )
-        {
-        iPenInputMode = mode;
-        iPenInputServer->SetUiLayoutId(TUid::Uid(aLayoutId));
-        fepmanager->OnInit();    
-        return fepmanager;
-        }
-        
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginCn::Activate
-// Activate current IME plugin.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPenInputImePluginCn::Activate()
-    {
-    if(iPenInputServer)
-        {
-        iPenInputServer->ActivateLayout(ETrue);        
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginCn::DeActivate
-// Deactivate current IME plugin.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPenInputImePluginCn::DeActivate()
-    {
-    if (iPenInputServer && iPenInputServer->IsVisible())        
-        {
-        iPenInputServer->ActivateLayout(EFalse);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginCn::ImeImplId
-// Get current IME plugin implementation ID.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CPenInputImePluginCn::ImeImplId()
-    {
-    return KInputMethodImplementationId;
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginCn::LayoutUiImplId
-// Get current layout UI implementation id.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CPenInputImePluginCn::LayoutUiImplId()
-    {
-    TInt id;
-    switch ( iPenInputMode )
-        {
-        case EPluginInputModeHwr:
-            {
-            id = KHwrUiId;
-            }
-            break;
-        case EPluginInputModeVkb:
-            {
-            id = KVkbUiId;
-            }
-            break;
-        case EPluginInputModeFSc:
-            {
-            id = KFScUiId;
-            }
-            break; 
-        case EPluginInputModeFSQ:
-            {
-            id = KFsqUiId;
-            }
-            break;
-        case EPluginInputModeFingerHwr:
-            {
-            id = KFingerHwrUiId;
-            }
-            break; 
-        default:
-            {
-            id = KInvalidImplId;
-            }
-            break;
-        }
-    return id;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginCn::SupportModes
-// Get suppored layout UI modes(VKB/HWR).
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CPenInputImePluginCn::SupportModes(CPtiEngine* aPtiEngine,
-                                             RArray<TImePlguinImplDetail>& aSupportList) const
-    {
-    TInt ret = 0;
-    TRAP_IGNORE( ret = SupportModesL( aPtiEngine, aSupportList ) );
-    return ret;
-    }
-    
-// -----------------------------------------------------------------------------
-// CPenInputImePluginCn::SupportModesL
-// Get suppored layout UI modes(VKB/HWR).
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CPenInputImePluginCn::SupportModesL(CPtiEngine* /*aPtiEngine*/,
-                                             RArray<TImePlguinImplDetail>& aSupportList) const 
-    {
-    RImplInfoPtrArray infoArray;
-    TUid id;
-    id.iUid = KHwrLayoutInterfaceId;
-    TBool hwr = EFalse;
-    TBool vkb = EFalse;
-    TBool fsc = EFalse;
-    TBool fsq = EFalse;
-    TBool fingerhwr = EFalse;
-    
-    CleanupStack::PushL( TCleanupItem( Cleanup, &infoArray ) );
-    REComSession::ListImplementationsL(id, infoArray);
-        
-    for (TInt i = 0; i < infoArray.Count(); ++i)
-        {
-        if(infoArray[i]->ImplementationUid().iUid == KHwrUiId )
-            {
-            hwr = ETrue;
-            }
-
-        if (infoArray[i]->ImplementationUid().iUid == KVkbUiId
-                && FeatureManager::FeatureSupported(KFeatureIdVirtualKeyboardInput))
-            {
-            vkb = ETrue;
-            }
-        if(infoArray[i]->ImplementationUid().iUid == KFScUiId )
-            {
-            fsc = ETrue;
-            }          
-        if (infoArray[i]->ImplementationUid().iUid == KFsqUiId
-                && FeatureManager::FeatureSupported(KFeatureIdVirtualFullscrQwertyInput))
-            {
-            fsq = ETrue;
-            }
-        if (infoArray[i]->ImplementationUid().iUid == KFingerHwrUiId )
-            {
-            fingerhwr = ETrue;
-            }  
-        }
-    
-    TImePlguinImplDetail detail;
-    
-    detail.iImplementationId = KInputMethodImplementationId;
-    if( fsc )
-        {
-        detail.iMode = EPluginInputModeFSc;
-        detail.iMeritValue = EImeMerit_Preferred;
-        detail.iDisplayName.Copy(KFscImeName());
-        detail.iLanguage = ELangTaiwanChinese;
-        aSupportList.Append(detail);
-        detail.iLanguage = ELangHongKongChinese;
-        aSupportList.Append(detail);
-        detail.iLanguage = ELangPrcChinese;
-        aSupportList.Append(detail);
-        //detail.iLanguage = ELangEnglish;
-        //detail.iMeritValue = EImeMerit_NotUsed;
-        //aSupportList.Append(detail);
-        }
-    if( hwr )
-        {
-        detail.iMode = EPluginInputModeHwr;
-        detail.iMeritValue = EImeMerit_Preferred;
-        detail.iDisplayName.Copy(KHwrImeName());
-        detail.iLanguage = ELangTaiwanChinese;
-        aSupportList.Append(detail);
-        detail.iLanguage = ELangHongKongChinese;
-        aSupportList.Append(detail);
-        detail.iLanguage = ELangPrcChinese;
-        aSupportList.Append(detail);
-        //detail.iLanguage = ELangEnglish;
-        //detail.iMeritValue = EImeMerit_NotUsed;
-        //aSupportList.Append(detail);
-        }
-
-    if( vkb )
-        {
-        detail.iMode = EPluginInputModeVkb;
-        detail.iMeritValue = EImeMerit_Preferred;
-        detail.iDisplayName.Copy(KVkbImeName());
-        detail.iLanguage = ELangTaiwanChinese;
-        aSupportList.Append(detail);
-        detail.iLanguage = ELangHongKongChinese;
-        aSupportList.Append(detail);
-        detail.iLanguage = ELangPrcChinese;
-        aSupportList.Append(detail);
-        //detail.iLanguage = ELangEnglish;
-        //detail.iMeritValue = EImeMerit_NotUsed;
-        //aSupportList.Append(detail);
-        }
-        
-    if( fsq )
-        {
-        detail.iMode = EPluginInputModeFSQ;
-        detail.iMeritValue = EImeMerit_Preferred;
-        detail.iDisplayName.Copy(KFsqImeName());
-        detail.iLanguage = ELangTaiwanChinese;
-        aSupportList.Append(detail);
-        detail.iLanguage = ELangHongKongChinese;
-        aSupportList.Append(detail);
-        detail.iLanguage = ELangPrcChinese;
-        aSupportList.Append(detail);
-        //detail.iLanguage = ELangEnglish;
-        //detail.iMeritValue = EImeMerit_NotUsed;
-        //aSupportList.Append(detail);
-        }
-    if( fingerhwr )
-        {
-        detail.iMode = EPluginInputModeFingerHwr;
-        detail.iMeritValue = EImeMerit_Preferred;
-        detail.iDisplayName.Copy(KFingerHwrImeName());
-        detail.iLanguage = ELangTaiwanChinese;
-        aSupportList.Append(detail);
-        detail.iLanguage = ELangHongKongChinese;
-        aSupportList.Append(detail);
-        detail.iLanguage = ELangPrcChinese;
-        aSupportList.Append(detail);
-        }
-        
-    CleanupStack::PopAndDestroy(&infoArray); // infoArray    
-    
-    return 0;
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginCn::CurrentMode
-// Get current layout UI mode.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CPenInputImePluginCn::CurrentMode() const
-    {
-    return iPenInputMode;
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginCn::HandleServerEventL
-// Handle pen input server event..
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CPenInputImePluginCn::HandleServerEventL(TInt aEventId, const TDesC& aData)
-    {
-    TBool bHandled = EFalse;
-    switch( aEventId )
-        {
-        case ESignalLayoutICFLengthChanged:
-            {
-            GetCurrentUi()->RetrieveEditorMaxLength();
-            }
-            break;
-        case ESignalCaseMode:
-            {
-            GetCurrentUi()->UpdateCaseMode(*(TInt*)(aData.Ptr())); //lint !e728
-            }
-            break;
-        default:
-            break;
-        }
-        
-    return bHandled;
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginCn::HandleMenuCommandL
-// Handle the menu command.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CPenInputImePluginCn::HandleMenuCommandL(TInt /*aCommandId*/)
-    {
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginCn::DynInitMenuPaneL
-// Dynamiclly update menu items during it displays.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPenInputImePluginCn::DynInitMenuPaneL(CAknFepUiInterfaceMenuPane* aMenuPane)
-    {
-    TInt index;
-    
-    if ((iPenInputMode == EPluginInputModeVkb ||
-        iPenInputMode == EPluginInputModeFSQ) &&
-        aMenuPane->MenuItemExists(EPenInputCmdSetting, index))
-        {
-        aMenuPane->SetItemDimmed(EPenInputCmdSetting, EFalse);   
-        }
-    aMenuPane->SetItemDimmed(EPenInputCmdHwrTraining, ETrue);			
-    }
-
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginCn::CPenInputImePluginCn
-// C++ default constructor.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPenInputImePluginCn::CPenInputImePluginCn(RPeninputServer* aHwrServer)
-:iPenInputServer(aHwrServer) 
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginCn::ConstructL
-// 2nd phase constructor.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPenInputImePluginCn::ConstructL()
-    {
-    FindUiLayoutImplementationL();
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginCn::FindUiLayoutImplementationL
-// Enumuate all layout UI ids.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPenInputImePluginCn::FindUiLayoutImplementationL()
-    {
-    RImplInfoPtrArray infoArray;
-    TUid id;
-    id.iUid = KHwrLayoutInterfaceId;
-
-    iUiLayoutImpIdList.Reset();
-    CleanupStack::PushL( TCleanupItem( Cleanup, &infoArray ) );
-    REComSession::ListImplementationsL(id, infoArray);
-        
-    for (TInt i = 0; i < infoArray.Count(); ++i)
-        {
-        iUiLayoutImpIdList.AppendL(infoArray[i]->ImplementationUid().iUid);
-        }
-
-    CleanupStack::PopAndDestroy(&infoArray); // infoArray    
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginCn::GetPluginUiL
-// Get HWR UI interface.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPluginFepManagerBase* CPenInputImePluginCn::GetPluginUiL( TInt aMode )
-    {
-    delete iPluginUiManager;
-    iPluginUiManager = NULL;
-    
-    switch ( aMode )
-        {
-        case EPluginInputModeFingerHwr:
-        case EPluginInputModeFSc:
-        case EPluginInputModeHwr:
-            {
-            return iPluginUiManager = CPluginFepManagerHwr::NewL(*this, iPenInputServer);
-            }
-        case EPluginInputModeVkb:
-        case EPluginInputModeFSQ:
-            {
-            return iPluginUiManager = CPluginFepManagerVkb::NewL(*this, iPenInputServer);
-            }
-        default:
-            {
-            return NULL;
-            }
-        }
-    }
-//End Of File
--- a/fep/aknfep/peninputplugins/peninputimeplugincn/src/peninputimeplugincnmain.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* 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:            Implementation to E32Dll
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include <e32base.h>
-
-/** DLL Entry point */
-#ifndef EKA2
-GLDEF_C TInt E32Dll( TDllReason /*aReason*/ )
-    {
-    return( KErrNone );
-    }
-#endif
-
-//End Of File
--- a/fep/aknfep/peninputplugins/peninputimeplugincn/src/peninputimeplugincnproxy.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* 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:            Implementation to Proxy
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// System includes
-#include <e32std.h>
-#include <implementationproxy.h>
-
-// User includes
-#include "peninputimeplugincn.h"
-
-// Map the interface UIDs to implementation factory functions
-const TImplementationProxy ImplementationTable[] = 
-    {
-    IMPLEMENTATION_PROXY_ENTRY(0x10207361,    CPenInputImePluginCn::NewL) //lint !e611    
-    };
-
-// Exported proxy for instantiation method resolution
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy( TInt& aTableCount )
-    {
-    aTableCount = sizeof( ImplementationTable ) / sizeof( TImplementationProxy );
-
-    return ImplementationTable;
-    }
-
-//End Of File
--- a/fep/aknfep/peninputplugins/peninputimeplugincn/src/pluginfepmanagerbase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,743 +0,0 @@
-/*
-* 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:            Layout UI interface base class implementation
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// System includes
-#include <w32std.h>
-#include <s32mem.h> 
-#include <aknedsts.h>               // CAknEdwinState
-#include <centralrepository.h>
-#include <peninputclient.h>
-#include <aknfeppeninputenums.h>
-#include <AknFepInternalCRKeys.h>
-
-// User includes
-#include "pluginfepmanagerbase.h"
-#include "peninputimeplugincn.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::CPluginFepManagerBase
-// Destructor
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPluginFepManagerBase::~CPluginFepManagerBase()
-    {
-    delete iRepository;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::OnInit
-// Initalize UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::OnInit()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::RetrieveEditorMaxLength
-// Explicitly get ICF max length from layout UI .
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::RetrieveEditorMaxLength()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::UpdateCaseMode
-// Update local copy of case mode.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::UpdateCaseMode( TInt aCaseMode )
-    {
-    iLastCase = aCaseMode; 
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetNumberModeKeyMappingL
-// Set layout UI current number mode.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetNumberModeKeyMappingL(
-                                            TAknEditorNumericKeymap aAknEditorNumericKeymap)
-    {
-    SendCommandToServer(ECmdPenInputEditorNumericKeyMap, aAknEditorNumericKeymap);    
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::HandleKeyL
-// Handle key event.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CPluginFepManagerBase::HandleKeyL( TInt aKey, TKeyPressLength aLength, TEventCode /*aEventCode*/ )
-    {
-    return iHkbUi->HandleKeyL( aKey, aLength );
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::HandleCommandL
-// Handle command come from FEP.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::HandleCommandL( TInt aCommandId )
-    {
-    SendCommandToServer( aCommandId );
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::HandleCommandL
-// Handle command come from FEP.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::HandleCommandL(TInt aCommandId,TInt aParam)
-    {
-    switch ( aCommandId )
-        {
-        case ECmdPenInputRange:
-            {
-            iHkbMode = aParam;
-            }
-            break;
-        case ECmdPenInputPermittedRange:
-            {
-            iLastCase = ECaseInvalide;
-            SetLayoutPermitedRanges( aParam );
-            }
-            break;
-        case ECmdPenInputEditorState:
-            {
-            SetLayoutRange(reinterpret_cast<CAknEdwinState*>(aParam));
-            }
-            break;
-        case ECmdPenInputSetWindowPos:
-            {
-            SetLayoutPosition(*reinterpret_cast<TRect*>(aParam));
-            }
-            break;
-        case ECmdPenInputCaseMode:
-            //if( aParam != iLastCase )
-                {
-                SendCommandToServer( ECmdPenInputCase, aParam );
-                iLastCase = aParam;
-                }
-            break;
-        case ECmdPenInputEditorCustomNumericKeyMap:
-            {
-            TDesC* res = (TDesC*)aParam;
-            TPtrC8 param;
-            param.Set((TUint8*)res->Ptr(), res->Size());
-            SendCommandToServer( aCommandId, param );                    
-            SetNumberModeKeyMappingL((TAknEditorNumericKeymap)EKeymapFromResource);
-            }
-            break;            
-        case ECmdPenInputSuggestRange:
-            iSuggestedRange = aParam;
-            if( iSuggestedRange == ERangeAccent )
-                {
-                iSuggestedRange = ERangeEnglish;
-                }
-            break;
-        case ECmdPenInputSendEditorTextAndCurPos:
-            {
-            TFepInputContextFieldData* pIcfData = 
-                reinterpret_cast<TFepInputContextFieldData*>( aParam );
-                       
-            TInt dataSize = sizeof( TFepInputContextFieldData );
-            TInt textSize = pIcfData->iText.Size();
-            
-			HBufC8* buf = HBufC8::NewLC(dataSize + textSize + 2*sizeof(TInt));
-			TPtr8 bufPtr = buf->Des();
-			
-			RDesWriteStream writeStream;
-			writeStream.Open(bufPtr);
-			CleanupClosePushL(writeStream);
-			
-			writeStream.WriteInt32L(dataSize);
-			writeStream.WriteInt32L(textSize);
-			
-			const TUint8* pData = reinterpret_cast<const TUint8*>( pIcfData );
-			writeStream.WriteL( pData, dataSize );
-        		
-    		const TUint8* pText = reinterpret_cast<const TUint8*>( pIcfData->iText.Ptr() );
-		    writeStream.WriteL( pText, textSize );
-		    
-            writeStream.CommitL();
-        
-            SendCommandToServer( aCommandId, bufPtr );
-    
-			CleanupStack::PopAndDestroy(&writeStream);
-			CleanupStack::PopAndDestroy(buf);
-            }
-            break;
-        case ECmdPenInputSetPromptText:
-            {
-            TFepPromptText* pPromptData = 
-                reinterpret_cast<TFepPromptText*>( aParam );
-                
-            TInt dataSize = sizeof( TFepPromptText );
-            TInt textSize = 0;
-            
-            if (pPromptData->iText.Length())
-                {
-                textSize = pPromptData->iText.Size();
-                }
-            
-			HBufC8* buf = HBufC8::NewLC(dataSize + textSize + 2*sizeof(TInt));
-			TPtr8 bufPtr = buf->Des();
-			
-			RDesWriteStream writeStream;
-			writeStream.Open(bufPtr);
-			CleanupClosePushL(writeStream);
-			
-			writeStream.WriteInt32L(dataSize);
-			writeStream.WriteInt32L(textSize);
-			
-			const TUint8* pData = reinterpret_cast<const TUint8*>( pPromptData );
-			writeStream.WriteL( pData, dataSize );
-        	
-        	if (textSize != 0)
-        	    {
-                const TUint16* pText = pPromptData->iText.Ptr();
-    		    writeStream.WriteL( pText, textSize/2 );
-        	    }
-		    
-            writeStream.CommitL();
-        
-            SendCommandToServer( aCommandId, bufPtr );
-    
-			CleanupStack::PopAndDestroy(&writeStream);
-			CleanupStack::PopAndDestroy(buf);
-            }
-            break;
-        case ECmdPenInputPopupTooltip:
-            {
-            TPtrC* tooltipTextPtr = reinterpret_cast<TPtrC*>( aParam );
-            if ( tooltipTextPtr )
-            	{
-				HBufC8* buf8 = HBufC8::NewLC
-							 ( sizeof( TInt ) + tooltipTextPtr->Size() );
-				TPtr8 buf8Ptr = buf8->Des();
-				RDesWriteStream writeStream;
-				CleanupClosePushL(writeStream);
-				writeStream.Open( buf8Ptr );
-				writeStream.WriteInt32L( tooltipTextPtr->Size() );
-				writeStream.WriteL( tooltipTextPtr->Ptr(), tooltipTextPtr->Length() );
-				writeStream.CommitL();
-				CleanupStack::PopAndDestroy( &writeStream );                        
-				SendCommandToServer( aCommandId, buf8Ptr );            
-				CleanupStack::PopAndDestroy( buf8 );
-            	}
-            }
-            break;
-        case ECmdPenInputPopupCandidateList:
-            {
-            TFepITICandidateList* candidatelist 
-                               = reinterpret_cast<TFepITICandidateList*>( aParam );
-            if ( candidatelist )
-            	{
-				CDesCArray* itemArray = candidatelist->iItemArray;
-				if ( itemArray )
-					{           
-					TInt sumSize = 0;     
-					for ( TInt i = 0; i < itemArray->Count(); i++ )
-						{
-						sumSize += (*itemArray)[i].Size();
-						}
-					HBufC8* buf8 = HBufC8::NewLC( sizeof(TInt) // For active index
-												 + sizeof(TInt) // For the count of item array
-												 + sizeof(TInt)*( itemArray->Count() ) // For the size of each item
-												 + sumSize// For all of char data 
-												 );
-					TPtr8 buf8Ptr = buf8->Des();
-					RDesWriteStream writeStream;
-					CleanupClosePushL(writeStream);                
-					writeStream.Open( buf8Ptr );                
-					writeStream.WriteInt32L( candidatelist->iActiveIndex );
-					writeStream.WriteInt32L( itemArray->Count() );                
-					for ( TInt i = 0; i < itemArray->Count(); i++  )
-						{
-						writeStream.WriteInt32L( (*itemArray)[i].Size() );
-						writeStream.WriteL( (*itemArray)[i].Ptr(), (*itemArray)[i].Length() );
-						}
-					writeStream.CommitL();                 
-					CleanupStack::PopAndDestroy( &writeStream );
-					SendCommandToServer( aCommandId, buf8Ptr );
-					CleanupStack::PopAndDestroy( buf8 );
-					}
-            	}
-            }
-            break;
-        default:
-            SendCommandToServer( aCommandId, aParam );
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::CloseUI
-// Close plugin layout UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::CloseUI()
-    {
-    iPenInputServer->ActivateLayout( EFalse ); 
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::ActivateUI
-// Activate plugin layout UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::ActivateUI()
-    {
-    iPenInputServer->ActivateLayout( ETrue );    
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::EditorMaxLength
-// Get max text length of layout UI ICF control.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CPluginFepManagerBase::EditorMaxLength()
-    {
-    return iMaxEditorLength;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SizeChanged
-// Handle screen size changed.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::ResourceChanged(TInt aType)
-    {
-    iPenInputServer->ResourceChanged(aType);
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetNextFepUI
-// Set underlining UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetNextFepUI( MAknFepManagerInterface* aNextUi )
-    {
-    iHkbUi = aNextUi;    
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SupportLanguage
-// Get support language in sepecfied mode.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CPluginFepManagerBase::SupportLanguage( TInt /*aMode*/ ) const
-    {
-    return iLanguage;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetInputLanguageL
-// Set current language.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetInputLanguageL(TLanguage aLanguage)
-    {
-    iLanguage = aLanguage;
-
-    if(iLanguage == ELangTaiwanChinese ||
-       iLanguage == ELangHongKongChinese ||
-       iLanguage == ELangPrcChinese)
-        {
-    	SendCommandToServer(ECmdPenInputLanguage, (TInt)aLanguage);
-        }
-    else 
-        {
-        // other language except chinese, will treated as English
-        iLanguage = ELangEnglish;
-    	SendCommandToServer(ECmdPenInputLanguage, (TInt)ELangEnglish);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetFepAwareEditorText
-// Set editor text and cursor information to layout UI ICF control.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetFepAwareEditorText(const TFepInputContextFieldData& /*aIcfData*/)
-    {
-    }
-    
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetMode
-// Set layout UI mode.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-#ifdef RD_INTELLIGENT_TEXT_INPUT          
-void CPluginFepManagerBase::SetMode( TInt aMode, TBool aPredictive, 
-                                     TBool aQwertyInputMode, TInt /*aKeyboardType*/)
-#else
-void CPluginFepManagerBase::SetMode( TInt aMode, TBool aPredictive, 
-                                     TBool aQwertyInputMode )
-#endif    
-    {
-    iHkbUi->SetMode(aMode, aPredictive, aQwertyInputMode);
-    }
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    TBool CPluginFepManagerBase::IsValidFnKeyPress() const
-    {
-    return EFalse;
-    }
-    TBool CPluginFepManagerBase::IsValidLongChrKeyPress() const
-    {
-    return EFalse;
-    }
-#endif
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetMode
-// Set layout UI current case.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetCase(TCase aCase)
-    {
-    iHkbUi->SetCase(aCase);
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::ExpireMultitapTimer
-// Compatibile with HKB UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::ExpireMultitapTimer()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::IsValidNumericLongKeyPress
-// Compatibile with HKB UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CPluginFepManagerBase::IsValidNumericLongKeyPress( TInt /*aKey*/ ) const
-    {
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::AddTextToUserDictionaryL
-// Compatibile with HKB UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::AddTextToUserDictionaryL( const TDesC& /*aText*/ )
-    {
-    }
-       
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::GetFormatOfFepInlineText
-// Compatibile with HKB UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::GetFormatOfFepInlineText( 
-                                TCharFormat& /*aFormat*/, 
-                                TInt& /*aNumberOfCharactersWithSameFormat*/, 
-                                TInt /*aPositionOfCharacter*/ ) const
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::IsValidShiftKeyPress
-// Compatibile with HKB UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CPluginFepManagerBase::IsValidShiftKeyPress() const
-    {
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetEditorContext
-// Compatibile with HKB UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetEditorContext( TInt /*aContext*/ )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetEditorContext
-// Compatibile with HKB UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetStarKeyFlag( TBool /*aSet*/ )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::CPluginFepManagerBase
-// C++ default constructor.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPluginFepManagerBase::CPluginFepManagerBase(CPenInputImePluginCn& aOwner,
-                                             RPeninputServer* aPenInputServer )
-    :iOwner( aOwner ), iPenInputServer( aPenInputServer )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::BaseConstructL
-// Symbian 2nd phase constructor.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::BaseConstructL()
-    {
-    iRepository = CRepository::NewL( KCRUidAknFep );
-    }
-    
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetLayoutPermitedRanges
-// Set layout permited ranges.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetLayoutPermitedRanges( TInt aPermittedMode )
-    {
-    // Not derived from edwin
-    if ( aPermittedMode == EAknEditorNumericInputMode ) 
-        {
-        iPermittedRange = ERangeNumber;         
-        }
-    else if ( aPermittedMode & EAknEditorTextInputMode )
-        {
-        // Derived from edwin and EAknEditorTextInputMode
-        iPermittedRange = ERangeNative | 
-                          ERangeNumber | 
-                          ERangeEnglish | 
-                          ERangeSymbol;
-        }
-    else if ( aPermittedMode & EAknEditorSecretAlphaInputMode ) 
-        {
-        // Derived from EAknEditorSecretAlphaInputMode 
-        iPermittedRange = ERangeNumber |
-                          ERangeEnglish | 
-                          ERangeSymbol;        
-        }
-    else
-        {
-        iPermittedRange = ERangeNative | 
-                          ERangeNumber | 
-                          ERangeEnglish | 
-                          ERangeSymbol;
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetLayoutRange
-// Set layout primary range.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetLayoutRange(const CAknEdwinState* aEditorState)
-    {
-    //calculate permitted ranges
-    if(aEditorState)
-        {
-        if( aEditorState->Flags() & EAknEditorFlagLatinInputModesOnly &&
-            iPermittedRange & ERangeNative )
-            {
-            iPermittedRange &= ~ERangeNative;
-            }
-        }
-
-    SendCommandToServer( ECmdPenInputPermittedRange, iPermittedRange );
-    
-    TInt priRange;
-    
-    switch( iHkbMode )
-        {
-        case ECangJie:
-        case EStrokeFind:
-        case EStroke:
-        case EPinyin:
-        case EZhuyin:
-        case EZhuyinFind:
-            {
-            priRange = ERangeNative;
-            }
-            break;                 
-        case ENumber:
-            {
-            priRange = ERangeNumber;
-            }
-            break;                 
-        case EPRCFind:
-        case ELatin:
-        case ELatinText:
-        case ELatinUpper:
-        case ELatinLower:
-        default:
-            {
-            priRange = ERangeEnglish;
-            }
-            break;               
-        }
-        
-    if ((iLanguage == ELangEnglish) && (priRange == ERangeNative))
-        {
-        // when language switch button switch to English, if original range is Native, 
-        // then it need to be changed to ERangeEnglish
-    	priRange = ERangeEnglish;
-        }
-        
-    if( iSuggestedRange != ERangeInvalid && (iSuggestedRange & iPermittedRange) )
-        {
-        priRange = iSuggestedRange;
-        iSuggestedRange = ERangeInvalid;
-        }
-
-    SendCommandToServer( ECmdPenInputRange, priRange );  
-    }
-    
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SendCommandToServer
-// Send command to pen input server utility function.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SendCommandToServer( TInt aCommandId )
-    {
-    iPenInputServer->HandleCommand( aCommandId );
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SendCommandToServer
-// Send command to pen input server utility function.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SendCommandToServer( TInt aCommandId, TInt aParam )
-    {
-    TBuf8<sizeof(TInt)> buf;
-    buf.Append( (TUint8*)&aParam, sizeof(TInt) );    
-    SendCommandToServer( aCommandId, buf );
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SendCommandToServer
-// Send command to pen input server utility function.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SendCommandToServer(TInt aCommandId, const TDesC8& aParam)
-    {
-    iPenInputServer->HandleCommand( aCommandId, aParam );        
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::LayoutLastUsedRange
-// Get layout UI last used range.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CPluginFepManagerBase::LayoutLastUsedRange()
-    {
-    TInt value = 0;
-    if( iRepository )
-        {
-        iRepository->Get( KAknFepLastUsedRange, value );
-        }
-        
-    return value;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetLayoutPosition
-// Set layout UI position.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetLayoutPosition( const TRect& pParam )
-    {
-    TBuf8<sizeof( TRect )> buf;
-    buf.Append((TUint8*)&pParam, sizeof(pParam));
-    
-    SendCommandToServer( ECmdPenInputSetWindowPos, buf );
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::GetLocalLanguage
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TLanguage CPluginFepManagerBase::GetLocalLanguage( 
-    const CAknEdwinState* aEditorState ) const
-    {
-    TLanguage language = ELangTest;
-    // Check for a local language override
-    if ( aEditorState )
-        {
-        TInt aknEditorFlags = aEditorState->Flags()	;
-        if ( aknEditorFlags & EAknEditorFlagLatinInputModesOnly )
-            {
-            language = ELangEnglish;
-            }
-        else
-            {
-            language = aEditorState->LocalLanguage();
-            }
-        }
-
-    return language;
-    }
-
- // End Of File
--- a/fep/aknfep/peninputplugins/peninputimeplugincn/src/pluginfepmanagerhwr.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +0,0 @@
-/*
-* 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:            HWR layout UI class implementation file.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// System includes
-#include <aknfeppeninputenums.h>
-#include <aknedsts.h>               //CAknEdwinState
-
-// User includes
-#include "pluginfepmanagerhwr.h"
-#include "peninputimeplugincn.h"
-
-// ======== MEMBER FUNCTIONS ========
-// -----------------------------------------------------------------------------
-// CPluginFepManagerHwr::NewL
-// factory function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPluginFepManagerHwr* CPluginFepManagerHwr::NewL(CPenInputImePluginCn& aOwner,
-                                                 RPeninputServer* aPenInputServer)
-    {
-    CPluginFepManagerHwr* self = new(ELeave)CPluginFepManagerHwr(aOwner, aPenInputServer);
-    CleanupStack::PushL(self);
-    self->BaseConstructL(); 
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerHwr::SetNumberModeKeyMappingL
-// Set layout UI current number mode key mapping.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerHwr::SetNumberModeKeyMappingL(
-                             TAknEditorNumericKeymap aAknEditorNumericKeymap)
-    {
-    //don't send number key map here, the key mapping is only meaningful
-    //in ENumber range
-    iNumberKeyMapping = aAknEditorNumericKeymap;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerHwr::HandleCommandL
-// Handle command come from FEP.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerHwr::HandleCommandL(TInt aCommandId,TInt aParam)
-    {
-    if( aCommandId == ECmdPenInputSetWindowPos)
-        {
-        return;
-        }
-    CPluginFepManagerBase::HandleCommandL(aCommandId, aParam);
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerHwr::CPluginFepManagerHwr
-// C++ default constructor.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPluginFepManagerHwr::CPluginFepManagerHwr(CPenInputImePluginCn& aOwner,
-                                           RPeninputServer* aPenInputServer)
-    :CPluginFepManagerBase(aOwner, aPenInputServer)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerHwr::SetLayoutRange
-// Set layout primary range.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerHwr::SetLayoutRange(const CAknEdwinState* aEditorState)
-    {
-    CPluginFepManagerBase::SetLayoutRange(aEditorState);
-    
-    //set number key mapping
-    if( iPermittedRange == ERangeNumber )        
-        {
-        SendCommandToServer(ECmdPenInputEditorNumericKeyMap, iNumberKeyMapping);
-        }
-    else
-        {
-        //for not number only editor, we set plain number and 
-        //second range handles other characters
-        SendCommandToServer(ECmdPenInputEditorNumericKeyMap, 
-                            EAknEditorPlainNumberModeKeymap);    
-        }
-    }
-
- // End Of File
--- a/fep/aknfep/peninputplugins/peninputimeplugincn/src/pluginfepmanagervkb.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* 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:            VKB layout UI class implementation file.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// System includes
-#include <aknedsts.h>               // CAknEdwinState
-#include <eikon.hrh>
-
-// User includes
-#include "pluginfepmanagervkb.h"
-#include "peninputimeplugincn.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerVkb::NewL
-// factory function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPluginFepManagerVkb* CPluginFepManagerVkb::NewL(CPenInputImePluginCn& aOwner,
-                                                 RPeninputServer* aPenInputServer)
-    {
-    CPluginFepManagerVkb* self = new(ELeave)CPluginFepManagerVkb(aOwner, aPenInputServer);
-    CleanupStack::PushL(self);
-    self->BaseConstructL(); 
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerVkb::CPluginFepManagerVkb
-// constructor
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPluginFepManagerVkb::CPluginFepManagerVkb(CPenInputImePluginCn& aOwner,
-                                           RPeninputServer* aPenInputServer)
-    :CPluginFepManagerBase(aOwner, aPenInputServer)
-    {
-    }
-
-// End Of File
--- a/fep/aknfep/peninputplugins/peninputimeplugincn/srcdata/10207361.rss	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
-* Copyright (c) 1020 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:            Resource definitions for project peninputimeplugincn
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "registryinfo.rh"
-
-// Declares info for two implementations
-RESOURCE REGISTRY_INFO theInfo
-	{
-	// UID for the DLL
-	dll_uid = 0x10207361;
-	// Declare array of interface info
-	interfaces = 
-		{
-		INTERFACE_INFO
-			{
-			// UID of interface that is implemented
-			interface_uid = 0x10207363;
-			implementations = 
-				{
-				// Info for CImplementation1
-				IMPLEMENTATION_INFO
-					{
-					implementation_uid = 0x10207361;
-					version_no = 1;
-					display_name = "Chinese Hwr input method plugin";
-					//supported language
-					default_data = "1||29-31";
-					//supported IME impl id
-					opaque_data= "29-31";
-					}
-				};
-			}
-		};
-	}
-
-// End Of File
--- a/fep/aknfep/peninputplugins/peninputimeplugingeneric/group/bld.inf	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
-* 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:            Build information file for project peninputimeplugingeneric
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-	
-PRJ_MMPFILES
-
-../group/peninputimeplugingeneric.mmp
-
-// End Of File
--- a/fep/aknfep/peninputplugins/peninputimeplugingeneric/group/peninputimeplugingeneric.mmp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-/*
-* 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:            Project definition file for project peninputimeplugingeneric
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include <bldvariant.hrh>
-#include <platform_paths.hrh>
-
-TARGET      peninputimeplugingeneric.dll
-TARGETTYPE  plugin
-UID         0x10009D8D 0x1028235F
-
-CAPABILITY  CAP_ECOM_PLUGIN
-VENDORID    VID_DEFAULT
-
-SOURCEPATH  ../src
-
-SOURCE      peninputimeplugingenericproxy.cpp
-SOURCE      peninputimeplugingeneric.cpp
-SOURCE      pluginfepmanagerbase.cpp
-SOURCE      pluginfepmanagerhwr.cpp
-SOURCE      pluginfepmanagervkb.cpp
-
-USERINCLUDE     ../inc 
-
-// This is a SYSTEMINCLUDE macro containing the middleware
-// layer specific include directories
-MW_LAYER_SYSTEMINCLUDE
-
-SYSTEMINCLUDE   /epoc32/include/ecom
-SYSTEMINCLUDE   ../../../../../inc
-
-SOURCEPATH      ../srcdata
-
-START RESOURCE 1028235F.rss
-#ifdef SYMBIAN_SECURE_ECOM 
-TARGET peninputimeplugingeneric.rsc                                                              
-#endif
-END
-
-
-LIBRARY euser.lib 
-LIBRARY ECom.lib
-LIBRARY centralrepository.lib 
-LIBRARY eikcoctl.lib 
-LIBRARY cone.lib 
-LIBRARY efsrv.lib
-LIBRARY estor.lib 
-LIBRARY FeatMgr.lib                // feature manager
-LIBRARY avkon.lib 
-LIBRARY eikcore.lib 
-
-#ifdef RD_SCALABLE_UI_V2
-LIBRARY         peninputclient.lib
-#else
-LIBRARY         peninputserverstub.lib
-#endif
-
-// End Of File
--- a/fep/aknfep/peninputplugins/peninputimeplugingeneric/inc/peninputimeplugingeneric.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,272 +0,0 @@
-/*
-* 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:            input mode plugin header file
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#ifndef C_PENINPUTIMEPLUGINGENERIC_H
-#define C_PENINPUTIMEPLUGINGENERIC_H   
-
-// System includes
-#include <e32base.h>
-#include <peninputclient.h>
-#include <aknfeppeninputimeplugin.h>
-#include <eikon.hrh>
-#include <AknFepManagerInterface.h>
-//#include <AknFepManagerUIInterface.h>
-#include <aknfeppeninputenums.h>
-#include <AknFepGlobalEnums.h>
-
-// Forward declaration
-class MAknFepManagerInterface;
-class CAknEdwinState;
-class CRepository;
-class CPluginFepManagerBase;
-
-/**
- *  Pen input mode plugin chinese implementation
- *
- *  @lib peninputimeplugingeneric.lib
- *  @since S60 v3.2
- */
-class CPenInputImePluginGeneric : public CAknFepPenInputImePlugin
-    {
-public:
-
-    /**
-     * Symbian constructor.
-     *
-     * @since S60 v3.2
-     * @param aInitParams Init data plugin, actually it is 
-     *        a pointer of RPeninputServer.
-     * @return Pointer to created CPenInputImePluginGeneric object
-     */
-    static CPenInputImePluginGeneric* NewL( TAny* aInitParams );
-
-    static CPenInputImePluginGeneric* NewLC( TAny* aInitParams );
-
-    /**
-     * Destructor.
-     */
-    ~CPenInputImePluginGeneric();
-
-public: // From CAknFepPenInputImePlugin
-
-    /**
-     * Get layout UI interface
-     * 
-     * @since S60 v3.2
-     * @param aFepManager Fep manager interface pointer
-     * @param aLanguage Language that layout UI need to support
-     * @param aMode Speicifed layout UI mode to create
-     * @param aData Initialization data.
-     *
-     * @return The layout UI interface..
-     */
-    MAknFepManagerInterface* GetInputMethodUiL( 
-                            MAknFepManagerUIInterface* aFepManager,
-                            TLanguage aLanguage,
-                            TInt aMode,
-                            const TDesC8& aData, 
-                            const TBool aIsSplitView = EFalse);
-
-    /**
-     * Get layout UI interface
-     * 
-     * @since S60 v3.2
-     * @param aFepManager Fep manager interface pointer
-     * @param aLayoutId Speicifed layout UI id to create
-     * @param aData Initialization data.
-     *
-     * @return The layout UI interface..
-     */
-    MAknFepManagerInterface* GetInputMethodUiL( 
-                            MAknFepManagerUIInterface* aFepManager, 
-                            TInt aLayoutId, 
-                            const TDesC8& aData );
-
-    /**
-     * Activate current IME plugin.
-     * 
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-    void Activate();
-
-    /**
-     * Deactivate current IME plugin.
-     * 
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-    void DeActivate();
-
-    /**
-     * Get current IME plugin implementation ID.
-     * 
-     * @since S60 v3.2
-     *
-     * @return IME plugin implementation id.
-     */
-    TInt ImeImplId();
-
-    /**
-     * Get current layout UI implementation id.
-     * 
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-     TInt LayoutUiImplId();
-
-    /**
-     * Handle pen input server event.
-     * 
-     * @param aEventId The event id, defined in <peninputcmd.h>
-     * @param aData The event related data.
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-     TBool HandleServerEventL( TInt aEventId, const TDesC& aData );
-
-    /**
-     * Get suppored layout UI modes(VKB/HWR).
-     * 
-     * @since S60 v3.2
-     *
-     * @param aPtiEngine  A pointer to ptiengine
-     * @param aSupportList A reference to result ime plugin list
-     * @return Meaningless.
-     */
-     TInt SupportModes(CPtiEngine* aPtiEngine, 
-                       RArray<TImePlguinImplDetail>& aSupportList) const;
-
-    /**
-     * Get current layout UI mode.
-     * 
-     * @since S60 v3.2
-     *
-     * @return Current layout UI mode.
-     */
-     TInt CurrentMode() const;
-
-    /**
-     * Handle the menu command.The menu is launched by FEP
-     * The menu command is first passed to IME plugin, if 
-     * this function return EFalse, FEP handles it defaultly.
-     * 
-     * @param aCommandId The menu command id
-     * @return ETrue if IME plugin handled the command; 
-     *         EFalse otherwise.
-     */
-    TBool HandleMenuCommandL( TInt aCommandId );
-
-    /**
-     * Dynamiclly update menu items during it displays. 
-     * 
-     * aMenuPane The menu pane pointer.
-     * @return None.
-     */
-    void DynInitMenuPaneL( CAknFepUiInterfaceMenuPane* aMenuPane );
-
-private:
-    
-    /**
-     * C++ default constructor.
-     *
-     * @param aServer Pen input server pointer
-     */
-    CPenInputImePluginGeneric( RPeninputServer* aServer );
-    
-    /**
-     * By default Symbian 2nd phase constructor is private.
-     *
-     * @return None
-     */
-    void ConstructL();
-
-    /**
-     * Enumuate all layout UI ids and save them to iUiLayoutImpIdList.
-     *
-     * @return None
-     */
-    void FindUiLayoutImplementationL();
-    
-    /**
-     * Get plugin UI interface
-     *
-     * @return plugin UI pointer
-     */
-    CPluginFepManagerBase* GetPluginUiL( TInt aMode );
-    
-    /**
-     * Get current UI interface
-     *
-     * @return current UI pointer
-     */
-    inline CPluginFepManagerBase* GetCurrentUi();
-    
-    /**
-     * Get suppored layout UI modes(VKB/HWR).
-     * 
-     * @since S60 v3.2
-     *
-     * @param aPtiEngine  A pointer to ptiengine
-     * @param aSupportList A reference to result ime plugin list
-     * @return Meaningless.
-     */
-    TInt SupportModesL(CPtiEngine* aPtiEngine, 
-                       RArray<TImePlguinImplDetail>& aSupportList) const;
-                       
-private:
-
-    /**
-     * Pen input server pointer. Not own.
-     */
-    RPeninputServer* iPenInputServer;
-
-    /**
-     * Pen input server pointer. Not own.
-     */
-    RArray<TInt> iUiLayoutImpIdList;
-
-    /**
-     * Current layout UI mode.
-     */
-    TInt iPenInputMode;
-
-    /**
-     * Pen input server pointer. Not own.
-     */
-    CPluginFepManagerBase* iPluginUiManager;
-    };
-
-#include "peninputimeplugingeneric.inl"
-
-#endif // C_PENINPUTIMEPLUGINGENERIC_H
-
-//End Of File
--- a/fep/aknfep/peninputplugins/peninputimeplugingeneric/inc/peninputimeplugingeneric.inl	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* 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:            Inline file for Ime plugin China.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-const TInt KHwrLayoutInterfaceId = 0x102072FC; // This is for layout interface
-const TInt KInputMethodImplementationId = 0x1028235F;
-const TInt KHwrUiId = 0x1028235B;
-const TInt KHwrArabicUiId = 0x20019599;
-const TInt KVkbUiId = 0x10282359;
-const TInt KFsqUiId = 0x2001114D;
-const TInt KSsqUiId = 0x2001E2BB;
-
-inline CPluginFepManagerBase* CPenInputImePluginGeneric::GetCurrentUi()
-    {
-    switch ( iPenInputMode )
-        {
-        case EPluginInputModeHwr:
-        case EPluginInputModeVkb:
-        case EPluginInputModeFSQ:
-            return iPluginUiManager;
-        default:
-            return NULL;
-        }
-    }
-
-//End Of File
--- a/fep/aknfep/peninputplugins/peninputimeplugingeneric/inc/peninputimeplugingenericdebug.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-/*
-* 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:            Debug utils API
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef PENINPUTIMEPLUGINCHSDEBUG_H
-#define PENINPUTIMEPLUGINCHSDEBUG_H
- 
-#ifdef _DEBUG
-    #define PRINT( txt )                    RDebug::Print( txt );
-    #define PRINTF( txt )                   RDebug::Print txt;
-    #define PRINT1( txt, arg1 )             RDebug::Print( txt, arg1 );
-    #define PRINT2( txt, arg1, arg2 )       RDebug::Print( txt, arg1, arg2 );
-    #define PRINT3( txt, arg1, arg2, arg3 ) RDebug::Print( txt, arg1, arg2, arg3 ); 
-#else 
-    #define PRINT( txt ) 
-    #define PRINTF( txt )                    
-    #define PRINT1( txt, arg1 ) 
-    #define PRINT2( txt, arg1, arg2 ) 
-    #define PRINT3( txt, arg1, arg2, arg3 ) 
-#endif
-
-
-// Record into log files
-#define USE_FILE_LOGGER
-
-#if defined (_DEBUG) && !defined(USE_FILE_LOGGER)                   
-    #define USE_SERIAL_LOGGER 
-#endif
-                                    
-#if defined (USE_FILE_LOGGER)
-    #include <flogger.h>
-    _LIT(KLogFile,"imepluginchn.txt");
-    _LIT(KLogFolder,"peninputime");
-    #define LOGTEXT(AAA)                RFileLogger::Write(KLogFolder(), \
-                                                           KLogFile(), \
-                                                           EFileLoggingModeAppend, \
-                                                           AAA)
-    #define LOGTEXT2(AAA,BBB)           RFileLogger::WriteFormat(KLogFolder(), \
-                                                                 KLogFile(), \
-                                                                 EFileLoggingModeAppend, \
-                                                                 TRefByValue<const TDesC>(AAA), \
-                                                                 BBB)
-    #define LOGTEXT3(AAA,BBB,CCC)       RFileLogger::WriteFormat(KLogFolder(), \
-                                                                 KLogFile(), \
-                                                                 EFileLoggingModeAppend, \
-                                                                 TRefByValue<const TDesC>(AAA), \
-                                                                 BBB, \
-                                                                 CCC)
-    #define LOGHEXDUMP(AAA,BBB,CCC,DDD) RFileLogger::HexDump(KLogFolder(), \
-                                                             KLogFile(), \
-                                                             EFileLoggingModeAppend, \
-                                                             AAA,\
-                                                             BBB,\
-                                                             CCC,\
-                                                             DDD)    
-#elif defined (USE_SERIAL_LOGGER) 
-    #include <e32svr.h>
-    #define LOGTEXT(AAA)                RDebug::Print(AAA)
-    #define LOGTEXT2(AAA,BBB)           RDebug::Print(AAA,BBB)
-    #define LOGTEXT3(AAA,BBB,CCC)       RDebug::Print(AAA,BBB,CCC)
-    #define LOGHEXDUMP(AAA,BBB,CCC,DDD)
-#else
-    #define LOGTEXT(AAA)                
-    #define LOGTEXT2(AAA,BBB)           
-    #define LOGTEXT3(AAA,BBB,CCC)       
-    #define LOGHEXDUMP(AAA,BBB,CCC,DDD) 
-#endif      
-
-#endif      // PENINPUTIMEPLUGINCHSDEBUG   
-            
-// End Of File
--- a/fep/aknfep/peninputplugins/peninputimeplugingeneric/inc/pluginfepmanagerbase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,482 +0,0 @@
-/*
-* 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:            Layout UI interface base class
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#ifndef C_PLUGINFEPMANAGERBASE_H
-#define C_PLUGINFEPMANAGERBASE_H
-
-// System includes
-#include <e32base.h>
-#include <frmtlay.h>
-#include <eikon.hrh>
-#include <AknFepManagerInterface.h>
-#include <peninputcmd.h>
-
-//Forward declaration
-class CPenInputImePluginGeneric;
-class RPeninputServer;
-class CAknEdwinState;
-class CRepository;
-/**
- *  CPluginFepManagerBase is the layout UI interface base class. 
- *  It is something like a "proxy" class of layout UI plugin, sending
- *  commands from FEP to layout UI plugin.
- *
- *  @lib peninputimeplugingeneric.lib
- *  @since S60 v3.2
- */
-class CPluginFepManagerBase: public CBase, public MAknFepManagerInterface
-    {
-public: 
-
-    /**
-     * Destructor.
-     */
-    ~CPluginFepManagerBase();
-
-    /**
-     * Initalize UI when first time starting up. 
-     * The first time means when the instance created.
-     * 
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-    virtual void OnInit();
-
-    /**
-     * Explicitly get ICF max length from layout UI and save the 
-     * value to iMaxEditorLength.
-     * 
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-    void RetrieveEditorMaxLength();
-
-    /**
-     * Update local copy of case mode when 
-     * user change case in layout UI.
-     * 
-     * @since S60 v3.2
-     *
-     * @param aCaseMode The case mode to save locally.
-     * @return None.
-     */
-    void UpdateCaseMode( TInt aCaseMode );
-
-// From MAknFepManagerInterface
-
-    /**
-     * Set layout UI current number mode key mapping.
-     * For example, 0-9 ; 0-9,*,# and etc.
-     * 
-     * @since S60 v3.2
-     *
-     * @param aAknEditorNumericKeymap Key mapping enum value.
-     * @return None.
-     */
-    void SetNumberModeKeyMappingL( TAknEditorNumericKeymap aAknEditorNumericKeymap );
-
-    /**
-     * Handle key event.
-     * Since most plugin layout UIs are based on animation, they receive 
-     * key and process key events before this function. 
-     * 
-     * @since S60 v3.2
-     *
-     * @param aKey Key event code.
-     * @param aLength Key press length.
-     * @return ETrue if processed, EFalse otherwise.
-     */
-    TBool HandleKeyL( TInt aKey, TKeyPressLength aLength, TEventCode aEventCode = EEventKey );
-
-    /**
-     * Handle command come from FEP.
-     * 
-     * @since S60 v3.2
-     *
-     * @param aCommandId Command id.
-     * @return None
-     */
-    void HandleCommandL( TInt aCommandId );
-
-    /**
-     * Handle command come from FEP.
-     * 
-     * @since S60 v3.2
-     *
-     * @param aCommandId Command id.
-     * @param aParam  Command parameter.
-     * @return None.
-     */
-    void HandleCommandL( TInt aCommandId, TInt aParam );
-
-    /**
-     * Close plugin layout UI.
-     * 
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-    void CloseUI();
-
-    /**
-     * Activate plugin layout UI.
-     * 
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-    void ActivateUI();
-
-    /**
-     * Get max text length of layout UI ICF control.
-     * 
-     * @since S60 v3.2
-     * @return Max ICF text length.
-     */
-    TInt EditorMaxLength();
-
-    /**
-     * When screen size changes, SizeChanged is called by FEP.
-     * 
-     * @since S60 v3.2
-     * @return None.
-     */
-    void ResourceChanged( TInt aType );
-
-    /**
-     * Set underlining UI.
-     * Since plugin layout UI and HKB can be used at same time,
-     * HKB UI layout need to be notified after plugin layout UI 
-     * processes some events
-     * 
-     * @since S60 v3.2
-     * @param aNextUI The underlining UI pointer.
-     * @return None.
-     */
-    void SetNextFepUI( MAknFepManagerInterface* aNextUi );
-    
-    /**
-     * Get support language in sepecfied mode.
-     * The method leaves here only for compatibility.
-     * 
-     * @since S60 v3.2
-     *
-     * @param aMode Input mode.
-     * @return Language supported.
-     */
-    TInt SupportLanguage( TInt aMode ) const;
-
-    /**
-     * Set current language, which is required by editor
-     * 
-     * @since S60 v3.2
-     *
-     * @param aLanguage Language to set.
-     * @return None.
-     */
-    void SetInputLanguageL( TLanguage aLanguage );
-
-		TInt InputLanguage(); 
-
-    /**
-     * Set editor text and cursor information to layout UI 
-     * ICF control.
-     * 
-     * @since S60 v3.2
-     * @param aTotalTextLen Total text length in eidtor.
-     * @param aStartPos Offset of aText to the start of editor text.
-     * @param aCursorSel Cursor position.
-     * @param aText A part of editor text start from aStartPos.
-     *
-     * @return None.
-     */
-    void SetFepAwareEditorText( const TFepInputContextFieldData& aIcfData );
-
-    /**
-     * Set layout UI mode.
-     * The method leaves here only for compatibility
-     * 
-     * @since S60 v3.2
-     *
-     * @param aMode Mode to set.
-     * @param aPredictive Whether the current mode support predictive.
-     * @param aWwertyInputMode Whether the current HKB is qwerty.
-     * @return None.
-     */
-#ifdef RD_INTELLIGENT_TEXT_INPUT          
-    void SetMode(TInt aMode, TBool aPredictive, TBool aQwertyInputMode, 
-                 TInt aKeyboardType = EPtiKeyboardNone) ;
-#else
-    void SetMode(TInt aMode, TBool aPredictive, TBool aQwertyInputMode);
-#endif   
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    virtual TBool IsValidFnKeyPress() const;
-    virtual TBool IsValidLongChrKeyPress() const;
-#endif
-
-    /**
-     * Set layout UI current case.
-     * The method leaves here only for compatibility. Since plugin layout 
-     * UI is different from HKB tranditional UI, they use something like 
-     * "case mode" other than case which is set by a FEP command.
-     * 
-     * @since S60 v3.2
-     *
-     * @param aCase Case to set.
-     * @return None.
-     */
-    void SetCase( TCase aCase );
-
-    /**
-     * The method leaves here only for compatibility.
-     * 
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-    void ExpireMultitapTimer();
-
-    /**
-     * The method leaves here only for compatibility.
-     * 
-     * @since S60 v3.2
-     * 
-     * @param aKey The key presssed.
-     * @return ETrue if long press, EFalse otherwise.
-     */
-    TBool IsValidNumericLongKeyPress( TInt aKey ) const;
-
-    /**
-     * The method leaves here only for compatibility.
-     * 
-     * @since S60 v3.2
-     *
-     * @param aText Text to add to user dictionary.
-     * @return None.
-     */
-    void AddTextToUserDictionaryL( const TDesC& aText );
-
-    /**
-     * The method leaves here only for compatibility.
-     * 
-     * @since S60 v3.2
-     *
-     * @param aFormat On return, contains the formatting to 
-     *        apply to the inline text (or to a portion of it). 
-     * @param aNumberOfCharactersWithSameFormat  On return, 
-              contains the number of characters in the inline 
-              text (starting at aPositionOfCharacter) 
-              which have the same formatting
-     * @param aPositionOfCharacter Start position within the inline text
-     * @return None.
-     */
-    void GetFormatOfFepInlineText( TCharFormat& aFormat, 
-                                   TInt& aNumberOfCharactersWithSameFormat, 
-                                   TInt aPositionOfCharacter ) const;
-
-    /**
-     * The method leaves here only for compatibility.
-     * 
-     * @since S60 v3.2
-     *
-     * @return ETrue if valid, EFalse otherwise.
-     */
-    TBool IsValidShiftKeyPress() const;
-
-    /**
-     * The method leaves here only for compatibility.
-     * 
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-    void SetEditorContext( TInt aContext );
-
-	/**
-	 * Set the Star key flag
-	 *
-     * @param aSet TBool.
-     * @return None
-	 */
-	void SetStarKeyFlag( TBool aSet );
-protected:
-   
-    /**
-     * C++ default constructor.
-     *
-     * @since S60 v3.2
-     * @param aOwner IME plugin pointer.
-     * @param aPenInputServer Pen input server pointer
-     */
-    CPluginFepManagerBase( CPenInputImePluginGeneric& aOwner, 
-                           RPeninputServer* aPenInputServer );
-
-    /**
-     * By default Symbian 2nd phase constructor.
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    void BaseConstructL();
-
-    /**
-     * Set layout permited ranges.
-     *
-     * @param aPermittedMode Ranges of current editor allowed.
-     * @return None
-     */
-    virtual void SetLayoutPermitedRanges( TInt aPermittedRanges );
-
-    /**
-     * Set layout primary range.
-     *
-     * @since S60 v3.2
-     * @param aEditorState Current editor state.
-     * @return None
-     */
-    virtual void SetLayoutRange( const CAknEdwinState* aEditorState );
-
-    /**
-     * Send command to pen input server utility function.
-     *
-     * @since S60 v3.2
-     * @param aCommandId The command id to sent.
-     * @return None
-     */
-    void SendCommandToServer( TInt aCommandId );
-
-    /**
-     * Send command to pen input server utility function.
-     *
-     * @since S60 v3.2
-     * @param aCommandId The command id to sent.
-     * @param aParam The command param.
-     * @return None
-     */
-    void SendCommandToServer( TInt aCommandId, TInt aParam );
-
-    /**
-     * Send command to pen input server utility function.
-     *
-     * @since S60 v3.2
-     * @param aCommandId The command id to sent.
-     * @param aParam The command param.
-     * @return None
-     */
-    void SendCommandToServer( TInt aCommandId, const TDesC8& aParam );
-
-    /**
-     * Get layout UI last used range.
-     *
-     * @since S60 v3.2
-     * @return Range last used.
-     */
-    TInt LayoutLastUsedRange();
-
-    /**
-     * Set layout UI position.
-     * Move layout UI not to overlap with some editors.
-     *
-     * @since S60 v3.2
-     * @param aBottomRight The bottom right position of layout UI.
-     *        The value is only a suggest value, layout UI may adjust it.
-     * @return None.
-     */
-    void SetLayoutPosition( const TRect& aParam );
-
-    /**
-     * Get Editor's local language.
-     *
-     * @since S60 v3.2
-     * @param aEditorState The editor's .CAknEdwinState pointer
-     * @return Language code the editor requires.
-     */
-    TLanguage GetLocalLanguage( const CAknEdwinState* aEditorState ) const;
-   
-   TBool SupportLatinRange();
-   
-   TBool SupportNativeNumberRange();
-   
-protected:
-
-    /**
-     * IME plugin reference.
-     */
-    CPenInputImePluginGeneric& iOwner;
-
-    /**
-     * Pen input server pointer. Not own.
-     */
-    RPeninputServer* iPenInputServer;
-
-    /**
-     * The premitted range of current editor.
-     */
-    TInt iPermittedRange;
-    
-    TInt iHkbMode;
-
-    /**
-     * The fep suggested range. The suggested value comes from
-     * previous touch input method.
-     */
-    TInt iSuggestedRange;
-    /**
-     * Current language.
-     */
-    TLanguage iLanguage;   
-    
-private:
-
-    /**
-     * Repository object used to get last used range.
-     */
-    CRepository* iRepository;
-
-    /**
-     * Local copy of ICF max text length.
-     */
-    TInt iMaxEditorLength;
-
-    /**
-     * Local copy of layout current case mode
-     */
-    TInt iLastCase;
-
-    /**
-     * Underlineing UI interface
-     */
-    MAknFepManagerInterface* iHkbUi;
-	
-	TInt iPermittedMode;
-    };
-#endif // C_PLUGINFEPMANAGERBASE_H
-
-// End Of File
--- a/fep/aknfep/peninputplugins/peninputimeplugingeneric/inc/pluginfepmanagerhwr.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-/*
-* 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:            HWR layout UI class header
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef C_PLUGINFEPMANAGERHWR_H
-#define C_PLUGINFEPMANAGERHWR_H
-
-// System includes
-#include <e32base.h>
-
-// User includes
-#include "pluginfepmanagerbase.h"
-
-//Forward declaration
-class CPenInputImePluginGeneric;
-class RPeninputServer;
-
-/**
- *  CPluginFepManagerHwr is the chinese HWR layout UI interface 
- *  "proxy" class.
- *
- *  @lib peninputimeplugingeneric.lib
- *  @since S60 v3.2
- */
-class CPluginFepManagerHwr : public CPluginFepManagerBase
-    {
-public:
-    /**
-     * Symbian constructor.
-     *
-     * @since S60 v3.2
-     * @param aOwner IME plugin reference 
-     * @param aPenInputServer The pointer of RPeninputServer.
-     * @return Pointer to created CPluginFepManagerHwr object
-     */
-    static CPluginFepManagerHwr* NewL( CPenInputImePluginGeneric& aOwner,
-                                      RPeninputServer* aPenInputServer );
-
-     /**
-     * Set layout UI current number mode key mapping.
-     * For example, 0-9 ; 0-9,*,# and etc.
-     * 
-     * @since S60 v3.2
-     *
-     * @param aAknEditorNumericKeymap Key mapping enum value.
-     * @return None.
-     */
-   void SetNumberModeKeyMappingL( 
-       TAknEditorNumericKeymap aAknEditorNumericKeymap );
-
-    /**
-     * Handle command come from FEP.
-     * 
-     * @since S60 v3.2
-     *
-     * @param aCommandId Command id.
-     * @param aParam  Command parameter.
-     * @return None.
-     */
-    void HandleCommandL( TInt aCommandId, TInt aParam );
-
-private:
-    /**
-     * C++ default constructor.
-     *
-     * @since S60 v3.2
-     * @param aOwner IME plugin reference 
-     * @param aPenInputServer The pointer of RPeninputServer.
-     */
-    CPluginFepManagerHwr( CPenInputImePluginGeneric& aOwner,
-                          RPeninputServer* aPenInputServer );
- 
-    /**
-     * Set layout primary range.
-     *
-     * @since S60 v3.2
-     * @param aEditorState Current editor state.
-     * @return None
-     */
-    void SetLayoutRange( const CAknEdwinState* aEditorState );
-    
-    TInt iNumberKeyMapping;
-    };
-
-#endif // C_PLUGINFEPMANAGERHWR_H
-
-// End Of File
--- a/fep/aknfep/peninputplugins/peninputimeplugingeneric/inc/pluginfepmanagervkb.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
-* 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:            VKB layout UI class header
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#ifndef C_PLUGINFEPMANAGERVKB_H
-#define C_PLUGINFEPMANAGERVKB_H
-
-// System includes
-#include <e32base.h>
-
-// User includes
-#include "pluginfepmanagerbase.h"
-
-class CPenInputImePluginGeneric;
-
-/**
- *  CPluginFepManagerHwr is the chinese VKB layout UI interface 
- *  "proxy" class.
- *
- *  @lib peninputimeplugingeneric.lib
- *  @since S60 v3.2
- */
-class CPluginFepManagerVkb : public CPluginFepManagerBase
-    {
-public:
-    /**
-     * Symbian constructor.
-     *
-     * @since S60 v3.2
-     * @param aOwner IME plugin reference 
-     * @param aPenInputServer The pointer of RPeninputServer.
-     * @return Pointer to created CPluginFepManagerHwr object
-     */
-    static CPluginFepManagerVkb* NewL( CPenInputImePluginGeneric& aOwner,
-                                      RPeninputServer* aPenInputServer );
-
-private:
-    /**
-     * C++ default constructor.
-     *
-     * @since S60 v3.2
-     * @param aOwner IME plugin reference 
-     * @param aPenInputServer The pointer of RPeninputServer.
-     */
-     
-    CPluginFepManagerVkb( CPenInputImePluginGeneric& aOwner,
-                         RPeninputServer* aPenInputServer );
-    };
-#endif // C_PLUGINFEPMANAGERVKB_H
-
-// End Of File
--- a/fep/aknfep/peninputplugins/peninputimeplugingeneric/src/peninputimeplugingeneric.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,753 +0,0 @@
-/*
-* 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:            Input mode plugin implementation file
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// System includes
-#include <ecom.h>
-#include <AknFepManagerInterface.h>
-#include <eikmenup.h>
-#include <coemain.h>
-#include <aknfepuiinterface.h>
-#include <aknfepuimenus.h>
-#include <languages.hrh>
-#include <bldvariant.hrh>
-#include <featmgr.h>
-
-// User includes
-#include "peninputimeplugingeneric.h"
-#include "peninputimeplugingenericdebug.h"
-#include "pluginfepmanagerhwr.h"
-#include "pluginfepmanagervkb.h"
-#include "truisupportedlanguageid.h"
-
-const TInt KInvalidImplId = 0;
-
-_LIT(KHwrImeName, "Generic HWR");
-_LIT(KVkbImeName, "Generic VKB");
-_LIT(KFSQImeName, "Generic FSQ");
-_LIT(KSSQImeName, "Split View Qwerty");
-
-_LIT(KHwrResourceFormatPattern, "peninputhwrwindowconfiginfo_*.rsc");
-_LIT(KVkbResourceFormatPattern, "peninputvkbwindowconfiginfo_*.rsc");
-_LIT(KSsqResourceFormatPattern, "peninputssqwinconfiginfo_*.rsc");
-
-_LIT(KPluginResourcePath, "z:\\RESOURCE\\Plugins\\");
-
-class TLangMeritPair 
-    {
-public:
-    TInt iLangStart;
-    TInt iLangEnd;
-    TInt iMerit;
-    };
-    
-const TLangMeritPair KSupportLanguages[] = 
-    {
-        {ELangEnglish, ELangAmerican, CAknFepPenInputImePlugin::EImeMerit_Preferred}, //01-10
-        {ELangPortuguese, ELangDutch, CAknFepPenInputImePlugin::EImeMerit_Preferred},//13-18
-        {ELangCzech, ELangSlovenian, CAknFepPenInputImePlugin::EImeMerit_Preferred}, //25-28
-        {ELangThai, ELangThai, CAknFepPenInputImePlugin::EImeMerit_Preferred},//33
-        {ELangArabic, ELangArabic, CAknFepPenInputImePlugin::EImeMerit_Preferred},//37
-        {ELangTagalog, ELangTagalog, CAknFepPenInputImePlugin::EImeMerit_Preferred},//39
-        {ELangBulgarian, ELangBulgarian, CAknFepPenInputImePlugin::EImeMerit_Preferred},//42
-        {ELangCatalan, ELangCatalan, CAknFepPenInputImePlugin::EImeMerit_Preferred},//44
-        {ELangCroatian, ELangCroatian, CAknFepPenInputImePlugin::EImeMerit_Preferred},//45
-        {ELangEstonian, ELangCanadianFrench, CAknFepPenInputImePlugin::EImeMerit_Preferred},//49-51
-        {ELangGreek, ELangGreek, CAknFepPenInputImePlugin::EImeMerit_Preferred},//54
-        {ELangHebrew, ELangIndonesian, CAknFepPenInputImePlugin::EImeMerit_Preferred},//57-59
-        {ELangLatvian, ELangLithuanian, CAknFepPenInputImePlugin::EImeMerit_Preferred},//67 -68
-        {ELangMalay, ELangMalay, CAknFepPenInputImePlugin::EImeMerit_Preferred},//70
-#ifdef RD_MARATHI    
-        {ELangMarathi, ELangMarathi, CAknFepPenInputImePlugin::EImeMerit_Preferred},//72
-#endif        
-        {ELangBrazilianPortuguese, ELangBrazilianPortuguese, CAknFepPenInputImePlugin::EImeMerit_Preferred},//76
-        {ELangRomanian, ELangSerbian, CAknFepPenInputImePlugin::EImeMerit_Preferred},//78 -79
-        {ELangLatinAmericanSpanish, ELangLatinAmericanSpanish, CAknFepPenInputImePlugin::EImeMerit_Preferred},//83
-        {ELangUkrainian, ELangUrdu, CAknFepPenInputImePlugin::EImeMerit_Preferred},//93-94
-        {ELangVietnamese, ELangVietnamese, CAknFepPenInputImePlugin::EImeMerit_Preferred},//96
-        {KLangBasque, KLangGalician, CAknFepPenInputImePlugin::EImeMerit_Preferred},//401,402
-        {ELangKorean, ELangKorean, CAknFepPenInputImePlugin::EImeMerit_Preferred} // 65 tp teleca add-on
-    };
-    
-// -----------------------------------------------------------------------------
-// RImplInfoPtrArray cleanup function
-// -----------------------------------------------------------------------------
-//
-void Cleanup( TAny* aAny )
-    {
-    RImplInfoPtrArray* implArray = 
-        reinterpret_cast< RImplInfoPtrArray*> ( aAny );
-    implArray->ResetAndDestroy();
-    implArray->Close();
-    }
-
-//lint -esym( 960, 58, * ) lint notes: break used outside of a switch
-
-// ======== MEMBER FUNCTIONS ========
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginGeneric::NewL
-// Factory function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPenInputImePluginGeneric* CPenInputImePluginGeneric::NewL(TAny* aInitParams)
-    {
-    CPenInputImePluginGeneric* self = new ( ELeave ) CPenInputImePluginGeneric(
-                                        static_cast<RPeninputServer*>( 
-                                            aInitParams ) );
-    CleanupStack::PushL( self );
-    self->ConstructL(); 
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginGeneric::NewLC
-// factory function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPenInputImePluginGeneric* CPenInputImePluginGeneric::NewLC( 
-    TAny* aInitParams )
-    {
-    CPenInputImePluginGeneric* self = new ( ELeave ) CPenInputImePluginGeneric(
-                                        static_cast<RPeninputServer*>( 
-                                            aInitParams ) );
-    CleanupStack::PushL( self );
-    self->ConstructL(); 
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginGeneric::~CPenInputImePluginGeneric
-// Destructor
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPenInputImePluginGeneric::~CPenInputImePluginGeneric()
-    {
-    DeActivate();
-    iUiLayoutImpIdList.Close();
-    delete iPluginUiManager;
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginGeneric::GetInputMethodUiL
-// Create layout UI interface
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-MAknFepManagerInterface* CPenInputImePluginGeneric::GetInputMethodUiL( 
-                                        MAknFepManagerUIInterface* aFepManager,
-                                        TLanguage aLanguage, 
-                                        TInt aMode,
-                                        const TDesC8& /*aData*/,
-                                        const TBool aIsSplitView)
-    {
-    iFepManager = aFepManager;
-    iLanguage = aLanguage;
-    CPluginFepManagerBase* fepmanager = NULL;
-    
-    TUid layoutId;
-    TInt i;
-
-    switch ( aMode )
-        {
-        case EPluginInputModeHwr:
-            {
-            if(aLanguage == ELangArabic)
-                {
-                layoutId.iUid = KHwrArabicUiId;                
-                }
-            else
-                {
-                layoutId.iUid = KHwrUiId;
-                }
-            }
-            break; 
-        case EPluginInputModeVkb:
-            {
-            layoutId.iUid = KVkbUiId;
-            }
-            break;
-        case EPluginInputModeFSQ:
-            {
-            if(aIsSplitView)
-                {
-                layoutId.iUid = KSsqUiId;
-                }
-            else
-                {
-                layoutId.iUid = KFsqUiId;
-                }
-            }
-            break;
-        default:
-            return NULL;
-        }
-    fepmanager = GetPluginUiL( aMode );
-    
-    for ( i = 0; i < iUiLayoutImpIdList.Count(); ++i )
-        {
-        if( iUiLayoutImpIdList[i] == layoutId.iUid )
-            {
-            break;
-            }
-        }
-
-    if ( i < iUiLayoutImpIdList.Count() )
-        {
-        iPenInputMode = aMode;
-        TPtrC8 ptr( (TUint8*)&aMode );
-        
-        TInt errCode;
-       	errCode = iPenInputServer->SetUiLayoutId( layoutId );	
-        	
-        if ( errCode == KErrNone )
-            {
-            fepmanager->OnInit();
-            return fepmanager;
-            }
-        }
-        
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginGeneric::GetInputMethodUiL
-// Create layout UI interface
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-MAknFepManagerInterface* CPenInputImePluginGeneric::GetInputMethodUiL( 
-                                    MAknFepManagerUIInterface* aFepManager,
-                                    TInt aLayoutId,
-                                    const TDesC8& aData )
-    {
-    iFepManager = aFepManager;
-    CPluginFepManagerBase* fepmanager = NULL;   
-    TInt i;
-    TInt mode;    
-    
-    if ( aLayoutId == KHwrUiId )
-        {
-        mode = EPluginInputModeHwr;      
-        }
-    else if( aLayoutId == KVkbUiId )
-        {
-        mode = EPluginInputModeVkb;
-        }
-    else if( aLayoutId == KFsqUiId )
-        {
-        mode = EPluginInputModeFSQ;
-        }
-    else
-        {
-        return NULL;
-        }
-
-    fepmanager = GetPluginUiL( mode );
-    for ( i = 0; i < iUiLayoutImpIdList.Count(); ++i )
-        {
-        if ( iUiLayoutImpIdList[i] == aLayoutId )
-            {
-            break;
-            }
-        }
-
-    if ( i < iUiLayoutImpIdList.Count() )
-        {
-        iPenInputMode = mode;
-        iPenInputServer->SetUiLayoutId( TUid::Uid( aLayoutId ), aData );
-        fepmanager->OnInit();    
-        return fepmanager;
-        }
-        
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginGeneric::Activate
-// Activate current IME plugin.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPenInputImePluginGeneric::Activate()
-    {
-    if(iPenInputServer)
-        {
-        iPenInputServer->ActivateLayout(ETrue);        
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginGeneric::DeActivate
-// Deactivate current IME plugin.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPenInputImePluginGeneric::DeActivate()
-    {
-    if (iPenInputServer && iPenInputServer->IsVisible())        
-        {
-        iPenInputServer->ActivateLayout(EFalse);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginGeneric::ImeImplId
-// Get current IME plugin implementation ID.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CPenInputImePluginGeneric::ImeImplId()
-    {
-    return KInputMethodImplementationId;
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginGeneric::LayoutUiImplId
-// Get current layout UI implementation id.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CPenInputImePluginGeneric::LayoutUiImplId()
-    {
-    TInt id;
-    switch ( iPenInputMode )
-        {
-        case EPluginInputModeHwr:
-            {
-            id = KHwrUiId;
-            }
-            break;
-        case EPluginInputModeVkb:
-            {
-            id = KVkbUiId;
-            }
-            break;
-        case EPluginInputModeFSQ:
-            {
-            id = KFsqUiId;
-            }
-            break;
-        default:
-            {
-            id = KInvalidImplId;
-            }
-            break;
-        }
-    return id;
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginGeneric::SupportModes
-// Get suppored layout UI modes(VKB/HWR).
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CPenInputImePluginGeneric::SupportModes(CPtiEngine* aPtiEngine,
-                                             RArray<TImePlguinImplDetail>& aSupportList) const
-    {
-    TInt ret = 0;
-    TRAP_IGNORE( ret = SupportModesL( aPtiEngine, aSupportList ) );
-    return ret;
-    }
-    
-// -----------------------------------------------------------------------------
-// CPenInputImePluginGeneric::SupportModesL
-// Get suppored layout UI modes(VKB/HWR).
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool IsFileInDir( CDir* aDir, const TDesC& aFileName )
-    {
-    if( aDir )
-        {
-        for( TInt k = 0; k < aDir->Count(); ++k )
-            {
-            if( aFileName.CompareF( (*aDir)[k].iName ) == 0 )
-                {
-                return ETrue;
-                }
-            }
-        }
-    return EFalse;
-    }
-  
-inline void HwrResNameFromLangId( TFileName& aFileName,  TInt aLang )    
-    {
-    if( aLang < 10 )    
-        {
-        _LIT(KHwrResourceFormat1, "peninputhwrwindowconfiginfo_%02d.rsc"); 
-        aFileName.Format(KHwrResourceFormat1, aLang);               
-        }
-    else
-        {
-        _LIT(KHwrResourceFormat, "peninputhwrwindowconfiginfo_%d.rsc"); 
-        aFileName.Format(KHwrResourceFormat, aLang);               
-        }        
-    }
-    
-inline void VkbResNameFromLangId( TFileName& aFileName,  TInt aLang )    
-    {
-    if( aLang < 10 )    
-        {
-        _LIT(KVkbResourceFormat1, "peninputvkbwindowconfiginfo_%02d.rsc");
-        aFileName.Format(KVkbResourceFormat1, aLang);               
-        }
-    else
-        {
-        _LIT(KVkbResourceFormat, "peninputvkbwindowconfiginfo_%d.rsc");
-        aFileName.Format(KVkbResourceFormat, aLang);               
-        }        
-    }
-    
-inline void SsqResNameFromLangId( TFileName& aFileName,  TInt aLang )    
-    {
-    if( aLang < 10 )    
-        {
-        _LIT(KSsqResourceFormat1, "peninputssqwinconfiginfo%02d.rsc");
-        aFileName.Format(KSsqResourceFormat1, aLang);               
-        }
-    else
-        {
-        _LIT(KSsqResourceFormat, "peninputssqwinconfiginfo%d.rsc");
-        aFileName.Format(KSsqResourceFormat, aLang);               
-        }        
-    }
-    
-TInt CPenInputImePluginGeneric::SupportModesL(CPtiEngine* /*aPtiEngine*/,
-                                             RArray<TImePlguinImplDetail>& aSupportList) const    
-    {
-    RImplInfoPtrArray infoArray;
-    TUid id;
-    id.iUid = KHwrLayoutInterfaceId;
-    TBool hwr = EFalse;
-    TBool vkb = EFalse;
-    TBool fsq = EFalse;
-    TBool ssq = EFalse;
-    
-    CleanupStack::PushL( TCleanupItem( Cleanup, &infoArray ) );
-    REComSession::ListImplementationsL(id, infoArray);
-        
-    for (TInt i = 0; i < infoArray.Count(); ++i)
-        {
-        if(infoArray[i]->ImplementationUid().iUid == KHwrUiId )
-            {
-            hwr = ETrue;
-            }
-
-        if (infoArray[i]->ImplementationUid().iUid == KVkbUiId
-                && FeatureManager::FeatureSupported(KFeatureIdVirtualKeyboardInput))
-            {
-            vkb = ETrue;
-            }
-            
-        if (infoArray[i]->ImplementationUid().iUid == KFsqUiId
-                && FeatureManager::FeatureSupported(KFeatureIdVirtualFullscrQwertyInput))
-            {
-            fsq = ETrue;
-            }
-            
-        if (infoArray[i]->ImplementationUid().iUid == KSsqUiId
-                && FeatureManager::FeatureSupported(KFeatureIdVirtualFullscrQwertyInput))
-            {
-            ssq = ETrue;
-            } 
-        }
-    
-    TImePlguinImplDetail detail;
-    
-    detail.iImplementationId = KInputMethodImplementationId;
-    if( hwr )
-        {
-        detail.iMode = EPluginInputModeHwr;
-        detail.iDisplayName.Copy(KHwrImeName());      
-      	TFindFile fileFinder(CCoeEnv::Static()->FsSession());
-      	TFileName resName;
-      	CDir* dir = NULL;
-      	TInt result = fileFinder.FindWildByDir( KHwrResourceFormatPattern, 
-                                                KPluginResourcePath, dir );
-      	if( result == KErrNone )
-      	    {
-            for(TInt i = 0; i < sizeof(KSupportLanguages)/sizeof(TLangMeritPair); ++i )
-                {
-                for(TInt j =  KSupportLanguages[i].iLangStart; 
-                    j <=  KSupportLanguages[i].iLangEnd; ++j)
-                    {
-                    HwrResNameFromLangId( resName, j);
-                    if( IsFileInDir( dir, resName ) )
-                        {
-                        detail.iLanguage = j;
-                        detail.iMeritValue = KSupportLanguages[i].iMerit;
-                        aSupportList.Append(detail);
-                        }
-                    }
-                }
-                
-      	    }
-  	    delete dir;
-        }
-
-    if( vkb || fsq )
-        {
-      	TFindFile fileFinder(CCoeEnv::Static()->FsSession());
-      	TFileName resName;
-      	CDir* dir = NULL;
-      	TInt result = fileFinder.FindWildByDir( KVkbResourceFormatPattern, 
-                                                KPluginResourcePath, dir );
-      	
-      	if( vkb )
-      	    {
-            detail.iMode = EPluginInputModeVkb;
-            detail.iDisplayName.Copy(KVkbImeName());      
-            for(TInt i = 0; i < sizeof(KSupportLanguages)/sizeof(TLangMeritPair); ++i )
-                {
-                for(TInt j =  KSupportLanguages[i].iLangStart; 
-                    j <=  KSupportLanguages[i].iLangEnd; ++j)
-                    {
-                    VkbResNameFromLangId( resName, j);
-                    if( IsFileInDir( dir, resName ) )
-                        {
-                        detail.iLanguage = j;
-                        detail.iMeritValue = KSupportLanguages[i].iMerit;
-                        aSupportList.Append(detail);
-                        }
-                    }
-                }
-      	    }
-        
-        if( fsq )
-            {
-            detail.iMode = EPluginInputModeFSQ;
-            detail.iDisplayName.Copy(KFSQImeName());      
-            for(TInt i = 0; i < sizeof(KSupportLanguages)/sizeof(TLangMeritPair); ++i )
-                {
-                for(TInt j =  KSupportLanguages[i].iLangStart; 
-                    j <=  KSupportLanguages[i].iLangEnd; ++j)
-                    {
-                    VkbResNameFromLangId( resName, j);
-                    if( IsFileInDir( dir, resName ) )
-                        {
-                        detail.iLanguage = j;
-                        detail.iMeritValue = KSupportLanguages[i].iMerit;
-                        aSupportList.Append(detail);
-                        }
-                    }
-                }
-            }
-            
-        delete dir;
-        }
-        
-    if( ssq )
-        {
-        detail.iMode = EPluginInputModeFSQ;
-        detail.iDisplayName.Copy(KSSQImeName());      
-      	TFindFile fileFinder(CCoeEnv::Static()->FsSession());
-      	TFileName resName;
-      	CDir* dir = NULL;
-      	TInt result = fileFinder.FindWildByDir( KSsqResourceFormatPattern, 
-                                                KPluginResourcePath, dir );
-      
-        for(TInt i = 0; i < sizeof(KSupportLanguages)/sizeof(TLangMeritPair); ++i )
-            {
-            for(TInt j =  KSupportLanguages[i].iLangStart; 
-                j <=  KSupportLanguages[i].iLangEnd; ++j)
-                {
-                SsqResNameFromLangId( resName, j);
-                if( IsFileInDir( dir, resName ) )
-                    {
-                    detail.iLanguage = j;
-                    detail.iMeritValue = KSupportLanguages[i].iMerit;
-                    aSupportList.Append(detail);
-                    }
-                }
-            }
-        delete dir;
-        }    
-
-    CleanupStack::PopAndDestroy(&infoArray); // infoArray    
-    
-    return 0;
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginGeneric::CurrentMode
-// Get current layout UI mode.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CPenInputImePluginGeneric::CurrentMode() const
-    {
-    return iPenInputMode;
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginGeneric::HandleServerEventL
-// Handle pen input server event..
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CPenInputImePluginGeneric::HandleServerEventL( TInt aEventId, const TDesC& aData )
-    {
-    TBool bHandled = EFalse;
-    switch ( aEventId )
-        {
-        case ESignalLayoutICFLengthChanged:
-            {
-            GetCurrentUi()->RetrieveEditorMaxLength();
-            }
-            break;
-        case ESignalCaseMode:
-            {
-            TInt data = *(TInt*)( aData.Ptr() );
-            ASSERT( data >= 0 );
-            //lint !e728
-            GetCurrentUi()->UpdateCaseMode( data ); 
-            }
-            break;
-        default:
-            break;
-        }
-        
-    return bHandled;
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginGeneric::HandleMenuCommandL
-// Handle the menu command.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CPenInputImePluginGeneric::HandleMenuCommandL( TInt /*aCommandId*/ )
-    {
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginGeneric::DynInitMenuPaneL
-// Dynamiclly update menu items during it displays.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPenInputImePluginGeneric::DynInitMenuPaneL( CAknFepUiInterfaceMenuPane* aMenuPane )
-    {
-    TInt currentLanguage = iPluginUiManager->InputLanguage();
-    TBool isDimTraining = ETrue;
-    TInt count = sizeof(KTruiSupportedLanguages)/sizeof(TInt);
-    for(TInt i = 0; i < count; i++)
-        {
-        if(currentLanguage == KTruiSupportedLanguages[i])
-            {
-            isDimTraining = EFalse;
-            break;
-            }
-        }
-    if(isDimTraining)
-        {
-        aMenuPane->SetItemDimmed(EPenInputCmdHwrTraining, ETrue);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginGeneric::CPenInputImePluginGeneric
-// C++ default constructor.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPenInputImePluginGeneric::CPenInputImePluginGeneric( RPeninputServer* aHwrServer )
-    :iPenInputServer( aHwrServer ) 
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginGeneric::ConstructL
-// 2nd phase constructor.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPenInputImePluginGeneric::ConstructL()
-    {
-    FindUiLayoutImplementationL();
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginGeneric::FindUiLayoutImplementationL
-// Enumuate all layout UI ids.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPenInputImePluginGeneric::FindUiLayoutImplementationL()
-    {
-    RImplInfoPtrArray infoArray;
-    TUid id;
-    id.iUid = KHwrLayoutInterfaceId;
-
-    iUiLayoutImpIdList.Reset();
-    CleanupStack::PushL( TCleanupItem( Cleanup, &infoArray ) );
-    REComSession::ListImplementationsL( id, infoArray );
-        
-    for ( TInt i = 0; i < infoArray.Count(); ++i )
-        {
-        iUiLayoutImpIdList.AppendL( infoArray[i]->ImplementationUid().iUid );
-        }
-
-    CleanupStack::PopAndDestroy( &infoArray ); // infoArray    
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginGeneric::GetPluginUiL
-// Get HWR UI interface.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPluginFepManagerBase* CPenInputImePluginGeneric::GetPluginUiL( TInt aMode )
-    {
-    delete iPluginUiManager;
-    iPluginUiManager = NULL;
-    
-    switch ( aMode )
-        {
-        case EPluginInputModeHwr:
-            {
-            return iPluginUiManager = CPluginFepManagerHwr::NewL(*this, iPenInputServer);
-            }
-        case EPluginInputModeVkb:
-        case EPluginInputModeFSQ:
-            {
-            return iPluginUiManager = CPluginFepManagerVkb::NewL(*this, iPenInputServer);
-            }
-        default:
-            {
-            return NULL;
-            }
-        }
-    }
-//End Of File
--- a/fep/aknfep/peninputplugins/peninputimeplugingeneric/src/peninputimeplugingenericmain.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* 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:            Implementation to E32Dll
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include <e32base.h>
-
-/** DLL Entry point */
-#ifndef EKA2
-GLDEF_C TInt E32Dll( TDllReason /*aReason*/ )
-    {
-    return( KErrNone );
-    }
-#endif
-
-//End Of File
--- a/fep/aknfep/peninputplugins/peninputimeplugingeneric/src/peninputimeplugingenericproxy.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* 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:            Implementation to Proxy
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// System includes
-#include <e32std.h>
-#include <implementationproxy.h>
-
-// User includes
-#include "peninputimeplugingeneric.h"
-
-// Map the interface UIDs to implementation factory functions
-const TImplementationProxy ImplementationTable[] = 
-    {
-    //lint !e611    
-    IMPLEMENTATION_PROXY_ENTRY( 0x1028235F, CPenInputImePluginGeneric::NewL ) 
-    };
-
-// Exported proxy for instantiation method resolution
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy( TInt& aTableCount )
-    {
-    aTableCount = sizeof( ImplementationTable ) / sizeof( TImplementationProxy );
-
-    return ImplementationTable;
-    }
-
-//End Of File
--- a/fep/aknfep/peninputplugins/peninputimeplugingeneric/src/pluginfepmanagerbase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,824 +0,0 @@
-/*
-* 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:            Layout UI interface base class implementation
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// System includes
-#include <w32std.h>
-#include <s32mem.h> 
-#include <aknedsts.h>               // CAknEdwinState
-#include <centralrepository.h>
-#include <AknUtils.h> 
-
-#include <peninputclient.h>
-#include <aknfeppeninputenums.h>
-#include <AknFepInternalCRKeys.h>
-#include <peninputcommonlayoutglobalenum.h>
-
-// User includes
-#include "pluginfepmanagerbase.h"
-#include "peninputimeplugingeneric.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::CPluginFepManagerBase
-// Destructor
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPluginFepManagerBase::~CPluginFepManagerBase()
-    {
-    delete iRepository;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::OnInit
-// Initalize UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::OnInit()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::RetrieveEditorMaxLength
-// Explicitly get ICF max length from layout UI .
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::RetrieveEditorMaxLength()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::UpdateCaseMode
-// Update local copy of case mode.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::UpdateCaseMode( TInt aCaseMode )
-    {
-    iLastCase = aCaseMode; 
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetNumberModeKeyMappingL
-// Set layout UI current number mode.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetNumberModeKeyMappingL( 
-    TAknEditorNumericKeymap aAknEditorNumericKeymap )
-    {
-    SendCommandToServer( ECmdPenInputEditorNumericKeyMap, 
-                         aAknEditorNumericKeymap );    
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::HandleKeyL
-// Handle key event.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CPluginFepManagerBase::HandleKeyL( TInt aKey, TKeyPressLength aLength, TEventCode /*aEventCode*/ )
-    {
-    return iHkbUi->HandleKeyL( aKey, aLength );
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::HandleCommandL
-// Handle command come from FEP.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::HandleCommandL( TInt aCommandId )
-    {
-    SendCommandToServer( aCommandId );
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::HandleCommandL
-// Handle command come from FEP.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::HandleCommandL(TInt aCommandId,TInt aParam)
-    {
-    switch ( aCommandId )
-        {
-        case ECmdPenInputRange:
-            {
-            iHkbMode = aParam;
-            if ( iHkbMode == ENativeNumber && !SupportNativeNumberRange() )
-                {
-                iHkbMode = ENumber;
-                }
-            }
-            break;
-        case ECmdPenInputPermittedRange:
-            {
-            iLastCase = ECaseInvalide;
-            SetLayoutPermitedRanges( aParam );
-            }
-            break;
-        case ECmdPenInputEditorState:
-            {
-            CAknEdwinState* state = 
-                reinterpret_cast<CAknEdwinState*>( aParam );
-            SetLayoutRange( state );
-            }
-            break;
-        case ECmdPenInputSetWindowPos:
-            {
-            TRect* rect = reinterpret_cast<TRect*>( aParam );
-            ASSERT( rect );
-            SetLayoutPosition( *rect );
-            }
-            break;
-        case ECmdPenInputCaseMode:
-            //if( aParam != iLastCase )
-                {
-                SendCommandToServer( ECmdPenInputCase, aParam );
-                iLastCase = aParam;
-                }
-            break;
-        case ECmdPenInputEditorCustomNumericKeyMap:
-            {
-            TDesC* res = (TDesC*)aParam;
-            TPtrC8 param;
-            param.Set((TUint8*)res->Ptr(), res->Size());
-            SendCommandToServer( aCommandId, param ); 
-            SetNumberModeKeyMappingL((TAknEditorNumericKeymap)EKeymapFromResource);
-            }
-            break;
-        case ECmdPenInputSuggestRange:
-            iSuggestedRange = aParam;
-            if( iSuggestedRange == ERangeAccent )
-                {
-                iSuggestedRange = ERangeEnglish;
-                }
-            break;
-        case ECmdPenInputSendEditorTextAndCurPos:
-            {    
-            TFepInputContextFieldData* pIcfData = 
-                reinterpret_cast<TFepInputContextFieldData*>( aParam );
-                       
-            TInt dataSize = sizeof( TFepInputContextFieldData );
-            TInt textSize = pIcfData->iText.Size();
-            
-			HBufC8* buf = HBufC8::NewLC(dataSize + textSize + 2*sizeof(TInt));
-			TPtr8 bufPtr = buf->Des();
-			
-			RDesWriteStream writeStream;
-			writeStream.Open(bufPtr);
-			CleanupClosePushL(writeStream);
-			
-			writeStream.WriteInt32L(dataSize);
-			writeStream.WriteInt32L(textSize);
-			
-			const TUint8* pData = reinterpret_cast<const TUint8*>( pIcfData );
-			writeStream.WriteL( pData, dataSize );
-        		
-    		const TUint8* pText = reinterpret_cast<const TUint8*>( pIcfData->iText.Ptr() );
-		    writeStream.WriteL( pText, textSize );
-		    
-            writeStream.CommitL();
-        
-            SendCommandToServer( aCommandId, bufPtr );
-    
-			CleanupStack::PopAndDestroy(&writeStream);
-			CleanupStack::PopAndDestroy(buf);
-            }
-            break;
-	     case ECmdPenInputSetPromptText:
-            {
-            TFepPromptText* pPromptData = 
-                reinterpret_cast<TFepPromptText*>( aParam );
-                
-            TInt dataSize = sizeof( TFepPromptText );
-            TInt textSize = 0;
-            
-            if (pPromptData->iText.Length())
-                {
-                textSize = pPromptData->iText.Size();
-                }
-            
-			HBufC8* buf = HBufC8::NewLC(dataSize + textSize + 2*sizeof(TInt));
-			TPtr8 bufPtr = buf->Des();
-			
-			RDesWriteStream writeStream;
-			writeStream.Open(bufPtr);
-			CleanupClosePushL(writeStream);
-			
-			writeStream.WriteInt32L(dataSize);
-			writeStream.WriteInt32L(textSize);
-			
-			const TUint8* pData = reinterpret_cast<const TUint8*>( pPromptData );
-			writeStream.WriteL( pData, dataSize );
-        	
-        	if (textSize != 0)
-        	    {
-                const TUint16* pText = pPromptData->iText.Ptr();
-    		    writeStream.WriteL( pText, textSize/2 );
-        	    }
-		    
-            writeStream.CommitL();
-        
-            SendCommandToServer( aCommandId, bufPtr );
-    
-			CleanupStack::PopAndDestroy(&writeStream);
-			CleanupStack::PopAndDestroy(buf);
-            }
-            break;
-        case ECmdPenInputPopupTooltip:
-            {
-            TPtrC* tooltipTextPtr = reinterpret_cast<TPtrC*>( aParam );
-            HBufC8* buf8 = HBufC8::NewLC
-                         ( sizeof( TInt ) + tooltipTextPtr->Size() );
-            TPtr8 buf8Ptr = buf8->Des();
-            RDesWriteStream writeStream;
-            CleanupClosePushL(writeStream);
-            writeStream.Open( buf8Ptr );
-            writeStream.WriteInt32L( tooltipTextPtr->Size() );
-            writeStream.WriteL( tooltipTextPtr->Ptr(), tooltipTextPtr->Length() );
-            writeStream.CommitL();
-            CleanupStack::PopAndDestroy( &writeStream );                        
-            SendCommandToServer( aCommandId, buf8Ptr );            
-            CleanupStack::PopAndDestroy( buf8 );
-            break;
-            }
-        case ECmdPenInputPopupCandidateList:
-            {
-            TFepITICandidateList* candidatelist 
-                               = reinterpret_cast<TFepITICandidateList*>( aParam );            
-            CDesCArray* itemArray = candidatelist->iItemArray;
-            if ( itemArray )
-                {           
-                TInt sumSize = 0;     
-                for ( TInt i = 0; i < itemArray->Count(); i++ )
-                    {
-                    sumSize += (*itemArray)[i].Size();
-                    }
-                HBufC8* buf8 = HBufC8::NewLC( sizeof(TInt) // For active index
-                                             + sizeof(TInt) // For the count of item array
-                                             + sizeof(TInt)*( itemArray->Count() ) // For the size of each item
-                                             + sumSize// For all of char data 
-                                             );
-                TPtr8 buf8Ptr = buf8->Des();
-                RDesWriteStream writeStream;
-                CleanupClosePushL(writeStream);                
-                writeStream.Open( buf8Ptr );                
-                writeStream.WriteInt32L( candidatelist->iActiveIndex );
-                writeStream.WriteInt32L( itemArray->Count() );                
-                for ( TInt i = 0; i < itemArray->Count(); i++  )
-                    {
-                    writeStream.WriteInt32L( (*itemArray)[i].Size() );
-                    writeStream.WriteL( (*itemArray)[i].Ptr(), (*itemArray)[i].Length() );
-                    }
-                writeStream.CommitL();                 
-                CleanupStack::PopAndDestroy( &writeStream );
-                SendCommandToServer( aCommandId, buf8Ptr );
-                CleanupStack::PopAndDestroy( buf8 );
-                }            
-            break;
-            }
-        default:
-            SendCommandToServer( aCommandId, aParam );
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::CloseUI
-// Close plugin layout UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::CloseUI()
-    {
-    iPenInputServer->ActivateLayout( EFalse );  
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::ActivateUI
-// Activate plugin layout UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::ActivateUI()
-    {
-    iPenInputServer->ActivateLayout( ETrue );    
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::EditorMaxLength
-// Get max text length of layout UI ICF control.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CPluginFepManagerBase::EditorMaxLength()
-    {
-    return iMaxEditorLength;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SizeChanged
-// Handle screen size changed.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::ResourceChanged(TInt aType)
-    {
-    iPenInputServer->ResourceChanged(aType);
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetNextFepUI
-// Set underlining UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetNextFepUI( MAknFepManagerInterface* aNextUi )
-    {
-    iHkbUi = aNextUi;    
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SupportLanguage
-// Get support language in sepecfied mode.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CPluginFepManagerBase::SupportLanguage( TInt /*aMode*/ ) const
-    {
-    return iLanguage;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetInputLanguageL
-// Set current language.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetInputLanguageL( TLanguage aLanguage )
-    {
-    iLanguage = aLanguage;
-    //maybe language check is needed.
-    TInt lang = (TInt)aLanguage;
-    ASSERT( lang >=0 );
-    SendCommandToServer( ECmdPenInputLanguage, lang );       
-    }
-
-TInt CPluginFepManagerBase::InputLanguage()
-    {
-    return iLanguage;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetFepAwareEditorText
-// Set editor text and cursor information to layout UI ICF control.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetFepAwareEditorText( 
-    const TFepInputContextFieldData& aIcfData )
-    {
-    }
-    
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetMode
-// Set layout UI mode.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-#ifdef RD_INTELLIGENT_TEXT_INPUT          
-void CPluginFepManagerBase::SetMode( TInt aMode, TBool aPredictive, 
-                                     TBool aQwertyInputMode, TInt aKeyboardType)
-#else
-void CPluginFepManagerBase::SetMode( TInt aMode, TBool aPredictive, 
-                                     TBool aQwertyInputMode )
-#endif    
-    {
-    iHkbUi->SetMode( aMode, aPredictive, aQwertyInputMode );
-    }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    TBool CPluginFepManagerBase::IsValidFnKeyPress() const
-    {
-    return EFalse;
-    }
-    TBool CPluginFepManagerBase::IsValidLongChrKeyPress() const
-    {
-    return EFalse;
-    }
-#endif
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetMode
-// Set layout UI current case.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetCase( TCase aCase )
-    {
-    iHkbUi->SetCase( aCase );
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::ExpireMultitapTimer
-// Compatibile with HKB UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::ExpireMultitapTimer()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::IsValidNumericLongKeyPress
-// Compatibile with HKB UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CPluginFepManagerBase::IsValidNumericLongKeyPress( TInt /*aKey*/ ) const
-    {
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::AddTextToUserDictionaryL
-// Compatibile with HKB UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::AddTextToUserDictionaryL( const TDesC& /*aText*/ )
-    {
-    }
-       
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::GetFormatOfFepInlineText
-// Compatibile with HKB UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::GetFormatOfFepInlineText( 
-                                TCharFormat& /*aFormat*/, 
-                                TInt& /*aNumberOfCharactersWithSameFormat*/, 
-                                TInt /*aPositionOfCharacter*/ ) const
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::IsValidShiftKeyPress
-// Compatibile with HKB UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CPluginFepManagerBase::IsValidShiftKeyPress() const
-    {
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetEditorContext
-// Compatibile with HKB UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetEditorContext( TInt /*aContext*/ )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetEditorContext
-// Compatibile with HKB UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetStarKeyFlag( TBool /*aSet*/ )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::CPluginFepManagerBase
-// C++ default constructor.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPluginFepManagerBase::CPluginFepManagerBase( CPenInputImePluginGeneric& aOwner,
-                                             RPeninputServer* aPenInputServer )
-    :iOwner( aOwner ), iPenInputServer( aPenInputServer )
-    {
-    iSuggestedRange = ERangeInvalid;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::BaseConstructL
-// Symbian 2nd phase constructor.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::BaseConstructL()
-    {
-    iRepository = CRepository::NewL( KCRUidAknFep );
-    }
-    
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetLayoutPermitedRanges
-// Set layout permited ranges.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetLayoutPermitedRanges( TInt aPermittedMode )
-    {
-    iPermittedMode = aPermittedMode;
-    
-    // Not derived from edwin
-    if ( aPermittedMode == EAknEditorNumericInputMode ) 
-        {
-		if ( SupportNativeNumberRange() )
-		    {
-		    iPermittedRange = ERangeNativeNumber;
-		    }
-		iPermittedRange |= ERangeNumber;
-        }
-        
-    else if ( aPermittedMode & EAknEditorTextInputMode )
-        {
-        // Derived from edwin and EAknEditorTextInputMode
-        iPermittedRange = ERangeNative | 
-                          ERangeNumber | 
-                          ERangeEnglish | 
-                          ERangeSymbol |
-						  ERangeNativeNumber;
-        }
-    else if ( aPermittedMode & EAknEditorSecretAlphaInputMode ) 
-        {
-        // Derived from EAknEditorSecretAlphaInputMode 
-        iPermittedRange = ERangeNumber |
-                          ERangeEnglish | 
-                          ERangeSymbol;        
-        }
-    else
-        {
-        iPermittedRange = ERangeNative | 
-                          ERangeNumber | 
-                          ERangeEnglish | 
-                          ERangeSymbol |
-						  ERangeNativeNumber;
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetLayoutRange
-// Set layout primary range.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetLayoutRange( 
-    const CAknEdwinState* aEditorState )
-    {
-    //calculate permitted ranges
-    if(aEditorState)
-        {
-        if( aEditorState->Flags() & EAknEditorFlagLatinInputModesOnly )
-            {
-            iPermittedRange &= ~ERangeNative;
-			iPermittedRange &= ~ERangeNativeNumber;
-            }      
-        if ( iPermittedMode != EAknEditorNumericInputMode 
-            && !SupportLatinRange() 
-            && !( aEditorState->Flags() & EAknEditorFlagLatinInputModesOnly ) )
-            {
-		    iPermittedRange &= ~ERangeEnglish;
-            }
-        }
-    else
-        {
-        if ( iPermittedMode == EAknEditorNumericInputMode )
-            {
-            if( iHkbMode == ENumber )
-                {
-                iPermittedRange = ERangeNumber;
-                }
-            else if ( iHkbMode == ENativeNumber )
-                {
-                iPermittedRange = ERangeNativeNumber;
-                } 
-            }
-        }
-
-    SendCommandToServer( ECmdPenInputPermittedRange, iPermittedRange );
-    
-    TInt priRange;
-    
-    switch( iHkbMode )
-        {
-        case ECangJie:
-        case EStrokeFind:
-        case EStroke:
-        case EPinyin:
-        case EZhuyin:
-        case EZhuyinFind:
-        case EHindi:
-            {
-            priRange = ERangeNative;
-            }
-            break;                 
-        case ENumber:
-            {
-            priRange = ERangeNumber;
-            }
-            break;  
-        case ENativeNumber:
-            {
-            priRange = ERangeNativeNumber;
-            }
-            break;  
-        case EPRCFind:
-        case ELatin:
-        case ELatinText:
-        case ELatinUpper:
-        case ELatinLower:
-            if ( iLanguage == ELangHindi)
-                {
-                priRange = ERangeEnglish;
-                }
-            else
-                {
-                priRange = iPermittedRange & ERangeNative ? ERangeNative : ERangeEnglish;
-                }
-            break;
-        default:
-            {
-            priRange = iPermittedRange & ERangeNative ? ERangeNative : ERangeEnglish;
-            }
-            break;               
-        }
-     
-    if( iSuggestedRange != ERangeInvalid && (iSuggestedRange & iPermittedRange) )
-        {
-        priRange = iSuggestedRange;
-        iSuggestedRange = ERangeInvalid;
-        }
-    SendCommandToServer( ECmdPenInputRange, priRange );  
-    }
-    
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SendCommandToServer
-// Send command to pen input server utility function.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SendCommandToServer( TInt aCommandId )
-    {
-    iPenInputServer->HandleCommand( aCommandId );
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SendCommandToServer
-// Send command to pen input server utility function.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SendCommandToServer( TInt aCommandId, TInt aParam )
-    {
-    TBuf8<sizeof(TInt)> buf;
-    buf.Append( (TUint8*)&aParam, sizeof(TInt) );    
-    SendCommandToServer( aCommandId, buf );
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SendCommandToServer
-// Send command to pen input server utility function.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SendCommandToServer( TInt aCommandId, 
-                                                 const TDesC8& aParam )
-    {
-    iPenInputServer->HandleCommand( aCommandId, aParam );        
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::LayoutLastUsedRange
-// Get layout UI last used range.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CPluginFepManagerBase::LayoutLastUsedRange()
-    {
-    TInt value = 0;
-    if ( iRepository )
-        {
-        iRepository->Get( KAknFepLastUsedRange, value );
-        }
-        
-    return value;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetLayoutPosition
-// Set layout UI position.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetLayoutPosition( const TRect& pParam )
-    {
-    TBuf8<sizeof( TRect )> buf;
-    buf.Append( (TUint8*)&pParam, sizeof( pParam ) );
-    
-    SendCommandToServer( ECmdPenInputSetWindowPos, buf );
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::GetLocalLanguage
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TLanguage CPluginFepManagerBase::GetLocalLanguage( 
-    const CAknEdwinState* aEditorState ) const
-    {
-    TLanguage language = ELangTest;
-    // Check for a local language override
-    if ( aEditorState )
-        {
-        TInt aknEditorFlags = aEditorState->Flags()	;
-        if ( aknEditorFlags & EAknEditorFlagLatinInputModesOnly )
-            {
-            language = ELangEnglish;
-            }
-        else
-            {
-            language = aEditorState->LocalLanguage();
-            }
-        }
-
-    return language;
-    }
-
-TBool CPluginFepManagerBase::SupportLatinRange()
-    {
-	if ( iLanguage == ELangRussian || iLanguage == ELangBulgarian ||
-         iLanguage == ELangUkrainian || iLanguage == ELangHebrew )
-		 {
-		 return EFalse;
-		 }
-		 
-	if ( iLanguage == ELangGreek )
-		 {
-		 return EFalse;
-		 }
-		 
-	if ( iLanguage == ELangArabic || iLanguage == ELangFarsi ||
-         iLanguage == ELangUrdu || iLanguage == ELangThai )
-		 {
-		 return EFalse;
-		 }
-
-	if ( iLanguage == ELangHindi || iLanguage == ELangMarathi )
-		 {
-		 return ETrue;
-		 }	
-		
-    return ETrue;	 		 		 
-	}
-	
-
-TBool CPluginFepManagerBase::SupportNativeNumberRange()
-    {
-	if ( iLanguage == ELangArabic || iLanguage == ELangFarsi ||
-         iLanguage == ELangUrdu || iLanguage == ELangHindi ||
-         iLanguage == ELangThai )
-		 {
-		 return ETrue;
-		 }
-		
-    return EFalse;	 		 		 
-	}	
- // End Of File
--- a/fep/aknfep/peninputplugins/peninputimeplugingeneric/src/pluginfepmanagerhwr.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,124 +0,0 @@
-/*
-* 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:            HWR layout UI class implementation file.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// System includes
-#include <aknfeppeninputenums.h>
-#include <aknedsts.h>               // CAknEdwinState
-
-// User includes
-#include "pluginfepmanagerhwr.h"
-#include "peninputimeplugingeneric.h"
-
-
-// ======== MEMBER FUNCTIONS ========
-// -----------------------------------------------------------------------------
-// CPluginFepManagerHwr::NewL
-// Factory function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPluginFepManagerHwr* CPluginFepManagerHwr::NewL( 
-    CPenInputImePluginGeneric& aOwner, RPeninputServer* aPenInputServer )
-    {
-    CPluginFepManagerHwr* self = new ( ELeave ) CPluginFepManagerHwr( aOwner,
-                                     aPenInputServer );
-    CleanupStack::PushL( self );
-    self->BaseConstructL(); 
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerHwr::SetNumberModeKeyMappingL
-// Set layout UI current number mode key mapping.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerHwr::SetNumberModeKeyMappingL( 
-    TAknEditorNumericKeymap aAknEditorNumericKeymap )
-    {
-    iNumberKeyMapping = aAknEditorNumericKeymap;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerHwr::HandleCommandL
-// Handle command come from FEP.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerHwr::HandleCommandL( TInt aCommandId, TInt aParam )
-    {
-    if( aCommandId == ECmdPenInputSetWindowPos )
-        {
-        return;
-        }
-    CPluginFepManagerBase::HandleCommandL( aCommandId, aParam );
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerHwr::CPluginFepManagerHwr
-// C++ default constructor.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPluginFepManagerHwr::CPluginFepManagerHwr( CPenInputImePluginGeneric& aOwner,
-                                           RPeninputServer* aPenInputServer )
-    :CPluginFepManagerBase( aOwner, aPenInputServer )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerHwr::SetLayoutRange
-// Set layout primary range.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerHwr::SetLayoutRange( const CAknEdwinState* aEditorState )
-    {
-    CPluginFepManagerBase::SetLayoutRange( aEditorState );
-    
-    //set number key mapping
-    #if 0
-    if ( iPermittedRange == ERangeNumber)        
-        {
-        SendCommandToServer( ECmdPenInputEditorNumericKeyMap, 
-                             iNumberKeyMapping );    
-        }
-    else
-        {
-        //for alphanumeric editor, always use EAknEditorAlphanumericNumberModeKeymap
-        SendCommandToServer( ECmdPenInputEditorNumericKeyMap, 
-                             EAknEditorAlphanumericNumberModeKeymap );    
-        }
-    #endif
-    SendCommandToServer( ECmdPenInputEditorNumericKeyMap, 
-                             iNumberKeyMapping );           
-    }
-
- // End Of File
--- a/fep/aknfep/peninputplugins/peninputimeplugingeneric/src/pluginfepmanagervkb.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/*
-* 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:            VKB layout UI class implementation file.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// System includes
-#include <aknedsts.h>               // CAknEdwinState
-
-// User includes
-#include "pluginfepmanagervkb.h"
-#include "peninputimeplugingeneric.h"
-#include "eikon.hrh"
-
-// ======== MEMBER FUNCTIONS ========
-
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerVkb::NewL
-// Factory function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPluginFepManagerVkb* CPluginFepManagerVkb::NewL( 
-    CPenInputImePluginGeneric& aOwner, RPeninputServer* aPenInputServer )
-    {
-    CPluginFepManagerVkb* self = new ( ELeave ) CPluginFepManagerVkb(
-         aOwner, aPenInputServer );
-    CleanupStack::PushL( self );
-    self->BaseConstructL(); 
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerVkb::CPluginFepManagerVkb
-// constructor
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPluginFepManagerVkb::CPluginFepManagerVkb( CPenInputImePluginGeneric& aOwner,
-                                            RPeninputServer* aPenInputServer )
-    :CPluginFepManagerBase( aOwner, aPenInputServer )
-    {
-    }
-
-// End Of File
--- a/fep/aknfep/peninputplugins/peninputimeplugingeneric/srcdata/1028235F.rss	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
-* Copyright (c) 1028 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:            Resource definitions for project peninputimeplugingeneric
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "registryinfo.rh"
-
-// Declares info for two implementations
-RESOURCE REGISTRY_INFO theInfo
-    {
-    // UID for the DLL
-    dll_uid = 0x1028235F;
-    // Declare array of interface info
-    interfaces = 
-        {
-        INTERFACE_INFO
-            {
-            // UID of interface that is implemented
-            interface_uid = 0x10207363;
-            implementations = 
-                {
-                // Info for CImplementation1
-                IMPLEMENTATION_INFO
-                    {
-                    implementation_uid = 0x1028235F;
-                    version_no = 1;
-                    display_name = "Generic touch input method plugin";
-                    //supported language
-                    default_data = "1||16||33||37||42||50||54||57||93||94||96";
-                    //supported IME impl id
-                    opaque_data= "16||33||37||42||50||54||57||93||94||96";
-                    }
-                };
-            }
-        };
-    }
-
-// End Of File
--- a/fep/aknfep/peninputplugins/peninputimepluginitut/group/bld.inf	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
-* 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:            Build information file for project peninputimeplugingeneric
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-	
-PRJ_MMPFILES
-
-../group/peninputimepluginitut.mmp
-
-// End Of File
--- a/fep/aknfep/peninputplugins/peninputimepluginitut/group/peninputimepluginitut.mmp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/*
-* 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:            Project definition file for project peninputimepluginitut
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include <bldvariant.hrh>
-#include <platform_paths.hrh>
-
-TARGET      peninputimepluginitut.dll
-TARGETTYPE  plugin
-UID         0x10009D8D 0x2000B133
-
-CAPABILITY  CAP_ECOM_PLUGIN
-VENDORID    VID_DEFAULT
-
-SOURCEPATH  ../src
-
-SOURCE      peninputimepluginitutproxy.cpp
-SOURCE      peninputimepluginitut.cpp
-SOURCE      pluginfepmanagerbase.cpp
-SOURCE      pluginfepmanageritut.cpp
-
-USERINCLUDE     ../inc 
-
-// This is a SYSTEMINCLUDE macro containing the middleware
-// layer specific include directories
-MW_LAYER_SYSTEMINCLUDE
-
-SYSTEMINCLUDE   /epoc32/include/ecom
-SYSTEMINCLUDE   ../../../../../inc
-
-SOURCEPATH      ../srcdata
-
-START RESOURCE 2000B133.rss
-#ifdef SYMBIAN_SECURE_ECOM 
-TARGET peninputimepluginitut.rsc                                                             
-#endif
-END
-
-
-LIBRARY euser.lib 
-LIBRARY ECom.lib
-LIBRARY centralrepository.lib 
-LIBRARY eikcoctl.lib 
-LIBRARY cone.lib 
-LIBRARY efsrv.lib
-LIBRARY estor.lib 
-
-#ifdef RD_SCALABLE_UI_V2
-LIBRARY         peninputclient.lib
-#else
-LIBRARY         peninputserverstub.lib
-#endif
-
-// End Of File
--- a/fep/aknfep/peninputplugins/peninputimepluginitut/inc/peninputimepluginitut.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,293 +0,0 @@
-/*
-* 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:            input mode plugin header file
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef C_PENINPUTIMEPLUGINITUT_H
-#define C_PENINPUTIMEPLUGINITUT_H   
-
-// System includes
-#include <e32base.h>
-#include <peninputclient.h>
-#include <aknfeppeninputimeplugin.h>
-#include <eikon.hrh>
-#include <AknFepManagerInterface.h>
-//#include <AknFepManagerUIInterface.h>
-#include <aknfeppeninputenums.h>
-#include <AknFepGlobalEnums.h>
-
-// Forward declaration
-class MAknFepManagerInterface;
-class CAknEdwinState;
-class CRepository;
-class CPluginFepManagerBase;
-
-/**
- *  Pen input mode plugin chinese implementation
- *
- *  @lib peninputimeplugingeneric.lib
- *  @since S60 v3.2
- */
-class CPenInputImePluginItut : public CAknFepPenInputImePlugin
-    {
-public:
-
-    /**
-     * Symbian constructor.
-     *
-     * @since S60 v3.2
-     * @param aInitParams Init data plugin, actually it is 
-     *        a pointer of RPeninputServer.
-     * @return Pointer to created CPenInputImePluginItut object
-     */
-    static CPenInputImePluginItut* NewL( TAny* aInitParams );
-
-    static CPenInputImePluginItut* NewLC( TAny* aInitParams );
-
-    /**
-     * Destructor.
-     */
-    ~CPenInputImePluginItut();
-
-public: // From CAknFepPenInputImePlugin
-
-    /**
-     * Get layout UI interface
-     * 
-     * @since S60 v3.2
-     * @param aFepManager Fep manager interface pointer
-     * @param aLanguage Language that layout UI need to support
-     * @param aMode Speicifed layout UI mode to create
-     * @param aData Initialization data.
-     *
-     * @return The layout UI interface..
-     */
-    MAknFepManagerInterface* GetInputMethodUiL( 
-                            MAknFepManagerUIInterface* aFepManager,
-                            TLanguage aLanguage,
-                            TInt aMode,
-                            const TDesC8& aData,
-                            const TBool aIsSplitView = EFalse );
-
-    /**
-     * Get layout UI interface
-     * 
-     * @since S60 v3.2
-     * @param aFepManager Fep manager interface pointer
-     * @param aLayoutId Speicifed layout UI id to create
-     * @param aData Initialization data.
-     *
-     * @return The layout UI interface..
-     */
-    MAknFepManagerInterface* GetInputMethodUiL( 
-                            MAknFepManagerUIInterface* aFepManager, 
-                            TInt aLayoutId, 
-                            const TDesC8& aData );
-
-    /**
-     * Activate current IME plugin.
-     * 
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-    void Activate();
-
-    /**
-     * Deactivate current IME plugin.
-     * 
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-    void DeActivate();
-
-    /**
-     * Get current IME plugin implementation ID.
-     * 
-     * @since S60 v3.2
-     *
-     * @return IME plugin implementation id.
-     */
-    TInt ImeImplId();
-
-    /**
-     * Get current layout UI implementation id.
-     * 
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-     TInt LayoutUiImplId();
-
-    /**
-     * Handle pen input server event.
-     * 
-     * @param aEventId The event id, defined in <peninputcmd.h>
-     * @param aData The event related data.
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-     TBool HandleServerEventL( TInt aEventId, const TDesC& aData );
-
-    /**
-     * Get suppored layout UI modes(VKB/HWR).
-     * 
-     * @since S60 v3.2
-     *
-     * @param aPtiEngine  A pointer to ptiengine
-     * @param aSupportList A reference to result ime plugin list
-     * @return Meaningless.
-     */
-     TInt SupportModes(CPtiEngine* aPtiEngine, 
-                       RArray<TImePlguinImplDetail>& aSupportList) const;
-
-    /**
-     * Get current layout UI mode.
-     * 
-     * @since S60 v3.2
-     *
-     * @return Current layout UI mode.
-     */
-     TInt CurrentMode() const;
-
-    /**
-     * Handle the menu command.The menu is launched by FEP
-     * The menu command is first passed to IME plugin, if 
-     * this function return EFalse, FEP handles it defaultly.
-     * 
-     * @param aCommandId The menu command id
-     * @return ETrue if IME plugin handled the command; 
-     *         EFalse otherwise.
-     */
-    TBool HandleMenuCommandL( TInt aCommandId );
-
-    /**
-     * Dynamiclly update menu items during it displays. 
-     * 
-     * aMenuPane The menu pane pointer.
-     * @return None.
-     */
-    void DynInitMenuPaneL( CAknFepUiInterfaceMenuPane* aMenuPane );
-    
-public:
-
-    enum TScriptIndex
-        {
-        ELatinLang,
-        ECyrillicLang,
-        EGreekLang,
-        EHebrewLang,
-        EArabicLang,
-        EFarsiLang,
-        EUrduLang,
-        EThaiLang,
-        EChnLang,
-        EIndicLang
-        };
-        
-private:        
-    
-    /**
-     * C++ default constructor.
-     *
-     * @param aServer Pen input server pointer
-     */
-    CPenInputImePluginItut( RPeninputServer* aServer );
-    
-    /**
-     * By default Symbian 2nd phase constructor is private.
-     *
-     * @return None
-     */
-    void ConstructL();
-
-    /**
-     * Enumuate all layout UI ids and save them to iUiLayoutImpIdList.
-     *
-     * @return None
-     */
-    void FindUiLayoutImplementationL();
-    
-    /**
-     * Get plugin UI interface
-     *
-     * @return plugin UI pointer
-     */
-    CPluginFepManagerBase* GetPluginUiL( TInt aMode );
-    
-    /**
-     * Get current UI interface
-     *
-     * @return current UI pointer
-     */
-    inline CPluginFepManagerBase* GetCurrentUi();
-        
-    /**
-     * Get suppored layout UI modes(VKB/HWR).
-     * 
-     * @since S60 v3.2
-     *
-     * @param aPtiEngine  A pointer to ptiengine
-     * @param aSupportList A reference to result ime plugin list
-     * @return Meaningless.
-     */
-    TInt SupportModesL(CPtiEngine* aPtiEngine, 
-                       RArray<TImePlguinImplDetail>& aSupportList) const;
-
-    static const TDesC& ResFileNameByScriptIdx(const TScriptIndex aIndex);
-
-    static const TDesC& ResFileNameByScriptIdxForSplit(const TScriptIndex aIndex);
-
-private:
-
-    /**
-     * Pen input server pointer. Not own.
-     */
-    RPeninputServer* iPenInputServer;
-
-    /**
-     * Pen input server pointer. Not own.
-     */
-    RArray<TInt> iUiLayoutImpIdList;
-
-    /**
-     * Current layout UI mode.
-     */
-    TInt iPenInputMode;
-
-    /**
-     * Pen input server pointer. Not own.
-     */
-    CPluginFepManagerBase* iPluginUiManager;
-    };
-
-#include "peninputimepluginitut.inl"
-
-#endif // C_PENINPUTIMEPLUGINITUT_H
-
-//End Of File
--- a/fep/aknfep/peninputplugins/peninputimepluginitut/inc/peninputimepluginitut.inl	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* 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:            Inline file for Ime plugin China.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-const TInt KHwrLayoutInterfaceId = 0x102072FC; // This is for layout interface
-const TInt KInputMethodImplementationId = 0x2000B133;
-// modified by txin in 2007.06.04, change vkb's implementation uid to finger's
-const TInt KItutUiId = 0x2000b101;
-const TInt KSplitItutUiId = 0x2001E2BA;
-// end modifying
-
-
-inline CPluginFepManagerBase* CPenInputImePluginItut::GetCurrentUi()
-    {
-    switch ( iPenInputMode )
-        {
-        case EPluginInputModeHwr:
-        case EPluginInputModeVkb:
-        case EPluginInputModeItut:
-            return iPluginUiManager;
-        default:
-            return NULL;
-        }
-    }
-
-//End Of File
--- a/fep/aknfep/peninputplugins/peninputimepluginitut/inc/peninputimepluginitutdebug.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-/*
-* 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:            Debug utils API
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef PENINPUTIMEPLUGINCHSDEBUG_H
-#define PENINPUTIMEPLUGINCHSDEBUG_H
- 
-#ifdef _DEBUG
-    #define PRINT( txt )                    RDebug::Print( txt );
-    #define PRINTF( txt )                   RDebug::Print txt;
-    #define PRINT1( txt, arg1 )             RDebug::Print( txt, arg1 );
-    #define PRINT2( txt, arg1, arg2 )       RDebug::Print( txt, arg1, arg2 );
-    #define PRINT3( txt, arg1, arg2, arg3 ) RDebug::Print( txt, arg1, arg2, arg3 ); 
-#else 
-    #define PRINT( txt ) 
-    #define PRINTF( txt )                    
-    #define PRINT1( txt, arg1 ) 
-    #define PRINT2( txt, arg1, arg2 ) 
-    #define PRINT3( txt, arg1, arg2, arg3 ) 
-#endif
-
-
-// Record into log files
-#define USE_FILE_LOGGER
-
-#if defined (_DEBUG) && !defined(USE_FILE_LOGGER)                   
-    #define USE_SERIAL_LOGGER 
-#endif
-                                    
-#if defined (USE_FILE_LOGGER)
-    #include <flogger.h>
-    _LIT(KLogFile,"imepluginchn.txt");
-    _LIT(KLogFolder,"peninputime");
-    #define LOGTEXT(AAA)                RFileLogger::Write(KLogFolder(), \
-                                                           KLogFile(), \
-                                                           EFileLoggingModeAppend, \
-                                                           AAA)
-    #define LOGTEXT2(AAA,BBB)           RFileLogger::WriteFormat(KLogFolder(), \
-                                                                 KLogFile(), \
-                                                                 EFileLoggingModeAppend, \
-                                                                 TRefByValue<const TDesC>(AAA), \
-                                                                 BBB)
-    #define LOGTEXT3(AAA,BBB,CCC)       RFileLogger::WriteFormat(KLogFolder(), \
-                                                                 KLogFile(), \
-                                                                 EFileLoggingModeAppend, \
-                                                                 TRefByValue<const TDesC>(AAA), \
-                                                                 BBB, \
-                                                                 CCC)
-    #define LOGHEXDUMP(AAA,BBB,CCC,DDD) RFileLogger::HexDump(KLogFolder(), \
-                                                             KLogFile(), \
-                                                             EFileLoggingModeAppend, \
-                                                             AAA,\
-                                                             BBB,\
-                                                             CCC,\
-                                                             DDD)    
-#elif defined (USE_SERIAL_LOGGER) 
-    #include <e32svr.h>
-    #define LOGTEXT(AAA)                RDebug::Print(AAA)
-    #define LOGTEXT2(AAA,BBB)           RDebug::Print(AAA,BBB)
-    #define LOGTEXT3(AAA,BBB,CCC)       RDebug::Print(AAA,BBB,CCC)
-    #define LOGHEXDUMP(AAA,BBB,CCC,DDD)
-#else
-    #define LOGTEXT(AAA)                
-    #define LOGTEXT2(AAA,BBB)           
-    #define LOGTEXT3(AAA,BBB,CCC)       
-    #define LOGHEXDUMP(AAA,BBB,CCC,DDD) 
-#endif      
-
-#endif      // PENINPUTIMEPLUGINCHSDEBUG   
-            
-// End Of File
--- a/fep/aknfep/peninputplugins/peninputimepluginitut/inc/pluginfepmanagerbase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,474 +0,0 @@
-/*
-* 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:            Layout UI interface base class
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#ifndef C_PLUGINFEPMANAGERBASE_H
-#define C_PLUGINFEPMANAGERBASE_H
-
-// System includes
-#include <e32base.h>
-#include <frmtlay.h>
-#include <eikon.hrh>
-#include <AknFepManagerInterface.h>
-#include <peninputcmd.h>
-
-//Forward declaration
-class CPenInputImePluginItut;
-class RPeninputServer;
-class CAknEdwinState;
-class CRepository;
-/**
- *  CPluginFepManagerBase is the layout UI interface base class. 
- *  It is something like a "proxy" class of layout UI plugin, sending
- *  commands from FEP to layout UI plugin.
- *
- *  @lib peninputimepluginitut.lib
- *  @since S60 v3.2
- */
-class CPluginFepManagerBase: public CBase, public MAknFepManagerInterface
-    {
-public: 
-
-    /**
-     * Destructor.
-     */
-    ~CPluginFepManagerBase();
-
-    /**
-     * Initalize UI when first time starting up. 
-     * The first time means when the instance created.
-     * 
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-    virtual void OnInit();
-
-    /**
-     * Explicitly get ICF max length from layout UI and save the 
-     * value to iMaxEditorLength.
-     * 
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-    void RetrieveEditorMaxLength();
-
-    /**
-     * Update local copy of case mode when 
-     * user change case in layout UI.
-     * 
-     * @since S60 v3.2
-     *
-     * @param aCaseMode The case mode to save locally.
-     * @return None.
-     */
-    void UpdateCaseMode( TInt aCaseMode );
-
-// From MAknFepManagerInterface
-
-    /**
-     * Set layout UI current number mode key mapping.
-     * For example, 0-9 ; 0-9,*,# and etc.
-     * 
-     * @since S60 v3.2
-     *
-     * @param aAknEditorNumericKeymap Key mapping enum value.
-     * @return None.
-     */
-    void SetNumberModeKeyMappingL( TAknEditorNumericKeymap aAknEditorNumericKeymap );
-
-    /**
-     * Handle key event.
-     * Since most plugin layout UIs are based on animation, they receive 
-     * key and process key events before this function. 
-     * 
-     * @since S60 v3.2
-     *
-     * @param aKey Key event code.
-     * @param aLength Key press length.
-     * @return ETrue if processed, EFalse otherwise.
-     */
-    TBool HandleKeyL( TInt aKey, TKeyPressLength aLength, TEventCode aEventCode = EEventKey );
-
-    /**
-     * Handle command come from FEP.
-     * 
-     * @since S60 v3.2
-     *
-     * @param aCommandId Command id.
-     * @return None
-     */
-    void HandleCommandL( TInt aCommandId );
-
-    /**
-     * Handle command come from FEP.
-     * 
-     * @since S60 v3.2
-     *
-     * @param aCommandId Command id.
-     * @param aParam  Command parameter.
-     * @return None.
-     */
-    void HandleCommandL( TInt aCommandId, TInt aParam );
-
-    /**
-     * Close plugin layout UI.
-     * 
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-    void CloseUI();
-
-    /**
-     * Activate plugin layout UI.
-     * 
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-    void ActivateUI();
-
-    /**
-     * Get max text length of layout UI ICF control.
-     * 
-     * @since S60 v3.2
-     * @return Max ICF text length.
-     */
-    TInt EditorMaxLength();
-
-    /**
-     * When screen size changes, SizeChanged is called by FEP.
-     * 
-     * @since S60 v3.2
-     * @return None.
-     */
-    void ResourceChanged( TInt aType );
-
-    /**
-     * Set underlining UI.
-     * Since plugin layout UI and HKB can be used at same time,
-     * HKB UI layout need to be notified after plugin layout UI 
-     * processes some events
-     * 
-     * @since S60 v3.2
-     * @param aNextUI The underlining UI pointer.
-     * @return None.
-     */
-    void SetNextFepUI( MAknFepManagerInterface* aNextUi );
-    
-    /**
-     * Get support language in sepecfied mode.
-     * The method leaves here only for compatibility.
-     * 
-     * @since S60 v3.2
-     *
-     * @param aMode Input mode.
-     * @return Language supported.
-     */
-    TInt SupportLanguage( TInt aMode ) const;
-
-    /**
-     * Set current language, which is required by editor
-     * 
-     * @since S60 v3.2
-     *
-     * @param aLanguage Language to set.
-     * @return None.
-     */
-    void SetInputLanguageL( TLanguage aLanguage );
-
-    /**
-     * Set editor text and cursor information to layout UI 
-     * ICF control.
-     * 
-     * @since S60 v3.2
-     * @param aTotalTextLen Total text length in eidtor.
-     * @param aStartPos Offset of aText to the start of editor text.
-     * @param aCursorSel Cursor position.
-     * @param aText A part of editor text start from aStartPos.
-     *
-     * @return None.
-     */
-    void SetFepAwareEditorText( const TFepInputContextFieldData& aIcfData );
-
-    /**
-     * Set layout UI mode.
-     * The method leaves here only for compatibility
-     * 
-     * @since S60 v3.2
-     *
-     * @param aMode Mode to set.
-     * @param aPredictive Whether the current mode support predictive.
-     * @param aWwertyInputMode Whether the current HKB is qwerty.
-     * @return None.
-     */
-#ifdef RD_INTELLIGENT_TEXT_INPUT          
-    void SetMode(TInt aMode, TBool aPredictive, TBool aQwertyInputMode, 
-                 TInt aKeyboardType = EPtiKeyboardNone) ;
-#else
-    void SetMode(TInt aMode, TBool aPredictive, TBool aQwertyInputMode);
-#endif  
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    virtual TBool IsValidFnKeyPress() const;
-    virtual TBool IsValidLongChrKeyPress() const;
-#endif
-
-    /**
-     * Set layout UI current case.
-     * The method leaves here only for compatibility. Since plugin layout 
-     * UI is different from HKB tranditional UI, they use something like 
-     * "case mode" other than case which is set by a FEP command.
-     * 
-     * @since S60 v3.2
-     *
-     * @param aCase Case to set.
-     * @return None.
-     */
-    void SetCase( TCase aCase );
-
-    /**
-     * The method leaves here only for compatibility.
-     * 
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-    void ExpireMultitapTimer();
-
-    /**
-     * The method leaves here only for compatibility.
-     * 
-     * @since S60 v3.2
-     * 
-     * @param aKey The key presssed.
-     * @return ETrue if long press, EFalse otherwise.
-     */
-    TBool IsValidNumericLongKeyPress( TInt aKey ) const;
-
-    /**
-     * The method leaves here only for compatibility.
-     * 
-     * @since S60 v3.2
-     *
-     * @param aText Text to add to user dictionary.
-     * @return None.
-     */
-    void AddTextToUserDictionaryL( const TDesC& aText );
-
-    /**
-     * The method leaves here only for compatibility.
-     * 
-     * @since S60 v3.2
-     *
-     * @param aFormat On return, contains the formatting to 
-     *        apply to the inline text (or to a portion of it). 
-     * @param aNumberOfCharactersWithSameFormat  On return, 
-              contains the number of characters in the inline 
-              text (starting at aPositionOfCharacter) 
-              which have the same formatting
-     * @param aPositionOfCharacter Start position within the inline text
-     * @return None.
-     */
-    void GetFormatOfFepInlineText( TCharFormat& aFormat, 
-                                   TInt& aNumberOfCharactersWithSameFormat, 
-                                   TInt aPositionOfCharacter ) const;
-
-    /**
-     * The method leaves here only for compatibility.
-     * 
-     * @since S60 v3.2
-     *
-     * @return ETrue if valid, EFalse otherwise.
-     */
-    TBool IsValidShiftKeyPress() const;
-
-    /**
-     * The method leaves here only for compatibility.
-     * 
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-    void SetEditorContext( TInt aContext );
-
-	/**
-	 * Set the Star key flag
-	 *
-     * @param aSet TBool.
-     * @return None
-	 */
-	void SetStarKeyFlag( TBool aSet );
-protected:
-   
-    /**
-     * C++ default constructor.
-     *
-     * @since S60 v3.2
-     * @param aOwner IME plugin pointer.
-     * @param aPenInputServer Pen input server pointer
-     */
-    CPluginFepManagerBase( CPenInputImePluginItut& aOwner, 
-                           RPeninputServer* aPenInputServer );
-
-    /**
-     * By default Symbian 2nd phase constructor.
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    void BaseConstructL();
-
-    /**
-     * Set layout permited ranges.
-     *
-     * @param aPermittedMode Ranges of current editor allowed.
-     * @return None
-     */
-    virtual void SetLayoutPermitedRanges( TInt aPermittedRanges );
-
-    /**
-     * Set layout primary range.
-     *
-     * @since S60 v3.2
-     * @param aEditorState Current editor state.
-     * @return None
-     */
-    virtual void SetLayoutRange( const CAknEdwinState* aEditorState );
-
-    /**
-     * Send command to pen input server utility function.
-     *
-     * @since S60 v3.2
-     * @param aCommandId The command id to sent.
-     * @return None
-     */
-    void SendCommandToServer( TInt aCommandId );
-
-    /**
-     * Send command to pen input server utility function.
-     *
-     * @since S60 v3.2
-     * @param aCommandId The command id to sent.
-     * @param aParam The command param.
-     * @return None
-     */
-    void SendCommandToServer( TInt aCommandId, TInt aParam );
-
-    /**
-     * Send command to pen input server utility function.
-     *
-     * @since S60 v3.2
-     * @param aCommandId The command id to sent.
-     * @param aParam The command param.
-     * @return None
-     */
-    void SendCommandToServer( TInt aCommandId, const TDesC8& aParam );
-
-    /**
-     * Get layout UI last used range.
-     *
-     * @since S60 v3.2
-     * @return Range last used.
-     */
-    TInt LayoutLastUsedRange();
-
-    /**
-     * Set layout UI position.
-     * Move layout UI not to overlap with some editors.
-     *
-     * @since S60 v3.2
-     * @param aBottomRight The bottom right position of layout UI.
-     *        The value is only a suggest value, layout UI may adjust it.
-     * @return None.
-     */
-    void SetLayoutPosition( const TRect& aParam );
-
-    /**
-     * Get Editor's local language.
-     *
-     * @since S60 v3.2
-     * @param aEditorState The editor's .CAknEdwinState pointer
-     * @return Language code the editor requires.
-     */
-    TLanguage GetLocalLanguage( const CAknEdwinState* aEditorState ) const;
-   
-protected:
-
-    /**
-     * IME plugin reference.
-     */
-    CPenInputImePluginItut& iOwner;
-
-    /**
-     * Pen input server pointer. Not own.
-     */
-    RPeninputServer* iPenInputServer;
-
-    /**
-     * The premitted range of current editor.
-     */
-    TInt iPermittedRange;
-    
-    TInt iHkbMode;
-
-    /**
-     * The fep suggested range. The suggested value comes from
-     * previous touch input method.
-     */
-    TInt iSuggestedRange;
-    /**
-     * Current language.
-     */
-    TLanguage iLanguage;   
-    
-private:
-
-    /**
-     * Repository object used to get last used range.
-     */
-    CRepository* iRepository;
-
-    /**
-     * Local copy of ICF max text length.
-     */
-    TInt iMaxEditorLength;
-
-    /**
-     * Local copy of layout current case mode
-     */
-    TInt iLastCase;
-
-    /**
-     * Underlineing UI interface
-     */
-    MAknFepManagerInterface* iHkbUi;
-    };
-#endif // C_PLUGINFEPMANAGERBASE_H
-
-// End Of File
--- a/fep/aknfep/peninputplugins/peninputimepluginitut/inc/pluginfepmanageritut.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-/*
-* 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:            ITUT layout UI class header
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#ifndef C_PLUGINFEPMANAGERITUT_H
-#define C_PLUGINFEPMANAGERITUT_H
-
-// System includes
-#include <e32base.h>
-
-// User includes
-#include "pluginfepmanagerbase.h"
-
-class CPenInputImePluginItut;
-
-/**
- *  CPluginFepManagerItut is the ITUT layout UI interface 
- *  "proxy" class.
- *
- *  @lib peninputimepluginitut.lib
- *  @since S60 v3.2
- */
-class CPluginFepManagerItut : public CPluginFepManagerBase
-    {
-public:
-    /**
-     * Symbian constructor.
-     *
-     * @since S60 v3.2
-     * @param aOwner IME plugin reference 
-     * @param aPenInputServer The pointer of RPeninputServer.
-     * @return Pointer to created CPluginFepManagerItut object
-     */
-    static CPluginFepManagerItut* NewL( CPenInputImePluginItut& aOwner,
-                                      RPeninputServer* aPenInputServer );
-                                      
-    /**
-     * Handle key event.
-     * Since most plugin layout UIs are based on animation, they receive 
-     * key and process key events before this function. 
-     * 
-     * @since S60 v3.2
-     *
-     * @param aKey Key event code.
-     * @param aLength Key press length.
-     * @return ETrue if processed, EFalse otherwise.
-     */
-    TBool HandleKeyL( TInt aKey, TKeyPressLength aLength, TEventCode aEventCode = EEventKey );                                      
-
-private:
-    /**
-     * C++ default constructor.
-     *
-     * @since S60 v3.2
-     * @param aOwner IME plugin reference 
-     * @param aPenInputServer The pointer of RPeninputServer.
-     */
-     
-    CPluginFepManagerItut( CPenInputImePluginItut& aOwner,
-                         RPeninputServer* aPenInputServer );
-    };
-#endif // C_PLUGINFEPMANAGERITUT_H
-
-// End Of File
--- a/fep/aknfep/peninputplugins/peninputimepluginitut/src/peninputimepluginitut.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,685 +0,0 @@
-/*
-* 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:            Input mode plugin implementation file
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// System includes
-#include <ecom.h>
-#include <AknFepManagerInterface.h>
-#include <eikmenup.h>
-#include <coemain.h>
-
-// User includes
-#include "peninputimepluginitut.h"
-#include "peninputimepluginitutdebug.h"
-#include "pluginfepmanageritut.h"
-
-const TInt KInvalidImplId = 0;
-
-_LIT(KItutImeName,"vitut Itut");
-_LIT(KSplitItutImeName, "split vitut Itut");
-
-class TScriptPair
-    {
-public:
-    const TInt* iData;
-    TInt iLen;
-    CPenInputImePluginItut::TScriptIndex iScriptIdx;
-    };
-
-const TInt LatinLangs[] = 
-    {
-    65, 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
-    };
-const TInt CyrillicLangs[] = {16, 42, 93,};
-const TInt GreekLangs[] = {54, 55,};
-const TInt HebrewLangs[] = {57,};
-const TInt ArabicLangs[] = {37,};
-const TInt FarsiLangs[] = {50,};
-const TInt UrduLangs[] = {94,};
-const TInt ThaiLangs[] = {33,};
-const TInt ChnLangs[] = {29, 30, 31,};
-const TInt IndicLangs[] = {58, 72};
-
-_LIT(KPluginResourcePath, "z:\\RESOURCE\\Plugins\\");
-_LIT(KResFilePattern, "peninputitutconfig_*.rsc");
-_LIT(KResFilePatternSplit, "peninputsplititutconfig_*.rsc");
-
-_LIT(KLatinResFile, "peninputitutconfig_latin.rsc");
-_LIT(KLatinResFileSplit, "peninputsplititutconfig_latin.rsc");
-_LIT(KCyrillicResFile, "peninputitutconfig_cyrillic.rsc");
-_LIT(KCyrillicResFileSplit, "peninputsplititutconfig_cyrillic.rsc");
-_LIT(KGreekResFile, "peninputitutconfig_greek.rsc");
-_LIT(KGreekResFileSplit, "peninputsplititutconfig_greek.rsc");
-_LIT(KHebrewResFile, "peninputitutconfig_hebrew.rsc");
-_LIT(KHebrewResFileSplit, "peninputsplititutconfig_hebrew.rsc");
-_LIT(KArabicResFile, "peninputitutconfig_arabic.rsc");
-_LIT(KArabicResFileSplit, "peninputsplititutconfig_arabic.rsc");
-_LIT(KFarsiResFile, "peninputitutconfig_farsi.rsc");
-_LIT(KFarsiResFileSplit, "peninputsplititutconfig_farsi.rsc");
-_LIT(KUrduResFile, "peninputitutconfig_urdu.rsc");
-_LIT(KUrduResFileSplit, "peninputsplititutconfig_urdu.rsc");
-_LIT(KThaiResFile, "peninputitutconfig_thai.rsc");
-_LIT(KThaiResFileSplit, "peninputsplititutconfig_thai.rsc");
-_LIT(KChnResFile, "peninputitutconfig_chinese.rsc");
-_LIT(KChnResFileSplit, "peninputsplititutconfig_chinese.rsc");
-
-_LIT(KDevanagiriResFile, "peninputitutconfig_devanagari.rsc");
-_LIT(KDevanagiriResFileSplit, "peninputsplititutconfig_devanagari.rsc");
-const TScriptPair KSupportScripts[] = 
-    {
-    {LatinLangs, 50, CPenInputImePluginItut::ELatinLang},
-    {CyrillicLangs, 3, CPenInputImePluginItut::ECyrillicLang},
-    {GreekLangs, 2, CPenInputImePluginItut::EGreekLang},
-    {HebrewLangs, 1, CPenInputImePluginItut::EHebrewLang},
-    {ArabicLangs, 1, CPenInputImePluginItut::EArabicLang},
-    {FarsiLangs, 1, CPenInputImePluginItut::EFarsiLang},
-    {UrduLangs, 1, CPenInputImePluginItut::EUrduLang},
-    {ThaiLangs, 1, CPenInputImePluginItut::EThaiLang},
-    {ChnLangs, 3, CPenInputImePluginItut::EChnLang},
-    {IndicLangs, 2, CPenInputImePluginItut::EIndicLang}
-    };
-
-// -----------------------------------------------------------------------------
-// RImplInfoPtrArray cleanup function
-// -----------------------------------------------------------------------------
-//
-void Cleanup( TAny* aAny )
-    {
-    RImplInfoPtrArray* implArray = 
-        reinterpret_cast< RImplInfoPtrArray*> ( aAny );
-    implArray->ResetAndDestroy();
-    implArray->Close();
-    }
-
-//lint -esym( 960, 58, * ) lint notes: break used outside of a switch
-
-// ======== MEMBER FUNCTIONS ========
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginItut::NewL
-// Factory function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPenInputImePluginItut* CPenInputImePluginItut::NewL(TAny* aInitParams)
-    {
-    CPenInputImePluginItut* self = new ( ELeave ) CPenInputImePluginItut(
-                                        static_cast<RPeninputServer*>( 
-                                            aInitParams ) );
-    CleanupStack::PushL( self );
-    self->ConstructL(); 
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginItut::NewLC
-// factory function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPenInputImePluginItut* CPenInputImePluginItut::NewLC( 
-    TAny* aInitParams )
-    {
-    CPenInputImePluginItut* self = new ( ELeave ) CPenInputImePluginItut(
-                                        static_cast<RPeninputServer*>( 
-                                            aInitParams ) );
-    CleanupStack::PushL( self );
-    self->ConstructL(); 
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginItut::~CPenInputImePluginItut
-// Destructor
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPenInputImePluginItut::~CPenInputImePluginItut()
-    {
-    DeActivate();
-    iUiLayoutImpIdList.Close();
-    delete iPluginUiManager;
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginItut::GetInputMethodUiL
-// Create layout UI interface
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-MAknFepManagerInterface* CPenInputImePluginItut::GetInputMethodUiL( 
-                                        MAknFepManagerUIInterface* aFepManager,
-                                        TLanguage aLanguage, 
-                                        TInt aMode,
-                                        const TDesC8& /*aData*/,
-                                        const TBool aIsSplitView)
-    {
-    iFepManager = aFepManager;
-    iLanguage = aLanguage;
-    CPluginFepManagerBase* fepmanager = NULL;
-    
-    TUid layoutId;
-    TInt i;
-
-    switch ( aMode )
-        {
-        case EPluginInputModeItut:
-            {
-            if(aIsSplitView)
-                {
-                layoutId.iUid = KSplitItutUiId;
-                }
-            else
-                {
-                layoutId.iUid = KItutUiId;
-                }
-            }
-            break;
-        default:
-            return NULL;
-        }
-    fepmanager = GetPluginUiL( aMode );
-    
-    for ( i = 0; i < iUiLayoutImpIdList.Count(); ++i )
-        {
-        if( iUiLayoutImpIdList[i] == layoutId.iUid )
-            {
-            break;
-            }
-        }
-
-    if ( i < iUiLayoutImpIdList.Count() )
-        {
-        iPenInputMode = aMode;
-        TInt errCode = iPenInputServer->SetUiLayoutId( layoutId );
-        if ( errCode == KErrNone )
-            {
-            fepmanager->OnInit();
-            return fepmanager;
-            }
-        }
-        
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginItut::GetInputMethodUiL
-// Create layout UI interface
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-MAknFepManagerInterface* CPenInputImePluginItut::GetInputMethodUiL( 
-                                    MAknFepManagerUIInterface* aFepManager,
-                                    TInt aLayoutId,
-                                    const TDesC8& aData )
-    {
-    iFepManager = aFepManager;
-    CPluginFepManagerBase* fepmanager = NULL;   
-    TInt i;
-    TInt mode;    
-    
-     if ( aLayoutId == KItutUiId || aLayoutId == KSplitItutUiId)
-        {
-        mode = EPluginInputModeItut;
-        }
-    else
-        {
-        mode = EPluginInputModeNone;
-        return NULL;
-        }
-
-    fepmanager = GetPluginUiL( mode );
-    for ( i = 0; i < iUiLayoutImpIdList.Count(); ++i )
-        {
-        if ( iUiLayoutImpIdList[i] == aLayoutId )
-            {
-            break;
-            }
-        }
-
-    if ( i < iUiLayoutImpIdList.Count() )
-        {
-        iPenInputMode = mode;
-        iPenInputServer->SetUiLayoutId( TUid::Uid( aLayoutId ), aData );
-        fepmanager->OnInit();    
-        return fepmanager;
-        }
-        
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginItut::Activate
-// Activate current IME plugin.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPenInputImePluginItut::Activate()
-    {
-    if(iPenInputServer)
-        {
-        iPenInputServer->ActivateLayout(ETrue);        
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginItut::DeActivate
-// Deactivate current IME plugin.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPenInputImePluginItut::DeActivate()
-    {
-    if (iPenInputServer && iPenInputServer->IsVisible())        
-        {
-        iPenInputServer->ActivateLayout(EFalse);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginItut::ImeImplId
-// Get current IME plugin implementation ID.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CPenInputImePluginItut::ImeImplId()
-    {
-    return KInputMethodImplementationId;
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginItut::LayoutUiImplId
-// Get current layout UI implementation id.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CPenInputImePluginItut::LayoutUiImplId()
-    {
-    TInt id;
-    switch ( iPenInputMode )
-        {
-        case EPluginInputModeItut:
-            {
-            id = KItutUiId;
-            }
-            break;
-        default:
-            {
-            id = KInvalidImplId;
-            }
-            break;
-        }
-    return id;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginItut::SupportModes
-// Get suppored layout UI modes(VKB/HWR).
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CPenInputImePluginItut::SupportModes(CPtiEngine* aPtiEngine,
-                                             RArray<TImePlguinImplDetail>& aSupportList) const
-    {
-    TInt ret = KErrNone;
-    TRAP_IGNORE( ret = SupportModesL( aPtiEngine, aSupportList ) );
-    return ret;
-    }
-    
-// -----------------------------------------------------------------------------
-// CPenInputImePluginItut::SupportModesL
-// Get suppored layout UI modes(VKB/HWR).
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool IsFileInDir( CDir* aDir, const TDesC& aFileName )
-    {
-    if( aDir )
-        {
-        for( TInt k = 0; k < aDir->Count(); ++k )
-            {
-            if( aFileName.CompareF( (*aDir)[k].iName ) == 0 )
-                {
-                return ETrue;
-                }
-            }
-        }
-    return EFalse;
-    }
-    
-
-TInt CPenInputImePluginItut::SupportModesL(CPtiEngine* /*aPtiEngine*/,
-                                             RArray<TImePlguinImplDetail>& aSupportList) const 
-    {
-    RImplInfoPtrArray infoArray;
-    TUid id;
-    id.iUid = KHwrLayoutInterfaceId;
-    TBool itut = EFalse;
-    TBool splititut = EFalse;
-    
-    CleanupStack::PushL( TCleanupItem( Cleanup, &infoArray ) );
-    REComSession::ListImplementationsL(id, infoArray);
-
-    for (TInt i = 0; i < infoArray.Count(); ++i)
-        {
-        if (infoArray[i]->ImplementationUid().iUid == KItutUiId)
-            {
-            itut = ETrue;
-            }
-            
-        if (infoArray[i]->ImplementationUid().iUid == KSplitItutUiId)
-            {
-            splititut = ETrue;
-            } 
-        }
-
-    TImePlguinImplDetail detail;
-
-    detail.iImplementationId = KInputMethodImplementationId;
-
-    if (itut)
-        {
-        detail.iMode = EPluginInputModeItut;
-        detail.iDisplayName.Copy(KItutImeName());
-        detail.iMeritValue = EImeMerit_Preferred;
-
-        TFindFile fileFinder(CCoeEnv::Static()->FsSession());
-
-      	CDir* dir = NULL;
-      	TInt result = fileFinder.FindWildByDir( KResFilePattern, KPluginResourcePath, dir );
-      	if( result == KErrNone )
-      	    {
-            for (TInt i = 0; i < sizeof(KSupportScripts)/sizeof(KSupportScripts[0]); i++)
-                {
-                if ( IsFileInDir( dir, ResFileNameByScriptIdx(KSupportScripts[i].iScriptIdx) ) )
-                    {
-                    TInt* data = const_cast<TInt*>(KSupportScripts[i].iData);
-                    for (TInt j = 0; j < KSupportScripts[i].iLen; j++)
-                        {
-                        detail.iLanguage = *(data);
-                        data++;
-                        aSupportList.AppendL(detail);                      
-                        }
-                    }
-                }
-      	    }
-  	    delete dir;
-        }    
-
-    if (splititut)
-        {
-        detail.iMode = EPluginInputModeItut;
-        detail.iDisplayName.Copy(KSplitItutImeName());
-        detail.iMeritValue = EImeMerit_Preferred;
-
-        TFindFile fileFinder(CCoeEnv::Static()->FsSession());
-
-      	CDir* dir = NULL;
-      	TInt result = fileFinder.FindWildByDir( KResFilePatternSplit, KPluginResourcePath, dir );
-      	if( result == KErrNone )
-      	    {
-            for (TInt i = 0; i < sizeof(KSupportScripts)/sizeof(KSupportScripts[0]); i++)
-                {
-                if ( IsFileInDir( dir, ResFileNameByScriptIdxForSplit(KSupportScripts[i].iScriptIdx) ) )
-                    {
-                    TInt* data = const_cast<TInt*>(KSupportScripts[i].iData);
-                    for (TInt j = 0; j < KSupportScripts[i].iLen; j++)
-                        {
-                        detail.iLanguage = *(data);
-                        data++;
-                        aSupportList.AppendL(detail);                      
-                        }
-                    }
-                }
-      	    }
-  	    delete dir;
-        }    
-
-    CleanupStack::PopAndDestroy(&infoArray); // infoArray    
-    
-    return 0;
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginItut::CurrentMode
-// Get current layout UI mode.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CPenInputImePluginItut::CurrentMode() const
-    {
-    return iPenInputMode;
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginItut::HandleServerEventL
-// Handle pen input server event..
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CPenInputImePluginItut::HandleServerEventL( TInt aEventId, const TDesC& aData )
-    {
-    TBool bHandled = EFalse;
-    switch ( aEventId )
-        {
-        case ESignalLayoutICFLengthChanged:
-            {
-            GetCurrentUi()->RetrieveEditorMaxLength();
-            }
-            break;
-        case ESignalCaseMode:
-            {
-            TInt data = *(TInt*)( aData.Ptr() );
-            ASSERT( data >= 0 );
-            //lint !e728
-            GetCurrentUi()->UpdateCaseMode( data ); 
-            }
-            break;
-        default:
-            break;
-        }
-        
-    return bHandled;
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginItut::HandleMenuCommandL
-// Handle the menu command.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CPenInputImePluginItut::HandleMenuCommandL( TInt /*aCommandId*/ )
-    {
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginItut::DynInitMenuPaneL
-// Dynamiclly update menu items during it displays.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPenInputImePluginItut::DynInitMenuPaneL( CAknFepUiInterfaceMenuPane* /*aMenuPane*/ )
-    {
-    }
-
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginItut::CPenInputImePluginItut
-// C++ default constructor.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPenInputImePluginItut::CPenInputImePluginItut( RPeninputServer* aHwrServer )
-    :iPenInputServer( aHwrServer ) 
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginItut::ConstructL
-// 2nd phase constructor.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPenInputImePluginItut::ConstructL()
-    {
-    FindUiLayoutImplementationL();
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginItut::FindUiLayoutImplementationL
-// Enumuate all layout UI ids.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPenInputImePluginItut::FindUiLayoutImplementationL()
-    {
-    RImplInfoPtrArray infoArray;
-    TUid id;
-    id.iUid = KHwrLayoutInterfaceId;
-
-    iUiLayoutImpIdList.Reset();
-    CleanupStack::PushL( TCleanupItem( Cleanup, &infoArray ) );
-    REComSession::ListImplementationsL( id, infoArray );
-        
-    for ( TInt i = 0; i < infoArray.Count(); ++i )
-        {
-        iUiLayoutImpIdList.AppendL( infoArray[i]->ImplementationUid().iUid );
-        }
-
-    CleanupStack::PopAndDestroy( &infoArray ); // infoArray    
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginItut::GetPluginUiL
-// Get HWR UI interface.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPluginFepManagerBase* CPenInputImePluginItut::GetPluginUiL( TInt aMode )
-    {
-    switch ( aMode )
-        {
-        case EPluginInputModeItut:
-            {
-            delete iPluginUiManager;
-            iPluginUiManager = NULL;
-            iPluginUiManager = CPluginFepManagerItut::NewL(*this, iPenInputServer);
-            return iPluginUiManager;
-            }
-        default:
-            {
-            return NULL;
-            }
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// CPenInputImePluginItut::ResFileNameByScriptIdx
-// Get HWR UI interface.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TDesC& CPenInputImePluginItut::ResFileNameByScriptIdx(const TScriptIndex aIndex)
-    {
-    switch (aIndex)
-        {
-        case ELatinLang:
-            return KLatinResFile;
-        case ECyrillicLang:
-            return KCyrillicResFile;
-        case EGreekLang:
-            return KGreekResFile;
-        case EHebrewLang:
-            return KHebrewResFile;
-        case EArabicLang:
-            return KArabicResFile;
-        case EFarsiLang:
-            return KFarsiResFile;
-        case EUrduLang:
-            return KUrduResFile;
-        case EThaiLang:
-            return KThaiResFile;
-        case EChnLang:
-            return KChnResFile;
-        case EIndicLang:
-        	return KDevanagiriResFile;
-        default:
-            break;    
-        }
-
-    return KNullDesC;
-    }
-
-const TDesC& CPenInputImePluginItut::ResFileNameByScriptIdxForSplit(const TScriptIndex aIndex)
-    {
-    switch (aIndex)
-        {
-        case ELatinLang:
-            return KLatinResFileSplit;
-
-        case ECyrillicLang:
-            return KCyrillicResFileSplit;
-
-        case EGreekLang:
-            return KGreekResFileSplit;
-
-        case EHebrewLang:
-            return KHebrewResFileSplit;
-                
-        case EArabicLang:
-            return KArabicResFileSplit;
-
-        case EFarsiLang:
-            return KFarsiResFileSplit;
-
-        case EUrduLang:
-            return KUrduResFileSplit;
-
-        case EThaiLang:
-            return KThaiResFileSplit;
-
-        case EChnLang:
-            return KChnResFileSplit;
-
-        case EIndicLang:
-            return KDevanagiriResFileSplit;
-
-        default:
-            break;    
-        }
-
-    return KNullDesC;
-    }
-
-//End Of File
--- a/fep/aknfep/peninputplugins/peninputimepluginitut/src/peninputimepluginitutmain.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* 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:            Implementation to E32Dll
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include <e32base.h>
-
-/** DLL Entry point */
-#ifndef EKA2
-GLDEF_C TInt E32Dll( TDllReason /*aReason*/ )
-    {
-    return( KErrNone );
-    }
-#endif
-
-//End Of File
--- a/fep/aknfep/peninputplugins/peninputimepluginitut/src/peninputimepluginitutproxy.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* 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:            Implementation to Proxy
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// System includes
-#include <e32std.h>
-#include <implementationproxy.h>
-
-// User includes
-#include "peninputimepluginitut.h"
-
-// Map the interface UIDs to implementation factory functions
-const TImplementationProxy ImplementationTable[] = 
-    {
-    //lint !e611    
-    IMPLEMENTATION_PROXY_ENTRY( 0x2000B133, CPenInputImePluginItut::NewL ) 
-    };
-
-// Exported proxy for instantiation method resolution
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy( TInt& aTableCount )
-    {
-    aTableCount = sizeof( ImplementationTable ) / sizeof( TImplementationProxy );
-
-    return ImplementationTable;
-    }
-
-//End Of File
--- a/fep/aknfep/peninputplugins/peninputimepluginitut/src/pluginfepmanagerbase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,751 +0,0 @@
-/*
-* 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:            Layout UI interface base class implementation
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// System includes
-#include <w32std.h>
-#include <s32mem.h> 
-#include <aknedsts.h>               // CAknEdwinState
-#include <centralrepository.h>
-#include <peninputclient.h>
-#include <aknfeppeninputenums.h>
-#include <AknFepInternalCRKeys.h>
-#include <peninputgenericitutcustomization.h>
-
-// User includes
-#include "pluginfepmanagerbase.h"
-#include "peninputimepluginitut.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::CPluginFepManagerBase
-// Destructor
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPluginFepManagerBase::~CPluginFepManagerBase()
-    {
-    delete iRepository;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::OnInit
-// Initalize UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::OnInit()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::RetrieveEditorMaxLength
-// Explicitly get ICF max length from layout UI .
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::RetrieveEditorMaxLength()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::UpdateCaseMode
-// Update local copy of case mode.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::UpdateCaseMode( TInt aCaseMode )
-    {
-    iLastCase = aCaseMode; 
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetNumberModeKeyMappingL
-// Set layout UI current number mode.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetNumberModeKeyMappingL( 
-    TAknEditorNumericKeymap aAknEditorNumericKeymap )
-    {
-    SendCommandToServer( ECmdPenInputEditorNumericKeyMap, 
-                         aAknEditorNumericKeymap );    
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::HandleKeyL
-// Handle key event.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CPluginFepManagerBase::HandleKeyL( TInt aKey, TKeyPressLength aLength, TEventCode /*aEventCode*/ )
-    {
-    return iHkbUi->HandleKeyL( aKey, aLength );
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::HandleCommandL
-// Handle command come from FEP.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::HandleCommandL( TInt aCommandId )
-    {
-    SendCommandToServer( aCommandId );
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::HandleCommandL
-// Handle command come from FEP.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::HandleCommandL(TInt aCommandId,TInt aParam)
-    {
-    switch ( aCommandId )
-        {
-        case ECmdPenInputRange:
-            {
-            iHkbMode = aParam;
-            }
-            break;
-        case ECmdPenInputPermittedRange:
-            {
-            iLastCase = ECaseInvalide;
-            SetLayoutPermitedRanges( aParam );
-            }
-            break;
-        case ECmdPenInputEditorState:
-            {
-            CAknEdwinState* state = 
-                reinterpret_cast<CAknEdwinState*>( aParam );
-            SetLayoutRange( state );
-            }
-            break;
-        case ECmdPenInputSetWindowPos:
-            {
-            TRect* rect = reinterpret_cast<TRect*>( aParam );
-            ASSERT( rect );
-            SetLayoutPosition( *rect );
-            }
-            break;
-        case ECmdPenInputCaseMode:
-            //if( aParam != iLastCase )
-                {
-                SendCommandToServer( ECmdPenInputCase, aParam );
-                iLastCase = aParam;
-                }
-            break;
-        case ECmdPenInputEditorCustomNumericKeyMap:
-            {
-            TDesC* res = (TDesC*)aParam;
-            TPtrC8 param;
-            param.Set((TUint8*)res->Ptr(), res->Size());
-            SendCommandToServer( aCommandId, param ); 
-            SetNumberModeKeyMappingL
-                ( ( TAknEditorNumericKeymap )EKeymapFromResource );                   
-            }
-            break;
-        case ECmdPenInputSuggestRange:
-            iSuggestedRange = aParam;
-            if( iSuggestedRange == ERangeAccent )
-                {
-                iSuggestedRange = ERangeEnglish;
-                }
-            break;
-        case ECmdPenInputSendEditorTextAndCurPos:
-            {
-            TFepInputContextFieldData* pIcfData = 
-                reinterpret_cast<TFepInputContextFieldData*>( aParam );
-            TInt dataSize = sizeof( TFepInputContextFieldData );
-            TInt textSize = pIcfData->iText.Size();
-            
-			HBufC8* buf = HBufC8::NewLC(dataSize + textSize + 2*sizeof(TInt));
-			TPtr8 bufPtr = buf->Des();
-			
-			RDesWriteStream writeStream;
-			writeStream.Open(bufPtr);
-			CleanupClosePushL(writeStream);
-			
-			writeStream.WriteInt32L(dataSize);
-			writeStream.WriteInt32L(textSize);
-			
-			const TUint8* pData = reinterpret_cast<const TUint8*>( pIcfData );
-			writeStream.WriteL( pData, dataSize );
-        		
-    		const TUint8* pText = reinterpret_cast<const TUint8*>( pIcfData->iText.Ptr() );
-		    writeStream.WriteL( pText, textSize );
-		    
-            writeStream.CommitL();
-        
-            SendCommandToServer( aCommandId, bufPtr );
-    
-			CleanupStack::PopAndDestroy(&writeStream);
-			CleanupStack::PopAndDestroy(buf);
-            }
-            break;
-        case ECmdPenInputFingerMatchList:
-            {
-            TFepInputAllCandidates* pCanData = reinterpret_cast<TFepInputAllCandidates*>(aParam);
-            TInt count = (*pCanData).iCandidates.Count();
-
-            TInt transferSize = 2 * sizeof(TInt);
-            RArray<TInt> sizeArray;
-            for (TInt i = 0; i < count; i++)
-                {
-                sizeArray.Append((*pCanData).iCandidates[i].Size());
-                transferSize += sizeArray[i] + sizeof(TInt);
-                }
-
-            HBufC8* buf = HBufC8::NewLC(transferSize);
-            TPtr8 bufPtr = buf->Des();
-
-            RDesWriteStream writeStream;
-            writeStream.Open(bufPtr);
-            CleanupClosePushL(writeStream);
-
-            writeStream.WriteInt32L(count);
-            writeStream.WriteInt32L(transferSize);
-
-            for (TInt i = 0; i < count; i++)
-                {
-                writeStream.WriteInt32L(sizeArray[i]);
-                const TUint16* piData = (*pCanData).iCandidates[i].Ptr();
-                writeStream.WriteL(piData, sizeArray[i]/2);
-                }
-			
-            writeStream.CommitL();
-        
-            SendCommandToServer( aCommandId, bufPtr );
-
-            sizeArray.Close();    
-			CleanupStack::PopAndDestroy(&writeStream);
-			CleanupStack::PopAndDestroy(buf);
-            
-            }
-            break;
-        case ECmdPenInputSetPromptText:
-            {
-            TFepPromptText* pPromptData = 
-                reinterpret_cast<TFepPromptText*>( aParam );
-                
-            TInt dataSize = sizeof( TFepPromptText );
-            TInt textSize = 0;
-            
-            if (pPromptData->iText.Length())
-                {
-                textSize = pPromptData->iText.Size();
-                }
-            
-			HBufC8* buf = HBufC8::NewLC(dataSize + textSize + 2*sizeof(TInt));
-			TPtr8 bufPtr = buf->Des();
-			
-			RDesWriteStream writeStream;
-			writeStream.Open(bufPtr);
-			CleanupClosePushL(writeStream);
-			
-			writeStream.WriteInt32L(dataSize);
-			writeStream.WriteInt32L(textSize);
-			
-			const TUint8* pData = reinterpret_cast<const TUint8*>( pPromptData );
-			writeStream.WriteL( pData, dataSize );
-        	
-        	if (textSize != 0)
-        	    {
-                const TUint16* pText = pPromptData->iText.Ptr();
-    		    writeStream.WriteL( pText, textSize/2 );
-        	    }
-		    
-            writeStream.CommitL();
-        
-            SendCommandToServer( aCommandId, bufPtr );
-    
-			CleanupStack::PopAndDestroy(&writeStream);
-			CleanupStack::PopAndDestroy(buf);
-            }
-            break;
-        case ECmdPenInputFingerMatchIndicator:
-            {
-            TFepIndicatorInfo* pIndicatorData = 
-                reinterpret_cast<TFepIndicatorInfo*>( aParam );
-            
-			HBufC8* buf = HBufC8::NewLC(4 * sizeof(TInt));
-			TPtr8 bufPtr = buf->Des();
-			
-			RDesWriteStream writeStream;
-			writeStream.Open(bufPtr);
-			CleanupClosePushL(writeStream);
-			
-            writeStream.WriteInt32L(pIndicatorData->iIndicatorImgID);
-            writeStream.WriteInt32L(pIndicatorData->iIndicatorMaskID);
-            writeStream.WriteInt32L(pIndicatorData->iIndicatorTextImgID);
-            writeStream.WriteInt32L(pIndicatorData->iIndicatorTextMaskID);
-		    
-            writeStream.CommitL();
-        
-            SendCommandToServer( aCommandId, bufPtr );
-    
-			CleanupStack::PopAndDestroy(&writeStream);
-			CleanupStack::PopAndDestroy(buf);			
-            }
-            break;
-        case ECmdPenInputSendEditMenuData:
-            {
-            TInt* commandList = reinterpret_cast<TInt*>( aParam );
-            
-            HBufC8* buf = HBufC8::NewLC( (*commandList+1) * sizeof(TInt));
-            TPtr8 bufPtr = buf->Des();
-      
-            RDesWriteStream writeStream;
-            writeStream.Open(bufPtr);
-            CleanupClosePushL(writeStream);
-      
-            writeStream.WriteInt32L(*commandList);
-            for (TInt i=1;i<=*commandList;i++)
-                {
-                writeStream.WriteInt32L(*(commandList+i));
-                }
-        
-            writeStream.CommitL();  
-            
-            SendCommandToServer( aCommandId, bufPtr );
-            
-            CleanupStack::PopAndDestroy(&writeStream);
-            CleanupStack::PopAndDestroy(buf);                          
-            }
-            break;
-            
-        case ECmdPenInputSymbolOfHardKeyOne:
-            {
-            TFepSymbolOfHardwareOne* pIndicatorData = 
-                reinterpret_cast<TFepSymbolOfHardwareOne*>( aParam );
-            
-            HBufC8* buf = HBufC8::NewLC(3 * sizeof(TInt));
-            TPtr8 bufPtr = buf->Des();
-            
-            RDesWriteStream writeStream;
-            writeStream.Open(bufPtr);
-            CleanupClosePushL(writeStream);
-            
-            writeStream.WriteInt32L(pIndicatorData->iSymbol1);
-            writeStream.WriteInt32L(pIndicatorData->iSymbol2);
-            writeStream.WriteInt32L(pIndicatorData->iSymbol3);
-            
-            writeStream.CommitL();
-        
-            SendCommandToServer( aCommandId, bufPtr );
-    
-            CleanupStack::PopAndDestroy(&writeStream);
-            CleanupStack::PopAndDestroy(buf);           
-            }
-            break;
-        default:
-            SendCommandToServer( aCommandId, aParam );
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::CloseUI
-// Close plugin layout UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::CloseUI()
-    {
-    iPenInputServer->ActivateLayout( EFalse ); 
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::ActivateUI
-// Activate plugin layout UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::ActivateUI()
-    {
-    iPenInputServer->ActivateLayout( ETrue );    
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::EditorMaxLength
-// Get max text length of layout UI ICF control.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CPluginFepManagerBase::EditorMaxLength()
-    {
-    return iMaxEditorLength;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SizeChanged
-// Handle screen size changed.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::ResourceChanged(TInt aType)
-    {
-    iPenInputServer->ResourceChanged(aType);
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetNextFepUI
-// Set underlining UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetNextFepUI( MAknFepManagerInterface* aNextUi )
-    {
-    iHkbUi = aNextUi;    
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SupportLanguage
-// Get support language in sepecfied mode.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CPluginFepManagerBase::SupportLanguage( TInt /*aMode*/ ) const
-    {
-    return iLanguage;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetInputLanguageL
-// Set current language.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetInputLanguageL( TLanguage aLanguage )
-    {
-    iLanguage = aLanguage;
-    //maybe language check is needed.
-    TInt lang = (TInt)aLanguage;
-    ASSERT( lang >=0 );
-    SendCommandToServer( ECmdPenInputLanguage, lang );       
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetFepAwareEditorText
-// Set editor text and cursor information to layout UI ICF control.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetFepAwareEditorText( 
-    const TFepInputContextFieldData& /*aIcfData*/ )
-    {
-    }
-    
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetMode
-// Set layout UI mode.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-#ifdef RD_INTELLIGENT_TEXT_INPUT          
-void CPluginFepManagerBase::SetMode( TInt aMode, TBool aPredictive, 
-                                     TBool aQwertyInputMode, TInt aKeyboardType)
-#else
-void CPluginFepManagerBase::SetMode( TInt aMode, TBool aPredictive, 
-                                     TBool aQwertyInputMode )
-#endif 
-    {
-    iHkbUi->SetMode( aMode, aPredictive, aQwertyInputMode );
-    }
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    TBool CPluginFepManagerBase::IsValidFnKeyPress() const
-    {
-    return EFalse;
-    }
-    TBool CPluginFepManagerBase::IsValidLongChrKeyPress() const
-    {
-    return EFalse;
-    }
-#endif
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetMode
-// Set layout UI current case.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetCase( TCase aCase )
-    {
-    iHkbUi->SetCase( aCase );
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::ExpireMultitapTimer
-// Compatibile with HKB UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::ExpireMultitapTimer()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::IsValidNumericLongKeyPress
-// Compatibile with HKB UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CPluginFepManagerBase::IsValidNumericLongKeyPress( TInt /*aKey*/ ) const
-    {
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::AddTextToUserDictionaryL
-// Compatibile with HKB UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::AddTextToUserDictionaryL( const TDesC& /*aText*/ )
-    {
-    }
-       
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::GetFormatOfFepInlineText
-// Compatibile with HKB UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::GetFormatOfFepInlineText( 
-                                TCharFormat& /*aFormat*/, 
-                                TInt& /*aNumberOfCharactersWithSameFormat*/, 
-                                TInt /*aPositionOfCharacter*/ ) const
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::IsValidShiftKeyPress
-// Compatibile with HKB UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CPluginFepManagerBase::IsValidShiftKeyPress() const
-    {
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetEditorContext
-// Compatibile with HKB UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetEditorContext( TInt /*aContext*/ )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetEditorContext
-// Compatibile with HKB UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetStarKeyFlag( TBool /*aSet*/ )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::CPluginFepManagerBase
-// C++ default constructor.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPluginFepManagerBase::CPluginFepManagerBase( CPenInputImePluginItut& aOwner,
-                                             RPeninputServer* aPenInputServer )
-    :iOwner( aOwner ), iPenInputServer( aPenInputServer )
-    {
-    iSuggestedRange = ERangeInvalid;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::BaseConstructL
-// Symbian 2nd phase constructor.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::BaseConstructL()
-    {
-    iRepository = CRepository::NewL( KCRUidAknFep );
-    }
-    
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetLayoutPermitedRanges
-// Set layout permited ranges.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetLayoutPermitedRanges( TInt aPermittedMode )
-    {
-    // Not derived from edwin
-	SendCommandToServer( ECmdPenInputPermittedRange, aPermittedMode == EAknEditorNumericInputMode  );
-	
-	/*if ( aPermittedMode == EAknEditorNumericInputMode ) 
-        {
-        iPermittedRange = ERangeNumber;         
-        }
-    else if ( aPermittedMode & EAknEditorTextInputMode )
-        {
-        // Derived from edwin and EAknEditorTextInputMode
-        iPermittedRange = ERangeNative | 
-                          ERangeNumber | 
-                          ERangeEnglish | 
-                          ERangeSymbol;
-        }
-    else if ( aPermittedMode & EAknEditorSecretAlphaInputMode ) 
-        {
-        // Derived from EAknEditorSecretAlphaInputMode 
-        iPermittedRange = ERangeNumber |
-                          ERangeEnglish | 
-                          ERangeSymbol;        
-        }
-    else
-        {
-        iPermittedRange = ERangeNative | 
-                          ERangeNumber | 
-                          ERangeEnglish | 
-                          ERangeSymbol;
-        }*/
-    }
-    
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetLayoutRange
-// Set layout primary range.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetLayoutRange( 
-    const CAknEdwinState* aEditorState )
-    {
-    if ( aEditorState )
-	    {
-	    SendCommandToServer( ECmdPenInputRange, 
-	                         aEditorState->Flags() & EAknEditorFlagLatinInputModesOnly ); 
-	    }
-    }
-    
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SendCommandToServer
-// Send command to pen input server utility function.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SendCommandToServer( TInt aCommandId )
-    {
-    iPenInputServer->HandleCommand( aCommandId );
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SendCommandToServer
-// Send command to pen input server utility function.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SendCommandToServer( TInt aCommandId, TInt aParam )
-    {
-    TBuf8<sizeof(TInt)> buf;
-    buf.Append( (TUint8*)&aParam, sizeof(TInt) );    
-    SendCommandToServer( aCommandId, buf );
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SendCommandToServer
-// Send command to pen input server utility function.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SendCommandToServer( TInt aCommandId, 
-                                                 const TDesC8& aParam )
-    {
-    iPenInputServer->HandleCommand( aCommandId, aParam );        
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::LayoutLastUsedRange
-// Get layout UI last used range.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CPluginFepManagerBase::LayoutLastUsedRange()
-    {
-    TInt value = 0;
-    if ( iRepository )
-        {
-        iRepository->Get( KAknFepLastUsedRange, value );
-        }
-        
-    return value;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetLayoutPosition
-// Set layout UI position.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetLayoutPosition( const TRect& pParam )
-    {
-    TBuf8<sizeof( TRect )> buf;
-    buf.Append( (TUint8*)&pParam, sizeof( pParam ) );
-    
-    SendCommandToServer( ECmdPenInputSetWindowPos, buf );
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::GetLocalLanguage
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TLanguage CPluginFepManagerBase::GetLocalLanguage( 
-    const CAknEdwinState* aEditorState ) const
-    {
-    TLanguage language = ELangTest;
-    // Check for a local language override
-    if ( aEditorState )
-        {
-        TInt aknEditorFlags = aEditorState->Flags()	;
-        if ( aknEditorFlags & EAknEditorFlagLatinInputModesOnly )
-            {
-            language = ELangEnglish;
-            }
-        else
-            {
-            language = aEditorState->LocalLanguage();
-            }
-        }
-
-    return language;
-    }
-
- // End Of File
--- a/fep/aknfep/peninputplugins/peninputimepluginitut/src/pluginfepmanageritut.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-/*
-* 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:            ITUT layout UI class implementation file.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// System includes
-#include <aknedsts.h>               // CAknEdwinState
-#include <peninputclient.h>
-
-// User includes
-#include "pluginfepmanageritut.h"
-#include "peninputimepluginitut.h"
-#include "eikon.hrh"
-
-// ======== MEMBER FUNCTIONS ========
-
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerItut::NewL
-// Factory function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPluginFepManagerItut* CPluginFepManagerItut::NewL( 
-    CPenInputImePluginItut& aOwner, RPeninputServer* aPenInputServer )
-    {
-    CPluginFepManagerItut* self = new ( ELeave ) CPluginFepManagerItut(
-         aOwner, aPenInputServer );
-    CleanupStack::PushL( self );
-    self->BaseConstructL(); 
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerItut::CPluginFepManagerItut
-// constructor
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPluginFepManagerItut::CPluginFepManagerItut( CPenInputImePluginItut& aOwner,
-                                            RPeninputServer* aPenInputServer )
-    :CPluginFepManagerBase( aOwner, aPenInputServer )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerItut::HandleKeyL
-// Handle key event.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CPluginFepManagerItut::HandleKeyL( TInt aKey, TKeyPressLength aLength, TEventCode /*aEventCode*/ )
-    {
-    TInt ret;
-    TPckgC<TInt> msgdata(aKey);
-    
-    if (aLength == ELongKeyPress)
-        {
-        iPenInputServer->HandleCommand(ECmdPenInputFingerLongKeyPress, msgdata, ret);
-        }
-    else
-        {
-        iPenInputServer->HandleCommand(ECmdPenInputFingerKeyPress, msgdata, ret);
-        }
-    
-    return ret == KErrNone ? ETrue:EFalse;
-    }
-
-// End Of File
--- a/fep/aknfep/peninputplugins/peninputimepluginitut/srcdata/2000B133.rss	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
-* Copyright (c) 1028 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:            Resource definitions for project peninputimepluginitut
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "registryinfo.rh"
-
-// Declares info for two implementations
-RESOURCE REGISTRY_INFO theInfo
-    {
-    // UID for the DLL
-    dll_uid = 0x2000B133;
-    // Declare array of interface info
-    interfaces = 
-        {
-        INTERFACE_INFO
-            {
-            // UID of interface that is implemented
-            interface_uid = 0x10207363;
-            implementations = 
-                {
-                // Info for CImplementation1
-                IMPLEMENTATION_INFO
-                    {
-                    implementation_uid = 0x2000B133;
-                    version_no = 1;
-                    display_name = "vitut touch input method plugin";
-                    //supported language
-                    default_data = "1||16||33||37||42||50||54||57||65||93||94||96";
-                    //supported IME impl id
-                    opaque_data= "16||33||37||42||50||54||57||93||94||96";
-                    }
-                };
-            }
-        };
-    }
-
-// End Of File
--- a/fep/aknfep/peninputplugins/peninputimepluginjp/group/bld.inf	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
-* Copyright (c) 2002-2007 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:            Build information file for project peninputimepluginjp
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-	
-PRJ_MMPFILES
-
-../group/peninputimepluginjp.mmp
-
-// End Of File
--- a/fep/aknfep/peninputplugins/peninputimepluginjp/group/peninputimepluginjp.mmp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
-* Copyright (c) 2002-2007 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:            Project definition file for project peninputimepluginjp
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include <bldvariant.hrh>
-#include <platform_paths.hrh>
-
-TARGET      peninputimepluginjp.dll
-TARGETTYPE  plugin
-UID         0x10009D8D 0x10282419
-
-CAPABILITY  CAP_ECOM_PLUGIN
-VENDORID    VID_DEFAULT
-
-SOURCEPATH  ../src
-
-SOURCE      peninputimepluginjpproxy.cpp
-SOURCE      peninputimepluginjp.cpp
-SOURCE      pluginfepmanagerbase.cpp
-SOURCE      pluginfepmanagerhwr.cpp
-SOURCE      pluginfepmanagervkb.cpp
-
-userinclude     ../inc
-
-// This is a SYSTEMINCLUDE macro containing the middleware
-// layer specific include directories
-MW_LAYER_SYSTEMINCLUDE
-
-SYSTEMINCLUDE   /epoc32/include/ecom
-SYSTEMINCLUDE   ../../../../../inc
-SYSTEMINCLUDE	../../../inc
-
-SOURCEPATH      ../srcdata
-
-START RESOURCE 10282419.rss
-#ifdef SYMBIAN_SECURE_ECOM
-TARGET peninputimepluginjp.rsc
-#endif
-END
-
-LIBRARY euser.lib
-LIBRARY ECom.lib
-LIBRARY centralrepository.lib
-LIBRARY eikcoctl.lib
-LIBRARY cone.lib 
-LIBRARY efsrv.lib
-LIBRARY estor.lib 
-LIBRARY FeatMgr.lib                // feature manager
-
-#ifdef RD_SCALABLE_UI_V2
-LIBRARY         peninputclient.lib
-#else
-LIBRARY         peninputserverstub.lib
-#endif
-
-// End Of File
--- a/fep/aknfep/peninputplugins/peninputimepluginjp/inc/peninputimepluginjp.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,280 +0,0 @@
-/*
-* Copyright (c) 2002-2007 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:            input mode plugin header file
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#ifndef C_PENINPUTIMEPLUGINCHN_H
-#define C_PENINPUTIMEPLUGINCHN_H
-
-//  INCLUDES
-#include <e32base.h>
-#include <peninputclient.h>
-#include <aknfeppeninputimeplugin.h>
-#include <eikon.hrh>
-#include <AknFepManagerInterface.h>
-//#include <AknFepManagerUIInterface.h>
-#include <aknfeppeninputenums.h>
-#include <AknFepGlobalEnums.h>
-
-// Forward declaration
-class MAknFepManagerInterface;
-class CAknEdwinState;
-class CRepository;
-class CPluginFepManagerBase;
-
-/**
- *  Pen input mode plugin Japanese implementation
- *
- *  @lib peninputimepluginjp.lib
- *  @since S60 v3.2
- */
-class CPenInputImePluginJp : public CAknFepPenInputImePlugin
-    {
-public:
-
-    /**
-     * Symbian constructor.
-     *
-     * @since S60 v3.2
-     * @param aInitParams Init data plugin, actually it is
-     *        a pointer of RPeninputServer.
-     * @return Pointer to created CPenInputImePluginJp object
-     */
-    static CPenInputImePluginJp* NewL(TAny* aInitParams);
-
-    static CPenInputImePluginJp* NewLC(TAny* aInitParams);
-
-    /**
-     * Destructor.
-     */
-    ~CPenInputImePluginJp();
-
-public: // From CAknFepPenInputImePlugin
-
-    /**
-     * Get layout UI interface
-     *
-     * @since S60 v3.2
-     * @param aFepManager Fep manager interface pointer
-     * @param aLanguage Language that layout UI need to support
-     * @param aMode Speicifed layout UI mode to create
-     * @param aData Initialization data.
-     *
-     * @return The layout UI interface..
-     */
-    MAknFepManagerInterface* GetInputMethodUiL(
-                            MAknFepManagerUIInterface* aFepManager,
-                            TLanguage aLanguage,
-                            TInt      aMode,
-                            const TDesC8& aData,
-                            const TBool aIsSplitView = EFalse);
-
-    /**
-     * Get layout UI interface
-     *
-     * @since S60 v3.2
-     * @param aFepManager Fep manager interface pointer
-     * @param aLayoutId Speicifed layout UI id to create
-     * @param aData Initialization data.
-     *
-     * @return The layout UI interface..
-     */
-    MAknFepManagerInterface* GetInputMethodUiL(
-                            MAknFepManagerUIInterface* aFepManager,
-                            TInt aLayoutId,
-                            const TDesC8& aData);
-
-    /**
-     * Activate current IME plugin.
-     *
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-    void Activate();
-
-    /**
-     * Deactivate current IME plugin.
-     *
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-    void DeActivate();
-
-    /**
-     * Get current IME plugin implementation ID.
-     *
-     * @since S60 v3.2
-     *
-     * @return IME plugin implementation id.
-     */
-    TInt ImeImplId();
-
-    /**
-     * Get current layout UI implementation id.
-     *
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-     TInt LayoutUiImplId();
-
-    /**
-     * Handle pen input server event.
-     *
-     * @param aEventId The event id, defined in <peninputcmd.h>
-     * @param aData The event related data.
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-     TBool HandleServerEventL(TInt aEventId, const TDesC& aData);
-
-    /**
-     * Get suppored layout UI modes(VKB/HWR).
-     *
-     * @since S60 v3.2
-     *
-     * @param aPtiEngine  A pointer to ptiengine
-     * @param aSupportList A reference to result ime plugin list
-     * @return Meaningless.
-     */
-     TInt SupportModes(CPtiEngine* aPtiEngine,
-                       RArray<TImePlguinImplDetail>& aSupportList) const;
-
-    /**
-     * Get current layout UI mode.
-     *
-     * @since S60 v3.2
-     *
-     * @return Current layout UI mode.
-     */
-     TInt CurrentMode() const;
-
-    /**
-     * Handle the menu command.The menu is launched by FEP
-     * The menu command is first passed to IME plugin, if
-     * this function return EFalse, FEP handles it defaultly.
-     *
-     * @param aCommandId The menu command id
-     * @return ETrue if IME plugin handled the command;
-     *         EFalse otherwise.
-     */
-    TBool HandleMenuCommandL(TInt aCommandId);
-
-    /**
-     * Dynamiclly update menu items during it displays.
-     *
-     * aMenuPane The menu pane pointer.
-     * @return None.
-     */
-    void DynInitMenuPaneL(CAknFepUiInterfaceMenuPane* aMenuPane);
-
-private:
-
-    /**
-     * C++ default constructor.
-     *
-     * @param aServer Pen input server pointer
-     */
-    CPenInputImePluginJp(RPeninputServer* aServer);
-
-    /**
-     * By default Symbian 2nd phase constructor is private.
-     *
-     * @return None
-     */
-    void ConstructL();
-
-    /**
-     * Enumuate all layout UI ids and save them to iUiLayoutImpIdList.
-     *
-     * @return None
-     */
-    void FindUiLayoutImplementationL();
-
-    /**
-     * Get HWR UI interface
-     *
-     * @return HWR UI pointer
-     */
-    CPluginFepManagerBase* GetHwrUiL();
-
-    /**
-     * Get VKB UI interface
-     *
-     * @return VKB UI pointer
-     */
-    CPluginFepManagerBase* GetVkbUiL();
-
-    /**
-     * Get current UI interface
-     *
-     * @return current UI pointer
-     */
-    inline CPluginFepManagerBase* GetCurrentUi();
-        
-    /**
-     * Get suppored layout UI modes(VKB/HWR).
-     * 
-     * @since S60 v3.2
-     *
-     * @param aPtiEngine  A pointer to ptiengine
-     * @param aSupportList A reference to result ime plugin list
-     * @return Meaningless.
-     */
-    TInt SupportModesL(CPtiEngine* aPtiEngine, 
-                       RArray<TImePlguinImplDetail>& aSupportList) const;
-                       
-private:
-
-    /**
-     * Pen input server pointer. Not own.
-     */
-    RPeninputServer* iPenInputServer;
-
-    /**
-     * Pen input server pointer. Not own.
-     */
-    RArray<TInt> iUiLayoutImpIdList;
-
-    /**
-     * Current layout UI mode.
-     */
-    TInt iPenInputMode;
-
-    /**
-     * Pen input server pointer. Not own.
-     */
-    RPointerArray<CPluginFepManagerBase> iAllUiManagers;
-
-    };
-
-#include "peninputimepluginjp.inl"
-
-#endif //C_PENINPUTIMEPLUGINCHN_H
-
-//End Of File
--- a/fep/aknfep/peninputplugins/peninputimepluginjp/inc/peninputimepluginjp.inl	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 2002-2007 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:            Inline file for Ime plugin Japan.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-const TInt KHwrLayoutInterfaceId = 0x102072FC; //this is for layout interface
-const TInt KInputMethodImplementationId = 0x10282419;
-const TInt KHwrUiId = 0x1028241B;
-const TInt KVkbUiId = 0x1028241A;
-const TInt KHwrUiIndex = 0;
-const TInt KVkbUiIndex = 1;
-
-inline CPluginFepManagerBase* CPenInputImePluginJp::GetCurrentUi()
-    {
-    switch(iPenInputMode)
-        {
-        case EPluginInputModeHwr:
-            return iAllUiManagers[KHwrUiIndex];
-        case EPluginInputModeVkb:
-            return iAllUiManagers[KVkbUiIndex];
-        default:
-            return NULL;
-        }
-    }
-
-//End Of File
--- a/fep/aknfep/peninputplugins/peninputimepluginjp/inc/peninputimepluginjpdebug.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-/*
-* Copyright (c) 2002-2007 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:            Debug utils API
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef PENINPUTIMEPLUGINCHSDEBUG_H
-#define PENINPUTIMEPLUGINCHSDEBUG_H
- 
-#ifdef _DEBUG
-    #define PRINT( txt )                    RDebug::Print( txt );
-    #define PRINTF( txt )                   RDebug::Print txt;
-    #define PRINT1( txt, arg1 )             RDebug::Print( txt, arg1 );
-    #define PRINT2( txt, arg1, arg2 )       RDebug::Print( txt, arg1, arg2 );
-    #define PRINT3( txt, arg1, arg2, arg3 ) RDebug::Print( txt, arg1, arg2, arg3 ); 
-#else 
-    #define PRINT( txt ) 
-    #define PRINTF( txt )                    
-    #define PRINT1( txt, arg1 ) 
-    #define PRINT2( txt, arg1, arg2 ) 
-    #define PRINT3( txt, arg1, arg2, arg3 ) 
-#endif
-
-
-// Record into log files
-#define USE_FILE_LOGGER
-
-#if defined (_DEBUG) && !defined(USE_FILE_LOGGER)                   
-    #define USE_SERIAL_LOGGER 
-#endif
-                                    
-#if defined (USE_FILE_LOGGER)
-    #include <flogger.h>
-    _LIT(KLogFile,"imepluginchn.txt");
-    _LIT(KLogFolder,"peninputime");
-    #define LOGTEXT(AAA)                RFileLogger::Write(KLogFolder(), \
-                                                           KLogFile(), \
-                                                           EFileLoggingModeAppend, \
-                                                           AAA)
-    #define LOGTEXT2(AAA,BBB)           RFileLogger::WriteFormat(KLogFolder(), \
-                                                                 KLogFile(), \
-                                                                 EFileLoggingModeAppend, \
-                                                                 TRefByValue<const TDesC>(AAA), \
-                                                                 BBB)
-    #define LOGTEXT3(AAA,BBB,CCC)       RFileLogger::WriteFormat(KLogFolder(), \
-                                                                 KLogFile(), \
-                                                                 EFileLoggingModeAppend, \
-                                                                 TRefByValue<const TDesC>(AAA), \
-                                                                 BBB, \
-                                                                 CCC)
-    #define LOGHEXDUMP(AAA,BBB,CCC,DDD) RFileLogger::HexDump(KLogFolder(), \
-                                                             KLogFile(), \
-                                                             EFileLoggingModeAppend, \
-                                                             AAA,\
-                                                             BBB,\
-                                                             CCC,\
-                                                             DDD)    
-#elif defined (USE_SERIAL_LOGGER) 
-    #include <e32svr.h>
-    #define LOGTEXT(AAA)                RDebug::Print(AAA)
-    #define LOGTEXT2(AAA,BBB)           RDebug::Print(AAA,BBB)
-    #define LOGTEXT3(AAA,BBB,CCC)       RDebug::Print(AAA,BBB,CCC)
-    #define LOGHEXDUMP(AAA,BBB,CCC,DDD)
-#else
-    #define LOGTEXT(AAA)                
-    #define LOGTEXT2(AAA,BBB)           
-    #define LOGTEXT3(AAA,BBB,CCC)       
-    #define LOGHEXDUMP(AAA,BBB,CCC,DDD) 
-#endif      
-
-#endif      // PENINPUTIMEPLUGINCHSDEBUG   
-            
-// End Of File
--- a/fep/aknfep/peninputplugins/peninputimepluginjp/inc/pluginfepmanagerbase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,519 +0,0 @@
-/*
-* Copyright (c) 2002-2007 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:            Layout UI interface base class
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#ifndef C_PLUGINFEPMANAGERBASE_H
-#define C_PLUGINFEPMANAGERBASE_H
-
-//Include
-#include <e32base.h>
-#include <frmtlay.h>
-#include <eikon.hrh>
-#include <AknFepManagerInterface.h>
-#include <peninputcmd.h>
-
-//Forward declaration
-class CPenInputImePluginJp;
-class RPeninputServer;
-class CAknEdwinState;
-class CRepository;
-/**
- *  CPluginFepManagerBase is the layout UI interface base class.
- *  It is something like a "proxy" class of layout UI plugin, sending
- *  commands from FEP to layout UI plugin.
- *
- *  @lib peninputimepluginjp.lib
- *  @since S60 v3.2
- */
-class CPluginFepManagerBase: public CBase, public MAknFepManagerInterface
-    {
-public:
-
-    /**
-     * Destructor.
-     */
-    ~CPluginFepManagerBase();
-
-    /**
-     * Initalize UI when first time starting up.
-     * The first time means when the instance created.
-     *
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-    virtual void OnInit();
-
-    /**
-     * Explicitly get ICF max length from layout UI and save the
-     * value to iMaxEditorLength.
-     *
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-    void RetrieveEditorMaxLength();
-
-    /**
-     * Update local copy of case mode when
-     * user change case in layout UI.
-     *
-     * @since S60 v3.2
-     *
-     * @param aCaseMode The case mode to save locally.
-     * @return None.
-     */
-    void UpdateCaseMode(TInt aCaseMode);
-
-// From MAknFepManagerInterface
-
-    /**
-     * Set layout UI current number mode key mapping.
-     * For example, 0-9 ; 0-9,*,# and etc.
-     *
-     * @since S60 v3.2
-     *
-     * @param aAknEditorNumericKeymap Key mapping enum value.
-     * @return None.
-     */
-    void SetNumberModeKeyMappingL(TAknEditorNumericKeymap aAknEditorNumericKeymap);
-
-    /**
-     * Handle key event.
-     * Since most plugin layout UIs are based on animation, they receive
-     * key and process key events before this function.
-     *
-     * @since S60 v3.2
-     *
-     * @param aKey Key event code.
-     * @param aLength Key press length.
-     * @return ETrue if processed, EFalse otherwise.
-     */
-    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength, TEventCode aEventCode = EEventKey);
-
-    /**
-     * Handle command come from FEP.
-     *
-     * @since S60 v3.2
-     *
-     * @param aCommandId Command id.
-     * @return None
-     */
-    void HandleCommandL(TInt aCommandId);
-
-    /**
-     * Handle command come from FEP.
-     *
-     * @since S60 v3.2
-     *
-     * @param aCommandId Command id.
-     * @param aParam  Command parameter.
-     * @return None.
-     */
-    void HandleCommandL(TInt aCommandId, TInt aParam);
-
-    /**
-     * Close plugin layout UI.
-     *
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-    void CloseUI();
-
-    /**
-     * Activate plugin layout UI.
-     *
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-    void ActivateUI();
-
-    /**
-     * Get max text length of layout UI ICF control.
-     *
-     * @since S60 v3.2
-     * @return Max ICF text length.
-     */
-    TInt EditorMaxLength();
-
-    /**
-     * When screen size changes, SizeChanged is called by FEP.
-     *
-     * @since S60 v3.2
-     * @return None.
-     */
-    void ResourceChanged(TInt aType);
-
-    /**
-     * Set underlining UI.
-     * Since plugin layout UI and HKB can be used at same time,
-     * HKB UI layout need to be notified after plugin layout UI
-     * processes some events
-     *
-     * @since S60 v3.2
-     * @param aNextUI The underlining UI pointer.
-     * @return None.
-     */
-    void SetNextFepUI(MAknFepManagerInterface* aNextUi);
-
-    /**
-     * Get support language in sepecfied mode.
-     * The method leaves here only for compatibility.
-     *
-     * @since S60 v3.2
-     *
-     * @param aMode Input mode.
-     * @return Language supported.
-     */
-    TInt SupportLanguage(TInt aMode) const;
-
-    /**
-     * Set current language, which is required by editor
-     *
-     * @since S60 v3.2
-     *
-     * @param aLanguage Language to set.
-     * @return None.
-     */
-    void SetInputLanguageL(TLanguage aLanguage);
-
-    /**
-     * Set editor text and cursor information to layout UI
-     * ICF control.
-     *
-     * @since S60 v3.2
-     * @param aTotalTextLen Total text length in eidtor.
-     * @param aStartPos Offset of aText to the start of editor text.
-     * @param aCursorSel Cursor position.
-     * @param aText A part of editor text start from aStartPos.
-     *
-     * @return None.
-     */
-    void SetFepAwareEditorText(const TFepInputContextFieldData& aIcfData);
-
-    /**
-     * Set layout UI mode.
-     * The method leaves here only for compatibility
-     *
-     * @since S60 v3.2
-     *
-     * @param aMode Mode to set.
-     * @param aPredictive Whether the current mode support predictive.
-     * @param aWwertyInputMode Whether the current HKB is qwerty.
-     * @return None.
-     */
-#ifdef RD_INTELLIGENT_TEXT_INPUT          
-    void SetMode(TInt aMode, TBool aPredictive, TBool aQwertyInputMode, 
-                 TInt aKeyboardType = EPtiKeyboardNone) ;
-#else
-    void SetMode(TInt aMode, TBool aPredictive, TBool aQwertyInputMode);
-#endif
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    virtual TBool IsValidFnKeyPress() const;
-    virtual TBool IsValidLongChrKeyPress() const;
-#endif
-
-    /**
-     * Set layout UI current case.
-     * The method leaves here only for compatibility. Since plugin layout
-     * UI is different from HKB tranditional UI, they use something like
-     * "case mode" other than case which is set by a FEP command.
-     *
-     * @since S60 v3.2
-     *
-     * @param aCase Case to set.
-     * @return None.
-     */
-    void SetCase(TCase aCase);
-
-    /**
-     * The method leaves here only for compatibility.
-     *
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-    void ExpireMultitapTimer();
-
-    /**
-     * The method leaves here only for compatibility.
-     *
-     * @since S60 v3.2
-     *
-     * @param aKey The key presssed.
-     * @return ETrue if long press, EFalse otherwise.
-     */
-    TBool IsValidNumericLongKeyPress(TInt aKey) const;
-
-    /**
-     * The method leaves here only for compatibility.
-     *
-     * @since S60 v3.2
-     *
-     * @param aText Text to add to user dictionary.
-     * @return None.
-     */
-    void AddTextToUserDictionaryL(const TDesC& aText);
-
-    /**
-     * The method leaves here only for compatibility.
-     *
-     * @since S60 v3.2
-     *
-     * @param aFormat On return, contains the formatting to
-     *        apply to the inline text (or to a portion of it).
-     * @param aNumberOfCharactersWithSameFormat  On return,
-              contains the number of characters in the inline
-              text (starting at aPositionOfCharacter)
-              which have the same formatting
-     * @param aPositionOfCharacter Start position within the inline text
-     * @return None.
-     */
-    void GetFormatOfFepInlineText(TCharFormat& aFormat,
-                                  TInt& aNumberOfCharactersWithSameFormat,
-                                  TInt aPositionOfCharacter) const;
-
-    /**
-     * The method leaves here only for compatibility.
-     *
-     * @since S60 v3.2
-     *
-     * @return ETrue if valid, EFalse otherwise.
-     */
-    TBool IsValidShiftKeyPress() const;
-
-    /**
-     * The method leaves here only for compatibility.
-     *
-     * @since S60 v3.2
-     *
-     * @return None.
-     */
-    void SetEditorContext(TInt aContext);
-
-    /**
-     * Set the Star key flag
-     *
-     * @param aSet TBool.
-     * @return None
-     */
-    void SetStarKeyFlag( TBool aSet );
-
-    /**
-     * Check the character width.
-     *
-     * @since S60 v3.2
-     *
-     * @return ETrue is Full-width.
-     */
-    TBool IsCharWidth() const;
-
-    /**
-     * Check the Japanese predictive.
-     *
-     * @since S60 v3.2
-     *
-     * @return ETrue is predictive on.
-     */
-    TBool IsJapanesePredictive() const;
-
-    /**
-     * Check the Japanese HWR conversion.
-     *
-     * @since S60 v3.2
-     *
-     * @return ETrue is Japanese HWR conversion on.
-     */
-    TBool IsJapaneseHwrConversion() const;
-
-protected:
-
-    /**
-     * C++ default constructor.
-     *
-     * @since S60 v3.2
-     * @param aOwner IME plugin pointer.
-     * @param aPenInputServer Pen input server pointer
-     */
-    CPluginFepManagerBase(CPenInputImePluginJp& aOwner,
-                          RPeninputServer* aPenInputServer);
-
-    /**
-     * By default Symbian 2nd phase constructor.
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    void BaseConstructL();
-
-    /**
-     * Set layout permited ranges.
-     *
-     * @param aPermittedMode Ranges of current editor allowed.
-     * @return None
-     */
-    virtual void SetLayoutPermitedRanges(TInt aPermittedRanges);
-
-    /**
-     * Set layout primary range.
-     *
-     * @since S60 v3.2
-     * @param aEditorState Current editor state.
-     * @return None
-     */
-    virtual void SetLayoutRange(const CAknEdwinState* aEditorState);
-
-    /**
-     * Send command to pen input server utility function.
-     *
-     * @since S60 v3.2
-     * @param aCommandId The command id to sent.
-     * @return None
-     */
-    void SendCommandToServer(TInt aCommandId);
-
-    /**
-     * Send command to pen input server utility function.
-     *
-     * @since S60 v3.2
-     * @param aCommandId The command id to sent.
-     * @param aParam The command param.
-     * @return None
-     */
-    void SendCommandToServer(TInt aCommandId, TInt aParam);
-
-    /**
-     * Send command to pen input server utility function.
-     *
-     * @since S60 v3.2
-     * @param aCommandId The command id to sent.
-     * @param aParam The command param.
-     * @return None
-     */
-    void SendCommandToServer(TInt aCommandId, const TDesC8& aParam);
-
-    /**
-     * Get layout UI last used range.
-     *
-     * @since S60 v3.2
-     * @return Range last used.
-     */
-    TInt LayoutLastUsedRange();
-
-    /**
-     * Set layout UI position.
-     * Move layout UI not to overlap with some editors.
-     *
-     * @since S60 v3.2
-     * @param aBottomRight The bottom right position of layout UI.
-     *        The value is only a suggest value, layout UI may adjust it.
-     * @return None.
-     */
-    void SetLayoutPosition(const TRect& aParam);
-
-    TLanguage GetLocalLanguage(const CAknEdwinState* aEditorState) const;
-
-    /**
-     * Save the current information.
-     *
-     * @since S60 v3.2
-     * @param aParam
-     */
-    void SaveCurrentInfo(const TInt aParam);
-
-protected:
-
-    /**
-     * IME plugin reference.
-     */
-    CPenInputImePluginJp& iOwner;
-
-    /**
-     * Pen input server pointer. Not own.
-     */
-    RPeninputServer* iPenInputServer;
-
-    /**
-     * The premitted range of current editor.
-     */
-    TInt iPermittedRange;
-
-    TInt iHkbMode;
-
-    /**
-     * Current language.
-     */
-    TLanguage    iLanguage;
-
-    /**
-     * The width of character, Full-width(ETrue)
-     * or Half-width(EFalse)
-     */
-    TBool iCharWidth;
-
-    /**
-     * Predictive is ON(ETrue) or OFF(EFalse).
-     */
-    TBool iPredictive;
-
-    /**
-     * Conversion is ON(ETrue) or OFF(EFalse).
-     */
-    TBool iConversion;
-
-private:
-
-    /**
-     * Repository object used to get last used range.
-     */
-    CRepository* iRepository;
-
-    /**
-     * Local copy of ICF max text length.
-     */
-    TInt iMaxEditorLength;
-
-    /**
-     * Local copy of layout current case mode
-     */
-    TInt iLastCase;
-
-    /**
-     * Underlineing UI interface
-     */
-    MAknFepManagerInterface* iHkbUi;
-
-    /**
-     * subrage for ERangeNative
-     */
-    TInt iSubRange;
-    };
-#endif // C_PLUGINFEPMANAGERBASE_H
-
-// End Of File
--- a/fep/aknfep/peninputplugins/peninputimepluginjp/inc/pluginfepmanagerhwr.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +0,0 @@
-/*
-* Copyright (c) 2002-2007 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:            HWR layout UI class header
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef C_PLUGINFEPMANAGERHWR_H
-#define C_PLUGINFEPMANAGERHWR_H
-
-//Include
-#include <e32base.h>
-#include "pluginfepmanagerbase.h"
-
-//Forward declaration
-class CPenInputImePluginJp;
-class RPeninputServer;
-
-/**
- *  CPluginFepManagerHwr is the Japanese HWR layout UI interface
- *  "proxy" class.
- *
- *  @lib peninputimepluginjp.lib
- *  @since S60 v3.2
- */
-class CPluginFepManagerHwr : public CPluginFepManagerBase
-    {
-public:
-    /**
-     * Symbian constructor.
-     *
-     * @since S60 v3.2
-     * @param aOwner IME plugin reference
-     * @param aPenInputServer The pointer of RPeninputServer.
-     * @return Pointer to created CPluginFepManagerHwr object
-     */
-    static CPluginFepManagerHwr* NewL(CPenInputImePluginJp& aOwner,
-                                      RPeninputServer* aPenInputServer);
-
-     /**
-     * Set layout UI current number mode key mapping.
-     * For example, 0-9 ; 0-9,*,# and etc.
-     *
-     * @since S60 v3.2
-     *
-     * @param aAknEditorNumericKeymap Key mapping enum value.
-     * @return None.
-     */
-   void SetNumberModeKeyMappingL(TAknEditorNumericKeymap aAknEditorNumericKeymap);
-
-    /**
-     * Handle command come from FEP.
-     *
-     * @since S60 v3.2
-     *
-     * @param aCommandId Command id.
-     * @param aParam  Command parameter.
-     * @return None.
-     */
-    void HandleCommandL(TInt aCommandId,TInt aParam);
-
-private:
-    /**
-     * C++ default constructor.
-     *
-     * @since S60 v3.2
-     * @param aOwner IME plugin reference
-     * @param aPenInputServer The pointer of RPeninputServer.
-     */
-    CPluginFepManagerHwr(CPenInputImePluginJp& aOwner,
-                         RPeninputServer* aPenInputServer);
-
-    /**
-     * Set layout primary range.
-     *
-     * @since S60 v3.2
-     * @param aEditorState Current editor state.
-     * @return None
-     */
-    void SetLayoutRange(const CAknEdwinState* aEditorState);
-
-private:
-    TInt iNumberKeyMapping;
-    };
-
-#endif // C_PLUGINFEPMANAGERHWR_H
-
-// End Of File
--- a/fep/aknfep/peninputplugins/peninputimepluginjp/inc/pluginfepmanagervkb.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-/*
-* Copyright (c) 2002-2007 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:            VKB layout UI class header
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#ifndef C_PLUGINFEPMANAGERVKB_H
-#define C_PLUGINFEPMANAGERVKB_H
-
-#include <e32base.h>
-#include "pluginfepmanagerbase.h"
-
-class CPenInputImePluginJp;
-
-/**
- *  CPluginFepManagerHwr is the Japanese VKB layout UI interface 
- *  "proxy" class.
- *
- *  @lib peninputimepluginjp.lib
- *  @since S60 v3.2
- */
-class CPluginFepManagerVkb : public CPluginFepManagerBase
-    {
-public:
-    /**
-     * Symbian constructor.
-     *
-     * @since S60 v3.2
-     * @param aOwner IME plugin reference 
-     * @param aPenInputServer The pointer of RPeninputServer.
-     * @return Pointer to created CPluginFepManagerHwr object
-     */
-    static CPluginFepManagerVkb* NewL(CPenInputImePluginJp& aOwner,
-                                      RPeninputServer* aPenInputServer);
-
-private:
-    /**
-     * C++ default constructor.
-     *
-     * @since S60 v3.2
-     * @param aOwner IME plugin reference 
-     * @param aPenInputServer The pointer of RPeninputServer.
-     */
-     
-    CPluginFepManagerVkb(CPenInputImePluginJp& aOwner,
-                         RPeninputServer* aPenInputServer);
-    };
-#endif // C_PLUGINFEPMANAGERVKB_H
-
-// End Of File
--- a/fep/aknfep/peninputplugins/peninputimepluginjp/src/peninputimepluginjp.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,539 +0,0 @@
-/*
-* Copyright (c) 2002-2007 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:            Input mode plugin implementation file
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-
-#include "peninputimepluginjp.h"
-#include <ecom.h>
-#include <AknFepManagerInterface.h>
-#include <eikmenup.h>
-#include <avkon.hrh>
-#include <aknfepuiinterface.h>
-#include <aknfepuimenus.h>
-#include <featmgr.h>
-
-#include "peninputimepluginjpdebug.h"
-#include "pluginfepmanagerhwr.h"
-#include "pluginfepmanagervkb.h"
-#include "pluginfepmanagerbase.h"
-
-
-const TInt KInvalidImplId = 0;
-
-_LIT(KHwrImeName, "Japanese HWR");
-_LIT(KVkbImeName, "Japanese VKB");
-
-// Implementation of Class CPenInputImePluginJp
-
-// -----------------------------------------------------------------------------
-// RImplInfoPtrArray cleanup function
-// -----------------------------------------------------------------------------
-//
-void Cleanup( TAny* aAny )
-    {
-    RImplInfoPtrArray* implArray =
-        reinterpret_cast< RImplInfoPtrArray*> ( aAny );
-    implArray->ResetAndDestroy();
-    implArray->Close();
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginJp::NewL
-// factory function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPenInputImePluginJp* CPenInputImePluginJp::NewL(TAny* aInitParams)
-    {
-    CPenInputImePluginJp* self = new(ELeave)CPenInputImePluginJp(
-                                        static_cast<RPeninputServer*>(aInitParams));
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginJp::NewLC
-// factory function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPenInputImePluginJp* CPenInputImePluginJp::NewLC(TAny* aInitParams)
-    {
-    CPenInputImePluginJp* self = new(ELeave) CPenInputImePluginJp(
-                                        static_cast<RPeninputServer*>(aInitParams));
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginJp::~CPenInputImePluginJp
-// destructor
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPenInputImePluginJp::~CPenInputImePluginJp()
-    {
-    DeActivate();
-    iUiLayoutImpIdList.Close();
-    iAllUiManagers.ResetAndDestroy();
-    REComSession::FinalClose();//cleanup ecom
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginJp::GetInputMethodUiL
-// Create layout UI interface
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-MAknFepManagerInterface* CPenInputImePluginJp::GetInputMethodUiL(
-                                        MAknFepManagerUIInterface* aFepManager,
-                                        TLanguage aLanguage,
-                                        TInt      aMode,
-                                        const TDesC8& /*aData*/,
-                                        const TBool aIsSplitView)
-    {
-    iFepManager = aFepManager;
-    iLanguage = aLanguage;
-    CPluginFepManagerBase* fepmanager = NULL;
-
-    TUid layoutId;
-    TInt i;
-
-    switch(aMode)
-        {
-        case EPluginInputModeHwr:
-            layoutId.iUid = KHwrUiId;
-            fepmanager = GetHwrUiL();
-            break;
-        case EPluginInputModeVkb:
-            layoutId.iUid = KVkbUiId;
-            fepmanager = GetVkbUiL();
-            break;
-        default:
-            return NULL;
-        }
-
-    for(i = 0; i < iUiLayoutImpIdList.Count(); ++i)
-        {
-        if(iUiLayoutImpIdList[i] == layoutId.iUid )
-            {
-            break;
-            }
-        }
-
-    if( i < iUiLayoutImpIdList.Count() )
-        {
-        iPenInputMode = aMode;
-        TInt errCode = iPenInputServer->SetUiLayoutId(layoutId);
-        if( errCode == KErrNone )
-            {
-            fepmanager->OnInit();
-            return fepmanager;
-            }
-        }
-
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginJp::GetInputMethodUiL
-// Create layout UI interface
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-MAknFepManagerInterface* CPenInputImePluginJp::GetInputMethodUiL(
-                                    MAknFepManagerUIInterface* aFepManager,
-                                    TInt aLayoutId,
-                                    const TDesC8& /*aData*/)
-    {
-    iFepManager = aFepManager;
-    CPluginFepManagerBase* fepmanager = NULL;
-    TInt i;
-    TInt mode;
-
-    if( aLayoutId == KHwrUiId)
-        {
-        mode = EPluginInputModeHwr;
-        fepmanager = GetHwrUiL();
-        }
-    else if( aLayoutId == KVkbUiId)
-        {
-        mode = EPluginInputModeVkb;
-        fepmanager = GetVkbUiL();
-        }
-    else
-        {
-        return NULL;
-        }
-
-    for(i = 0; i < iUiLayoutImpIdList.Count(); ++i)
-        {
-        if(iUiLayoutImpIdList[i] == aLayoutId )
-            {
-            break;
-            }
-        }
-
-    if( i < iUiLayoutImpIdList.Count() )
-        {
-        iPenInputMode = mode;
-        iPenInputServer->SetUiLayoutId(TUid::Uid(aLayoutId));
-        fepmanager->OnInit();
-        return fepmanager;
-        }
-
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginJp::Activate
-// Activate current IME plugin.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPenInputImePluginJp::Activate()
-    {
-    if(iPenInputServer)
-        {
-        iPenInputServer->ActivateLayout(ETrue);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginJp::DeActivate
-// Deactivate current IME plugin.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPenInputImePluginJp::DeActivate()
-    {
-    if (iPenInputServer && iPenInputServer->IsVisible())
-        {
-        iPenInputServer->ActivateLayout(EFalse);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginJp::ImeImplId
-// Get current IME plugin implementation ID.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CPenInputImePluginJp::ImeImplId()
-    {
-    return KInputMethodImplementationId;
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginJp::LayoutUiImplId
-// Get current layout UI implementation id.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CPenInputImePluginJp::LayoutUiImplId()
-    {
-    TInt id;
-    switch(iPenInputMode)
-        {
-        case EPluginInputModeHwr:
-            id = KHwrUiId;
-            break;
-        case EPluginInputModeVkb:
-            id = KVkbUiId;
-            break;
-        default:
-            id = KInvalidImplId;
-            break;
-        }
-    return id;
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginJp::SupportModes
-// Get suppored layout UI modes(VKB/HWR).
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CPenInputImePluginJp::SupportModes(CPtiEngine* aPtiEngine,
-                                             RArray<TImePlguinImplDetail>& aSupportList) const
-    {
-    TInt ret = 0;
-    TRAP_IGNORE( ret = SupportModesL( aPtiEngine, aSupportList ) );
-    return ret;
-    }
-    
-// -----------------------------------------------------------------------------
-// CPenInputImePluginJp::SupportModesL
-// Get suppored layout UI modes(VKB/HWR).
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CPenInputImePluginJp::SupportModesL(CPtiEngine* /*aPtiEngine*/,
-                                             RArray<TImePlguinImplDetail>& aSupportList) const 
-    {
-    RImplInfoPtrArray infoArray;
-    TUid id;
-    id.iUid = KHwrLayoutInterfaceId;
-    TBool hwr = EFalse;
-    TBool vkb = EFalse;
-
-    CleanupStack::PushL( TCleanupItem( Cleanup, &infoArray ) );
-    REComSession::ListImplementationsL(id, infoArray);
-
-    for (TInt i = 0; i < infoArray.Count(); ++i)
-        {
-        if(infoArray[i]->ImplementationUid().iUid == KHwrUiId )
-            {
-            hwr = ETrue;
-            }
-        if(infoArray[i]->ImplementationUid().iUid == KVkbUiId
-            && FeatureManager::FeatureSupported(KFeatureIdVirtualKeyboardInput))
-            {
-            vkb = ETrue;
-            }
-        }
-
-    TImePlguinImplDetail detail;
-
-    detail.iImplementationId = KInputMethodImplementationId;
-    if( hwr )
-        {
-        detail.iMode = EPluginInputModeHwr;
-        detail.iMeritValue = EImeMerit_Preferred;
-        detail.iDisplayName.Copy(KHwrImeName());
-        detail.iLanguage = ELangJapanese;
-        aSupportList.Append(detail);
-        detail.iLanguage = ELangEnglish;
-        detail.iMeritValue = EImeMerit_NotUsed;
-        aSupportList.Append(detail);
-        }
-
-    if( vkb )
-        {
-        detail.iMode = EPluginInputModeVkb;
-        detail.iMeritValue = EImeMerit_Preferred;
-        detail.iDisplayName.Copy(KVkbImeName());
-        detail.iLanguage = ELangJapanese;
-        aSupportList.Append(detail);
-        detail.iLanguage = ELangEnglish;
-        detail.iMeritValue = EImeMerit_NotUsed;
-        aSupportList.Append(detail);
-        }
-    CleanupStack::PopAndDestroy(&infoArray); // infoArray
-
-    return 0;
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginJp::CurrentMode
-// Get current layout UI mode.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CPenInputImePluginJp::CurrentMode() const
-    {
-    return iPenInputMode;
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginJp::HandleServerEventL
-// Handle pen input server event..
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CPenInputImePluginJp::HandleServerEventL(TInt aEventId, const TDesC& aData)
-    {
-    TBool bHandled = EFalse;
-    switch( aEventId )
-        {
-        case ESignalLayoutICFLengthChanged:
-            GetCurrentUi()->RetrieveEditorMaxLength();
-            break;
-        case ESignalCaseMode:
-            {
-            GetCurrentUi()->UpdateCaseMode(*(TInt*)(aData.Ptr()));
-            }
-            break;
-        default:
-            break;
-        }
-
-    return bHandled;
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginJp::HandleMenuCommandL
-// Handle the menu command.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CPenInputImePluginJp::HandleMenuCommandL(TInt aCommandId)
-    {
-    TBool ret = EFalse;
-    switch(aCommandId)
-        {
-        // not handle the following command ids.
-        case EPenInputJpCmdFullWidth:
-        case EPenInputJpCmdHalfWidth:
-            break;
-        case EPenInputJpCmdConversionOn:
-        case EPenInputJpCmdConversionOff:
-            break;
-        case EPenInputJpCmdPredictiveOn:
-        case EPenInputJpCmdPredictiveOff:
-            break;
-        case EPenInputJpCmdSaveWord:
-        case EPenInputJpCmdKutenCode:
-        default:
-            break;
-        }
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginJp::DynInitMenuPaneL
-// Dynamiclly update menu items during it displays.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPenInputImePluginJp::DynInitMenuPaneL(CAknFepUiInterfaceMenuPane* aMenuPane)
-    {
-    TBool dimmmenu;
-    CPluginFepManagerBase* manager = GetCurrentUi();
-    if (manager)
-        {
-        dimmmenu = (manager->IsCharWidth())? ETrue: EFalse;
-        aMenuPane->SetItemDimmed(EPenInputJpCmdFullWidth, dimmmenu);
-        aMenuPane->SetItemDimmed(EPenInputJpCmdHalfWidth, !dimmmenu);
-        if (iPenInputMode == EPluginInputModeHwr)
-            {
-            dimmmenu = (manager->IsJapaneseHwrConversion())? ETrue: EFalse;
-            aMenuPane->SetItemDimmed(EPenInputJpCmdConversionOn, dimmmenu);
-            aMenuPane->SetItemDimmed(EPenInputJpCmdConversionOff, !dimmmenu);
-            }
-        else
-            {
-            aMenuPane->SetItemDimmed(EPenInputJpCmdConversionOn, ETrue);
-            aMenuPane->SetItemDimmed(EPenInputJpCmdConversionOff, ETrue);
-            }
-        dimmmenu = (manager->IsJapanesePredictive())? ETrue: EFalse;
-        aMenuPane->SetItemDimmed(EPenInputJpCmdPredictiveOn, dimmmenu);
-        aMenuPane->SetItemDimmed(EPenInputJpCmdPredictiveOff, !dimmmenu);
-
-        aMenuPane->SetItemDimmed(EPenInputJpCmdSaveWord, EFalse);
-        aMenuPane->SetItemDimmed(EPenInputJpCmdKutenCode, EFalse);
-        }
-    aMenuPane->SetItemDimmed(EPenInputCmdHwrTraining, ETrue);
-    }
-
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginJp::CPenInputImePluginJp
-// C++ default constructor.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPenInputImePluginJp::CPenInputImePluginJp(RPeninputServer* aHwrServer)
-: iPenInputServer(aHwrServer)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginJp::ConstructL
-// 2nd phase constructor.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPenInputImePluginJp::ConstructL()
-    {
-    FindUiLayoutImplementationL();
-    //Append NULL to save HWR manager position
-    iAllUiManagers.Append(NULL);
-    //Append NULL to save VKB manager position
-    iAllUiManagers.Append(NULL);
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginJp::FindUiLayoutImplementationL
-// Enumuate all layout UI ids.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPenInputImePluginJp::FindUiLayoutImplementationL()
-    {
-    RImplInfoPtrArray infoArray;
-    TUid id;
-    id.iUid = KHwrLayoutInterfaceId;
-
-    iUiLayoutImpIdList.Reset();
-    CleanupStack::PushL( TCleanupItem( Cleanup, &infoArray ) );
-    REComSession::ListImplementationsL(id, infoArray);
-
-    for (TInt i = 0; i < infoArray.Count(); ++i)
-        {
-        iUiLayoutImpIdList.AppendL(infoArray[i]->ImplementationUid().iUid);
-        }
-
-    CleanupStack::PopAndDestroy(&infoArray); // infoArray
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginJp::GetHwrUi
-// Get HWR UI interface.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPluginFepManagerBase* CPenInputImePluginJp::GetHwrUiL()
-    {
-    if( !iAllUiManagers[KHwrUiIndex] )
-        {
-        iAllUiManagers[KHwrUiIndex] = CPluginFepManagerHwr::NewL(*this, iPenInputServer);
-        }
-
-    return iAllUiManagers[KHwrUiIndex];
-    }
-
-// -----------------------------------------------------------------------------
-// CPenInputImePluginJp::GetVkbUi
-// Get VKB UI interface.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPluginFepManagerBase* CPenInputImePluginJp::GetVkbUiL()
-    {
-    if( !iAllUiManagers[KVkbUiIndex] )
-        {
-        iAllUiManagers[KVkbUiIndex] = CPluginFepManagerVkb::NewL(*this, iPenInputServer);
-        }
-
-    return iAllUiManagers[KVkbUiIndex];
-    }
-
-//End Of File
--- a/fep/aknfep/peninputplugins/peninputimepluginjp/src/peninputimepluginjpmain.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* Copyright (c) 2002-2007 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:            Implementation to E32Dll
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include <e32base.h>
-
-/** DLL Entry point */
-#ifndef EKA2
-GLDEF_C TInt E32Dll(TDllReason /*aReason*/)
-	{
-	return(KErrNone);
-	}
-#endif
-
-//End Of File
--- a/fep/aknfep/peninputplugins/peninputimepluginjp/src/peninputimepluginjpproxy.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 2002-2007 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:            Implementation to Proxy
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-
-#include <e32std.h>
-#include <implementationproxy.h>
-
-#include "peninputimepluginjp.h"
-
-// Map the interface UIDs to implementation factory functions
-const TImplementationProxy ImplementationTable[] =
-    {
-    IMPLEMENTATION_PROXY_ENTRY(0x10282419,    CPenInputImePluginJp::NewL)
-    };
-
-// Exported proxy for instantiation method resolution
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
-    {
-    aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
-
-    return ImplementationTable;
-    }
-
-//End Of File
--- a/fep/aknfep/peninputplugins/peninputimepluginjp/src/pluginfepmanagerbase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,762 +0,0 @@
-/*
-* Copyright (c) 2002-2007 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:            Layout UI interface base class implementation
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include <w32std.h>
-#include <s32mem.h> 
-#include <aknedsts.h>               //CAknEdwinState
-#include <centralrepository.h>
-
-#include "pluginfepmanagerbase.h"
-#include "peninputimepluginjp.h"
-#include <peninputclient.h>
-#include <aknfeppeninputenums.h>
-#include <AknFepInternalCRKeys.h>
-
-// Implementation of Class CPluginFepManagerBase
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::CPluginFepManagerBase
-// destructor
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPluginFepManagerBase::~CPluginFepManagerBase()
-    {
-    delete iRepository;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::OnInit
-// Initalize UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::OnInit()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::RetrieveEditorMaxLength
-// Explicitly get ICF max length from layout UI .
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::RetrieveEditorMaxLength()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::UpdateCaseMode
-// Update local copy of case mode.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::UpdateCaseMode(TInt aCaseMode)
-    {
-    iLastCase = aCaseMode;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetNumberModeKeyMappingL
-// Set layout UI current number mode.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetNumberModeKeyMappingL(
-                                            TAknEditorNumericKeymap aAknEditorNumericKeymap)
-    {
-    SendCommandToServer(ECmdPenInputEditorNumericKeyMap, aAknEditorNumericKeymap);
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::HandleKeyL
-// Handle key event.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CPluginFepManagerBase::HandleKeyL(TInt aKey, TKeyPressLength aLength, TEventCode /*aEventCode*/)
-    {
-    return iHkbUi->HandleKeyL(aKey, aLength);
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::HandleCommandL
-// Handle command come from FEP.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::HandleCommandL(TInt aCommandId)
-    {
-    SendCommandToServer(aCommandId);
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::HandleCommandL
-// Handle command come from FEP.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::HandleCommandL(TInt aCommandId,TInt aParam)
-    {
-    switch(aCommandId)
-        {
-        case ECmdPenInputRange:
-            iHkbMode = aParam;
-            break;
-        case ECmdPenInputPermittedRange:
-            iLastCase = ECaseInvalide;
-            SetLayoutPermitedRanges(aParam);
-            break;
-        case ECmdPenInputEditorState:
-            SetLayoutRange(reinterpret_cast<CAknEdwinState*>(aParam));
-            break;
-        case ECmdPenInputSetWindowPos:
-            SetLayoutPosition(*reinterpret_cast<TRect*>(aParam));
-            break;
-        case ECmdPenInputCaseMode:
-            {
-            SendCommandToServer(ECmdPenInputCase, aParam);
-            iLastCase = aParam;
-            }
-            break;
-        case ECmdPenInputEditorCustomNumericKeyMap:
-            {
-            TDesC* res = (TDesC*)aParam;
-            TPtrC8 param;
-            param.Set((TUint8*)res->Ptr(), res->Size());
-            SendCommandToServer( aCommandId, param );
-            SetNumberModeKeyMappingL((TAknEditorNumericKeymap)EKeymapFromResource);
-            }
-            break;
-        case ECmdPenInputJapaneseSetting:
-            {
-            SaveCurrentInfo(aParam);
-            SendCommandToServer(aCommandId, aParam);
-            }
-            break;
-        case ECmdPenInputJapaneseSetSubRange:
-            {
-            iSubRange = aParam;
-            }
-            break;
-        case ECmdPenInputJapaneseGetModeOfSubRange:
-            {
-            TInt newMode = *((TInt*)aParam);
-            if(iSubRange == ERangeFullWidthEnglish)
-                {
-                newMode = ELatin;
-                }
-            else if( iSubRange == ERangeFullWidthNumeric )
-                {
-                newMode = ENumber;
-                }
-            else if( iSubRange == ERangeKatakana ||
-                     iSubRange == ERangeFullWidthKatakana )
-                {
-                newMode = EKatakana;
-                }
-
-            else if( iSubRange == ERangeHiraganaKanji )
-                {
-                newMode = EHiraganaKanji;
-                }
-            else if( iSubRange == ERangeHiraganaOnly )
-                {
-                newMode = EHiragana;
-                }
-            *((TInt*)aParam) = newMode;
-            }
-            break;
-        case ECmdPenInputSendEditorTextAndCurPos:
-            {
-            TFepInputContextFieldData* pIcfData = 
-                reinterpret_cast<TFepInputContextFieldData*>( aParam );
-
-            TInt dataSize = sizeof( TFepInputContextFieldData );
-            TInt textSize = pIcfData->iText.Size();
-
-            HBufC8* buf = HBufC8::NewLC(dataSize + textSize + 2*sizeof(TInt));
-            TPtr8 bufPtr = buf->Des();
-
-            RDesWriteStream writeStream;
-            writeStream.Open(bufPtr);
-            CleanupClosePushL(writeStream);
-
-            writeStream.WriteInt32L(dataSize);
-            writeStream.WriteInt32L(textSize);
-
-            const TUint8* pData = reinterpret_cast<const TUint8*>( pIcfData );
-            writeStream.WriteL( pData, dataSize );
-                
-            const TUint8* pText = reinterpret_cast<const TUint8*>( pIcfData->iText.Ptr() );
-            writeStream.WriteL( pText, textSize );
-            
-            writeStream.CommitL();
-
-            SendCommandToServer( aCommandId, bufPtr );
-
-            CleanupStack::PopAndDestroy(&writeStream);
-            CleanupStack::PopAndDestroy(buf);
-            }
-            break;
-        default:
-            SendCommandToServer(aCommandId, aParam);
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::CloseUI
-// Close plugin layout UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::CloseUI()
-    {
-    if (iPenInputServer->IsVisible())
-        {
-        iPenInputServer->ActivateLayout(EFalse);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::ActivateUI
-// Activate plugin layout UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::ActivateUI()
-    {
-    iPenInputServer->ActivateLayout(ETrue);
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::EditorMaxLength
-// Get max text length of layout UI ICF control.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CPluginFepManagerBase::EditorMaxLength()
-    {
-    return iMaxEditorLength;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::ResourceChanged
-// Handle screen size changed.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::ResourceChanged(TInt aType)
-    {
-    iPenInputServer->ResourceChanged(aType);
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetNextFepUI
-// Set underlining UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetNextFepUI(MAknFepManagerInterface* aNextUi)
-    {
-    iHkbUi = aNextUi;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SupportLanguage
-// Get support language in sepecfied mode.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CPluginFepManagerBase::SupportLanguage(TInt /*aMode*/) const
-    {
-    return iLanguage;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetInputLanguageL
-// Set current language.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetInputLanguageL(TLanguage aLanguage)
-    {
-    iLanguage = aLanguage;
-    if( iLanguage == ELangJapanese )
-        {
-        SendCommandToServer(ECmdPenInputLanguage, (TInt)aLanguage);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetFepAwareEditorText
-// Set editor text and cursor information to layout UI ICF control.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetFepAwareEditorText(const TFepInputContextFieldData& aIcfData)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetMode
-// Set layout UI mode.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-#ifdef RD_INTELLIGENT_TEXT_INPUT          
-void CPluginFepManagerBase::SetMode( TInt aMode, TBool aPredictive, 
-                                     TBool aQwertyInputMode, TInt aKeyboardType)
-#else
-void CPluginFepManagerBase::SetMode( TInt aMode, TBool aPredictive, 
-                                     TBool aQwertyInputMode )
-#endif 
-    {
-    iHkbUi->SetMode(aMode, aPredictive, aQwertyInputMode);
-    }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    TBool CPluginFepManagerBase::IsValidFnKeyPress() const
-    {
-    return EFalse;
-    }
-    TBool CPluginFepManagerBase::IsValidLongChrKeyPress() const
-    {
-    return EFalse;
-    }
-#endif
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetMode
-// Set layout UI current case.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetCase(TCase aCase)
-    {
-    iHkbUi->SetCase(aCase);
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetMode
-// Compatibile with HKB UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::ExpireMultitapTimer()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::IsValidNumericLongKeyPress
-// Compatibile with HKB UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CPluginFepManagerBase::IsValidNumericLongKeyPress(TInt /*aKey*/) const
-    {
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::AddTextToUserDictionaryL
-// Compatibile with HKB UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::AddTextToUserDictionaryL(const TDesC& /*aText*/)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::GetFormatOfFepInlineText
-// Compatibile with HKB UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::GetFormatOfFepInlineText(
-                                TCharFormat& /*aFormat*/,
-                                TInt& /*aNumberOfCharactersWithSameFormat*/,
-                                TInt /*aPositionOfCharacter*/) const
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::IsValidShiftKeyPress
-// Compatibile with HKB UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CPluginFepManagerBase::IsValidShiftKeyPress() const
-    {
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetEditorContext
-// Compatibile with HKB UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetEditorContext(TInt /*aContext*/)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetStarKeyFlag
-// Set the Star key flag.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetStarKeyFlag( TBool /*aSet*/ )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::CPluginFepManagerBase
-// C++ default constructor.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPluginFepManagerBase::CPluginFepManagerBase(CPenInputImePluginJp& aOwner,
-                                             RPeninputServer* aPenInputServer)
-    :iOwner(aOwner), iPenInputServer(aPenInputServer), iSubRange(ERangeInvalid)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::BaseConstructL
-// Symbian 2nd phase constructor.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::BaseConstructL()
-    {
-    iRepository = CRepository::NewL(KCRUidAknFep);
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetLayoutPermitedRanges
-// Set layout permited ranges.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetLayoutPermitedRanges(TInt aPermittedMode)
-    {
-    //not derived from edwin
-    if ( aPermittedMode == EAknEditorNumericInputMode )
-        {
-        iPermittedRange = ERangeNumber;
-        }
-    else if (aPermittedMode & EAknEditorTextInputMode)
-        {
-        //derived from edwin and EAknEditorTextInputMode
-        iPermittedRange = ERangeHiraganaKanji |
-                          ERangeKatakana |
-                          ERangeFullWidthKatakana |
-                          ERangeFullWidthEnglish |
-                          ERangeFullWidthNumeric |
-                          ERangeNumber |
-                          ERangeEnglish |
-                          ERangeSymbol;
-        }
-    else if (aPermittedMode & EAknEditorSecretAlphaInputMode )
-        {
-        //derived from EAknEditorSecretAlphaInputMode
-        iPermittedRange = ERangeNumber |
-                          ERangeEnglish |
-                          ERangeSymbol;
-        }
-    else
-        {
-        iPermittedRange = ERangeInvalid;
-        if (aPermittedMode & EAknEditorNumericInputMode )
-            {
-            iPermittedRange |= ERangeNumber | ERangeSymbol;
-            }
-        if (aPermittedMode & EAknEditorKatakanaInputMode )
-            {
-            iPermittedRange |= ERangeKatakana;
-            }
-        if (aPermittedMode & EAknEditorFullWidthTextInputMode )
-            {
-            iPermittedRange |= ERangeFullWidthEnglish;
-            }
-        if (aPermittedMode & EAknEditorFullWidthNumericInputMode )
-            {
-            iPermittedRange |= ERangeFullWidthNumeric;
-            }
-        if (aPermittedMode & EAknEditorFullWidthKatakanaInputMode )
-            {
-            iPermittedRange |= ERangeFullWidthKatakana;
-            }
-        if (aPermittedMode & EAknEditorHiraganaKanjiInputMode )
-            {
-            iPermittedRange |= ERangeHiraganaKanji;
-            }
-        if (aPermittedMode & EAknEditorHiraganaInputMode )
-            {
-            iPermittedRange |= ERangeHiraganaOnly;
-            }
-        if (aPermittedMode & EAknEditorHalfWidthTextInputMode )
-            {
-            iPermittedRange |= ERangeEnglish;
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetLayoutRange
-// Set layout primary range.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetLayoutRange(const CAknEdwinState* aEditorState)
-    {
-    //calculate permitted ranges
-    if(aEditorState)
-        {
-        if( aEditorState->Flags() & EAknEditorFlagLatinInputModesOnly )
-            {
-            iPermittedRange &= (ERangeNumber |
-                                ERangeEnglish |
-                                ERangeSymbol);
-            }
-        }
-
-    SendCommandToServer(ECmdPenInputPermittedRange, iPermittedRange);
-
-    TInt priRange;
-    if( !aEditorState )
-        {
-        //if editor state is null,which indicates that
-        //the editor is not derived from edwin
-        priRange = ERangeNumber;
-        }
-    else
-        {
-        //if still not get, then set according to default input mode
-        switch(iHkbMode)
-            {
-            case ELatin:
-                priRange = (iCharWidth)? ERangeFullWidthEnglish: ERangeEnglish;
-                break;
-            case ENumber:
-                priRange = (iCharWidth)? ERangeFullWidthNumeric : ERangeNumber;
-                break;
-            case EHiraganaKanji:
-                priRange = ERangeHiraganaKanji;
-                break;
-            case EKatakana:
-                priRange = (iCharWidth)? ERangeFullWidthKatakana : ERangeKatakana;
-                break;
-            case EHiragana:
-                priRange = ERangeHiraganaOnly;
-                break;
-            default:
-                {
-                TInt defaultInputMode = aEditorState->DefaultInputMode();
-                switch(defaultInputMode)
-                    {
-                    case EAknEditorNumericInputMode:
-                        priRange = ERangeNumber ;
-                        break;
-                    case EAknEditorTextInputMode:
-                        {
-                        TLanguage editorLan = GetLocalLanguage(aEditorState);
-                        priRange = ERangeEnglish;
-
-                        if( editorLan == ELangTest)
-                            {
-                            editorLan = iLanguage;
-                            }
-                        if( editorLan == ELangJapanese )
-                            {
-                            //load last use range
-                            TInt lastUsedRange = LayoutLastUsedRange();
-                            if( lastUsedRange != ELangJapanese )
-                                {
-                                //invalid repository key value or first time use HWR,
-                                priRange = ERangeHiraganaKanji;
-                                }
-                            else
-                                {
-                                priRange = lastUsedRange;
-                                }
-                            }
-                        }
-                        break;
-                    default:
-                        priRange = ERangeEnglish ;
-                        break;
-                    }
-                }
-            }
-        }
-
-    SendCommandToServer(ECmdPenInputRange, priRange);
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SendCommandToServer
-// Send command to pen input server utility function.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SendCommandToServer(TInt aCommandId)
-    {
-    iPenInputServer->HandleCommand(aCommandId);
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SendCommandToServer
-// Send command to pen input server utility function.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SendCommandToServer(TInt aCommandId, TInt aParam)
-    {
-    TBuf8<sizeof(TInt)> buf;
-    buf.Append((TUint8*)&aParam,sizeof(TInt));
-    SendCommandToServer(aCommandId, buf);
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SendCommandToServer
-// Send command to pen input server utility function.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SendCommandToServer(TInt aCommandId, const TDesC8& aParam)
-    {
-    iPenInputServer->HandleCommand(aCommandId, aParam);
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::LayoutLastUsedRange
-// Get layout UI last used range.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CPluginFepManagerBase::LayoutLastUsedRange()
-    {
-    TInt value = 0;
-    if( iRepository )
-        {
-        iRepository->Get(KAknFepLastUsedRange, value);
-        }
-
-    return value;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetLayoutPosition
-// Set layout UI position.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetLayoutPosition(const TRect& pParam)
-    {
-    TBuf8<sizeof(TRect)> buf;
-    buf.Append((TUint8*)&pParam, sizeof(pParam));
-
-    SendCommandToServer(ECmdPenInputSetWindowPos, buf);
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::GetLocalLanguage
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TLanguage CPluginFepManagerBase::GetLocalLanguage(
-                const CAknEdwinState* aEditorState) const
-    {
-    TLanguage language = ELangTest;
-    // Check for a local language override
-    if (aEditorState)
-        {
-        TInt aknEditorFlags = aEditorState->Flags() ;
-        if (aknEditorFlags & EAknEditorFlagLatinInputModesOnly)
-            {
-            language = ELangEnglish;
-            }
-        else
-            {
-            language = aEditorState->LocalLanguage();
-            }
-        }
-    return language;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SaveCurrentInfo
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SaveCurrentInfo(const TInt aParam)
-    {
-    iCharWidth = (aParam & EPenInputJapaneseSettingCharacterWidth)?
-                        ETrue : EFalse;
-    iPredictive = (aParam & EPenInputJapaneseSettingPredictive)?
-                        ETrue : EFalse;
-    iConversion = (aParam & EPenInputJapaneseSettingConversion)?
-                        ETrue : EFalse;
-
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::IsCharWidth
-// Check the character width.
-// -----------------------------------------------------------------------------
-//
-TBool CPluginFepManagerBase::IsCharWidth() const
-    {
-    return iCharWidth;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::IsJapanesePredictive
-// Check the Japanese predictive.
-// -----------------------------------------------------------------------------
-//
-TBool CPluginFepManagerBase::IsJapanesePredictive() const
-    {
-    return iPredictive;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::IsJapaneseHwrConversion
-// Check the Japanese HWR conversion.
-// -----------------------------------------------------------------------------
-//
-TBool CPluginFepManagerBase::IsJapaneseHwrConversion() const
-    {
-    return iConversion;
-    }
-
- // End Of File
--- a/fep/aknfep/peninputplugins/peninputimepluginjp/src/pluginfepmanagerhwr.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,113 +0,0 @@
-/*
-* Copyright (c) 2002-2007 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:            HWR layout UI class implementation file.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "pluginfepmanagerhwr.h"
-#include "peninputimepluginjp.h"
-#include <aknfeppeninputenums.h>
-#include <aknedsts.h>               //CAknEdwinState
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerHwr::NewL
-// factory function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPluginFepManagerHwr* CPluginFepManagerHwr::NewL(CPenInputImePluginJp& aOwner,
-                                                 RPeninputServer* aPenInputServer)
-    {
-    CPluginFepManagerHwr* self = new(ELeave)CPluginFepManagerHwr(aOwner, aPenInputServer);
-    CleanupStack::PushL(self);
-    self->BaseConstructL();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerHwr::SetNumberModeKeyMappingL
-// Set layout UI current number mode key mapping.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerHwr::SetNumberModeKeyMappingL(
-    TAknEditorNumericKeymap aAknEditorNumericKeymap )
-    {
-    iNumberKeyMapping = aAknEditorNumericKeymap;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerHwr::HandleCommandL
-// Handle command come from FEP.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerHwr::HandleCommandL(TInt aCommandId,TInt aParam)
-    {
-    if( aCommandId == ECmdPenInputSetWindowPos)
-        {
-        return;
-        }
-    CPluginFepManagerBase::HandleCommandL(aCommandId, aParam);
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerHwr::CPluginFepManagerHwr
-// C++ default constructor.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPluginFepManagerHwr::CPluginFepManagerHwr(CPenInputImePluginJp& aOwner,
-                                           RPeninputServer* aPenInputServer)
-    :CPluginFepManagerBase(aOwner, aPenInputServer)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerHwr::SetLayoutRange
-// Set layout primary range.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerHwr::SetLayoutRange(const CAknEdwinState* aEditorState)
-    {
-    CPluginFepManagerBase::SetLayoutRange(aEditorState);
-
-    //set number key mapping
-    if ( iPermittedRange == ERangeNumber)
-        {
-        SendCommandToServer( ECmdPenInputEditorNumericKeyMap,
-                             iNumberKeyMapping );
-        }
-    else
-        {
-        //for alphanumeric editor, always use EAknEditorAlphanumericNumberModeKeymap
-        SendCommandToServer( ECmdPenInputEditorNumericKeyMap,
-                             EAknEditorAlphanumericNumberModeKeymap );
-        }
-    }
-
- // End Of File
--- a/fep/aknfep/peninputplugins/peninputimepluginjp/src/pluginfepmanagervkb.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
-* Copyright (c) 2002-2007 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:            VKB layout UI class implementation file.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "pluginfepmanagervkb.h"
-#include "peninputimepluginjp.h"
-#include "eikon.hrh"
-
-#include <aknedsts.h>               //CAknEdwinState
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerVkb::NewL
-// factory function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPluginFepManagerVkb* CPluginFepManagerVkb::NewL(CPenInputImePluginJp& aOwner,
-                                                 RPeninputServer* aPenInputServer)
-    {
-    CPluginFepManagerVkb* self = new(ELeave)CPluginFepManagerVkb(aOwner, aPenInputServer);
-    CleanupStack::PushL(self);
-    self->BaseConstructL(); 
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerVkb::CPluginFepManagerVkb
-// constructor
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPluginFepManagerVkb::CPluginFepManagerVkb(CPenInputImePluginJp& aOwner,
-                                           RPeninputServer* aPenInputServer)
-    :CPluginFepManagerBase(aOwner, aPenInputServer)
-    {
-    }
-
-// End Of File
--- a/fep/aknfep/peninputplugins/peninputimepluginjp/srcdata/10282419.rss	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
-* Copyright (c) 1028 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:            Resource definitions for project peninputimepluginjp
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "registryinfo.rh"
-
-// Declares info for two implementations
-RESOURCE REGISTRY_INFO theInfo
-	{
-	// UID for the DLL
-	dll_uid = 0x10282419;
-	// Declare array of interface info
-	interfaces = 
-		{
-		INTERFACE_INFO
-			{
-			// UID of interface that is implemented
-			interface_uid = 0x10207363;
-			implementations = 
-				{
-				// Info for CImplementation1
-				IMPLEMENTATION_INFO
-					{
-					implementation_uid = 0x10282419;
-					version_no = 1;
-					display_name = "Japanese Hwr input method plugin";
-					//supported language
-					default_data = "1||32||160";
-					//supported IME impl id
-					opaque_data= "32||160";
-					}
-				};
-			}
-		};
-	}
-
-// End Of File
--- a/fep/aknfep/resource/100056de.rss	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* Copyright (c) 1000 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:           
-*        AknFep ecom resource file.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
-
-RESOURCE REGISTRY_INFO theInfo
-	{
-	dll_uid = 0x100056de;
- 	interfaces = 
-		{		
-		INTERFACE_INFO
-			{
-			interface_uid = 0x1020233F;		
-			implementations =
-				{
-				IMPLEMENTATION_INFO 
-					{
-					implementation_uid = 0x101FD65A;
-					version_no = 1;
-					display_name = "AknFEP";
-					}
-				};
-			}
-		};
-	}
-
-// End of file
--- a/fep/aknfep/resource/AknFep.rss	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1937 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Resource file.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include <eikon.rh>
-#include <avkon.rh>
-#ifdef FF_DUAL_LANGUAGE_SUPPORT
-#include <avkon.hrh>
-#endif //FF_DUAL_LANGUAGE_SUPPORT
-
-#include "AknFepGlobalEnums.h"
-
-#include <avkon.rsg>
-#include <avkon.loc>
-#include <avkonsct.loc>
-
-#include <avkon.mbg>
-#include "AknFep.hrh"
-
-NAME AKFP
-
-RESOURCE RSS_SIGNATURE { }
-
-#define qtn_aknfep_text_case_character_set ".!?¿¡"<0xFF0E><0xFF01><0xFF1F><0x3002><0x3001>
-
-// Number mode star key mappings
-#define aknfep_number_mode_keymap_standard "*+pw"
-#define aknfep_number_mode_keymap_plain ""
-#define aknfep_number_mode_keymap_calculator "+-*/"
-#define aknfep_number_mode_keymap_converter "+-E"
-#define aknfep_number_mode_keymap_to_field "+"
-#define aknfep_number_mode_keymap_fixed_dialling "*+pw?"
-#define aknfep_number_mode_keymap_sat "*+"
-#define aknfep_number_mode_keymap_sat_hidden "*"
-
-#define qtn_aknfep_thai_sct_av1 <0x0e34>
-#define qtn_aknfep_thai_sct_av2 <0x0e31><0x0e36>
-#define qtn_aknfep_thai_sct_av3 <0x0e35><0x0e37>
-#define qtn_aknfep_thai_sct_bv1 <0x0e38>
-#define qtn_aknfep_thai_sct_bv2 <0x0e39>
-#define qtn_aknfep_thai_sct_tone <0x0e48><0x0e49><0x0e4a><0x0e4b>
-#define qtn_aknfep_thai_sct_bd <0x0e3a>
-#define qtn_aknfep_thai_sct_ad1 <0x0e4c><0x0e4d>
-#define qtn_aknfep_thai_sct_ad2 <0x0e47>
-#define qtn_aknfep_thai_sct_ad3 <0x0e4e>
-#define qtn_aknfep_thai_sct_non <0x0e2f><0x0e3f><0x0e46><0x0e4f>
-#define qtn_aknfep_thai_sct_non_thai_digit <0x0e50><0x0e51><0x0e52><0x0e53><0x0e54><0x0e55><0x0e56><0x0e57><0x0e58><0x0e59>
-#define qtn_aknfep_thai_sct_lv <0x0e40><0x0e41><0x0e42><0x0e43><0x0e44>
-#define qtn_aknfep_thai_sct_fv1 <0x0e30><0x0e32><0x0e33>
-#define qtn_aknfep_thai_sct_fv2 <0x0e45>
-#define qtn_aknfep_thai_sct_fv3 <0x0e24><0x0e26>
-#define qtn_aknfep_thai_sct_extra_zero_character <0x0030><0x0020><0x000a>
-
-
-RESOURCE SPECIAL_CHAR_TABLE r_aknfep_sct_numeric_mode_chars_standard
-    {
-    contents =
-        {
-        SCT_CHAR_SET
-            {
-            id = EAknSCTChiLatinInputModes;
-            chars = aknfep_number_mode_keymap_standard;
-            }
-        };
-    }
-
-RESOURCE SPECIAL_CHAR_TABLE r_aknfep_sct_numeric_mode_chars_calculator
-    {
-    contents =
-        {
-        SCT_CHAR_SET
-            {
-            id = EAknSCTChiLatinInputModes;
-            chars = aknfep_number_mode_keymap_calculator;
-            }
-        };
-    }
-
-RESOURCE SPECIAL_CHAR_TABLE r_aknfep_sct_numeric_mode_chars_converter
-    {
-    contents =
-        {
-        SCT_CHAR_SET
-            {
-            id = EAknSCTChiLatinInputModes;
-            chars = aknfep_number_mode_keymap_converter;
-            }
-        };
-    }
-
-RESOURCE SPECIAL_CHAR_TABLE r_aknfep_sct_numeric_mode_chars_fixed_dialling
-    {
-    contents =
-        {
-        SCT_CHAR_SET
-            {
-            id = EAknSCTChiLatinInputModes;
-            chars = aknfep_number_mode_keymap_fixed_dialling;
-            }
-        };
-    }
-
-RESOURCE SPECIAL_CHAR_TABLE r_aknfep_sct_numeric_mode_chars_sat
-    {
-    contents =
-        {
-        SCT_CHAR_SET
-            {
-            id = EAknSCTChiLatinInputModes;
-            chars = aknfep_number_mode_keymap_sat;
-            }
-        };
-    }
-
-RESOURCE SPECIAL_CHAR_TABLE r_aknfep_sct_numeric_mode_chars_to_field
-    {
-    contents =
-        {
-        SCT_CHAR_SET
-            {
-            id = EAknSCTChiLatinInputModes;
-            chars = aknfep_number_mode_keymap_to_field;
-            }
-        };
-    }
-
-RESOURCE SPECIAL_CHAR_TABLE r_aknfep_sct_thai_star_common
-    {
-    contents =
-        {
-        SCT_CHAR_SET
-            {
-            id = EAknSCTChiLatinInputModes;
-            chars = qtn_aknfep_thai_sct_non qtn_aknfep_thai_sct_non_thai_digit qtn_sct_special_characters_lower  ;
-            }
-        };
-    }
-
-RESOURCE SPECIAL_CHAR_TABLE r_aknfep_sct_thai_0_common
-    {
-    contents =
-        {
-        SCT_CHAR_SET
-            {
-            id = EAknSCTChiLatinInputModes;
-            chars = qtn_aknfep_thai_sct_lv qtn_aknfep_thai_sct_fv1 qtn_aknfep_thai_sct_fv2 qtn_aknfep_thai_sct_fv3 qtn_aknfep_thai_sct_extra_zero_character;
-            }
-        };
-    }
-
-RESOURCE SPECIAL_CHAR_TABLE r_aknfep_sct_thai_star_cons
-    {
-    contents =
-        {
-        SCT_CHAR_SET
-            {
-            id = EAknSCTChiLatinInputModes;
-            chars = qtn_aknfep_thai_sct_av1 qtn_aknfep_thai_sct_av2 qtn_aknfep_thai_sct_av3 qtn_aknfep_thai_sct_bv1 qtn_aknfep_thai_sct_bv2 qtn_aknfep_thai_sct_tone qtn_aknfep_thai_sct_bd qtn_aknfep_thai_sct_ad1 qtn_aknfep_thai_sct_ad2 qtn_aknfep_thai_sct_ad3 qtn_aknfep_thai_sct_non qtn_aknfep_thai_sct_non_thai_digit qtn_sct_special_characters_lower ;
-            }
-        };
-    }
-
-RESOURCE SPECIAL_CHAR_TABLE r_aknfep_sct_thai_0_cons
-    {
-    contents =
-        {
-        SCT_CHAR_SET
-            {
-            id = EAknSCTChiLatinInputModes;
-            chars =  qtn_aknfep_thai_sct_lv qtn_aknfep_thai_sct_fv1 qtn_aknfep_thai_sct_fv2 qtn_aknfep_thai_sct_fv3 qtn_aknfep_thai_sct_extra_zero_character;
-            }
-        };
-    }
-
-RESOURCE SPECIAL_CHAR_TABLE r_aknfep_sct_thai_star_av1_bv1
-    {
-    contents =
-        {
-        SCT_CHAR_SET
-            {
-            id = EAknSCTChiLatinInputModes;
-            chars = qtn_aknfep_thai_sct_tone qtn_aknfep_thai_sct_ad1 qtn_aknfep_thai_sct_non qtn_aknfep_thai_sct_non_thai_digit qtn_sct_special_characters_lower ;
-            }
-        };
-    }
-
-RESOURCE SPECIAL_CHAR_TABLE r_aknfep_sct_thai_0_av1_bv1
-    {
-    contents =
-        {
-        SCT_CHAR_SET
-            {
-            id = EAknSCTChiLatinInputModes;
-            chars = qtn_aknfep_thai_sct_lv qtn_aknfep_thai_sct_fv1 qtn_aknfep_thai_sct_fv2 qtn_aknfep_thai_sct_fv3 qtn_aknfep_thai_sct_extra_zero_character;
-            }
-        };
-    }
-
-RESOURCE SPECIAL_CHAR_TABLE r_aknfep_sct_thai_star_av2_bv2
-    {
-    contents =
-        {
-        SCT_CHAR_SET
-            {
-            id = EAknSCTChiLatinInputModes;
-            chars = qtn_aknfep_thai_sct_tone qtn_aknfep_thai_sct_non qtn_aknfep_thai_sct_non_thai_digit qtn_sct_special_characters_lower ;
-            }
-        };
-    }
-
-RESOURCE SPECIAL_CHAR_TABLE r_aknfep_sct_thai_0_av2_bv2
-    {
-    contents =
-        {
-        SCT_CHAR_SET
-            {
-            id = EAknSCTChiLatinInputModes;
-            chars = qtn_aknfep_thai_sct_lv qtn_aknfep_thai_sct_fv1 qtn_aknfep_thai_sct_fv2 qtn_aknfep_thai_sct_fv3 qtn_aknfep_thai_sct_extra_zero_character;
-            }
-        };
-    }
-
-RESOURCE SPECIAL_CHAR_TABLE r_aknfep_sct_thai_star_av3
-    {
-    contents =
-        {
-        SCT_CHAR_SET
-            {
-            id = EAknSCTChiLatinInputModes;
-            chars = qtn_aknfep_thai_sct_tone qtn_aknfep_thai_sct_ad2 qtn_aknfep_thai_sct_non qtn_aknfep_thai_sct_non_thai_digit qtn_sct_special_characters_lower ;
-            }
-        };
-    }
-
-RESOURCE SPECIAL_CHAR_TABLE r_aknfep_sct_thai_0_av3
-    {
-    contents =
-        {
-        SCT_CHAR_SET
-            {
-            id = EAknSCTChiLatinInputModes;
-            chars = qtn_aknfep_thai_sct_lv qtn_aknfep_thai_sct_fv1 qtn_aknfep_thai_sct_fv2 qtn_aknfep_thai_sct_fv3 qtn_aknfep_thai_sct_extra_zero_character;
-            }
-        };
-    }
-
-//these are used by general settings...
-
-RESOURCE NUMBER_INT16 r_chinfep_chinese_input_modes_PRC
-    {
-    value = EPinyin | EStroke;
-    }
-
-RESOURCE NUMBER_INT16 r_chinfep_chinese_input_modes_HK
-    {
-    value = EStroke;
-    }
-
-RESOURCE NUMBER_INT16 r_chinfep_chinese_input_modes_Taiwan
-    {
-    value = EZhuyin;
-    }
-
-///
-
-
-RESOURCE DIALOG r_aknfep_help_text
-    {
-    flags = EGeneralQueryFlags | EEikDialogFlagNoBorder | EEikDialogFlagNoShadow;
-    buttons = R_AVKON_SOFTKEYS_BACK;
-    items=
-        {
-        DLG_LINE
-            {
-            type = EAknCtPopupHeadingPane;
-            id = EAknMessageQueryHeaderId;
-            control = AVKON_HEADING
-                {
-                label = qtn_chi_heading_instr;
-                headinglayout = R_AVKON_WML_SIGN_QUERY_HEADING_PANE;
-                };
-            },
-        DLG_LINE
-            {
-            type = EAknCtMessageQuery;
-            id = EAknMessageQueryContentId;
-            control = AVKON_MESSAGE_QUERY
-                {
-                message = qtn_chi_input_help_instr;
-                };
-            }
-        };
-    }
-
-
-// ---------------------------------------------------------------------------
-// r_aknfep_text_kuten_invalid_error
-// This string is used for Kuten input for Japanese variant
-// ---------------------------------------------------------------------------
-//
-RESOURCE CBA r_aknfep_softkeys_empty_cancel_empty
-    {
-    buttons =
-        {
-        CBA_BUTTON {id=EAknSoftkeyEmpty;txt=text_softkey_empty;},
-        CBA_BUTTON {id=EAknSoftkeyCancel; txt=text_softkey_cancel;},
-        CBA_BUTTON {id=EAknSoftkeyEmpty;txt=text_softkey_empty;}
-        };
-    }
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-//----------------------------------------------------------------------------
-//r_aknfep_softkeys_ok_select_cancel
-//
-//----------------------------------------------------------------------------
-//
-
-RESOURCE CBA r_aknfep_softkeys_ok_select_cancel
-	{
-	buttons =
-		{
-		CBA_BUTTON {id=EAknSoftkeySelect;txt=text_softkey_select;},
-        CBA_BUTTON {id=EAknSoftkeyCancel; txt=text_softkey_cancel;},
-        CBA_BUTTON {id=EAknSoftkeySelect;txt=text_softkey_select;}
-		};
-	}
-RESOURCE CBA r_aknfep_softkeys_ok_cancel_select
-	{
-	buttons =
-		{
-		CBA_BUTTON {id=EAknSoftkeyOk;txt=text_softkey_ok;},
-        	CBA_BUTTON {id=EAknSoftkeyCancel; txt=text_softkey_cancel;},
-        	CBA_BUTTON {id=EAknSoftkeySelect;txt=text_softkey_select;}
-		};
-	}
-#endif
-// ---------------------------------------------------------------------------
-// r_aknfepuictrljapanesekuten_query
-// This query dialog is used for Kuten input for Japanese variant
-// ---------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_aknfepuictrljapanesekuten_query
-    {
-    flags = EGeneralQueryFlags | EEikDialogFlagNoBorder | EEikDialogFlagNoShadow;
-    buttons = r_aknfep_softkeys_empty_cancel_empty;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_DATA_QUERY
-                {
-                layout = EDataLayout;
-                label = qtn_japin_prmpt_kuten_code;
-                control = EDWIN
-                    {
-                    flags = EEikEdwinNoHorizScrolling;
-                    width = 5;  //  AKNTAQUERY_EDWIN_WIDTH;
-                    //lines = AKNTAQUERY_EDWIN_LINES;
-                    maxlength = 4;  // AKNTAQUERY_EDWIN_MAXLENGTH;
-                    allowed_input_modes=EAknEditorNumericInputMode;
-                    default_input_mode=EAknEditorNumericInputMode;
-                    special_character_table=0;
-                    avkon_flags = EAknEditorFlagNoLRNavigation | EAknEditorFlagSupressShiftMenu;
-                    // added to limit expanding in forms.
-                    // If you want full screen use 6 here
-                    max_view_height_in_lines = 5;   // AKNTAQUERY_EDWIN_LINES;
-                    // if you have the line above, you must have this.
-                    // It's calculable from LAF
-                    base_line_delta = 21;
-                    };
-                };
-            }
-        };
-    }
-
-STRUCT HASH_KEY_LOOP
-    {
-    STRUCT modes[];
-    }
-
-
-//
-// TEXT BUFFERS
-//
-RESOURCE LBUF r_aknfep_text_case_character_set
-    {
-    txt=qtn_aknfep_text_case_character_set;
-    }
-
-// User DB view option
-RESOURCE LBUF r_aknfep_options_user_db_dlg
-    {
-    txt = qtn_chi_chinese_user_db_management;
-    }
-
-RESOURCE LBUF r_aknfep_options_input_language
-    {
-    txt = text_pup_option_input_language;
-    }
-
-// Chinese input mode option
-RESOURCE LBUF r_aknfep_options_input_mode_chi
-    {
-    txt = qtn_chi_pup_option_input_method;
-    }
-
-// Chinese CangJie mode selection option
-RESOURCE LBUF r_aknfep_options_cangjie_mode
-    {
-    txt = qtn_chi_pup_option_cangjie_mode;
-    }
-
-
-RESOURCE LBUF r_aknfep_options_edit_submenu_title
-    {
-    txt = qtn_options_edit;
-    }
-
-
-RESOURCE LBUF r_aknfep_softkey_ccpu_cancel
-    {
-    txt = text_softkey_cancel;
-    }
-
-
-
-RESOURCE LBUF r_aknfep_softkey_ccpu_start
-    {
-    txt = text_softkey_start;
-    }
-
-
-RESOURCE LBUF r_aknfep_softkey_copy
-    {
-    txt = text_softkey_copy;
-    }
-
-
-RESOURCE LBUF r_aknfep_softkey_cut
-    {
-    txt = text_pup_option_cut;
-    }
-
-
-RESOURCE LBUF r_aknfep_options_edit_menu_copy_text
-    {
-    txt = qtn_editing_shift_menu_copy;
-    }
-
-
-RESOURCE LBUF r_aknfep_options_edit_menu_cut_text
-    {
-    txt = qtn_editing_shift_menu_cut;
-    }
-
-RESOURCE LBUF r_aknfep_chinese_user_db_note_only_chinese_text
-    {
-    txt = qtn_chi_chinese_user_db_note_only_chinese;
-    }
-
-RESOURCE LBUF r_aknfep_chinese_user_db_note_too_short_text
-    {
-    txt = qtn_chi_chinese_user_db_note_too_short;
-    }
-
-RESOURCE LBUF r_aknfep_chinese_user_db_note_invalid_phrase_text
-    {
-    txt = qtn_chi_chinese_user_db_note_invalid_phrase;
-    }
-
-RESOURCE LBUF r_aknfep_chinese_user_db_note_phrase_existed_text
-    {
-    txt = qtn_chi_chinese_user_db_note_already_in_db;  // change "qtn_chi_chinese_user_db_note_phrase_existed "to qtn_chi_chinese_user_db_note_already_in_db
-    }
-
-RESOURCE LBUF r_aknfep_chinese_user_db_note_not_existed_text
-    {
-    txt = qtn_chi_chinese_user_db_note_phrase_not_existed;
-    }
-
-RESOURCE LBUF r_aknfep_chinese_user_db_note_db_have_no_space_text
-    {
-    txt = qtn_chi_chinese_user_db_note_db_have_no_space;
-    }
-
-RESOURCE LBUF r_aknfep_chinese_user_db_phrase_too_long_text
-    {
-    txt = qtn_chi_chinese_user_db_note_phrase_too_long;
-    }
-
-
-//
-// CBA SOFTKEYS
-//
-RESOURCE CBA r_aknfep_softkeys_empty_previous
-    {
-    buttons =
-        {
-        CBA_BUTTON {txt=text_softkey_empty;},
-        CBA_BUTTON {id=EAknFepSoftkeyPrevious; txt=text_softkey_previous;},
-        CBA_BUTTON {txt=text_softkey_empty;}
-        };
-    }
-
-RESOURCE CBA r_aknfep_softkeys_spell_previous
-    {
-    buttons =
-        {
-        CBA_BUTTON {id=EAknFepSoftkeySpell; txt=text_softkey_spell;},
-        CBA_BUTTON {id=EAknFepSoftkeyPrevious; txt=text_softkey_previous;},
-        CBA_BUTTON {id=EAknFepSoftkeySpell; txt=text_softkey_spell;}
-        };
-    }
-
-RESOURCE CBA r_aknfep_softkeys_symbol_previous
-    {
-    buttons =
-        {
-        CBA_BUTTON {id=EAknFepSoftkeySymbol; txt=text_softkey_symbol;},
-        CBA_BUTTON {id=EAknFepSoftkeyPrevious; txt=text_softkey_previous;},
-        CBA_BUTTON {id=EAknFepSoftkeySymbol; txt=text_softkey_symbol;}
-        };
-    }
-
-RESOURCE CBA r_aknfep_softkeys_spell_empty
-    {
-    buttons =
-        {
-        CBA_BUTTON {id=EAknFepSoftkeySpell; txt=text_softkey_spell;},
-        CBA_BUTTON {txt=text_softkey_empty;},
-        CBA_BUTTON {txt=text_softkey_empty;}
-        };
-    }
-
-// ---------------------------------------------------------------------------
-// r_aknfep_softkeys_empty_cancel_select
-// This CBA is used for Next word prediction popup for Japanese variant
-// ---------------------------------------------------------------------------
-//
-RESOURCE CBA r_aknfep_softkeys_empty_cancel_select
-    {
-    buttons =
-        {
-        CBA_BUTTON {id=EAknSoftkeyEmpty; txt=text_softkey_empty;},
-        CBA_BUTTON {id=EAknFepSoftkeyCloseWindow;txt=qtn_japin_edit_predict_stopprediction;},
-        CBA_BUTTON {id=EAknFepSoftkeySelectCandidate;txt=qtn_msk_selectcandidate;}
-        };
-    }
-
-// ---------------------------------------------------------------------------
-// r_aknfep_softkeys_convert_empty_select
-// This CBA is used for Prediction popup for Japanese variant
-// ---------------------------------------------------------------------------
-//
-RESOURCE CBA r_aknfep_softkeys_convert_other_select
-    {
-    buttons =
-        {
-        CBA_BUTTON {id=EAknFepSoftkeyConvert; txt=text_softkey_convert;},
-        CBA_BUTTON {id=EAknFepSoftkeyOtherModes; txt=qtn_japin_edit_othermodes;},
-        CBA_BUTTON {id=EAknFepSoftkeySelectCandidate;txt=qtn_msk_selectcandidate;}
-        };
-    }
-
-// ---------------------------------------------------------------------------
-// r_aknfep_softkeys_predict_other_commit
-// This CBA is used for transitory input without showing candidate
-// and being available predictive input for Japanese variant
-// ---------------------------------------------------------------------------
-//
-RESOURCE CBA r_aknfep_softkeys_predict_other_commit
-    {
-    buttons =
-        {
-        CBA_BUTTON {id=EAknFepSoftkeyPredictiveOn; txt=qtn_japin_edit_predict_startprediction;},
-        CBA_BUTTON {id=EAknFepSoftkeyOtherModes; txt=qtn_japin_edit_othermodes;},
-        CBA_BUTTON {id=EAknFepSoftkeyCommit;txt=qtn_msk_commit;}
-        };
-    }
-
-// ---------------------------------------------------------------------------
-// r_aknfep_softkeys_predict_other_commit
-// This CBA is used for transitory input without showing candidate
-// and being not available predictive input for Japanese variant
-// ---------------------------------------------------------------------------
-//
-RESOURCE CBA r_aknfep_softkeys_empty_other_commit
-    {
-    buttons =
-        {
-        CBA_BUTTON {id=EAknSoftkeyEmpty;txt=text_softkey_empty;},
-        CBA_BUTTON {id=EAknFepSoftkeyOtherModes; txt=qtn_japin_edit_othermodes;},
-        CBA_BUTTON {id=EAknFepSoftkeyCommit;txt=qtn_msk_commit;}
-        };
-    }
-
-// ---------------------------------------------------------------------------
-// r_aknfep_softkeys_empty_empty_commit
-// This CBA is used for Candidate popup for Japanese variant
-// ---------------------------------------------------------------------------
-//
-RESOURCE CBA r_aknfep_softkeys_empty_empty_commit
-    {
-    buttons =
-        {
-        CBA_BUTTON {id=EAknSoftkeyEmpty;txt=text_softkey_empty;},
-        CBA_BUTTON {id=EAknSoftkeyEmpty;txt=text_softkey_empty;},
-        CBA_BUTTON {id=EAknFepSoftkeyCommit;txt=qtn_msk_commit;}
-        };
-    }
-
-// ---------------------------------------------------------------------------
-// r_aknfep_softkeys_retroactive_half_width
-// This CBA is used for Retroactive popup for Japanese variant
-// ---------------------------------------------------------------------------
-//
-RESOURCE CBA r_aknfep_softkeys_retroactive_half_width
-    {
-    buttons =
-        {
-        CBA_BUTTON {id=EAknFepSoftkeyRetroActiveHalf; txt=qtn_japin_edit_half_width;},
-        CBA_BUTTON {id=EAknSoftkeyEmpty; txt=text_softkey_empty;},
-        CBA_BUTTON {id=EAknFepSoftkeyCommit;txt=qtn_msk_commit;}
-        };
-    }
-
-// ---------------------------------------------------------------------------
-// r_aknfep_softkeys_retroactive_full_width
-// This CBA is used for Retroactive popup for Japanese variant
-// ---------------------------------------------------------------------------
-//
-RESOURCE CBA r_aknfep_softkeys_retroactive_full_width
-    {
-    buttons =
-        {
-        CBA_BUTTON {id=EAknFepSoftkeyRetroActiveFull; txt=qtn_japin_edit_full_width;},
-        CBA_BUTTON {id=EAknSoftkeyEmpty; txt=text_softkey_empty;},
-        CBA_BUTTON {id=EAknFepSoftkeyCommit;txt=qtn_msk_commit;}
-        };
-    }
-
-// ---------------------------------------------------------------------------
-// r_aknfep_text_kuten_invalid_error
-// This string is used for Kuten input for Japanese variant
-// ---------------------------------------------------------------------------
-//
-RESOURCE LBUF r_aknfep_text_kuten_invalid_error
-    {
-    txt = qtn_japin_text_kuten_code_invalid_error;
-    }
-
-RESOURCE HASH_KEY_LOOP r_hash_key_loop_all_input_modes
-    {
-    modes =
-        {
-        NUMBER_INT32
-            {
-            value = EHiraganaKanji;
-            },
-        NUMBER_INT32
-            {
-            value = EKatakana;
-            },
-        NUMBER_INT32
-            {
-            value = EPRCFind;
-            },
-        NUMBER_INT32
-            {
-            value = EPinyin;
-            },
-        NUMBER_INT32
-            {
-            value = EZhuyinFind;
-            },
-        NUMBER_INT32
-            {
-            value = EZhuyin;
-            },
-        NUMBER_INT32
-            {
-            value = EStrokeFind;
-            },
-        NUMBER_INT32
-            {
-            value = EStroke;
-            },
-        NUMBER_INT32
-            {
-            value = ECangJie;
-            },
-        NUMBER_INT32
-            {
-            value = EHangul;
-            },
-        NUMBER_INT32
-            {
-            value = ELatin;
-            },
-        NUMBER_INT32
-            {
-            value = ENumber;
-            },
-        NUMBER_INT32
-            {
-            value = EHindi;
-            },
-        NUMBER_INT32
-            {
-            value = ENativeNumber;
-            }   
-        };
-    }
-
-
-RESOURCE TBUF r_aknfep_number_mode_keymap_standard { buf = aknfep_number_mode_keymap_standard; }
-RESOURCE TBUF r_aknfep_number_mode_keymap_plain { buf = aknfep_number_mode_keymap_plain; }
-RESOURCE TBUF r_aknfep_number_mode_keymap_calculator { buf = aknfep_number_mode_keymap_calculator; }
-RESOURCE TBUF r_aknfep_number_mode_keymap_converter { buf = aknfep_number_mode_keymap_converter; }
-RESOURCE TBUF r_aknfep_number_mode_keymap_to_field { buf = aknfep_number_mode_keymap_to_field; }
-RESOURCE TBUF r_aknfep_number_mode_keymap_fixed_dialling { buf = aknfep_number_mode_keymap_fixed_dialling; }
-RESOURCE TBUF r_aknfep_number_mode_keymap_sat { buf = aknfep_number_mode_keymap_sat; }
-RESOURCE TBUF r_aknfep_number_mode_keymap_sat_hidden { buf = aknfep_number_mode_keymap_sat_hidden; }
-
-
-RESOURCE MENU_PANE r_aknfep_edit_submenu
-    {
-    items=
-        {
-    MENU_ITEM
-        {
-        command = EAknEditMenuCmdCopyText;
-        txt = qtn_editing_shift_menu_copy;
-        },
-    MENU_ITEM
-        {
-        command = EAknEditMenuCmdCutText;
-        txt = qtn_editing_shift_menu_cut;
-        },
-    MENU_ITEM
-        {
-        command = EEikCmdEditCopy;
-        txt = text_pup_option_copy;
-        },    
-    MENU_ITEM
-        {
-        command = EEikCmdEditCut;
-        txt = text_pup_option_cut;
-        },
-    MENU_ITEM
-        {
-        command = EEikCmdEditPaste;
-        txt = text_pup_option_paste;
-        }
-      };
-    }
-
-
-// For stylus ccpu-menu.
-RESOURCE LBUF r_aknfep_stylus_ccpu_menu_paste
-    {
-    txt = text_pup_option_paste;
-    }
-
-RESOURCE CBA r_aknfep_softkeys_finger
-    {
-    buttons = 
-        {
-        CBA_BUTTON {id=EAknSoftkeyOptions; txt=text_softkey_option;},
-        CBA_BUTTON {id=EAknSoftkeyOk; txt=text_softkey_ok;},
-        CBA_BUTTON {id=EAknSoftkeyEmpty; txt=text_softkey_empty;}        
-        };
-    }
-
-RESOURCE CBA r_aknfep_softkeys_finger_option_previous
-    {
-    buttons = 
-        {
-        CBA_BUTTON {id=EAknSoftkeyOptions; txt=text_softkey_option;},
-        CBA_BUTTON {id=EAknFepSoftkeyPrevious; txt=text_softkey_previous;},
-        CBA_BUTTON {id=EAknSoftkeyEmpty; txt=text_softkey_empty;}
-        };
-    }
-    
-RESOURCE CBA r_aknfep_softkeys_finger_spell_previous
-    {
-    buttons = 
-        {
-        CBA_BUTTON {id=EAknFepSoftkeySpell; txt=text_softkey_spell;},
-        CBA_BUTTON {id=EAknFepSoftkeyPrevious; txt=text_softkey_previous;},
-        CBA_BUTTON {id=EAknSoftkeyEmpty; txt=text_softkey_empty;}
-        };
-    }
-    
-RESOURCE CBA r_aknfep_softkeys_finger_ok_cancel
-    {
-    buttons = 
-        {
-        CBA_BUTTON {id=EAknSoftkeyOk; txt=text_softkey_ok;},
-        CBA_BUTTON {id=EAknSoftkeyCancel; txt=text_softkey_cancel;},
-        CBA_BUTTON {id=EAknSoftkeyEmpty; txt=text_softkey_empty;}
-        };
-    }    
-       
-RESOURCE CBA r_aknfep_softkeys_finger_cancel
-    {
-    buttons = 
-        {
-        CBA_BUTTON {id=EAknSoftkeyEmpty; txt=text_softkey_empty;},
-        CBA_BUTTON {id=EAknSoftkeyCancel; txt=text_softkey_cancel;},
-        CBA_BUTTON {id=EAknSoftkeyEmpty; txt=text_softkey_empty;}
-        };
-    }     
-       
-RESOURCE TBUF r_aknfep_prompt_text
-    {
-    buf = text_t9_edit_query;
-    }   
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-
-RESOURCE TBUF r_aknfep_pred_input_settings_title
-    {
-    buf = qtn_pred_input_settings_title;
-    }
-    
-    
-RESOURCE TBUF r_aknfep_pred_options_input_options
-    {
-    buf = qtn_pred_options_input_options;
-    }
-
-//
-// CBA SOFTKEYS
-//
-RESOURCE CBA r_aknfep_softkeys_spell_cancel_select
-    {
-    buttons=
-        {
-        CBA_BUTTON {id=EAknFepSoftkeySpell; txt=text_softkey_spell;},
-        CBA_BUTTON {id=EAknSoftkeyCancel; txt=text_softkey_cancel;},
-        CBA_BUTTON {id=EAknSoftkeySelect; txt=text_softkey_select;}
-        };
-    }
-
-RESOURCE CBA r_aknfep_softkeys_options_back_change
-	{
-	buttons=
-	    {
-	    CBA_BUTTON {id=EAknSoftkeyOptions; txt=text_softkey_option;},
-	    CBA_BUTTON {id=EAknSoftkeyBack; txt=text_softkey_back;},
-	    CBA_BUTTON {id=EAknSoftkeyChange; txt=qtn_msk_change;}
-	    };
-	}
-
-RESOURCE CBA r_aknfep_softkeys_options_back__context_options
-    {
-    buttons=
-        {
-        CBA_BUTTON {id=EAknSoftkeyOptions; txt=text_softkey_option;},
-        CBA_BUTTON {id=EAknSoftkeyBack; txt=text_softkey_back;},
-        CBA_BUTTON {id=EAknSoftkeyContextOptions; txt=text_softkey_option;}
-        };
-    }
-
-// For Input Ooption Menu
-RESOURCE MENU_PANE r_aknfep_pred_input_options_submenu
-{
-items=
-    {
-   MENU_ITEM
-        {
-        command = EAknFepCmdPredActivate;
-        txt = qtn_pred_options_predictive_input_activate;
-        },
-   MENU_ITEM
-        {
-        command = EAknFepCmdPredDeactivate;
-        txt = qtn_pred_options_predictive_input_deactivate;
-        },
-#ifdef __USER_DICTIONARY_EDITING__ 
-   MENU_ITEM
-        {
-        command = EAknFepCmdPredEditUserDictionary;
-        txt = qtn_pred_options_user_dictionary;
-        },
-#endif //__USER_DICTIONARY_EDITING__ 
-    MENU_ITEM
-        {
-        command = EAknFepCmdPredSettings;
-        txt = qtn_pred_options_settings;
-        },
-   MENU_ITEM
-        {
-        command = EAknFepCmdPredInputLanguage;
-        txt = qtn_pred_options_input_language;
-        },
-    MENU_ITEM
-        {
-        command = EAknFepCmdPredHelp;
-        txt = qtn_pred_suboption_help;
-        }
-    };
-}
-
-
-// For Setting Dialog
-// ---------------------------------------------------------
-//   
-//   r_predictivesettingdialog_menubar
-//   Menubar for predictive setting dialog
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_BAR r_predictivesettingdialog_menubar
-    {
-    titles =
-        {
-        MENU_TITLE 
-			{
-			menu_pane = r_predictivesettingdialog_menu;
-			}
-        };
-    }
-
-
-// ---------------------------------------------------------
-//   
-//   r_predictivesettingdialog_menu
-//   Menu for "Options"
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_predictivesettingdialog_menu
-    {
-    items = 
-        {
-        // added the new Options menu command here
-        MENU_ITEM 
-		    {
-			command = EAknFepCmdPredSettingChange;  
-			txt = qtn_options_change;
-			},
-		MENU_ITEM 
-		    {
-			command = EAknCmdHelp;  
-			txt = qtn_options_help;
-			},
-        MENU_ITEM 
-		    {
-			command = EAknCmdExit;   
-			txt = qtn_options_exit;
-			}
-        };
-    }
-
-
-	
-RESOURCE DIALOG r_predictivesetting_dialog
-{
-	flags   = EEikDialogFlagNoDrag | EEikDialogFlagFillAppClientRect | 
-			  EEikDialogFlagWait | EEikDialogFlagCbaButtons;
-
-	//Buttons are Select and Back
-	buttons = r_aknfep_softkeys_options_back_change;
-	
-	items =
-	{
-		DLG_LINE
-		{
-			// This is the control type - its our own setting item list custom control 
-			type 	= 	EAknCtLastControlId;
-			
-			// This is the dialog id - any value can be used as there are no 
-			//		other controls on the dialog
-			id 		= 	12;
-			
-			itemflags	=	EEikDlgItemTakesEnterKey;
-			
-			// the control data is a setting item list 
-			control = AVKON_SETTING_ITEM_LIST 
-			{ 
-				
-				// These are the settings we want to edit 
-				items = 
-				{
-				AVKON_SETTING_ITEM
-		            {
-		            identifier = EAknFepCmdPredAutoComplSetting;
-					setting_page_resource = r_autowordcompl_page;
-		            associated_resource = r_autowordcompl_setting_texts;
-		            name = qtn_pred_word_completion;
-		            },
-				AVKON_SETTING_ITEM
-					{
-					identifier = EAknFepCmdPredAutoComplMultiSetting;
-					setting_page_resource = r_autowordcomplmulti_page;
-					name = qtn_pred_word_completion;
-					},
-				AVKON_SETTING_ITEM
-					{
-					identifier = EAknFepCmdPredTypingCorrectionSetting;
-					setting_page_resource = r_typingcorrection_page;
-					associated_resource = r_typingcorrection_page_texts;		// gives available options
-					name = qtn_pred_typing_correction;
-					},
-				AVKON_SETTING_ITEM
-					{
-					identifier = EAknFepCmdPredNumberCandidateSetting;
-					setting_page_resource = r_numbercandidates_page;
-					associated_resource = r_numbercandidates_setting_texts;
-					name = qtn_pred_number_candidates;
-					},
-			
-		        AVKON_SETTING_ITEM
-					{
-		            identifier = EAknFepCmdPredPrimaryCandidateSetting;
-					setting_page_resource = r_primarycandidate_page;
-		            associated_resource = r_primarycandidate_setting_texts;
-		            name = qtn_pred_primary_candidate;
-		            }
-				};
-			};
-		}
-	};	
-}
-// ---------------------------------------------------------
-//   
-// Settings Pages
-//
-// defines the AVKON_SETTING_PAGE structures referred to in 
-// setting_page_resource fields above.
-// 
-// ---------------------------------------------------------
-//   
-
-RESOURCE AVKON_SETTING_PAGE r_autowordcompl_page
-	{
-	label=qtn_pred_word_completion;
-	type = EAknCtPopupSettingList;
-	editor_resource_id = r_autowordcompl;
-	}
-
-RESOURCE AVKON_SETTING_PAGE r_autowordcomplmulti_page
-	{
-	label=qtn_pred_word_completion;
-	type = EAknCtPopupSettingList;
-	editor_resource_id = r_autowordcomplmulti;
-	softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__MARK;
-	}
-
-RESOURCE AVKON_SETTING_PAGE r_typingcorrection_page
-	{
-	label=qtn_pred_typing_correction;
-	type = EAknCtPopupSettingList;
-	editor_resource_id = r_typingcorrection;
-	}
-
-RESOURCE AVKON_SETTING_PAGE r_numbercandidates_page
-	{
-	label=qtn_pred_number_candidates;
-	type = EAknCtPopupSettingList;
-	editor_resource_id = r_numbercandidates;
-	}
-	
-RESOURCE AVKON_SETTING_PAGE r_primarycandidate_page
-	{
-	label=qtn_pred_primary_candidate;
-	type = EAknCtPopupSettingList;
-	editor_resource_id = r_primarycandidate;
-	}
-	
-
-// ---------------------------------------------------------
-//   
-// Editor Controls
-//
-// This section defines the controls referred to from the
-// editor_resource_id sections of the AVKON_SETTING_PAGE
-// resources above.
-// 
-// ---------------------------------------------------------
-//   	
-
-RESOURCE POPUP_SETTING_LIST r_autowordcompl
-	{
-	}
-
-RESOURCE POPUP_SETTING_LIST r_autowordcomplmulti
-	{
-	}
-
-RESOURCE POPUP_SETTING_LIST r_typingcorrection
-	{
-	}
-
-RESOURCE POPUP_SETTING_LIST r_numbercandidates
-	{
-	}
-	
-RESOURCE POPUP_SETTING_LIST r_primarycandidate
-	{
-	}
-
-// ---------------------------------------------------------
-//   
-// Second level structures used from settings pages
-// Defines - text strings to be used in display, 
-// and their mapping to enumerated values.
-// 
-// ---------------------------------------------------------
-// 
-
-
-RESOURCE AVKON_POPUP_SETTING_TEXTS r_autowordcompl_setting_texts
-	{
-	setting_texts_resource = r_autowordcompl_settingitem_texts;
-	}
-
-RESOURCE ARRAY r_autowordcompl_settingitem_texts
-	{
-	items =
-	    {
-	    AVKON_ENUMERATED_TEXT
-	        {
-	        value = 1;
-	        text = qtn_pred_autocompl_on;
-	        },
-	    AVKON_ENUMERATED_TEXT
-	        {
-	        value = 0;
-	        text = qtn_pred_autocompl_off;
-	        }
-	    };
-	}
-	
-RESOURCE AVKON_POPUP_SETTING_TEXTS r_autowordcomplmulti_setting_texts
-	{
-	setting_texts_resource = r_autowordcomplmulti_settingitem_texts;
-	popped_up_texts_resource = r_autowordcomplmulti_editor_texts;
-	}	
-
-RESOURCE ARRAY r_autowordcomplmulti_settingitem_texts
-	{
-	items =
-	    {
-	    AVKON_ENUMERATED_TEXT
-	        {
-	        value = 0;
-	        text = qtn_pred_setting_itut;
-	        },
-	    AVKON_ENUMERATED_TEXT
-	        {
-	        value = 1;
-	        text = qtn_pred_setting_qwerty;
-	        },
-        AVKON_ENUMERATED_TEXT
-	        {
-	        value = 2;
-	        text = qtn_pred_setting_half_qwerty;
-	        }
-	    };
-	}
-
-RESOURCE TBUF r_aknfep_pred_setting_itut
-    {
-    buf = qtn_pred_setting_itut;
-    }
-
-RESOURCE TBUF r_aknfep_pred_setting_qwerty
-    {
-    buf = qtn_pred_setting_qwerty;
-    }
-RESOURCE TBUF r_aknfep_pred_setting_half_qwerty
-    {
-    buf = qtn_pred_setting_half_qwerty;
-    } 
-RESOURCE ARRAY r_autowordcomplmulti_editor_texts
-	{
-	items = 
-		{
-		LBUF { txt = qtn_pred_setting_itut;},
-		LBUF { txt = qtn_pred_setting_qwerty;}
-		};
-	}
-	
-RESOURCE AVKON_POPUP_SETTING_TEXTS r_typingcorrection_page_texts
-	{
-	setting_texts_resource = r_typingcorrection_item_texts;
-	popped_up_texts_resource = r_typingcorrection_editor_texts;
-	}
-	
-RESOURCE ARRAY r_typingcorrection_item_texts
-	{
-	items =
-	    {
-	    AVKON_ENUMERATED_TEXT
-	        {
-	        value = 2;
-	        text = qtn_pred_correction_high;
-	        },
-	    AVKON_ENUMERATED_TEXT
-	        {
-	        value = 1;
-	        text = qtn_pred_correction_medium;
-	        },
-		AVKON_ENUMERATED_TEXT
-	        {
-	        value = 0;
-	        text = qtn_pred_correction_off;
-	        }
-	    };
-	}
-
-RESOURCE ARRAY r_typingcorrection_editor_texts
-	{
-	items = 
-		{
-		LBUF { txt = qtn_pred_correction_high;},
-		LBUF { txt = qtn_pred_correction_medium;},
-		LBUF { txt = qtn_pred_correction_off;}
-		};
-	}
-
-	
-
-RESOURCE AVKON_POPUP_SETTING_TEXTS r_numbercandidates_setting_texts
-	{
-	setting_texts_resource = r_numbercandidates_settingitem_texts;
-	}
-
-RESOURCE ARRAY r_numbercandidates_settingitem_texts
-	{
-	items =
-	    {
-	    AVKON_ENUMERATED_TEXT
-	        {
-	        value = 1;
-	        text = qtn_pred_number_cand_shown;
-	        },
-	    AVKON_ENUMERATED_TEXT
-	        {
-	        value = 0;
-	        text = qtn_pred_number_cand_not_shown;
-	        }
-	    };
-	}
-	
-	
-RESOURCE AVKON_POPUP_SETTING_TEXTS r_primarycandidate_setting_texts
-	{
-	setting_texts_resource = r_primarycandidate_settingitem_texts;
-	}
-
-RESOURCE ARRAY r_primarycandidate_settingitem_texts
-	{
-	items =
-	    {
-	    AVKON_ENUMERATED_TEXT
-	        {
-	        value = 0;
-	        text = qtn_pred_primary_cand_suggested;
-	        },
-	    AVKON_ENUMERATED_TEXT
-	        {
-	        value = 1;
-	        text = qtn_pred_primary_cand_actually_entered;
-	        }
-	    };
-	}
-	
-		
-RESOURCE DIALOG r_predictivetextoff_confirmation_query
-	{
-	flags = EGeneralQueryFlags;
-	buttons = R_AVKON_SOFTKEYS_YES_NO;
-	items =
-		{
-		DLG_LINE
-			{
-			type = EAknCtQuery;
-			id = EGeneralQuery;
-			control = AVKON_CONFIRMATION_QUERY
-				{
-				layout = EConfirmationQueryLayout;
-				label = qtn_pred_turn_input_on_query;
-				};
-			}
-		};
-	}
-RESOURCE TBUF r_aknfep_pred_settings_closed
-    {
-    buf = qtn_pred_settings_closed;
-    }
-
-#ifdef __USER_DICTIONARY_EDITING__ 
-// For User Dictionary editing ->
-
-RESOURCE MENU_BAR r_udb_edit_options_menubar
-     {
-     titles =
-         {
-         MENU_TITLE { menu_pane = r_udb_edit_options_help_exit; },
-         MENU_TITLE { menu_pane = R_AVKON_MENUPANE_MARKABLE_LIST; },
-         MENU_TITLE { menu_pane = r_udb_edit_options_menupane; }
-         };
-     }
-
-RESOURCE MENU_PANE r_udb_edit_options_menupane
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EAknFepPredDictionaryCmdEdit;
-            txt = qtn_pred_dictionary_option_edit;
-            },
-        MENU_ITEM
-            {
-            command=EAknFepPredDictionaryCmdAdd; 
-            txt=qtn_pred_dictionary_option_add;
-            },
-        MENU_ITEM
-            {
-            command=EAknFepPredDictionaryCmdDelete; 
-            txt=qtn_pred_dictionary_option_delete;
-            }
-        
-        };
-    }
-
-RESOURCE MENU_PANE r_udb_edit_options_help_exit
-    {
-    items=
-        {
-        MENU_ITEM 
-            {
-            command = EAknCmdHelp;  
-            txt = qtn_options_help;
-            },
-        MENU_ITEM 
-            {
-            command = EAknCmdExit;   
-            txt = qtn_options_exit;
-            }
-        };
-    }
-
-RESOURCE DIALOG r_user_dictionary_editing_dialog 
-    {
-    flags = EEikDialogFlagWait | EEikDialogFlagFillAppClientRect | EAknDialogMarkableList;
-    buttons = r_aknfep_softkeys_options_back__context_options; 
-    items = 
-        {
-        DLG_LINE
-            {
-            type = EAknCtSingleGraphicListBox;
-            id = ESelectionListControl;
-            itemflags = EEikDlgItemTakesEnterKey;
-            control = LISTBOX
-                {
-                flags = EAknListBoxMarkableList;
-                };                
-            },
-        DLG_LINE
-            {
-            itemflags = EEikDlgItemNonFocusing;
-            id = EFindControl;
-            type = EAknCtSelectionListFixedFind;
-            }
-        };
-    }
-
-RESOURCE DIALOG r_aknfep_pred_delete_confirmation_query
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_YES_NO;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_CONFIRMATION_QUERY
-                {
-                layout = EConfirmationQueryLayout;
-                };
-            }
-        };
-    }
-
-RESOURCE DIALOG r_aknfep_pred_user_dictionary_word_query
-    {
-    flags=EGeneralQueryFlags;
-    buttons=R_AVKON_SOFTKEYS_OK_CANCEL;
-    items=
-        {
-        DLG_LINE
-            {
-            type=EAknCtQuery;
-            id=EGeneralQuery;
-            control= AVKON_DATA_QUERY
-                {
-                    layout = EDataLayout;
-                    control=EDWIN
-                        {
-                        default_case = EAknEditorLowerCase; 
-                        allowed_case_modes = EAknEditorLowerCase | EAknEditorUpperCase;
-                        };
-                };
-            }
-        };
-    }
-
-RESOURCE TBUF r_aknfep_pred_userdict_editing_title
-    {
-    buf = qtn_pred_input_dictionary_editing_title;
-    }
-RESOURCE TBUF r_aknfep_pred_user_dictionary_heading_empty
-    {
-    buf = qtn_pred_dictionary_editing_heading_empty;
-    }
-RESOURCE TBUF r_aknfep_pred_user_dictionary_empty
-    {
-    buf = qtn_pred_dictionary_editing_empty;
-    }
-RESOURCE TBUF r_aknfep_pred_edit_query
-    {
-    buf = text_t9_edit_query;
-    }
-RESOURCE TBUF r_aknfep_pred_add_query
-    {
-    buf = text_t9_spell_query;
-    }
-RESOURCE TBUF r_aknfep_pred_delete_1_query
-    {
-    buf = qtn_pred_dictionary_option_confirm_1_deletion;
-    }
-RESOURCE TBUF r_aknfep_pred_delete_many_query
-    {
-    buf = qtn_pred_dictionary_option_confirm_deletions;
-    }
-RESOURCE TBUF r_aknfep_pred_msk_add_new
-    {
-    buf = qtn_msk_pred_add_new;
-    }
-RESOURCE TBUF r_aknfep_pred_msk_edit
-    {
-    buf = qtn_msk_edit;
-    }
-RESOURCE TBUF r_aknfep_pred_msk_context_options
-    { 
-    buf = text_softkey_option; 
-    }
-#endif //__USER_DICTIONARY_EDITING__
-
-#ifdef FF_DUAL_LANGUAGE_SUPPORT
-RESOURCE TBUF r_secondary_writing_lang_none
-    {
-    buf = qtn_set_secondary_writing_lang_none;
-    }
-
-RESOURCE TBUF r_input_language_settings_title
-    {
-    buf = qtn_set_title_settings_writing_language;
-    }
-RESOURCE AVKON_POPUP_SETTING_TEXTS r_language_setting_texts
-    {
-    setting_texts_resource = r_language_settingitem_texts;
-    }   
-
-RESOURCE ARRAY r_language_settingitem_texts
-    {
-    items =
-        {
-        AVKON_ENUMERATED_TEXT
-            {
-            value = 0;
-            text = qtn_set_secondary_writing_lang_none;
-            }
-        };
-    }
-RESOURCE DIALOG r_inputlanguage_dialog
-{
-    flags   = EEikDialogFlagNoDrag | EEikDialogFlagFillAppClientRect | 
-              EEikDialogFlagWait | EEikDialogFlagCbaButtons;
-
-    buttons = r_aknfep_softkeys_options_back_change;
-    
-    items =
-    {
-        DLG_LINE
-        {
-            // This is the control type - its our own setting item list custom control 
-            type    =   EAknCtLastControlId;
-            
-            // This is the dialog id - any value can be used as there are no 
-            //      other controls on the dialog
-            id      =   12;
-            
-            itemflags	=	EEikDlgItemTakesEnterKey;
-
-            // the control data is a setting item list 
-            control = AVKON_SETTING_ITEM_LIST 
-            { 
-                
-                // These are the settings we want to edit 
-                items = 
-                {
-                AVKON_SETTING_ITEM
-                    {
-                    identifier = EAknFepDualLanguageSettingDualInputPrimary;
-                    setting_page_resource = r_primary_input_language_setting_page;
-                    associated_resource = r_language_setting_texts;
-                    name = qtn_set_primary_writing_language;
-                    },
-                AVKON_SETTING_ITEM
-                    {
-                    identifier = EAknFepDualLanguageSettingDualInputSecondary;
-                    setting_page_resource = r_secondary_input_language_setting_page;
-                    associated_resource = r_language_setting_texts;
-                    name = qtn_set_secondary_writing_language;
-                    }
-                };
-            };
-        }
-    };  
-}
-
-RESOURCE POPUP_SETTING_LIST r_lang_editor
-    {
-    }
-
-RESOURCE AVKON_SETTING_PAGE r_primary_input_language_setting_page
-    {
-    // don't show setting number in setting page
-    number = EAknSettingPageNoOrdinalDisplayed;
-    label = qtn_set_primary_writing_language; //localised string for setting page label
-    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK; // softkeys for setting page
-    type = EAknCtPopupSettingList; // setting page type
-    editor_resource_id = r_lang_editor; // setting page editor
-    }
-
-RESOURCE AVKON_SETTING_PAGE r_secondary_input_language_setting_page
-    {
-    // don't show setting number in setting page
-    number = EAknSettingPageNoOrdinalDisplayed;
-    label = qtn_set_secondary_writing_language; //localised string for setting page label
-    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK; // softkeys for setting page
-    type = EAknCtPopupSettingList; // setting page type
-    editor_resource_id = r_lang_editor; // setting page editor
-    }
-#endif //FF_DUAL_LANGUAGE_SUPPORT
-// Predictive QWERTY (XT9) changes <----
-#endif //RD_INTELLIGENT_TEXT_INPUT
-// -----------------------------------------------------------------------------
-//
-//   r_aknfep_userdb_dlg_menubar
-//   Main menubar for use DB management dialog
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_aknfep_userdb_dlg_menubar
-    {
-    titles =
-        {
-        MENU_TITLE
-            {menu_pane = r_aknfep_userdb_dlg_menu;}
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//   r_aknfep_userdb_dlg_menu
-//   Menu for "Options in user DB management dialog"
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_aknfep_userdb_dlg_menu
-    {
-    items =
-        {
-        MENU_ITEM
-            {
-            command = EAknCmdUserDBAdd;
-            txt = qtn_chi_chinese_user_db_options_new;// change "qtn_chi_chinese_user_db_options_add" to "qtn_chi_chinese_user_db_options_new";
-            },
-        MENU_ITEM
-            {
-            command = EAknCmdUserDBEdit;
-            txt = qtn_chi_chinese_user_db_options_edit;
-            },
-        MENU_ITEM
-            {
-            command = EAknCmdUserDBDelete;
-            txt = qtn_chi_chinese_user_db_delete;
-            },
-        MENU_ITEM
-            {
-            command = EAknCmdMarkOrUnmark;
-            txt = qtn_options_list;
-            cascade = r_aknfep_mark_unmark_menupane;
-            }
-        };
-    }
-
-
-RESOURCE MENU_PANE r_aknfep_mark_unmark_menupane
-    {
-    items =
-        {
-        MENU_ITEM
-            {
-            command = EAknCmdMark;
-            txt = qtn_options_list_mark_one;
-            },
-        MENU_ITEM
-            {
-            command = EAknCmdUnmark;
-            txt = qtn_options_list_unmark_one;
-            },
-        MENU_ITEM
-            {
-            command = EAknMarkAll;
-            txt = qtn_options_list_mark_all;
-            },
-        MENU_ITEM
-            {
-            command = EAknUnmarkAll;
-            txt = qtn_options_list_unmark_all;
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_aknfep_listbox_data_query_dialog
-// Data query for add phrase.
-//
-// -----------------------------------------------------------------------------
-// 
-RESOURCE DIALOG r_aknfep_listbox_data_query_dialog
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_DATA_QUERY
-                {
-                layout = EDataLayout;
-//                label = STRING_r_listbox_add_item_dialog;
-                control = EDWIN
-                    {
-                    flags = EEikEdwinNoHorizScrolling | EEikEdwinResizable;
-                    maxlength = 7;
-                    };
-                };
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_aknfep_listdlg_dialog
-// Dialog for user DB management
-//
-// -----------------------------------------------------------------------------
-// 
-RESOURCE DIALOG r_aknfep_listdlg_dialog
-    {
-    flags = EAknDialogSelectionList | EEikDialogFlagNotifyEsc;
-    buttons = r_aknfep_softkeys_list_options_exit_context;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtSingleGraphicListBox;
-            id = ESelectionListControl;
-            control= LISTBOX
-                {
-                flags = EAknListBoxMarkableList|EEikDialogFlagFillAppClientRect;
-                };
-            },
-        DLG_LINE
-            {
-            itemflags = EEikDlgItemNonFocusing;
-            id = EFindControl;
-            type = EAknCtSelectionListFixedFind;
-            }
-        };
-    }
-
-RESOURCE CBA r_aknfep_softkeys_list_options_exit_context
-    {
-    buttons =
-        {
-        CBA_BUTTON {id=EAknSoftkeyOptions; txt=text_softkey_option;},
-        CBA_BUTTON {id=EAknSoftkeyExit; txt=text_softkey_exit;},
-        CBA_BUTTON {id=EAknSoftkeyContextOptions; txt=text_softkey_option;}   
-        };
-    }
-
-// for context
-RESOURCE MENU_BAR r_aknfep_userdb_dlg_context_menubar
-    {
-    titles =
-        {
-        MENU_TITLE
-            {menu_pane = r_aknfep_userdb_dlg_context_menu;}
-        };
-    }
-
-RESOURCE MENU_PANE r_aknfep_userdb_dlg_context_menu
-    {
-    items =
-        {
-        MENU_ITEM
-            {
-            command = EAknCmdUserDBEdit;
-            txt = qtn_chi_chinese_user_db_options_edit;
-            },
-        MENU_ITEM
-            {
-            command = EAknCmdUserDBDelete;
-            txt = qtn_chi_chinese_user_db_delete;
-            },
-        MENU_ITEM
-            {
-            command = EAknCmdMarkOrUnmark;
-            txt = qtn_options_list;
-            cascade = r_aknfep_mark_unmark_menupane;
-            }
-        };
-    }
-
-RESOURCE TBUF r_aknfep_delete_confirmation_text
-    {
-    buf = "Delete %N Phrase?";   //change "qtn_chi_chinese_user_db_query_delete_phrases" to "qtn_chi_chinese_user_db_query_delete_phrase"
-    } 
-
-RESOURCE TBUF r_aknfep_user_db_management_title
-    {
-    buf =qtn_chi_chinese_user_db_title; // change "qtn_chi_chinese_user_db_management_title" to "qtn_chi_chinese_user_db_title";
-    }
-
-RESOURCE TBUF r_aknfep_user_db_list_no_item_text
-    {
-    buf = qtn_chi_chinese_user_db_empty;
-    }
-
-RESOURCE TBUF r_aknfep_user_db_list_add_item_text
-    {
-    buf = qtn_chi_chinese_user_db_query_add; //change the "STRING_r_listbox_add_item_dialog" to " qtn_chi_chinese_user_db_query_add"
-    }
-
-RESOURCE TBUF r_aknfep_user_db_list_edit_item_text
-    {
-    buf = qtn_chi_chinese_user_db_options_edit;  //change the  "STRING_r_listbox_edit_item_dialog" to "qtn_chi_chinese_user_db_options_edit"
-    }
-     
-RESOURCE DIALOG r_aknfep_delete_query_dialog
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_YES_NO;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_CONFIRMATION_QUERY
-                {
-                layout = EConfirmationQueryLayout;
-                };
-            }
-        };
-    }
-
-//CBA add-add-exit
-RESOURCE CBA r_aknfep_softkeys_list_add_exit
-    {
-    buttons =
-        {
-        CBA_BUTTON {id=EAknCmdUserDBAdd;txt=qtn_chi_chinese_user_db_softkey_new;},// change "qtn_chi_chinese_user_db_options_add" to "qtn_chi_chinese_user_db_softkey_new" ;},
-        CBA_BUTTON {id=EAknSoftkeyExit; txt=text_softkey_exit;},
-        CBA_BUTTON {id=EAknCmdUserDBAdd;txt=qtn_chi_chinese_user_db_softkey_new;} //change "qtn_chi_chinese_user_db_options_add" to "qtn_chi_chinese_user_db_softkey_new"
-        };
-    }
-
-//CBA options-mark/unmark-exit
-RESOURCE CBA r_aknfep_softkeys_list_options_exit_unmark
-    {
-    buttons =
-        {
-        CBA_BUTTON {id=EAknSoftkeyOptions;txt=text_softkey_option;},
-        CBA_BUTTON {id=EAknSoftkeyExit; txt=text_softkey_exit;},
-        CBA_BUTTON {id=EAknSoftkeyUnmark;}
-        };
-    }
-
-RESOURCE CBA r_aknfep_softkeys_list_options_exit_mark
-    {
-    buttons =
-        {
-        CBA_BUTTON {id=EAknSoftkeyOptions;txt=text_softkey_option;},
-        CBA_BUTTON {id=EAknSoftkeyExit; txt=text_softkey_exit;},
-        CBA_BUTTON {id=EAknSoftkeyMark;}
-        };
-    }
-
-RESOURCE DIALOG r_aknfep_wait_dialog
-    {
-    flags = EAknProgressNoteFlags;
-    buttons = R_AVKON_SOFTKEYS_EMPTY;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = EProgressNoteId;
-            control = AVKON_NOTE
-                {
-                layout = EProgressLayout;
-                singular_label = qtn_chi_chinese_user_db_note_deleting_phrases;
-                imagefile = "z:\\resource\apps\avkon2.mbm";
-                imageid = EMbmAvkonQgn_note_erased;
-                imagemask = EMbmAvkonQgn_note_erased_mask;
-                };
-            }
-        };
-    }
-
-//CBA Done-Done-Cancel
-RESOURCE CBA r_aknfep_softkeys_done_cancel_done
-    {
-    buttons =
-        {
-        CBA_BUTTON {id=EAknSoftkeyDone;txt=text_softkey_done;},
-        CBA_BUTTON {id=EAknSoftkeyCancel;txt=text_softkey_cancel;},
-        CBA_BUTTON {id=EAknSoftkeyDone;}
-        };
-    }
-
-RESOURCE DIALOG r_aknfep_quit_phrase_creation_query_dialog
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_YES_NO;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_CONFIRMATION_QUERY
-                {
-                layout = EConfirmationQueryLayout;
-                };
-            }
-        };
-    }
-
-RESOURCE CBA r_aknfep_softkeys__phrase_creation_empty_cancel_empty
-    {
-    buttons =
-        {
-        CBA_BUTTON {id=EAknSoftkeyEmpty;txt=text_softkey_empty;},
-        CBA_BUTTON {id=EAknSoftkeyCancel; txt=text_softkey_cancel;},
-        CBA_BUTTON {id=EAknSoftkeyEmpty;}
-        };
-    }
-
-RESOURCE CBA r_aknfep_softkeys_phrase_creation_select_cancel_select
-    {
-    buttons = 
-        { 
-        // This prevents EAknSoftkeySelect operating on a long keypress 
-        AVKON_CBA_BUTTON{id=EAknSoftkeySelect; longpressid=0; txt= text_softkey_select; }, 
-        CBA_BUTTON{id=EAknSoftkeyCancel; txt= text_softkey_cancel; }, 
-        AVKON_CBA_BUTTON{id=EAknSoftkeySelect; longpressid=0; txt= qtn_msk_select; } 
-        };
-    }
-    
-RESOURCE SPECIAL_CHAR_TABLE r_aknfep_sct_numeric_mode_chars_plain
-    {
-    contents =
-        {
-        SCT_CHAR_SET
-            {
-            id = EAknSCTChiLatinInputModes;
-            chars = aknfep_number_mode_keymap_plain;
-            }
-        };
-    }
-
-RESOURCE SPECIAL_CHAR_TABLE r_aknfep_sct_numeric_mode_chars_sat_hidden
-    {
-    contents =
-        {
-        SCT_CHAR_SET
-            {
-            id = EAknSCTChiLatinInputModes;
-            chars = aknfep_number_mode_keymap_sat_hidden;
-            }
-        };
-    }
-     
-// End of file
--- a/fep/aknfep/rom/PeninputPluginKr.iby	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
-* Copyright (c) 2002 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:            Image description file for project PeninputPluginKr
-*
-*/
-
-#ifndef __PENINPUTPLUGINKR_IBY__
-#define __PENINPUTPLUGINKR_IBY__
-
-ECOM_PLUGIN(PeninputPluginKr.dll,E95A395D.rsc)
-data=DATAZ_\FEP_RESOURCES_DIR\PeninputPluginKrRes.r01 FEP_RESOURCES_DIR\PeninputPluginKrRes.r01
-data=DATAZ_\FEP_RESOURCES_DIR\PeninputPluginKrRes.r65 FEP_RESOURCES_DIR\PeninputPluginKrRes.r65
-data=ZSYSTEM\install\PeninputPluginKr_stub.sis    System\Install\PeninputPluginKr_stub.sis
-
-#endif // __PENINPUTPLUGINKR_IBY__
--- a/fep/aknfep/rom/aknfepResources.iby	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* 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 __AKNFEP_RESOURCES_IBY__
-#define __AKNFEP_RESOURCES_IBY__
-
-data=DATAZ_\FEP_RESOURCES_DIR\aknfep.rsc                                FEP_RESOURCES_DIR\aknfep.rsc
-
-#endif
\ No newline at end of file
--- a/fep/aknfep/rom/aknfep_variant.iby	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       IBY file for AknFep
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKNFEP_VARIANT_IBY__
-#define __AKNFEP_VARIANT_IBY__
-
-// ChinipFep Component
-ECOM_PLUGIN(avkonfep.dll,100056de.rsc)
-SCALABLE_IMAGE(APP_BITMAP_DIR,APP_BITMAP_DIR,aknfepuictrls)
-ECOM_PLUGIN(AknFepUiAvkonPlugin.dll,AknFepUiAvkonPlugin.rsc)
-
-#endif
-
-// End of file
--- a/fep/aknfep/rom/aknfepuiinterface.iby	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
-* Copyright (c) 2007 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:           
-*       IBY file for AknFepUiInterface
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKNFEPUIINTERFACE_IBY__
-#define __AKNFEPUIINTERFACE_IBY__
-
-file=ABI_DIR\BUILD_DIR\aknfepuiinterface.dll			System\Libs\aknfepuiinterface.dll
-
-#endif
-
-// End of file
--- a/fep/aknfep/rom/peninputimeplugincn_Variant.iby	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 2002 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:            Image description file for project peninputimeplugincn
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef PENINPUTIMEPLUGINCN_VARIANT_IBY
-#define PENINPUTIMEPLUGINCN_VARIANT_IBY
-
-#include <data_caging_paths_for_iby.hrh>
-#include <bldvariant.hrh>
-
-#ifdef __PEN_SUPPORT
-#ifdef RD_SCALABLE_UI_V2 
-#ifdef __CHINESE
-
-ECOM_PLUGIN(peninputimeplugincn.dll,peninputimeplugincn.rsc)
-
-#endif // __CHINESE
-#endif // RD_SCALABLE_UI_V2
-#endif // __PEN_SUPPORT
-
-#endif // PENINPUTIMEPLUGINCN_VARIANT_IBY
--- a/fep/aknfep/rom/peninputimeplugingeneric.iby	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
-* Copyright (c) 2002 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:            Image description file for project peninputimeplugingeneric
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef PENINPUTIMEPLUGINGENERIC_IBY
-#define PENINPUTIMEPLUGINGENERIC_IBY
-
-#include <data_caging_paths_for_iby.hrh>
-#include <bldvariant.hrh>
-
-#ifdef __PEN_SUPPORT
-#ifdef RD_SCALABLE_UI_V2 
-
-ECOM_PLUGIN(peninputimeplugingeneric.dll,peninputimeplugingeneric.rsc)
-
-#endif // RD_SCALABLE_UI_V2 
-#endif // __PEN_SUPPORT
-
-#endif // PENINPUTIMEPLUGINGENERIC_IBY
--- a/fep/aknfep/rom/peninputimepluginitut_Variant.iby	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
-* Copyright (c) 2002 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:            Image description file for project peninputimepluginitut
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef PENINPUTIMEPLUGINITUT_IBY
-#define PENINPUTIMEPLUGINITUT_IBY
-
-#include <data_caging_paths_for_iby.hrh>
-#include <bldvariant.hrh>
-
-#ifdef __PEN_SUPPORT
-#ifdef RD_SCALABLE_UI_V2 
-
-ECOM_PLUGIN(peninputimepluginitut.dll,peninputimepluginitut.rsc)
-
-#endif // RD_SCALABLE_UI_V2 
-#endif // __PEN_SUPPORT
-
-#endif // PENINPUTIMEPLUGINITUT_IBY
--- a/fep/aknfep/rom/peninputimepluginjp_Variant.iby	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 2002 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:            Image description file for project peninputimepluginjp
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef PENINPUTIMEPLUGINJP_VARIANT_IBY
-#define PENINPUTIMEPLUGINJP_VARIANT_IBY
-
-#include <data_caging_paths_for_iby.hrh>
-#include <bldvariant.hrh>
-
-#ifdef __PEN_SUPPORT
-#ifdef RD_SCALABLE_UI_V2
-#ifdef __JAPANESE
-
-ECOM_PLUGIN(peninputimepluginjp.dll,peninputimepluginjp.rsc)
-
-#endif // __JAPANESE
-#endif // RD_SCALABLE_UI_V2
-#endif // __PEN_SUPPORT
-
-#endif // PENINPUTIMEPLUGINJP_VARIANT_IBY
--- a/fep/aknfep/src/AknFepCaseManager.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1062 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepCaseManager.h"
-#include "AknFepPanic.h"
-#include "aknfeppeninputenums.h"
-
-#include <aknfep.rsg>
-#include <aknedsts.h>
-#include <barsread.h>
-#include <jplangutil.h>
-#include <AknPictographInterface.h>
-#include <AknPictographDrawerInterface.h>
-#include <featmgr.h>
-#include <PUAcodes.hrh>
-
-const TText KSpaceCharacter=' ';
-const TText KInvertedExclamationMarkCharacter = 0x00A1;
-const TText KInvertedQuestionMarkCharacter = 0x00BF;
-
-/* Teleca change begin, 18.08.2009 ssal */
-const TInt KSBase = 0xac00; // base address for hangul syllables
-const TInt KCBase = 0x3131; // base address for hangul compatibility jamo
-
-const TInt KLCount = 19; // count of L-jamos
-const TInt KVCount = 21; // count of V-jamos
-const TInt KTCount = 28; // count of T-jamos
-const TInt KNCount = KVCount * KTCount; // count of V&T-jamo combinations
-const TInt KSCount = KLCount * KNCount; // total count of hangul syllables
-
-// Conversion table for hangul compatibility jamo
-const TUint16 conversionTableFromCompatibilityJamoToJamo[] = {
-0x1100,
-0x1101,
-0x11AA,
-0x1102,
-0x11AC,
-0x11AD,
-0x1103,
-0x1104,
-0x1105,
-0x11B0,
-0x11B1,
-0x11B2,
-0x11B3,
-0x11B4,
-0x11B5,
-0x11B6,
-0x1106,
-0x1107,
-0x1108,
-0x11B9,
-0x1109,
-0x110A,
-0x110B,
-0x110C,
-0x110D,
-0x110E,
-0x110F,
-0x1110,
-0x1111,
-0x1112,
-0x1161,
-0x1162,
-0x1163,
-0x1164,
-0x1165,
-0x1166,
-0x1167,
-0x1168,
-0x1169,
-0x116A,
-0x116B,
-0x116C,
-0x116D,
-0x116E,
-0x116F,
-0x1170,
-0x1171,
-0x1172,
-0x1173,
-0x1174,
-0x1175,
-};
-
-#define KCCount (sizeof(conversionTableFromCompatibilityJamoToJamo) / sizeof(TUint16))
-/* Teleca change end, 18.08.2009 ssal */
-
-// 0x2029 is the paragraph seperator. When the user inputs a
-// new line character, 0x2029 is inserted.
-const TText KParagraphSeperator = 0x2029;
-// 0x000A is line feed character 
-const TText KLineFeed = 0x000A;
-
-//for chinese unicode ox4E00 to 0x9FA5
-const TText KChineseLowerUnicode = 0x4E00;
-const TText KChineseUpperUnicode = 0x9FA5;
-CAknFepCaseManager* CAknFepCaseManager::NewL(CAknFepManager& aFep)
-    {
-    CAknFepCaseManager* self = new (ELeave) CAknFepCaseManager(aFep);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(); //self
-    return self;
-    }
-
-
-CAknFepCaseManager::~CAknFepCaseManager()
-    {
-    delete iPictoInterface;
-    }
-
-
-
-
-void CAknFepCaseManager::ConfigureCaseStateFromEditorState()
-    {
-    CAknEdwinState* editorState = iFep.EditorState();
-    if (!editorState)
-        {
-        return;
-        }
-        
- 	iCurrentCase = editorState->CurrentCase();   
-    iPreviousCase = editorState->CaseState().PreviousCase();    
-        
-    SetFixedCase(editorState->Flags() & EAknEditorFlagFixedCase);
-
-    iPreviousCase = iCurrentCase;
-
-  	if (CurrentEditorIsFixedCase())
-    	{    
-    	SetCurrentCase(editorState->DefaultCase()); 
-    	iPreviousCase = iCurrentCase; 
-    	__ASSERT_DEBUG(IsCasePermitted(iCurrentCase), 
-                     AknFepPanic(EAknFepPanicNonPermittedEditorMode));		   	
-    	} 
-    	
-    //determine it based on position 
-    UpdateCase(ENullNaviEvent);
-
-    // if still there is no current case set - use the default
-    if (!iCurrentCase)
-        {
-        SetCurrentCase(editorState->DefaultCase());
-        if (!IsCasePermitted(iCurrentCase))
-            {
-            SetCurrentCase(editorState->CurrentCase());
-            }
-        
-        iPreviousCase = iCurrentCase;
-        __ASSERT_DEBUG(IsCasePermitted(iCurrentCase), 
-                       AknFepPanic(EAknFepPanicNonPermittedEditorMode));
-        }
-
-    // if the current is not allowed stay where we are
-    else if (!IsCasePermitted(iCurrentCase))
-        {
-        if (!iPreviousCase)
-            {
-            SetCurrentCase(editorState->DefaultCase());
-            iPreviousCase = iCurrentCase;
-            __ASSERT_DEBUG(IsCasePermitted(iCurrentCase), 
-                           AknFepPanic(EAknFepPanicNonPermittedEditorMode));
-            }
-        else
-            {
-            if (IsCasePermitted(iPreviousCase))
-                {
-                SetCurrentCase(iPreviousCase);
-                }
-            else
-                {
-                SetCurrentCase(editorState->DefaultCase());
-                iPreviousCase = iCurrentCase;
-                __ASSERT_DEBUG(IsCasePermitted(iCurrentCase), 
-                               AknFepPanic(EAknFepPanicNonPermittedEditorMode));
-                }    
-            }
-        }
-    }
-
-
-void CAknFepCaseManager::UpdateCase(TWesternNaviEvent aNaviEvent)
-    {
-    TBool applyCaseNeeded = ETrue;
-    if ( iFep.IsFlagSet(CAknFepManager::EFlagSupressAutoUpdate) )
-        {
-        return;
-        }
-    CAknEdwinState* editorState = iFep.EditorState();
-    if (!CurrentEditorIsFixedCase() && editorState 
-      && editorState->PermittedCases() & EAknEditorTextCase)
-        {
-        // lets figure out where the cursor will be when the case needs to be checked
-        TInt cursorPos = FindCursorPositionAtCaseCheck(aNaviEvent);
-        
-        if (!(cursorPos == 0 
-           && iFep.IsFlagSet(CAknFepManager::EFlagSupressAutoUpdateAtEditorStart) ))
-            {
-            TInt defaultCase = editorState->DefaultCase();
-            if ( cursorPos == 0 && 
-               (defaultCase == EAknEditorLowerCase || defaultCase == EAknEditorUpperCase ))
-                {
-                SetCurrentCase(defaultCase);
-                }
-            // UPPER CASE : If in upper case & inside sentence, stay in upper.
-            else if (!(iCurrentCase == EAknEditorUpperCase && 
-                       CapsLockRequired(cursorPos, iCurrentCase) && 
-                       aNaviEvent != EBackspaceEvent))
-                {
-                const TBool textCaseRequired = TextCaseRequired(cursorPos);
-                // UPPER CASE : If upper case & inside sentence & backspace event, stay in upper.
-                if (!(iCurrentCase == EAknEditorUpperCase && aNaviEvent == EBackspaceEvent &&
-                    !textCaseRequired && cursorPos != 0))
-                    {
-                    // TEXT CASE : set if at start of editor or following a full stop / text case character
-                    if (cursorPos == 0 || textCaseRequired)
-                        {
-                        TInt inputMode = iFep.InputMode();
-                        if (iFep.IsChineseInputLanguage() && 
-                        	inputMode != ELatin &&
-                        	iCurrentCase != EAknEditorLowerCase)
-                        {
-                        SetCurrentCase(iCurrentCase);
-                        }
-#ifdef RD_HINDI_PHONETIC_INPUT	
-                        
-	                    else if(iFep.IsIndicPhoneticInputLanguage())
-	                    	{
-	                    	if(CurrentCase() != EAknEditorUpperCase)
-	                    	    SetCurrentCase(EAknEditorLowerCase);	
-	                    	}
-#endif
-                        else
-                        {
-                        /* Teleca change begin, 27.08.2008 ssal 
-                        	original code:
-                        SetCurrentCase(EAknEditorTextCase);	*/
-                        
-                        if(iFep.IsKoreanInputLanguage() && inputMode == EHangul )
-                        	{
-                        	SetCurrentCase(EAknEditorLowerCase);	
-                        	}
-                        else
-                        	{
-                            SetCurrentCase(EAknEditorTextCase);
-                            }
-                        /* Teleca change end, 27.08.2008 ssal */
-                        }
-                        applyCaseNeeded = EFalse;
-                        }
-                    else // OTHERWISE LOWER
-                        {
-                        SetCurrentCase(EAknEditorLowerCase);
-                        applyCaseNeeded = EFalse;
-                        }
-                    }
-                }
-            }
-        else
-            {
-            iFep.ClearFlag(CAknFepManager::EFlagSupressAutoUpdateAtEditorStart);
-            }
-        }
-    if (applyCaseNeeded)
-        {
-        ApplyCase();
-        }
-    }
-
-
-void CAknFepCaseManager::ManualCaseUpdate()
-    {
-    if (!CurrentEditorIsFixedCase())
-        {
-        if (IsCasePermitted(iCurrentCase)) 
-            {
-            DoManualCaseUpdate();
-            iFep.ClearFlag(CAknFepManager::EFlagSupressAutoUpdate);
-            }
-        }
-    }
-
-
-void CAknFepCaseManager::RevertCaseChange()
-    {
-    if (!CurrentEditorIsFixedCase())
-        {
-        if (IsCasePermitted(iPreviousCase)) 
-            {
-            SetCurrentCase(iPreviousCase); 
-            }
-        }
-    }
-
-
-void CAknFepCaseManager::SetCurrentCase(TInt aCase, TBool aOverrideNumericTest)
-    {
-    if ( ( iFep.InputMode() == ENumber || iFep.InputMode() == ENativeNumber ) && 
-        !aOverrideNumericTest)
-        {
-        if ( iFep.EditorState() && 
-            (iFep.EditorState()->NumericKeymap() == EAknEditorConverterNumberModeKeymap) )
-            {
-            // Converter number mode keymap for '*' key requires upper case 'E'.
-            iCurrentCase = EAknEditorUpperCase;
-            }
-        else
-            {
-            // Number mode keymappings for '*' -key uses lower case letters (pw).
-            iCurrentCase = EAknEditorLowerCase;
-            }
-        }
-    else
-        {
-        if ( aCase == ECaseInverseText )
-            {
-            iCurrentCase = ECaseUpper;
-            iInverseCase = ETrue;
-            }
-        else
-            {
-            iCurrentCase = aCase;
-            iInverseCase = EFalse;
-            }
-        }
-    ApplyCase();
-    }
-
-
-TInt CAknFepCaseManager::CurrentCase() const
-    {
-    return iCurrentCase;
-    }
-
-TBool CAknFepCaseManager::IsAbleChangeCase() const
-    {
-    TBool isable = ETrue;
-    
-    CAknEdwinState* editorState = iFep.EditorState();
-    if (editorState)
-    	{
-	    const TInt permittedCases = editorState->PermittedCases();
-	    
-	    if (permittedCases == EAknEditorUpperCase ||
-	        permittedCases == EAknEditorLowerCase )
-	        {
-	        isable = EFalse;
-	        }
-	    else if ((editorState->Flags() & EAknEditorFlagForceTransparentFepModes)
-	          && iFep.IsChineseInputLanguage())
-	        {
-	        isable = EFalse;
-	        }
-	    else if ( editorState->Flags() & EAknEditorFlagFixedCase )
-	        {
-	        isable = EFalse;
-	        }
-	    else if (!iFep.InputLanguageSupportsCaseChanges())
-	        {
-	        isable = EFalse;
-	        }
-    	}
-    else
-    	{
-    	isable = EFalse;
-    	}
-    return isable;
-    }
-
-CAknFepCaseManager::CAknFepCaseManager(CAknFepManager& aFep) :
-    iFep(aFep)
-    {
-    }
-
-
-void CAknFepCaseManager::ConstructL()
-    {
-    // Set text case character set from resource
-    TResourceReader reader;
-    CCoeEnv::Static()->CreateResourceReaderLC(reader, R_AKNFEP_TEXT_CASE_CHARACTER_SET);
-    iTextCaseCharacters=reader.ReadTPtrC();
-
-    // Create PictographInterface
-    CCoeControl* control = NULL;
-    MAknPictographAnimatorCallBack* callback = NULL;
-    iPictoInterface = CAknPictographInterface::NewL(*control,*callback);
-
-    CleanupStack::PopAndDestroy(); // reader*/
-    }
-
-
-TInt CAknFepCaseManager::FindCursorPositionAtCaseCheck(TWesternNaviEvent aNaviEvent)
-    {
-    TCursorSelection curCursSel;
-    iFep.FepAwareTextEditor()->GetCursorSelectionForFep(curCursSel);
-    
-    TInt docLength = iFep.FepAwareTextEditor()->DocumentLengthForFep();
-    TInt returnedPosition = -1;
-
-    TCursorSelection uncommittedText = iFep.UncommittedText();
-
-    switch (aNaviEvent)
-        {
-        case ENullNaviEvent:
-            if (iFep.IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction))
-                {
-                returnedPosition = uncommittedText.HigherPos();
-                }
-            else
-                {
-                // In case of non-predictive mode, following condition
-                // check text is selceted mode or not?
-                // In selected mode, character always being inserted
-                // anchor position
-                if( curCursSel.Length() >0 )
-                    {
-                    returnedPosition = curCursSel.LowerPos();
-                    }
-                else
-                    {
-                    returnedPosition = curCursSel.HigherPos();
-                    }
-                }
-            break;
-        case ERightNaviEvent:
-            if (iFep.IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction))
-                {
-                returnedPosition = uncommittedText.HigherPos();
-                }
-            else
-                {
-                if (curCursSel.Length())
-                    {
-                    returnedPosition = curCursSel.HigherPos();
-                    }
-                else
-                    {
-                    if (curCursSel.iCursorPos == docLength)
-                        {
-                        returnedPosition = 0;
-                        }
-                    else
-                        {
-                        returnedPosition = curCursSel.HigherPos() + 1;
-                        }
-                    }
-                }
-            break;
-        case ELeftNaviEvent:
-            if (iFep.IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction))
-                {
-                returnedPosition = uncommittedText.LowerPos();
-                }
-            else
-                {
-                if (curCursSel.Length())
-                    {
-                    returnedPosition = curCursSel.LowerPos();
-                    }
-                else
-                    {
-                    if (curCursSel.iCursorPos == 0)
-                        {
-                        returnedPosition = docLength;
-                        }
-                    else
-                        {
-                        returnedPosition = curCursSel.LowerPos() - 1;
-                        }
-                    }
-                }
-            break;
-        case EBackspaceEvent:
-            if (iFep.IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction))
-                {
-                returnedPosition = uncommittedText.HigherPos();
-                }
-            else
-                {
-                if (curCursSel.Length())
-                    {
-                    returnedPosition = curCursSel.LowerPos();
-                    }
-                else
-                    {
-                    returnedPosition = curCursSel.LowerPos() - 1;
-                    }
-                }
-            break;
-        default:
-            break;
-        }
-
-    if (returnedPosition < 0)
-        {
-        returnedPosition = 0;
-        }
-    else if (returnedPosition > docLength)
-        {
-        returnedPosition = docLength;
-        }
-    return returnedPosition;
-    }
-
-
-TBool CAknFepCaseManager::TextCaseRequired(TInt aCursorPos)
-    {
-    TBool textCaseRequired = EFalse;
-    TInt charPosToCheck = aCursorPos - 1;   
-    TChar ch = KSpaceCharacter;
-    TBuf<CAknFepManager::ESingleCharacter> editorText;
-    TInt nonEnterSpaceCharCount = 0;
-    
-    if (charPosToCheck >= 0) 
-        {
-        // Get the character just before the cursor.
-        iFep.FepAwareTextEditor()->GetEditorContentForFep(editorText,
-            charPosToCheck, CAknFepManager::ESingleCharacter);
-        ch = editorText[0];        
-        if ( ch == KInvertedQuestionMarkCharacter || ch == KInvertedExclamationMarkCharacter )
-            {
-            // Text case is required imediatelly after 'spanich' question and exclamation mark that begins a sentence.
-            textCaseRequired = ETrue;        
-            }
-        // for chinese uncode limit
-        if ( ch >= KChineseLowerUnicode && ch<= KChineseUpperUnicode)
-        	{
-        	textCaseRequired = ETrue; 
-        	}
-        
-        if( ( TUint )ch == KParagraphSeperator || ( TUint )ch == KLineFeed )
-            {
-            // When we have enter key, we need to decide the case after: 
-            // we reach some non space characters (OR)
-            // we reach the beginning of the editor
-            while (charPosToCheck > 0 && !textCaseRequired)
-                {
-                charPosToCheck--;
-                iFep.FepAwareTextEditor()->GetEditorContentForFep(editorText,
-                    charPosToCheck, CAknFepManager::ESingleCharacter);
-                ch = editorText[0];
-                
-                // IsSpace returns true for ParagraphSeperator.
-                if (!(ch.IsSpace() || ch == EKeyEnter) && nonEnterSpaceCharCount <= 1)
-                    {
-                    if (IsTextCaseCharacter(ch))
-                        {
-        	            textCaseRequired = ETrue;
-                        }
-                    break;
-                    }
-                else 
-                	{
-                	if(!( ( TUint )ch == KParagraphSeperator || ( TUint )ch == EKeyEnter || ( TUint )ch == KLineFeed ) )
-                		{
-                		// Incrementing the count if we have
-                		// IsSpace() returns True AND
-                		// the character is not a ParagraphSeparator or Enter or Line Feed
-                		nonEnterSpaceCharCount++;
-	                	}
-                	if (charPosToCheck <= 0 && !nonEnterSpaceCharCount)
-                    	{
-                    	//Reached the beginning of the Editor. Text case should be ON
-                    	textCaseRequired = ETrue;
-                    	}                    	
-                	}    	
-                }
-            charPosToCheck = aCursorPos - 1;
-            
-           	if (charPosToCheck <= 0 && !nonEnterSpaceCharCount)
-           	    {
-           	    // If Enter is pressed as the first character. Text case is ON
-                textCaseRequired = ETrue;
-                }                    	
-            
-        	}
-
-        /* Teleca change begin, 27.08.2008 ssal */	
-        if (IsKoreanCharacter(ch))
-        	{
-        	textCaseRequired = ETrue;       
-        	}
-        /* Teleca change end, 27.08.2008 ssal */
-        }
-
-
-    if (charPosToCheck > 0 && !textCaseRequired) 
-        {
-        if (iFep.IsFeatureSupportedJapanese())
-            {
-            // The character case is changed to text case when the left side
-            // character is Japanese character.
-            if (IsJapaneseCharacter(ch))
-                {
-                textCaseRequired = ETrue;
-                }
-            else if (ch.IsSpace() || ch == EKeyEnter ||
-                     ch == (TUint)KPuaCodeSpaceSymbol)
-                {
-                while (charPosToCheck > 0)
-                    {
-                    charPosToCheck--;
-                    // Get the character before the previous character.
-                    iFep.FepAwareTextEditor()->GetEditorContentForFep(editorText,
-                        charPosToCheck, CAknFepManager::ESingleCharacter);
-                    ch = editorText[0];
-                    if (!(ch.IsSpace() || ch == EKeyEnter || ch == (TUint)KPuaCodeSpaceSymbol))
-                        {
-                        if (IsTextCaseCharacter(ch))
-                            {
-                            // One space between the cursor and the punctuation character => text case needed
-                            textCaseRequired = ETrue;
-                            }
-                        break;
-                        }
-                    else if (charPosToCheck <= 0)
-                        {
-                        // reached the start of the editor => text case needed
-                        textCaseRequired = ETrue;
-                        }
-                    }
-                }
-            }
-        else
-            {
-            if ( charPosToCheck > 0 && !textCaseRequired && !nonEnterSpaceCharCount) 
-			    {        
-			    if ( ch.IsSpace() || ch == EKeyEnter || 
-			    	ch == ( TUint )KPuaCodeSpaceSymbol )
-			        {
-			        while ( charPosToCheck > 0 )
-			            {
-			            charPosToCheck--;
-			            
-			            // Get the character before the previous character.
-			            iFep.FepAwareTextEditor()->GetEditorContentForFep(editorText,
-			                charPosToCheck, CAknFepManager::ESingleCharacter);
-			                
-			            ch = editorText[0];
-			            
-			            // This condition is added to keep Text case ON when space is
-			            // entered after a "New line" character.
-			            if( ( TUint )ch == KParagraphSeperator )
-			            	{			            	
-			            	textCaseRequired = ETrue;
-			            	break;
-			            	}
-			            	
-			            if ( !( ch == EKeyEnter || 
-			            		ch == ( TUint )KPuaCodeSpaceSymbol ) )
-			                {
-			                if ( IsTextCaseCharacter( ch ) )
-			                    {			                    
-			                    textCaseRequired = ETrue;
-			                    }
-			                break;
-			                }
-			            else if ( charPosToCheck <= 0 )
-			                {
-			                // reached the start of the editor => text case needed
-			                textCaseRequired = ETrue;
-			                }
-			            }
-                    }
-                }
-            }
-        }
-    else if (charPosToCheck < 0)
-        {
-        // reached the start of the editor => text case needed
-        textCaseRequired = ETrue;
-        }
-    else    // if (charPosToCheck == 0)
-        {
-        if (!textCaseRequired && iFep.IsFeatureSupportedJapanese())
-            {
-            if (IsJapaneseCharacter(ch)
-             || ch.IsSpace()
-             || ch == EKeyEnter
-             || ch == (TUint)KPuaCodeSpaceSymbol)
-                {
-                // reached the start of the editor => text case needed
-                textCaseRequired = ETrue;
-                }
-            }
-        }
-
-    return textCaseRequired;
-    }
-
-
-TBool CAknFepCaseManager::CapsLockRequired(TInt aCursorPos, TInt aCurCase)
-    {
-    TBool capsLocked = iForceUpperCase;
-    TInt charPosToCheck = aCursorPos - 1;   
-    TChar ch = KSpaceCharacter;
-    TBuf<CAknFepManager::ESingleCharacter> editorText;
-    
-    // is the previous character alphabetical?
-    if (charPosToCheck >= 0) 
-        {
-        iFep.FepAwareTextEditor()->GetEditorContentForFep(editorText,
-            charPosToCheck, CAknFepManager::ESingleCharacter);
-        if( editorText.Length()>0 )
-            {
-            ch = editorText[0];
-            }
-            
-        if (IsAlpha(ch) ||
-            ((aCurCase == EAknEditorUpperCase || aCurCase == ECaseInverseText) && 
-             !TextCaseRequired(aCursorPos)))
-            {
-            // Caps lock (upper case mode) is kept up if we are currently in upper case mode
-            // and previous character is alpha character or for example full stop. 
-            // If the cursor and full stop is separated with space, text case is restored. 
-            capsLocked = ETrue;
-            }
-        }
-    
-    return capsLocked;
-    }
-
-
-void CAknFepCaseManager::DoManualCaseUpdate()
-    {
-    TBool applyCaseNeeded = ETrue;
-    iPreviousCase = iCurrentCase;
-    TCursorSelection currentSelection;
-    iFep.FepAwareTextEditor()->GetCursorSelectionForFep(currentSelection);
-
-    switch (iCurrentCase)
-        {
-        case EAknEditorLowerCase:
-            if (CapsLockRequired(currentSelection.iCursorPos, iCurrentCase) 
-             && IsCasePermitted(EAknEditorUpperCase))
-                {
-                SetCurrentCase(EAknEditorUpperCase);
-                }
-            else if (!IsCasePermitted(EAknEditorTextCase) 
-#ifdef RD_HINDI_PHONETIC_INPUT	
-            
-            || iFep.IsIndicPhoneticInputLanguage()
-#endif            
-            )
-                {
-                if( IsCasePermitted(EAknEditorUpperCase) )
-                    SetCurrentCase(EAknEditorUpperCase);
-                }
-            else
-                {
-                SetCurrentCase(EAknEditorTextCase);
-                }
-            applyCaseNeeded = EFalse;
-            break;
-        case EAknEditorTextCase:
-             if (iForceUpperCase && IsCasePermitted(EAknEditorUpperCase))
-                {
-                SetCurrentCase(EAknEditorUpperCase);
-                applyCaseNeeded = EFalse;     
-                break;          
-                }
-        case EAknEditorUpperCase:
-            SetCurrentCase(EAknEditorLowerCase);
-            applyCaseNeeded = EFalse;
-            break;
-        default:
-            break;
-        }
-
-    if (!(IsCasePermitted(iCurrentCase)))
-        {
-        DoManualCaseUpdate();
-        }
-    else
-        {
-        if (applyCaseNeeded)
-            {
-            ApplyCase();
-            }
-        }
-    }
-
-
-void CAknFepCaseManager::ApplyCase()
-    {
-    // update engine...
-    switch (iCurrentCase)
-        {
-        case EAknEditorUpperCase: // fall through
-        case EAknEditorTextCase:
-            iFep.SetCase(EUpperCase);
-            break;
-        case EAknEditorLowerCase: // fall through
-        default:
-            iFep.SetCase(ELowerCase);
-            break;
-        }
-    if(iFep.EditorState())
-        {
-        iFep.EditorState()->SetCurrentCase(iCurrentCase);
-        }
-    iFep.UpdateIndicators();
-
-#ifdef RD_SCALABLE_UI_V2    
-    iFep.UpdateTouchCaseMode();
-#endif
-    }
-
-
-void CAknFepCaseManager::SetFixedCase(TBool aFixedCase)
-    {
-    iFixedCase = aFixedCase;
-    }
-
-
-TBool CAknFepCaseManager::CurrentEditorIsFixedCase() const
-    {
-    return iFixedCase;
-    }
-
-
-TBool CAknFepCaseManager::IsCasePermitted(TInt aCase) const
-    {
-    // if current is permitted or current is lower and text is permitted
-    CAknEdwinState* editorState = iFep.EditorState();
-    return ( editorState && ( !editorState->PermittedCases() || 
-           (aCase & editorState->PermittedCases() || 
-           (aCase == EAknEditorLowerCase && 
-           (EAknEditorTextCase & editorState->PermittedCases())))) );
-    }
-
-TBool CAknFepCaseManager::IsTextCaseCharacter(TChar aChar) const
-    {
-    TBool ret = EFalse;
-    if (iTextCaseCharacters.Locate(aChar)!=KErrNotFound)
-        {
-        ret = ETrue;
-        }
-    else if (JPLangUtil::IsKanji((TText)aChar)
-          || JPLangUtil::IsHiragana((TText)aChar)
-          || JPLangUtil::IsKatakana((TText) aChar))
-        {
-        ret = ETrue;
-        }
-    return ret;
-    }
-
-TBool CAknFepCaseManager::IsAlpha(TChar aChar) const
-    {
-    TBool ret = EFalse;
-    TBool isPicto = EFalse;
-    
-    if (iPictoInterface && iPictoInterface->Interface())
-        {
-        isPicto = iPictoInterface->Interface()->IsPictograph((TText)aChar);
-        }
-    
-    if (!( JPLangUtil::IsHiragana((TText)aChar)
-        || JPLangUtil::IsKanji((TText)aChar)
-        || JPLangUtil::IsKatakana((TText)aChar)
-        /* Teleca change begin, 18.08.2009 ssal */
-        || IsKoreanCharacter(aChar)
-        /* Teleca change end, 18.08.2009 ssal */
-        || isPicto ))
-        {
-        TChar ch = aChar;
-        if (iFep.IsFeatureSupportedJapanese() && 
-            JPLangUtil::IsFullWidth((TText) ch))
-            {
-            TBuf<CAknFepManager::ESingleCharacter> fullChar;
-            TBuf<CAknFepManager::ESingleCharacter> halfChar;
-            fullChar.Append(ch);
-            if (JPLangUtil::ConvertFullToHalfWidth(fullChar, halfChar))
-                {
-                ch = halfChar[0];
-                ret = ch.IsAlpha();
-                }
-            }
-        else
-            {
-            ret = ch.IsAlpha();
-            }
-        }
-    return ret;
-    }
-
-TInt CAknFepCaseManager::PluginPermittedCases()
-    {
-	TInt allowedCases = ECaseInvalide;    
-    if ( !(iFep.EditorState()) )
-        {
-        return allowedCases;
-        }
-    
-    TInt editorCases = iFep.EditorState()->PermittedCases();
-    
-    if( editorCases == 0 )
-        {
-        allowedCases = ECaseUpper | ECaseLower | ECaseText | ECaseInverseText;    
-        }
-    else
-        {
-        allowedCases = editorCases;
-        
-        if( (editorCases & EAknEditorUpperCase) && 
-            (editorCases & EAknEditorTextCase) )
-            {
-            allowedCases |= ECaseInverseText;
-            }
-        }
-    
-    return allowedCases;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CAknFepCaseManager::CapsLockRequired
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TBool CAknFepCaseManager::CapsLockRequired(TInt aCurrentCase)
-    {
-  	TCursorSelection currentSelection;
-  	
-  	if (iFep.FepAwareTextEditor())
-  		{  		  	
-    	iFep.FepAwareTextEditor()->GetCursorSelectionForFep(currentSelection);    
-    	return CapsLockRequired(currentSelection.iCursorPos, aCurrentCase);
-  		}
-  		
-	return EFalse;  		
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCaseManager::IsJapaneseCharacter
-// Determines whether a character is one of Japanese characters
-// -----------------------------------------------------------------------------
-//
-TBool CAknFepCaseManager::IsJapaneseCharacter(TChar aChar) const
-    {
-    TBool ret = EFalse;
-    // The character case is changed to text case when the left side
-    // character is Japanese character (Hiragana, Katakana, Kanji,
-    // Full-width Symbol).
-    if (JPLangUtil::IsKanji((TText)aChar)
-     || JPLangUtil::IsHiragana((TText)aChar)
-     || JPLangUtil::IsKatakana((TText)aChar))
-        {
-        // Hiragana, Katakana, Kanji
-        ret = ETrue;
-        }
-    else if (JPLangUtil::IsFullWidth((TText)aChar)
-     && aChar != KPuaCodeSpaceSymbol
-     && aChar != KPuaCodeLineFeedSymbol)
-        {
-        if (iFep.InputMode() == ELatin
-          && iFep.CharacterWidth() == EFullWidthChar)
-            {
-            TBuf<CAknFepManager::ESingleCharacter> fullChar;
-            TBuf<CAknFepManager::ESingleCharacter> halfChar;
-            fullChar.Append(aChar);
-            if (JPLangUtil::ConvertFullToHalfWidth(fullChar, halfChar))
-                {
-                TChar ch2 = halfChar[0];
-                if (!ch2.IsAlpha())
-                    {
-                    // Full width Symbol or Number
-                    ret = ETrue;
-                    }
-                }
-            else
-                {
-                // The character which isn't converted to half is
-                // special Japanese Symbols.
-                ret = ETrue;
-                }
-            }
-        else
-            {
-            ret = ETrue;
-            }
-        }
-    return ret;
-    }
-
-/* Teleca change begin, 18.08.2009 ssal */
-// -----------------------------------------------------------------------------
-// CAknFepCaseManager::IsKoreanCharacter
-// Determines whether a character is one of Korean characters
-// -----------------------------------------------------------------------------
-//
-TBool CAknFepCaseManager::IsKoreanCharacter(TChar aChar) const
-    {  
-    if ( IsHangulSyllable( aChar) || IsHangulCompatibilityJamo( aChar ) )
-    	{
-    	return ETrue;
-    	}
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// Checks that is given character hangul syllable or not.
-// ---------------------------------------------------------------------------
-//
-TBool CAknFepCaseManager::IsHangulSyllable( TChar aChar ) const
-    {
-    // Character is 'hangul syllable' 
-    // if it's numeric value is between KSBase and KSBase + KSCount.
-    TInt index = static_cast<TInt> ( aChar ) - KSBase;
-    if ( index < 0 || index >= KSCount )
-        {
-        return EFalse;
-        }
-    return ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// Checks that is given character hangul syllable or not.
-// ---------------------------------------------------------------------------
-//
-TBool CAknFepCaseManager::IsHangulCompatibilityJamo( TChar aChar ) const
-    {
-    // Character is 'hangul compatibility jamo' 
-    // if it's numeric value is between KCBase and KCBase + KCCount.
-    TInt index = static_cast<TInt> ( aChar ) - KCBase;
-    if ( index < 0 || index >= KCCount )
-        {
-        return EFalse;
-        }
-    return ETrue;
-    }
-
-/* Teleca change end, 18.08.2009 ssal */    
-// End of file
--- a/fep/aknfep/src/AknFepFnKeyManager.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,621 +0,0 @@
-/*
-* Copyright (c) 2002-2007 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:            Provides CAknFepManager definition
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifdef _DEBUG
-#include <eikenv.h>
-#endif
-
-#include <fepbase.h>
-#include <avkon.hrh>
-#include <aknedsts.h>               //CAknEdwinState
-
-#include "AknFepFnKeyManager.h"
-#include "AknFepManager.h"
-#include <centralrepository.h>
-#include <AknFepInternalCRKeys.h>
-#include "PtiEngine.h"
-
-
-/*this part is removed 
-const   TUid    KPhoneUidAppPhone = { 0x100058B3 };
-const   TUid    KUidCalc = { 0x10005902 };
-const   TUid    KUidIdle = { 0x101fd64c };
-*/
-const   TStdScanCode stdFnKeyCode(EStdKeyRightFunc);    // Defines the std key code for Fn key
-
-////////////////////////////////////////////////////////////
-//   CAknFepFnKeyManager implementation
-//////////////////////////////////////////////////////////// 
-CAknFepFnKeyManager::CAknFepFnKeyManager( CAknFepManager& aFepMan, 
-                    CAknFepSharedDataInterface* aSharedDataInterface)
-:iFepMan( aFepMan ),
- iFnKeyState( EFnKeyNone ),
- iIsQwertyMode (EFalse),
- iSharedDataInterface(aSharedDataInterface),
- iShiftKeyPressed( EFalse )
-    {
-    iIsQwertyMode = iSharedDataInterface->QwertyInputMode();
-#ifdef __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    iWasPreviousModePredictive = iFepMan.WesternPredictive();
-#endif // RD_INTELLIGENT_TEXT_INPUT
-#else   
-    iWasPreviousModePredictive = iSharedDataInterface->PredictiveTextOn();
-#endif // __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__     
-    // The CR key KAknFepFnKeyState is reset the Fn key state NONE
-    iSharedDataInterface->SetFnKeyState(0);
-    }
-
-CAknFepFnKeyManager* CAknFepFnKeyManager::NewL( CAknFepManager& aFepMan,
-                                            CAknFepSharedDataInterface* aSharedDataInterface)
-    {
-    CAknFepFnKeyManager* self = new(ELeave) CAknFepFnKeyManager( aFepMan,aSharedDataInterface );
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;
-    }
-
-CAknFepFnKeyManager::~CAknFepFnKeyManager()
-    {    
-    iFnKeyState=EFnKeyNone;
-    }
-    
-void CAknFepFnKeyManager::ConstructL()
-    {    
-    }
-
-void CAknFepFnKeyManager::SetQwertyInputMode(TBool aQwertyState)
-    {
-    iIsQwertyMode = aQwertyState;
-    }
-void CAknFepFnKeyManager::ClearFnKeyState()
-    {
-    iFnKeyState = EFnKeyNone;
-    iFepMan.UpdateIndicators();    
-    }
-
-CAknFepFnKeyManager::TFnKeyState CAknFepFnKeyManager::FnKeyState()
-    {
-    return iFnKeyState;
-    }
-
-void CAknFepFnKeyManager::SetFnKeyState(CAknFepFnKeyManager::TFnKeyState aState)
-    {
-    TPtiKeyboardType keyboardType = iFepMan.KeyboardLayout();
-    //This function is only supported for EFnKeyNext and half Qwerty keypad at the moment.
-    if(keyboardType == EPtiKeyboardHalfQwerty && EFnKeyNext == iFnKeyState &&
-        aState == EFnKeyNone)
-        {    
-        
-        //if(aState == EFnKeyNext && keyboardType == EPtiKeyboardHalfQwerty)
-        //	{
-        //	iFepMan.PtiEngine()->CancelTimerActivity();
-        //	}
-        iFnKeyState = aState;
-        iFepMan.SetCase( (TCase)iPreviousCase );
-        iFepMan.UpdateIndicators();
-        }
-#ifdef RD_INTELLIGENT_TEXT_INPUT  
-    else if(keyboardType == EPtiKeyboardQwerty3x11 && EFnKeyNone == iFnKeyState &&
-        aState == EFnKeyLock)
-        {
-        UpdatePreviousCase();
-        iFnKeyState = aState;
-        iFepMan.SetCase(EFnKeyLowerCase);
-        iFepMan.UpdateIndicators();
-        }
-#endif // RD_INTELLIGENT_TEXT_INPUT 		
-#ifdef __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__  
-#ifdef RD_INTELLIGENT_TEXT_INPUT  
-    //Half QWERTY state uses this to change from EFnKeyNext aFnKeyNone
- 	   else if ( iFnKeyState == EFnKeyNone && aState == EFnKeyNext )
-        {
-        // QWERTY long press implementation uses this function to set the Fn state.
-        UpdatePreviousCase();
-        iFnKeyState=EFnKeyNext;
-        }
-
-#endif // RD_INTELLIGENT_TEXT_INPUT  
-#endif // __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-     // TODO: above piece of code should be simplify.    
-     // Set the Fn Key state  
- 	 else
- 	    {
- 	    iFnKeyState = aState;    
- 	    }
-    }
-TKeyResponse CAknFepFnKeyManager::HandleFnKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType, 
-                                                     TCoeInputCapabilities aInputCapabilities ) 
-    {
-    
-    TKeyResponse keyResponse = EKeyWasNotConsumed;
-    TPtiKeyboardType keyboardType = iFepMan.KeyboardLayout();
-
-    if(!iIsQwertyMode)
-        {
-        return keyResponse;
-        }
-        
-  	if(!iFepMan.IsFlagSet(CAknFepManager::EFlagShiftKeyDepressed) && 
-      !iFepMan.IsFlagSet(CAknFepManager::EFlagLongShiftKeyPress)
-      && iShiftKeyPressed )
-        {
-        iShiftKeyPressed = EFalse;
-        }
-                
-    TInt caseFromFep = iFepMan.GetCurrentCase();
-    
-    TBool lockLater = EFalse;    
-    if(  EEventKeyDown == aType )
-        {
-        if( stdFnKeyCode == aKeyEvent.iScanCode )
-    		{
-            iFepMan.PtiEngine()->CancelTimerActivity();
-    		if( iPreviousKeyWasFnKey )
-    			{
-    			lockLater	= ETrue;
-    			}
-    		iPreviousKeyWasFnKey = ETrue; 			
-    		}    
-    	else
-    		{
-    		iPreviousKeyWasFnKey = EFalse; 				
-    		}        
-        }
-    if(aKeyEvent.iRepeats && stdFnKeyCode != aKeyEvent.iScanCode &&
-            iFnKeyState == EFnKeyNext)
-        {
-        // To fix the bug : Long press of number at the begin of editor. Then enter any character. 
-        // The character is shown in upper case.
-        if (ELowerCase == caseFromFep)
-            {
-            iFepMan.SetCase( (TCase)caseFromFep );
-            }
-        // To Fix Error: Character is NOT entered as per the input mode
-        // when the character is entered after pressing Shift + Fn + Shift keys
-        else if(!(EStdKeyRightShift == aKeyEvent.iScanCode ||
-        		  EStdKeyLeftShift == aKeyEvent.iScanCode))
-	        {
-            iFepMan.SetCase( (TCase)iPreviousCase );	
-            }
-            
-#ifdef __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-#ifdef RD_INTELLIGENT_TEXT_INPUT  
-         // For QWERTY Predictive ---->
-        if(iWasPreviousModePredictive)
-        	{
-        	// We usually end up here when using the long key press to enter Fn symbols
-			iFepMan.SetWesternPredictive(ETrue); 
-		   	iFepMan.TryChangeModeL(ELatin);               	
-        	}
-        // For QWERTY Predictive <----
-
-#endif // RD_INTELLIGENT_TEXT_INPUT  
-#endif // __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__    
-        iFnKeyState = EFnKeyNone;
-        iFepMan.UpdateIndicators();
-        }
-     
-    if( stdFnKeyCode == aKeyEvent.iScanCode )
-        {
-        // Consume the function key events.
-        keyResponse = EKeyWasConsumed;
-        }
-    if (iFepMan.IsHybridAplhaEditor())
-        keyResponse = EKeyWasNotConsumed;
- 
-    
-    // check for the case when in Half Qwerty and both shift and fn keys are
-    // pressed and fn key is released while shift is still down
-    if( EEventKeyUp == aType && 
-    	stdFnKeyCode == aKeyEvent.iScanCode &&
-    	iShiftKeyPressed &&
-    	EPtiKeyboardHalfQwerty == keyboardType )
-    	{
-    	ClearFnKeyState();
-    	}
-    	    
-    if( EStdKeyRightShift == aKeyEvent.iScanCode ||  EStdKeyLeftShift == aKeyEvent.iScanCode )
-        {
-        if( EEventKeyDown == aType ) 
-            {
-            iShiftKeyPressed = ETrue;
-            }
-        if( EEventKeyUp == aType )
-            {
-            iShiftKeyPressed = EFalse;
-            }
-        }
-        
-    // For Shift key handling.
-    // Shift Key should be ignored in locked state.
-     
-    if( ( EFnKeyNext == iFnKeyState ) 
-    && EEventKeyDown == aType &&
-    ( EStdKeyRightShift == aKeyEvent.iScanCode ||  EStdKeyLeftShift == aKeyEvent.iScanCode)) 
-        {
-        // Fnkey event+ shift key event. Change to FnKey Upper case
-        iFepMan.SetCase( EFnKeyUpperCase );
-        if( keyboardType == EPtiKeyboardHalfQwerty )
-            {
-            iFepMan.SetCase( EFnKeyLowerCase );
-            }
-        return EKeyWasNotConsumed;
-        }
-    //===================================================		
-	
-	// GQF clarification Fn+Shift
-	// If shift key is hold on, So fn key state should be EFnKeyNext
-	// So next text mode goes to function upper
-	if( aType == EEventKeyUp && iShiftKeyPressed &&  stdFnKeyCode == aKeyEvent.iScanCode)	
-		{
-		if( EFnKeyPressed == iFnKeyState)
-			{
-			iFepMan.PtiEngine()->CancelTimerActivity();
-			iFnKeyState=EFnKeyNext;
-			iFepMan.SetCase( EFnKeyUpperCase );				
-			}			
-        else if (EFnKeyPressedAgain == iFnKeyState )
-            {
-            CEikonEnv::Static()->InfoMsg(_L("iFnKeyState = EFnKeyLock"));
-            iFnKeyState = EFnKeyLock;	                
-            UpdatePreviousCase();
-            iFepMan.SetCase( EFnKeyUpperCase );
-            }
-        else if(EFnKeyDown == iFnKeyState)
-            {
-            iFnKeyState = EFnKeyNone;
-            UpdatePreviousCase();
-            iFepMan.SetCase( EUpperCase );	
-            }
-		iFepMan.UpdateIndicators();
-		}
-	// Holding shift key, press key just after releasing fn key,
-	// Fn key state goes to EFnKeyNone mode.
-	if( aType == EEventKeyUp && iShiftKeyPressed && iFnKeyState==EFnKeyNext && stdFnKeyCode != aKeyEvent.iScanCode &&  !(EStdKeyRightShift == aKeyEvent.iScanCode ||  EStdKeyLeftShift == aKeyEvent.iScanCode))
-		{
-		iFnKeyState=EFnKeyNone;		
-		iFepMan.SetCase( EUpperCase );		
-		iFepMan.UpdateIndicators();
-		}
-		
-	//====================================================
-		
-    // Fnkey event+ shift key event -> when fn and shift key are kept pressed.
-    if( (iShiftKeyPressed && EFnKeyNone != iFnKeyState ) )
-        {
-        if( (EFnKeyPressed == iFnKeyState) &&
-        	(stdFnKeyCode != aKeyEvent.iScanCode) &&
-        	!( EStdKeyRightShift == aKeyEvent.iScanCode ||  EStdKeyLeftShift == aKeyEvent.iScanCode ))
-	        {
-     	   	CEikonEnv::Static()->InfoMsg(_L("iFnKeyState = EFnKeyDown"));
-          	iFnKeyState=EFnKeyDown;	      	
-	        }
-        
-        // Thre is no Functin shift reverse mode
-        // So, In shift key press if fn key state is not none
-        // text case stte is function upper.
-        if( aType == EEventKeyDown && stdFnKeyCode == aKeyEvent.iScanCode)
-        	{
-        	if ( EFnKeyNext == iFnKeyState )
-        		{       	     	
-       	     	if(lockLater)
-       	     	    {
-       	     	    //CEikonEnv::Static()->InfoMsg(_L("iFnKeyState = EFnKeyPressedAgain "));
-       	     	    iFnKeyState=EFnKeyPressedAgain;
-       	     	    } 					
-        		}
-        	else if ( EFnKeyLock == iFnKeyState )
-	        	{
-       	     	//CEikonEnv::Static()->InfoMsg(_L("iFnKeyState = EFnKeyDown"));
-              	iFnKeyState=EFnKeyDown;
-	        	}
-        	}
-        iFepMan.SetCase( EFnKeyUpperCase );
-        if( keyboardType == EPtiKeyboardHalfQwerty )
-            {
-            iFepMan.SetCase( EFnKeyLowerCase );
-            }
-        iFepMan.UpdateIndicators();
-        return EKeyWasNotConsumed;
-        }
-
-    // Check the input mode of the currently focused editor (when available)
-    MCoeFepAwareTextEditor* fepAwareTextEditor = aInputCapabilities.FepAwareTextEditor();
-    
-    if ( fepAwareTextEditor && fepAwareTextEditor->Extension1() )
-        {
-        if( EAknEditorNumericInputMode == 
-            ( static_cast<CAknEdwinState*>( fepAwareTextEditor->Extension1()->State( KNullUid ) ) )->CurrentInputMode() )
-            // If number input mode is detected, handle it as number input
-            // capability with greatest available variation of letters
-            {
-            // Use EDialableCharacters since it provides most flexibility for number input
-            aInputCapabilities.SetCapabilities( TCoeInputCapabilities::EDialableCharacters );
-            }            
-        }
-        
-    if ( EFnKeyForced != iFnKeyState )
-        {
-        // Handling of Fn key events.
-        // If Fn key is held down while characters are typed, all following key 
-        // events are exchanged.
-        // If Fn key is only pressed (key down + key up, not held down), only
-        // the very next key event is exchanged.
-        // If the next key event after Fn key is another Fn key event, the 
-        // Fn lock mode is activated. Then all following key events are
-        // exchanged until the Fn key is pressed again.       
-         
-        if( EEventKeyDown == aType && stdFnKeyCode == aKeyEvent.iScanCode )
-            {
-            if ( EFnKeyNext == iFnKeyState )
-                {                
-                if(lockLater)
-            		{
-            		CEikonEnv::Static()->InfoMsg(_L("iFnKeyState=EFnKeyPressedAgain"));	
-            		iFnKeyState=EFnKeyPressedAgain;
-          			}
-              	else
-              	    {
-              	    iFnKeyState=EFnKeyPressed;
-              	    }		              			
-                }
-            else if ( EFnKeyLock == iFnKeyState )
-                {
-                CEikonEnv::Static()->InfoMsg(_L("iFnKeyState=EFnKeyDown"));
-                iFnKeyState=EFnKeyDown;
-                }
-            //else 
-            // Sahoo
-            else if ( EFnKeyDown != iFnKeyState )
-                {
-                CEikonEnv::Static()->InfoMsg(_L("iFnKeyState=EFnKeyPressed"));
-                iFnKeyState=EFnKeyPressed;
-                }
-            iFepMan.UpdateIndicators();    
-            return keyResponse;
-            }
-        // Sahoo            
-        if( EEventKeyDown == aType && EFnKeyPressed == iFnKeyState )
-            {
-            iFnKeyState=EFnKeyDown;
-            iFepMan.SetCase( EFnKeyLowerCase );
-            }
-#ifdef __WINS        
-        // NOTE: This following HACK is to ensure working in emulator environment,
-        // where Alt Gr key seems to send always two separate key events:
-        // EStdKeyRightFunc and EStdKeyLeftCtrl
-        if ( EStdKeyLeftCtrl == aKeyEvent.iScanCode )
-            {
-            return;
-            }
-        // HACK ends
-#endif
-        
-        if( EEventKeyUp == aType && stdFnKeyCode == aKeyEvent.iScanCode )
-            {
-            if ( EFnKeyPressedAgain == iFnKeyState )
-                {
-               	if(! iFepMan.IsFlagSet(CAknFepManager::EFlagQwertyShiftMode))
-	               	{
-	                CEikonEnv::Static()->InfoMsg(_L("iFnKeyState = EFnKeyLock"));
-	                iFnKeyState = EFnKeyLock;
-		           	}
-               	else
-	               	{
-	                CEikonEnv::Static()->InfoMsg(_L("iFnKeyState = EFnKeyNext"));
-	                iFepMan.PtiEngine()->CancelTimerActivity();
-	                iFnKeyState = EFnKeyNext;               		
-	               	}
-                UpdatePreviousCase();
-                iFepMan.ClearFlag(CAknFepManager::EFlagQwertyShiftMode);             
-                iFepMan.SetCase( EFnKeyLowerCase );
-                }
-            else if ( EFnKeyPressed == iFnKeyState )
-                {
-                CEikonEnv::Static()->InfoMsg(_L("iFnKeyState = EFnKeyNext"));
-                iFepMan.PtiEngine()->CancelTimerActivity();
-                iFnKeyState = EFnKeyNext;
-                
-                UpdatePreviousCase();
-                
-                // After pressing shift key Press Fn key,
-                // So its goes to function upper mode
-                if( iFepMan.IsFlagSet(CAknFepManager::EFlagQwertyShiftMode))
-                	iFepMan.SetCase( EFnKeyUpperCase );
-                else
-                    iFepMan.SetCase( EFnKeyLowerCase );
-                }
-            else
-                {
-                CEikonEnv::Static()->InfoMsg(_L("iFnKeyState = EFnKeyNone"));
-                
-                // For Shift key handling.
-                if( EFnKeyDown == iFnKeyState || EFnKeyNext == iFnKeyState )
-                    {
-                    iFepMan.SetCase( (TCase)iPreviousCase );
-                    }
-                iFnKeyState = EFnKeyNone;
-                }
-            if( EEventKeyUp == aType && iFnKeyState == EFnKeyNone )
-                {
-                // To fix the bug :Fn key lock. then type a number with short press at begin of 
-                // editor. Now press Fn key to go to Fn none state. 
-                // Press a character. The char is in upper case
-                if (ELowerCase == caseFromFep)
-		            {
-		            iFepMan.SetCase( (TCase)caseFromFep );
-		            }
-		        // To Fix Error: Character is NOT entered as per the input mode
-		        // when the character is entered after pressing Shift + Fn + Shift keys
-		        else if(!(EStdKeyRightShift == aKeyEvent.iScanCode ||
-		            	  EStdKeyLeftShift == aKeyEvent.iScanCode))
-		            {
-		            iFepMan.SetCase( (TCase)iPreviousCase );	
-		            }
-                }
-            iFepMan.UpdateIndicators();
-            return keyResponse;
-            }
-        }
-                
-    // Now detect the input mode for telephone and calculator apps
-/*    if ( aInputCapabilities.IsNone() )
-        {   // Idle and Calculator do not provide input capabilities at all.
-        if ( KPhoneUidAppPhone == aCurrentTopAppUid || KUidIdle == aCurrentTopAppUid )
-            {
-            aInputCapabilities.SetCapabilities( TCoeInputCapabilities::EDialableCharacters );
-            }
-        if ( aCurrentTopAppUid == KUidCalc )
-            {
-            aInputCapabilities.SetCapabilities( TCoeInputCapabilities::EWesternNumericReal );
-            }
-        }        
-*/        
-    // Now handle the automatic number mode
-    if ((iFnKeyState != EFnKeyForced) && 
-        ( aInputCapabilities.SupportsWesternNumericIntegerPositive() ||
-         aInputCapabilities.SupportsWesternNumericIntegerNegative() ||
-         aInputCapabilities.SupportsWesternNumericReal() ||
-         aInputCapabilities.SupportsDialableCharacters() )         
-       )
-        {
-        // If input mode is numeric, Fn key is automated (=forced)
-        iFnKeyState = EFnKeyForced;
-        
-        UpdatePreviousCase();
-        
-        iFepMan.SetCase( EFnKeyLowerCase );
-        iFepMan.UpdateIndicators();
-        //Forced input mode
-        // The CR key KAknFepFnKeyState set to Locked
-        iSharedDataInterface->SetFnKeyState(EFnKeyForced/*=6*/);        
-        CEikonEnv::Static()->InfoMsg(_L("iFnKeyState = EFnKeyForced"));   
-        }
-#ifdef __REVERSE_FN_KEY_SUPPORTED
-    //Reverse Fn Key mapping!
-    //Just one of the cases for Reverse Fn key mapping!
-    // There are manu more of these!
-    if((EFnKeyForced == iFnKeyState && aKeyEvent.iModifiers & EModifierRightFunc ) )
-    	{    	
-    	iFepMan.SetCase( (TCase)iPreviousCase );    	
-    	iFepMan.SetReverseFnkeyInputMode(ETrue);    	
-    	}
-    else if(iFepMan.IsReverseFnkeyInput())
-    	{
-    	iFepMan.SetReverseFnkeyInputMode(EFalse);           
-        iFepMan.SetCase(EFnKeyLowerCase);
-    	}
-#endif //__REVERSE_FN_KEY_SUPPORTED
-        
-    // If any of the following states apply, the key event should be exchanged.        
-    if ( EFnKeyPressed == iFnKeyState ||
-         EFnKeyDown == iFnKeyState ||
-         EFnKeyNext == iFnKeyState ||
-         EFnKeyPressedAgain == iFnKeyState ||
-         EFnKeyLock == iFnKeyState ||
-         EFnKeyForced == iFnKeyState )
-        {
-        // For telephone number editor key events for w, p and + must be accepted as is
-        if( aInputCapabilities.SupportsDialableCharacters() && ( 'W' == aKeyEvent.iScanCode ||
-                                                                 'P' == aKeyEvent.iScanCode ||
-                                                                 '+' == aKeyEvent.iScanCode ||
-                                                                 'w' == aKeyEvent.iCode ||
-                                                                 'p' == aKeyEvent.iCode ||
-                                                                 '+' == aKeyEvent.iCode) )
-            {
-            return keyResponse;
-            }
-            
-        if( EEventKeyUp == aType )
-            {
-            if ( EFnKeyPressed == iFnKeyState || EFnKeyPressedAgain == iFnKeyState )
-                {
-                CEikonEnv::Static()->InfoMsg(_L("iFnKeyState = EFnKeyDown"));
-                iFnKeyState = EFnKeyDown;                
-                UpdatePreviousCase();
-                
-                // Fn key hold on and press any key
-                if( iFepMan.IsFlagSet(CAknFepManager::EFlagQwertyShiftMode))
-                	iFepMan.SetCase( EFnKeyUpperCase );
-                else
-                	iFepMan.SetCase( EFnKeyLowerCase );
-                }
-                
-             // Debasish MT error fixing
-            else if( EFnKeyNext == iFnKeyState && iFepMan.IsFlagSet(CAknFepManager::EFlagQwertyShiftMode))
-	            {
-	            // keep the sate as it is
-	            UpdatePreviousCase();	
-	            iFepMan.SetCase( EFnKeyUpperCase );
-	            
-	            if( keyboardType == EPtiKeyboardHalfQwerty )
-                    {
-                    iFepMan.SetCase( EFnKeyLowerCase );
-                    }
-	            }
-            else if ( EFnKeyNext == iFnKeyState )
-                {
-                //This has to be done if the keyboard type is not half Qwerty
-                if(keyboardType == EPtiKeyboardHalfQwerty)
-                    return keyResponse;
-                CEikonEnv::Static()->InfoMsg(_L("iFnKeyState = EFnKeyNone"));
-                
-                // To fix the bug : At begin of editor, press Fn key. Now press a number.
-                // Now state is FnKeyNone. Type any char. The case is upper.
-                // For Shift key handling.
-                if( EFnKeyDown == iFnKeyState || EFnKeyNext == iFnKeyState )
-                    {
-		 			if (ELowerCase == caseFromFep)
-	            		{
-	            		iFepMan.SetCase( (TCase)caseFromFep );
-	            		}
-			        // To Fix Error: Character is NOT entered as per the input mode
-			        // when the character is entered after pressing Shift + Fn + Shift keys
-		 			else if(!(EStdKeyRightShift == aKeyEvent.iScanCode ||  
-		 						  EStdKeyLeftShift == aKeyEvent.iScanCode))
-	            		{
-	            		iFepMan.SetCase( (TCase)iPreviousCase );	
-	            		}
-                    }
-                 iFnKeyState = EFnKeyNone;
-                }
-            iFepMan.UpdateIndicators();
-            }                        
-        }
-
-    return keyResponse;
-    }
-  
-void CAknFepFnKeyManager::UpdatePreviousCase()
-    {
-    iPreviousCase = iFepMan.GetCurrentCase();
-    }
-// End of File
-
--- a/fep/aknfep/src/AknFepHashKeyManager.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1549 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepHashKeyManager.h"
-#include "AknFepManager.h"
-#include "AknFepCaseManager.h"
-#include "AknFepUiIndicInputManager.h"
-
-#include <aknedsts.h>
-#include <uikon.hrh>
-#include <coedef.h>
-
-#include <PtiEngine.h>
-
-//move to class definition
-#define EHashKeyTimeout 700000 // 0.7s
-
-CAknFepHashKeyManager* CAknFepHashKeyManager::NewL(CAknFepManager& aFepMan, 
-                                                   CAknFepCaseManager* aCaseMan)
-    {
-    CAknFepHashKeyManager* self = new(ELeave) CAknFepHashKeyManager(aFepMan, aCaseMan);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;
-    }
-
-CAknFepHashKeyManager::~CAknFepHashKeyManager()
-    {
-    delete iHashKeyTimer;
-    }
-
-TKeyResponse CAknFepHashKeyManager::HandleKeyEventL(TKeyPressLength aLength)
-    {
-    TKeyResponse response = EKeyWasNotConsumed;
-
-    switch (iHashKeyStyle)
-        {
-        case EHashKeyStyleWestern:
-            response = HandleKeyWesternL(aLength);
-            break;
-        case EHashKeyStyleChineseWithWestern:
-            response = HandleKeyWesternWithChineseL(aLength);
-            break;
-        case EHashKeyStyleJapanese:
-            response = HandleKeyJapaneseL(aLength);
-            break;
-        case EHashKeyStyleKoreanWithWestern:
-            response = HandleKeyWesternWithKoreanL(aLength);
-            break;
-    default:
-        break;
-        }
-    return response;
-    }
-
-void CAknFepHashKeyManager::SetMode(TInt aMode, TBool aWesternPredictive)
-    {
-    iMode = aMode;
-    iWesternPredictive = aWesternPredictive;
-    }
-
-void CAknFepHashKeyManager::SetHashKeyStyle(THashKeyStyle aHashKeyStyle)
-    {
-    iHashKeyStyle = aHashKeyStyle;
-    }
-
-void CAknFepHashKeyManager::CancelHashKeyTimer()
-    {
-    if (iHashKeyTimer->IsActive())
-        {
-        iHashKeyTimer->Cancel();
-        }
-    }
-
-CAknFepHashKeyManager::CAknFepHashKeyManager(CAknFepManager& aFepMan, CAknFepCaseManager* aCaseMan)
-    :iHashKeyStyle(EHashKeyStyleWestern),
-     iFepMan(aFepMan),
-     iCaseMan(aCaseMan)
-    {
-    iLanguageChangedOrChangeFromNumberMode = EFalse;
-    iIndicSelectionLoopIndex = -1; // Cannot use 'iFepMan.WesternPredictive(ELatin);' since FepMan is not completely constructed at the construction of this
-    }
-
-void CAknFepHashKeyManager::ConstructL()
-    {   
-    iHashKeyTimer = CPeriodic::NewL(CActive::EPriorityStandard);
-    }
-
-TInt CAknFepHashKeyManager::HashKeyTimerTimeoutCallback(TAny* aObj)
-    {
-    STATIC_CAST(CAknFepHashKeyManager*, aObj)->HashKeyTimerTimeout();
-    return KErrNone;
-    }
-
-void CAknFepHashKeyManager::HashKeyTimerTimeout()
-    {
-    iHashKeyTimer->Cancel();
-    }
-
-void CAknFepHashKeyManager::RevertPredictiveTextSettingChangeL()
-    {
-    if ( !iFepMan.InputLanguageSupportsCaseChanges() && iFepMan.EditorState()&&
-        !( iFepMan.EditorState()->Flags() & EAknEditorFlagNoT9) )
-        {
-        // Reverts predictive text settings change made with short key press.
-        iFepMan.SetWesternPredictive( !iFepMan.WesternPredictive(ELatin) );
-        iFepMan.TryChangeModeL(ELatin);
-        }
-    }
-
-TKeyResponse CAknFepHashKeyManager::HandleKeyWesternL(TKeyPressLength aLength)
-    {
-    TKeyResponse response = EKeyWasNotConsumed;
-    TBool phoneIdle = (iFepMan.EditorType() == CAknExtendedInputCapabilities::EPhoneNumberEditor); 
-    if(phoneIdle)
-        {
-        return response;
-        }
-    iLastModeNumber = (iMode == ENumber || iMode == ENativeNumber);
-
-    if ( (iMode == ENumber || iMode == ENativeNumber) && !iFepMan.HashKeySelectionInUse())
-        {
-        if (aLength == ELongKeyPress)
-            {
-            // Clear the EExtendedFlagShortPressHashKey, only for non numeric only editors
-            // so as to indicate we are in a long press of hash key event.
-            // In case of numeric only editor, we should re-simulate hash and let application 
-            // handle it.
-
-            if ( !iFepMan.IsOnlyNumericPermitted() )
-                {
-                iFepMan.ClearExtendedFlag(CAknFepManager::EExtendedFlagShortPressHashKey);
-
-                // Long press of hash key switches to alpha mode
-                // if it is permitted mode in the editor.
-                iFepMan.TryChangeToModeBeforeL();
-                ResetIndicHashKeyStateL();
-                }
-            response = EKeyWasConsumed;
-            }
-        else if (!iFepMan.IsExtendedFlagSet(CAknFepManager::EExtendedFlagShortPressHashKey))
-            {
-            // Set the flag to indicate its a short press of key event
-            iFepMan.SetExtendedFlag(CAknFepManager::EExtendedFlagShortPressHashKey);
-            response = EKeyWasConsumed;
-            }
-        else
-            {
-            // We are not suppose to be here. Just a fail safe check to guard us against
-            // erroneous situations.
-            
-            iFepMan.ClearExtendedFlag(CAknFepManager::EExtendedFlagShortPressHashKey);
-            }
-        }
-    else
-        {
-        if ( aLength == EShortKeyPress )
-            {
-           	if (iFepMan.HashKeySelectionInUse())
-             	{
-            	// New style hash key loop when long hash-key press is used for text selection.												     			                	               	
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-		        // To rip off suggested word completion when user wants to 
-		        // switch to number or multitap mode
-		        if(iFepMan.IsAutoCompleteOn())
-		        	{
-		            iFepMan.RemoveSuggestedCompletionL();	
-		            }
-#endif	//RD_INTELLIGENT_TEXT_INPUT
-               	return HandleKeyWesternSelectionStyleL(aLength);  
-               	}
-               	
- 			if ( iLastModeNumber )
-            	{
-            	// The key should not be consumed in number mode? FEP Manager may
-            	// put special chars into the editor or the key  event 
-            	// is passed to the editor.
-
-	            // But now the event is consumed. Same happens also in 
-    	        // Chinese languages because # key is reserved for 
-        	    // other purpose.
-            	response = EKeyWasConsumed;
-           		 }               	
-            
-			if(IsIndicHashKeyStyleRequired())
-				{
-				return (SetIndicStateL());	
-				}
-            	// Traditional hash key loop
-            if ( iFepMan.InputLanguageSupportsCaseChanges() )
-                {
-                if (iHashKeyTimer->IsActive())
-                    {
-                    iHashKeyTimer->Cancel();
-                    iCaseMan->RevertCaseChange();
-                    // Toggle predictive setting.
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-		         // To rip off suggested word completion when user wants to 
-		         // switch to number or multitap mode
-		        if(iFepMan.IsAutoCompleteOn())
-		        	{
-		            iFepMan.RemoveSuggestedCompletionL();	
-		            }
-
-#endif	//RD_INTELLIGENT_TEXT_INPUT
-                    iFepMan.SetCcpuFlag(CAknFepManager::ECcpuStataCommitPredictiveWord);
-                    iFepMan.SetWesternPredictive( !iFepMan.WesternPredictive(ELatin) );
-                    iFepMan.TryChangeModeL(ELatin);
-                    }
-                else
-                    {
-                    iCaseMan->ManualCaseUpdate();
-                    iHashKeyTimer->Start(EHashKeyTimeout, EHashKeyTimeout,
-                        TCallBack(HashKeyTimerTimeoutCallback, this));
-                    }
-                }
-            else // Case changes are not allowed.
-                {
-                if (iHashKeyTimer->IsActive())
-                    {
-                    iHashKeyTimer->Cancel();
-                    // Double press of hash key does not have functionality.
-                    }
-                else
-                    {
-                    // Toggle predictive setting.
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-                    // AutoComplete - Fix - Begin
-                    if(iFepMan.IsAutoCompleteOn())
-		        	{
-		            iFepMan.RemoveSuggestedCompletionL();	
-		            }
-		            // AutoComplete - Fix - End
-
-#endif	//RD_INTELLIGENT_TEXT_INPUT
-                    iFepMan.SetWesternPredictive( !iFepMan.WesternPredictive(ELatin) );
-                    iFepMan.TryChangeModeL(ELatin);
-                    iHashKeyTimer->Start(EHashKeyTimeout, EHashKeyTimeout,
-                        TCallBack(HashKeyTimerTimeoutCallback, this));
-                    }
-                }
-            response = EKeyWasConsumed;
-            }
-        else // Long key press of hash key
-            {
-            // Clear EExtendedFlagShortPressHashKey flag as soon as long press happens
-            iFepMan.ClearExtendedFlag(CAknFepManager::EExtendedFlagShortPressHashKey);
-            
-            // Toggle number mode / alpha mode
-            if (iLastModeNumber && !IsIndicHashKeyStyleRequired() && 
-               !iFepMan.HashKeySelectionInUse())	// For Indic it is handled in SetIndicPreviousStateL()
-                {
-                // If short hash key press event is passed to the editor, it
-                // needs to be removed here from the editor.
-
-                iFepMan.TryChangeToModeBeforeL();
-                }
-            else
-                {
-                // Input mode is incremented.
-                if (!iFepMan.HashKeySelectionInUse())
-                	{
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-                	// To rip off suggested word completion when user wants to switch to number mode
-                	if(iFepMan.IsAutoCompleteOn())
-                		{
-                		iFepMan.RemoveSuggestedCompletionL();	
-                		}
-
-#endif	//RD_INTELLIGENT_TEXT_INPUT
-						if(IsIndicHashKeyStyleRequired())
-							{
-							SetIndicPreviousStateL();	
-							}					    	
-						else
-							{
-							RevertPredictiveTextSettingChangeL();			
-							}                	
-                        if( iFepMan.IsSupportNativeNumber())
-                            {
-                            iFepMan.TryChangeModeL( ENativeNumber );  
-                            }
-                        else
-                            {
-                            iFepMan.TryChangeModeL( ENumber );    
-                            }
-                	}
-				else if (!iFepMan.IsCcpuFlagSet(CAknFepManager::ECcpuStateEdwinInSelectionMode) &&
-				         iFepMan.OkToActivateSelectionMode())							
-					{											
-					// User wants to select and not to change mode, so cancel the mode change
-					// caused by initial hash key press.
-					if(iLastModeNumber && !IsIndicHashKeyStyleRequired())
-						{
-						iFepMan.TryChangeToModeBeforeL();		
-						}
-					else
-						{
-						SetPreviousSelectionStyleModeL();		
-						}
-					iFepMan.SetCcpuFlag(CAknFepManager::ECcpuStateHashDown |
-					                    CAknFepManager::ECcpuStateEdwinInSelectionMode |
-					                    CAknFepManager::ECcpuStateHashKeyDeleteDone );
-					 TKeyEvent ccpuStart = {EKeyF21, EStdKeyF21, 0, 0};
-        			// to enable copy/paste support on cba. We simulate via CCoeEnv
-        			// to avoid fep SimulateKeyEventL adding shift modifiers
-        			CCoeEnv::Static()->SimulateKeyEventL(ccpuStart, EEventKey);					
-					}                	
-                }            
-            response = EKeyWasConsumed;
-            }
-        }              
-    return response;
-    }
-
-
-TKeyResponse CAknFepHashKeyManager::HandleKeyWesternWithChineseL(TKeyPressLength aLength)
-    {
-    TKeyResponse response = EKeyWasNotConsumed;
-    if ( iFepMan.IsOnlyNumericPermitted() )
-        {
-        if ( aLength == ELongKeyPress )
-            {
-            response = EKeyWasConsumed;
-            if ( iFepMan.HashKeySelectionInUse() )
-                {
-                TText prevCh = iFepMan.PreviousChar();
-                if (prevCh == '#')
-                    {
-                    iFepMan.RemovePreviousCharacterL();             
-                    }
-                }
-            
-    		iFepMan.SetCcpuFlag( CAknFepManager::ECcpuStateHashDown | 
-    		                    CAknFepManager::ECcpuStateEdwinInSelectionMode );
-    		TKeyEvent ccpuStart = { EKeyF21, EStdKeyF21, 0, 0 };
-    		// to enable copy/paste support on cba. We simulate via CCoeEnv
-    		// to avoid fep SimulateKeyEventL adding shift modifiers
-    		CCoeEnv::Static()->SimulateKeyEventL( ccpuStart, EEventKey );
-            }
-        //else let the FEP Man put special chars into the editor
-        }
-    else
-        {
-        if (aLength == EShortKeyPress)
-            {
-            if (iMode == ENumber || iMode == ENativeNumber)
-                {
-                iLastModeNumber = ETrue;
-                }
-            else
-                {
-                iLastModeNumber = EFalse;
-                }            
-            CAknEdwinState* editorState = iFepMan.EditorState();                    
-            TInt permittedCases = editorState->PermittedCases();
-            permittedCases = permittedCases == 0 ? 
-                EAknEditorLowerCase | EAknEditorUpperCase : permittedCases;
-            if ( iMode == ELatin && (permittedCases & EAknEditorTextCase))
-                {
-                // Latin case update is changed back to automatic if latin 
-                // text case is allowed and the case is changed manually from #-key.
-                iFepMan.ClearFlag(CAknFepManager::EFlagSupressAutoUpdate);
-                }
-            TInt currentCase = iCaseMan->CurrentCase();
-
-            // Is current latin case last available case.
-            TBool lastCase = ( ( !(permittedCases & EAknEditorTextCase) && 
-                  (( currentCase == EAknEditorLowerCase) ||
-                   ( currentCase == EAknEditorUpperCase && 
-                   !(permittedCases & EAknEditorLowerCase)) ) ||
-                ( editorState->Flags() & EAknEditorFlagFixedCase) ) ||
-                ( editorState->Flags() & EAknEditorFlagForceTransparentFepModes) );
-            
-            if (iMode == ELatin && 
-                !iFepMan.IsFlagSet(CAknFepManager::EFlagChangeInputMode) &&
-                !lastCase )
-                {
-                // Input mode is still Latin. Only case is updated.
-                if (permittedCases & EAknEditorTextCase) 
-                    {
-                    iCaseMan->ManualCaseUpdate();
-                    }
-                else
-                    {
-                    iCaseMan->SetCurrentCase(EAknEditorLowerCase);
-                    }
-
-                // Next time input mode is changed if any text is not entered before.
-                iFepMan.SetFlag(CAknFepManager::EFlagChangeInputMode);
-                }
-            else
-                {
-                // Input mode is incremented.
-                iFepMan.TryIncrementModeL(iMode);
-
-                iFepMan.ClearFlag(CAknFepManager::EFlagChangeInputMode);
-
-                if (iMode == ELatin) // New mode after Increment.
-                    {
-                    if (editorState->Flags() & EAknEditorFlagFixedCase) 
-                        {
-                        // Only one fixed case is available. Use it.
-                        iCaseMan->ConfigureCaseStateFromEditorState();
-                        iFepMan.SetFlag(CAknFepManager::EFlagChangeInputMode);
-                        }
-                    else if (editorState->Flags() & EAknEditorFlagForceTransparentFepModes) 
-                        {
-                        // Only lower case is used with find pane.
-                        iCaseMan->SetCurrentCase(EAknEditorLowerCase);
-                        iFepMan.SetFlag(CAknFepManager::EFlagSupressAutoUpdate);
-                        iFepMan.SetFlag(CAknFepManager::EFlagChangeInputMode);
-                        }
-                    else if (permittedCases & EAknEditorTextCase)
-                        {
-                        iCaseMan->SetCurrentCase(EAknEditorTextCase);
-                        iCaseMan->UpdateCase(ENullNaviEvent);
-                        }
-                    else
-                        {
-                        if (permittedCases & EAknEditorUpperCase)
-                            {
-                            iCaseMan->SetCurrentCase(EAknEditorUpperCase);
-                            if ( !(permittedCases & EAknEditorLowerCase))
-                                {
-                                // We need to move to next input mode since only upper case 
-                                // is permitted in Latin input mode.
-                                iFepMan.SetFlag(CAknFepManager::EFlagChangeInputMode);
-                                }
-                            }
-                        else
-                            {
-                            iCaseMan->SetCurrentCase(EAknEditorLowerCase);
-                            iFepMan.SetFlag(CAknFepManager::EFlagChangeInputMode);
-                            }
-                        }
-                    }
-                }
-            }
-        else // Long keypress
-            {
-			if (!iFepMan.HashKeySelectionInUse())            
-				{							
-            	if (iLastModeNumber)
-                	{
-                	iFepMan.TryChangeToModeBeforeL();
-                	}
-            	else
-                	{
-                	if( iFepMan.IsSupportNativeNumber())
-                	    {
-                	    iFepMan.TryChangeModeL( ENativeNumber );
-                	    }
-                	else
-                	    {
-                	    iFepMan.TryChangeModeL(ENumber);
-                	    }
-                	}
-				}
-			else if (!iFepMan.IsCcpuFlagSet(CAknFepManager::ECcpuStateEdwinInSelectionMode) &&
-			         iFepMan.OkToActivateSelectionMode())							
-				{							
-				// User wants to select and not to change mode, so cancel the mode change
-				// caused by initial hash key press. 			
-				MPtiLanguage* lang = iFepMan.PtiEngine()->CurrentLanguage();
-				TInt inputLang = ELangTest;
-				if (lang)
-					{
-					inputLang = lang->LanguageCode();	
-					}
-				const TInt inputMode = iFepMan.InputMode();				
-				
-				if ((inputLang == ELangPrcChinese && inputMode == EPinyin) ||
-				    (inputLang == ELangTaiwanChinese && inputMode == EZhuyin) ||
-				    (inputLang == ELangHongKongChinese && inputMode == EStroke))												
-					{
-					// Hash key selection was initiated from number mode,
-					// return there.
-					iFepMan.TryChangeModeL(ENumber);						
-					}
-				else
-				    {
-			   		iFepMan.TryChangeToModeBeforeL();							
-					}
-				   			                
-				iFepMan.SetCcpuFlag(CAknFepManager::ECcpuStateHashDown | 
-				                    CAknFepManager::ECcpuStateEdwinInSelectionMode );
-				 TKeyEvent ccpuStart = {EKeyF21, EStdKeyF21, 0, 0};
-        		// to enable copy/paste support on cba. We simulate via CCoeEnv
-        		// to avoid fep SimulateKeyEventL adding shift modifiers
-        		CCoeEnv::Static()->SimulateKeyEventL(ccpuStart, EEventKey);					
-				}                		
-            }
-        response = EKeyWasConsumed;
-        }
-    return response;
-    }
-
-
-TKeyResponse CAknFepHashKeyManager::HandleKeyJapaneseL(TKeyPressLength aLength)
-    {
-    TKeyResponse response = EKeyWasNotConsumed;
-    if (aLength == ELongKeyPress)
-        {
-        response = HandleLongKeypressJapaneseL();
-        }
-    else
-        {
-        response = HandleSortKeypressJapaneseL();
-        }
-    return response;
-    }
-
-TKeyResponse CAknFepHashKeyManager::HandleLongKeypressJapaneseL()
-    {
-    TKeyResponse response = EKeyWasConsumed;
-
-    if (iFepMan.IsOnlyNumericPermitted())
-        {
-        if (iFepMan.HashKeySelectionInUse())
-            {
-            TText prevCh = iFepMan.PreviousChar();
-            if (prevCh == '#')
-                {
-                iFepMan.RemovePreviousCharacterL();
-                }
-            }
-        }
-
-    if (iMode == EHiraganaKanji || iMode == ELatin)
-        {
-        // predictive input is turned on/off
-        // Commit string on transitory input
-        iFepMan.TryCloseUiL();
-
-        if(iWesternPredictive)
-            {
-            iFepMan.TryChangePredictiveInputModeL(EFalse);
-            }
-        else
-            {
-            iFepMan.TryChangePredictiveInputModeL(ETrue);
-            }
-        iFepMan.SetCcpuFlag(CAknFepManager::ECcpuStateChangeToPredictionMode);
-        }
-    else if (iMode == EHiragana)
-        {
-        // nothing to do
-        }
-    else
-        {
-        // Input mode is incremented.
-        iFepMan.TryIncrementModeL(iMode);
-        if ( iMode == ELatin )
-            {
-            if (iCaseMan->IsAbleChangeCase())
-                {
-                CAknEdwinState* editorState = iFepMan.EditorState();
-                TInt permittedCases = editorState->PermittedCases();
-                if (permittedCases & EAknEditorTextCase)
-                    {
-                    iCaseMan->SetCurrentCase(EAknEditorTextCase);
-                    iCaseMan->UpdateCase(ENullNaviEvent);
-                    }
-                else
-                    {
-                    if ( iFepMan.CaseBefore() )
-                        {
-                        iCaseMan->SetCurrentCase(iFepMan.CaseBefore());
-                        }
-                    else if (permittedCases & EAknEditorUpperCase)
-                        {
-                        iCaseMan->SetCurrentCase(EAknEditorUpperCase);
-                        if ( !(permittedCases & EAknEditorLowerCase))
-                            {
-                            // We need to move to next input mode since only upper case 
-                            // is permitted in Latin input mode.
-                            iFepMan.SetFlag(CAknFepManager::EFlagChangeInputMode);
-                            }
-                        }
-                    else
-                        {
-                        iCaseMan->SetCurrentCase(EAknEditorLowerCase);
-                        iFepMan.SetFlag(CAknFepManager::EFlagChangeInputMode);
-                        }
-                    }
-                }
-            }
-        iFepMan.SetCcpuFlag(CAknFepManager::ECcpuStateChangeToPredictionMode);
-        }
-
-    if (iFepMan.HashKeySelectionInUse()
-     && !iFepMan.IsCcpuFlagSet(CAknFepManager::ECcpuStateEdwinInSelectionMode)
-     && iFepMan.OkToActivateSelectionMode())
-        {
-        // User wants to select and not to change mode, so cancel the mode change
-        // caused by initial hash key press.
-        SetPreviousSelectionStyleModeL();
-
-        iFepMan.SetCcpuFlag(CAknFepManager::ECcpuStateHashDown | 
-                            CAknFepManager::ECcpuStateEdwinInSelectionMode );
-         TKeyEvent ccpuStart = {EKeyF21, EStdKeyF21, 0, 0};
-        // to enable copy/paste support on cba. We simulate via CCoeEnv
-        // to avoid fep SimulateKeyEventL adding shift modifiers
-        CCoeEnv::Static()->SimulateKeyEventL(ccpuStart, EEventKey);
-        }
-
-    return response;
-    }
-
-TKeyResponse CAknFepHashKeyManager::HandleSortKeypressJapaneseL()
-    {
-    TKeyResponse response = EKeyWasConsumed;
-    if (iFepMan.IsOnlyNumericPermitted())
-        {
-        response = EKeyWasNotConsumed;
-        }
-    else if (iMode == EHiragana)
-        {
-        response = EKeyWasConsumed;
-        }
-    else if (iFepMan.HashKeySelectionInUse()
-          && iPreviousSelection)
-        {
-        // User wants to select and not to change mode, so not change to input mode
-        response = EKeyWasConsumed;
-        iPreviousSelection = EFalse;
-        }
-    else
-        {
-        CancelHashKeyTimer();
-        if ( iMode == ELatin && iCaseMan->IsAbleChangeCase())
-            {
-            // Input mode is incremented.
-            iFepMan.TryIncrementModeL(iMode);
-            if (iFepMan.IsQwerty())
-                {
-                if ( iMode == ELatin )
-                    {
-                    iFepMan.TryIncrementModeL(ENumber);
-                    }
-                }
-            }
-        else if ( iMode == ELatin && !iCaseMan->IsAbleChangeCase() && iFepMan.IsQwerty())
-            {
-            // In Qwerty input and not be able to change case mode,
-            // Number mode must be skipped.
-            iFepMan.TryIncrementModeL(ENumber);
-            }
-        else
-            {
-            // Input mode is incremented.
-            iFepMan.TryIncrementModeL(iMode);
-            if ( iMode == ELatin )
-                {
-                if (iCaseMan->IsAbleChangeCase())
-                    {
-                    CAknEdwinState* editorState = iFepMan.EditorState();
-                    TInt permittedCases = editorState->PermittedCases();
-                    if (permittedCases & EAknEditorTextCase)
-                        {
-                        iCaseMan->SetCurrentCase(EAknEditorTextCase);
-                        iCaseMan->UpdateCase(ENullNaviEvent);
-                        }
-                    else
-                        {
-                        if ( iFepMan.CaseBefore() )
-                            {
-                            iCaseMan->SetCurrentCase(iFepMan.CaseBefore());
-                            }
-                        else if (permittedCases & EAknEditorUpperCase)
-                            {
-                            iCaseMan->SetCurrentCase(EAknEditorUpperCase);
-                            if ( !(permittedCases & EAknEditorLowerCase))
-                                {
-                                // We need to move to next input mode since only upper case 
-                                // is permitted in Latin input mode.
-                                iFepMan.SetFlag(CAknFepManager::EFlagChangeInputMode);
-                                }
-                            }
-                        else
-                            {
-                            iCaseMan->SetCurrentCase(EAknEditorLowerCase);
-                            iFepMan.SetFlag(CAknFepManager::EFlagChangeInputMode);
-                            }
-                        }
-                    }
-                }
-            }
-        }
-
-    return response;
-    }
-        
-                
-enum
-	{
-	EHashPredictionBit = 0x01,
-    EHashTextCaseBit   = 0x02,
-    EHashUpperCaseBit  = 0x04,
-    EHashLowerCaseBit  = 0x08,
-    EHashNumberModeBit = 0x10,    	    	    	
-    };
-        	
-enum
-	{
-	EHashLatinLowerMode = EHashLowerCaseBit,
-	EHashLatinUpperMode = EHashUpperCaseBit,
-	EHashLatinTextMode  = EHashTextCaseBit,
-	EHashPredLowerMode  = EHashLowerCaseBit | EHashPredictionBit,
-	EHashPredUpperMode  = EHashUpperCaseBit | EHashPredictionBit,
-	EHashPredTextMode   = EHashTextCaseBit | EHashPredictionBit		
-	};        	
-        	        
-enum
-	{
-	EHashIndicMultitapMode,
-	EHashIndicPredictiveMode,
-#ifdef RD_HINDI_PHONETIC_INPUT	
-	EHashIndicPhoneticLowerMode,
-	EHashIndicPhoneticUpperMode,
-#endif 	
-	EHashIndicLatinTextMode,
-	EHashIndicLatinLowerMode,
-	EHashIndicLatinUpperMode,
-	EHashNumberMode
-
-	};        
-// Here we enumerate possible mode sequences for selection style has key loop. 
-// Number mode is handled as a special case. This only consumes 24 bytes.  
-const TInt KNumModesInLoop = 4;  
-const TUint8 allHashKeyLoops[] = 
-	{
-	EHashLatinLowerMode, EHashLatinUpperMode, EHashPredLowerMode, EHashPredUpperMode, 
-	EHashLatinUpperMode, EHashLatinLowerMode, EHashPredUpperMode, EHashPredLowerMode, 
-	EHashLatinTextMode,  EHashLatinLowerMode, EHashPredTextMode,  EHashPredLowerMode,
-	EHashPredLowerMode, EHashPredUpperMode, EHashLatinLowerMode, EHashLatinUpperMode,
-	EHashPredUpperMode, EHashPredLowerMode, EHashLatinUpperMode, EHashLatinLowerMode,
-	EHashPredTextMode,  EHashPredLowerMode, EHashLatinTextMode,  EHashLatinLowerMode
-	};
-
-    
-TKeyResponse CAknFepHashKeyManager::HandleKeyWesternSelectionStyleL(TKeyPressLength aLength)    
-	{
-    TKeyResponse response = EKeyWasNotConsumed;
-	
-	if (aLength == EShortKeyPress)
-		{		
-		if (iFepMan.IsOnlyNumericPermitted()) 
-			{
-			if (!iFepMan.IsExtendedFlagSet(CAknFepManager::EExtendedFlagShortPressHashKey))
-			    {
-			    // Set the flag to indicate its a short press of key event
-			    iFepMan.SetExtendedFlag(CAknFepManager::EExtendedFlagShortPressHashKey);
-			    response = EKeyWasConsumed;
-			    }
-            else
-                {
-			    iFepMan.ClearExtendedFlag(CAknFepManager::EExtendedFlagShortPressHashKey);
-			    }
-			return response;
-			}
-			
-		if(IsIndicHashKeyStyleRequired())
-			{
-			return (SetIndicStateL());	
-			}   			
-   			
-		if (!iSelectionLoop)
-			{
-			TInt index = 0;
-			if (iFepMan.WesternPredictive(ELatin))
-				{
-				index += (3 * KNumModesInLoop);
-				}
-				
-			switch (iCaseMan->CurrentCase())	
-				{
-				case EAknEditorUpperCase:
-					 index += KNumModesInLoop;
-					 break;				
-				case EAknEditorTextCase:
-					 index += (2 * KNumModesInLoop);
-					 break;		
-				default:
-				     break;						 							 
-				}				
-				
-			iSelectionLoop = &allHashKeyLoops[index];
-			
-			if (iMode == ENumber || iMode == ENativeNumber)				
-				{
-				iSelectionLoopIndex = -1;
-				}
-			}
-			
-		if (!iFepMan.InputLanguageSupportsCaseChanges())
-			{
-			// Jumping by 2 always ignores case change.
-			iSelectionLoopIndex += 2;			
-			}
-		else 
-			{
-			iSelectionLoopIndex++;
-			}
-			
-		if (iSelectionLoopIndex >= 0 && (iSelectionLoop[iSelectionLoopIndex] & EHashPredictionBit) != 0)
-			{			
-			MPtiLanguage* curLang = iFepMan.PtiEngine()->CurrentLanguage();
-			if(!iFepMan.InputLanguageSupportsCaseChanges())
-				{
-				MCoeFepAwareTextEditor* edit = iFepMan.FepAwareTextEditor();
-			    if(edit && edit->DocumentLengthForFep() > 0)
-			        {
-			        edit->GetCursorSelectionForFep(iPreviousIndicCursorPosition);
-			        }
-				
-				}
-			if ((curLang && curLang->HasInputMode(EPtiEnginePredictive) == EFalse) ||
-			    (iFepMan.EditorState()->Flags() & EAknEditorFlagNoT9))			    			    			
-				{						
-				// If next one would be prediction, but prediction is not allowed,
-				// skip modes.
-				iSelectionLoopIndex += 2;				
-				}
-			}
-							
-		if (iSelectionLoopIndex >= KNumModesInLoop)
-			{
-			iSelectionLoopIndex = -1;
-			}
-			
-		SetSelectionStyleModeL();			
-					
-		response = EKeyWasConsumed;					
-		}
-			
-	return response;	
-	}
-
-
-void CAknFepHashKeyManager::SetPreviousSelectionStyleModeL()
-	{
-	if(IsIndicHashKeyStyleRequired())
-		{
-		SetIndicPreviousStateL();	
-		return;
-		}		
-	if (iFepMan.IsOnlyNumericPermitted() || !iSelectionLoop)
-		{
-        // iSelectionLoop is not used in Japanese variant,
-        // so, it keeps previous selection.
-        if (!iSelectionLoop)
-            {
-            iPreviousSelection = ETrue;
-            }
-		return;		
-		}
-		
-	if (!iFepMan.InputLanguageSupportsCaseChanges())
-		{
-		// Jumping by 2 always ignores case change.
-		iSelectionLoopIndex -= 2;			
-		if (iSelectionLoopIndex >= 0 && 
-	       (iSelectionLoop[iSelectionLoopIndex] & EHashPredictionBit) == 0 )
-			{
-		
-			MCoeFepAwareTextEditor* edit = iFepMan.FepAwareTextEditor();
-		    if(edit && edit->DocumentLengthForFep() > 0)
-		        {
-		        edit->SetCursorSelectionForFepL(iPreviousIndicCursorPosition);
-		        }
-			}
-		}
-	else 
-		{
-		iSelectionLoopIndex--;
-		}		
-		
-	if (iSelectionLoopIndex >= 0 && 
-	    (iSelectionLoop[iSelectionLoopIndex] & EHashPredictionBit) != 0 &&
-		(iFepMan.EditorState()->Flags() & EAknEditorFlagNoT9))			
-		{
-		// If next one would be prediction, but prediction is not allowed,
-		// skip modes.
-		iSelectionLoopIndex -= 2;				
-		}
-		
-	if (iSelectionLoopIndex < -1)
-		{
-		// Jump over to the end of list
-		iSelectionLoopIndex = KNumModesInLoop - 1;	
-		}
-		
-	SetSelectionStyleModeL();		
-	}
-	
-	
-	
-void CAknFepHashKeyManager::SetSelectionStyleModeL()
-	{
-	TBool wasPredictive = iFepMan.WesternPredictive();
-	TBool willBePredictive = EFalse;
-	
-	if (iSelectionLoopIndex == -1)	
-		{
-		// Set number mode.
-		if( iFepMan.IsSupportNativeNumber())
-		    {
-		    iFepMan.TryChangeModeL( ENativeNumber );
-		    }
-		else
-		    {
-		    iFepMan.TryChangeModeL(ENumber);
-		    }
-		}
-	else
-		{		
-		willBePredictive = (iSelectionLoop[iSelectionLoopIndex] & EHashPredictionBit) != 0;		
-		iFepMan.SetWesternPredictive(willBePredictive);
-		if (iSelectionLoop[iSelectionLoopIndex] & EHashLowerCaseBit)	
-			{
-         	iCaseMan->SetCurrentCase(EAknEditorLowerCase, ETrue);			
-			}									
-		else if (iSelectionLoop[iSelectionLoopIndex] & EHashUpperCaseBit)			
-			{	
-			// Let case manager to decide whether we use text case or
-			// upper case.
-			CAknEdwinState* editorState = iFepMan.EditorState();
-    		TInt permittedCases = EAknEditorAllCaseModes;
-    		if(editorState)
-    			permittedCases = editorState->PermittedCases();
-    		if (!(permittedCases&EAknEditorTextCase ) || 
-              iCaseMan->CapsLockRequired(EAknEditorLowerCase))    		
-    			{    			    			
-	   	        iCaseMan->SetCurrentCase(EAknEditorUpperCase, ETrue);			    			    			
-    			}
-			else
-				{
-	       	    iCaseMan->SetCurrentCase(EAknEditorTextCase, ETrue);							
-				}    						
-			}
-		else
-			{
-       	    iCaseMan->SetCurrentCase(EAknEditorTextCase, ETrue);						
-			} 
-		iFepMan.SetFlag(CAknFepManager::EFlagSupressAutoUpdate);	
-		if (!(wasPredictive && willBePredictive))
-			{
-			// Do not do this if this is just case change inside predictive mode,
-			// otherwise active word will be committed.
-			iFepMan.SetCcpuFlag(CAknFepManager::ECcpuStataCommitPredictiveWord);
-			iFepMan.TryChangeModeL(ELatin);  									
-			}
-		iFepMan.ClearFlag(CAknFepManager::EFlagSupressAutoUpdate);		
-		}			
-	}
-void CAknFepHashKeyManager::UpdateCaseForIndicHashLoop()	
-	{
-	switch (iCaseMan->CurrentCase())	
-		{
-		case EAknEditorUpperCase:
-			 iIndicSelectionLoopIndex = EHashIndicLatinUpperMode;
-			 break;				
-		case EAknEditorTextCase:
-			 iIndicSelectionLoopIndex = EHashIndicLatinTextMode;
-			 break;	
-		case EAknEditorLowerCase:
-			 iIndicSelectionLoopIndex = EHashIndicLatinLowerMode;
-			 break;	
-		default:
-		     break;						 							 
-		}	
-	}
-
-
-TBool CAknFepHashKeyManager::IsIndicHashKeyStyleRequired()
-	{
-	if(TAknFepUiIndicInputManager::IsIndicLangauge(iFepMan.GetInputLanguageFromSharedDataInterface())
-#ifdef RD_HINDI_PHONETIC_INPUT	
-	   || TAknFepUiIndicInputManager :: IsIndicPhoneticLanguage(
-             iFepMan.GetInputLanguageFromSharedDataInterface())
-#endif	   
-	   )
-		{
-		CAknEdwinState* editorState = iFepMan.EditorState();
-		if (editorState && !(editorState->Flags() & EAknEditorFlagLatinInputModesOnly))
-			{
-			return ETrue;
-			}
-		}
-	return EFalse;	
-	}
-
-
-TKeyResponse CAknFepHashKeyManager::SetIndicPreviousStateL()
-	{
-	TKeyResponse response = EKeyWasNotConsumed;
-	if (iFepMan.IsOnlyNumericPermitted()) 
-		{
-		return response;
-		}
-	switch(iIndicSelectionLoopIndex)
-		{
-		case EHashIndicMultitapMode:
-		case EHashIndicPredictiveMode:	// fall through
-				if(iLanguageChangedOrChangeFromNumberMode)
-    				{
-			 		if(iFepMan.HashKeySelectionInUse())
-    					{
-    					iIndicSelectionLoopIndex = EHashNumberMode;
-    					}
-    				else
-    					{
-						iFepMan.ChangeInputLanguageL(ELangEnglish);
-    					if(iIndicSelectionLoopIndex)	// if hindi predictive is on, turn off for english
-					 		{
-					 		iFepMan.SetWesternPredictive(EFalse);
-					 		iFepMan.TryChangeModeL(ELatin);		        	
-					 		}
-    					UpdateCaseForIndicHashLoop();
-    					}
-    				}
-    			else
-    				{
-				    // Reverts predictive text settings change made with short key press.
-					if(iIndicSelectionLoopIndex)	// Meaning predictive state	
-			    		{
-						iIndicSelectionLoopIndex = EHashIndicMultitapMode;	// change to multitap
-						MCoeFepAwareTextEditor* edit = iFepMan.FepAwareTextEditor();
-					    if(edit && edit->DocumentLengthForFep() > 0)
-					        {
-					        edit->SetCursorSelectionForFepL(iPreviousIndicCursorPosition);
-					        }
-			    		}
-			    	else
-			    		{
-						iIndicSelectionLoopIndex = EHashIndicPredictiveMode;	// change to predictive
-			    		}
-    				}
-			break;
-#ifdef RD_HINDI_PHONETIC_INPUT				
-		case EHashIndicPhoneticLowerMode:
-		case EHashIndicPhoneticUpperMode:
-			if(iFepMan.WasLastKeyPressAHashKey())
-	    		{
-            	iFepMan.ChangeInputLanguageL(ELangEnglish);
-	 		 	iFepMan.SetWesternPredictive(EFalse);
-	 		 	iFepMan.TryChangeModeL(ELatin);
-            	iLanguageChangedOrChangeFromNumberMode = ETrue;
-	    		iIndicSelectionLoopIndex = EHashIndicLatinLowerMode;
-	    		}
-		    else
-		    	{
-		    	if(iIndicSelectionLoopIndex == EHashIndicPhoneticUpperMode)
-		    		{
-		    		iIndicSelectionLoopIndex = EHashIndicPhoneticLowerMode;		
-		    		}
-		    	else if(iIndicSelectionLoopIndex == EHashIndicPhoneticLowerMode)
-		    		{
-		    		iIndicSelectionLoopIndex = EHashIndicPhoneticUpperMode;				
-		    		}
-		    	}
-			break;
-#endif				
-		case EHashIndicLatinTextMode:	// Text Case
-		case EHashIndicLatinUpperMode: // Upper Case
-		case EHashIndicLatinLowerMode: // Lower Case
-			   	if(iLanguageChangedOrChangeFromNumberMode)
-	    			{
-		            iFepMan.ChangeInputLanguageL(iFepMan.GetInputLanguageFromSharedDataInterface());
-	    			iIndicSelectionLoopIndex = iIndicPredictiveState;	
-	    			}
-    			else
-	    			{
-					if (iIndicSelectionLoopIndex == EHashIndicLatinLowerMode)
-						{
-						iIndicSelectionLoopIndex = EHashIndicLatinUpperMode;
-						}
-					else
-						{
-						iIndicSelectionLoopIndex = EHashIndicLatinLowerMode;	
-						}
-					iCaseMan->UpdateCase(ENullNaviEvent);
-		    	    if(iCaseMan->CurrentCase() == EAknEditorTextCase)	
-	                    {
-	                    iIndicSelectionLoopIndex = EHashIndicLatinTextMode;
-	                    }
-	                else
-	                    {
-	                    iCaseMan->RevertCaseChange();
-	                    } 	
-	    			}
-				break;
-	
-		case EHashNumberMode:
-			if(iFepMan.HashKeySelectionInUse())
-				{
-				iFepMan.ChangeInputLanguageL(ELangEnglish);
-		 		iFepMan.SetWesternPredictive(EFalse);
-		 		iFepMan.TryChangeModeL(ELatin);		        	
-				UpdateCaseForIndicHashLoop();		
-				}
-			break;		
-		}
-		SetIndicSelectionStateL();
-		return EKeyWasConsumed;	
-	}
-    
-void CAknFepHashKeyManager::ResetIndicHashKeyStateL()
-	{
-	if(IsIndicHashKeyStyleRequired())
-		{
-		TInt editorMode = iFepMan.EditorState()->CurrentInputMode();
-		if(editorMode == EAknEditorNumericInputMode)
-			{
-			 iIndicSelectionLoopIndex = EHashNumberMode;
-			}
-		else
-			{
-			MPtiLanguage* curLang = iFepMan.PtiEngine()->CurrentLanguage();
-			if(curLang && curLang->LanguageCode()!=ELangEnglish )
-				{
-#ifdef RD_HINDI_PHONETIC_INPUT					
-				if(iFepMan.IsIndicPhoneticInputLanguage())
-		    	 	{
-		    	 	if(iCaseMan->CurrentCase() == EAknEditorUpperCase)
-		    	 		iIndicSelectionLoopIndex = EHashIndicPhoneticUpperMode;
-		    	 	else
-		    	 		iIndicSelectionLoopIndex = EHashIndicPhoneticLowerMode;
-		    	 	}
-		    	 else
-	    	 		{
-#endif	    	 		
-    			iIndicPredictiveState = iIndicSelectionLoopIndex = iFepMan.WesternPredictive(ELatin);
-#ifdef RD_HINDI_PHONETIC_INPUT		    	 		
-	    	 		}	
-#endif	    	 		
-				}
-			else
-				{
-				UpdateCaseForIndicHashLoop();	
-				}		
-			}
-		}
-	}
-    
-TKeyResponse CAknFepHashKeyManager::SetIndicStateL()
-	{
-	TKeyResponse response = EKeyWasNotConsumed;
-	
-	if (iFepMan.IsOnlyNumericPermitted()) 
-		{
-		return response;
-		}
-	
-	iLanguageChangedOrChangeFromNumberMode = EFalse;
-    if(iIndicSelectionLoopIndex == -1)	
-    	{
-    	iIndicPredictiveState = iIndicSelectionLoopIndex = 
-        	    (iFepMan.WesternPredictive(ELatin) && 
-    	        (!( iFepMan.EditorState()->Flags() & EAknEditorFlagNoT9)));
-    	// Cannot be done in constructor as FepMan is not completely initialized
-    	}
-	
-	switch(iIndicSelectionLoopIndex)
-		{
-		case EHashIndicMultitapMode:
-		case EHashIndicPredictiveMode:	//fall through
-		
-		    		iIndicPredictiveState = iIndicSelectionLoopIndex; // 0 for multitap and 1 for predictive	
-					if(iFepMan.WasLastKeyPressAHashKey() || 
-					    ( iFepMan.EditorState()->Flags() & EAknEditorFlagNoT9))
-			    		{
-		            	//iFepMan.ChangeInputLanguageL(ELangEnglish);
-			 		 	iFepMan.SetWesternPredictive(EFalse);
-			 		 	iFepMan.TryChangeModeL(ELatin);
-		            	iLanguageChangedOrChangeFromNumberMode = ETrue;
-			    		iIndicSelectionLoopIndex = EHashIndicLatinLowerMode;
-			    		iCaseMan->UpdateCase(ENullNaviEvent);
-			    	    if(iCaseMan->CurrentCase() == EAknEditorTextCase)	
-		                    {
-		                    iIndicSelectionLoopIndex = EHashIndicLatinTextMode;
-		                    }
-		                else
-		                    {
-		                        iCaseMan->RevertCaseChange();
-		                    }    
-			    		}
-				    else
-				    	{
-				    	if(iIndicSelectionLoopIndex)	// Meaning predictive state	
-				    		{
-							iIndicSelectionLoopIndex = EHashIndicMultitapMode;	// change to multitap
-				    		}
-				    	else
-				    		{
-							if(!( iFepMan.EditorState()->Flags() & EAknEditorFlagNoT9))
-							    {
-							    iIndicSelectionLoopIndex = EHashIndicPredictiveMode;	// change to predictive
-							    MCoeFepAwareTextEditor* edit = iFepMan.FepAwareTextEditor();
-						        if(edit && edit->DocumentLengthForFep() > 0)
-						            {
-						            edit->GetCursorSelectionForFep(iPreviousIndicCursorPosition);
-						            }
-						        }
-				    		}		
-				    	}
-			break;
-#ifdef RD_HINDI_PHONETIC_INPUT				
-		case EHashIndicPhoneticLowerMode:
-		case EHashIndicPhoneticUpperMode:
-			if(iFepMan.WasLastKeyPressAHashKey())
-	    		{
-            	//iFepMan.ChangeInputLanguageL(ELangEnglish);
-	 		 	iFepMan.SetWesternPredictive(EFalse);
-	 		 	iFepMan.TryChangeModeL(ELatin);
-            	iLanguageChangedOrChangeFromNumberMode = ETrue;
-	    		iIndicSelectionLoopIndex = EHashIndicLatinLowerMode;
-	    		}
-		    else
-		    	{
-		    	if(iIndicSelectionLoopIndex == EHashIndicPhoneticUpperMode)
-		    		{
-		    		iIndicSelectionLoopIndex = EHashIndicPhoneticLowerMode;		
-		    		}
-		    	else if(iIndicSelectionLoopIndex == EHashIndicPhoneticLowerMode)
-		    		{
-		    		iIndicSelectionLoopIndex = EHashIndicPhoneticUpperMode;				
-		    		}
-		    	}
-			break;
-#endif			
-		case EHashIndicLatinTextMode:	// Text Case
-		case EHashIndicLatinLowerMode: // Lower Case
-		case EHashIndicLatinUpperMode: // Upper Case
-				if(iFepMan.WasLastKeyPressAHashKey())
-					{
-					//iFepMan.ChangeInputLanguageL(iFepMan.GetInputLanguageFromSharedDataInterface());
-			        iLanguageChangedOrChangeFromNumberMode = ETrue;
-					if(iFepMan.HashKeySelectionInUse())
-						{
-						iIndicSelectionLoopIndex = EHashNumberMode;		// change to number
-						}
-					else
-						{
-#ifdef RD_HINDI_PHONETIC_INPUT						
-						if(TAknFepUiIndicInputManager :: IsIndicPhoneticLanguage(
-						      iFepMan.GetInputLanguageFromSharedDataInterface()))
-							{
-							iIndicSelectionLoopIndex = EHashIndicPhoneticLowerMode;	
-							}
-						else
-							{
-#endif							
-							iIndicSelectionLoopIndex = iIndicPredictiveState; // change to hindi [multitap or predictive based on previous setting]	
-#ifdef RD_HINDI_PHONETIC_INPUT	
-							}
-#endif							
-						}	
-					}
-				else
-					{
-					switch (iCaseMan->CurrentCase())	
-							{
-							case EAknEditorUpperCase:
-							case EAknEditorTextCase:	//fall through
-								 iIndicSelectionLoopIndex = EHashIndicLatinLowerMode;
-								 break;	
-							case EAknEditorLowerCase:
-								 iIndicSelectionLoopIndex = EHashIndicLatinUpperMode;
-								 break;	
-							default:
-							     break;						 							 
-							}	
-					}
-				break;
-	
-		case EHashNumberMode:
-			if(iFepMan.HashKeySelectionInUse())
-				{
-			    iLanguageChangedOrChangeFromNumberMode = ETrue;
-#ifdef RD_HINDI_PHONETIC_INPUT				    
-			    if(TAknFepUiIndicInputManager :: IsIndicPhoneticLanguage(
-			          iFepMan.GetInputLanguageFromSharedDataInterface()))
-			    	{
-			    	iIndicSelectionLoopIndex = EHashIndicPhoneticLowerMode;
-			    	iFepMan.TryChangeModeL(ELatin);	
-			    	}
-				else
-					{
-#endif 					
-					iIndicSelectionLoopIndex = iIndicPredictiveState; // change to hindi [multitap or predictive based on previous setting]
-#ifdef RD_HINDI_PHONETIC_INPUT	
-					}
-#endif			
-				}
-			break;
-			
-		default:
-				break;
-		}
-
-		SetIndicSelectionStateL();
-		return EKeyWasConsumed;	
-	}
-	
-	
-	
-	
-void CAknFepHashKeyManager::SetIndicSelectionStateL()
-	{
-	switch(iIndicSelectionLoopIndex)
-		{
-		
-		case EHashIndicMultitapMode:
-			{
-		 	 iFepMan.SetWesternPredictive(EFalse);
-		 	 iFepMan.TryChangeModeL(EHindi);
-			}
- 			 break;	
- 			 
-		case EHashIndicPredictiveMode:
-			 if(!( iFepMan.EditorState()->Flags() & EAknEditorFlagNoT9)) // make sure predictive is supported for editor
-			 	{
-			 	iFepMan.SetWesternPredictive(ETrue);
- 			 	iFepMan.TryChangeModeL(EHindi);
-			 	}
- 			 break;
-#ifdef RD_HINDI_PHONETIC_INPUT	
-		case EHashIndicPhoneticLowerMode: 
-			 iCaseMan->SetCurrentCase(EAknEditorLowerCase, ETrue);
-			break;
-			
- 		case EHashIndicPhoneticUpperMode:
-	  		 iCaseMan->SetCurrentCase(EAknEditorUpperCase, ETrue);
-	  		break;
-#endif	  			
-		case EHashIndicLatinTextMode:
-			 iCaseMan->SetCurrentCase(EAknEditorTextCase, ETrue);
-			 break;
-			 
-		case EHashIndicLatinUpperMode:
-			 iCaseMan->SetCurrentCase(EAknEditorUpperCase, ETrue);
-			 break;
-			 
-		case EHashIndicLatinLowerMode:
-			 iCaseMan->SetCurrentCase(EAknEditorLowerCase, ETrue);
-			 break;	
-	
-		case EHashNumberMode:
-		     if( iFepMan.IsSupportNativeNumber())
-		        {
-		        iFepMan.TryChangeModeL(ENativeNumber);
-		        }
-		     else
-		        {
-		        iFepMan.TryChangeModeL(ENumber);
-		        }
-			 break;
-		default:
-			 break;
-		}
-	}	
-
-void CAknFepHashKeyManager::ResetPreviousSelectionStyleMode()
-    {
-    iPreviousSelection = EFalse;
-    }
-#ifdef RD_HINDI_PHONETIC_INPUT	
-void CAknFepHashKeyManager::HandleSetIndicStateL()	
-	{
-	//calling SetIndicStateL only if currently it is in upper mode
-	if(iIndicSelectionLoopIndex == EHashIndicPhoneticUpperMode)
-	   SetIndicStateL();
-	}
-#endif
-
-TKeyResponse CAknFepHashKeyManager::HandleKeyWesternWithKoreanL(TKeyPressLength aLength)
-    {
-    TKeyResponse response = EKeyWasNotConsumed;
-    
-    if(iMode == ELatin)
-    	{
-        iFepMan.SetWesternPredictive(EFalse);
-        }
-
-    if (iFepMan.IsOnlyNumericPermitted())
-        {
-        if (aLength == ELongKeyPress)
-            {
-		    TText prevCh = iFepMan.PreviousChar();
-		    if (prevCh == '#')
-		    	{
-				iFepMan.RemovePreviousCharacterL();		    	
-		    	}
-	
-            response = EKeyWasConsumed;
-            }
-        //else let the FEP Man put special chars into the editor
-        }
-    else
-        {
-        if (aLength == EShortKeyPress)
-            {
-		if (iMode == ENumber)
-    			{
-    			response = EKeyWasNotConsumed;
-    			return response; 
-				}   
-            }
-        else // Long keypress
-            {             
-  			if (iMode == ENumber)
-                {
-                iLastModeNumber = ETrue;
-               	
-               	TText prevCh = iFepMan.PreviousChar();
-		    	if (prevCh == '#')
-		    		{
-					iFepMan.RemovePreviousCharacterL();		    	
-		    		}                
-                }
-            else
-                {
-                iLastModeNumber = EFalse;
-                }
-                        
-            CAknEdwinState* editorState = iFepMan.EditorState();                    
-            TInt permittedCases = editorState->PermittedCases();
-            permittedCases = permittedCases == 0 ? 
-                EAknEditorLowerCase | EAknEditorUpperCase : permittedCases;
-            if ( iMode == ELatin && (permittedCases & EAknEditorTextCase))
-                {
-                // Latin case update is changed back to automatic if latin 
-                // text case is allowed and the case is changed manually from #-key.
-                iFepMan.ClearFlag(CAknFepManager::EFlagSupressAutoUpdate);
-                }
-            TInt currentCase = iCaseMan->CurrentCase();
-
-            // Is current latin case last available case.
-            TBool lastCase = ( ( !(permittedCases & EAknEditorTextCase) && 
-                  (( currentCase == EAknEditorLowerCase) ||
-                   ( currentCase == EAknEditorUpperCase && 
-                   !(permittedCases & EAknEditorLowerCase)) ) ||
-                ( editorState->Flags() & EAknEditorFlagFixedCase) ) ||
-                ( editorState->Flags() & EAknEditorFlagForceTransparentFepModes) );
-            
-            if (iMode == ELatin && 
-                !iFepMan.IsFlagSet(CAknFepManager::EFlagChangeInputMode) &&
-                !lastCase )
-                {
-                // Input mode is still Latin. Only case is updated.
-                if (permittedCases & EAknEditorTextCase) 
-                    {
-                    iCaseMan->ManualCaseUpdate();
-                    }
-                else
-                    {
-                    iCaseMan->SetCurrentCase(EAknEditorLowerCase);
-                    }
-
-                // Next time input mode is changed if any text is not entered before.
-                iFepMan.SetFlag(CAknFepManager::EFlagChangeInputMode);
-                }
-            else
-                {
-                // Do not change mode, if text selection is ongoing. 
-                if(!iFepMan.IsCcpuFlagSet(CAknFepManager::ECcpuStateEdwinInSelectionMode))
-                	{ 
-	               	// Input mode is incremented.
-	               	iFepMan.TryIncrementModeL(iMode);
-
-
-	                iFepMan.ClearFlag(CAknFepManager::EFlagChangeInputMode);
-
-	                if (iMode == ELatin) // New mode after Increment.
-	                    {
-	                    if (editorState->Flags() & EAknEditorFlagFixedCase) 
-	                        {
-	                        // Only one fixed case is available. Use it.
-	                        iCaseMan->ConfigureCaseStateFromEditorState();
-	                        iFepMan.SetFlag(CAknFepManager::EFlagChangeInputMode);
-	                        }
-	                    else if (editorState->Flags() & EAknEditorFlagForceTransparentFepModes) 
-	                        {
-	                        // Only lower case is used with find pane.
-	                        iCaseMan->SetCurrentCase(EAknEditorLowerCase);
-	                        iFepMan.SetFlag(CAknFepManager::EFlagSupressAutoUpdate);
-	                        iFepMan.SetFlag(CAknFepManager::EFlagChangeInputMode);
-	                        }
-	                    else if (permittedCases & EAknEditorTextCase)
-	                        {
-	                        iCaseMan->SetCurrentCase(EAknEditorTextCase);
-	                        iCaseMan->UpdateCase(ENullNaviEvent);
-	                        }
-	                    else
-	                        {
-	                        if (permittedCases & EAknEditorUpperCase)
-	                            {
-	                            iCaseMan->SetCurrentCase(EAknEditorUpperCase);
-	                            if ( !(permittedCases & EAknEditorLowerCase))
-	                                {
-	                                // We need to move to next input mode since only upper case 
-	                                // is permitted in Latin input mode.
-	                                iFepMan.SetFlag(CAknFepManager::EFlagChangeInputMode);
-	                                }
-	                            }
-	                        else
-	                            {
-	                            iCaseMan->SetCurrentCase(EAknEditorLowerCase);
-	                            iFepMan.SetFlag(CAknFepManager::EFlagChangeInputMode);
-	                            }
-	                        }
-	                    }
-                    }
-                }			
-            }
-        response = EKeyWasConsumed;
-        }
-    return response;
-    }
-// End of File
--- a/fep/aknfep/src/AknFepInlineTextDecorator.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,229 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// CAknFepInlineTextDecorator class
-//
-#include <aknenv.h>
-
-#include "AknFepInlineTextDecorator.h"
-#include "AknFepManager.h"
-
-#ifdef _DEBUG
-#include "AknFepPanic.h"
-#endif
-
-void CAknFepInlineTextDecorator::DecorateInlineText(
-	const TDesC& aInlineText,
-	TDes& aDecoratedText,
-	TInt& aPositionOfInsertionPointInInlineText,
-	TChar aPreviousCharacter,
-	TBool aRTLParagraph,
-    TBool aInputDirectionIsRTL)
-	{
-	DecorateNeutralCharacters(aInlineText, aDecoratedText, aPositionOfInsertionPointInInlineText, 
-                              aPreviousCharacter, aRTLParagraph, aInputDirectionIsRTL);
-	}
-
-/**
-* This routine performs a consolidation of directional markers in the region around text being committed.
-* It returns EFalse if no change has been made to the buffer.
-*/
-TBool CAknFepInlineTextDecorator::ResolveDecoratedText(
-	TDes& aDecoratedTextPlusSurroundings,
-	TCursorSelection aDecoratedTextSpan)
-	{
-	TBool needsResolving(EFalse); // Return value
-	
-    // Note that this is a copy of a part of the buffer and that aNewTextSpan is relative to this
-    // new buffer, not the whole text buffer.
-    // aNewTextSpan must fit within the descriptor; that is from 0 to length-1
-    // But remember that span is a span; indices refer to positions between characters. 0 is position just before 0
-    // 1 is a position between 0 and character 1.  
-    __ASSERT_DEBUG(aDecoratedTextSpan.LowerPos() >= 0, 
-                   AknFepPanic(EAknFepPanicCharPosOutOfRange) );
-    __ASSERT_DEBUG(aDecoratedTextSpan.HigherPos() <= aDecoratedTextPlusSurroundings.Length(), 
-                   AknFepPanic(EAknFepPanicCharPosOutOfRange) );
-    
-    // Examine the decorated text for real content
-    TBool cont = EFalse;
-	TInt ii = 0;
-	for (ii = aDecoratedTextSpan.LowerPos(); ii < aDecoratedTextSpan.HigherPos(); ii++)
-		{
-		if (!CharacterIsDirectionalMarker(aDecoratedTextPlusSurroundings[ii]))
-			cont = ETrue;
-		}
-	// if all we have entered are directional markers we want
-	// to keep them so do nothing and return
-	if (!cont)
-		return needsResolving; // Uses initialized value of return value. Please maintain.
-
-	ii = 0;
-	while (ii < aDecoratedTextPlusSurroundings.Length())
-		{
-		TChar prevCh = ENullChar;
-		if (ii > 0)
-			prevCh = aDecoratedTextPlusSurroundings[ii-1];
-		TChar ch = aDecoratedTextPlusSurroundings[ii];
-		TChar nextCh = ENullChar;
-		if (ii <  aDecoratedTextPlusSurroundings.Length()-1)
-			nextCh = aDecoratedTextPlusSurroundings[ii+1];
-
-		if (CharacterIsDirectionalMarker(ch))
-			{
-			// Remove a marker if :
-			//
-			// 1. previous character is strong and has the same directionality
-			// 2. next character is a marker of the same type (remove both)
-			// 3. next character is strong and has the same directionality
-			//
-			if (CharactersHaveSameStrongDirection(ch, prevCh))
-				{
-				aDecoratedTextPlusSurroundings.Delete(ii, ESingleCharacter);
-				ii--;
-				needsResolving = ETrue;
-				}
-			else if (CharacterIsDirectionalMarker(nextCh) && CharactersHaveSameStrongDirection(ch, nextCh))
-				{
-				aDecoratedTextPlusSurroundings.Delete(ii, ETwoCharacters);
-				ii--;
-				needsResolving = ETrue;
-				}
-			else if (CharactersHaveSameStrongDirection(ch, nextCh))
-				{
-				aDecoratedTextPlusSurroundings.Delete(ii, ESingleCharacter);
-				ii--;
-				needsResolving = ETrue;
-				}
-			}
-		ii++;
-		}
-    return needsResolving;
-	}
-
-
-TBool CAknFepInlineTextDecorator::CharacterIsDirectionalMarker(TChar aChar)
-	{
-	return (aChar == ELeftToRightMark || aChar == ERightToLeftMark);
-	}
-
-TBool CAknFepInlineTextDecorator::CharacterIsStrongLeftToRight(TChar aChar)
-	{
-	return (aChar.GetBdCategory() == TChar::ELeftToRight ||
-			   aChar == ELeftToRightMark);
-	}
-
-TBool CAknFepInlineTextDecorator::CharacterIsStrongRightToLeft(TChar aChar)
-	{
-	return ((aChar.GetBdCategory() == TChar::ERightToLeft) || 
-			(aChar.GetBdCategory() == TChar::ERightToLeftArabic) ||
-			aChar == ERightToLeftMark);
-	}
-
-TBool CAknFepInlineTextDecorator::CharactersHaveSameStrongDirection(TChar aCh1, TChar aCh2)
-	{
-	return ((CharacterIsStrongLeftToRight(aCh1) && CharacterIsStrongLeftToRight(aCh2)) ||
-				(CharacterIsStrongRightToLeft(aCh1) && CharacterIsStrongRightToLeft(aCh2)));
-	}
-
-TBool CAknFepInlineTextDecorator::CharacterIsWeaklyDirectional(TChar aChar)
-	{
-	return ((aChar.GetBdCategory() == TChar::EEuropeanNumber) ||
-			(aChar.GetBdCategory() == TChar::EEuropeanNumberSeparator) ||
-			(aChar.GetBdCategory() == TChar::EEuropeanNumberTerminator) ||
-			(aChar.GetBdCategory() == TChar::EArabicNumber) ||
-			(aChar.GetBdCategory() == TChar::ECommonNumberSeparator));
-	}
-
-TBool CAknFepInlineTextDecorator::CharacterIsSeparator(TChar aChar)
-	{
-	return ((aChar.GetBdCategory() == TChar::EParagraphSeparator) || 
-			(aChar.GetBdCategory() == TChar::ESegmentSeparator));
-	}
-
-TBool CAknFepInlineTextDecorator::CharacterIsNeutral(TChar aChar)
-	{
-	return ((aChar.GetBdCategory() == TChar::EWhitespace) || 
-			(aChar.GetBdCategory() == TChar::EOtherNeutral));
-	}
-
-void CAknFepInlineTextDecorator::DecorateNeutralCharacters(
-	const TDesC& aInlineText,
-	TDes& aDecoratedText,
-	TInt& aPositionOfInsertionPointInInlineText,
-	TChar aPreviousCharacter,
-	TBool aRTLParagraph,
-    TBool aInputDirectionIsRTL)
-	{
-
-	TChar curCh;
-	TChar prevCh = aPreviousCharacter;
-	TBuf<ESingleCharacter> insertBuf(ESingleCharacter);
-
-	for (TInt ii = 0; ii < aInlineText.Length(); ii++)
-		{
-		curCh = aInlineText[ii];
-		aDecoratedText.Append(curCh);
-
-		if (CharacterIsNeutral(curCh))
-			{
-			// mark the neutral character with appropriate direction markers if :
-			//
-			// 1. the input mode (lang) is opposed to the paragraph direction and 
-			//     previous character is not neutral
-			// 2. the input mode (lang) is opposed to the previous char direction
-			//     (=> charcater is entered inside existing block)
-			//
-			// Note that we need to increment the insertion point by 2 if the
-			// markers are inserted before it
-			//
-			if ((aInputDirectionIsRTL && !aRTLParagraph && !CharacterIsNeutral(prevCh)) ||
-				(aInputDirectionIsRTL &&  CharacterIsStrongLeftToRight(prevCh)))
-				{ // mark neutral with RLM
-				insertBuf[0]=ERightToLeftMark;
-				aDecoratedText.Insert(aDecoratedText.Length() -1, insertBuf);
-				aDecoratedText.Append(insertBuf);
-				
-				if (aPositionOfInsertionPointInInlineText > ii)
-					aPositionOfInsertionPointInInlineText+=ETwoCharacters;
-				}
-
-			else if ((!aInputDirectionIsRTL && aRTLParagraph && !CharacterIsNeutral(prevCh)) ||
-					 (!aInputDirectionIsRTL && CharacterIsStrongRightToLeft(prevCh)))
-				{ // mark neutral with LRM
-				insertBuf[0]=ELeftToRightMark;
-				aDecoratedText.Insert(aDecoratedText.Length() -1, insertBuf);
-				aDecoratedText.Append(insertBuf);
-				
-				if (aPositionOfInsertionPointInInlineText > ii)
-					aPositionOfInsertionPointInInlineText+=ETwoCharacters;
-				}
-			}
-		prevCh = curCh;
-		}
-	}
-
--- a/fep/aknfep/src/AknFepInputStateInitialChineseGenericHalfQwerty.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,456 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the AknFepUiInputStateInitialChineseGenericHalfQwerty methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateInitialChineseGenericHalfQwerty.h"
-#include "AknFepUIManagerStateInterface.h"
-#include "AknFepManagerUIInterface.h"
-#include "AknFepManager.h"         //FepMan flag
-
-#include <PtiEngine.h>
-#include <AknFepFnKeyManager.h>
-
-const TInt KFnMappedCharacters = 5;
-_LIT(KEmotionSmile, "\x003A\x0029");//:)
-_LIT(KEmotionLaugh, "\x003A\x0050");//:P
-_LIT(KEmotionSad, "\x003A\x0028");//:(
-_LIT(KSpace," "); 
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateInitialChineseGenericHalfQwerty::TAknFepInputStateInitialChineseGenericHalfQwerty
-// the construt funtion 
-// ---------------------------------------------------------------------------
-//
-TAknFepInputStateInitialChineseGenericHalfQwerty
-::TAknFepInputStateInitialChineseGenericHalfQwerty(MAknFepUIManagerStateInterface* aOwner, TInt /*aMode*/)
-    :TAknFepInputStateHalfQwerty(aOwner)
-    {
-    iState = EInitial;
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    TPtiTextCase caseMode = ptiengine->Case();
-    ptiengine->ClearCurrentWord();
-    ptiengine->SetInputMode(EPtiEngineHalfQwerty);
-    ptiengine->SetCase(caseMode);
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateInitialChineseGenericHalfQwerty::HandleKeyL
-// handle key event
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputStateInitialChineseGenericHalfQwerty::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    TBool ret = EFalse;
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CAknFepFnKeyManager::TFnKeyState fnKeyState = fepMan->FnKeyState();
-    if ( !fepMan->EditorHasFreeSpace() && fnKeyState )
-        {
-        return EFalse;
-        }
-    
-    if ( aKey == EPtiKeyQwerty0 )
-    	{
-    	aKey = EPtiKeyQwertySpace;
-    	}
-    
-    if (iData && (iData != aKey) && aKey != EStdKeyBackspace )
-        {
-        ptiengine->CancelTimerActivity();           
-        ptiengine->ClearCurrentWord();        
-        fepMan->ClearFlag( CAknFepManager::EFlagInsideMultitapInlineEditingTransaction );
-        iData = 0;
-        if ( fnKeyState == CAknFepFnKeyManager::EFnKeyNext )
-            {
-            fepMan->SetFnKeyState( CAknFepFnKeyManager::EFnKeyNone );
-            fnKeyState = CAknFepFnKeyManager::EFnKeyNone;
-            }
-        }
-    
-    if( aKey == EStdKeyLeftFunc && !fnKeyState) //chr key
-        {
-        fepMan->LaunchSelectModeMenuL();
-        }
-    else if ( HandleEmotionKeyL( aKey, aLength ) )
-        {
-        return ETrue;
-        }
-    else if ( fnKeyState == CAknFepFnKeyManager::EFnKeyNone && (aKey
-        == EPtiKeyQwertyLeftShift || aKey == EStdKeyF21 ) )
-        {
-        return EFalse;
-        }
-    else if ( aKey == EStdKeyLeftArrow || aKey == EStdKeyRightArrow || aKey
-        == EStdKeyUpArrow || aKey == EStdKeyDownArrow || aKey
-        == EStdKeyBackspace )
-        {
-        if ( fepMan->IsFlagSet( CAknFepManager::EFlagShiftKeyDepressed )
-            && fnKeyState )
-            {
-            return ETrue;
-            }
-        else
-            {
-            if ( fnKeyState == CAknFepFnKeyManager::EFnKeyNext )
-                {
-                fepMan->SetFnKeyState( CAknFepFnKeyManager::EFnKeyNone );
-                }
-            return EFalse;
-            }
-        }
-    else if ( aKey == EStdKeyDevice0 || aKey == EStdKeyDevice1 || 
-        aKey == EStdKeyDevice2 )
-        {
-        return EFalse;
-        }
-    else if ( aLength == EShortKeyPress
-        && fepMan->IsFlagSet( CAknFepManager::EFlagShiftKeyDepressed )
-        && aKey != EStdKeyLeftShift )
-        {
-        return ETrue;
-        }
-    else if ( ( IsCharacter( aKey ) && aLength == EShortKeyPress )
-        && !fepMan->IsFlagSet( CAknFepManager::EFlagQwertyChrKeyDepressed )
-        && !fepMan->IsFlagSet( CAknFepManager::EFlagQwertyShiftMode )
-        && !fnKeyState )
-        {
-        ptiengine->ClearCurrentWord();
-        ptiengine->ResetToneMark();
-        if ( iOwner->IsValidChineseInputKeyQwerty( aKey ) )
-            {
-            if(iOwner->ChangeState(EEntry) == EEntry)
-                {
-                iOwner->FepMan()->SendUIActivatedNotification();
-                }
-            }
-        else if( aLength == EShortKeyPress )
-            {
-            iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-            return ETrue;
-            }
-        }
-    else if ( fepMan->IsFlagSet( CAknFepManager::EFlagQwertyShiftMode )
-        && fepMan->IsFlagSet( CAknFepManager::EFlagQwertyChrKeyDepressed ) )
-        {
-        ret = ETrue;
-        }
-    else if ( aKey == EPtiKeyQwertyApostrophe && aLength == ELongKeyPress )
-        {
-        ret = ETrue; 
-        }
-    else if (IsSCTKey(aKey))
-        {
-        HandleKeyByShiftOrCharPressedL(aKey,aLength);
-        if (fepMan->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed))
-            {
-            fepMan->ClearFlag(CAknFepManager::EFlagNoActionDuringChrKeyPress);        
-            }
-        ret = ETrue;
-        }
-    else if( aKey == EStdKeySpace )
-        {
-        if ( aLength == EShortKeyPress)
-            {
-            fepMan->StartInlineEditL();
-            fepMan->UpdateInlineEditL( KSpace, 0 );
-            fepMan->CommitInlineEditL();
-            if (fepMan->IsFlagSet(CAknFepManager::EFlagEditorFull))
-                {
-                fepMan->ClearFlag(CAknFepManager::EFlagEditorFull);
-                }
-            }
-        else
-            {
-            TPtrC text;
-            TBuf<KFnMappedCharacters> allFnMappedCharacters;
-            ptiengine->MappingDataForKey( (TPtiKey)aKey,
-                allFnMappedCharacters, EPtiCaseFnLower );
-            text.Set( allFnMappedCharacters );
-            if ( text.Length() > 0 )
-                {
-                TBuf<1> chr;
-                chr.Append( text[0] );
-                fepMan->RemovePreviousCharacterL();
-                fepMan->NewCharacterL( chr );
-                fepMan->CommitInlineEditL();
-                if (fepMan->IsFlagSet(CAknFepManager::EFlagEditorFull))
-                    {
-                    fepMan->ClearFlag(CAknFepManager::EFlagEditorFull);
-                    }
-                ptiengine->ClearCurrentWord();
-                iData = 0;
-                }
-            }
-        ret = ETrue;
-        }
-    else
-        {
-        ret = TAknFepInputStateHalfQwerty::HandleKeyL( aKey, aLength );
-        if ( fnKeyState == CAknFepFnKeyManager::EFnKeyNext && !IsMultitapkey( aKey ) )
-            {
-            fepMan->SetFnKeyState( CAknFepFnKeyManager::EFnKeyNone );
-            }
-        if (fepMan->IsFlagSet(CAknFepManager::EFlagEditorFull))
-            {
-            fepMan->ClearFlag(CAknFepManager::EFlagEditorFull);
-            }
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateInitialChineseGenericHalfQwerty::IsSCTKey
-// to check whether the key is sct key 
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputStateInitialChineseGenericHalfQwerty::IsSCTKey(TInt aKey)
-    {
-    TBool response = EFalse;
-    switch (iOwner->FepMan()->InputMode())
-        {
-        case EPinyin:
-            break;
-        case EStroke:
-        case EZhuyin:
-            if (aKey == EPtiKeyQwertyQ ||aKey == EPtiKeyQwertyA ||aKey
-                    == EPtiKeyQwertyZ ||aKey == EPtiKeyQwertyO ||aKey
-                    == EPtiKeyQwertyL)
-                {
-                response = ETrue;
-                }
-            break;
-        case EStrokeFind:
-        case EZhuyinFind:
-            if (aKey >= EPtiKeyQwertyA && aKey <= EPtiKeyQwertyZ)
-                {
-                response = ETrue;
-                }
-            break;
-        }
-    if ( (/*aKey == EStdKeyFullStop || */aKey == EStdKeySpace )
-        && iOwner->FepMan()->FnKeyState() )
-        {
-        response = ETrue;
-        }
-    return response;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateInitialChineseGenericHalfQwerty::IsCharacter
-// to check whether the key stroke is a character key or not 
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputStateInitialChineseGenericHalfQwerty::IsCharacter(TInt aKey)
-    {
-    TBool response = EFalse;
-    switch (iOwner->FepMan()->InputMode())
-        {
-        case EPinyin:
-            if (( aKey >= EPtiKeyQwertyA && aKey <= EPtiKeyQwertyZ ) ||
-            	( aKey >= EPtiKeyQwerty0 && aKey <= EPtiKeyQwerty9 ) )
-                {
-                response = ETrue;
-                }
-            break;
-        case EStroke:
-        case EStrokeFind:
-            if ((aKey == EPtiKeyQwertyE ||aKey == EPtiKeyQwertyT ||aKey
-                    == EPtiKeyQwertyU ||aKey == EPtiKeyQwertyD ||aKey
-                    == EPtiKeyQwertyG ||aKey == EPtiKeyQwertyJ ) || 
-               (aKey >= EPtiKeyQwerty0 && aKey <= EPtiKeyQwerty6))
-                {
-                response = ETrue;
-                }
-            break;
-        case EZhuyin:
-            if ( (aKey == EPtiKeyQwertyE ||aKey == EPtiKeyQwertyT ||aKey
-                    == EPtiKeyQwertyU ||aKey == EPtiKeyQwertyD ||aKey
-                    == EPtiKeyQwertyG ||aKey == EPtiKeyQwertyJ ||aKey
-                    == EPtiKeyQwertyC ||aKey == EPtiKeyQwertyB ||aKey
-                    == EPtiKeyQwertyM ||aKey == EPtiKeyQwertySpace ) ||
-                (aKey >= EPtiKeyQwerty0 && aKey <= EPtiKeyQwerty9))
-                {
-                response = ETrue;
-                }
-            break;
-        }
-    return response;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateInitialChineseGenericHalfQwerty::HandleKeyByShiftOrCharPressedL
-// Handle the shift key envent 
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputStateInitialChineseGenericHalfQwerty::HandleKeyByShiftOrCharPressedL(
-    TInt aKey, TKeyPressLength aLength)
-    {
-    TBool ret = EFalse;
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    fepMan->ClearFlag(CAknFepManager::EFlagNoActionDuringShiftKeyPress);
-    TPtiTextCase caseMode = EPtiCaseLower;
-    TBool setfnstate = EFalse;
-    if (fepMan->IsOnlyNumericPermitted())
-        {
-        return ret;
-        }
-    TPtiTextCase shiftedCase = caseMode;
-    if (fepMan->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode)) 
-        {
-        shiftedCase = EPtiCaseUpper;
-        } 
-    if (fepMan->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed) )
-        {
-        shiftedCase = EPtiCaseChrLower;
-        }
-    if ( fepMan->FnKeyState() )
-        {
-        shiftedCase = EPtiCaseFnLower;
-        }
-    if ( aKey == EPtiKeyQwertyQ ||aKey == EPtiKeyQwertyA ||aKey
-        == EPtiKeyQwertyZ ||aKey == EPtiKeyQwertyO ||aKey == EPtiKeyQwertyL )
-        {
-        shiftedCase = EPtiCaseFnLower;
-        setfnstate = ETrue;
-        }
-    ptiengine->SetCase(shiftedCase);
-    TPtrC text;
-    text.Set(ptiengine->AppendKeyPress((TPtiKey)aKey));
-    if (text.Length())
-        {
-        if ( aLength == ELongKeyPress && !iOwner->FepMan()->FnKeyState() )
-            {
-            fepMan->RemovePreviousCharacterL();
-            }
-        TBuf<1> chr;            
-        for (TInt jj = 0; jj < text.Length(); jj++)
-            {
-            chr.Zero();
-            chr.Append( text[jj] );
-            fepMan->NewCharacterL( chr );
-            fepMan->CommitInlineEditL();
-            if (fepMan->IsFlagSet(CAknFepManager::EFlagEditorFull))
-                {
-                fepMan->ClearFlag(CAknFepManager::EFlagEditorFull);
-                }
-            ptiengine->ClearCurrentWord();
-            }
-        ret = ETrue;
-        }
-    if(setfnstate && fepMan->FnKeyState() == CAknFepFnKeyManager::EFnKeyNext )
-        {
-        ptiengine->SetCase(EPtiCaseLower); 
-        }    
-    
-    CAknFepFnKeyManager::TFnKeyState fnKeyState  = fepMan->FnKeyState();    
-    if(fnKeyState == CAknFepFnKeyManager::EFnKeyNext)
-        fepMan->SetFnKeyState(CAknFepFnKeyManager::EFnKeyNone);
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateInitialChineseGenericHalfQwerty::HandleEmotionKeyL
-// Handle the emotion key envent 
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputStateInitialChineseGenericHalfQwerty::HandleEmotionKeyL( TInt aKey, TKeyPressLength aLength )
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    TBool ret = EFalse;
-    TPtrC emotion;
-    if ( ( aKey != EPtiKeyQwerty7 &&
-         aKey != EPtiKeyQwerty8 &&
-         aKey != EPtiKeyQwerty9 ) ||
-         fepMan->FnKeyState())
-        {
-        return EFalse;
-        }
-    if ( EStroke == fepMan->InputMode() || EStrokeFind == fepMan->InputMode() )
-        {
-        if ( fepMan->IsFlagSet( CAknFepManager::EFlagEditorFull ) )
-            {
-            fepMan->ClearFlag(CAknFepManager::EFlagEditorFull);
-            return ETrue;
-            }
-        else
-            {
-            switch ( aKey )
-                {
-                case EPtiKeyQwerty7:
-                    emotion.Set( KEmotionSmile );
-                    ret = ETrue;
-                    break;
-                case EPtiKeyQwerty8:
-                    emotion.Set( KEmotionLaugh );
-                    ret = ETrue;
-                    break;
-                case EPtiKeyQwerty9:
-                    emotion.Set( KEmotionSad );
-                    ret = ETrue;
-                    break;
-                default:
-                    break;
-                }
-            }
-        }
-    if ( ret )
-        {
-        if ( aLength == EShortKeyPress)
-            {
-            fepMan->NewTextL(emotion);
-            fepMan->CommitInlineEditL();
-            if (fepMan->IsFlagSet(CAknFepManager::EFlagEditorFull))
-                {
-                fepMan->ClearFlag(CAknFepManager::EFlagEditorFull);
-                }
-            }
-        else
-            {
-            for( TInt i=0; i<emotion.Length(); i++ )
-                {
-                fepMan->RemovePreviousCharacterL();
-                }
-            fepMan->SetFnKeyState( CAknFepFnKeyManager::EFnKeyNext );
-            fepMan->PtiEngine()->SetCase( EPtiCaseFnLower );
-            return EFalse;
-            }
-        }
-    return ret;
-    }
-
-TBool TAknFepInputStateInitialChineseGenericHalfQwerty::IsMultitapkey( TInt aKey )
-    {
-    TBool ret = EFalse;
-    if ( aKey == EStdKeyLeftFunc || aKey == EPtiKeyQwertyLeftShift ||
-        aKey == EStdKeyFullStop )
-        {
-        ret = ETrue;
-        }
-    return ret;
-    }
-//end of the file
--- a/fep/aknfep/src/AknFepKeyCatcher.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,771 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the CAknFepKeyCatcher methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include <eikenv.h>
-#include <eikappui.h>               //iEikonEnv
-#include <e32keys.h>                //keys
-#include <uikon.hrh>                //keys
-
-#include "AknFepKeyCatcher.h"
-#include "AknFepManager.h"
-#include "AknFepGlobalEnums.h"
-#include "AknFepPanic.h"
-#include "AknFepPluginManager.h"
-#include <AknDef.h>
-#include <PtiEngine.h>
-#include <PtiDefs.h>                //keys
-#include <featmgr.h>                //FeatureManager
-#include <AvkonInternalCRKeys.h>
-
-LOCAL_C void FepObserverHandleCompletionOfTransactionL(MCoeFepObserver& aFepObserver)
-    {
-    aFepObserver.HandleCompletionOfTransactionL();
-    }
-
-CAknFepKeyCatcherInterface::~CAknFepKeyCatcherInterface()
-    {
-    }
-
-void CAknFepKeyCatcherInterface::HandleChangeInFocus()
-    {
-    }
-
-CAknFepKeyCatcher* CAknFepKeyCatcher::NewL(CAknFepManager& aFepMan)
-    {
-    CAknFepKeyCatcher* self=new(ELeave) CAknFepKeyCatcher(aFepMan);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(); //self
-    return self;
-    }
-
-CAknFepKeyCatcher::~CAknFepKeyCatcher()
-    {
-    CloseWindow();
-    if(NULL != iEikonEnv->EikAppUi())
-        {
-        iEikonEnv->EikAppUi()->RemoveFromStack(this);
-#ifdef RD_SCALABLE_UI_V2
-        (CEikonEnv::Static())->RemoveMessageMonitorObserver(*this); 
-#endif //RD_SCALABLE_UI_V2
-        }
-    }
-
-TKeyResponse CAknFepKeyCatcher::OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aEventCode)
-    {
-   
-#ifdef RD_SCALABLE_UI_V2     
-    if (aEventCode == EEventKeyUp && 
-        aKeyEvent.iScanCode == EStdKeyNo)
-        {
-        iFepMan.HandleEndKeyL();
-        }
-#endif //RD_SCALABLE_UI_V2 
-    // Temporary solution for Disable key tone when press key in Virtual ITUT
-    iFepMan.NeedDisableKeySound(aKeyEvent, aEventCode);
-    // sort out if we're doing long or short presses...
-    TKeyPressLength length = aKeyEvent.iRepeats ? ELongKeyPress : EShortKeyPress;
-    if (iKeyCatcherState == EAknFepStateNull)
-        {
-        if (aEventCode == EEventKeyUp && iLongPressedScanCode == aKeyEvent.iScanCode)
-            {
-            // An editor has lost focus during long key press (for example SCT popup 
-            // is shown during long keypress of star key).
-            // EFlagLongKeyPressHandled needs to be reseted also in this case.
-            ClearFlag(EFlagLongKeyPressHandled);
-            iLongPressedScanCode = 0;
-            }
-        if((aEventCode == EEventKeyDown) && (aKeyEvent.iScanCode==EStdKeyRightShift) 
-                && (iFepMan.KeyboardLayout()== EPtiKeyboard12Key) && !iFepMan.Japanese() 
-                &&  !iFepMan.IsChineseInputLanguage()  )
-            {
-            iFepMan.SetCcpuFlag(CAknFepManager::ECcpuStateShiftkeyWasPressedBeforeLosingFocus);
-            }
-        else if ((aEventCode == EEventKeyUp) && (aKeyEvent.iScanCode==EStdKeyRightShift) 
-                && (iFepMan.KeyboardLayout()== EPtiKeyboard12Key) 
-                && iFepMan.IsCcpuFlagSet(CAknFepManager::ECcpuStateShiftkeyWasPressedBeforeLosingFocus))
-            {
-            iFepMan.ClearCcpuFlag(CAknFepManager::ECcpuStateShiftkeyWasPressedBeforeLosingFocus);
-            }
-        
-        TInt keyCode = aKeyEvent.iCode;
-        if (keyCode == EKeyF19 || keyCode == EKeyF22 ||
-            keyCode == EKeyF23 || keyCode == EKeyF24 )
-            {
-            // Internal FEP key events that are simulated by FEP are always 
-            // also consumed by FEP. In this situation FEP has simulated the
-            // key event but the editor is unfocused right after.
-            return EKeyWasConsumed;
-            }
-        // FEP does not handle any keyevents if there are not any FEP aware editor focused, except shift key. 
-        // Notice that shift key is handled only if CAknFepKeyCatcher is constructed by focusing some editor.
-        
-        if (iFepMan.HashKeySelectionInUse())
-        	{        	
-        	// Hash key selection should work also with uneditable editors, therefore
-        	// we need to fake it as a shift key press here.
-	        if (aKeyEvent.iScanCode == EStdKeyHash)
-    	    	{
-    	    	if (aEventCode == EEventKeyUp)
-    	    		{		
-    	    		if (iFepMan.IsFlagSet(CAknFepManager::EFlagLongShiftKeyPress))	   			    	    		
-    	    			{    	    			    	    		
-    	    			// We need to generate real shift up event for editor to
-    	    			// cancel ccpu-mode.
-		   				TKeyEvent ccpuStart = {0, EStdKeyLeftShift, 0, 0};
-    	 				CCoeEnv::Static()->SimulateKeyEventL(ccpuStart, aEventCode);
-    	    			}
-    	    		else
-    	    			{
-    	    			// CCpu-mode was not yet activated. Just cancel the timer.
-    	    			iFepMan.CancelShiftKeyTimer();
-    	    			}		
-    	 			return EKeyWasNotConsumed;       	    		
-    	    		}
-				else if (aEventCode == EEventKeyDown)   	    		
-					{
-					return iFepMan.HandleShiftKeyEventL(aEventCode);        							
-					}
-        		}
-    	    }
-    	
-    	if( keyCode == EKeyEscape )
-    		{
-    		return iFepMan.HandleKeyEventL(keyCode, length);	
-    		}
-    		
-        if ((aKeyEvent.iScanCode==EStdKeyRightShift || aKeyEvent.iScanCode==EStdKeyLeftShift))
-            {
-            if (aEventCode == EEventKeyUp)
-                {
-                iFepMan.SetExtendedFlag(CAknFepManager::EExtendedFlagShiftReleasedOnPopup);
-                }
-            else
-                {
-                iFepMan.ClearExtendedFlag(CAknFepManager::EExtendedFlagShiftReleasedOnPopup);
-                }
-            }
-        else
-            {
-            return EKeyWasNotConsumed;
-            }
-        }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-     if(iKeyCatcherState != EAknFepStateNull)
-        {
-            if(iFepMan.IsFnKeyMapped() &&
-                (iFepMan.HandleFnKeyEventL( aKeyEvent, aEventCode ) == EKeyWasConsumed))
-            {
-            return EKeyWasConsumed;        
-            }
-
-        }
-#endif
-	
-     if ( aEventCode == EEventKeyUp && 
-          aKeyEvent.iScanCode == EStdKeyHash &&
-          iFepMan.IsExtendedFlagSet(CAknFepManager::EExtendedFlagShortPressHashKey) )
-         {
-         // We are here because of short press of has key. Since, we had consumed
-         // short press of hash key, we re-simulate is again, so that the respective
-         // application can handle it as per their need.
-         
-         TKeyEvent keyHash = {EPtiKeyHash, EStdKeyHash, 0, 0};
-         CCoeEnv::Static()->SimulateKeyEventL(keyHash, EEventKey);
-         iFepMan.ClearExtendedFlag(CAknFepManager::EExtendedFlagShortPressHashKey);
-         }
-    // Check for the Wireless Keyboard Modifier Flag.
-    const TUint KModifierExternalKeyboard = 0x00200000;
-    if ( aKeyEvent.iModifiers & KModifierExternalKeyboard )
-        {        
-        if ( iFepMan.IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction |
-             CAknFepManager::EFlagInsideMultitapInlineEditingTransaction) ) 
-            {
-            if (iFepMan.IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction))
-                {
-                // Remove any no matching word indicator.
-                iFepMan.TryRemoveNoMatchesIndicatorL();
-                }
-            // Ensure the CBA is in the default state.
-            iFepMan.UpdateCbaL(NULL);
-            // Close FEP UI, commit the inline edit and show the cursor.            
-            iFepMan.TryCloseUiL(); 
-            }        
-        // Allow the key through to the underlying control.
-        return EKeyWasNotConsumed;
-        }
-    
-    TKeyResponse retCode;
-	if (iFepMan.HandleCcpuModeKeyEventL(aKeyEvent, aEventCode,
-	                                   retCode, IsFlagSet(EFlagLongKeyPressHandled)))
-		{
-		return retCode;	
-		}
-
-#ifdef RD_SCALABLE_UI_V2
-    // Set text selection when tap arrow keys
-	if(iFepMan.HandleSelModeArrowKeyEventL(aKeyEvent, aEventCode, retCode))
-        {
-        return retCode;
-        }        
-#endif //RD_SCALABLE_UI_V2	
-
-    
-  
-    if ( ( aKeyEvent.iModifiers & EModifierCtrl
-#ifdef RD_INTELLIGENT_TEXT_INPUT     
-           || aKeyEvent.iScanCode==EStdKeyRightCtrl
-           || aKeyEvent.iScanCode==EStdKeyLeftCtrl
-#endif
-		 )
-        && aKeyEvent.iScanCode != EStdKeyBackspace  
-        && aKeyEvent.iScanCode != EStdKeyDelete )
-        {// Chinese qwerty increment input mode by Ctrl+Shift
-		return iFepMan.HandleQwertyControlKeyEventL(aKeyEvent, aEventCode);        
-        }
-
-    // handling hash key event in japanese input
-    if (iFepMan.IsFeatureSupportedJapanese()
-     && aKeyEvent.iScanCode==EStdKeyHash && !iFepMan.IsOnlyNumericPermitted())
-        {
-        return HandleHashKeyJapaneseL(aKeyEvent, aEventCode);
-        }
-    
-    // Let FepMan handle chr key
-    if (aKeyEvent.iScanCode==EStdKeyLeftFunc)
-        {
-        if (iFepMan.HandleQwertyChrKeyEventL(aEventCode))
-            {
-            return EKeyWasConsumed;
-            }
-        }
-    //let FepMan handle shifts
-    if ( aKeyEvent.iScanCode==EStdKeyRightShift || aKeyEvent.iScanCode
-            ==EStdKeyLeftShift )
-        {
-        // phrase creation
-        if ( iFepMan.IsPinyinPhraseCreation() )
-            {
-            return EKeyWasConsumed;
-            }
-        else
-            {
-            return iFepMan.HandleShiftKeyEventL( aEventCode );
-            }
-        }
-    
-    if (iFepMan.Japanese())
-        {
-        if ((aKeyEvent.iScanCode==EStdKeyDevice0) || (aKeyEvent.iScanCode==EStdKeyDevice1))
-            {
-            if (aEventCode != EEventKey)
-                {
-                return EKeyWasNotConsumed;
-                }
-            }
-        }
-
-    if (aEventCode==EEventKeyUp)
-        {
-        if ( iLongPressedScanCode == aKeyEvent.iScanCode )
-            {
-            ClearFlag(EFlagLongKeyPressHandled);
-            iLongPressedScanCode = 0;
-            }
-        
-        if ( (EStdKeyDelete == aKeyEvent.iScanCode || 
-              EStdKeyBackspace == aKeyEvent.iScanCode))  
-                {
-                iFepMan.SetLongClearAfterCloseUI(EFalse);               
-                }
-            
-        iFepMan.ClearFlag(CAknFepManager::EFlagCharacterAdded);
-        }
-
-
-    //let FepMan to try to handle Thai 0 key
-    TBool thai0Keyhandling = EFalse;
-
-    if (aKeyEvent.iScanCode==EPtiKey0 
-        && (!(aKeyEvent.iModifiers & EModifierSpecial)  // If the key is produced by hardware key
-          // In VKB and FSQ latin range 0 could be input with virtual keyboard
-          || (iFepMan.PluginInputMode() != EPluginInputModeFSQ  
-             && iFepMan.PluginInputMode() != EPluginInputModeVkb)))
-        {
-        if (iFepMan.HandleThai0KeyEvent(aEventCode, length, thai0Keyhandling) == EKeyWasConsumed)
-            {
-            return (EKeyWasConsumed); // Eats some key events to find out when o key goes up
-            }
-        if (thai0Keyhandling)
-            {
-            if(length == ELongKeyPress)
-                {
-                SetFlag(EFlagLongKeyPressHandled);
-                iLongPressedScanCode = aKeyEvent.iScanCode;
-                }
-            return (iFepMan.HandleKeyEventL(EPtiKey0, length));
-            }
-        }
-    TInt keyCode = aKeyEvent.iCode;
-    TKeyResponse response = EKeyWasNotConsumed;
-    
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    if ((aKeyEvent.iScanCode == EStdKeyNkpAsterisk ||aKeyEvent.iScanCode == EPtiKeyStar )&& iFepMan.KeyboardLayout() == EPtiKeyboard12Key)
-    	{
-    	//For Special Editors like Java numeric editor, EventKeyUp is allowed to flow through FEP.
-    	//All other events for Special Editor is not consumed by FEP.
-    	if(iFepMan.IsSpecialNumericEditor() && iFepMan.IsOnlyNumericPermitted() && aEventCode != EEventKeyUp)
-    		{
-    		return EKeyWasNotConsumed;
-    		}
-#ifdef FF_HOME_SCREEN_EASY_DIALING
-				// If Easy Dialing Feature in Phone Idle is turned on then,
-				// phoneIdleinEasyDialingNumericMode is set to True
-        TBool phoneIdleinEasyDialingNumericMode = EFalse;
-        phoneIdleinEasyDialingNumericMode = 
-        	(iFepMan.EditorType() == CAknExtendedInputCapabilities::EPhoneNumberEditor) &&
-        	(iFepMan.InputMode() == ENumber || iFepMan.InputMode() == ENativeNumber);
-#endif           
-    	// For all Numeric Editors, only Event Key is allowed to flow through
-    	// When Easy Dialing is on, the editor in not numeric, even though in this scenario only Event key is allowed throug FEP
-    	if ( (iFepMan.IsOnlyNumericPermitted()
-#ifdef FF_HOME_SCREEN_EASY_DIALING    	
-    		 || phoneIdleinEasyDialingNumericMode 
-#endif    		 
-    		 )&& 
-    	     aEventCode != EEventKey)
-    		{
-    		return EKeyWasConsumed;
-    		}
-    	
-    	/* 
-    	For Long Key press:
-    		We only have Event Key, and FEP handles it for launching SCT.
-    	For short key presses:
-    		For Non numeric editors:
-    			EventDown and Eventkey:
-    				FEP consumes it - if FEP is in Inline edit or it can launch SCT. It is consumed by below check and does not flow further.
-    				Else, these events flow through FEP. Later decision is made to consume the event or not.
-    			EventUpKey:
-    				FEP consumes it - if FEP is in Inline edit or it can launch SCT. Desired functionality is achieved after flowing through FEP.
-    				Else, these events flow through FEP. Later decision is made to consume the event or not.
-    		For Numeric Editors:
-    			FEP handles EventKey for star key looping or launching sct. Other events does not reach here.
-    	*/
-    	if ( length != ELongKeyPress && 
-    	     aEventCode != EEventKeyUp && 
-    	     (
-    	      iFepMan.IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction) ||
-    	      !iFepMan.IsAbleToLaunchSCT() 
-    	     ) &&
-    	     (!iFepMan.IsOnlyNumericPermitted()
-#ifdef FF_HOME_SCREEN_EASY_DIALING    	
-    		  && !phoneIdleinEasyDialingNumericMode 
-#endif    		     	     
-    	     )
-    	   )
-    		{
-            return EKeyWasConsumed;
-    		}
-    	keyCode = EPtiKeyStar;
-    	}
-    else
-#endif
-    //only interested in EventKeys apart from for the shift key
-    if (aEventCode!=EEventKey)
-        {
-        // For Japanese, don't pass EEventKeyUp and EEventKeyDown
-        // event to application side if we are inputting Hiragana/Kanji.
-        if (iFepMan.Japanese() && iKeyCatcherState == EAknFepStateUIActive)
-            {
-            // arrow keys
-            if (aKeyEvent.iScanCode == EStdKeyDownArrow
-                  || aKeyEvent.iScanCode == EStdKeyRightArrow
-                  || aKeyEvent.iScanCode == EStdKeyLeftArrow
-                  || aKeyEvent.iScanCode == EStdKeyUpArrow)
-                {
-                return EKeyWasConsumed;
-                }
-            }
-
-        if ((iKeyCatcherState == EAknFepStateInitial)
-            && (aEventCode == EEventKeyUp) && (aKeyEvent.iScanCode == EStdKeyBackspace))
-            {
-            CCoeEnv::Static()->ForEachFepObserverCall(FepObserverHandleCompletionOfTransactionL);
-            }
-
-        return EKeyWasNotConsumed;  
-        }
-
-    //if we've done a long press, and we get repeats, don't pass it on to the fep man.
-
-    if (!(iFepMan.Japanese()&&
-          (aKeyEvent.iCode == EKeyLeftArrow
-        || aKeyEvent.iCode == EKeyRightArrow
-        || aKeyEvent.iCode == EKeyDownArrow
-        || aKeyEvent.iCode == EKeyUpArrow)))
-        {
-        if (!(aKeyEvent.iCode == EKeyPrevious || aKeyEvent.iCode == EKeyNext))
-            {                	
-            if (IsFlagSet(EFlagLongKeyPressHandled)&&(aKeyEvent.iRepeats))
-                {
-                return EKeyWasConsumed;         
-                }
-            }
-        }
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    CAknFepFnKeyManager::TFnKeyState fnKeyStateBeforeKey = iFepMan.FnKeyState();
-
-	// the short key press was blocked, don't allow the long key press to go through
-	if ( IsFlagSet(EFlagBlockAllLongKeyPressEvents) && length == ELongKeyPress 
-								&& !IsNaviKey(aKeyEvent.iCode) )
-		{
-		return EKeyWasNotConsumed;
-		}
-	// if the editor has no free space	
-	// the key press is a valid one 
-	// (it is not for eg. a simulated key press for case change)
-	// we are not in between multitapping
-	// block the subsequent long key press also	
-	if ( length == EShortKeyPress && !iFepMan.EditorHasFreeSpace() 
-		&& iFepMan.PtiEngine()->IsValidKey((TPtiKey)aKeyEvent.iScanCode)   
-		&& !iFepMan.IsFlagSet(CAknFepManager::EFlagInsideMultitapInlineEditingTransaction) ) 
-    	{
-    	SetFlag(EFlagBlockAllLongKeyPressEvents); // block the subsequent long key press also
-    	return EKeyWasNotConsumed;
-    	}
-    else
-    	{
-    	ClearFlag(EFlagBlockAllLongKeyPressEvents);
-    	}	
-#endif // RD_INTELLIGENT_TEXT_INPUT 
-    if (iFepMan.HandleQwertyKeyEventL(aKeyEvent, response))
-        {
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-#ifdef __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__ 
-		ClearFlag(EFlagBlockAllLongKeyPressEvents);	
-#endif // __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__    
-			TPtiKeyboardType keyboardType = iFepMan.KeyboardLayout();
-	        if( (length == ELongKeyPress) &&
-            (
-#ifdef __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__ 
-            iFepMan.LongPressNumberEntryOnQwerty()||
-#endif // __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__          
-            (keyboardType == EPtiKeyboardHalfQwerty)) &&
-            iFepMan.KeyMapsDifferentCharacterWithFn( (TPtiKey)aKeyEvent.iScanCode ) && 
-            fnKeyStateBeforeKey == CAknFepFnKeyManager::EFnKeyNone )
-            {
-            SetFlag(EFlagLongKeyPressHandled); // don't allow any more long presses to go through.
-            iLongPressedScanCode = aKeyEvent.iScanCode;
-            }
-#endif // RD_INTELLIGENT_TEXT_INPUT      
-        return response;
-        }
-#ifdef RD_INTELLIGENT_TEXT_INPUT		
-#ifdef __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__ 
-        // key was not handled because there is no space in editor
-    else if( !iFepMan.EditorHasFreeSpace() && ( iFepMan.KeyboardLayout() != EPtiKeyboard12Key))
-    	{		
-    	SetFlag(EFlagBlockAllLongKeyPressEvents);
-    	}
-#endif // __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__          			
-#endif // RD_INTELLIGENT_TEXT_INPUT    
-	if (iFepMan.IsFlagSet(CAknFepManager::EFlagShiftKeyDepressed))
-		{
-		// If shift (ie. edit-key) is pressed in itu-t mode, block all the numeric keys, 
-		// otherwise they will be routed to edwin and prodec unwanted character.
-		if ((aKeyEvent.iScanCode >= EPtiKey1 && aKeyEvent.iScanCode <= EPtiKey9) ||
-		    aKeyEvent.iScanCode == EPtiKey0 || aKeyEvent.iScanCode == EStdKeyFullStop )
-			{
-			return EKeyWasConsumed;
-			}		
-		}        
-		
-	if (iFepMan.IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed))
-		{
-		if ((aKeyEvent.iScanCode >= EPtiKeyQwertyA && aKeyEvent.iScanCode <= EPtiKeyQwertyZ) ||
-		     aKeyEvent.iScanCode == EStdKeyFullStop )
-			{
-			return EKeyWasConsumed;
-			}		
-		}        
-        
-    // bulk of the selection.
-    switch(keyCode)
-        {
-    case EKeyLeftArrow: //fall through
-    case EKeyRightArrow:
-    case EKeyDownArrow:
-    case EKeyUpArrow:
-        response = iFepMan.HandleKeyEventL(keyCode, length);
-        break;
-    case EKeyCBA1:
-        {
-        TInt inputMode = iFepMan.InputMode();
-        if ( iKeyCatcherState == EAknFepStateUIActive && 
-            inputMode >= ECangJie && inputMode <= EStroke )
-            {
-            // Left softkey does not have functionality in Chinese input modes when 
-            // FEP UI is active.
-            // phrase creation
-            iFepMan.HandleKeyEventL( keyCode, length );
-            response = EKeyWasConsumed;
-            break;
-            }
-        }
-        //fall through
-    case EKeyOK:
-    case EKeyCBA2:
-    case EPtiKey0:
-    case EPtiKey1:
-    case EPtiKey2:
-    case EPtiKey3:
-    case EPtiKey4:
-    case EPtiKey5:
-    case EPtiKey6:
-    case EPtiKey7:
-    case EPtiKey8:
-    case EPtiKey9:
-    case EPtiKeyStar:
-    case EPtiKeyHash:
-    case EKeyEscape:
-        if(length == ELongKeyPress)
-            {
-            SetFlag(EFlagLongKeyPressHandled); // don't allow any more long presses to go through.
-            iLongPressedScanCode = aKeyEvent.iScanCode;
-            }
-        //fall through
-    case EKeyBackspace:
-    case EKeyDelete:
-        
-        // This check is added to handle the case when user enters a consonant
-        // followed by a halant, follwed by digit using long key press.
-        // When backspace is done, first time, the digit gets deleted.
-        // Second time, only halant should be deleted. But since ZWS is
-        // present, the entire syllable gets deleted. Hence we forcefully
-        // remove the ZWS.
-        
-        if( keyCode == EKeyBackspace && 
-            iFepMan.PreviousChar( ETrue ) == ( ZERO_WIDTH_SPACE ) )
-            {
-            // Remove the Zero Width Space
-	    	iFepMan.RemovePreviousCharacterL();
-            }
-
-#ifdef RD_MARATHI
-		if( ( keyCode == EKeyBackspace ) && 
-			iFepMan.PreviousChar( ETrue ) == ( ZERO_WIDTH_JOINER ))
-			{
-			// Remove the Zero Width Joiner
-			iFepMan.RemovePreviousCharacterL();
-			}
-#endif // RD_MARATHI
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-		if( keyCode == EKeyBackspace && 
-			( (aKeyEvent.iModifiers & EModifierLeftShift) ||
-			  (aKeyEvent.iModifiers & EModifierRightShift) ||
-			  (aKeyEvent.iModifiers & EModifierShift) ))
-			{
-			keyCode = EKeyDelete;
-			}
-#endif //RD_INTELLIGENT_TEXT_INPUT			
-        response = iFepMan.HandleKeyEventL(keyCode, length, aEventCode );
-        break;
-    case EKeyF19: // Fep simulated event to asynchronously update the case.
-    case EKeyF22:
-    case EKeyF23:
-    case EKeyF24:
-        response = iFepMan.HandleKeyEventL(keyCode, length);
-        break;
-    case EKeyPowerOff:
-    case EKeyPhoneEnd:
-    case EKeyApplication:
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-    		// To rip off suggested word completion when user press END / APPLICATION
-    			if(iFepMan.IsAutoCompleteOn())
-    			{
-    			iFepMan.RemoveSuggestedCompletionL();	
-    			}
-#endif //RD_INTELLIGENT_TEXT_INPUT
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-		response = iFepMan.HandleKeyEventL(keyCode, length);
-#endif //RD_INTELLIGENT_TEXT_INPUT
-        break;
-    case EKeyPhoneSend:
-        // handling phone send key event in japanese input
-        if (iFepMan.IsFeatureSupportedJapanese())
-            {
-            if (iFepMan.Japanese() && iKeyCatcherState == EAknFepStateUIActive)
-                {
-                // Ensure the CBA is in the default state.
-                iFepMan.UpdateCbaL(NULL);
-                // Close FEP UI, commit the inline edit and show the cursor.            
-                iFepMan.TryCloseUiL();
-                }
-            }
-        break;
-    default:
-        break;
-        }
-   
-    return response;
-    }
-
-void CAknFepKeyCatcher::SetState(const enum TAknFepManagerState aState)
-    {
-    iKeyCatcherState=aState;
-    }
-
-CAknFepKeyCatcher::CAknFepKeyCatcher(CAknFepManager& aFepMan)
-    : iFepMan(aFepMan),
-      iKeyCatcherState(EAknFepStateNull)
-    {
-    }
-
-void CAknFepKeyCatcher::ConstructL()
-    {
-    // Set up fep key catching control - front window, null size, non-focusing
-    CreateWindowL();
-    SetFocusing(EFalse);    
-    RWindow& window=Window();
-    window.SetOrdinalPosition(0, ECoeWinPriorityFep);
-    TPoint fepControlPos(0, 0);
-    SetExtent(fepControlPos, TSize(0,0));               //null size
-    window.SetExtent(fepControlPos, TSize(0,0));
-    window.SetNonFading(ETrue);
-    if(NULL == iEikonEnv->EikAppUi())
-        {
-        User::Leave(KErrCancel);
-        }
-    iEikonEnv->EikAppUi()->AddToStackL(this, ECoeStackPriorityFep, 
-                                       ECoeStackFlagRefusesFocus|ECoeStackFlagSharable);
-#ifdef RD_SCALABLE_UI_V2
-    (CEikonEnv::Static())->AddMessageMonitorObserverL(*this); 
-#endif  //RD_SCALABLE_UI_V2
-    SetBlank();
-    }
-
-TKeyResponse CAknFepKeyCatcher::HandleHashKeyJapaneseL(const TKeyEvent& aKeyEvent, 
-                                                       TEventCode aEventCode)
-    {
-    // handling hash keypress event only
-    __ASSERT_DEBUG(aKeyEvent.iScanCode==EStdKeyHash, AknFepPanic(EAknFepPanicNotSupportKey));
-
-    // No handling case
-    if (aEventCode == EEventKeyDown
-     || iKeyCatcherState == EAknFepStateNull)
-        {
-        if (aEventCode == EEventKeyUp)
-            {
-            ClearFlag(EFlagLongKeyPressHandled);
-            }
-        return EKeyWasNotConsumed;
-        }
-    
-    // sort out if we're doing long or short presses...
-    TKeyPressLength length = aKeyEvent.iRepeats ? ELongKeyPress : EShortKeyPress;
-
-    // long keypress is handled once, after key event always is consumed.
-    if (aEventCode == EEventKey && IsFlagSet(EFlagLongKeyPressHandled) )
-        {
-        return EKeyWasConsumed;
-        }
-    
-    if (length == ELongKeyPress && !IsFlagSet(EFlagLongKeyPressHandled))
-        {
-        SetFlag(EFlagLongKeyPressHandled);
-        }
-    
-    // Always handling case
-    if (aEventCode != EEventKeyUp && IsFlagSet(EFlagLongKeyPressHandled)
-        || aEventCode == EEventKeyUp && !IsFlagSet(EFlagLongKeyPressHandled))
-        {
-        TKeyResponse response = iFepMan.HandleKeyEventL(EPtiKeyHash, length);
-        __ASSERT_DEBUG(response != EKeyWasNotConsumed, AknFepPanic(EAknFepPanicNotHandleHashKey));
-        }
-    else if (aEventCode == EEventKey
-          && iKeyCatcherState == EAknFepStateUIActive)
-        {
-        // Ensure the CBA is in the default state.
-        iFepMan.UpdateCbaL(NULL);
-        // Close FEP UI, commit the inline edit and show the cursor.
-        iFepMan.TryCloseUiL();
-        }
-
-    if (aEventCode == EEventKeyUp)
-        {
-        ClearFlag(EFlagLongKeyPressHandled);
-        }
-    
-    return EKeyWasConsumed;
-    }
-
-void CAknFepKeyCatcher::HandleResourceChange(TInt aType)
-    {
-    if(aType == KEikDynamicLayoutVariantSwitch)  //If the layout has been changed, notify fep manager
-        {
-        iFepMan.HandleResourceChange(aType);
-        }
-
-    CCoeControl::HandleResourceChange(aType);
-    }
-TBool CAknFepKeyCatcher::IsNaviKey(TUint aCode)
-	{
-	switch(aCode)
-		{
-			case EKeyBackspace:
-			case EKeyLeftArrow:
-			case EKeyRightArrow:
-			case EKeyUpArrow:
-			case EKeyDownArrow:
-			case EKeyDelete:
-				return ETrue;
-			default:
-				return EFalse;	
-		}
-	}
-#ifdef RD_SCALABLE_UI_V2
-
-void CAknFepKeyCatcher::MonitorWsMessage(const TWsEvent& aEvent)
-    {
-	switch (aEvent.Type())
-		{
-	    case EEventPointer:
-            TRAP_IGNORE(iFepMan.HandlePointerEventL(*aEvent.Pointer()));
-		    break;
-		default:
-		    break;
-		}
-    }
-
-#endif //RD_SCALABLE_UI_V2 
-
-// End of file
--- a/fep/aknfep/src/AknFepLanguageManager.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,466 +0,0 @@
-/*
-* Copyright (c) 2002-2008 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:            Implementation of CAknFepLanguageManager class.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include "AknFepGlobalEnums.h"
-#include "AknFepPanic.h"
-#include "AknFepManager.h"                  // CAknFepManager
-#include "AknFepManagerInterface.h"
-#include "AknFepUIManagerStateInterface.h"  // MAknFepUIManagerStateInterface
-#include "AknFepUiInputStateBase.h"         // TAknFepInputStateBase
-#include "AknFepUiManagerBase.h"            // CAknFepUIManagerBase
-#include "AknFepUIManagerJapanese.h"        // CAknFepUIManagerJapanese
-#include "AknFepUiManagerWestern.h"         // CAknFepUIManagerWestern
-#include "AknFepUiManagerChinese.h"         // CAknFepUIManagerChinese
-#include "AknFepLanguageManager.h"          // this class
-
-#include "AknFepUiManagerKorean.h"        	// CAknFepUIManagerKorean
-#include <uikon.hrh>                        // TAknEditorNumericKeymap
-#include <AknUtils.h>
-
-#include <aknfeppeninputimeplugin.h>
-#include  "AknFepPluginManager.h"
-#include <peninputcmd.h>
-#include <peninputclient.h>
-
-void Cleanup( TAny* aAny )
-	{
-	RImplInfoPtrArray* implArray = 
-		reinterpret_cast< RImplInfoPtrArray*> ( aAny );
-	implArray->ResetAndDestroy();
-	implArray->Close();
-	}
-
-/**
- * CAknFepLanguageManager
- *
- */
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CAknFepLanguageManager()
-// first phase construction.
-// -----------------------------------------------------------------------------
-//
-CAknFepLanguageManager* CAknFepLanguageManager::NewL(MAknFepManagerUIInterface* aFepMan, 
-                                                     CAknFepCaseManager* aCaseMan)
-    {
-    CAknFepLanguageManager* self = new(ELeave) CAknFepLanguageManager(aFepMan, aCaseMan);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(); // self
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// ~CAknFepLanguageManager()
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CAknFepLanguageManager::~CAknFepLanguageManager()
-    {
-    if (iUiManArray)
-        {
-        iUiManArray->ResetAndDestroy();
-        }
-    delete iUiManArray;
-    delete iCurImePlugin;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepLanguageManager::GetFepUI()
-// get ui manager object
-// -----------------------------------------------------------------------------
-//
-MAknFepManagerInterface* CAknFepLanguageManager::GetFepUI(TInt aMode, TWidthChar /*aCharacterWidth*/, TBool aPredictive)
-    {
-    MAknFepManagerInterface* uiMan = NULL;
-    switch (aMode)
-        {
-        case EPinyin:
-        case EZhuyin:
-        case EStroke:
-        case ECangJie:
-        case EZhuyinFind:
-        case EStrokeFind:
-            uiMan = iUiManArray->At(EUiManChinese);
-            break;
-        case ELatin:
-        case EHindi:
-            if (iInputLanguage == ELangJapanese)
-                {
-                uiMan = iUiManArray->At((aPredictive)? EUiManWestern : EUiManJapanese);
-                }
-        	else if(iInputLanguage == ELangKorean)
-        		{
-        		uiMan = iUiManArray->At(EUiManKorean);
-        		}
-            else
-                {
-                uiMan = iUiManArray->At(EUiManWestern);
-                }
-            break;
-        case ENumber:
-        case ENativeNumber:
-            if (iInputLanguage == ELangJapanese)
-                {
-                uiMan = iUiManArray->At(EUiManJapanese);
-                }
-            else if(iInputLanguage == ELangKorean)
-                {
-                uiMan = iUiManArray->At(EUiManKorean);
-                }
-            else
-                {
-                uiMan = iUiManArray->At(EUiManWestern);
-                }
-            break;
-        case EHiragana:
-        case EHiraganaKanji:
-        case EKatakana:
-            uiMan = iUiManArray->At(EUiManJapanese);
-            break;
-        case EHangul:
-        	uiMan = iUiManArray->At(EUiManKorean);
- 			break;
-        default:
-            AknFepPanic(EAknFepPanicNoUiManager);
-            break;
-        }
-    return uiMan;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CAknFepLanguageManager::SetInputLanguageL()
-// Set new input language.
-// -----------------------------------------------------------------------------
-//
-void CAknFepLanguageManager::SetInputLanguageL(TInt aInputLanguage)
-    {
-    iInputLanguage = aInputLanguage;
-    MAknFepManagerInterface* uiManager = NULL;
-    TInt uiManagerId = UiManagerId();
-    uiManager = iUiManArray->At(uiManagerId);
-    
-    if ( !uiManager )
-        {
-        // Ui manager does not exist for this language yet. We create it.
-        ConstructUiManagerL();
-        uiManager = iUiManArray->At(uiManagerId);
-        }
-    
-    uiManager->SetInputLanguageL((TLanguage)iInputLanguage);
-    
-    if (uiManagerId != EUiManWestern)
-        {
-        // Western UI manager needs to know current input language also when 
-        // Chinese or Japanese Ui manager is used.
-        // Western UI manager needs to use English language if the 
-        // input language is Chinese or Japanese.
-        uiManager = iUiManArray->At(EUiManWestern);
-        if (uiManager)
-            {
-            uiManager->SetInputLanguageL((TLanguage)iInputLanguage);
-            }
-        }
-        
-    }
-
-
-// -----------------------------------------------------------------------------
-// CAknFepLanguageManager()
-// Constructor.
-// -----------------------------------------------------------------------------
-//
-CAknFepLanguageManager::CAknFepLanguageManager(MAknFepManagerUIInterface* aFepManager, 
-                                               CAknFepCaseManager* aCaseManager) 
-
-:iInputLanguage(ELangEnglish), 
- iFepManager(aFepManager), 
- iCaseManager(aCaseManager),
- iPluginManager(NULL)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepLanguageManager::ConstructL()
-// Second phase construction
-// -----------------------------------------------------------------------------
-//
-void CAknFepLanguageManager::ConstructL()
-    {
-    iUiManArray = new(ELeave)CArrayPtrFlat<MAknFepManagerInterface>(EUiManMax);
-
-    for ( TInt ii = 0; ii < EUiManMax; ii++)
-        {
-        iUiManArray->AppendL(NULL);
-        }
-
-    // Create UI manager for English language. English exists in all variants and
-    // it is default language in CAknFepLanguageManager.
-    ConstructUiManagerL();
-    }
-
-void CAknFepLanguageManager::ConstructUiManagerL()
-    {
-    MAknFepManagerInterface* uiMan = NULL;
-    TInt uiManagerId = UiManagerId();
-    iUiManArray->Delete(uiManagerId);
-    switch (uiManagerId)
-        {
-        case EUiManWestern:
-            uiMan = CAknFepUIManagerWestern::NewL(iFepManager, iCaseManager, 
-                                                 (TLanguage)iInputLanguage);
-            break;
-        case EUiManChinese:
-            uiMan = CAknFepUIManagerChinese::NewL(iFepManager, iCaseManager, 
-                                                 (TLanguage)iInputLanguage);
-            break;
-        case EUiManJapanese:
-            uiMan = CAknFepUIManagerJapanese::NewL(iFepManager, iCaseManager, 
-                                                  (TLanguage)iInputLanguage);
-            break;
-        case EUiManKorean:
-        	uiMan = CAknFepUIManagerKorean::NewL(iFepManager, iCaseManager, (TLanguage)iInputLanguage);
-        	break;
-        default:
-            AknFepPanic(EAknFepPanicNoUiManager);
-            break;
-        }
-    CleanupStack::PushL(uiMan);
-    iUiManArray->InsertL(uiManagerId, uiMan);
-    CleanupStack::Pop(); // uiMan
-    }
-
-TInt CAknFepLanguageManager::UiManagerId()
-    {
-    TInt uiManagerId = EUiManWestern;
-    switch (iInputLanguage)
-        {
-        case ELangPrcChinese:
-        case ELangHongKongChinese:
-        case ELangTaiwanChinese:
-            uiManagerId = EUiManChinese;
-            break;
-        case ELangJapanese:
-            uiManagerId = EUiManJapanese;
-            break;
-        case ELangKorean:
-        	uiManagerId = EUiManKorean;
-        	break;
-        default:
-            // Western UI manager is default.
-            // Thai, Arabic and Hebrew uses western UI manager.
-            break;
-        }
-    return uiManagerId;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepLanguageManager::GetPluginInputFepUiL
-// Get plugin UI manager object.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-MAknFepManagerInterface* CAknFepLanguageManager::GetPluginInputFepUiL(
-                                                      TPluginInputMode aPreferedMode,
-                                                      TInt aPenInputLang,
-                                                      TInt aDisplayLang,
-                                                      RPeninputServer* aPenServer)
-    {
-
-    RArray<TInt> implList;
-    CleanupClosePushL(implList);
-    
-    TPluginInputMode secondMode = EPluginInputModeItut;
-    TPluginInputMode curMode = aPreferedMode;
-    TInt language = aPenInputLang;
-
-    //pen input language and prefered mode
-    aPenServer->GetImePluginIdListL(aPenInputLang, curMode, implList);
-    
-    if( implList.Count() == 0 )
-        {
-        //pen input language and other modes
-        curMode = secondMode;
-        aPenServer->GetImePluginIdListL(aPenInputLang, curMode, implList);
-        }
-        
-    if( implList.Count() == 0 && aPenInputLang != aDisplayLang)
-        {
-        //display language and prefered modes
-        language = aDisplayLang;
-        curMode = aPreferedMode;
-        aPenServer->GetImePluginIdListL(aDisplayLang, curMode, implList);
-
-        if( implList.Count() == 0 )
-            {
-            //display language and other modes
-            curMode = secondMode;
-            aPenServer->GetImePluginIdListL(aDisplayLang, curMode, implList);
-            }
-        }
-        
-    CAknFepPenInputImePlugin* pIme = NULL;
-    MAknFepManagerInterface* pUi = NULL;
-    TInt i;
-    for(i = 0; i < implList.Count(); ++i)
-        {
-        pIme = ActivateImePlugin(implList[i], aPenServer);
-        if( pIme )
-            {
-            pUi = ActivateLayoutUiPluginL(pIme, language, curMode);
-            if( pUi )
-                {
-                iCurUiPlugIn = pUi;
-                if( iCurImePlugin != pIme )
-                    {
-                    //a new IME plugin created
-                    delete iCurImePlugin;
-                    iCurImePlugin = pIme;
-                    }
-                break;
-                }
-            else
-                {
-                //Fail create UI, delete IME plugin just created
-                 if( iCurImePlugin != pIme )
-                     {
-                     delete pIme;
-                     }
-                }
-            }        
-        }
-    
-    if( i == implList.Count() )
-        {
-        delete iCurImePlugin;
-        iCurImePlugin = NULL;
-        iCurUiPlugIn = NULL;
-        }
-    CleanupStack::PopAndDestroy(&implList);    
-    return iCurUiPlugIn;
-    }
-
-TBool  CAknFepLanguageManager::IsPluginInputAvaiable(TPluginInputMode aMode, 
-                                                     TInt aPenInputLang,
-                                                     RPeninputServer* aPenServer)
-    {
-    TBool bAvail = EFalse;
-    TRAP_IGNORE(bAvail = IsPluginInputAvaiableL(aMode, aPenInputLang, aPenServer));
-    return bAvail;
-    }
-
-TBool  CAknFepLanguageManager::IsPluginInputAvaiableL(TPluginInputMode aMode, 
-                                                     TInt aPenInputLang,
-                                                     RPeninputServer* aPenServer)
-    {
-    RArray<TInt> implList;
-    CleanupClosePushL(implList);
-    
-    aPenServer->GetImePluginIdListL(aPenInputLang, aMode, implList);    
-    TBool bAvail = implList.Count() != 0;
-    CleanupStack::PopAndDestroy(&implList);    
-    return bAvail;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepLanguageManager::ActivateImePlugin
-// Activate IME plugin by implemenation.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CAknFepPenInputImePlugin* CAknFepLanguageManager::ActivateImePlugin(
-                                                 TInt aImeImplId, 
-                                                 RPeninputServer* aPenServer)
-    {
-    if(iCurImePlugin && iCurImePlugin->ImeImplId() == aImeImplId)
-        {
-        return iCurImePlugin;
-        }
-    else
-        {
-        TUid dtor_ID_Key;
-        CAknFepPenInputImePlugin* pIme = NULL;
-
-        TRAP_IGNORE(pIme = REINTERPRET_CAST(CAknFepPenInputImePlugin*, 
-              REComSession::CreateImplementationL(TUid::Uid(aImeImplId), dtor_ID_Key, aPenServer)));
-
-        if( pIme )
-            {
-            pIme->iDtor_ID_Key = dtor_ID_Key;           
-            }
-
-        return pIme;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepLanguageManager::ActivateLayoutUiPluginL
-// Activate IME plugin's UI by mode.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-MAknFepManagerInterface* CAknFepLanguageManager::ActivateLayoutUiPluginL(
-                                                   CAknFepPenInputImePlugin* aImePlugin, 
-                                                   TInt aPenInputLang,
-                                                   TPluginInputMode aMode)
-    {
-    MAknFepManagerInterface* pUi = NULL;
-
-    if( aImePlugin )
-        {
-        pUi = aImePlugin -> GetInputMethodUiL(iFepManager,
-                                            (TLanguage)aPenInputLang, 
-                                            aMode,
-                                            KNullDesC8(),
-                                            iIsSplitView);
-        //set inputlanguage                                                             
-        if(pUi)
-            {
-            pUi->SetInputLanguageL((TLanguage)aPenInputLang);
-            //pUi->ActivateUI();
-            }
-        }
-    
-    return pUi;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepLanguageManager::SetSplitView
-// Activate IME plugin's UI by mode.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CAknFepLanguageManager::SetSplitView(TBool aIsSplitView)
-    {
-    iIsSplitView = aIsSplitView;
-    }
-
-// End of File  
--- a/fep/aknfep/src/AknFepManager.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20732 +0,0 @@
-/*
-* Copyright (c) 2002-2008 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:           
-*       Provides the CAknFepManager methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
-#include <uikon/eikdefmacros.h>
-#endif
-#include "AknFepManager.h"
-#include "AknFepManagerInterface.h" // MAknFepManagerInterface
-#include "aknfepindicator.h"
-#include "AknFepPanic.h"
-#include "AknFepKeyCatcher.h"
-#include "AknFepGlobalEnums.h"
-#include "AknFepCaseManager.h"
-#include "AknFepHashKeyManager.h"
-#include "AknFepSharedDataInterface.h"
-#include "AknFepInlineTextDecorator.h"
-#include "AknFepUiManagerBase.h"
-#include "AknFepUiManagerChinese.h"
-#include "AknFepUiManagerWestern.h"
-
-#include "AknFepPluginManager.h"
-#include "AknFepUiIndicInputManager.h"
-#include "AknFepUiIndicEnums.h"
-#include <AknFepUIStylusPopupMenu.h>
-#include "aknfepuispellinputpane.h"
-
-#include <bautils.h>
-#include <coeaui.h>                 //CCoeAppUi
-#include <aknedsts.h>               //CAknEdwinState
-#include <uikon.hrh>                //keys
-#include <aknenv.h>                 //CAknEnv
-#include <PtiEngine.h>              //CPtiEngine
-#include <AknJapaneseReading.h>     //CAknJapaneseReading
-#include <featmgr.h>                //FeatureManager
-#include <e32base.h>                //CPeriodic
-#include <PtiDefs.h>                //keys
-#include <fepipext.h>               //MCoeFepSpecificExtensions
-
-#include <aknsoundsystem.h>
-#include <avkon.rsg>
-#include <avkon.hrh>
-
-#include <tagma.h>
-#include <frmtview.h>
-#include <aknedformaccessor.h>
-
-#include <aknfep.rsg>
-#include <avkon.mbg>
-
-#include "aknconsts.h"
-#include <aknfeppeninputenums.h>
-#include <eikproc.h>                // User Dictionary
-#include <eikapp.h>                 // User Dictionary
-
-#include <StringLoader.h>
-
-#include <centralrepository.h>
-#include <AknFepInternalCRKeys.h>
-#include <settingsinternalcrkeys.h>
-#include <AknUtils.h>
-#include <AknCustomCursorSupport.h>
-#include <PtiKeyMappings.h>
-#include <aknfeppeninputimeplugin.h>
-#include <peninputcmd.h>
-
-#include <AknSettingCache.h>
-#include <aknextendedinputcapabilities.h>
-#include <AvkonInternalCRKeys.h>
-#include <hlplch.h>
-#include <aknfepdocumentnavigation.h>
-
-#include <eikcolib.h>
-#include <akntoolbar.h>
-
-#include <eikfrlbd.h>
-#include <eikccpu.h>
-#include <aknappui.h>
-#include <apgwgnam.h>
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-#include "AknFepUiWordPopupContent.h"
-#include "AknFepFnKeyManager.h"
-//#include <csxhelp/cp.hlp.hrh> 
-#endif //RD_INTELLIGENT_TEXT_INPUT
-
-#ifdef RD_TACTILE_FEEDBACK
-#include <touchfeedback.h>
-#endif //RD_TACTILE_FEEDBACK
-#include "AknFepThaiSCTSelector.h"
-
-//the follow 10 filse include for phrase creation
-#include <bamdesca.h>
-#include <eikspane.h> //CEikStatusPane 
-#include <akntitle.h> //CAknTitlePane 
-#include <akntoolbar.h> //CAknToolBar 
-#include <aknappui.h>
-#include "AknFep.hrh"
-#include "aknfepuserdbdlg.h"
-#include "aknfepzhuyinkeyhandler.h"
-#include "AknFepZhuyinAnalyser.h"
-#include "AknFepZhuyinAnalyserDb.h"
-
-#include <aknnavi.h> 
-#include <aknnavide.h> 
-
-#include <eikedwin.h>
-#include <aknCharMap.h>
-
-const TInt KSelectItemSize(10);
-_LIT(KAknFepResourceFileName, "z:\\resource\\fep\\aknfep.rsc");
-_LIT(KFEPPREDINPUT_HLP_INPUT, "PREDINPUT_HLP_INPUT"); // 
-
-#define text_to_field_mode_hash_key ';'
-#define iAvkonAppUi ((CAknAppUi*)CEikonEnv::Static()->EikAppUi())
-#define __SHIFT_KEY_LOOP
-
-// EAknEditorNativeKeysNumberModeKeymap is used for example in MFNE editors.
-#define EAknEditorNativeKeysNumberModeKeymap EAknEditorReservedInternalUseKeymap
-
-// UID of user dictionary application
-const TUid KUidUserDictApp = {0x101F8645};
-
-const TText KAknFEPLineFeedSymbol = 0x21B2;
-const TText KAknFEPMirroredLineFeedSymbol = 0x21B3;
-const TText KAknFEPZeroKey = 0x30;
-
-// inline text decoration potentially adds 2 directional markers for every "real" character. Buffer needs to be 3 x predictive engine bufsize
-const TInt KMaxInlineEditSize( 3 * CAknFepManager::EMaximumFepWordLength );
-
-// Maximum number of chunks to navigate throught attempting to get to the visual end of a selection.
-// Since chunks are arranged only within a line, this should be more than the number of chunks likely in
-// a single line of text
-const TInt KMaxChunkWalkIterations(20);
-
-// This command is is used for setting empty CBA.
-const TInt KNullCommandId = 0;
-
-_LIT_SECURE_ID(KPhoneSecureId, 0x100058b3);
-
-#ifdef RD_HINDI_PHONETIC_INPUT
-
-const TUint KQuestionMark = 0x003F;
-
-#endif
-
-// Ccpu key events. 
-/*As part of build warnings commenting this perticular code it might require when touch is enabled.
-const TKeyEvent KEditorCopyEvent = {3, 67, 161, 0};  // Ctrl + C
-const TKeyEvent KEditorCutEvent  = {24, 88, 161, 0}; // Ctrl + X
-*/
-
-const TInt KTouchInputPreviewOn = 1;
-const TInt KTouchInputPreviewOff = 0;
-
-#ifdef  RD_SCALABLE_UI_V2
-const TKeyEvent KAknCcpuCopyEvent = {EKeyF18, EEikCmdEditCopy, EModifierCtrl, 1};  // Copy event for AknCcpuSupport
-const TKeyEvent KAknCcpuCutEvent  = {EKeyF18, EEikCmdEditCut, EModifierCtrl, 1};   // Cut event for AknCcpuSupport
-
-const TInt KMaxMenuSize = 23;
-const TInt KEditorMenuPermitedSend[KMaxMenuSize] = 
-    {         
-    EJapanFepCmdModeHiragana,
-    EJapanFepCmdModeKatakana,
-    EJapanFepCmdEditModeAlpha,
-    EJapanFepCmdEditModeNumber,
-    EJapanFepCmdModeFullWidth,
-    EJapanFepCmdModeHalfWidth,
-    EChinFepCmdModePinyin,
-    EChinFepCmdModeZhuyin,
-    EChinFepCmdModeStroke,
-    EAknCmdT9PredictiveT9Off,
-    EAknCmdMultitapPredictiveT9On,
-    EJapanFepCmdMultitapPredictiveT9On,
-    EChinFepCmdModeZhuyinFind,
-    EChinFepCmdModeStrokeFind,
-    EAknCmdEditModeAlpha,
-    EAknCmdEditModeLatinText,
-    EChinFepCmdModeLatinUpper,
-    EChinFepCmdModeLatinLower,
-    EAknCmdEditModeNumber,
-    EChinFepCmdModeNumber,
-    EAknCmdEditModeArabicIndicNumber,
-    EAknCmdEditModeEasternArabicIndicNumber,
-    EAknCmdEditModeIndicNumber
-    };   
-     
-#endif // RD_SCALABLE_UI_V2 
-
-
-// Number modes used by Arabic or Hindi.
-enum TNonLatinNumberModes
-    { 
-    ENbrModeLatin,
-    ENbrModeArabic = 1,
-    ENbrModeIndic = 1
-    };
-
-// Number mode type
-enum TNonLatinNumberModeType
-    {
-    ENbrModeTypeArabic,
-    ENbrModeTypeIndic,
-    ENbrModeTypeEasternArabic //for Urdu & Farsi languages
-    };
-    
-// The passwd timeout is same as defined on CEikSecretEditor.
-const TInt KSyncPasswdTimeout = 1000000;
-
-#ifdef RD_SCALABLE_UI_V2
-TUid AppUidFromWndGroupId(TInt aWndGrpId);
-extern TUid GetCurAppUid();
-extern TBool IsGlobalNotesApp(TUid& aUid);
-TInt GetForegroundTaskAppWgId();
-#endif
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-const TInt KWordToFocusInCandidateList = 1;
-#endif
-
-LOCAL_C TInt RemapVietnameseAccentedCharacter(TUint16 aChr);
-
-//
-// Class TTextDirectionalInfo
-//
-/**
-* The implementation inializes with well-defined "null" state
-*/
-CAknFepManager::TTextDirectionalInfo::TTextDirectionalInfo() : 
-iDirectionalStatus(EUnknown), iBlockEnvironment(EUndefined)
-    {}
-
-void CAknFepManager::TTextDirectionalInfo::SetDirectionFromChunk( 
-               const CTmTextLayout::TTmChunkDescription& aChunk )
-    {
-    if ( aChunk.iStart >= 0 ) // Condition for valid block. Does nothing otherwise
-        iDirectionalStatus = aChunk.iRightToLeft ? ERightToLeft : ELeftToRight;
-    }
-
-
-void TFepLanguageTranslation::ReadFromResource(TResourceReader& aReader)
-    {
-    iName.Set(aReader.ReadTPtrC());
-    iLanguageId = aReader.ReadInt16();
-    iCommandId = aReader.ReadInt16();
-    }
-
-
-CAknFepManager::CAknFepManager(CCoeEnv& aConeEnvironment)
-    :CCoeFep(aConeEnvironment),
-    iAsyncResouceChanged(EActivePriorityDefault),
-    iPreviousEditingState(EStateNone),
-    iInputCapabilities(TCoeInputCapabilities::ENone),
-    iModeBefore(ELatin),
-    #ifdef RD_INTELLIGENT_TEXT_INPUT
-    iKeyPressedDuringShift(EFalse),
-#endif
-    iCharWidth(EHalfWidthChar),
-    iAsyncOwnSimulateKey(EActivePriorityDefault),
-    iLongThai0Key(EFalse),
-    iEditCharsPtr(0,0),
-    iComposChrFlag(0),
-    iIsUserdbdlgActive(0),
-    iLongClearAfterCloseUI(EFalse),
-    // phrase creation
-    iPhraseCreation(0),
-    iPinyinPhraseCreation(0),
-    iEntryPhrase(0)
-    
-
-    {
-    }
-
-void CAknFepManager::ConstructL(const CCoeFepParameters& aFepParameters)
-    {
-    BaseConstructL(aFepParameters);
-    iUiInterface = CAknFepUIInterface::NewL();
-    iIndicator = iUiInterface->NewIndicatorL();
-    iPreviousIndicator = CAknEnv::Static()->SwapEditingStateIndicator(iIndicator);
-
-    // Set up resources
-    TFileName resourceName(KAknFepResourceFileName);
-    CCoeEnv* coeEnv = CCoeEnv::Static();
-    BaflUtils::NearestLanguageFile(coeEnv->FsSession(), resourceName);
-    iResId = coeEnv->AddResourceFileL(resourceName);
-
-    // Save Japanese Feature support to a member variable
-    iFeatureSupportedJapanese = FeatureManager::FeatureSupported(KFeatureIdJapanese);
-
-    iUiLanguage = User::Language();
-    
-    // Shared Data
-    iSharedDataInterface = CAknFepSharedDataInterface::NewL(this);
-
-    TInt previUiLanguage = iSharedDataInterface->PluginUILanguage();
-
-    if (iUiLanguage != previUiLanguage)
-        {
-        
-        // if UI language has changed we need to set text input language according to UI language
-        iSharedDataInterface->SetPluginUILanguage(iUiLanguage);
-        iSharedDataInterface->SetInputTextLanguage(0);  // signals that it needs to be updated
-        }
-
-    if (!iSharedDataInterface->InputMode()) //not initialised yet - first time device is switched on
-        {
-        switch (iUiLanguage)
-            {
-            case ELangPrcChinese:
-                iSharedDataInterface->SetInputMode(EPinyin);
-                break;
-            case ELangTaiwanChinese:
-                iSharedDataInterface->SetInputMode(EZhuyin);
-                break;
-            case ELangHongKongChinese:
-                iSharedDataInterface->SetInputMode(EStroke);
-                iSharedDataInterface->SetCangJieMode(ECangJieNormal);
-                break;
-            case ELangJapanese:
-                iSharedDataInterface->SetInputMode(EHiraganaKanji);
-                break;
-            case ELangKorean:
-                iSharedDataInterface->SetInputMode(EHangul);
-                break;
-            case ELangHindi:
-                iSharedDataInterface->SetInputMode(EHindi);
-                break;
-            default:
-                iSharedDataInterface->SetInputMode(ELatin);
-                break;
-            }
-        }
-
-    iUiInterface->SetFepMenuObserver(this);
-   
-    TInt inputLanguage = iSharedDataInterface->InputTextLanguage();
-
-    // A process instantiating Fep may miss ECapabilityWriteDeviceData capability, 
-    // which is needed for updating locale repository.
-    // A workaround is to delay change up to a process that has the capability
-    TSecurityInfo info;
-    info.Set(RProcess());
-
-    TBool hasCapability = info.iCaps.HasCapability(ECapabilityWriteDeviceData);
-    
-    if (!inputLanguage && hasCapability)
-        {
-        // set correct input language
-        inputLanguage = SubstituteSublanguageId(iUiLanguage);
-        
-        // If Ptiengine is not initialize, initialize it
-        if (!iPtiEngine)
-            {
-            iPtiEngine = CPtiEngine::NewL(ETrue);    
-            }         
-        // If still not found, default to english.
-        if (!iPtiEngine->GetLanguage(inputLanguage))
-            {
-            inputLanguage = ELangEnglish;   
-            }
-        
-        // Set the current input language
-        iSharedDataInterface->SetInputTextLanguage(inputLanguage);
-        
-        // update numeric input
-        if ( iUiLanguage == ELangArabic ) 
-            {
-            SetDefaultNumberMode( ENbrModeArabic, 
-                                  ENbrModeTypeArabic );
-            }            
-        else if ( ( iUiLanguage == ELangUrdu  ) || 
-                  ( iUiLanguage == ELangFarsi  ) )
-            {
-            SetDefaultNumberMode( ENbrModeArabic, 
-                                  ENbrModeTypeEasternArabic );
-            }
-		else if ( TAknFepUiIndicInputManager::IsScriptDevanagari( iUiLanguage ) )
-            {
-            SetDefaultNumberMode( ENbrModeLatin, 
-                                  ENbrModeTypeIndic );
-            }
-        else
-            {           
-            SetDefaultNumberMode( ENbrModeLatin, ENbrModeTypeArabic );
-            }
-        }
-        
-    iSctEditChars = HBufC::NewL( 10 );
-    
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    // Predictive QWERTY (XT9) changes ---->
-    	if(CCoeEnv::Static()->AppUi())
-				iExactWordPopupContent = iUiInterface->CreateWordPopupContentL();
-    // Predictive QWERTY (XT9) changes <----
-#endif //RD_INTELLIGENT_TEXT_INPUT
-    // If the following line is uncommented, the FEP is fully constructed
-    // for all applications at application startup.
-    // ConstructFullyL();
-    iShiftKeypressMonitor = CPeriodic::NewL(CActive::EPriorityStandard);
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    iFnKeyManager = CAknFepFnKeyManager::NewL( *this,iSharedDataInterface );
-#endif
-    TRAPD(result,iKeyCatcher = CAknFepKeyCatcher::NewL(*this));
-    if(result == KErrNone)
-        {
-        iKeyCatcher->ActivateL();
-        }
-    // the follow 3 objects for phrase creation
-    iZhuyinKeyHandler = CZhuyinKeyHandler::NewL();
-    iZhuyinAnalyserDb = CZhuyinAnalyserDbFeed::NewL(EPinyinAnalyserTypeZhuyin);
-    iZhuyinAnalyser = CAknFepZhuyinAnalyser::NewL(iZhuyinAnalyserDb);
-    iAknFepThaiSCTSelector = CAknFepThaiSCTSelector::NewL();
-    iHybridAplphaChangedToAlphanumeric = EFalse;
-    iLastFocusedEditor = NULL;
-    iFepAwareDialogParentEditor = NULL;
-    }
-
-void CAknFepManager::ConstructFullyL()
-    {
-    if (!iPtiEngine)
-        {
-        iPtiEngine = CPtiEngine::NewL(ETrue);    
-        } 
-    
-    if ( !(iPtiEngine->GetLanguage(iSharedDataInterface->InputTextLanguage())) )
-        {
-        // If input language cenrep value is set to language unknown to PtiEngine,
-        // try to reset based on UI-language. 
-        TInt inputLang = SubstituteSublanguageId(iUiLanguage);
-        
-        // If still not found, default to english.
-        if (!iPtiEngine->GetLanguage(inputLang))
-            {
-            inputLang = ELangEnglish;   
-            }
-        iSharedDataInterface->SetInputTextLanguage(inputLang);      
-        }      
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-#ifdef FF_DUAL_LANGUAGE_SUPPORT
-    if (iPtiEngine->GetLanguage(iSharedDataInterface->InputTextLanguageSecondary()) == NULL)
-        {
-        // If secondary input language is unknown to PtiEngine, set it to none
-        iSharedDataInterface->SetInputTextLanguageSecondary(0);
-        }
-#endif //FF_DUAL_LANGUAGE_SUPPORT
-#endif
-        
-    if(NULL == iKeyCatcher)
-        {
-        iKeyCatcher = CAknFepKeyCatcher::NewL(*this);    
-        iKeyCatcher->ActivateL();
-        }
-    
-    iConcatenationTimer=CPeriodic::NewL(CActive::EPriorityStandard);
-    iPostEventCheck=CIdle::NewL(CActive::EPriorityStandard);
-    iChrKeypressMonitor = CPeriodic::NewL(CActive::EPriorityStandard);
-
-    CCoeEnv* coeEnv = CCoeEnv::Static();
-    TInt inputLanguage = iSharedDataInterface->InputTextLanguage();
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-#ifdef FF_DUAL_LANGUAGE_SUPPORT
-    TInt inputLanguageSecondary = iSharedDataInterface->InputTextLanguageSecondary();
-#endif //FF_DUAL_LANGUAGE_SUPPORT
-#endif
-    SetWesternPredictive(iSharedDataInterface->PredictiveTextOn());
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-    iIsAutoCompleteOn = iSharedDataInterface->PredictiveTextAutoCompleteOn(); // AutoCompletion disabled by Default 
-#endif	//RD_INTELLIGENT_TEXT_INPUT
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    iIsAutoCompleteOn = iSharedDataInterface->PredictiveTextAutoCompleteOn(); // AutoCompletion disabled by Default 
-    iTypingCorrectionLevel = iSharedDataInterface->PredictiveTextTypingCorrectionLevel();
-    iIsNumberCandidateShown = iSharedDataInterface->PredictiveTextNumberCandidateShown();
-    TInt primaryCandidateValue = iSharedDataInterface->PredictiveTextPrimaryCandidate();
-    if( primaryCandidateValue == 0)
-		iPrimaryCandidate = ETrue;
-	else if(primaryCandidateValue == 1)
-		iPrimaryCandidate = EFalse; 
-#endif // RD_INTELLIGENT_TEXT_INPUT
-    iJapanesePredictive = iSharedDataInterface->PredictiveTextJapaneseOn();
-    iQwertyInputMode = iSharedDataInterface->QwertyInputMode();
-    iMultiTapTimer = iSharedDataInterface->MultiTapTimer();
-    iJapaneseQwertyFlags = iSharedDataInterface->JapaneseQwertyFlags();
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    if(!iFnKeyManager)
-        {
-        iFnKeyManager = CAknFepFnKeyManager::NewL( *this,iSharedDataInterface );
-        }    
-#endif
-    iCaseMan = CAknFepCaseManager::NewL(*this);
-    iLangMan = CAknFepLanguageManager::NewL(this, iCaseMan);
-    iPtiEngine->ActivateLanguageL(inputLanguage);
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-#ifdef FF_DUAL_LANGUAGE_SUPPORT
-    iPtiEngine->SetSecondaryInputL(inputLanguageSecondary);
-#endif //FF_DUAL_LANGUAGE_SUPPORT
-#endif
-    iLangMan->SetInputLanguageL(inputLanguage);
-    SetInputLanguageCapabilities(inputLanguage);
-    iCurrentFepUI = iLangMan->GetFepUI(ELatin, iCharWidth, IsPredictive(ELatin));
-
-    iLastKeyPressedWasHashKey = EFalse;
-    iDeviceSupportsRtlLanguage = DeviceSupportsRTLLanguageL();
-
-    TResourceReader reader;
-    // get character from resource to represent an 'enter' character
-    coeEnv->CreateResourceReaderLC(reader, R_AVKON_SCT_SPACE_SYMBOL);
-    iSpaceCharacterCode = reader.ReadUint16();
-    coeEnv->CreateResourceReaderLC(reader, R_AVKON_SCT_FULLWIDTHSPACE_SYMBOL);
-    iFullWidthSpaceCharacterCode = reader.ReadUint16();
-    CleanupStack::PopAndDestroy(2); //reader
-
-    //initialise states
-    iMode = EAknEditorNullInputMode; //Force a sync of mode...
-    SyncStates(EAknFepStateNull);
-    ResetFlags();
-    ResetExtendedFlags();
-
-    ReadHashKeyLoopL();
-    iHashKeyMan = CAknFepHashKeyManager::NewL(*this, iCaseMan);
-    SetHashKeyStyle();
-    iInlineTextDecorator = new (ELeave) CAknFepInlineTextDecorator;
-    if (IsFeatureSupportedJapanese())
-        {
-        CAknJapaneseReading::CreateL(iPtiEngine);
-        }
-    // setting call back
-    TCallBack callback(DoSimulateKey, this);
-    iAsyncOwnSimulateKey.Set(callback);
-    
-    TCallBack resourcechangedcallback(HandleResourceChangedCallback,this);
-    iAsyncResouceChanged.Set(resourcechangedcallback);
-#ifdef RD_SCALABLE_UI_V2
-    iFepPluginManager = CAknFepPluginManager::NewL
-        ( *this, *iSharedDataInterface, *iLangMan, *iCaseMan);
-    iNotifyPlugin = ETrue;
-#endif //RD_SCALABLE_UI_V2
-
-    iFepFullyConstructed = ETrue;
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    iIsFnKeyMapped = IsFnKeyMappedL();
-    iKeyboardType = (TPtiKeyboardType)iSharedDataInterface->KeyboardLayout();
-#endif
-    }
-
-CAknFepManager::~CAknFepManager()
-    {
-#ifdef RD_PF_SEC_APPARC
-    delete iNullService;
-#else
-    //Embedding - removing created document
-    if ( iEmbedded )
-        {
-        CEikonEnv::Static()->Process()->DestroyDocument(iEmbedded); // User dictionary
-        iEmbedded = NULL;
-        }
-#endif
-    if (IsFlagSet(EFlagInsideInlineEditingTransaction))
-        {
-        SetFlag(CAknFepManager::EFlagSupressAutoUpdate);
-        TRAPD(err, CommitInlineEditL())
-        if (err)
-            {
-            CleanUpFep();
-            }
-        }
-        
-    if ( EditorState() )
-        {
-        EditorState()->SetObserver(NULL);    
-        }        
-    if (iLastFocusedEditor)
-        {
-        iLastFocusedEditor->SetObserver(NULL);
-        iLastFocusedEditor = NULL;
-        } 
-    if (iFepAwareDialogParentEditor)
-        {
-        iFepAwareDialogParentEditor->SetObserver(NULL);
-        iFepAwareDialogParentEditor = NULL;
-        } 
-    
-    delete iSharedDataInterface;
-    MAknEditingStateIndicator* indicator = CAknEnv::Static()->EditingStateIndicator();
-    if (indicator == iIndicator)
-        {
-        CAknEnv::Static()->SwapEditingStateIndicator(NULL);
-        }
-
-        
-    delete iIndicator;
-    iIndicator = NULL;
-    CCoeEnv::Static()->DeleteResourceFile(iResId);
-
-    // Everything that is constructed in ConstructFullyL() method
-    // needs to be deleted in CommonDestroyFep() method.
-    CommonDestroyFep();
-
-	if (iUiInterface)
-	    iUiInterface->SetFepMenuObserver(NULL);
-
-    delete iPtiEngine;
-    delete iSctEditChars;
-
-#ifdef RD_SCALABLE_UI_V2
-    if ( FepAwareTextEditor() )
-        {
-    		UnregisterObserver();
-        }
-    delete iFepPluginManager;
-    delete iStylusCcpuMenu;        
-
-    delete iSpellInitText;        
-#endif // RD_SCALABLE_UI_V2
-    delete iUiInterface;
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    // Predictive QWERTY (XT9) changes ---->
-    delete iExactWordPopupContent;
-    iExactWordPopupContent = 0;
-    delete iCandidatePopup;
-    iCandidatePopup = 0;
-    delete iResourceString;
-    iResourceString = 0;
-    // Predictive QWERTY (XT9) changes <----
-#endif //RD_INTELLIGENT_TEXT_INPUT
-    // the follow objects for phrase creation
-      delete iZhuyinKeyHandler;
-      delete iZhuyinAnalyser;
-    delete iAknFepThaiSCTSelector;
-    }
-
-void CAknFepManager::CommonDestroyFep()
-    {
-    iFepFullyConstructed = EFalse;
-
-    // This method is called both from destructor and CleanUpFep methods.
-    iAsyncOwnSimulateKey.Cancel();
-    iAsyncResouceChanged.Cancel();
-    delete iShiftKeypressMonitor;
-    iShiftKeypressMonitor = NULL;
-    delete iConcatenationTimer;
-    iConcatenationTimer = NULL;
-    delete iChrKeypressMonitor;
-    iChrKeypressMonitor = NULL;
-    delete iLangMan;
-    iLangMan = NULL;
-    iCurrentFepUI = NULL;
-    delete iKeyCatcher;
-    iKeyCatcher = NULL;
-
-    delete iPostEventCheck;
-    iPostEventCheck = NULL;
-    delete iHashKeyMan;
-    iHashKeyMan = NULL;
-    delete iCaseMan;
-    iCaseMan = NULL;
-    delete iInlineTextDecorator;
-    iInlineTextDecorator = NULL;
-    iHashKeyLoop.Close();
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    if(iFnKeyManager)
-        {
-        delete iFnKeyManager;
-        iFnKeyManager = NULL;
-        }
-    if( iNumericResourceTimer )        
-        {
-        delete iNumericResourceTimer;
-        iNumericResourceTimer = NULL;    
-        }
-#endif
-    }
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-void CAknFepManager::SetKeyboardLayout(TPtiKeyboardType aType)
-    {
-    	
-    if(iQwertyInputMode && iFnKeyManager 
-    		&& (iFnKeyManager->FnKeyState()== CAknFepFnKeyManager::EFnKeyLock
-		||iFnKeyManager->FnKeyState()== CAknFepFnKeyManager::EFnKeyNext)) 
-		{
-        	iMode = ENumber;
-		}
-	
-	if(iFnKeyManager)        
-		{
-		iFnKeyManager->ClearFnKeyState();
-		}
-    	
-    if(iPtiEngine)
-        {
-        iPtiEngine->SetKeyboardType(aType);
-        }    
-    iKeyboardType = aType;        
-    }
-
-TPtiKeyboardType CAknFepManager::KeyboardLayout() const
-    {
-    return iKeyboardType;
-    }
-#endif
-TBool CAknFepManager::TryCloseUiL()
-    {
-#ifdef RD_HINDI_PHONETIC_INPUT        
-    if ((iSharedDataInterface->InputTextLanguage() == KLangHindiPhonetic) && 
-         IsFlagSet(CAknFepManager::EFlagNoMatches))
-        {
-        ClearFlag(CAknFepManager::EFlagNoMatches);
-    	if (PreviousChar() == KQuestionMark)
-    		RemovePreviousCharacterL();
-    	}
-#endif    
-    if (iFepManState == EAknFepStateUIActive)
-        {
-        // In Japanese input,
-        // commit inline editing at only the western predictive mode.
-        if (!IsFeatureSupportedJapanese() || WesternPredictive())
-            {
-            if (IsFlagSet(EFlagInsideInlineEditingTransaction))
-                {
-                TryRemoveNoMatchesIndicatorL();
-                UpdateCbaL(NULL);
-                }
-                
-             	
-
-//#ifdef __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-            if ( iFepPluginManager && 
-             	(iFepPluginManager->PluginInputMode() == EPluginInputModeNone))
-            	{
-            	RemoveSuggestedAdvanceCompletionL();
-            	}            
-#endif // RD_INTELLIGENT_TEXT_INPUT              
-//#endif // __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-                
-#ifdef RD_SCALABLE_UI_V2 
-            
-            if ( iFepPluginManager != NULL && 
-                 iFepPluginManager->BeforeSpell() )
-                {
-                iFepPluginManager->SetBeforeSpell(EFalse);
-                }
-            else
-#endif  
-          
-                {
-                CommitInlineEditL();    
-                }
-            }
-        if (IsCcpuFlagSet(ECcpuStataCommitPredictiveWord))            
-            {
-            // Word commiting must be done after CommitInlineEditL call (because
-            // of Japanese ReadingTextL funtionality), hence the delayed commit here.
-            iPtiEngine->CommitCurrentWord();
-            ClearCcpuFlag(ECcpuStataCommitPredictiveWord);
-            }            
-        InternalFepUI()->CloseUI();
-        SyncStates(EAknFepStateInitial);
-        if (iMode == EPinyin || iMode == EZhuyin || iMode == EStroke || iMode == ECangJie)
-            {
-            SetCursorType(EActive);
-            if ( EditorState() )
-            	{
-            	EditorState()->SetFlags( EditorState()->Flags() & ~EAknEditorFlagChinesePopup );
-            	}            
-            }
-
-        // EFalse in case of latin input in Japanese variant
-        if (IsFeatureSupportedJapanese() 
-         && iMode == ELatin && !WesternPredictive())
-            {
-            return EFalse;
-            }
-
-        return ETrue;
-        }
-    else
-        {
-    	if (IsKoreanInputLanguage())
-        	{
-        	if (IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction))
-        		{
-        	   	CommitInlineEditL();
-        		PtiEngine()->ClearCurrentWord();
-        		}
-        	}
-    	
-        //in initial state characters should either:
-        //1. not be consumed by the FEP.
-        //2. be committed immediately by the Input State.
-        //3. be multitap chars, in which case they may need to be committed
-        // here. It is best to let the engine deal with this.
-        if ( IsFlagSet( EFlagInsideInlineEditingTransaction ) )
-            {
-            InternalFepUI()->ExpireMultitapTimer();
-            }
-        return EFalse;
-        }
-    }
-
-void CAknFepManager::SendUIActivatedNotification()
-    {
-    SyncStates(EAknFepStateUIActive);
-    }
-
-void CAknFepManager::SendUIDeActivatedNotification()
-    {
-    SyncStates(EAknFepStateInitial);
-    }
-
-void CAknFepManager::PlaySound(TAvkonSystemSID aSound) const
-    {
-    if (SoundSystem())
-        {
-        SoundSystem()->PlaySound(aSound);
-        }
-    }
-    
-void CAknFepManager::SetLongClearAfterCloseUI(TBool aLongClear)
-    {
-    iLongClearAfterCloseUI = aLongClear;
-    }
-
-TKeyResponse CAknFepManager::HandleKeyEventL(TUint aCode, TKeyPressLength aLength,TEventCode aEventCode)
-    {
-    TKeyResponse response = EKeyWasNotConsumed;
-
-    TInt documentLength = -1;
-    if (iInputCapabilities.FepAwareTextEditor())
-        {
-        documentLength = iInputCapabilities.FepAwareTextEditor()->DocumentLengthForFep();
-        }
-
-    if (iFepFullyConstructed && iConcatenationTimer->IsActive())
-        {
-        if (!( aCode == EKeyRightArrow ||
-             aCode == EKeyLeftArrow ||
-             aCode == EKeyUpArrow ||
-             aCode == EKeyDownArrow ))
-            {
-            iConcatenationTimer->Cancel();
-            }
-        }
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT    
-    
-    if(iKeyBackSpaceHit && aCode != EKeyBackspace)
-    	iKeyBackSpaceHit = 0;
-    
-    if (aCode != EPtiKeyStar && iNumericResourceTimer)
-        {
-        // return with EKeyWasConsumed if any of the arrow keys are pressed with 
-        // iNumericResourceTimer is active
-        if(NumericResourceMultiTapTimerTimeoutL()&&
-           (aCode == EKeyRightArrow || aCode == EKeyLeftArrow || aCode == EKeyUpArrow || aCode ==EKeyDownArrow))
-            return EKeyWasConsumed;
-        }
-#endif
-
-
-
-    // This method is implemented independent of all modes, so it can be called by anyone, anywhere
-    if ( BidiCursorRequired() )
-        {
-        response = AttemptCursorFlipAtAmbiguousPointL( aCode );
-        if ( response == EKeyWasConsumed )
-            {
-            return response;
-            }
-        }
-
-    if ( aCode != EPtiKeyHash 
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-#ifdef __HALF_QWERTY_KEYPAD
-#ifdef __SHIFT_KEY_LOOP		
-    		&& ( aCode != EPtiKeyQwertyLeftShift 
-    		|| EPtiKeyboardHalfQwerty != KeyboardLayout() )
-#endif //__SHIFT_KEY_LOOP
-#endif //__HALF_QWERTY_KEYPAD
-#endif //RD_INTELLIGENT_TEXT_INPUT   		
-    		)
-    
-        {
-        
-        SetLastPressedHashKeyStatus(EFalse);
-        
-        if(iHashKeyMan)
-            {
-            iHashKeyMan->CancelHashKeyTimer();
-            if (aCode != EKeyOK)
-                {
-                iHashKeyMan->ClearSelectionModeHashKeyLoop();
-                }
-            }
-        }
-    // Always commit the text before handling arrow keys
-    if (iMode == EHangul && IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction))
-    	{
-    	if ( aCode == EKeyRightArrow ||
-             aCode == EKeyLeftArrow ||
-             aCode == EKeyUpArrow ||
-             aCode == EKeyDownArrow )
-    		{
-    		CommitInlineEditL();
-       		iPtiEngine->ClearCurrentWord();
-    		}
-        }
-    TBool isPassNext = IsFlagSet(EFlagPassNextKey);
-   
-    switch (aCode)
-        {
-        case EKeyEscape:
-
-#ifdef RD_SCALABLE_UI_V2     
-        if( iFepFullyConstructed && iFepPluginManager)
-            {
-            iFepPluginManager->ResetMenuState(EFalse);            
-            }
-#endif         
-            if (TryCloseUiL())
-                {
-                response = EKeyWasConsumed;
-                // phrase creation
-                PhraseCreation(EFalse);
-                // phrase creation
-                PinyinPhraseCreation(EFalse);
-                }
-            break;
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-#ifdef __HALF_QWERTY_KEYPAD
-#ifdef __SHIFT_KEY_LOOP
-        case EPtiKeyQwertyLeftShift:
-        if( EPtiKeyboardHalfQwerty == KeyboardLayout() )
-        	{
-			response = HandleHashKeyL(aLength);
-            (aLength == ELongKeyPress)? SetLastPressedHashKeyStatus(EFalse):SetLastPressedHashKeyStatus(ETrue);
-			}
-            break;			
-#endif //__SHIFT_KEY_LOOP       	
-#endif //__HALF_QWERTY_KEYPAD	
-#endif //RD_INTELLIGENT_TEXT_INPUT
-        case EPtiKeyHash:
-            if(InputMode() == EHangul)
-            	{
-				if (aLength == EShortKeyPress)
-					{
-					FepUI()->HandleKeyL(aCode, aLength);
-					response = EKeyWasConsumed;
-					}
-				else
-					{
-               	 	//PhraseCreation(EFalse);
-            		response = HandleHashKeyL(aLength);
-            		(aLength == ELongKeyPress)? SetLastPressedHashKeyStatus(EFalse):
-                                        		SetLastPressedHashKeyStatus(ETrue);
-					}
-				}
-     	     else if (InputMode()!= EZhuyin)
-                {
-                if (IsPinyinPhraseCreation() )
-                    {
-                    ClearCcpuFlag( ECcpuStateHashDown );
-                    response = EKeyWasConsumed;
-                    }
-                else
-                    {
-                    response = HandleHashKeyL(aLength);
-                    (aLength == ELongKeyPress)
-                        ? SetLastPressedHashKeyStatus(EFalse)
-                            : SetLastPressedHashKeyStatus(ETrue);
-                    }
-                }
-            else
-                {
-                PhraseCreation(EFalse);
-                response = HandleHashKeyL(aLength);
-                (aLength == ELongKeyPress)
-                    ? SetLastPressedHashKeyStatus(EFalse)
-                        : SetLastPressedHashKeyStatus(ETrue);
-                }
-            break;
-        case EKeyCBA1:
-            if(Japanese())
-                {
-                if (FepUI()->HandleKeyL(aCode, aLength))
-                    {
-                    response = EKeyWasConsumed;
-                    }
-                break;
-                }
-            // phrase creation the key CBA2 need to solve.
-            if ( IsEntryPhrase() )
-                {
-                if ( FepUI()->HandleKeyL( aCode, aLength ) )
-                    {
-                    response = EKeyWasConsumed;
-                    break;
-                    }
-                }
-
-            if (!WesternPredictive())
-                {
-                if (TryCloseUiL())
-                    {
-                    response = EKeyWasConsumed;
-                    }
-                }            
-            break;
-        case EKeyCBA2:
-            if(Japanese())
-                {
-                if (FepUI()->HandleKeyL(aCode, aLength))
-                    {
-                    response = EKeyWasConsumed;
-                    }
-                break;
-                }
-            if (!WesternPredictive())
-                {
-                if (TryCloseUiL())
-                    {
-                    // phrase creation the key CBA2 need to solve.
-                    PhraseCreation( EFalse );
-                    response = EKeyWasConsumed;
-                    }
-                }
-     		 else
-                {
-                if ( IsFlagSet( EFlagInsideInlineEditingTransaction ) )
-                    {
-                    InternalFepUI()->ExpireMultitapTimer();
-                    }
-                }
-            // phrase creation the key CBA2 need to solve.
-            EntryPhrase( EFalse );
-            break;
-        case EPtiKeyStar:
-            if (IsFlagSet(EFlagPassNextKey))
-                {
-                ClearFlag(EFlagPassNextKey);
-                }
-            else if ( !IsFepAwareTextEditor() )
-                {
-                // The editor is MFNE or other non FEP aware text editor.
-                // Pass the key to the editor to handle.
-                response = EKeyWasNotConsumed;
-                }
-            else if (IsFlagSet(EFlagShiftKeyDepressed))
-                {
-                response = EKeyWasConsumed;
-                }
-            else 
-                {
-#ifdef RD_SCALABLE_UI_V2                
-                iStarKeyPressed = ETrue;
-#endif // RD_SCALABLE_UI_V2                    
-                if (FepUI()->HandleKeyL(aCode, aLength, aEventCode))
-                    {
-                    response = EKeyWasConsumed;
-                    }
-#ifdef RD_SCALABLE_UI_V2                
-                iStarKeyPressed = EFalse;
-#endif // RD_SCALABLE_UI_V2                     
-                }
-            break;
-        case EKeyRightArrow:
-            if (TryHandleArrowRightEventL(documentLength))
-                {
-                response = EKeyWasConsumed;
-                break;
-                }
-            // fall through
-        case EKeyLeftArrow:
-            if (aCode == EKeyLeftArrow && TryHandleArrowLeftEventL(documentLength))
-                {
-                response = EKeyWasConsumed;
-                break;
-                }
-                
-            if (IsCcpuFlagSet(ECcpuStateCopy | ECcpuStateCut))    
-                {
-                response = EKeyWasNotConsumed;
-                break;
-                }            
-            else if (IsCcpuFlagSet(ECcpuStateStartCopy | ECcpuStateStartCut))    
-                {
-                TryHandleCommonArrowAndBackspaceFunctionalityL(aCode, response);                
-                break;
-                }               
-
-            if (iLanguageCapabilities.iInputLanguageCode == ELangJapanese && iMode != ELatin)
-                {
-                if(FepUI()->HandleKeyL(aCode, aLength))
-                    {
-                    response = EKeyWasConsumed;
-                    }
-                }
-            else
-                {
-                if (WesternPredictive())
-                    {
-                    response = HandleWesternPredictiveArrowKeyL(aCode, aLength);
-                    }
-                else
-                    {
-                    if (iFepManState == EAknFepStateUIActive)
-                        {
-                        FepUI()->HandleKeyL(aCode, aLength);
-                        response = EKeyWasConsumed;
-                        }
-                    else
-                        {
-                        /*
-						TCursorSelection currentEditorSelection(0,0);
-						if(iInputCapabilities.FepAwareTextEditor())
-							{
-							iInputCapabilities.FepAwareTextEditor()->
-								GetCursorSelectionForFep(currentEditorSelection);
-							}
-                        
-						if(!IsMfneEditor() &&
-								(PluginInputMode() == EPluginInputModeItut ||
-								 PluginInputMode() == EPluginInputModeFSQ)  &&
-								 currentEditorSelection.Length() != 0)
-							{
-							response = EKeyWasConsumed;
-							break;
-							}
-						*/
-
-                        response = HandleNaviEventOutsideInlineEditL(aCode, aLength);
-                        if (response == EKeyWasConsumed)
-                            {
-                            iCaseMan->UpdateCase(ENullNaviEvent);
-                            }
-                        else if (aCode == EKeyLeftArrow && !IsFlagSet(EFlagShiftKeyDepressed))
-                            {
-                            iCaseMan->UpdateCase(ELeftNaviEvent);
-                            }
-                        else if (!IsFlagSet(EFlagShiftKeyDepressed))
-                            {
-                            iCaseMan->UpdateCase(ERightNaviEvent);
-                            }
-                        }
-                    }
-                }
-            break;
-        case EKeyDownArrow:
-       	    if( iWesternPredictive && IsFlagSet(EFlagInsideInlineEditingTransaction) && 
-       	    	( EPtiKeyboard12Key == KeyboardLayout() ) && ( IsFlagSet(EFlagShiftKeyDepressed) ||
-       	    	  HashKeySelectionInUse()&& IsCcpuFlagSet(ECcpuStateHashDown) ) )
-            	{
- 				iPtiEngine->CommitCurrentWord();
-            	CommitInlineEditL();
-            	response = EKeyWasConsumed;
-            	break;
-            	}
-
-          if (TryHandleArrowDownEventL(documentLength) || IsFlagSet(EFlagNoMatches))
-                {
-                response = EKeyWasConsumed;
-                break;
-                }
-                
-        case EKeyUpArrow:
-            if (iLanguageCapabilities.iInputLanguageCode == ELangJapanese && iMode != ELatin)
-                {
-                if ( (iAknEditorFlags & EAknEditorFlagNoLRNavigation) &&
-                    IsFlagSet(EFlagShiftKeyDepressed) )
-                    {
-                    // Up or down key is pressed during shift key press.
-                    ClearFlag(EFlagNoActionDuringShiftKeyPress);
-                    return EKeyWasNotConsumed;
-                    }
-
-                if(FepUI()->HandleKeyL(aCode, aLength))
-                    {
-                    response = EKeyWasConsumed;
-                    }
-                else
-                    {
-                    TryHandleCommonArrowAndBackspaceFunctionalityL(aCode, response);
-                    }
-                }
-            else
-                {
-                if (iLanguageCapabilities.iInputLanguageCode == ELangThai &&
-                    iFepManState == EAknFepStateUIActive &&
-                    WesternPredictive() )
-                    {
-                    if (FepUI()->HandleKeyL(aCode, aLength))
-                        {
-                        ClearFlag(EFlagChangeInputMode);
-                        response = EKeyWasConsumed;
-                        }
-                    break;
-                    }
-                else if ( (iAknEditorFlags & EAknEditorFlagNoLRNavigation) &&
-                    IsFlagSet(EFlagShiftKeyDepressed) )
-                    {
-                    // Up or down key is pressed during shift key press.
-                    ClearFlag(EFlagNoActionDuringShiftKeyPress);
-                    return EKeyWasNotConsumed;
-                    }
-                if (WesternPredictive())
-                    {
-                    // For customizabal of Down/Up scroll keypress action.
-                    // If it need to custom it, the function of HandleKeyL returns EFalse.
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-                    // Predictive QWERTY (XT9) changes ---->
-                    if ( IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction) )
-                        {
-                        TInt wordIndexToSelect = 0;
-                        
-                        if(iQwertyInputMode && EPtiKeyboardHalfQwerty != KeyboardLayout())
-                        	{
-                        	if(!iPrimaryCandidate)
-                            iPtiEngine->HandleCommandL( EPtiCommandUserActionGetIndexOfSecondaryCandidate, 
-        							&wordIndexToSelect );
-                            
-                        	if( iQwertyInputMode 
-                        	    && ( iExactWordPopupContent->IsPopUpVisible() 
-                        	    	|| ( iFepPluginManager && iFepPluginManager->IsTooltipOpenOnFSQ() ) )
-                        	    && aCode == EKeyUpArrow )
-	                        	{
-		                        iExactWordPopupContent->HidePopUp();
-                            
-                                // When press up, if FSQ is opened, 
-                                // also need to check and close tooltip on it.
-		                        SendEventsToPluginManL( EPluginHideTooltip );
-		                                                                                    
-	                        	iPtiEngine->HandleCommandL( 
-                                           EPtiCommandUserActionSetCurrentIndexOfCandidates, 
-	                        								 &wordIndexToSelect );
-	                        	iPtiEngine->HandleCommandL( EPtiCommandLockCurrentCandidate );
-	                        	/* Update the Candidate List in case of Exact Typing as best predicted word is 
-	                             selected from the tooltip to the editor */
-	                        	if(!iPrimaryCandidate)
-	                        	    iPtiEngine->HandleCommandL(EPtiCommandSetFlagToUpdateCandidates);
-	                        	    
-	                        	TPtrC selectedWord = iPtiEngine->CurrentWord();
-	                        	UpdateInlineEditL( selectedWord, selectedWord.Length() ); 
-	                        	response = EKeyWasConsumed;
-		                     
-	                        	}
-	                        else
-	                        	{
-		                        LaunchCandidatePopupListL( wordIndexToSelect );
-		                        response = EKeyWasConsumed;
-	                        	}
-                        	}
-                        else
-                        	{
-                        	if (!IsFlagSet(EFlagInsideMultitapInlineEditingTransaction))
-                        	    {
-                        	    TInt lastCandidateIndex = iPtiEngine->NumberOfCandidates() -1;
-                           	    if( EPtiKeyboard12Key == KeyboardLayout() && ( IsFlagSet(EFlagShiftKeyDepressed) ||
-                           	    		  HashKeySelectionInUse()&& IsCcpuFlagSet(ECcpuStateHashDown) ) )
-    	                        	{
-    	                            if (response != EKeyWasConsumed)
-    	                                {
-    	                                response = HandleWesternPredictiveArrowKeyL(aCode, aLength);
-    	                                }
-    	                        	}
-                           	    else if(aCode == EKeyUpArrow && lastCandidateIndex >= 0)
-                        	        {
-                        	        // Get last word on list
-                        	        LaunchCandidatePopupListL( lastCandidateIndex );
-                        	        response = EKeyWasConsumed;
-                        	        }
-                        	    else
-                        	        {
-                        	        // Get next word on list (wrap around if at end)
-                        	        iPtiEngine->HandleCommandL( EPtiCommandUserActionGetCurrentIndexOfCandidates, 
-            							&wordIndexToSelect );
-                        	        wordIndexToSelect < lastCandidateIndex ? wordIndexToSelect++ : wordIndexToSelect = 0;
-                        	        LaunchCandidatePopupListL( wordIndexToSelect );
-                        	        response = EKeyWasConsumed;
-                        	        }                        	                        	    
-                        	    }
-                        	else
-                        	    response = EKeyWasConsumed;
-                        	}
-                        }
-                    else
-                        {                       
-	                    // Predictive QWERTY (XT9) changes <----
-#endif //RD_INTELLIGENT_TEXT_INPUT
-                    if(iFepManState == EAknFepStateUIActive &&
-                        FepUI()->HandleKeyL(aCode, aLength))
-                        {
-                        response = EKeyWasConsumed;
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-
-                        // When press up, if FSQ is opened, 
-                        // also need to check and close tooltip on it.
-                        SendEventsToPluginManL( EPluginHideTooltip );
-
-	                    // Predictive QWERTY (XT9) changes ---->
-	                    // Exact word popup is hidden when the exact word is selected
-	                    iExactWordPopupContent->HidePopUp();
-	                    // Predictive QWERTY (XT9) changes <----
-#endif //RD_INTELLIGENT_TEXT_INPUT
-                        }
-                    // normal operation of  Down/Up scroll keypress action.
-                    if (response != EKeyWasConsumed)
-                        {
-                        response = HandleWesternPredictiveArrowKeyL(aCode, aLength);
-                        }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-                        } // Predictive QWERTY (XT9) changes
-#endif //RD_INTELLIGENT_TEXT_INPUT
-                    }
-                else
-                    {
-                    if (iFepManState == EAknFepStateUIActive)
-                        {
-                        FepUI()->HandleKeyL(aCode, aLength);
-                        response = EKeyWasConsumed;
-                        }
-                    else
-                        {
-                        TryHandleCommonArrowAndBackspaceFunctionalityL(aCode, response);
-                        }
-                    }
-                }
-            break;
-        case EKeyBackspace:
-            if (iLanguageCapabilities.iInputLanguageCode == ELangJapanese &&
-                !(iMode == ELatin || iMode == ENumber))
-                {
-                if (FepUI()->HandleKeyL(aCode, aLength))
-                    {
-                    response = EKeyWasConsumed;
-                    }
-                }
-            else if (iLanguageCapabilities.iInputLanguageCode == ELangVietnamese)
-                {
-                TCursorSelection cursorSelection;
-                if ( !IsFepAwareTextEditor() )                                           
-                    {
-                    response = EKeyWasNotConsumed;
-                    }
-                else
-                    {
-                    iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(cursorSelection); 
-                    if (cursorSelection.Length() != 0)      
-                        {
-                        response = EKeyWasNotConsumed;
-                        }
-#ifdef RD_SCALABLE_UI_V2
-                    else if ( !documentLength 
-                        && ( iFepPluginManager->PluginInputMode() == EPluginInputModeItut
-                        || iFepPluginManager->PluginInputMode() == EPluginInputModeVkb ) )
-                        {
-                        response = EKeyWasConsumed;
-                        }
-#endif   
-										else 
-                        {
-                        if (FepUI()->HandleKeyL(aCode, aLength))
-                            {
-                            response = EKeyWasConsumed;
-                            }
-                        else
-                            {
-                            if( WesternPredictive() )
-                                {
-                                // We need to start the autoconcatination timer
-                                SimulateKeyEventL(EKeyF24);
-                                }
-                            }
-                        }
-                    }
-                
-                }
-            else if (IsKoreanInputLanguage() && iMode == EHangul)
-                {
-                if (FepUI()->HandleKeyL(aCode, aLength))
-                    {
-                    response = EKeyWasConsumed;
-                    }
-                }
-            else
-                {
-                if (iFepManState == EAknFepStateInitial)
-                    {
-#ifdef RD_SCALABLE_UI_V2
-                     if ( iFepPluginManager->PluginInputMode() == EPluginInputModeItut )
-                        {
-                        if ( iFepPluginManager->CurrentFepInputUI() && 
-                            FepUI()->HandleKeyL(aCode, aLength))
-                            {
-                            response = EKeyWasConsumed;
-                            break;
-                            }
-                        }
-                     if ( !documentLength 
-                        && ( iFepPluginManager->PluginInputMode() == EPluginInputModeItut
-                        || iFepPluginManager->PluginInputMode() == EPluginInputModeVkb ) )
-                        {
-                        response = EKeyWasConsumed;
-                        break;
-
-                        }
-#endif                        
-                    if (IsFlagSet(EFlagLineFeedCharacter))
-                        {
-                        // restore cursor visibility
-                        if (IsFlagSet(EFlagInsideMultitapInlineEditingTransaction))
-                            {
-                            iInputCapabilities.FepAwareTextEditor()->SetInlineEditingCursorVisibilityL(ETrue);        
-                            }
-                        
-                        iInputCapabilities.FepAwareTextEditor()->CancelFepInlineEdit();
-                        ClearFlag(EFlagInsideMultitapInlineEditingTransaction | 
-                                  EFlagInsideInlineEditingTransaction | 
-                                  EFlagLineFeedCharacter);
-                        response =  EKeyWasConsumed;
-                        }
-                    else
-                        {
-                        response = HandleNaviEventOutsideInlineEditL(aCode, aLength);
-                        if (WesternPredictive() && response == EKeyWasNotConsumed)
-                            {
-                            // if we're passing a backspace to the editor simulate any old keypress
-                            // to catch and check the state of play after the deletion
-                            SimulateKeyEventL(EKeyF24);
-                            }
-                        if (response == EKeyWasNotConsumed)
-                            {
-                            if(iMode == EZhuyinFind)
-                                {
-                                SetFlag(EFlagSupressAutoUpdate);
-                                }
-                            if (iLongClearAfterCloseUI &&
-                                aLength == ELongKeyPress)
-                                {
-                                response = EKeyWasConsumed;
-                                }
-
-                            iCaseMan->UpdateCase(EBackspaceEvent);
-                            }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-                        if(IsAutoCompleteOn())
-                            {
-                            TInt tailLength = 0;
-                            iPtiEngine->HandleCommandL( EPtiCommandGetAutoCompletionTailLength, 
-                                                        &tailLength );
-                            if(tailLength > 0)
-                                {
-                                RemoveSuggestedAdvanceCompletionL();
-                                }
-                            }
-#endif
-                        }
-                    
-                    // Clear the star key flag.
-                    if( FepUI() )
-                        {
-                        FepUI()->SetStarKeyFlag( EFalse );
-                        }
-                    }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-                else if (IsAutoCompleteOn())
-                    {
-                    TInt tailLength = 0;
-                    iPtiEngine->HandleCommandL( EPtiCommandGetAutoCompletionTailLength, 
-                                                &tailLength );
-                    if(tailLength > 0)
-                        {
-                        TryRemoveNoMatchesIndicatorL();
-                        RemoveSuggestedAdvanceCompletionL();
-                        SimulateKeyEventL(EKeyF19);
-                        UpdateCbaL(NULL);
-                        response=EKeyWasConsumed;
-                        }
-                    else if(FepUI()->HandleKeyL(aCode, aLength))
-                        {
-                        if( EPtiKeyboardHalfQwerty == KeyboardLayout()
-                        		&& iWesternPredictive
-                        		&& iCaseMan->CurrentCase() != EAknEditorUpperCase )
-                            {
-                        	ClearFlag(CAknFepManager::EFlagChangeInputMode);
-                            }
-                        iPtiEngine->HandleCommandL( EPtiCommandGetAutoCompletionTailLength, &tailLength );
-                        if(tailLength > 0)
-                            {
-                            RemoveSuggestedAdvanceCompletionL();
-                            }
-                        response = EKeyWasConsumed;
-                        }
-                    }
-                else if(FepUI()->HandleKeyL(aCode, aLength))
-                    {
-                    response = EKeyWasConsumed;
-                    }
-                SendEventsToPluginManL( EPluginHideTooltip );
-                if(iExactWordPopupContent && iExactWordPopupContent->IsPopUpVisible())
-                    {
-                    iExactWordPopupContent->HidePopUp();
-                    }               
-#else
-                else if (FepUI()->HandleKeyL(aCode, aLength))
-                    {
-                    response = EKeyWasConsumed;
-                    }                
-#endif //RD_INTELLIGENT_TEXT_INPUT
-                }
-            break;
-        case EKeyDelete:
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-			if(IsAutoCompleteOn())
-				{
-				TInt tailLength = 0;
-				iPtiEngine->HandleCommandL( EPtiCommandGetAutoCompletionTailLength, 
-												&tailLength );
-				if(tailLength > 0)
-					{
-					RemoveSuggestedAdvanceCompletionL();
-				    }
-				}
-
-            // When press delete key, if FSQ is opened, 
-            // also need to check and close tooltip on it.
-			SendEventsToPluginManL( EPluginHideTooltip );
-
-			if(iExactWordPopupContent && iExactWordPopupContent->IsPopUpVisible())
-				{
-		        iExactWordPopupContent->HidePopUp();
-				}
-        	if ( IsFlagSet( EFlagInsideInlineEditingTransaction ) )
-            	{
-            	TryRemoveNoMatchesIndicatorL();
-            	UpdateCbaL(NULL);
-            	CommitInlineEditL();
-    	        } 
-#endif //RD_INTELLIGENT_TEXT_INPUT        
-        	break;            
-        case EKeyF19:  // Fep simulated event to asynchronously update the case.
-            iCaseMan->UpdateCase(ENullNaviEvent);
-            response=EKeyWasConsumed;
-            ClearExtendedFlag(EExtendedFlagOkKeyPressOnCandidatePopup );
-            break;
-        case EKeyF22:
-            if (WesternPredictive())
-                {
-                iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(iUncommittedText);
-                if (CursorInsideWord())
-                    {
-                    MoveCursorToEndOfWordL();
-                    }
-                if (iInputCapabilities.FepAwareTextEditor()->DocumentLengthForFep())
-                    {
-                    iCaseMan->UpdateCase(ENullNaviEvent);
-                    }
-                }
-            else if (iMode == ELatin)
-                {
-                iCaseMan->UpdateCase(ENullNaviEvent);
-                }
-            ClearCcpuFlag(ECcpuStateIgnoreStarUp);    
-            response=EKeyWasConsumed;
-            break;
-        case EKeyF23:
-            if (WesternPredictive())
-                {
-                iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(iUncommittedText);
-                if (CursorInsideWord())
-                    {
-                    MoveCursorToStartOfWordL();
-                    }
-                if (iInputCapabilities.FepAwareTextEditor()->DocumentLengthForFep())
-                    {
-                    iCaseMan->UpdateCase(ENullNaviEvent);
-                    }
-                }
-            else if (iMode == ELatin)
-                {
-                iCaseMan->UpdateCase(ENullNaviEvent);
-                }
-            ClearCcpuFlag(ECcpuStateIgnoreStarUp);    
-            response=EKeyWasConsumed;
-            break;
-        case EKeyF24:
-            if (WesternPredictive() && CursorInsideWord())
-                {
-                // word concatenation - start the timer; add concatenated word
-                // to UDB on timer expiry
-                iConcatenationTimer->Start(EWordConcatenationTimeout, EWordConcatenationTimeout,
-                    TCallBack(WordConcatenationTimerTimeoutCallback, this));
-                }
-            response=EKeyWasConsumed;
-            break;
-        case EPtiKey0: //fall through
-        case EPtiKey1:
-        case EPtiKey2:
-        case EPtiKey3:
-        case EPtiKey4:
-        case EPtiKey5:
-        case EPtiKey6:
-        case EPtiKey7:
-        case EPtiKey8:
-        case EPtiKey9:
-            #ifdef RD_SCALABLE_UI_V2     
-                if ( aLength == ELongKeyPress && !isPassNext && (aCode == EPtiKey0) )
-                    {
-                    if( !IsQwerty() && 
-                        !IsFlagSet(CAknFepManager::EFlagPassNextKey)&&
-                        iFepPluginManager->PluginInputMode() != EPluginInputModeItut )
-                        {
-                        iFepPluginManager->ClosePluginInputModeL( ETrue );
-                        }
-                    }
-            #endif
-             if (IsFlagSet(EFlagLineFeedCharacter) && aCode != EPtiKey0)
-                {
-                // There is line feed character waiting. Pospone this event and handle
-                // line feed first.
-                CancelInlineEdit();
-                 if (!(iAknEditorFlags & EAknEditorFlagFindPane) || iQwertyInputMode)
-                 {
-                  SimulateKeyEventL(EKeyEnter);
-                  SimulateKeyEventL(EKeyF19); // Asyncronous case update    
-                 }
-                SimulateKeyEventL((TPtiKey)aCode);                  
-                ClearFlag(EFlagLineFeedCharacter);
-                return EKeyWasConsumed;                 
-                }                
-            if (iLanguageCapabilities.iInputLanguageCode == ELangJapanese && iMode != ELatin)
-                {
-                if (EditorHasFreeSpace() || iFepManState == EAknFepStateUIActive)
-                    {
-                    if (FepUI()->HandleKeyL(aCode, aLength))
-                        {
-                        ClearFlag(EFlagChangeInputMode);
-                        response = EKeyWasConsumed;
-                        }
-                    // response is EKeyWasNotConsumed
-                    }
-                }
-            else
-                {
-                //pass extra key received when doing secret text edit
-                if (IsFlagSet(EFlagPassNextKey))
-                    {
-                    ClearFlag(EFlagPassNextKey);
-                    }
-                else if (IsFlagSet(EFlagShiftKeyDepressed) || IsCcpuFlagSet(ECcpuStateHashDown))
-                    {
-                    response = EKeyWasConsumed;
-                    }
-                    
-                // The key event is passed to the editor to handle in case of
-                // MFNE and other non FEP aware editors (response = EKeyWasNotConsumed).
-                else if ( IsFepAwareTextEditor() )
-                    {
-                    if ( ( iMode != ENumber && iMode != ENativeNumber ) ||
-                        ( ( iMode == ENumber || iMode == ENativeNumber )  && aLength == ELongKeyPress))
-                        {
-                        // Be default the key event is handled by FEP for FEP aware editors.
-                        response = EKeyWasConsumed;
-                        }
-
-                    // New character can be entered to the editor if there is
-                    // space left in the editor. Editor can be modified also
-                    // is the last character is multitapped or last character
-                    // in inline state is replaced with a digit.
-                    /*Hindi*/
-                    //This condition is added for Hindi language in case of multitapping of EKey1 to get 
-                    //a numeral value "1" because of a clasical case of Halant and ZWS getting added 
-                    //before numeral 1 which may affect incase of limited space in editor   
-                        
-                    if (( EditorHasFreeSpace()
-                        || (!WesternPredictive() && !EditorHasFreeSpace() && 
-                           (TAknFepUiIndicInputManager::IsIndicLangauge(
-                            TLanguage(iLanguageCapabilities.iInputLanguageCode)))) 
-                        || IsFlagSet(EFlagInsideMultitapInlineEditingTransaction)
-                        || (IsFlagSet(EFlagInsideInlineEditingTransaction) && aLength == ELongKeyPress)))
-                        {
-                        ClearFlag(EFlagEditorFull);
-
-                        if (aLength == ELongKeyPress && 
-                           (iMode != ELatin && iMode != ENumber && iMode != ENativeNumber && iMode != EStrokeFind && iMode != EHangul) &&
-                            FepUI()->IsValidNumericLongKeyPress(aCode))
-                            {
-                            if (iFepManState == EAknFepStateInitial) // Multitapping
-                                {
-#ifdef RD_SCALABLE_UI_V2
-                                 if (iFepFullyConstructed && 
-                                     iFepPluginManager->CurrentFepInputUI() )
-                                     {
-                                     if (iFepPluginManager->CurrentFepInputUI()->HandleKeyL(aCode, 
-                                                                                         aLength))
-                                         {
-                                         response = EKeyWasConsumed;
-                                         break;
-                                         }
-                                     }
-#endif        
-                                // Current multitabbed character is replaced with a number.
-                                TChar ch(aCode);
-                                TBuf<1> buf;
-                                buf.Append(ch);
-                                NewCharacterL(buf);
-                                CommitInlineEditL();
-                                iPtiEngine->ClearCurrentWord();
-                                }
-                            else
-                                {
-                                // Long number key press is given to the editor.
-                                TryCloseUiL();
-                                response = EKeyWasNotConsumed;
-                                }
-                            }
-                        else if (FepUI()->HandleKeyL(aCode, aLength))
-                            {
-        	            	if ( (iMode == EPinyin || iMode == EZhuyin || iMode == EStroke || iMode == ECangJie)
-        	            			&& iFepManState == EAknFepStateUIActive )
-        	            		{
-        	            		if ( EditorState() )
-        	            			{
-        	            			EditorState()->SetFlags( EditorState()->Flags() | EAknEditorFlagChinesePopup );
-        	            			}       	            		
-        	            		}
-                            ClearFlag(EFlagChangeInputMode);
-                            // for japanese variant
-                            if (IsFeatureSupportedJapanese()
-                             && iMode == ENumber)
-                                {
-                                response = EKeyWasConsumed;
-                                }
-                            }
-                        else
-                            {
-                            //By default, pass long keypress to an editor for inserting number.
-                            response = EKeyWasNotConsumed;
-                            //No need to handle long key press in dialer
-                            if ( RProcess().SecureId().iId != KPhoneSecureId )
-                                {
-
-                                if ( iLanguageCapabilities.iLocalDigitType == EDigitTypeArabicIndic )
-                                    {
-                                    SimulateKeyEventL( aCode + KLatinToArabicIndicDigitsDelta );
-                                    response = EKeyWasConsumed;
-                                    }
-                                else if( iLanguageCapabilities.iLocalDigitType == EDigitTypeEasternArabicIndic )    
-                                    {
-                                    SimulateKeyEventL( aCode + KLatinToEasternArabicIndicDigitsDelta );
-                                    response = EKeyWasConsumed;
-                                    }
-                                /*Hindi*/    
-                                else if ( iLanguageCapabilities.iLocalDigitType == EDigitTypeDevanagari 
-                                            || iPreviousEditingState == EDevanagariIndicNumeric )                           
-                                    {
-                                    
-                                    SimulateKeyEventL( aCode + KLatinToDevanagariDigitsDelta );
-                                    
-                                    response = EKeyWasConsumed;
-                                    }
-                                }
-                            }
-                        }
-                    }                   
-                }
-            break;
-        case EKeyOK:
-            {
-            if (iUiInterface->SoftkeysExist() && EditSubmenuInUse()) 
-                {                           
-                if (iUiInterface->SoftkeyCommandId(ELeftSoftkeyIndex) == EAknFepSoftkeyStartCopy)
-                    {                                     
-                    ProcessCommandL(EAknFepSoftkeyStartCopy);
-                    response = EKeyWasConsumed;             
-                    break;
-                    }
-                else if (iUiInterface->SoftkeyCommandId(ELeftSoftkeyIndex) == EAknFepSoftkeyStartCut)
-                    {
-                    ProcessCommandL(EAknFepSoftkeyStartCut);
-                    response = EKeyWasConsumed;             
-                    break;              
-                    }
-                else if (iUiInterface->SoftkeyCommandId(ELeftSoftkeyIndex) == EEikCmdEditCopy)
-                    {                                     
-                    ProcessCommandL(EEikCmdEditCopy);
-                    response = EKeyWasConsumed;             
-                    break;
-                    }
-                else if (iUiInterface->SoftkeyCommandId(ELeftSoftkeyIndex) == EEikCmdEditCut)
-                    {
-                    ProcessCommandL(EEikCmdEditCut);
-                    response = EKeyWasConsumed;             
-                    break;              
-                    }                                                                               
-                }
-            
-            if ( (iAknEditorFlags & EAknEditorFlagNoLRNavigation) &&
-                IsFlagSet(EFlagShiftKeyDepressed) )
-                {
-                // Selection key is pressed during shift key press.
-                ClearFlag(EFlagNoActionDuringShiftKeyPress);
-                return EKeyWasNotConsumed;
-                }
-            if (iLanguageCapabilities.iInputLanguageCode == ELangJapanese && iMode != ELatin)
-                {
-                if (FepUI()->HandleKeyL(aCode, aLength))
-                    {
-                    response = EKeyWasConsumed;
-                    }
-                }
-            else
-                {
-                if (IsFlagSet(EFlagShiftKeyDepressed) && 
-                  !(iAknEditorFlags & EAknEditorFlagSupressShiftMenu))
-                    {
-                    response = EKeyWasConsumed;
-                    }
-                else if (iFepManState == EAknFepStateUIActive)
-                    {
-                    if (FepUI()->HandleKeyL(aCode, aLength))
-                        {
-                        response = EKeyWasConsumed;
-                        }
-                    }
-                else if (iMode == ELatin && !WesternPredictive() && 
-                         IsFlagSet(EFlagInsideMultitapInlineEditingTransaction))                    
-                    {
-                    CommitInlineEditL();
-                    }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-			    // Predictive QWERTY (XT9) changes ---->
-			    // Accept current candidate (including possible auto-completed part) and insert space after the word
-			    // if selection key pressed while inline editing (on Qwerty only!)
-			    // this is not the expected behavior for half qwerty
-			    
-				TBool isQwertyMode = iQwertyInputMode && 
-								!( EPtiKeyboardHalfQwerty == KeyboardLayout() );
-			    if ( response == EKeyWasNotConsumed && iWesternPredictive && isQwertyMode && 
-			         IsFlagSet(EFlagInsideInlineEditingTransaction) 
-			         // For addition of ITI features on FSQ. 
-			         // If FSQ is opened with ITI features activated, don't commit as HW's action
-			         && !( iFepPluginManager && iFepPluginManager->EnableITIOnFSQ() ) )
-			        {
-			        
-					// If the primary candidate setting is exact typing, The tooltip/bubble always shows the best prediction.
-				    // Word on the typing line is accepted into editor on selection key event..  
-					                  
-			        iPtiEngine->CommitCurrentWord();
-			        CommitInlineEditL();
-                    TryCloseUiL();
-                    if(!static_cast<TChar>(NextChar()).IsSpace())
-	                    {
-	                    SimulateKeyEventL(EKeySpace);
-	                    }
-                    else 
-	                	{
-						TCursorSelection sel;
-            			iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(sel);
-            			sel.iCursorPos++;
-            			sel.iAnchorPos++;
-            			iInputCapabilities.FepAwareTextEditor()->SetCursorSelectionForFepL(sel);	                		
-	                	}    
-                    SimulateKeyEventL(EKeyF19); // asynchronous case update
-                
-			        response = EKeyWasConsumed;
-			        }
-			    // Predictive QWERTY (XT9) changes <----
-#endif //RD_INTELLIGENT_TEXT_INPUT
-                }
-            }
-            break;
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        	case EKeyPhoneEnd:
-	        	{
-	        	// Suggested word should get committed in exact typing
-				if ( iWesternPredictive &&
-			    	 IsFlagSet(EFlagInsideInlineEditingTransaction) )
-			        {
-						
-					// If the primary candidate setting is exact typing, The tooltip/bubble always shows the best prediction.
-					// Word on the typing line is accepted into editor on end key event..
-						
-			        iPtiEngine->CommitCurrentWord();
-					CommitInlineEditL();
-	            	TryCloseUiL();
-	            	ClearFlag(CAknFepManager::EFlagNoMatches);
-	            	SimulateKeyEventL(EKeyF19); // asynchronous case update
-			        }
-	        	}
-			break;
-#endif //RD_INTELLIGENT_TEXT_INPUT
-        default:
-            break;
-        }
-    SchedulePostEventCheckL(aCode);
-
-#ifdef RD_SCALABLE_UI_V2     
-    if ( !isPassNext )
-        {
-        SendEventsToPluginManL( EPluginKeyEvent, aCode );
-        }
-#endif
-        
-    return response;
-    }
-    
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-void CAknFepManager::HandleShiftHalfQwertyChineseL(TEventCode aEventCode)
-    {
-    if (aEventCode == EEventKeyDown)
-        {
-        ClearCcpuFlag(ECcpuStateCbaShown);		
-        SetFlag(EFlagShiftKeyDepressed | EFlagNoActionDuringShiftKeyPress);
-        ClearFlag(EFlagNoActionDuringChrKeyPress);
-        SetFlag(EFlagQwertyShiftMode);
-        // Long press of shift key timer is activated.
-        iShiftKeypressMonitor->Start(EShiftKeyRepeatDelay,
-            EShiftKeyRepeatDelay, TCallBack(ResetShiftKeyMonitorCallback,
-                this) );
-        }
-    else if (aEventCode == EEventKeyUp)
-        {
-        ClearFlag(EFlagShiftKeyDepressed
-            |EFlagNoActionDuringShiftKeyPress);
-        ClearFlag(EFlagQwertyShiftMode);
-        iShiftKeypressMonitor->Cancel();
-
-        if ( (iKeyPressedDuringShift)|| IsFlagSet(EFlagLongShiftKeyPress) )
-            {
-            iKeyPressedDuringShift = EFalse;
-            ClearFlag( EFlagLongShiftKeyPress );
-            if ( iFnKeyManager->FnKeyState() )
-                {
-                iFnKeyManager->SetFnKeyState( CAknFepFnKeyManager::EFnKeyNone );
-                }
-            UpdateIndicators();
-            }
-        else
-            {
-            CAknEdwinState* editorState = EditorState();
-            TInt permittedCases = editorState->PermittedCases();
-            permittedCases = permittedCases == 0 ?
-            EAknEditorLowerCase | EAknEditorUpperCase : permittedCases;
-
-            if (iMode == ELatin && (permittedCases & EAknEditorTextCase))
-                {
-                // Latin case update is changed back to automatic if latin 
-                // text case is allowed and the case is changed manually from #-key.
-                ClearFlag(CAknFepManager::EFlagSupressAutoUpdate);
-                }
-            TInt currentCase = iCaseMan->CurrentCase();
-
-            // Is current latin case last available case.
-            TBool lastCase = ( ( !(permittedCases & EAknEditorTextCase)
-                    && ((currentCase == EAknEditorLowerCase)
-                        || (currentCase == EAknEditorUpperCase
-                            && !(permittedCases
-                                & EAknEditorLowerCase)) )
-                    || (editorState->Flags() & EAknEditorFlagFixedCase) )
-                || (editorState->Flags()
-                    & EAknEditorFlagForceTransparentFepModes) );
-
-            if (iMode == ELatin
-                && !IsFlagSet(CAknFepManager::EFlagChangeInputMode)
-                && !lastCase)
-                {
-                if (iWesternPredictive)
-                    {
-                    // Input mode is still Latin. Only case is updated.
-                    if (permittedCases & EAknEditorTextCase)
-                        {
-                        iCaseMan->ManualCaseUpdate();
-                        }
-                    else
-                        {
-                        iCaseMan->SetCurrentCase(EAknEditorLowerCase);
-                        }
-                    }
-                else
-                    {
-                    if(iCaseMan->CurrentCase() == EAknEditorUpperCase)
-                        {
-                        iCaseMan->SetCurrentCase(EAknEditorLowerCase);
-                        }
-                    else
-                        {
-                        iCaseMan->SetCurrentCase(EAknEditorUpperCase);
-                        }
-                    }
-
-                // Next time input mode is changed if any text is not entered before.
-                SetFlag(CAknFepManager::EFlagChangeInputMode);
-                }
-            else
-                {
-                // Input mode is incremented.
-                SetChangeModeByShiftAndSpace( EFalse );
-                TryIncrementChineseModeForQwertyL(iMode);
-
-                ClearFlag(CAknFepManager::EFlagChangeInputMode);
-
-                if ( iMode == ELatin && iWesternPredictive ) // New mode after Increment.
-
-                    {
-                    if (editorState->Flags() & EAknEditorFlagFixedCase)
-                        {
-                        // Only one fixed case is available. Use it.
-                        iCaseMan->ConfigureCaseStateFromEditorState();
-                        SetFlag(CAknFepManager::EFlagChangeInputMode);
-                        }
-                    else if (editorState->Flags()
-                        & EAknEditorFlagForceTransparentFepModes)
-                        {
-                        // Only lower case is used with find pane.
-                        iCaseMan->SetCurrentCase(EAknEditorLowerCase);
-                        SetFlag(CAknFepManager::EFlagSupressAutoUpdate);
-                        SetFlag(CAknFepManager::EFlagChangeInputMode);
-                        }
-                    else if (permittedCases & EAknEditorTextCase)
-                        {
-                        iCaseMan->SetCurrentCase(EAknEditorTextCase);
-                        iCaseMan->UpdateCase(ENullNaviEvent);
-                        }
-                    else
-                        {
-                        if (permittedCases & EAknEditorUpperCase)
-                            {
-                            iCaseMan->SetCurrentCase(EAknEditorUpperCase);
-                            if ( !(permittedCases
-                                    & EAknEditorLowerCase))
-                                {
-                                // We need to move to next input mode since only upper case 
-                                // is permitted in Latin input mode.
-                                SetFlag(CAknFepManager::EFlagChangeInputMode);
-                                }
-                            }
-                        else
-                            {
-                            iCaseMan->SetCurrentCase(EAknEditorLowerCase);
-                            SetFlag(CAknFepManager::EFlagChangeInputMode);
-                            }
-                        }
-                    }
-                }
-            }
-        }
-    }
-
-void CAknFepManager::HandleShiftQwertyChineseL(TEventCode aEventCode)
-    {
-    if ( IsFlagSet( EFlagQwertyChrKeyDepressed ) && 
-    	 !IsFeatureSupportedJapanese() && 
-    	 iCurrentFepUI->IsValidShiftKeyPress())
-    	{
-        ClearFlag(EFlagQwertyChrKeyDepressed | EFlagNoActionDuringChrKeyPress);
-        LaunchLanguagesPopupListL();
-        return;
-    	}
-    
-    TInt language = iSharedDataInterface->InputTextLanguage();
-
-    if (aEventCode == EEventKeyUp)
-        {
-        ClearCcpuFlag(ECcpuStateCbaShown);
-        if (FepUI())
-            {
-            FepUI()->HandleKeyL(EKeyLeftShift, EShortKeyPress);
-            }
-        TBool validShift = iCurrentFepUI->IsValidShiftKeyPress();
-                
-        if (IsFlagSet(EFlagLongShiftKeyPress) ||iKeyPressedDuringShift)
-            {
-            if (iKeyPressedDuringShift || IsFlagSet(EFlagQwertyShiftMode))
-                {
-                iShiftKeypressMonitor->Cancel();
-                iKeyPressedDuringShift = EFalse;
-                ClearFlag(EFlagQwertyShiftMode);
-                }
-            }
-        else
-            if (IsFlagSet(EFlagQwertyShiftMode))
-                {
-                if ( iMode != ELatin && validShift )
-                    {
-                    iModeBefore = iMode;
-                    TryChangeModeL(ELatin);
-                    ClearFlag( EFlagQwertyShiftMode );
-                    }
-                }
-            else
-                {
-                if (iMode == ELatin)
-                    {
-                    TBool isWsPr= EFalse;
-                    if (WesternPredictive())
-                        {
-                        SetWesternPredictive(EFalse);
-                        isWsPr = ETrue;
-                        }
-                    TInt Modetemp = iModeBefore;
-                    TInt sharedDataMode = iSharedDataInterface->InputMode();
-                    if (Modetemp == EStroke && 
-                    	iQwertyInputMode && 
-                    	sharedDataMode == ECangJie)
-                    	{
-                    	Modetemp = ECangJie;
-                    	}
-
-                    TryChangeModeL(Modetemp);
-                    if (isWsPr)
-                        {
-                        SetWesternPredictive(ETrue);
-                        }
-                    }
-                }
-
-        ClearFlag(EFlagShiftKeyDepressed);
-
-        if (IsFlagSet(EFlagLongShiftKeyPress)
-                && iMode == ELatin
-                && IsFlagSet(EFlagQwertyShiftMode))//latin shift ->abc
-            {
-            ClearFlag(EFlagQwertyShiftMode);
-            }
-
-        if (IsFlagSet(EFlagLongShiftKeyPress)) //long keypress up
-            {
-            ClearFlag(EFlagLongShiftKeyPress
-                    |EFlagNoActionDuringShiftKeyPress);
-            }
-        else // short keypress up
-            {
-            iShiftKeypressMonitor->Cancel();
-            }
-
-        ClearFlag(EFlagNoActionDuringChrKeyPress);
-        ClearFlag(EFlagNoActionDuringShiftKeyPress);
-        if ( validShift )
-            {
-            UpdateIndicators();
-            }
-        else
-            {
-            ClearFlag(EFlagQwertyShiftMode);
-            }
-        }
-    else
-        if (aEventCode == EEventKeyDown)
-            {
-
-            SetFlag(EFlagShiftKeyDepressed | EFlagNoActionDuringShiftKeyPress);
-            ClearFlag(EFlagNoActionDuringChrKeyPress);
-
-            if (IsFlagSet(EFlagQwertyShiftMode))
-                {
-                ClearFlag(EFlagQwertyShiftMode);
-                }
-            else
-                {
-                SetFlag(EFlagQwertyShiftMode);
-                if ( iCurrentFepUI->IsValidShiftKeyPress() 
-                		|| iMode == ELatin )
-                    {
-                    UpdateIndicators();
-                    }
-   	            // If the iShiftKeypressMonitor is actived now, cancel it first.
-	              iShiftKeypressMonitor->Cancel();
-                // Long press of shift key timer is activated.
-                iShiftKeypressMonitor->Start(EShiftKeyRepeatDelay,
-                        EShiftKeyRepeatDelay, TCallBack(
-                                ResetShiftKeyMonitorCallback, this));
-                }
-            }
-    }
-#endif //RD_INTELLIGENT_TEXT_INPUT
-TKeyResponse CAknFepManager::HandleShiftKeyEventL(TEventCode aEventCode)
-    {
-    TKeyResponse response = EKeyWasNotConsumed;
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-	// GQF clarification 
-	// In case irrespective Fn/shift key Text case should not be changed.
-	// Like Shift +Fn + Shift should not toggle the text case of the editor.
-	// Only Consecutive press of shift key should change the text case
-	if( iQwertyInputMode && (EEventKeyDown== aEventCode) && EPtiKeyboardHalfQwerty != KeyboardLayout())
-		{
-		if( (iFnKeyManager->FnKeyState() == CAknFepFnKeyManager::EFnKeyNext) && 
-			IsFlagSet(EFlagQwertyShiftMode))
-			{
-			iFnKeyManager->ClearFnKeyState();
-			iPtiEngine->SetCase((TPtiTextCase)EPtiCaseLower);
-			ClearFlag(EFlagQwertyShiftMode);
-			}
-		}
-    TInt language = iSharedDataInterface->InputTextLanguage();
-#endif    
-    
-    if (iQwertyInputMode)
-        {
-        if ( !iInputCapabilities.FepAwareTextEditor() )
-            {
-            response = EKeyWasNotConsumed;
-            }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        else if (language == ELangTaiwanChinese||
-                    language == ELangHongKongChinese ||
-                    language == ELangPrcChinese)
-                {
-                if ( ( EPtiKeyboardHalfQwerty == KeyboardLayout() && FepUI() ) &&
-                        iPtiEngine &&
-                        ( EPtiCaseFnUpper == iPtiEngine->Case() || EPtiCaseFnLower == iPtiEngine->Case() ) &&
-                        ( aEventCode == EEventKeyDown || aEventCode == EEventKeyUp ) )
-                    {
-                    // Ignore the KeyUp event
-                    if( aEventCode == EEventKeyDown )
-                        {
-                        FepUI()->HandleKeyL( EPtiKeyQwertyLeftShift, 
-                                                     EShortKeyPress );
-                        }
-                    if( aEventCode == EEventKeyUp )
-                        {
-			            ClearCcpuFlag(ECcpuStateCbaShown);
-                        }						
-                    }
-                else
-                    {
-                    if ((iAknEditorFlags & EAknEditorFlagFindPane)&& (CAknFepFnKeyManager::EFnKeyNone ==FnKeyState()))
-                        {
-                        if (aEventCode == EEventKeyUp)
-                            {
-				            ClearCcpuFlag(ECcpuStateCbaShown);							
-                            if ( iKeyPressedDuringShift )
-                                {
-                                iKeyPressedDuringShift = EFalse;
-                                }
-                            else
-                                {
-                                TryIncrementModeChineseQwertyL( iMode );
-                                }
-                            ClearFlag( EFlagShiftKeyDepressed | EFlagNoActionDuringShiftKeyPress );
-                            }
-                        else if(aEventCode == EEventKeyDown)
-                            {
-                            SetFlag(EFlagShiftKeyDepressed | EFlagNoActionDuringShiftKeyPress);
-                            ClearFlag(EFlagNoActionDuringChrKeyPress);
-                            }
-                        return EKeyWasConsumed;
-                        }
-                    if (EPtiKeyboardHalfQwerty == KeyboardLayout())
-                        {
-                        HandleShiftHalfQwertyChineseL(aEventCode);
-                        }
-                    else
-                        {
-                        HandleShiftQwertyChineseL(aEventCode);
-                        }
-                    }
-                }
-#endif // ITI flag
-        else if (aEventCode == EEventKeyDown)
-            {
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-#ifdef __HALF_QWERTY_KEYPAD
-            if( ( EPtiKeyboardHalfQwerty == KeyboardLayout() && FepUI() ) &&
-                iPtiEngine && EditorHasFreeSpace())
-                {
-		if (IsFlagSet(CAknFepManager::EFlagInsideMultitapInlineEditingTransaction))
-                            {
-                            iPtiEngine->CancelTimerActivity();
-                            }
-                if( EPtiCaseFnUpper == iPtiEngine->Case() || EPtiCaseFnLower == iPtiEngine->Case() )
-                    {
-                    FepUI()->HandleKeyL( EPtiKeyQwertyLeftShift, 
-                                                 EShortKeyPress );
-					iFnCharInsertedForShift = ETrue;                                                    
-                    }                 
-                }
-#endif // Half Qwerty flag
-#endif // ITI flag
-
-            // Shift key is pressed down.
-            SetFlag(EFlagShiftKeyDepressed | EFlagNoActionDuringShiftKeyPress);
-            ClearFlag(EFlagNoActionDuringChrKeyPress);
-            if ( IsFlagSet(EFlagQwertyShiftMode) && IsFlagSet(EFlagNoActionDuringShiftKeyPress) )
-                {
-                ClearFlag(EFlagQwertyShiftMode | EFlagNoActionDuringShiftKeyPress);
-                // If long shift key press flag is set, then do not do manual case update.
-                if (!IsFlagSet(EFlagLongShiftKeyPress))
-                    {
-                    iCaseMan->ManualCaseUpdate();
-                    }
-                }
-            else
-                {
-                if (!(iCurrentFepUI->IsValidShiftKeyPress()))
-                    {
-                    return EKeyWasConsumed;
-                    }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-#ifdef __HALF_QWERTY_KEYPAD                    
-                if(!iFnCharInsertedForShift)
-#endif //RD_INTELLIGENT_TEXT_INPUT
-#endif //__HALF_QWERTY_KEYPAD                
-                	{
-                	SetFlag(EFlagQwertyShiftMode);
-                	}
-					
-                if(iShiftKeypressMonitor->IsActive())
-                	iShiftKeypressMonitor->Cancel();               	
-                // Long press of shift key timer is activated.
-                iShiftKeypressMonitor->Start(EShiftKeyRepeatDelay, EShiftKeyRepeatDelay, 
-                    TCallBack(ResetShiftKeyMonitorCallback, this));
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-                // Shift kkey hack for GQF implementation. Need to check 
-                // if it has any side effect.  
-                if((iFnKeyManager->FnKeyState() != CAknFepFnKeyManager::EFnKeyLock)
-                    && (iFnKeyManager->FnKeyState() != CAknFepFnKeyManager::EFnKeyForced)
-                    && (iFnKeyManager->FnKeyState() != CAknFepFnKeyManager::EFnKeyDown)
-                    && (iFnKeyManager->FnKeyState() != CAknFepFnKeyManager::EFnKeyNext))
-#endif
-                UpdateIndicators();
-                }
-            }
-        else if (aEventCode == EEventKeyUp)
-            {
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-#ifdef __HALF_QWERTY_KEYPAD            
-            if( ( EPtiKeyboardHalfQwerty == KeyboardLayout() && FepUI() ) &&
-                iPtiEngine )
-                {
-                ClearCcpuFlag(ECcpuStateHashDown
-                      | ECcpuStateHashKeyDeleteDone
-                      | ECcpuStateChangeToPredictionMode);
-                if (IsCcpuFlagSet(ECcpuStateEdwinInSelectionMode))
-                    {
-                    SetCcpuFlag(ECcpuStateSelectionEventPosted);
-                    ClearCcpuFlag(ECcpuStateEdwinInSelectionMode);
-                    SetFlag(EFlagLongShiftKeyPress);
-
-                    TKeyEvent ccpuStart = {0, EStdKeyLeftShift, 0, 0};
-                    CCoeEnv::Static()->SimulateKeyEventL(ccpuStart, aEventCode);
-                    }
-                  if( CAknFepFnKeyManager::EFnKeyNone != FnKeyState())
-                      {
-                      ClearFlag(EFlagQwertyShiftMode);
-                      }
-                //  iFnCharInsertedForShift = EFalse;    
-                  }
-                
-#endif // Half Qwerty flag
-#endif // ITI flag
-
-            ClearFlag(EFlagShiftKeyDepressed);
-            ClearCcpuFlag(ECcpuStateCbaShown);
-            if ( !IsFlagSet(EFlagNoActionDuringShiftKeyPress) ||
-                (IsFlagSet(EFlagNoActionDuringShiftKeyPress) && IsFlagSet(EFlagLongShiftKeyPress)) )
-                {
-                ClearFlag(EFlagQwertyShiftMode);
-                }
-#ifdef RD_INTELLIGENT_TEXT_INPUT 
-#ifdef __HALF_QWERTY_KEYPAD				          
-            if( IsFlagSet(EFlagQwertyChrKeyDepressed) && IsFlagSet(EFlagNoActionDuringShiftKeyPress))
-                {
-#ifdef FF_DUAL_LANGUAGE_SUPPORT                    
-                 // Currently dual language feature would work correctly for ITUT and Half Qwerty products 
-				 // Hence the dual language settings should also be displayed only for ITUT and Halfqwerty products
-                if(iKeyboardType == EPtiKeyboardHalfQwerty )
-                    LaunchDualLanguageSettingDialogL();
-                else                     
-#endif //FF_DUAL_LANGUAGE_SUPPORT
-                    LaunchLanguagesPopupListL();
-                ClearFlag(EFlagQwertyChrKeyDepressed|EFlagNoActionDuringChrKeyPress|EFlagNoActionDuringShiftKeyPress);                
-                }
-               
-#ifdef __SHIFT_KEY_LOOP                                
-            if( KeyboardLayout() == EPtiKeyboardHalfQwerty &&
-            // looping does not happen for long key press
-                !IsFlagSet(EFlagLongShiftKeyPress) &&     
-            // looping does not happen in functionized state                
-                iFnKeyManager->FnKeyState() == CAknFepFnKeyManager::EFnKeyNone &&
-            // looping happens only when no action 
-            // has happened when the shift key has been pressed     
-                 IsFlagSet(EFlagNoActionDuringShiftKeyPress) && !iFnCharInsertedForShift )
-                {
-                HandleKeyEventL( EStdKeyLeftShift, EShortKeyPress );
-                ClearFlag(EFlagQwertyShiftMode);
-                }
-        	iFnCharInsertedForShift = EFalse;        
-#endif //__SHIFT_KEY_LOOP       
-#endif //__HALF_QWERTY_KEYPAD      
-#endif //RD_INTELLIGENT_TEXT_INPUT   
-            if (IsFlagSet(EFlagLongShiftKeyPress))  //long keypress up
-                {
-                ClearFlag(EFlagLongShiftKeyPress);
-                }
-            else                                    // short keypress up
-                {
-                iShiftKeypressMonitor->Cancel();
-#ifdef RD_INTELLIGENT_TEXT_INPUT 
-#ifdef __HALF_QWERTY_KEYPAD               
-#ifdef __SHIFT_KEY_LOOP
-				// Cancel multitap timer
-                
-                if( iPtiEngine != NULL )
-                    {
-				    iPtiEngine->CancelTimerActivity();
-                    }
-#endif //__SHIFT_KEY_LOOP       
-#endif //__HALF_QWERTY_KEYPAD      
-#endif //RD_INTELLIGENT_TEXT_INPUT
-                }
-            ClearFlag( EFlagNoActionDuringShiftKeyPress );
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-            // Shift kkey hack for GQF implementation. Need to check 
-                // if it has any side effect.  
-            if((iFnKeyManager->FnKeyState() != CAknFepFnKeyManager::EFnKeyLock)
-                && (iFnKeyManager->FnKeyState() != CAknFepFnKeyManager::EFnKeyForced)
-                && (iFnKeyManager->FnKeyState() != CAknFepFnKeyManager::EFnKeyDown)
-                &&(iFnKeyManager->FnKeyState() != CAknFepFnKeyManager::EFnKeyNext))
-#endif
-            UpdateIndicators();
-            }
-        }
-    else
-        {
-        if ( !iInputCapabilities.FepAwareTextEditor() && (!iCandidatePopup))
-            {
-            response = EKeyWasNotConsumed;
-            }        
-        else if (aEventCode == EEventKeyDown)
-            {
-            if (Japanese() && iInputCapabilities.FepAwareTextEditor())
-                {
-                if (!(iCurrentFepUI->IsValidShiftKeyPress()))
-                    {
-                    return EKeyWasConsumed;
-                    }
-                TryCloseUiL();
-                }
-            
-            // Shift key is pressed down but no any other key is pressed.
-            ClearCcpuFlag(ECcpuSupressEditMenuFromShiftUp);
-            SetFlag(EFlagShiftKeyDepressed | EFlagNoActionDuringShiftKeyPress);
-            if ( !(iAknEditorFlags & EAknEditorFlagNoLRNavigation))
-                {
-                // Cancel the timer first if active.
-                // EEventKeyUp is not sent always for shift key during debugging on emulator.
-                iShiftKeypressMonitor->Cancel();
-                // Long press of shift key timer is activated.
-                iShiftKeypressMonitor->Start(EShiftKeyRepeatDelay, EShiftKeyRepeatDelay,
-                    TCallBack(ResetShiftKeyMonitorCallback, this));
-                }
-            if ( IsFlagSet(EFlagInsideInlineEditingTransaction) &&
-                WesternPredictive() && iFepManState == EAknFepStateUIActive )
-                {
-                TryRemoveNoMatchesIndicatorL();
-                UpdateCbaL(NULL);
-                }
-            }
-        else if (aEventCode == EEventKeyUp)
-            {
-            ClearFlag(EFlagShiftKeyDepressed);
-            ClearCcpuFlag(ECcpuStateCbaShown);
-            if (IsFlagSet(EFlagLongShiftKeyPress))  //long keypress up
-                {
-                ClearFlag(EFlagLongShiftKeyPress | EFlagNoActionDuringShiftKeyPress);
-                // Shift long key press timer started, in between release of
-                // Shift key should cancel active long shift key timer. 
-                iShiftKeypressMonitor->Cancel();
-                if (!iInputCapabilities.FepAwareTextEditor())
-                    {
-                    TKeyEvent ccpuStart = {0, EStdKeyLeftShift, 0, 0};
-                    CCoeEnv::Static()->SimulateKeyEventL(ccpuStart, EEventKeyUp);                    
-                    }
-                }
-            else                                    // short keypress up
-                {
-                iShiftKeypressMonitor->Cancel();
-                if (!(iAknEditorFlags & EAknEditorFlagSupressShiftMenu) &&
-                    IsFlagSet(EFlagNoActionDuringShiftKeyPress) && //iCurrentFepUI->IsValidShiftKeyPress() &&
-                    !IsCcpuFlagSet(ECcpuSupressEditMenuFromShiftUp))
-                    {
-                    // Shift key is released before any other key is pressed.
-                    // Edit menu is launched if it is allowed.
-                    ClearFlag(EFlagNoActionDuringShiftKeyPress);
-                    //Check if pointer event drag is not there before launch of edit menu.
-                    if( !IsExtendedFlagSet(EExtendedFlagPointerEventTypeEDrag))
-                      	{
-                    	LaunchSelectModeMenuL();
-                    	}
-                   
-                    if (iInputCapabilities.FepAwareTextEditor())
-                        {
-                        response = EKeyWasConsumed;    
-                        }
-                    }
-                }
-            }
-        }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    if (aEventCode == EEventKeyUp && 
-        EPtiKeyboardQwerty4x10 == KeyboardLayout() && FepUI())
-	    {
-	    FepUI()->HandleKeyL(EKeyLeftShift, EShortKeyPress);
-	    }
-#endif	    
-    return response;
-    }
-
-TKeyResponse CAknFepManager::HandleThai0KeyEvent(TEventCode aEventCode, TKeyPressLength aLength, 
-                                                 TBool& aThai0KeyHandling)
-    {
-    TKeyResponse response = EKeyWasNotConsumed;
-    aThai0KeyHandling = EFalse;
-    if(iQwertyInputMode)
-        {
-        return response;    
-        }
-   
-    if ( iLanguageCapabilities.iInputLanguageCode == ELangThai && 
-         iMode != ENumber && iMode != ENativeNumber )
-        {
-        if (!IsPredictive())
-            {
-            if (aEventCode != EEventKeyUp)
-                {
-                response = EKeyWasConsumed;
-                if ( aLength == ELongKeyPress)
-                    {
-                    if (!iLongThai0Key)
-                        {
-                        iLongThai0Key = ETrue;
-                        response = EKeyWasNotConsumed; // 0 to editor
-                        aThai0KeyHandling = ETrue;
-                        }
-                    }
-                }
-
-            else if (aEventCode == EEventKeyUp)
-                {
-                if (iLongThai0Key)
-                    {
-                    iLongThai0Key = EFalse;
-                    response = EKeyWasConsumed;
-                    }
-                else
-                    {
-                    response = EKeyWasNotConsumed; // Show Thai 0 key SCT
-                    aThai0KeyHandling = ETrue;
-                    }
-                }
-            }
-        }
-    return response;
-    }
-
-TBool CAknFepManager::HandleQwertyChrKeyEventL(TEventCode aEventCode)
-    {
-    TBool response = EFalse;
-    if ( !iQwertyInputMode || !iInputCapabilities.FepAwareTextEditor() )
-        {
-        return response;
-        }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    if(IsFlagSet(EFlagShiftKeyDepressed))
-        {
-        iKeyPressedDuringShift = ETrue;
-        }
-#ifdef __HALF_QWERTY_KEYPAD
-    
-        if( (aEventCode == EEventKeyUp) )
-            {
-            ClearFlag(EFlagQwertyChrKeyDepressed);
-            }
-        // Handle shift for Half Qwerty seperately
-        if( ( EPtiKeyboardHalfQwerty == KeyboardLayout() && FepUI() ) &&
-            iPtiEngine /*&&             
-            ( aEventCode == EEventKeyDown || aEventCode == EEventKeyUp ) */ && !IsFlagSet(EFlagShiftKeyDepressed))
-            {		
-
-			if( HandleChrKeyForHalfQwertyL(aEventCode) )
-				{
-				return ETrue;
-				}							
-            }
-#endif // Half Qwerty flag 
-        // This part of code for error fixing.
-        // whenever fep is Fnupper state, press of "CHR" key
-        // always launch SCT table.
-        if( (iFnKeyManager->FnKeyState() != CAknFepFnKeyManager::EFnKeyNone)&&
-            (IsFlagSet(EFlagQwertyShiftMode) || IsFlagSet(EFlagLongShiftKeyPress)))
-            {
-            ClearFlag(EFlagNoActionDuringShiftKeyPress | EFlagLongShiftKeyPress | EFlagShiftKeyDepressed | EFlagQwertyShiftMode);
-            iShiftKeypressMonitor->Cancel();  
-            SetFlag(EFlagQwertyChrKeyDepressed | EFlagNoActionDuringChrKeyPress);
-            return response;
-            }
-           
-
-#endif // ITI flag
-    if (aEventCode == EEventKeyDown)
-        {
-        SetFlag(EFlagQwertyChrKeyDepressed | EFlagNoActionDuringChrKeyPress);
-        response = EFalse;
-
-        if (IsFeatureSupportedJapanese() || 
-            ( IsChineseInputLanguage() 
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-            && KeyboardLayout() == EPtiKeyboardHalfQwerty
-#endif //RD_INTELLIGENT_TEXT_INPUT
-            ) )
-            {
-            // start timer for Chr key long pressing
-            iChrKeypressMonitor->Start(EChrKeyRepeatDelay, EChrKeyRepeatDelay, 
-                TCallBack(HandleChrKeyMonitorCallback, this));
-            }
-        }
-    else if (aEventCode == EEventKeyUp)
-        {
-        if (iChrKeypressMonitor->IsActive())
-            {
-            iChrKeypressMonitor->Cancel();
-            }
-
-        if (IsFlagSet(EFlagShiftKeyDepressed) && IsFlagSet(EFlagNoActionDuringChrKeyPress)
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-		 	||
-            IsFlagSet(EFlagQwertyShiftMode)
-#endif            	
-			)
-            {
-            ClearFlag(EFlagNoActionDuringShiftKeyPress | EFlagLongShiftKeyPress | 
-                      EFlagShiftKeyDepressed | EFlagQwertyShiftMode |EFlagQwertyChrKeyDepressed);
-            iShiftKeypressMonitor->Cancel();
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-            iKeyPressedDuringShift = EFalse;
-#endif                 
-            UpdateIndicators();
-            // In Japanese variant, the selecting input language is unnecessary.
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-            if (EPtiKeyboardQwerty4x10 == KeyboardLayout() || EPtiKeyboardHalfQwerty == KeyboardLayout())
-                {
-            	if (!IsFeatureSupportedJapanese() && iCurrentFepUI->IsValidShiftKeyPress())
-	                {
-#ifdef FF_DUAL_LANGUAGE_SUPPORT	                
-					// Currently dual language feature would work correctly for ITUT and Half Qwerty products 
-	                // Hence the dual language settings should also be displayed only for ITUT and Halfqwerty products
-	                if(iKeyboardType == EPtiKeyboard12Key || iKeyboardType == EPtiKeyboardHalfQwerty )
-                        LaunchDualLanguageSettingDialogL();
-                    else                      
-#endif //FF_DUAL_LANGUAGE_SUPPORT
-                    LaunchLanguagesPopupListL();
-	                }
-                }
-            else
-            	{
-#endif            	
-            if (!IsFeatureSupportedJapanese() && iCurrentFepUI->IsValidShiftKeyPress())
-                {
-                LaunchLanguagesPopupListL();
-	                }
-#ifdef RD_INTELLIGENT_TEXT_INPUT	                
-                }
-#endif                
-            }
-        else if (IsFlagSet(EFlagNoActionDuringChrKeyPress))
-            {
-            // pass key to Chinese UI manager in Chinese qwerty input for sct table
-            if(IsChineseInputLanguage() && iMode != ELatin)
-                {
-                FepUI()->HandleKeyL(EStdKeyLeftFunc, EShortKeyPress);
-                ClearFlag( EFlagQwertyChrKeyDepressed | EFlagNoActionDuringChrKeyPress );
-                }
-            else if (Japanese())
-                {
-                if (iMode != EHiragana)
-                    {
-                    // Commit characters
-#ifdef RD_INTELLIGENT_TEXT_INPUT                    
-                	// Set the iSupressCursorMoveToEndChrKeyPressed when cursor is in 
-					// between two words and SCT is launched
-                    iSupressCursorMoveToEndChrKeyPressed = ETrue;
-#endif //RD_INTELLIGENT_TEXT_INPUT                    
-                    HandleChangeInFocus();
-                    LaunchSpecialCharacterTableL();
-                    }
-                }
-            else if ( IsAbleToLaunchSCT() )
-                {                
-#ifdef RD_INTELLIGENT_TEXT_INPUT                
-               	// Set the iSupressCursorMoveToEndChrKeyPressed when cursor is in 
-				// between two words and SCT is launched
-                iSupressCursorMoveToEndChrKeyPressed = ETrue;
-#endif //RD_INTELLIGENT_TEXT_INPUT                
-                HandleChangeInFocus();
-                LaunchSpecialCharacterTableL();
-                }
-            else if(IsFlagSet(EFlagQwertyChrKeyDepressed))
-            	{
-					 ClearFlag(EFlagQwertyChrKeyDepressed);
-            	}
-            }
-        else
-            {
-            FepUI()->ExpireMultitapTimer();
-            ClearFlag(EFlagQwertyChrKeyDepressed | EFlagNoActionDuringChrKeyPress);
-            
-            response = ETrue;
-            } 
-        }
-    return response;
-    }
-    
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-#ifdef __HALF_QWERTY_KEYPAD    
-TKeyResponse CAknFepManager::HandleChrKeyForHalfQwertyL( TEventCode aEventCode)
-	{
-	if ((IsFlagSet(CAknFepManager::EFlagInsideMultitapInlineEditingTransaction)) && !(EPtiCaseFnUpper == iPtiEngine->Case() || EPtiCaseFnLower == iPtiEngine->Case()))
-        {
-        iPtiEngine->CancelTimerActivity();
-        }
-	// in functionized mode the chr key is mapped to specific chars
-	// and should therefore be handled by the states
-	if ( EPtiCaseFnUpper == iPtiEngine->Case() || EPtiCaseFnLower == iPtiEngine->Case() || IsReverseFnkeyInput())
-		{		
-		if( aEventCode == EEventKeyDown && ( EditorHasFreeSpace() ||
-    		  IsFlagSet( EFlagInsideMultitapInlineEditingTransaction )))
-			{
-			FepUI()->HandleKeyL( EStdKeyLeftFunc, 
-										 EShortKeyPress );			
-			}
-		return EKeyWasConsumed;
-		}
-	// in non-functionized predictive mode,
-	// a long key press of the chr key should produce the SCT
-	// a short key press should produce the candidate list
-	if ( ( iWesternPredictive || IsChineseInputLanguage() ) /*&& 
-	   ( iMode != EPinyin && iMode != EStroke && iMode != EZhuyin )*/ )
-		{						
-		
-		if(!iChrKeypressMonitor->IsActive())
-			{
-			// this monitors long key presses of chr key
-			// the framework does not give us the iRepeats info 
-			// for chr key for some reason
-			iChrKeypressMonitor->Start(EHalfQwertyChrKeyRepeatDelay, EHalfQwertyChrKeyRepeatDelay, 
-                TCallBack(HandleChrKeyMonitorCallback, this));			
-			}
-
-		if( aEventCode != EEventKeyUp )
-			{
-			SetFlag( EFlagQwertyChrKeyDepressed | EFlagNoActionDuringChrKeyPress);
-			return EKeyWasConsumed;
-			}
-
-		if ( aEventCode == EEventKeyUp && IsFlagSet(EFlagNoActionDuringChrKeyPress) )
-			{
-			if(!iChrLongKeyPress )
-				{							
-				// if we have come here it's a short press
-				// the flag EFlagNoActionDuringChrKeyPress is cleared in the timer callback
-				if(!IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction) || IsFlagSet(CAknFepManager::EFlagInsideMultitapInlineEditingTransaction))
-					{
-					// when not in inline editing mode,
-					// chr key should produce the SCT
-					if ( !IsChineseInputLanguage() )
-						{
-						LaunchSpecialCharacterTableL();	
-						}
-					else
-						{
-						FepUI()->HandleKeyL( EStdKeyLeftFunc, 
-								 EShortKeyPress );
-						}
-					}				
-				ClearFlag( EFlagQwertyChrKeyDepressed | EFlagNoActionDuringChrKeyPress);			
-
-				iChrKeypressMonitor->Cancel();			
-
-				TInt wordToFocus = KWordToFocusInCandidateList;
-				TInt numberOfCandidates = iPtiEngine->NumberOfCandidates();
-				if (numberOfCandidates > 1)
-				{
-				wordToFocus = KWordToFocusInCandidateList;
-				}
-				LaunchCandidatePopupListL(wordToFocus);
-
-				return EKeyWasConsumed;
-				}
-			else 
-				{
-
-		    	
-		    	// Cancel the timer    	
-		    	iChrKeypressMonitor->Cancel();
-		    	
-		    	// commit the characters
-	        	HandleChangeInFocus();
-
-		    	// Clear the chr key depressed flag
-		    	ClearFlag( EFlagQwertyChrKeyDepressed | EFlagNoActionDuringChrKeyPress);
-		        // launch the special character table
-		        iChrLongKeyPress = EFalse;
-		        
-		        if ( IsAbleToLaunchSCT() )
-		            {
-		            LaunchSpecialCharacterTableL();
-		            }
-
-		        return EKeyWasConsumed;
-				}	
-			}
-		else
-			{
-			return EKeyWasNotConsumed;
-			}
-		}
-	return EKeyWasNotConsumed;
-	}			
-#endif //__HALF_QWERTY_KEYPAD 
-#endif //RD_INTELLIGENT_TEXT_INPUT				
-
-TKeyResponse CAknFepManager::HandleQwertyControlKeyEventL(const TKeyEvent& aKeyEvent, 
-                                                          TEventCode aEventCode)
-    {
-    TKeyResponse response = EKeyWasConsumed;
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-     if (EPtiKeyboardQwerty4x10 == KeyboardLayout())
-     {
-     	if( iCurrentFepUI && !iCurrentFepUI->IsValidShiftKeyPress() && aEventCode == EEventKeyUp )
-     	{
-     	    FepUI()->HandleKeyL(EKeyLeftCtrl, EShortKeyPress);    
-     		return EKeyWasConsumed;
-     	}
-     }
-#endif     
-
-    // need to ignore [Ctrl] + the following simbol keys
-    // because FEP doesn't consume [Ctrl] combination keys.
-    if (Japanese() && aEventCode == EEventKey)
-        {
-        TBool comsume = EFalse;
-        switch (aKeyEvent.iScanCode)
-            {
-            case EStdKeyNkpPlus:
-            case EPtiKeyQwertyPlus:
-            case EPtiKeyQwertyMinus:
-            case EPtiKeyQwertyComma:
-            case EPtiKeyQwertySemicolon:
-            case EPtiKeyQwertyFullstop:
-            case EPtiKeyQwertyHash:
-            case EPtiKeyQwertySlash:
-            case EPtiKeyQwertyApostrophe:
-            case EPtiKeyQwertySpace:
-                comsume = ETrue;
-                break;
-            default:
-                break;
-            }
-        if (comsume)
-            {
-            return EKeyWasConsumed;
-            }
-        }
-
-#ifdef RD_SCALABLE_UI_V2
-    if (aKeyEvent.iModifiers & EModifierCtrl
-    && (aKeyEvent.iScanCode == EPtiKeyQwertyC || aKeyEvent.iScanCode == EPtiKeyQwertyV || 
-        aKeyEvent.iScanCode == EPtiKeyQwertyX))
-        {
-        SendEventsToPluginManL( EPluginSyncFepAwareText );
-        // Let copy / cut / paste events to flow through.
-        response = EKeyWasNotConsumed;
-        }          
-#endif         
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    // Predictive QWERTY (XT9) changes ---->
-    // Ctrl combinations which affect the editor state, must commit the current inline edit.
-    // Otherwise the currently active inline word might be lost.
-    if ( iWesternPredictive && iQwertyInputMode && IsFlagSet(EFlagInsideInlineEditingTransaction) )
-        {
-        switch (aKeyEvent.iScanCode)
-            {
-            case EStdKeyUpArrow:
-            case EStdKeyDownArrow:
-            case EStdKeyLeftArrow:
-            case EStdKeyRightArrow:
-            case EPtiKeyQwertyC:
-            case EPtiKeyQwertyV:
-            case EPtiKeyQwertyX:
-            case EPtiKeyQwertyA:
-                iPtiEngine->CommitCurrentWord();
-                TryCloseUiL();        
-                break;
-            default:
-                break;
-            }
-        }
-    // Predictive QWERTY (XT9) changes <----
-#endif //RD_INTELLIGENT_TEXT_INPUT
-
-    if (aEventCode != EEventKeyUp)
-        {
-        return EKeyWasNotConsumed;
-        }
-    
-    if(iQwertyInputMode)
-        {
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        // Query ptiEngine to know if the scancode maps to EPtiKeyQwertyC, 
-        // EPtiKeyQwertyV or EPtiKeyQwertyX.
-        // we should not always rely on scancode as products may change it, while
-        // still having the 'C', 'V' and 'X' mappings
-        
-        TBuf<32> mapData;              
-        iPtiEngine->MappingDataForKey((TPtiKey)aKeyEvent.iScanCode, mapData, EPtiCaseUpper); 
-        
-        if( mapData.Length() > 0 )    
-        	{
-        	if( mapData[0] == EPtiKeyQwertyC || mapData[0] == EPtiKeyQwertyV ||
-        	mapData[0] == EPtiKeyQwertyX )
-        		{
-        		// Let copy / cut / paste events to flow through.
-            	response = EKeyWasNotConsumed;
-        		}
-        	}
-#else     
-        if (aKeyEvent.iScanCode == EPtiKeyQwertyC || aKeyEvent.iScanCode == EPtiKeyQwertyV ||
-            aKeyEvent.iScanCode == EPtiKeyQwertyX)
-            {
-            // Let copy / cut / paste events to flow through.
-            response = EKeyWasNotConsumed;
-            }
-#endif
-            
-            
-        if (aKeyEvent.iScanCode == EStdKeyRightShift || aKeyEvent.iScanCode == EStdKeyLeftShift
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-			||
-            IsFlagSet(EFlagQwertyShiftMode)
-#endif //RD_INTELLIGENT_TEXT_INPUT
-			)
-            {
-            if(!iInputCapabilities.FepAwareTextEditor())
-                {
-                response = EKeyWasNotConsumed;
-                }
-            else
-                {
-                SendEventsToPluginManL( EPluginCloseMode, EFalse );
-                if ( iMode != ENumber && iMode!= ENativeNumber )
-                    {
-                    iModeBefore = iMode;
-                    }
-#ifdef RD_HINDI_PHONETIC_INPUT  
-                           
-                if(iSharedDataInterface->InputTextLanguage() == KLangHindiPhonetic)    
-                    {
-                    TryChangePhoneticModeL();   
-                    }
-                else
-                    {
-#endif                  
-                    if((!(IsOnlyNumericPermitted() || 
-                         (iAknEditorFlags & EAknEditorFlagLatinInputModesOnly))) &&
-                       TAknFepUiIndicInputManager::IsIndicLangauge(
-                         (TLanguage)iSharedDataInterface->InputTextLanguage()))
-                        {
-                        if(iLanguageCapabilities.iInputLanguageCode == ELangEnglish)
-                            {
-                            ChangeInputLanguageL(iSharedDataInterface->InputTextLanguage());
-                            }
-                        else
-                            {
-                            ChangeInputLanguageL(ELangEnglish); 
-                            }   
-                        }
-                    else
-                        {
-                        TryIncrementModeChineseQwertyL(iMode);  
-                        }  
-#ifdef RD_HINDI_PHONETIC_INPUT        
-                    }   
-#endif
-                }
-            ClearFlag(EFlagShiftKeyDepressed);
-            if ( !IsFlagSet(EFlagNoActionDuringShiftKeyPress) ||
-                (IsFlagSet(EFlagNoActionDuringShiftKeyPress) && IsFlagSet(EFlagLongShiftKeyPress)) )
-                {
-                ClearFlag(EFlagQwertyShiftMode);
-                }
-            if (IsFlagSet(EFlagLongShiftKeyPress))  //long keypress up
-                {
-                ClearFlag(EFlagLongShiftKeyPress);
-                }
-            else                                    // short keypress up
-                {
-                iShiftKeypressMonitor->Cancel();
-                }
-            ClearFlag( EFlagNoActionDuringShiftKeyPress );
-            UpdateIndicators();
-            }
-        else if(aKeyEvent.iScanCode == EStdKeySpace) // switch between last used Chinese input mode and English
-            {
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-            // Predictive QWERTY (XT9) changes ---->
-            // Toggle the predictive mode with ctrl+space
-            if ( (iPermittedInputModes & EAknEditorTextInputMode) &&
-                 !(iAknEditorFlags & EAknEditorFlagNoT9) &&
-                 iMode == ELatin &&
-                 iLanguageCapabilities.iSupportsWesternQwertyPredictive )
-                {
-                if (iWesternPredictive)
-                    {
-                    //ProcessCommandL(EAknCmdT9PredictiveT9Off);
-                    SendEventsToPluginManL( EPluginCloseMode, EFalse );
-                    //HandleChangeInFocus();                    
-                    if (iMode != ELatin)
-                        {
-                        TryChangeModeL(ELatin);
-                        }
-                    else
-                        {
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-                        RemoveSuggestedAdvanceCompletionL();
-#endif // RD_INTELLIGENT_TEXT_INPUT
-                        CommitInlineEditL();
-                        }
-                    SetCcpuFlag(ECcpuStataCommitPredictiveWord);
-                    SetWesternPredictive(EFalse);
-                    HandleChangeInFocus();
-                    }
-                else
-                    {
-                    //ProcessCommandL(EAknCmdMultitapPredictiveT9On);
-                    SendEventsToPluginManL( EPluginCloseMode, EFalse );
-                    //HandleChangeInFocus();
-                    SetWesternPredictive(ETrue);
-                    TryCloseUiL();
-                    TryChangeModeL(ELatin);
-     				}              
-                // Reset the function key state,if predictive mode is cahnged.
-				if (iFnKeyManager)
-					{
-					iFnKeyManager->ClearFnKeyState();
-					}
-                }
-            else // Predictive QWERTY (XT9) changes <----
-                {
-#endif //RD_INTELLIGENT_TEXT_INPUT
-            SendEventsToPluginManL( EPluginCloseMode, EFalse );
-            if(iMode != iModeBefore && iMode != ENumber && iMode != ENativeNumber )
-                {
-                TInt mode = iMode;
-                if(iMode != ELatin && iModeBefore != ELatin) // more than one Chinese input modes
-                    {
-                    TryChangeModeL(ELatin);
-                    }
-                else
-                    {
-                    TryChangeToModeBeforeL();
-                    }
-                iModeBefore = mode; // deposit previous input mode
-                }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-            }
-#endif //RD_INTELLIGENT_TEXT_INPUT
-            } 
-#ifdef RD_INTELLIGENT_TEXT_INPUT //// Predictive QWERTY (XT9) changes: open the edit menu with Fn+space ---->
-        else if (aKeyEvent.iScanCode == EStdKeyLeftFunc)
-            {
-            LaunchSelectModeMenuL();
-            } // Predictive QWERTY (XT9) changes <----
-#endif //RD_INTELLIGENT_TEXT_INPUT
-        }       
-
-    if (IsCcpuFlagSet(ECcpuStatePosted))           
-        {
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        // Query ptiEngine to know if the scancode maps to EPtiKeyQwertyC, 
-        // EPtiKeyQwertyV or EPtiKeyQwertyX.
-        // we should not always rely on scancode as products may change it, while
-        // still having the 'C', 'V' and 'X' mappings
-        
-        TBuf<32> mapData;              
-        iPtiEngine->MappingDataForKey((TPtiKey)aKeyEvent.iScanCode, mapData, EPtiCaseUpper); 
-        
-        if( mapData.Length() > 0 )    
-        	{
-        	if( mapData[0] == EPtiKeyQwertyC || mapData[0] == EPtiKeyQwertyX )
-        		{
-	            // Let copy / cut events to flow through.
-	            response = EKeyWasNotConsumed;
-	            }
-        	}
-#else
-        if (aKeyEvent.iScanCode == EPtiKeyQwertyC || aKeyEvent.iScanCode == EPtiKeyQwertyX)          
-            {
-            // Let copy / cut events to flow through.
-            response = EKeyWasNotConsumed;
-            }        
-#endif   
-        ResetCcpuFlags();               
-        }
-
-
-//Removed as part of the fix STAA-7FXCTK 
-
-/*    if (EPtiKeyboardQwerty4x10 == KeyboardLayout())
-    	{
-    	FepUI()->HandleKeyL(EKeyLeftCtrl, EShortKeyPress);    
-   	}*/
-
-
-    return response;
-    }
-
-TBool CAknFepManager::HandleQwertyKeyEventL(const TKeyEvent& aKeyEvent, TKeyResponse& aResponse)
-    {
-    TBool keyHandled = EFalse;
-    aResponse = EKeyWasNotConsumed;
-#ifdef RD_INTELLIGENT_TEXT_INPUT 
-    if(iKeyBackSpaceHit && (EKeyBackspace != aKeyEvent.iCode || EStdKeyBackspace != aKeyEvent.iScanCode))
-        	iKeyBackSpaceHit = 0;
-        
-    if(IsMfneEditor())
-        {
-        // multi-field editors need the key event to be sent to them directly
-        // therefore not consuming it here
-        return EFalse;
-        }
-
-    if(IsFlagSet(EFlagShiftKeyDepressed))
-        {
-        iKeyPressedDuringShift = ETrue; 
-        }  
-  // This part of code for error fixing
-    // After short pressing of Fn/shift, if user press enter key, delete key
-    // it will reset the shift key and Fn key state.
-    if( EKeyEnter == aKeyEvent.iCode || EStdKeyEnter == aKeyEvent.iScanCode|| 
-        EKeyBackspace == aKeyEvent.iCode || EStdKeyBackspace == aKeyEvent.iScanCode)
-        {
-		// if the shift key is still depressed, 
-		// don't clear the qwerty shift mode
-        if(!IsFlagSet(EFlagShiftKeyDepressed))
-        	ClearFlag(EFlagQwertyShiftMode);     
-        if( iFnKeyManager->FnKeyState() == CAknFepFnKeyManager::EFnKeyNext )
-            {
-            iFnKeyManager->ClearFnKeyState();
-            }
-        }
-#endif    
-    
-    if ( iQwertyInputMode && 
-         ( EditorHasFreeSpace() || 
-#ifdef __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__         
-#ifdef RD_INTELLIGENT_TEXT_INPUT 
-           KeyEventWillReplaceCharacter( aKeyEvent ) ||
-#endif // RD_INTELLIGENT_TEXT_INPUT
-#endif // __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__         
-           ( Japanese() && iFepManState == EAknFepStateUIActive ) ) )
-        {
-        if (IsFlagSet(EFlagPassNextKey))
-            {
-#ifdef __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__            
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-            // Don't clear the pass next flag yet on the simulated "rollback key"
-            // used with secret editors, the actual key code to be entered to the
-            // editor will follow next.
-            if ( aKeyEvent.iCode != EKeyF20 )
-#endif // RD_INTELLIGENT_TEXT_INPUT          
-#endif // __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__          
-            ClearFlag(EFlagPassNextKey);
-            return ETrue;   
-            }        
-                 
-        TInt keyScanCode = aKeyEvent.iScanCode;
-#if defined(__WINS__)
-        if ( keyScanCode == EStdKeyNkpPlus )
-            {
-            // Workaround solution for the qwerty '+' key in emulator environment.
-            // I did not find a way how to to configure epoc_352x416_Qwerty.ini to send '+' keyevent.
-            keyScanCode = 0x2b;  // '+' key.
-            }
-#endif                 
-        TBool phoneIdle = (EditorType() == CAknExtendedInputCapabilities::EPhoneNumberEditor);        
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        TInt keyLayout =iSharedDataInterface->KeyboardLayout();
-        if (IsOnlyNumericPermitted() && phoneIdle &&                
-#ifdef __REVERSE_FN_KEY_SUPPORTED
-            !iIsReverseFnkeyInput &&
-#endif
-            (keyLayout != EPtiKeyboardHalfQwerty ))                
-#else
-        if (IsOnlyNumericPermitted() && phoneIdle)                
-#endif
-            {
-            return ETrue;          
-            }
-        //if this SpecialNumeric editor, do not consume event.    
-        if (IsOnlyNumericPermitted() && IsSpecialNumericEditor())
-        	{
-        	return EFalse;
-        	}    
-      
-        
-#ifdef FF_HOME_SCREEN_EASY_DIALING
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        
-        // This piece of code part of error fixing
-        // The Fep will insert the char, if Phone application launch the
-        // Phone number acquire editor in idle mode
-        // Specially Fep does not maintain Fn key state for non Fepware editor.
-        // So, Intermediate state of FnKey like FnNext will not work
-        // Hold on Fn key modify the modifier of of key event.
-        const TBool fnDown = (aKeyEvent.iModifiers & EModifierRightFunc);        
-        if( phoneIdle && fnDown && iFnKeyManager )
-            {
-            iFnKeyManager->SetFnKeyState(CAknFepFnKeyManager::EFnKeyDown);
-            SetCase((TCase)EFnKeyLowerCase);
-            }
-#endif  // RD_INTELLIGENT_TEXT_INPUT
-#endif  // FF_HOME_SCREEN_EASY_DIALING
-        
-       
-        const TBool shifted = (aKeyEvent.iModifiers & (EModifierLeftShift | 
-                               EModifierRightShift | EModifierShift));
-        
-        // This is needed for forcing shif state if this is the first key press in
-        // phone idle.    
-        if (shifted && phoneIdle)                    
-            {
-            SetFlag(EFlagQwertyShiftMode);
-            }                           
-
-            
-        if (aKeyEvent.iRepeats == 1)
-            {
-            iKeyRepeat = ELongKeyPress;
-            }
-        else
-            {
-            iKeyRepeat = EShortKeyPress;
-            }
-                                  
-        if ( IsFlagSet(EFlagShiftKeyDepressed) &&
-            IsChineseInputLanguage() &&
-            keyScanCode == EPtiKeyQwertySpace) 
-            {
-            SendEventsToPluginManL( EPluginCloseMode, EFalse );
-            ClearFlag(EFlagQwertyShiftMode);
-            ClearFlag(EFlagLongShiftKeyPress);
-            SetChangeModeByShiftAndSpace( ETrue );
-            TryIncrementChineseModeForQwertyL(iMode);
-            keyHandled = ETrue;
-            }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-		else
-            {
-	            if(iKeyRepeat == ELongKeyPress && iPtiEngine->CurrentWord().Length() == EMaximumFepWordLength)
-	            {
-	            	keyHandled = ETrue;
-	            }
-	            else
-	            {
-	            	keyHandled = FepUI()->HandleKeyL(keyScanCode, iKeyRepeat);     
-					if( EPtiKeyboardHalfQwerty == KeyboardLayout() 
-	            			&& iWesternPredictive
-	            			&& iCaseMan->CurrentCase() != EAknEditorUpperCase )
-	            		{
-	            		ClearFlag(CAknFepManager::EFlagChangeInputMode);
-	            		}
-	            	if ( keyHandled && iFepManState == EAknFepStateUIActive 
-	            			&& (iMode == EPinyin || iMode == EZhuyin || iMode == EStroke || iMode == ECangJie) )
-	            		{
-	            		if ( EditorState() )
-	            			{
-		            		EditorState()->SetFlags( EditorState()->Flags() | EAknEditorFlagChinesePopup );
-	            			}
-	            		}
-	            }
-            }
-#else
-        if (IsChineseInputLanguage() && keyScanCode == EStdKeyBackspace)
-            {
-            keyHandled = FepUI()->HandleKeyL(keyScanCode, iKeyRepeat);
-            }
-            else
-            {
-            keyHandled = FepUI()->HandleKeyL(keyScanCode, EShortKeyPress);      
-            }
-#endif //RD_INTELLIGENT_TEXT_INPUT
-        
-        if (keyHandled)
-            {
-            aResponse = EKeyWasConsumed;
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-            // Predictive QWERTY changes ---->
-            ShowExactWordPopupIfNecessaryL();
-            // Predictive QWERTY changes <----
-            }
-#endif //RD_INTELLIGENT_TEXT_INPUT
-
-            // The indicators should be updated only if the key was handled. Otherwise
-            // the shift-copy-pasting will mess up the indicators.
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    TInt language = iSharedDataInterface->InputTextLanguage();
-    TBool IsChineseInput = language == ELangTaiwanChinese||
-                           language == ELangHongKongChinese ||
-                           language == ELangPrcChinese;
-#endif      
-       if ( !shifted  )
-            {           
-#ifdef RD_INTELLIGENT_TEXT_INPUT     
-            if(IsChineseInput && (iKeyboardType!= EPtiKeyboardHalfQwerty)) 
-                {
-                ClearFlag(EFlagQwertyShiftMode);
-                UpdateIndicators();      
-                }
-            else if( keyHandled )
-                {
-#endif                 
-                ClearFlag(EFlagQwertyShiftMode);
-                UpdateIndicators();
-                
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-                }
-#endif
-            } 
-              
-#ifdef RD_SCALABLE_UI_V2
-    if ( ( (keyScanCode >= EPtiKeyQwertyA && keyScanCode <= EPtiKeyQwertyZ) ||
-         (keyScanCode >= EPtiKeyQwerty0 && keyScanCode <= EPtiKeyQwerty9) ||
-         (keyScanCode == EStdKeyEnter) ||
-         (keyScanCode == EPtiKeyQwertyPlus) ||
-         (keyScanCode == EPtiKeyQwertyMinus) ||
-         (keyScanCode == EPtiKeyQwertyComma) ||
-         (keyScanCode == EPtiKeyQwertySemicolon) ||
-         (keyScanCode == EPtiKeyQwertyFullstop)  ||
-         (keyScanCode == EPtiKeyQwertyHash)  ||
-         (keyScanCode == EPtiKeyQwertySlash) ||
-         (keyScanCode == EPtiKeyQwertyApostrophe) )
-         && !( iFepPluginManager && iFepPluginManager->EnableITIOnFSQ() ) )          
-        {
-        SendEventsToPluginManL( EPluginCloseMode, EFalse );
-        //iFepPluginManager->ClosePluginInputModeL(ETrue);
-        }
-    else if( keyHandled )
-        {
-        //for QWERTY, number only, the number is send to editor
-        //bypass FEP
-        SendEventsToPluginManL( EPluginSyncFepAwareText ); 
-        //iFepPluginManager->SyncFepAwareText();
-        }
-#endif
-        }
-        
-#ifdef RD_INTELLIGENT_TEXT_INPUT    
-
-        TInt lang = iSharedDataInterface->InputTextLanguage();
-
-        if(lang == ELangTaiwanChinese||
-           lang == ELangHongKongChinese ||
-           lang == ELangPrcChinese)    
-            {        
-            if( iPtiEngine->CurrentLanguage()->LanguageCode()== ELangEnglish 
-                && IsFlagSet(EFlagQwertyShiftMode)
-                && !IsFlagSet(EFlagLongShiftKeyPress))
-                {
-                ClearFlag(EFlagQwertyShiftMode); 
-                UpdateIndicators();  
-                }
-            }
-#endif // RD_INTELLIGENT_TEXT_INPUT  
-    iKeyRepeat = EShortKeyPress;        
-    return keyHandled;
-    }
-
-
-
-void CAknFepManager::CancelTransaction()
-    {
-    if (iInputCapabilities.FepAwareTextEditor() && IsFlagSet(EFlagInsideInlineEditingTransaction))
-        {
-        CancelInlineEdit();
-        }
-    }
-
-void CAknFepManager::IsOnHasChangedState()
-    {
-    }
-
-void CAknFepManager::OfferKeyEventL(TEventResponse& /*aEventResponse*/, 
-                                    const TKeyEvent& /*aKeyEvent*/, 
-                                    TEventCode /*aEventCode*/)
-    {
-    }
-
-void CAknFepManager::OfferPointerEventL(TEventResponse& /*aEventResponse*/, 
-                                        const TPointerEvent& /*aPointerEvent*/, 
-                                        const CCoeControl* /*aWindowOwningControl*/)
-    {
-    }
-
-void CAknFepManager::OfferPointerBufferReadyEventL(TEventResponse& /*aEventResponse*/, 
-                                                   const CCoeControl* /*aWindowOwningControl*/)
-    {
-    }
-
-TInt CAknFepManager::NumberOfAttributes() const
-    {
-    return 0;
-    }
-
-TUid CAknFepManager::AttributeAtIndex(TInt /*aIndex*/) const
-    {
-    return KNullUid;
-    }
-
-void CAknFepManager::WriteAttributeDataToStreamL(TUid /*aAttributeUid*/, RWriteStream& /*aStream*/) const
-    {
-    }
-
-void CAknFepManager::ReadAttributeDataFromStreamL(TUid /*aAttributeUid*/, RReadStream& /*aStream*/)
-    {
-    }
-
-void CAknFepManager::HandleGainingForeground()
-    {
-    if (iFepFullyConstructed)
-        {
-        ClearFlag(EFlagRemoveMatchesMenuItem);
-        ClearCcpuFlag(ECcpuStateHashDown | ECcpuStateSelectionEventPosted | 
-                      ECcpuStateEdwinInSelectionMode);
-        TRAPD(err, iPtiEngine->HandleCommandL(EPtiCommandReloadLearningInfo));
-        if (err != KErrNone)
-            {
-            CleanUpFep();
-            }
-        }
-
-#ifdef RD_SCALABLE_UI_V2        
-    CCoeControl* focusCtrl = static_cast<const CCoeAppUi*>(CCoeEnv::Static()->AppUi())->TopFocusedControl(); 
-    iGainForeground = ETrue;
-    /*if( iLoseForeAndGainFocus )
-        {
-        SendEventsToPluginManL( EPluginFocusChanged, iGainForeground );
-        }*/
-    if(focusCtrl && focusCtrl->IsFocused())
-        {
-        if(GetForegroundTaskAppWgId() == CCoeEnv::Static()->RootWin().Identifier())
-            //SendEventsToPluginManL( EPluginFocusChanged, iGainForeground );
-            TRAP_IGNORE(SendEventsToPluginManL( EPluginForegroundChanged, ETrue));            
-        }
-    else
-        {
-        if (iFepPluginManager) 
-            {
-            iFepPluginManager->HandleiDimGainForeground(ETrue);   
-            }            
-        }
-#endif // RD_SCALABLE_UI_V2        
-    }
-
-void CAknFepManager::HandleLosingForeground()
-    {
-    if (iFepFullyConstructed)
-        {
-        // Forget the shift state on FEP switch (i.e. when application goes to background)
-        ClearFlag(EFlagQwertyShiftMode | EFlagShiftKeyDepressed | 
-                  EFlagLongShiftKeyPress | EFlagNoActionDuringShiftKeyPress);
-        }	
-    if (Japanese())
-        {
-        TRAP_IGNORE(TryCloseUiL());
-        }
-    if (IsChineseInputLanguage())
-        {
-        TRAP_IGNORE(TryCloseUiL());
-        }
-        
-#ifdef RD_SCALABLE_UI_V2     
-    iGainForeground = EFalse;
-    //SendEventsToPluginManL( EPluginFocusChanged, iGainForeground );
-    TRAP_IGNORE(SendEventsToPluginManL( EPluginForegroundChanged, EFalse));            
-#endif // RD_SCALABLE_UI_V2    
-    }
-
-void CAknFepManager::HandleChangeInFocus()
-    {
-    TRAPD(err, HandleChangeInFocusL());
-    if (err != KErrNone)
-        {
-        CleanUpFep();
-        }
-    }
-
-void CAknFepManager::HandleDestructionOfFocusedItem()
-    {
-    if (iInputCapabilities.FepAwareTextEditor())
-        {
-        iFocusedItemDestroy = ETrue;
-        if ( iFepManState == EAknFepStateUIActive )
-            {            
-            TRAP_IGNORE(SendEventsToPluginManL( EPluginFocusItemDestroy ));  
-            if (Japanese() && iAknEditorFlags & EAknEditorFlagFindPane)
-                {
-                // In case of Find pane while inputting japanese characters,
-                // No update or commit characters.
-                iPtiEngine->ClearCurrentWord();
-                }
-
-        #ifdef RD_SCALABLE_UI_V2
-            // For addition of ITI features on FSQ, 
-            // need to restore some values stored before opening FSQ
-            // When go into this section, 
-            // touch ui won't be closed by ClosePluginInputUiL,
-            // but need to restore fep state here            
-            if ( iFepPluginManager )
-            	{
-            	iFepPluginManager->ResetItiStateL();
-            	}
-        #endif
-            // Close UI
-            FepUI()->CloseUI();
-            }
-        else
-            {            
-            TRAP_IGNORE(SendEventsToPluginManL( EPluginFocusItemDestroy, ETrue ));  
-            }
-        iFocusedItemDestroy = EFalse;
-        }
-
-    if ( !(IsFlagSet(EFlagForegroundUIComponentVisible) ||
-        IsFlagSet(EFlagMenuPaneVisible)) )
-        {
-        iLanguageCapabilities.iNumericEditorDigitType = EDigitTypeUnknown;
-        //UpdateLocalDigitMode();
-        }
-    if(IsFlagSet(EFlagForegroundUIComponentVisible))
-        {
-        ClearFlag(EFlagForegroundUIComponentVisible);
-        }
-
-    ClearFlag( EFlagInsideInlineEditingTransaction |
-        EFlagInsideMultitapInlineEditingTransaction |
-        EFlagLineFeedCharacter | EFlagNoMatches );
-
-    iInputCapabilities = NULL;
-    }
-
-void CAknFepManager::HandleAknEdwinStateEventL(CAknEdwinState* aAknEdwinState, 
-                                               EAknEdwinStateEvent aEventType)
-    {
-    if(aEventType == EAknEdwinDestroy)
-    	{
-		// Reset the last focus editor when destroy it.
-        if ( aAknEdwinState == iLastFocusedEditor )
-            {
-            iLastFocusedEditor->SetObserver( NULL );
-            iLastFocusedEditor = NULL;
-            }
-        
-        // Whenever the editor is destroyed, we destroy all the UI components we launched
-        if(iFepAwareDialogParentEditor == NULL || 
-        		iFepAwareDialogParentEditor == aAknEdwinState)
-        	{
-            // EExtendedFlagEdwinEditorDestroyed flag is used to leave once the dialog is closed.
-            SetExtendedFlag(EExtendedFlagEdwinEditorDestroyed);
-            // Delete any candidate popup is launched
-            if(iCandidatePopup)
-                {
-                delete iCandidatePopup;
-                iCandidatePopup = NULL;
-                }        
-            // Delete anu UI components launched by Fep.
-            iUiInterface->DeleteDialogs();
-        	}
-    	}
-    if ( IsFepAwareTextEditor() )
-        {
-        CAknEdwinState* editorState = EditorState();
-        if ( editorState != aAknEdwinState || !iFepFullyConstructed )
-            {
-            // FEP state update is not needed because editor state of non-focused
-            // editor was changed.
-            return;
-            }
-
-        switch (aEventType)
-            {
-            case EAknEdwinStateInputModeUpdate:
-                {
-                TUint currentInputMode = editorState->CurrentInputMode();
-                if ( EditorModeFromFepMode(iMode) != currentInputMode )
-                    {
-                    if (IsFlagSet(EFlagInsideInlineEditingTransaction))
-                        {
-                        TryRemoveNoMatchesIndicatorL();
-                        }
-                    UpdateCbaL(NULL);
-                    TryCloseUiL();
-                    ConfigureFEPFromEditorStateL();
-                    }
-                }
-                break;
-            case EAknEdwinStateCaseModeUpdate:
-                {
-                TInt currentCaseMode = editorState->CurrentCase();
-                if ( currentCaseMode != iCaseMan->CurrentCase() )
-                    {
-                    iCaseMan->SetCurrentCase(currentCaseMode);
-                    }
-                }
-                break;
-            case EAknEdwinStateLocalLanguageUpdate:
-                {
-                TLanguage localLanguage = ELangTest;
-                if (GetLocalLanguage( localLanguage ) )
-                    {
-                    iLanguageCapabilities.iLocalInputLanguageInUse = ETrue;
-                    if ( localLanguage != iLanguageCapabilities.iInputLanguageCode )
-                        {
-                        ChangeInputLanguageL(localLanguage);
-                        }
-                    }
-                }
-                break;
-            case EAknEdwinStateFlagsUpdate:
-                {
-                TInt oldEditorFlags = iAknEditorFlags;
-                if(iAknEditorFlags != editorState->Flags())
-                    {
-                    iAknEditorFlags = editorState->Flags();
-                    UpdateLocalDigitMode();
-                    }
-                if ( iAknEditorFlags != oldEditorFlags )
-                    {
-                    if ( (iAknEditorFlags & EAknEditorFlagNoT9) != 
-                         (oldEditorFlags & EAknEditorFlagNoT9))
-                        {
-                        if (IsFlagSet(EFlagInsideInlineEditingTransaction))
-                            {
-                            TryRemoveNoMatchesIndicatorL();
-                            }
-                        UpdateCbaL(NULL);
-                        TryCloseUiL();
-                        ConfigureFEPFromEditorStateL();
-                        }
-
-                    if ( (iAknEditorFlags & EAknEditorFlagNoEditIndicators) != 
-                         (oldEditorFlags & EAknEditorFlagNoEditIndicators))
-                        {
-                        // We only need to update indicators when EAknEditorFlagNoEditIndicators was modified.
-                        // Current Fep state is not lost.
-                        UpdateIndicators();
-                        }
-
-                    if ( (iAknEditorFlags & EAknEditorFlagFixedCase) != 
-                         (oldEditorFlags & EAknEditorFlagFixedCase))
-                        {
-                        // We only need to update EFlagSupressAutoUpdate flag when the
-                        // EAknEditorFlagFixedCase was modified.
-                        // Current Fep state is not lost.
-                        if (iAknEditorFlags & EAknEditorFlagFixedCase)
-                            {
-                            SetFlag(EFlagSupressAutoUpdate);
-                            }
-                        else
-                            {
-                            ClearFlag(EFlagSupressAutoUpdate);
-                            }
-                        }
-                    }
-                }
-                break;
-            case EAknEdwinStateEventStateUpdate:
-                {
-                // Feps state is reseted and new state is fetched completelly from editor state.
-                if (IsFlagSet(EFlagInsideInlineEditingTransaction))
-                    {
-                    TryRemoveNoMatchesIndicatorL();
-                    }
-                UpdateCbaL(NULL);
-                TryCloseUiL();
-                ConfigureFEPFromEditorStateL();
-                }
-                break;           
-            case EAknSyncEdwinState:
-#ifdef RD_SCALABLE_UI_V2
-                 if ( !IsCcpuFlagSet(ECcpuStateIgnoreNextEdwinSyncEvent) && iFepPluginManager &&
-                     iFepPluginManager->PluginInputMode() == EPluginInputModeNone )
-#else
-                 if ( !IsCcpuFlagSet(ECcpuStateIgnoreNextEdwinSyncEvent) )
-#endif                     
-                     {
-                     HandleChangeInFocusL();                        
-                     }
-                 else
-                    {
-                    ClearCcpuFlag(ECcpuStateIgnoreNextEdwinSyncEvent);
-                    }
-                 break;  
-                 
-#ifdef RD_SCALABLE_UI_V2
-            case EAknActivatePenInputRequest:
-                SendEventsToPluginManL( EPluginEditorActivate );
-                break;
-            case EAknClosePenInputRequest:
-                if ( iFepPluginManager )
-                    {
-                    iFepPluginManager->ClosePluginInputModeL( EFalse );
-                    }
-                break;
-            case EAknEdwinStatePromptUpdate:
-                SendEventsToPluginManL( EPluginPromptChanged ); 
-                break;
-#endif // RD_SCALABLE_UI_V2                
-            case EAknCursorPositionChanged:
-#ifdef RD_SCALABLE_UI_V2  
-                SendEventsToPluginManL( EPluginSyncFepAwareText );   
-                HandleCopyCutStateL();    
-#endif
-                // whenever focus cahnged happen, internally
-                // editor treat cursorposition change.
-                // In between, if editor context not in inline edit state.
-                // Try to update the case editor gets the focus, and editor
-                // context come in inline state.                
-				//iCaseMan->UpdateCase(ENullNaviEvent);	
-                break;
-
-            default:
-                break;
-            }
-        }
-    }
-
-
-CAknExtendedInputCapabilities::TEditorType CAknFepManager::EditorType() const
-    {
-    MObjectProvider* mop = iInputCapabilities.ObjectProvider();
-
-    if ( mop )
-        {
-        CAknExtendedInputCapabilities* extendedInputCapabilities = 
-        mop->MopGetObject( extendedInputCapabilities );
-
-        if ( extendedInputCapabilities && iInputCapabilities.FepAwareTextEditor() ) 
-            {
-            TInt type = extendedInputCapabilities->EditorType();                                     
-            return static_cast<CAknExtendedInputCapabilities::TEditorType>( type );
-            }
-        }
-        
-    return CAknExtendedInputCapabilities::EUndefined;
-    }
-
-TUint CAknFepManager::MIDPConstraint() const
-	{
-	TUint ConstraintValue=0xFFFFFFFF;
-	MObjectProvider* mop = iInputCapabilities.ObjectProvider();
-	
-	if ( mop )
-		{
-		CAknExtendedInputCapabilities* extendedInputCapabilities = 
-        mop->MopGetObject( extendedInputCapabilities );
-		if ( extendedInputCapabilities && iInputCapabilities.FepAwareTextEditor() ) 
-			{
-			ConstraintValue = extendedInputCapabilities->MIDPConstrainst();
-			}
-		}
-		return ConstraintValue;
-	}
-    
-TBool CAknFepManager::IsSpecialNumericEditor()
-	{
-	TBool JavaNumericEditor = EFalse;
-	TUint ConstraintValue = MIDPConstraint();
-	if((ConstraintValue & ESplConstraintMask) == ESplNumeric ||
-	   (ConstraintValue & ESplConstraintMask) == ESplDecimal)
-		JavaNumericEditor = ETrue;
-	
-	return JavaNumericEditor;
-	
-	}
-#ifdef RD_SCALABLE_UI_V2
-void CAknFepManager::HandleInputCapabilitiesEventL( TInt aEvent, TAny* /*aParams*/ )
-    {
-    switch (aEvent)
-        {
-        case CAknExtendedInputCapabilities::MAknEventObserver::EActivatePenInputRequest:
-            SendEventsToPluginManL( EPluginEditorActivate );
-            break;
-        case CAknExtendedInputCapabilities::MAknEventObserver::EPointerEventReceived:
-
-/* 
-#ifdef RD_TACTILE_FEEDBACK
-            CAknExtendedInputCapabilities::
-                MAknEventObserver::TPointerEventReceivedParams* params = 
-                    static_cast<CAknExtendedInputCapabilities::
-                MAknEventObserver::TPointerEventReceivedParams*>(aParams);
-            if (params->iPointerEvent.iType == TPointerEvent::EButton1Down)            
-                {
-                
-                MTouchFeedback* feedback = MTouchFeedback::Instance();
-                if (feedback && iFepPluginManager && !iFepPluginManager->VKBIsOpened())
-                    {
-                    feedback->InstantFeedback( ETouchFeedbackBasic );
-                    }
-                }
-#endif // RD_TACTILE_FEEDBACK
-*/
-            if( IsFlagSet( EFlagInsideInlineEditingTransaction ) )
-                {
-                if (IsFeatureSupportedJapanese())
-			        {
-			        TryCloseUiL();
-			        }
-			    else
-			        {
-#ifdef RD_INTELLIGENT_TEXT_INPUT			        
-			        iPtiEngine->CommitCurrentWord();
-					CommitInlineEditL();
-			        TryCloseUiL();
-
-#else
-					CommitInlineEditL();
-#endif			        
-			        }
-                }
-            break;      
-        case CAknExtendedInputCapabilities::MAknEventObserver::EControlContentUpdatedInternally:
-            SendEventsToPluginManL( EPluginSyncFepAwareText, EPluginSyncAll );
-            break;
-        case CAknExtendedInputCapabilities::MAknEventObserver::EOpenStylusMenuCcpu:
-            // User has highlighted text and editor requests stylus ccpu popup menu
-            // to be displayed.        
-            LaunchStylusCcpuMenuL(iClickPoint);
-            break;
-        }    
-    }
-    
-void CAknFepManager::SubmitInlineTextL( const TDesC& aData )
-    {
-    if(TextIsValidInEditor(aData))
-    	{
-    	StartInlineEditL(aData);
-    	CommitInlineEditL();
-    	}
-    }
-    
-// for japanese  
-void CAknFepManager::NotifyJapaneseSetting()
-    {
-	TInt param = 0;
-    // Deleting direction ON(right side) / OFF(left side)
-    if (iSharedDataInterface->ClearDirection() == EClearDirectionRight)
-        {
-        param |= EPenInputJapaneseSettingDeletingDirection;
-        }
-    // Japanese predictive ON(predictive on) / OFF(predictive off)
-    if (iJapanesePredictive)
-        {
-        param |= EPenInputJapaneseSettingPredictive;
-        }
-    // Japanese HWR conversion ON / OFF
-    if (iSharedDataInterface->JapaneseHwrConversion() == EJapaneseConversionOn)
-        {
-        param |= EPenInputJapaneseSettingConversion;
-        }
-    // Japanese HWR conversion ON / OFF
-    if (iCharWidth == EFullWidthChar)
-        {
-        param |= EPenInputJapaneseSettingCharacterWidth;
-        }
-    // Japanese qwerty setting flag
-    TInt qwertflag = iSharedDataInterface->JapaneseQwertyFlags();
-    // Qwerty Comma
-    if (qwertflag & EJapQwertySettingComma)
-        {
-        param |= EPenInputJapaneseSettingQwertyComma;
-        }
-    // Qwerty Period
-    if (qwertflag & EJapQwertySettingPeriod)
-        {
-        param |= EPenInputJapaneseSettingQwertyPeriod;
-        }
-    // Qwerty Width Of Space
-    if (qwertflag & EJapQwertySettingSpaceFullWidth)
-        {
-        param |= EPenInputJapaneseSettingQwertyWidthOfSpace;
-        }
-    // Lunch SCT
-    if (IsAbleToLaunchSCT())
-        {
-        param |= EPenInputJapaneseSettingLunchSCT;
-        }
-#ifdef RD_SCALABLE_UI_V2
-    // Set Japanese setting
-    if(iFepPluginManager->CurrentPluginInputFepUI())    
-        {
-        TRAP_IGNORE(iFepPluginManager->CurrentPluginInputFepUI()->HandleCommandL(
-                                             ECmdPenInputJapaneseSetting, param));
-        }
-#endif //RD_SCALABLE_UI_V2    
-    }
-
-TBool CAknFepManager::FullyFepAwareTextEditor() const
-    {
-    if ( iInputCapabilities.FepAwareTextEditor() )
-        {
-        if ( EditorType() != CAknExtendedInputCapabilities::EMFNEBased )
-            {
-            return ETrue;
-            }
-        }
-        
-    return EFalse;
-    }
-
-TBool CAknFepManager::SemiFepAwareTextEditor( TBool aAtLeast ) const
-    {
-    if ( aAtLeast )
-        {
-        switch ( EditorType() )
-            {
-            case CAknExtendedInputCapabilities::EEdwinBased:
-            case CAknExtendedInputCapabilities::EMFNEBased:
-                return ETrue;
-                
-            default:
-                return EFalse;
-            }
-        }
-    else
-        {
-        return EditorType() == CAknExtendedInputCapabilities::EMFNEBased;
-        }
-    }
-    
-void CAknFepManager::ProcessEditorMenuCommand(TInt aCommand)
-    {
-    TRAP_IGNORE(ProcessCommandL(aCommand));    
-    }
-    
-TInt CAknFepManager::GetPermittedEditorMenu(TBool aOnlyCount)
-    {
-    TInt count = 0;
-    TRAP_IGNORE(count = GetPermittedEditorMenuL(aOnlyCount));
-    return count;
-    }
-
-TInt CAknFepManager::GetPermittedEditorMenuL(TBool aOnlyCount)
-    {
-    
-    CAknEdwinState* editorState = NULL;
-    if (iInputCapabilities.FepAwareTextEditor())
-        {
-        editorState = EditorState();
-        }
-    
-    CAknFepUiInterfaceMenuBar* menuBar = NULL;
-
-	RPointerArray<CEikMenuPaneItem> editorMenuItemList;	
-    
-    CEikMenuPane* editorMenuPane = new (ELeave) CEikMenuPane((MEikMenuObserver*)(this));
-    editorMenuPane->SetItemArrayOwnedExternally(EFalse);
-    TResourceReader reader;
-    CCoeEnv::Static()->CreateResourceReaderLC(reader, R_AVKON_TOUCH_INDICATOR_EDIT_MODE_MENU);//
-        
-    const TInt menuCount=reader.ReadInt16();
-    for ( TInt ii=0; ii<menuCount; ++ii )
-        {
-        CEikMenuPaneItem* item = new(ELeave) CEikMenuPaneItem();
-        CleanupStack::PushL( item );
-        item->iData.iCommandId = reader.ReadInt32();
-        item->iData.iCascadeId = reader.ReadInt32();
-        item->iData.iFlags = reader.ReadInt32();
-        TPtrC txtptr = reader.ReadTPtrC();
-        item->SetScaleableTextL( txtptr );
-        TPtrC extratxtptr = reader.ReadTPtrC();
-        item->iData.iExtraText = extratxtptr;
-        TPtrC bitmapFile = reader.ReadTPtrC();
-        TInt bitmapId = reader.ReadInt16();
-        TInt bitmapMaskId = reader.ReadInt16();
-        CleanupStack::Pop(); // pop first, since additem pushes again
-        editorMenuPane->AddMenuItemL( item->iData );
-        editorMenuItemList.Append(item);
-        reader.ReadInt32(); // extension link
-        }
-        
-    CleanupStack::PopAndDestroy(); //reader 
-
-            
-    if (editorState)
-        {
-        menuBar = iUiInterface->EditorStateMenuBar(editorState);
-        }
-    
-    TInt count = 0;            
-    
-    if ( menuBar )
-        {
-        CAknFepUiInterfaceMenuPane* menuPane = menuBar->MenuPane();
-
-        CEikMenuPane* oldMenuPane = menuPane->GetMenuPane();
-   
-        menuPane->SetMenuPane(editorMenuPane);             
-             
-        DynInitTouchMenuPaneL(menuPane);
-        
-        menuPane->SetMenuPane(oldMenuPane);
-                
-
-        for (TInt ii = 0; ii < KMaxMenuSize; ii++)
-            {
-            CEikMenuPaneItem::SData& itemdata = 
-                        editorMenuPane->ItemData(KEditorMenuPermitedSend[ii]);
-            if ( !(itemdata.iFlags & EEikMenuItemDimmed ) )
-                {
-                count = count + 1;
-                iEditorCommandList[count] = itemdata.iCommandId; 
-                }
-            }
-        iEditorCommandList[0] = count;
-        if (!aOnlyCount && iFepPluginManager->CurrentPluginInputFepUI())
-            {
-            iFepPluginManager->CurrentPluginInputFepUI()->HandleCommandL(
-                        ECmdPenInputSendEditMenuData, reinterpret_cast<TInt>(iEditorCommandList));
-            }
-        
-        editorMenuItemList.ResetAndDestroy();
-        delete editorMenuPane;
-        editorMenuPane = NULL;
-        }
-    
-    return count;
-    }
-#endif // RD_SCALABLE_UI_V2
-
-void CAknFepManager::ExitPluginSpellModeByOk()
-    {
-    TRAP_IGNORE(ExitPluginSpellModeByOkL());
-    }
-
-void CAknFepManager::ExitPluginSpellModeByOkL()
-    {
-#ifdef RD_SCALABLE_UI_V2        		    
-    if (iFepPluginManager->IsSpellVisible())
-        {
-        HBufC* spell = iFepPluginManager->SpellTextInput();
-        
-        iFepPluginManager->SetITUTSpellingStateL(EFalse); 
-        iFepPluginManager->DestroySpellEditor();
-        
-        if (spell)
-            {
-            CleanupStack::PushL(spell);
-            TPtr text = spell->Des();
-            FepUI()->AddTextToUserDictionaryL(text);
-            InsertTextFromDialogL(text, iFepPluginManager->CursorSelection());
-            CleanupStack::PopAndDestroy(spell);
-            }
-        
-        UpdateCbaL(NULL); 
-        if (iFepPluginManager->CaseUpdatesSupressed())
-            {
-            SetFlag(EFlagSupressAutoUpdate);
-            }
-        else
-            {
-            ClearFlag(EFlagSupressAutoUpdate);
-            }
-        ClearFlag(EFlagSupressAutoUpdateAtEditorStart);
-        }
-#endif       		    
-    }
-
-void CAknFepManager::ExitPluginSpellModeByCancel()
-    {
-/*    
-#ifdef RD_SCALABLE_UI_V2
-    if (iFepPluginManager->IsSpellVisible())
-        {
-        iFepPluginManager->SetITUTSpellingStateL(EFalse); 
-        iFepPluginManager->DestroySpellEditor();
-        UpdateCbaL(NULL);
-        HandleChangeInFocus();
-        if (iFepPluginManager->CursorSelection().Length())
-            {
-            EditorState()->SetInlineEditSpan(iFepPluginManager->CursorSelection());
-            ConfigureFEPFromEditorStateL();
-            }
-        TransferFepStateToEditorL();
-
-        if (iFepPluginManager->CaseUpdatesSupressed())
-            {
-            SetFlag(EFlagSupressAutoUpdate);
-            }
-        else
-            {
-            ClearFlag(EFlagSupressAutoUpdate);
-            }
-        ClearFlag(EFlagSupressAutoUpdateAtEditorStart);
-        iFepPluginManager->SetBeforeSpell(ETrue);
-        }
-#endif
-*/
-#ifdef RD_SCALABLE_UI_V2
-    if (iFepPluginManager->IsSpellVisible())
-        {
-        TRAP_IGNORE(iFepPluginManager->SetITUTSpellingStateL(EFalse)); 
-        iFepPluginManager->DestroySpellEditor();
-
-        TRAP_IGNORE(UpdateCbaL(NULL)); 
-        if (iFepPluginManager->CaseUpdatesSupressed())
-            {
-            SetFlag(EFlagSupressAutoUpdate);
-            }
-        else
-            {
-            ClearFlag(EFlagSupressAutoUpdate);
-            }
-        ClearFlag(EFlagSupressAutoUpdateAtEditorStart);
-        }
-#endif       		
-    }
-
-void CAknFepManager::ProcessCommandL(TInt aCommandId)
-    {
-    //ProcessCommandL() is called before HandleChangeInFocus() for the editor to insert the
-    //number into, so have to force a call
-    
-    //Process pen input menu if avaliable
-#ifdef RD_SCALABLE_UI_V2
-
-     if (iFepPluginManager && 
-        (iFepPluginManager->PluginInputMode() == EPluginInputModeItut)) 
-       	{
-       	switch(aCommandId)
-       		{
-       		case EAknSoftkeyOptions:
-       		    {
-       		    LaunchSelectModeMenuL();
-       		    }
-       		    return;
-       		case EAknSoftkeyOk:
-       		    {
-                iFepPluginManager->ClosePluginInputModeL(ETrue);
-       		    }
-       		    return;
-       		default:
-       			{
-       			break;
-       			}
-       		}
-       	}
-
-    SendEventsToPluginManL( EPluginMenuCmd, aCommandId );
-
-#endif //RD_SCALABLE_UI_V2
-    MAknFepManagerInterface* currentFepUI=NULL;
-    switch (aCommandId)
-        {
-        // Edit mode menu commands
-        //The soft CBA event from touch screen. 
-        case EAknSoftkeyCancel:
-      //  case (TUint16)EAknSoftkeyCancel:
-        case EAknSoftkeySelect:
-     //   case (TUint16)EAknSoftkeySelect:
-        currentFepUI = FepUI();
-        if (currentFepUI)
-            currentFepUI->HandleCommandL( aCommandId );
-            break;
-        // --- commands for Japanese ---
-        case EJapanFepCmdModeHiragana:
-            SendEventsToPluginManL( EPluginCloseMode, EFalse );
-            HandleChangeInFocus();
-            TryChangeModeL(EHiraganaKanji);
-            break;
-        case EJapanFepCmdModeKatakana:
-            SendEventsToPluginManL( EPluginCloseMode, EFalse );
-            HandleChangeInFocus();
-            TryChangeModeL(EKatakana);
-            break;
-        case EAknCmdEditInsertPictograph:
-            SetStopProcessFocus(ETrue);            
-            HandleChangeInFocus();
-            LaunchPictographCharacterTableL();
-            SetStopProcessFocus(EFalse);            
-            break;
-        case EJapanFepCmdModeFullWidth:
-        case EPenInputJpCmdFullWidth:
-        case EJapanFepCmdModeHalfWidth:
-        case EPenInputJpCmdHalfWidth:
-            {
-            SendEventsToPluginManL( EPluginCloseMode, EFalse );
-            HandleChangeInFocus();
-            if (aCommandId == EJapanFepCmdModeFullWidth
-             || aCommandId == EPenInputJpCmdFullWidth)
-                {
-                iCharWidth = EFullWidthChar;
-                }
-            else
-                {
-                iCharWidth = EHalfWidthChar;
-                }
-            UpdateIndicators();
-            TryChangeModeL(iMode);
-#ifdef RD_SCALABLE_UI_V2
-            if (aCommandId == EPenInputJpCmdFullWidth
-             || aCommandId == EPenInputJpCmdHalfWidth)
-                {
-                // Re-open pen input window
-                SendEventsToPluginManL( EPluginActivate );  
-                }
-#endif //RD_SCALABLE_UI_V2
-            }
-            break;
-        case EJapanFepCmdModeUserDic:
-        case EPenInputJpCmdSaveWord:
-            {
-            SendEventsToPluginManL( EPluginCloseMode, EFalse );
-            // User dictionary
-#ifdef RD_PF_SEC_APPARC
-            // Launch settings app
-            if ( iNullService )
-                {
-                delete iNullService;
-                iNullService = NULL;
-                }
-            iNullService = CAknNullService::NewL( KUidUserDictApp, this );
-#else
-            CEikProcess* process = CEikonEnv::Static()->Process();
-            if (iEmbedded)
-                {
-                process->DestroyDocument(iEmbedded);
-                }
-#if (defined(SYMBIAN_SUPPORT_UI_FRAMEWORKS_V1) || defined(__SERIES60_27__) || defined(__SERIES60_28__)) 
-            iEmbedded = process->AddNewDocumentL(_L("User Dictionary"), KUidUserDictApp);
-#else
-            iEmbedded = process->AddNewDocumentL(KUidUserDictApp);
-#endif
-            iEmbedded->NewDocumentL();
-            iEmbedded->EditL(NULL);
-#endif //RD_PF_SEC_APPARC
-            }
-            break;
-        case EPenInputJpCmdKutenCode:
-        case EJapanFepCmdModeKutenCodeInput:
-            {
-            SendEventsToPluginManL( EPluginCloseMode, EFalse );
-            LaunchKutenCodeQueryL();
-#ifdef RD_SCALABLE_UI_V2
-            if (aCommandId == EPenInputJpCmdKutenCode)
-                {
-                // Re-open pen input window
-                SendEventsToPluginManL( EPluginActivate );
-                }
-#endif //RD_SCALABLE_UI_V2
-            }
-            break;
-        case EAknCmdEditClearDirectionLeft:
-        case EAknCmdEditClearDirectionRight:
-            {
-            TInt value = EClearDirectionLeft;
-            if (aCommandId == EAknCmdEditClearDirectionRight)
-                {
-                value = EClearDirectionRight;
-                }
-            iSharedDataInterface->SetClearDirection(value);
-            }
-            break;
-        case EAknFepSoftkeyCloseWindow:
-            if(IsChineseInputLanguage())
-                {
-                TryCloseUiL();
-                }                        
-            if (iCcpuMode != ECcpuStateNone)
-                {
-                ResetCcpuFlags();
-
-                // reset select mode indicators
-                iIndicator->SetCopyMode(EFalse);
-                // update view                
-                iPreviousEditingState = EStateNone;
-                UpdateIndicators();
-
-                iUiInterface->DeleteSoftkeys();                              
-                break;
-                }
-        case EAknFepSoftkeyCommit:
-        case EAknFepSoftkeySelectCandidate:
-        case EAknFepSoftkeyConvert:
-        case EAknFepSoftkeyOtherModes:
-        case EAknFepSoftkeyRetroActiveHalf:
-        case EAknFepSoftkeyRetroActiveFull:
-            {
-            FepUI()->HandleCommandL(aCommandId);
-            }
-            break;
-        case EAknFepSoftkeyPredictiveOn:
-            {
-            iJapanesePredictive = ETrue;
-            iSharedDataInterface->SetJapanesePredictiveTextOn();
-            iHashKeyMan->SetMode(iMode, ETrue);
-            UpdateIndicators();
-            FepUI()->HandleCommandL(aCommandId);
-            }
-            break;
-        case EJapanFepCmdModePredictiveOn:
-            {
-            SendEventsToPluginManL( EPluginCloseMode, EFalse );
-            HandleChangeInFocus();
-            if (!iJapanesePredictive)
-                {
-                LaunchConfirmationNoteL(R_AVKON_JAPANESE_PREDICTIVE_ACTIVATED_NOTE);
-                }
-            iJapanesePredictive = ETrue;
-            TryChangeModeL(EHiraganaKanji);
-            iSharedDataInterface->SetJapanesePredictiveTextOn();
-            }
-            break;
-        case EJapanFepCmdModePredictiveOff:
-            {
-            SendEventsToPluginManL( EPluginCloseMode, EFalse );
-            HandleChangeInFocus();
-            if (iJapanesePredictive)
-                {
-                LaunchConfirmationNoteL(R_AVKON_JAPANESE_PREDICTIVE_DEACTIVATED_NOTE);
-                }
-            iJapanesePredictive = EFalse;
-            TryChangeModeL(EHiraganaKanji);
-            iSharedDataInterface->ResetJapanesePredictiveTextOn();
-            }
-            break;
-#ifdef RD_SCALABLE_UI_V2
-        case EPenInputJpCmdPredictiveOn:
-            {
-            iJapanesePredictive = ETrue;
-            iSharedDataInterface->SetJapanesePredictiveTextOn();
-            if (iFepPluginManager->PluginInputMode() == EPluginInputModeHwr)
-                {
-                iSharedDataInterface->SetJapaneseHwrConversion(EJapaneseConversionOn);
-                }
-            }
-            break;
-        case EPenInputJpCmdPredictiveOff:
-            {
-            iJapanesePredictive = EFalse;
-            iSharedDataInterface->ResetJapanesePredictiveTextOn();
-            }
-            break;
-        case EPenInputJpCmdConversionOn:
-            {
-            iSharedDataInterface->SetJapaneseHwrConversion(EJapaneseConversionOn);
-            }
-            break;
-        case EPenInputJpCmdConversionOff:
-            {
-            iSharedDataInterface->SetJapaneseHwrConversion(EJapaneseConversionOff);
-            }
-            break;
-#endif //RD_SCALABLE_UI_V2
-
-        // --- commands for Chinese ---
-        case EChinFepCmdModePinyin:
-            SendEventsToPluginManL( EPluginCloseMode, EFalse );
-            HandleChangeInFocus();
-            TryChangeModeL(EPinyin);
-            break;
-        case EChinFepCmdModeZhuyin:
-            SendEventsToPluginManL( EPluginCloseMode, EFalse );
-            HandleChangeInFocus();
-            TryChangeModeL(EZhuyin);
-            break;
-        case EChinFepCmdModeStroke:
-            SendEventsToPluginManL( EPluginCloseMode, EFalse );
-            HandleChangeInFocus();
-            TryChangeModeL(EStroke);
-            break;
-        case EChinFepCmdModeCangJie:
-            SendEventsToPluginManL( EPluginCloseMode, EFalse );
-            HandleChangeInFocus();
-            TryChangeModeL(ECangJie);
-            break;
-        case EChinFepCmdModeCangJieOption:
-            // Launch CangJie option dialog
-            {
-            SetStopProcessFocus(ETrue);
-            SendEventsToPluginManL( EPluginCloseMode, EFalse );
-            TInt newMode = LaunchCangJieOptionDlgL();
-            SetStopProcessFocus(EFalse);
-            UpdateCangJieState( newMode );
-            }
-            break;
-        case EChinFepCmdModeLatinUpper:
-            SendEventsToPluginManL( EPluginCloseMode, EFalse );
-            HandleChangeInFocus();
-            TryChangeModeL(ELatinUpper);
-            // delete it for support auto update to text-case
-            //SetFlag(EFlagSupressAutoUpdate);
-            iCaseMan->SetCurrentCase(EAknEditorUpperCase);
-            break;
-        case EAknCmdEditModeKorean:
-            SendEventsToPluginManL( EPluginCloseMode, EFalse );
-            HandleChangeInFocus();
-            TryChangeModeL(EHangul);
-            // delete it for support auto update to text-case
-            //SetFlag(EFlagSupressAutoUpdate);
-            iCaseMan->SetCurrentCase(EAknEditorUpperCase);
-            break;
-        case EChinFepCmdModeLatinLower:
-            SendEventsToPluginManL( EPluginCloseMode, EFalse );
-            HandleChangeInFocus();
-            TryChangeModeL(ELatinLower);
-            // delete it for support auto update to text-case
-            //SetFlag(EFlagSupressAutoUpdate);
-            iCaseMan->SetCurrentCase(EAknEditorLowerCase);
-            break;
-        case EAknCmdEditModeNumber:
-        case EJapanFepCmdEditModeNumber:
-        case EChinFepCmdModeNumber:
-            SendEventsToPluginManL( EPluginCloseMode, EFalse );
-            HandleChangeInFocus();
-            if ( iLanguageCapabilities.iArabicIndicDigitsAllowed 
-                || iLanguageCapabilities.iEasternArabicIndicDigitsAllowed 
-                || iLanguageCapabilities.iIndicDigitsAllowed )
-                {
-                iLanguageCapabilities.iLocalDigitType = EDigitTypeWestern;
-                }
-            TryChangeModeL(ENumber);
-            break;
-        case EAknCmdEditModeArabicIndicNumber:
-            SendEventsToPluginManL( EPluginCloseMode, EFalse );
-            HandleChangeInFocus();
-            iLanguageCapabilities.iLocalDigitType = EDigitTypeArabicIndic;
-            TryChangeModeL(ENativeNumber);
-            break;
-            /*For Eastern Arabic Numeric*/
-        case EAknCmdEditModeEasternArabicIndicNumber:
-            SendEventsToPluginManL( EPluginCloseMode, EFalse );
-            HandleChangeInFocus();
-            iLanguageCapabilities.iLocalDigitType = EDigitTypeEasternArabicIndic;
-            TryChangeModeL(ENativeNumber);
-            break;
-            /*for Hindi*/
-        case EAknCmdEditModeIndicNumber:
-            HandleChangeInFocus();
-            iLanguageCapabilities.iLocalDigitType = EDigitTypeDevanagari;
-            TryChangeModeL(ENativeNumber);
-            break;
-        case EChinFepCmdInstructions:
-            SetStopProcessFocus(ETrue);            
-            HandleChangeInFocus();
-            LaunchHelpTextQueryL();
-            SetStopProcessFocus(EFalse);            
-            break;
-        case EChinFepCmdModeZhuyinFind:
-            SendEventsToPluginManL( EPluginCloseMode, EFalse );
-            HandleChangeInFocus();
-            TryChangeModeL(EZhuyinFind);
-            break;
-        case EChinFepCmdModeStrokeFind:
-            SendEventsToPluginManL( EPluginCloseMode, EFalse );
-            HandleChangeInFocus();
-            TryChangeModeL(EStrokeFind);
-            break;
-
-        // commands for western or common
-        case EJapanFepCmdMultitapPredictiveT9On:
-        case EAknCmdMultitapPredictiveT9On:
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        case EAknFepCmdPredActivate:
-#endif //RD_INTELLIGENT_TEXT_INPUT
-            SetStopProcessFocus(ETrue, EFalse);
-            HandleChangeInFocus();
-#ifdef RD_SCALABLE_UI_V2     
-        if( iFepFullyConstructed && iFepPluginManager)
-            {
-            iFepPluginManager->SetMenuState();            
-            }
-#endif
-            if ( !iWesternPredictive )
-                {
-                LaunchConfirmationNoteL(R_AVKON_T9_ACTIVATED_NOTE);
-                }
-            SetWesternPredictive(ETrue);
-            SetStopProcessFocus(EFalse);
-            TryChangeModeL(ELatin);
-            break;
-        case EAknCmdT9PredictiveT9Off:
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        case EAknFepCmdPredDeactivate:
-#endif //RD_INTELLIGENT_TEXT_INPUT
-        SetStopProcessFocus(ETrue, EFalse);
-            HandleChangeInFocus();
-#ifdef RD_SCALABLE_UI_V2     
-        if( iFepFullyConstructed && iFepPluginManager) 
-            {
-            iFepPluginManager->SetMenuState();            
-            }
-#endif   
-            if (iMode != ELatin)
-                {
-                TryChangeModeL(ELatin);
-                }
-            else
-                {
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-                RemoveSuggestedAdvanceCompletionL();
-#endif // RD_INTELLIGENT_TEXT_INPUT                	
-                CommitInlineEditL();
-                }
-			if ( iWesternPredictive )
-                {
-                LaunchConfirmationNoteL(R_AVKON_T9_DEACTIVATED_NOTE);
-                }
-            SetWesternPredictive(EFalse);
-            SetStopProcessFocus(EFalse);            
-            break;
-        case EAknCmdEditModeEnglish:
-        case EAknCmdEditModeAlpha:
-        case EJapanFepCmdEditModeAlpha:
-            SendEventsToPluginManL( EPluginCloseMode, EFalse );
-            HandleChangeInFocus();            
-            TryChangeModeL(ELatin);
-            iCaseMan->UpdateCase( ENullNaviEvent );
-            ClearFlag(EFlagSupressAutoUpdate);
-            break;
-        case EAknCmdEditModeLatinText:
-            SendEventsToPluginManL( EPluginCloseMode, EFalse );
-            HandleChangeInFocus();
-            TryChangeModeL(ELatinText);
-            ClearFlag(EFlagSupressAutoUpdate);
-            iCaseMan->SetCurrentCase(EAknEditorTextCase);
-            break;
-        case EAknCmdEditInsertSymbol:
-        case EAknCmdEditInsertSymbolJp:
-        case EAknFepSoftkeySymbol:
-        case EAknCmdEditInsertSmiley:
-            SetCcpuFlag(ECcpuStateSupressCursorMoveToEnd);
-#ifdef RD_SCALABLE_UI_V2            
-     if (iFepPluginManager && 
-        (iFepPluginManager->PluginInputMode() == EPluginInputModeItut ||
-         iFepPluginManager->PluginInputMode() == EPluginInputModeFSQ ||
-         iFepPluginManager->PluginInputMode() == EPluginInputModeFingerHwr)) 
-        {
-        iFepPluginManager->SetMenuState();     
-        }
-
-#endif //RD_SCALABLE_UI_V2             
-            SetStopProcessFocus(ETrue, EFalse);
-            HandleChangeInFocus();
-            if (aCommandId == EAknFepSoftkeySymbol)
-                {               
-                SetCcpuFlag(ECcpuStateCbaSymbol);
-                }
-            // Show Thai specific SCT with Thai vowels and tonemarks
-            if ( (iLanguageCapabilities.iInputLanguageCode == ELangThai ) &&
-                 (iMode!=ENumber && iMode != ENativeNumber ) )
-                {
-#ifdef RD_INTELLIGENT_TEXT_INPUT                 	
-                // if itut call Thai multitap HandleCommandL to Launch SCT	
-                if(!iQwertyInputMode)
-                    {
-#endif                    	
-                    TInt resourceId = 0;
-                    if (iAknFepThaiSCTSelector)
-                         {
-                        resourceId = iAknFepThaiSCTSelector->ThaiSCRResourceId(PreviousChar(),EPtiKeyStar);
-                        }
-                    LaunchSpecialCharacterTableL(resourceId, 
-                                                 aCommandId==EAknCmdEditInsertSymbol, 
-                                                 aCommandId==EAknCmdEditInsertSmiley);
-#ifdef RD_INTELLIGENT_TEXT_INPUT                 	                    
-                    }
-                else
-                    {
-                    CAknFepUIManagerWestern* westernUIManager = static_cast<CAknFepUIManagerWestern*>(FepUI());
-                    LaunchSpecialCharacterTableL(westernUIManager->ThaiSCTResourceId(static_cast<TChar>(PreviousChar()),EPtiKeyStar),
-                                                 aCommandId==EAknCmdEditInsertSymbol, 
-                                                 aCommandId==EAknCmdEditInsertSmiley);                    
-                    }
-#endif                    
-                }
-            else
-            {
-                LaunchSpecialCharacterTableL(0, 
-                                             aCommandId==EAknCmdEditInsertSymbol, 
-                                             aCommandId==EAknCmdEditInsertSmiley);
-            }
-            SetStopProcessFocus(EFalse);
-            ClearCcpuFlag(ECcpuStateCbaSymbol);
-            break;
-        case EAknFepSoftkeyPrevious:
-            FepUI()->HandleCommandL(aCommandId);
-            break;
-        case EAknFepSoftkeySpell:
-            LaunchEditWordQueryL();
-            break;
-        case EAknCmdT9PredictiveInsertWord:
-            SetStopProcessFocus(ETrue);
-            HandleChangeInFocus();
-            LaunchInsertWordQueryL(KNullDesC, TCursorSelection(0,0));
-            SetStopProcessFocus(EFalse);
-#ifdef RD_SCALABLE_UI_V2     
-        if( iFepFullyConstructed && iFepPluginManager)
-            {
-            iFepPluginManager->ResetMenuState();            
-            }
-#endif             
-            break;
-        case EAknCmdT9PredictiveEditWord:
-            SetStopProcessFocus(ETrue);
-            HandleChangeInFocus();
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-                RemoveSuggestedAdvanceCompletionL();
-#endif // RD_INTELLIGENT_TEXT_INPUT   
-            LaunchEditWordQueryL();
-            SetStopProcessFocus(EFalse);
-#ifdef RD_SCALABLE_UI_V2     
-            if( iFepFullyConstructed && iFepPluginManager )
-                {
-                iFepPluginManager->ResetMenuState();            
-                }
-#endif 
-            break;
-        case EAknCmdT9PredictiveMatches:
-            SetStopProcessFocus(ETrue,EFalse);
-            LaunchMatchesPopupListL();
-            SetStopProcessFocus(EFalse);
-            break;
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-        case EAknCmdPredictiveAutoWord:
-             if ( !iIsAutoCompleteOn )
-                {
-                SetStopProcessFocus(ETrue);
-                LaunchConfirmationNoteL(R_AVKON_PREDICTIVE_AUTOCOMPLETION_ACTIVATED_NOTE);
-                SetStopProcessFocus(EFalse);
-                }
-             iIsAutoCompleteOn = ETrue;      
-         	 iSharedDataInterface->SetPredictiveTextAutoCompleteOn();  			                 	 
-#ifdef  RD_SCALABLE_UI_V2       	 
-            if(iFepPluginManager->PluginInputMode() == EPluginInputModeItut)
-                {
-                SendEventsToPluginManL( EPluginCloseMode, EFalse );
-                HandleChangeInFocus();
-                }
-#endif
-	 		 UpdateIndicators();
-        	 break;
-        case EAknCmdPredictiveNormal:
-             if ( iIsAutoCompleteOn )
-                {
-                SetStopProcessFocus(ETrue);
-                LaunchConfirmationNoteL(R_AVKON_PREDICTIVE_AUTOCOMPLETION_DEACTIVATED_NOTE);
-                SetStopProcessFocus(EFalse);
-                }
-         	 iIsAutoCompleteOn = EFalse;
-         	 iSharedDataInterface->ResetPredictiveTextAutoCompleteOn();        	 
-        	 UpdateIndicators();
-        	 break;
-#endif
-        case EAknCmdInputLanguage:
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        case EAknFepCmdPredInputLanguage:
-#endif //RD_INTELLIGENT_TEXT_INPUT
-            SetStopProcessFocus(ETrue, EFalse);
-            HandleChangeInFocus();
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-#ifdef FF_DUAL_LANGUAGE_SUPPORT 
-            	// Currently dual language feature would work correctly for ITUT and Half Qwerty products 
-                // Hence the dual language settings should also be displayed only for ITUT and Halfqwerty products
-                if(iKeyboardType == EPtiKeyboard12Key || iKeyboardType == EPtiKeyboardHalfQwerty )
-                    LaunchDualLanguageSettingDialogL();
-                else 
-					{ 
-					LaunchLanguagesPopupListL(aCommandId == EAknCmdInputLanguage);		            
-		            iStopProcessFocus = EFalse; 
-					}             
-#else // FF_DUAL_LANGUAGE_SUPPORT
-            LaunchLanguagesPopupListL(aCommandId == EAknCmdInputLanguage);
-            //HandleChangeInFocus();
-            iStopProcessFocus = EFalse;
-#endif // FF_DUAL_LANGUAGE_SUPPORT
-#else            
-            LaunchLanguagesPopupListL(aCommandId == EAknCmdInputLanguage);
-            HandleChangeInFocus();
-            iStopProcessFocus = EFalse;
-#endif
-            break;
-        case EAknEditMenuCmdCutText:
-             StartCcpuModeL(EFalse);
-             if (WesternPredictive())
-                {                
-                // Remove underlining from predicted word when focus is re-gained.
-                SetCcpuFlag(ECcpuStateUncommitWhenFocused);                 
-                }                                     
-             SetCcpuFlag(ECcpuStateIgnoreNextFocusChange);                            
-             SetCcpuFlag(ECcpuStateEdwinInSelectionMode);                       
-             break;            
-        case EAknEditMenuCmdCopyText:                               
-             StartCcpuModeL(ETrue);
-             if (WesternPredictive())
-                {                
-                // Remove underlining from predicted word when focus is re-gained.
-                SetCcpuFlag(ECcpuStateUncommitWhenFocused);                 
-                }                        
-             SetCcpuFlag(ECcpuStateIgnoreNextFocusChange);               
-             SetCcpuFlag(ECcpuStateEdwinInSelectionMode);                
-             break;
-        case EAknFepSoftkeyStartCopy:
-        case EAknFepSoftkeyStartCut:        
-             {
-             ResetCcpuFlags();
-             if (aCommandId == EAknFepSoftkeyStartCopy)
-                {
-                SetCcpuFlag(ECcpuStateCopy);                
-                }
-             else
-                {
-                SetCcpuFlag(ECcpuStateCut);
-                }
-                
-             __ASSERT_DEBUG(iUiInterface->SoftkeysExist(),
-                            AknFepPanic(EAknFepPanicNoHandleToFepAwareTextEditor));
-                 
-            TBool update = UpdateCBALabelL(ELeftSoftkeyIndex, KNullCommandId, R_TEXT_SOFTKEY_EMPTY);
-            update |= UpdateCBALabelL(ERightSoftkeyIndex, EAknFepSoftkeyCloseWindow, 
-                                      R_AKNFEP_SOFTKEY_CCPU_CANCEL);
-            update |= UpdateCBALabelL( EMiddleSoftkeyIndex, KNullCommandId, R_TEXT_SOFTKEY_EMPTY ); 
-            if (update)
-                {
-                iUiInterface->DrawSoftkeysNow();
-                }                           
-             }
-             break;   
-        case EEikCmdEditCopy:
-        case EEikCmdEditCut:
-            {
-#ifdef RD_SCALABLE_UI_V2            
-     if (iFepPluginManager && 
-        (iFepPluginManager->PluginInputMode() == EPluginInputModeItut ||
-         iFepPluginManager->PluginInputMode() == EPluginInputModeFSQ ||
-         iFepPluginManager->PluginInputMode() == EPluginInputModeFingerHwr)) 
-        {
-        iFepPluginManager->SetMenuState(EFalse);     
-        }
-
-#endif //RD_SCALABLE_UI_V2             
-            SetStopProcessFocus(ETrue, EFalse);
-            HandleCopyCutEventL(aCommandId);
-            SetStopProcessFocus(EFalse);            
-            }
-            break;
-        case EEikCmdEditPaste:
-           	{
-           	// We have a hindi character in clipboard which can form ligature with the existing text
-           	// if pasted. While the input language is English, the cursor aligmment check would not happen.
-           	// When selecting Options->Paste, the Fep context at this point is for the menu.
-           	// iInputCapabilities for editor context is retrived from CCoeEnv and is restored back
-           	// after doing the operation, else FepAwareTextEditor will be true in menu context.
-           	if ( (!BidiCursorRequired()) && (!WesternPredictive()) )
-           		{
-	        	TCoeInputCapabilities origInputCapabilities = iInputCapabilities;
-	        
-	        	CCoeEnv* coeEnv = CCoeEnv::Static();
-	        	iInputCapabilities = static_cast<const CCoeAppUi*>(coeEnv->AppUi())->InputCapabilities();
-        	
-        		if( !(iInputCapabilities.SupportsSecretText()) )		        
-		        	{
-		    	    DoCursorDirectionCheckL();
-			        }	
-    	       	iInputCapabilities = origInputCapabilities;
-	           	}
-           	}     
-        	break;
-            
-        case EAknCmdEditMenuSctSelected:
-            {
-            SetCcpuFlag(ECcpuStateSupressCursorMoveToEnd);
-            HandleChangeInFocus();  // to re-establish contact with editor
-
-            TBuf<ESingleCharacter> charAsDesc(ESingleCharacter);
-            for ( TInt ii = 0; ii < iSctEditChars->Length(); ii++)
-                {
-                charAsDesc[0]=(TText) (*iSctEditChars)[ii];
-                if (charAsDesc[0] == TText(0x000A) // 0x000A is line feed
-                 || charAsDesc[0] == CEditableText::EParagraphDelimiter) 
-                    {
-                    // This is line feed character. Post it to editor and let it decide
-                    // if it is valid.
-                    if (!(iAknEditorFlags & EAknEditorFlagFindPane) && iSctEditChars->Length() == 1)                              
-                        {
-                        SimulateKeyEventL(EKeyEnter);
-                        SimulateKeyEventL(EKeyF19); // Asyncronous case update                                                                                  
-                        }
-                    }                                                        
-                else
-                    {
-                    if (CharIsValidInEditor(charAsDesc[0]))
-                    {
-                    TCursorSelection cursorSelection(0,0);
-                    if ((iAknEditorFlags & EAknEditorFlagMTAutoOverwrite) && 
-                                    iMode == ELatin && !WesternPredictive())
-                        {
-                        TInt edSize = iInputCapabilities.FepAwareTextEditor()->DocumentLengthForFep();
-                        iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(iUncommittedText);
-                        if (iUncommittedText.iCursorPos < edSize && iUncommittedText.Length() == 0)
-                            {
-                            cursorSelection = TCursorSelection(iUncommittedText.iCursorPos + 1, 
-                                                               iUncommittedText.iAnchorPos);
-                            }
-                        }
-                        
-                    if (EditorHasFreeSpace())
-                        {
-                        InsertTextFromDialogL(charAsDesc, cursorSelection);
-                        }
-                                           
-                    }
-                  } 
-                 
-                }
-            } 
-            break;
-        case EAknCmdTaskSwapper:
-            SendEventsToPluginManL( EPluginFaseSwap, ETrue );
-            break;
-            
-        case EAknCmdEditMenuClose:
-            {
-            // Handle destruction of menu
-            StopDisplayingMenuBar();     
-            }            
-        break;
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        // Predictive QWERTY (XT9) changes ---->
-         case EAknFepCmdPredMatches:
-         {
-         	HandleChangeInFocus();  // to re-establish contact with editor
-	        // Focus current active word in list ---->
-	        TInt wordToFocus;
-	        iPtiEngine->HandleCommandL( EPtiCommandUserActionGetCurrentIndexOfCandidates, &wordToFocus );
-	        iSListLaunchedFromMenu = ETrue;
-	        TKeyEvent candLaunch = {EKeyDownArrow, EStdKeyDownArrow, 0, 0};
-			CEikonEnv::Static()->WsSession().SimulateKeyEvent(candLaunch);
-	        //LaunchCandidatePopupListL( wordToFocus );
-	       }
-	        break;
-        case EAknFepCmdPredSettings:
-        	LaunchPredictiveSettingDialogL();
-        	break;
-        /*
-	    This code is the part of fixing TSW Error ID: BSAN-7G58DB :  Edit Menu : 
-	    "Matches" and "insert word" options are not available under Edit Menu.
-	    This is For Insert Word Functionality*/	
-        case EAknEditMenuCmdInsertWord:
-        	HandleChangeInFocus();
-            LaunchInsertWordQueryL(KNullDesC, TCursorSelection(0,0));
-        	break;
-#ifdef __USER_DICTIONARY_EDITING__ 
-        case EAknFepCmdPredEditUserDictionary:
-            if ( IsAutoCompleteOn() )
-                {
-                HandleChangeInFocus();
-                RemoveSuggestedAdvanceCompletionL();
-                }
-            UiInterface()->LaunchUserDictEditDialogL();
-            break;
-#endif //__USER_DICTIONARY_EDITING__ 
-        
-        case EAknFepCmdPredHelp:
-	        // Help ID:PREDINPUT_HLP_INPUT
-			{					
-            const TInt KArrayGranularity = 3;
-            CArrayFix<TCoeHelpContext>* contexts =
-                    new (ELeave) CArrayFixFlat<TCoeHelpContext>( KArrayGranularity );
-	    	CleanupStack::PushL ( contexts );
-	    	TUid appuid = { 0x100058EC };
-	    	contexts->AppendL( TCoeHelpContext( appuid, KFEPPREDINPUT_HLP_INPUT ) );
-	    	CleanupStack::Pop( contexts );
-	    	HlpLauncher::LaunchHelpApplicationL( CEikonEnv::Static()->WsSession(), contexts );			
-			}
-	        break;
-       // Predictive QWERTY (XT9) changes <----
-#endif //RD_INTELLIGENT_TEXT_INPUT
-        // add for phrase creation user db view.
-        case EAknCmdUserDBDlg:
-            {
-            HandleChangeInFocus();
-            LaunchUserDBDlgL();
-           }            
-        break;
-        case EPenInputCmdPreviewOn:
-            {
-            iSharedDataInterface->SetFepShowVkbPreviewStatus(KTouchInputPreviewOn);
-            SendEventsToPluginManL(EPluginPreview, KTouchInputPreviewOn);  
-            }
-        break;
-        case EPenInputCmdPreviewOff:
-            {
-            iSharedDataInterface->SetFepShowVkbPreviewStatus(KTouchInputPreviewOff);
-            SendEventsToPluginManL(EPluginPreview, KTouchInputPreviewOff);    
-            }
-        break;
-        case EPenInputCmdRecognitionWithDictionary:
-            {
-            SetStopProcessFocus(ETrue);
-            HandleChangeInFocus();
-            LaunchRecognitionWithDictionaryPopupListL();
-            HandleChangeInFocus();
-            iStopProcessFocus = EFalse;
-            }
-        break;
-        default:
-            break;
-        }
-        
-        
-    StopDisplayingMenuBar();
-    }
-
-void CAknFepManager::SetEmphasis(CBase* /*aMenuControl*/,TBool aEmphasis)
-    {
-    if (aEmphasis)
-        { // opening main menu pane
-        SetFlag(EFlagMenuPaneVisible);
-        if (IsFlagSet(EFlagInsideInlineEditingTransaction))
-            {
-            SetFlag(EFlagInlineEditInBackground);
-            }
-        }
-    else
-        {
-		// The pointer to be cleared when the callback is received on leaving the focus from the menu pane.
-#ifdef __ITI_VIRTUAL_TOUCH_FIRST_GENERATION_SUPPORT__
-        iOptionsMenuBar = NULL;
-#endif
-        ClearFlag(EFlagMenuPaneVisible | EFlagRemoveMatchesMenuItem | EFlagInlineEditInBackground);
-        }
-    }
-
-void CAknFepManager::DynInitMenuBarL(TInt aResourceId, CAknFepUiInterfaceMenuBar* aMenuBar)
-    {
-    if (iFepFullyConstructed && IsFlagSet(EFlagLaunchEditMenu))
-        {
-        aMenuBar->ReplaceAllMenuPanes(R_AVKON_EDIT_MODE_MENU);
-        }
-        
-#ifdef RD_SCALABLE_UI_V2        
-    if (iFepFullyConstructed &&
-        aResourceId == R_AVKON_PENINPUT_OPTION_MENU_BAR)
-        {
-        aMenuBar->ReplaceAllMenuPanes(R_AVKON_TOUCH_TOUCHINPUT_MENU);
-        }
-#endif //RD_SCALABLE_UI_V2        
-        
-    }
-
-#ifdef RD_SCALABLE_UI_V2
-void CAknFepManager::DynInitTouchMenuPaneL(CAknFepUiInterfaceMenuPane* aMenuPane)
-    {
-    if ( !iFepFullyConstructed )
-        {
-        return;
-        }
-
-
-    if (iFepManState != EAknFepStateNull &&
-        iInputCapabilities.FepAwareTextEditor() &&
-        !(iAknEditorFlags & EAknEditorFlagFindPane))
-        {
-        // 'Input language' menu item on option menu isn't supported in Japanese variant.
-        if (!IsFeatureSupportedJapanese())
-            {
-            // Insert 'Input language' item to incoming menu if editor is active on screen and
-            // menu contains 'Help' or 'Exit' item.
-            if (!IsOnlyNumericPermitted())
-                {
-                TInt helpIndex;
-                if (aMenuPane->MenuItemExists(EAknCmdHelp, helpIndex) ||
-                    aMenuPane->MenuItemExists(EAknCmdExit, helpIndex))
-                    {
-                    AddInputLanguageItemL(aMenuPane, helpIndex);
-                    }
-                }
-            }
-        }
-
-    TInt index;
-    if(aMenuPane->MenuItemExists(EAknCmdEditItemPlaceHolder, index))
-	    {
-		aMenuPane->DeleteMenuItem(EAknCmdEditItemPlaceHolder);	   
-	    }
-
-    ClearFlag(EFlagLaunchEditMenu);
-            
-    DimInputmodeTouchMenuItems(aMenuPane);
-    }
-#endif //RD_SCALABLE_UI_V2
-void CAknFepManager::DynInitMenuPaneL(TInt aResourceId, CAknFepUiInterfaceMenuPane* aMenuPane)
-    {
-    if ( !iFepFullyConstructed )
-        {
-        return;
-        }
-
-#ifdef __ITI_VIRTUAL_TOUCH_FIRST_GENERATION_SUPPORT__
-    CAknEdwinState* editorState = NULL;
-    if (iInputCapabilities.FepAwareTextEditor())
-        {
-        editorState = EditorState();
-        }
-
-    if (editorState)
-        {
-        iOptionsMenuBar = iUiInterface->EditorStateMenuBar(editorState);
-        }
-#endif    
-    
-    SetCcpuFlag(ECcpuStateIgnoreNextEdwinSyncEvent);
-
-    if (iFepManState != EAknFepStateNull &&
-        iInputCapabilities.FepAwareTextEditor() &&
-        !(iAknEditorFlags & EAknEditorFlagFindPane))
-        {
-        // 'Input language' menu item on option menu isn't supported in Japanese variant.
-        if (!IsFeatureSupportedJapanese())
-            {
-            // Insert 'Input language' item to incoming menu if editor is active on screen and
-            // menu contains 'Help' or 'Exit' item.
-            //Also, no need for writing language/ITI options in telephony's dialer
-            if ( (RProcess().SecureId().iId != KPhoneSecureId) && !IsOnlyNumericPermitted() )
-                {
-#ifdef RD_INTELLIGENT_TEXT_INPUT                
-                //This method gets called multiple times - first before the help and exit
-                //commands are populated and finally after these items are added.
-                //So if we have already added the input options menu and/or writing language menu,
-                //remove it. It will get added again to the correct place with the below code.
-                //No need to handle following menu types here.
-                if ( !( R_AVKON_EDIT_MODE_MENU == aResourceId || 
-                        R_AKNFEP_PRED_INPUT_OPTIONS_SUBMENU == aResourceId ||
-                        R_AVKON_PREDICTIVE_TEXT_MENU_T9 == aResourceId ||
-                        R_AVKON_INPUT_MODE_SUB_MENU == aResourceId ||
-                        R_AKNFEP_EDIT_SUBMENU == aResourceId ||
-                        R_AVKON_TOUCH_TOUCHINPUT_MENU == aResourceId ) 
-                // Add this condition for adding "input options" into the option menu of FSQ.
-                        || ( R_AVKON_TOUCH_TOUCHINPUT_MENU == aResourceId
-                             && iFepPluginManager
-                             && iFepPluginManager->IsSupportITIOnFSQ() )
-                        )                        
-                    {
-                    FindAndRemoveInputOptionsMenuItemL( aMenuPane );
-                    FindAndRemoveEditSubMenuItemL (aMenuPane);
-                    AddInputOptionsMenuItemL( aMenuPane );
-                    }                                	        	
-#else
-                TInt helpIndex;
-		if ( aMenuPane->MenuItemExists(EAknCmdHelp, helpIndex) ||
-                     aMenuPane->MenuItemExists(EAknCmdExit, helpIndex) )
-                    {
-                    AddInputLanguageItemL(aMenuPane, helpIndex);
-                    }
-                       	
-#endif //RD_INTELLIGENT_TEXT_INPUT
-                }
-            }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        if ( IsChineseInputLanguage() && 
-                ( iKeyboardType == EPtiKeyboardQwerty4x10 ||
-                iKeyboardType == EPtiKeyboardQwerty3x11 ) )
-            {
-            // the follow added for phrase creation
-            TInt iptlanguage;
-            if ( !iIsUserdbdlgActive )
-                {
-                aMenuPane->MenuItemExists( EAknCmdInputLanguage, iptlanguage );
-                AddUserDBDlgItemL( aMenuPane, iptlanguage );
-                }
-            }
-#endif
-
-        if (!(aResourceId == R_AVKON_EDIT_MODE_MENU ||
-            aResourceId == R_AVKON_TOUCH_TOUCHINPUT_MENU ||
-            aResourceId == R_AVKON_TOUCH_INDICATOR_EDIT_MODE_MENU))
-            {
-            AddEditSubmenuL(aMenuPane);
-            }
-        }
-		
-		//HWR Hindi, Training application is not available,
-        //Disable Menu option
-        if(aResourceId == R_AVKON_TOUCH_TOUCHINPUT_MENU && 
-        	iLanguageCapabilities.iInputLanguageCode == ELangHindi)
-        	{
-        	aMenuPane->SetItemDimmed(EPenInputCmdHwrTraining, ETrue);
-        	}
-    TInt index;
-    if(aMenuPane->MenuItemExists(EAknCmdEditItemPlaceHolder, index))
-	    {
-		aMenuPane->DeleteMenuItem(EAknCmdEditItemPlaceHolder);	   
-	    }
-#ifdef RD_SCALABLE_UI_V2
-    TInt oldPermitModes = -1;
-    if (R_AVKON_TOUCH_TOUCHINPUT_MENU == aResourceId )
-        {
-        oldPermitModes = iPermittedInputModes;
-        
-        if( iFepPluginManager != NULL )
-            {
-            iPermittedInputModes = iFepPluginManager->PreviousPermitMode();
-            }
-        }
-
-    iFepPluginManager->InitMenuPaneL( iRememberEditorState, aMenuPane, aResourceId );
-    if (oldPermitModes != -1)
-        {
-        iPermittedInputModes = oldPermitModes;    
-        }
-#endif //  RD_SCALABLE_UI_V2      
-    switch (aResourceId)
-        {
-        case R_AVKON_TOUCHINPUT_PREVIEW:
-            {
-            InitPreviewMenuPane(aMenuPane);     
-            } 
-        break;
-        case R_AVKON_EDIT_MODE_MENU:
-        case R_AVKON_TOUCH_INDICATOR_EDIT_MODE_MENU:
-            {
-            ClearFlag(EFlagLaunchEditMenu);
-            
-   		  //call comes here when edit key or '*' is pressed and displays avkon edit menu            
-		  //moving only the essential condition checks in EditSubmenuInUse() here
-		  //no need of checking iSharedDataInterface->EditSubmenuInUse() because for devices with edit key
-		  //this would return 0 and would not populate CUT and COPY option
-
-        	TBool tempFlag = ETrue;
-	        if ( ( ( RProcess().SecureId().iId == KPhoneSecureId ) && (iQwertyInputMode) ) ||
-	             ( ExtendedInputCapabilities() & 
-                 CAknExtendedInputCapabilities::EForceEditSubmenuStatusFlagOff)
-	        	  
-	           )
-	        	{
-	        	tempFlag = EFalse;         		
-	        	}
-
-            if (tempFlag)
-                {
-                TInt posit(0);
-                    
-                if (!(iAknEditorFlags & EAknEditorFlagFindPane) &&
-                	iInputCapabilities.FepAwareTextEditor() &&
-                    aMenuPane->MenuItemExists(EEikCmdEditCut, posit) &&
-                    !IsOnlyNumericPermitted() 
-                    )
-                    { 
-                    if (iInputCapabilities.FepAwareTextEditor()->DocumentLengthForFep() > 0 )
-                    	{
-						if (iRememberEditorState && iRememberEditorState->CcpuState() &&
-							!iRememberEditorState->CcpuState()->CcpuCanCopy()&& 
-							PluginInputMode() != EPluginInputModeItut )                      
-							{                                                       
-							TBuf<KMaxFileName> titleStr;
-							StringLoader::Load(titleStr, R_AKNFEP_OPTIONS_EDIT_MENU_CUT_TEXT);                          
-																
-							CAknFepUiInterfaceMenuPane::SItemData itemData;
-						
-							itemData.iCommandId = EAknEditMenuCmdCutText;
-							itemData.iCascadeId = 0;                        
-							if (titleStr.Length())
-								{
-								itemData.iText.Copy(titleStr.Mid(1, titleStr.Length() - 1));                                                
-								}
-							itemData.iFlags = 0;                        
-							aMenuPane->InsertMenuItemL(itemData, posit);            
-											
-							titleStr.Zero();                                            
-							itemData.iText.Zero();
-							StringLoader::Load(titleStr, R_AKNFEP_OPTIONS_EDIT_MENU_COPY_TEXT);
-							
-							itemData.iCommandId = EAknEditMenuCmdCopyText;                      
-							if (titleStr.Length())
-								{
-								itemData.iText.Copy(titleStr.Mid(1, titleStr.Length() - 1));                                                
-								}
-							aMenuPane->InsertMenuItemL(itemData, posit);                                                    
-							}
-						else //Hack for browser in case there are some text already selected
-							{
-							 if (iRememberEditorState && iRememberEditorState->CcpuState() )
-								 {
-								  if(iRememberEditorState->CcpuState()->CcpuCanPaste())
-									  aMenuPane->SetItemDimmed(EEikCmdEditPaste,EFalse);
-								  if(iRememberEditorState->CcpuState()->CcpuCanCopy())
-									  aMenuPane->SetItemDimmed(EEikCmdEditCopy,EFalse);
-								  if(iRememberEditorState->CcpuState()->CcpuCanCut())
-									  aMenuPane->SetItemDimmed(EEikCmdEditCut,EFalse);
-								 }
-							 }
-                    	}
-                    //if the document size is 0 and there are items in clipboard then dislay Paste item
-                    if ( iRememberEditorState && iRememberEditorState->CcpuState() &&
-                         iRememberEditorState->CcpuState()->CcpuCanPaste())
-                        aMenuPane->SetItemDimmed(EEikCmdEditPaste,EFalse);
-                    
-                    } 
-                
-                }                       
-            
-            DimInputmodeMenuItems(aMenuPane);
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-            //Is this an edit menu launched for a western language?
-            if ( R_AVKON_EDIT_MODE_MENU == aResourceId && !IsChineseInputLanguage() 
-                    && ELangJapanese != iLanguageCapabilities.iInputLanguageCode )
-                {
-                //If this is edit menu (launched from '*' or edit key) and predictive input is allowed,
-                    //we need to remove "Input language" and add "Input options" menu item. 
-                if (!IsOnlyNumericPermitted() && IsLanguageSupportPrediction() && !(iAknEditorFlags & EAknEditorFlagNoT9))
-                    {
-                    TInt menuitemPos(0);
-                    if(aMenuPane->MenuItemExists(EAknCmdEditInsertSmiley,menuitemPos)) // insert after smiley if exist
-                        {
-                        AddPredictiveModeEditMenuL(aMenuPane,menuitemPos+1);
-                        }
-                    else if(aMenuPane->MenuItemExists(EAknCmdEditInsertSymbol,menuitemPos)) // insert after smybol if exist
-                        {
-                        AddPredictiveModeEditMenuL(aMenuPane,menuitemPos+1);
-                        }
-                    }
-                }
-#endif //RD_INTELLIGENT_TEXT_INPUT
-
-            }
-            break;
-                        
-        case R_AVKON_PREDICTIVE_TEXT_MENU_T9:
-            {
-            if (iMode != ELatin)
-                {
-                aMenuPane->SetItemDimmed(EAknCmdT9PredictiveInsertWord, ETrue);
-                }
-            if (!IsFlagSet(EFlagInlineEditInBackground))
-                {
-                aMenuPane->SetItemDimmed(EAknCmdT9PredictiveMatches, ETrue);
-                aMenuPane->SetItemDimmed(EAknCmdT9PredictiveEditWord, ETrue);
-                }
-            else if (IsFlagSet(EFlagRemoveMatchesMenuItem))
-                {
-                aMenuPane->SetItemDimmed(EAknCmdT9PredictiveMatches, ETrue);
-                }
-            break;
-            }
-        case R_AVKON_INPUT_MODE_SUB_MENU:
-            {
-            if (IsChineseInputLanguage())
-                {
-                DoChineseSubMenu(aMenuPane);
-                }
-            break;
-        case R_AKNFEP_EDIT_SUBMENU:
-            DisableEditSubmenuItems(aMenuPane);
-            break;
-            }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-            // Predictive QWERTY (XT9) changes ---->
-        case R_AKNFEP_PRED_INPUT_OPTIONS_SUBMENU:
-        	{
-            	// This part of code fixing TSW Errors :STAA-7GZE5W
-            	//									   :STAA-7GZEBX 
-            	// "Edit word" option is not available under edit menu in ITU-T mode.
-            	// "Insert word" Should not be available QWERTY mode.
-            //TSW: AKSS-7P87XG
-            //TSW: AKSS-7P88Wf	
-          	if (IsKoreanInputLanguage() || 
-                    iPtiEngine->CurrentLanguage()->LanguageCode() == ELangPrcChinese || 
-                    iPtiEngine->CurrentLanguage()->LanguageCode() == ELangTaiwanChinese || 
-                    iPtiEngine->CurrentLanguage()->LanguageCode() == ELangHongKongChinese  )
-          		{
-          		// No text prediction for korean.
-          		aMenuPane->SetItemDimmed(EAknFepCmdPredActivate, ETrue );
-          		aMenuPane->SetItemDimmed(EAknFepCmdPredDeactivate,ETrue );
-                aMenuPane->SetItemDimmed( EAknFepCmdPredSettings, ETrue );
-          		}
-          	else 
-                {
-                aMenuPane->SetItemDimmed( EAknFepCmdPredSettings, EFalse );
-                if(iSharedDataInterface->PredictiveTextOn())
-                    {
-                    aMenuPane->SetItemDimmed( EAknFepCmdPredActivate, ETrue );					
-                    }
-                else
-                    {
-                    aMenuPane->SetItemDimmed(EAknFepCmdPredDeactivate,ETrue ); 
-                    }	
-                }
-        	} 
-          break;
-            
-#endif //RD_INTELLIGENT_TEXT_INPUT
-        default:
-            break;
-        }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-	/*
-    This code is the part of fixing TSW Error ID: BSAN-7G58DB :  Edit Menu : 
-    "Matches" and "insert word" options are not available under Edit Menu.
-    This is To make visible/invisible the Insert Word in Optios menu & Edit Menu*/
-    iIsLastResourceEditMenu = aResourceId;
-#endif  
-    }
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-void CAknFepManager::FindAndRemoveInputOptionsMenuItemL( CAknFepUiInterfaceMenuPane* aMenuPane )
-    {
-    //Logic : 
-    //Loop through each item in menu pane and check if the data
-    //CEikMenuPaneItem::SData::iCascadeId == R_AKNFEP_PRED_INPUT_OPTIONS_SUBMENU
-    //or if CEikMenuPaneItem::SData::iCommandId == EAknCmdInputLanguage
-    //If so, delete that item.
-    TInt numOfMenuItems = aMenuPane->NumberOfItemsInPane();
-    CEikMenuPane* menuPane = aMenuPane->GetMenuPane();
-    for (TInt index(0); index < numOfMenuItems ; ++index )
-        {
-        CEikMenuPaneItem::SData itemData = menuPane->ItemDataByIndexL( index );
-        if ( itemData.iCascadeId == R_AKNFEP_PRED_INPUT_OPTIONS_SUBMENU ||
-             itemData.iCommandId == EAknCmdInputLanguage ||
-             itemData.iCascadeId == R_AVKON_INPUT_MODE_SUB_MENU ||
-           ( IsChineseInputLanguage() && iSharedDataInterface->QwertyInputMode() && 
-             itemData.iCommandId == EChinFepCmdModeCangJieOption ) )
-            { 
-            menuPane->DeleteBetweenMenuItems( index, index );
-            //Assumption - there can only be one such item in the menu pane
-            //Hence we can return without going through the remaining items
-            numOfMenuItems = aMenuPane->NumberOfItemsInPane();
-            index--;
-            }
-        }
-    }
-
-void CAknFepManager::FindAndRemoveEditSubMenuItemL( CAknFepUiInterfaceMenuPane* aMenuPane )
-    {
-    //Logic : 
-    //Loop through each item in menu pane and check if the data
-    //CEikMenuPaneItem::SData::iCascadeId == R_AKNFEP_EDIT_SUBMENU
-    //If so, delete that item.
-    TInt numOfMenuItems = aMenuPane->NumberOfItemsInPane();
-    CEikMenuPane* menuPane = aMenuPane->GetMenuPane();
-    for (TInt index(0); index < numOfMenuItems ; ++index )
-        {
-        CEikMenuPaneItem::SData itemData = menuPane->ItemDataByIndexL( index );
-        if ( itemData.iCascadeId == R_AKNFEP_EDIT_SUBMENU )
-            {
-            menuPane->DeleteBetweenMenuItems( index, index );
-            //Assumption - there can only be one such item in the menu pane
-            //Hence we can return without going through the remaining items
-            return;
-            }
-        }
-    }
-
-void CAknFepManager::AddInputOptionsMenuItemL( CAknFepUiInterfaceMenuPane* aMenuPane )
-    {
-    //Logic:
-    //Appropriate location is :
-    //  if Avkon Help command exists, then immediately above it
-    //  else if Avkon Exit command exists, then immediately above it
-    //  else if there are 3 or more items in the Options menu, then 3rd from last
-    //  else it is the last item. 
-    TInt posToInsertItem( 0 );
-    //MenuItemExists() will return the index of the item in 2nd parameter
-    //But if item is not found, it is returning the total number of items.
-    if ( ( aMenuPane->MenuItemExists(EAknCmdHelp, posToInsertItem) ) ||
-         ( aMenuPane->MenuItemExists(EAknCmdExit, posToInsertItem) ) )
-        {
-        //do nothing - we already have posToInsertItem with required value 
-        }
-    else 
-        {
-        TInt numOfMenuItems = aMenuPane->NumberOfItemsInPane();
-        if ( numOfMenuItems > 2 )
-            {
-            //We should add the new item as third from last, after ignoring
-            //any dimmed items in the menu pane
-            TInt numOfUnDimmedItems(0);
-            //loop from bottom for better performance 
-            for (TInt index(numOfMenuItems-1); index >= 0 ; --index )
-                {
-                CEikMenuPaneItem::SData itemData = aMenuPane->GetMenuPane()->ItemDataByIndexL( index );
-                if ( !(itemData.iFlags & EEikMenuItemDimmed) )
-                    {
-                    ++numOfUnDimmedItems;
-                    }
-                if ( numOfUnDimmedItems == 2 )
-                    {
-                    //We have our position - save it and break from this loop
-                    if ( index > 1 )
-                        {
-                        posToInsertItem = index;
-                        }
-                    else 
-                        {
-                        //There are two or less items on this menu that will be displayed
-                        //Hence, push ITI options to the end of the list:
-                        posToInsertItem = numOfMenuItems;
-                        }
-                    break;
-                    }
-                }
-            }
-        else 
-            {
-            posToInsertItem = numOfMenuItems;
-            }
-        }
-    //Now we have the position at which we need to insert the menu item. 
-    if (
-#ifdef __ITI_VIRTUAL_TOUCH_FIRST_GENERATION_SUPPORT__
-    iQwertyInputMode &&
-#endif   		
-    IsLanguageSupportPrediction() && !(iAknEditorFlags & EAknEditorFlagNoT9))
-        {
-        AddPredictiveModeOptionsL(aMenuPane, posToInsertItem);
-        }
-    else
-        {
-        AddInputLanguageItemL(aMenuPane, posToInsertItem);
-        }
-    }
-#endif // RD_INTELLIGENT_TEXT_INPUT
-
-
-void CAknFepManager::AddEditSubmenuL(CAknFepUiInterfaceMenuPane* aMenuPane)
-    {
-    // Adds edit-submenu to options menu when required contidions are met.
-    // Edit-submenu is added if:
-    //  1. There is active editor on screen
-    //  2. Editor contains text or there is text in clipboard.
-    //  3. Editor is not in Find Pane.
-    //
-    // Since menu will have focus, we also need to remeber certain values
-    // to be able to access undelying editor attributes.
-    
-    CAknEdwinState* editorState = EditorState();
-    iEditorCcpuStatus = 0;        
-    if (editorState && editorState->CcpuState())
-        {
-        iEditorCcpuStatus = EditorCcpuStatus(editorState);    
-        }
-    else
-        {
-        // The editor doesn't have ccpu-capability, doen't display the menu.
-        return; 
-        }            
-    TInt index;
-    if (aMenuPane->MenuItemExists(EAknCmdEditTextMenu, index))
-        {
-        return;    
-        }
-        
-    iRememberLength = iInputCapabilities.FepAwareTextEditor()->DocumentLengthForFep();      
-    
-    if (iRememberLength > 0 || (iEditorCcpuStatus & ECcpuStatusFlagCanPaste))
-        {
-		if (aMenuPane->MenuItemExists(EAknCmdEditItemPlaceHolder, index) ||
-				aMenuPane->MenuItemExists(EAknCmdInputLanguage, index) ||
-		    aMenuPane->MenuItemExists(EAknCmdHelp, index) || 
-            aMenuPane->MenuItemExists(EAknCmdExit, index))  
-            {
-            TBuf<KMaxFileName> titleStr;
-            StringLoader::Load(titleStr, R_AKNFEP_OPTIONS_EDIT_SUBMENU_TITLE);          
-        
-            CAknFepUiInterfaceMenuPane::SItemData mData;
-                            
-            mData.iCommandId = EAknCmdEditTextMenu;
-            mData.iCascadeId = R_AKNFEP_EDIT_SUBMENU;  
-            mData.iFlags = 0;
-            mData.iText.Copy(titleStr.Mid(1, titleStr.Length() - 1).Left(
-               CAknFepUiInterfaceMenuPane::SItemData::ENominalTextLength));
-                            
-            aMenuPane->InsertMenuItemL(mData, index);  
-
- 			if(aMenuPane->MenuItemExists(EAknCmdEditItemPlaceHolder, index))
-    			{
-    			    aMenuPane->DeleteMenuItem(EAknCmdEditItemPlaceHolder);
-    			   
-    			}
-            // Remember editor state, because there is no access to it while
-            // menu is on screen.
-            iRememberEditorState = editorState;              
-            }                                           
-        }               
-    }
-
-    
-void CAknFepManager::DisableEditSubmenuItems(CAknFepUiInterfaceMenuPane* aMenuPane)
-    {
-    aMenuPane->SetItemDimmed(EAknEditMenuCmdCopyText, ETrue); 
-    aMenuPane->SetItemDimmed(EEikCmdEditCopy, ETrue);
-    aMenuPane->SetItemDimmed(EAknEditMenuCmdCutText, ETrue);  
-    aMenuPane->SetItemDimmed(EEikCmdEditCut, ETrue);
-    aMenuPane->SetItemDimmed(EEikCmdEditPaste, ETrue);                                          
-    
-    if (iRememberLength > 0)
-        {           
-        if (iEditorCcpuStatus & ECcpuStatusFlagCanCopy)
-            {
-            aMenuPane->SetItemDimmed(EEikCmdEditCopy, EFalse);              
-            }
-        else
-            {
-            aMenuPane->SetItemDimmed(EAknEditMenuCmdCopyText, EFalse);                                      
-            }   
-                        
-        if (iEditorCcpuStatus & ECcpuStatusFlagCanCut)
-            {
-            aMenuPane->SetItemDimmed(EEikCmdEditCut, EFalse);               
-            }
-        else
-            {
-            aMenuPane->SetItemDimmed(EAknEditMenuCmdCutText, EFalse);                                   
-            }               
-        }
-                        
-    if (iEditorCcpuStatus & ECcpuStatusFlagCanPaste)            
-        {
-        aMenuPane->SetItemDimmed(EEikCmdEditPaste, EFalse);             
-        }   
-    }
-    
-
-void CAknFepManager::StartCcpuModeL(TBool aCopyMode)
-    {
-    ResetCcpuFlags();
-    if (!iUiInterface->SoftkeysExist())
-        {
-        iUiInterface->CreateSoftkeys(R_AVKON_SOFTKEYS_EMPTY, this);
-        }
-        
-    TBool update = EFalse;
-    if (aCopyMode)
-        {
-        SetCcpuFlag(ECcpuStateStartCopy);
-        update = UpdateCBALabelL(ELeftSoftkeyIndex, EAknFepSoftkeyStartCopy, 
-                                 R_AKNFEP_SOFTKEY_CCPU_START);      
-        update |= UpdateCBALabelL( EMiddleSoftkeyIndex, EAknFepSoftkeyStartCopy, 
-                                   R_AVKON_SOFTKEY_SELECT_TEXT ); 
-        }
-    else
-        {
-        SetCcpuFlag(ECcpuStateStartCut);
-        update = UpdateCBALabelL(ELeftSoftkeyIndex, EAknFepSoftkeyStartCut, 
-                                 R_AKNFEP_SOFTKEY_CCPU_START);               
-        update |= UpdateCBALabelL( EMiddleSoftkeyIndex, EAknFepSoftkeyStartCut, 
-                                   R_AVKON_SOFTKEY_SELECT_TEXT ); 
-        }
-        
-    update |= UpdateCBALabelL(ERightSoftkeyIndex, EAknFepSoftkeyCloseWindow,
-                              R_AKNFEP_SOFTKEY_CCPU_CANCEL);
-        
-    if (update)
-        {
-        iUiInterface->DrawSoftkeysNow();
-        }           
-
-    iIndicator->SetCopyMode(ETrue);
-    UpdateIndicators(); // updates status of indicators
-    }
-
-
-TBool CAknFepManager::OkToActivateSelectionMode() const
-    {
-    if (iFepManState != EAknFepStateNull && 
-        iInputCapabilities.FepAwareTextEditor() &&
-        !(iAknEditorFlags & EAknEditorFlagFindPane))
-        {               
-        return ETrue;       
-        }
-    
-    return EFalse;  
-    }
-
-
-TBool CAknFepManager::HandleCcpuModeKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aEventCode,
-                                             TKeyResponse& aRetCode, TBool aLongPressFlag)
-    {
-    TKeyPressLength length = aKeyEvent.iRepeats ? ELongKeyPress : EShortKeyPress;
-    TBool indicLang = TAknFepUiIndicInputManager :: IsIndicLangauge(TLanguage(
-                                     iLanguageCapabilities.iInputLanguageCode))
-#ifdef RD_HINDI_PHONETIC_INPUT
-    || TAknFepUiIndicInputManager :: IsIndicPhoneticLanguage(TLanguage(
-                                     iLanguageCapabilities.iInputLanguageCode))
-#endif
-    ;
-    if(aKeyEvent.iCode == EKeyEscape)
-        return EFalse;
-    if (aEventCode == EEventKey && aKeyEvent.iCode == '*')
-        {
-        iStarScan = aKeyEvent.iScanCode;
-        }
-
-    if ((aKeyEvent.iScanCode == EStdKeyDevice0)
-     || (aKeyEvent.iScanCode == EStdKeyDevice1))
-        {
-        if (HashKeySelectionInUse()
-         && IsCcpuFlagSet(ECcpuStateHashDown))
-            {
-            if (IsCcpuFlagSet(ECcpuStateChangeToPredictionMode))
-                {
-                ClearCcpuFlag(ECcpuStateChangeToPredictionMode);
-                if (iModeBefore == ELatin
-                 || iModeBefore == EHiraganaKanji)
-                    {
-                    TBool preFlag = IsPredictive();
-                    TryChangePredictiveInputModeL(!preFlag);
-                    }
-                else
-                    {
-                    TryChangeToModeBeforeL();
-                    }
-                }
-            }
-        // Always let sofkeys fall through.
-        return EFalse;      
-        }
-                
-    if (IsCcpuFlagSet(ECcpuStateSelectionEventPosted))
-        {
-        ClearCcpuFlag(ECcpuStateSelectionEventPosted);
-        return EFalse;  
-        }       
-                        
-    if (HashKeySelectionInUse())
-        {       
-        if (aKeyEvent.iScanCode == EStdKeyHash && aEventCode == EEventKeyDown
-            && iInputCapabilities.FepAwareTextEditor())
-            {
-            SetCcpuFlag(ECcpuStateHashDown);
-            iHashKeyMan->ResetPreviousSelectionStyleMode();
-            return EFalse;
-            }
-            
-        if (!IsOnlyNumericPermitted())
-            {
-            if (IsFeatureSupportedJapanese())
-                {
-                if (FepUI()->IsValidShiftKeyPress()
-                 && aKeyEvent.iScanCode == iStarScan
-                 && !iQwertyInputMode
-                 && !(iMode == EKatakana && iFepManState == EAknFepStateUIActive))
-                    {
-                    if ( aEventCode == EEventKeyUp && !aLongPressFlag
-                     && !(iMode == ELatin && WesternPredictive()
-                          && iFepManState == EAknFepStateUIActive))
-                        {
-                        if (!IsCcpuFlagSet(ECcpuStateIgnoreStarUp))
-                            {
-                            LaunchSpecialCharacterTableL();
-                            }
-                        return EFalse;
-                        }
-                    else if ( aEventCode == EEventKey
-                           && !aLongPressFlag
-                           && length == ELongKeyPress )
-                        {
-                        LaunchSelectModeMenuL();
-                        aRetCode = EKeyWasConsumed;
-                        return ETrue;
-                        }
-                    }
-                }
-            else
-                {
-                if ((aKeyEvent.iScanCode == iStarScan && aEventCode == EEventKeyUp &&
-                    !aLongPressFlag && !iQwertyInputMode) &&
-                (!indicLang || WesternPredictive() || (iMode == ENumber || iMode == ENativeNumber) ))
-                {
-                // Disables *-key on korean multitapping mode
-                if(IsKoreanInputLanguage() && iMode == EHangul)
-                	{
-                	SetCcpuFlag(ECcpuStateIgnoreStarUp);	
-                	}
-				
-                if (!IsCcpuFlagSet(ECcpuStateIgnoreStarUp))
-                    {
-#ifdef RD_SCALABLE_UI_V2                    
-                    if (iFepPluginManager->CurrentFepInputUI())
-                        {
-                        if (iFepPluginManager->CurrentFepInputUI()->HandleKeyL(EStdKeyNull, EShortKeyPress))
-                            {
-                            return EFalse;
-                            }
-                        }
-#endif                        
-                    LaunchSelectModeMenuL();
-                    aRetCode = EKeyWasConsumed;
-                    return ETrue;
-                    }
-                return EFalse;
-                }
-            else if((aKeyEvent.iScanCode == iStarScan && aEventCode == EEventKey
-                && !aLongPressFlag && !iQwertyInputMode)
-                && (indicLang)
-                && (! WesternPredictive())
-                && (length == ELongKeyPress)
-                && (iMode != ENumber && iMode != ENativeNumber ))            
-                {
-                    LaunchSelectModeMenuL();
-                    return EFalse;
-                    }
-                }
-            }
-        }
-        
-    if (IsCcpuFlagSet(ECcpuStateHashDown))
-        {
-        if (aEventCode == EEventKey)
-            {                   
-            if (aKeyEvent.iScanCode == EStdKeyDownArrow
-                || aKeyEvent.iScanCode == EStdKeyRightArrow
-                || aKeyEvent.iScanCode == EStdKeyLeftArrow
-                || aKeyEvent.iScanCode == EStdKeyUpArrow)
-                {
-				if (IsFlagSet(EFlagInsideInlineEditingTransaction) && iMode == EHangul) 
-					{
-					CommitInlineEditL();
-       				iPtiEngine->ClearCurrentWord();
-					}
-										
-                if ((IsCcpuFlagSet(ECcpuStateStartCopy)) ||
-                    (IsCcpuFlagSet(ECcpuStateStartCut)))
-                    {
-                    aRetCode = EKeyWasConsumed;             
-                    return ETrue;   
-                    }
-                
-                if (!IsCcpuFlagSet(ECcpuStateEdwinInSelectionMode))
-                    {
-                    // User wants to select and not to change mode, so cancel the mode change
-                    // caused by initial hash key press.                                    
-                    if(!(iAknEditorFlags & EAknEditorFlagFindPane))
-                        {                               
-                        iHashKeyMan->SetPreviousSelectionStyleModeL();                                                   
-                        SetCcpuFlag(ECcpuStateEdwinInSelectionMode);
-                        TKeyEvent ccpuStart = {EKeyF21, EStdKeyF21, 0, 0};
-                        // to enable copy/paste support on cba. We simulate via CCoeEnv
-                        // to avoid fep SimulateKeyEventL adding shift modifiers
-                        CCoeEnv::Static()->SimulateKeyEventL(ccpuStart, EEventKey); 
-                        }
-                    }
-
-                // If prediction is changed while pressing hash-key,
-                // it go back previous prediction state.
-                if (IsCcpuFlagSet(ECcpuStateChangeToPredictionMode))
-                    {
-                    ClearCcpuFlag(ECcpuStateChangeToPredictionMode);
-                    if (iModeBefore == ELatin
-                     || iModeBefore == EHiraganaKanji)
-                        {
-                        TBool preFlag = IsPredictive();
-                        TryChangePredictiveInputModeL(!preFlag);
-                        }
-                    else
-                        {
-                        TryChangeToModeBeforeL();
-                        }
-                    }
-                    
-                if (WesternPredictive() && IsFlagSet(EFlagInsideInlineEditingTransaction))                    
-                    {      
-                    // This will commit inline edit if it is active for predictive mode.                              
-                    return EFalse;
-                    }
-
-                aRetCode = EKeyWasNotConsumed;
-                return ETrue;
-                }
-            else if (aKeyEvent.iScanCode == EStdKeyBackspace)   
-                {                               
-                if (!(aKeyEvent.iModifiers & EStdKeyLeftShift))
-                    {                                   
-                    // Simulate edit key + clear key functionality via hash key in no-edit-key device.              
-                    TKeyEvent ccpuStart = {127, EStdKeyBackspace, EStdKeyLeftShift, 0};
-                    CCoeEnv::Static()->SimulateKeyEventL(ccpuStart, aEventCode);                    
-                    
-                    aRetCode = EKeyWasConsumed;             
-                    return ETrue;                                       
-                    }
-                else if (!IsCcpuFlagSet(ECcpuStateHashKeyDeleteDone))
-                    {
-                    // Hash key + clear key was pressed, but hash key was released before
-                    // changing to selection mode. Need to return to previous mode, because
-                    // user didn't want to change input mode.                       
-                    iHashKeyMan->SetPreviousSelectionStyleModeL();
-                    SetCcpuFlag(ECcpuStateHashKeyDeleteDone);
-                    }
-
-                // If prediction is changed while pressing hash-key,
-                // it go back previous prediction state.
-                if (IsCcpuFlagSet(ECcpuStateChangeToPredictionMode))
-                    {
-                    ClearCcpuFlag(ECcpuStateChangeToPredictionMode);
-                    if (iModeBefore == ELatin
-                     || iModeBefore == EHiraganaKanji)
-                        {
-                        TBool preFlag = IsPredictive();
-                        TryChangePredictiveInputModeL(!preFlag);
-                        }
-                    else
-                        {
-                        TryChangeToModeBeforeL();
-                        }
-                    }
-
-                }
-            }
-        else if (aKeyEvent.iScanCode == EStdKeyHash && aEventCode == EEventKeyUp)
-            {
-            ClearCcpuFlag(ECcpuStateHashDown
-                          | ECcpuStateHashKeyDeleteDone
-                          | ECcpuStateChangeToPredictionMode);
-            if (IsCcpuFlagSet(ECcpuStateEdwinInSelectionMode))
-                {
-                SetCcpuFlag(ECcpuStateSelectionEventPosted);
-                ClearCcpuFlag(ECcpuStateEdwinInSelectionMode);
-                SetFlag(EFlagLongShiftKeyPress);
-
-                TKeyEvent ccpuStart = {0, EStdKeyLeftShift, 0, 0};
-                CCoeEnv::Static()->SimulateKeyEventL(ccpuStart, aEventCode);
-                }
-
-            return EFalse;
-            }
-        } 
-    
-    if (IsCcpuFlagSet(ECcpuStateStartCopy | ECcpuStateStartCut))    
-        {
-        if (aKeyEvent.iScanCode == EStdKeyDevice3 && aEventCode == EEventKey)
-            {
-            aRetCode = EKeyWasConsumed;                         
-            if (IsCcpuFlagSet(ECcpuStateStartCopy))
-                {
-                ProcessCommandL(EAknFepSoftkeyStartCopy);
-                }
-            else
-                {
-                ProcessCommandL(EAknFepSoftkeyStartCut);                
-                }                   
-            return ETrue;               
-            }       
-        else if (aKeyEvent.iScanCode < EStdKeyLeftArrow ||
-                 aKeyEvent.iScanCode > EStdKeyDownArrow) 
-            {       
-            aRetCode = EKeyWasConsumed;             
-            return ETrue;   
-            }
-        }       
-    else if (IsCcpuFlagSet(ECcpuStateCopy | ECcpuStateCut))
-        {       
-        if ((aKeyEvent.iScanCode >= EStdKeyLeftArrow) && (aKeyEvent.iScanCode <= EStdKeyDownArrow)) 
-            {   
-            if (!(aKeyEvent.iModifiers & EModifierShift))
-                {
-                TKeyEvent ccpuStart = aKeyEvent;
-                ccpuStart.iModifiers |= EModifierShift;
-                ccpuStart.iModifiers |= EModifierRightShift;
-                CCoeEnv::Static()->SimulateKeyEventL(ccpuStart, aEventCode);        
-                
-                aRetCode = EKeyWasConsumed;
-                return ETrue;                                                                                                       
-                }  
-            else
-                {
-                aRetCode = EKeyWasNotConsumed;              
-                return ETrue;
-                }               
-            }
-        
-        TCursorSelection cursorSelection;
-        if( iInputCapabilities.FepAwareTextEditor() )
-        	{
-			iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(cursorSelection); 
-			if( (aEventCode ==  EEventKeyUp) && (cursorSelection.Length() == 0) 
-				&& ((aKeyEvent.iScanCode ==  EStdKeyBackspace) || (aKeyEvent.iCode ==  EKeyBackspace)
-				|| (aKeyEvent.iScanCode ==  EStdKeyDelete) || (aKeyEvent.iCode ==  EKeyDelete))) 
-				{
-				ClearCcpuFlag(ECcpuStateButton);
-				}
-			}
-        if (aKeyEvent.iScanCode != EStdKeyBackspace && aKeyEvent.iCode != EKeyOK)   
-            {                           
-            aRetCode = EKeyWasConsumed;
-            return ETrue;                                                       
-            }
-        else
-            {
-            if (iInputCapabilities.FepAwareTextEditor())            
-                {
-                TCursorSelection cursorSelection;                               
-                iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(cursorSelection); 
-                if (cursorSelection.Length() == 0)      
-                    {
-                    aRetCode = EKeyWasConsumed;
-                    return ETrue;                                                                           
-                    }
-                else if (aKeyEvent.iScanCode == EStdKeyBackspace)
-                    {
-                    // Selection will be removed, handle cba button state accordingly                    
-                    if (iInputCapabilities.FepAwareTextEditor()->DocumentLengthForFep() ==
-                        cursorSelection.Length())
-                        {
-                        // Whole text was selected and will be removed. Cancel the ccpu mode.
-                        ProcessCommandL(EAknFepSoftkeyCloseWindow);
-                        }
-                    else    
-                        {
-                        // Part of the text will be removed. Set Cba-buttons to initial ccpu-mode status.                        
-                        __ASSERT_DEBUG(iUiInterface->SoftkeysExist(),
-                                    AknFepPanic(EAknFepPanicNoHandleToFepAwareTextEditor));
-                 
-                        TBool update = UpdateCBALabelL(ELeftSoftkeyIndex, KNullCommandId, R_TEXT_SOFTKEY_EMPTY);
-                        update |= UpdateCBALabelL(ERightSoftkeyIndex, EAknFepSoftkeyCloseWindow, R_AKNFEP_SOFTKEY_CCPU_CANCEL);
-                        update |= UpdateCBALabelL( EMiddleSoftkeyIndex, KNullCommandId, R_TEXT_SOFTKEY_EMPTY ); 
-                        if (update)
-                            {
-                            iUiInterface->DrawSoftkeysNow();
-                            }                                                                     
-                        }
-                    }                    
-                }
-            }                                   
-        }
-        
-    return EFalse;  
-    }
-    
-    
-
-void CAknFepManager::AddInputLanguageItemL(CAknFepUiInterfaceMenuPane* aMenuPane, TInt aIndex)
-    {
-    CAknFepUiInterfaceMenuPane::SItemData mData;
-    
-    TBuf<KMaxFileName> langStr;
-    TInt Inputlangindex;
-    if(!aMenuPane->MenuItemExists(EAknCmdInputLanguage, Inputlangindex))
-	    {    
-    StringLoader::Load(langStr, R_AKNFEP_OPTIONS_INPUT_LANGUAGE);
-    
-    mData.iCommandId = EAknCmdInputLanguage;
-    mData.iCascadeId = 0;  
-    mData.iFlags = 0;
-    mData.iText.Copy(langStr.Mid(1, langStr.Length() - 1).Left(CAknFepUiInterfaceMenuPane::SItemData::ENominalTextLength));
-    
-    aMenuPane->InsertMenuItemL(mData, aIndex); 
-	    }
-    
-    // Chinese input mode switching from the option menu
-    if (IsChineseInputLanguage() && iSharedDataInterface->QwertyInputMode())
-        {
-        // Add Chinese language items
-        langStr.Zero();
-        
-        StringLoader::Load(langStr, R_AKNFEP_OPTIONS_INPUT_MODE_CHI);
-        
-        mData.iCommandId = EAknCmdInputMethod;
-        mData.iCascadeId = R_AVKON_INPUT_MODE_SUB_MENU;
-        mData.iFlags = 0;
-        mData.iText.Copy(langStr.Mid(1, langStr.Length() - 1).Left(CAknFepUiInterfaceMenuPane::SItemData::ENominalTextLength));
-        
-        aMenuPane->InsertMenuItemL(mData, ++aIndex);
-        
-        // Check if the current engine has CangJie feature or not, if not
-        // then CangJie mode becomes invisible, similar impl in IsInputModeAvailable
-        // and DoChineseSubMenu        
-        TBool isCangJieSupported = EFalse;
-        MPtiCoreInfo* ptiCoreInfo = iPtiEngine->CoreInfo(EPtiEngineNormalCangjieQwerty);
-        if ( ptiCoreInfo )
-            {
-            isCangJieSupported = ptiCoreInfo->CapsBits() & ESupportCangjieInput;
-            }
-        
-        // Add Hong Kong CangJie option, option available only in HK variant and qwerty mode
-        if ( iLanguageCapabilities.iInputLanguageCode == 
-             ELangHongKongChinese && isCangJieSupported )
-            {
-            langStr.Zero();
-            
-            StringLoader::Load(langStr, R_AKNFEP_OPTIONS_CANGJIE_MODE);
-            
-            mData.iCommandId = EChinFepCmdModeCangJieOption;
-            mData.iCascadeId = 0;
-            mData.iFlags = 0;
-            mData.iText.Copy(langStr.Mid(1, langStr.Length() - 1).Left(CAknFepUiInterfaceMenuPane::SItemData::ENominalTextLength));
-            
-            aMenuPane->InsertMenuItemL(mData, ++aIndex);          
-            }
-        }
-    }
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-// Predictive QWERTY (XT9) changes ---->
-void CAknFepManager::AddPredictiveModeOptionsL(CAknFepUiInterfaceMenuPane* aMenuPane, 
-                                               TInt aIndex ) const
-    {
-    CAknFepUiInterfaceMenuPane::SItemData mData;
-    
-    HBufC* inputMenuStr = StringLoader::LoadLC(R_AKNFEP_PRED_OPTIONS_INPUT_OPTIONS);
-    
-    mData.iCommandId = 0;
-    mData.iCascadeId = R_AKNFEP_PRED_INPUT_OPTIONS_SUBMENU;  
-    mData.iFlags = 0;
-    mData.iText.Copy(inputMenuStr->Left(CAknFepUiInterfaceMenuPane::SItemData::ENominalTextLength));
-    
-    CleanupStack::PopAndDestroy(inputMenuStr);
-    
-    aMenuPane->InsertMenuItemL(mData, aIndex);
-       
-    // Chinese input mode switching from the option menu
-    if (IsChineseInputLanguage() && iSharedDataInterface->QwertyInputMode())
-        {
-        // Add Chinese language items
-        TBuf<KMaxFileName> langStr;
-        
-        langStr.Zero();
-        
-        StringLoader::Load(langStr, R_AKNFEP_OPTIONS_INPUT_MODE_CHI);
-        
-        mData.iCommandId = EAknCmdInputMethod;
-        mData.iCascadeId = R_AVKON_INPUT_MODE_SUB_MENU;
-        mData.iFlags = 0;
-        mData.iText.Copy(langStr.Mid(1, langStr.Length() - 1).Left(CAknFepUiInterfaceMenuPane::SItemData::ENominalTextLength));
-        
-        aMenuPane->InsertMenuItemL(mData, ++aIndex);
-        
-        // Check if the current engine has CangJie feature or not, if not
-        // then CangJie mode becomes invisible, similar impl in IsInputModeAvailable
-        // and DoChineseSubMenu        
-        TBool isCangJieSupported = EFalse;
-        MPtiCoreInfo* ptiCoreInfo = iPtiEngine->CoreInfo(EPtiEngineNormalCangjieQwerty);
-        if ( ptiCoreInfo != NULL)
-            {
-            isCangJieSupported = ptiCoreInfo->CapsBits() & ESupportCangjieInput;
-            }
-#ifdef __HALF_QWERTY_KEYPAD
-        isCangJieSupported = isCangJieSupported && (iKeyboardType != EPtiKeyboardHalfQwerty);
-#endif //__HALF_QWERTY_KEYPAD
-        
-        // Add Hong Kong CangJie option, option available only in HK variant and qwerty mode
-        if ( iLanguageCapabilities.iInputLanguageCode == ELangHongKongChinese && isCangJieSupported )
-            {
-            langStr.Zero();
-            
-            StringLoader::Load(langStr, R_AKNFEP_OPTIONS_CANGJIE_MODE);
-            
-            mData.iCommandId = EChinFepCmdModeCangJieOption;
-            mData.iCascadeId = 0;
-            mData.iFlags = 0;
-            mData.iText.Copy(langStr.Mid(1, langStr.Length() - 1).Left(CAknFepUiInterfaceMenuPane::SItemData::ENominalTextLength));
-            
-            aMenuPane->InsertMenuItemL(mData, ++aIndex);          
-            }
-        }
-    }
-
-void CAknFepManager::AddPredictiveModeEditMenuL(CAknFepUiInterfaceMenuPane* aMenuPane, 
-                                                TInt aIndex ) const
-	{
-	// Remove Predictive Edit menu option if XT9 options are there --->
-	aMenuPane->SetItemDimmed(EAknCmdPredictiveTextCascade, ETrue);
-    aMenuPane->SetItemDimmed(EAknCmdMultitapPredictiveT9On, ETrue);
-	// Remove Predictive Edit menu option if XT9 options are there <---
-	//if current writing language supports prediction then display input options settings --> 
-    //if current writing language does not supports prediction then display only input language 
-    //option to modify the writing language, when user wants to modify when edit query is launched. <--
-     TBool isLanguagugeSupportsPrediction = EFalse;
-     switch(iKeyboardType)
-     {
-		 case EPtiKeyboardHalfQwerty:
-#ifdef __HALF_QWERTY_KEYPAD		 
-		 		isLanguagugeSupportsPrediction = (iQwertyInputMode) & (iLanguageCapabilities.iSupportsWesternHalfQwertyPredictive); 
-#endif   //__HALF_QWERTY_KEYPAD
-		    break;
-     case EPtiKeyboardQwerty4x12:
-     case EPtiKeyboardQwerty4x10:  
-     case EPtiKeyboardQwerty3x11:
-     case EPtiKeyboardCustomQwerty:
-		 		isLanguagugeSupportsPrediction = (iQwertyInputMode) & (iLanguageCapabilities.iSupportsWesternQwertyPredictive);
-		    break;
-     case EPtiKeyboardNone:
-     case EPtiKeyboard12Key:
-		 		isLanguagugeSupportsPrediction = (!iQwertyInputMode) & (iLanguageCapabilities.iSupportsWesternPredictive);
-		    break;
-		 default:
-		 		isLanguagugeSupportsPrediction = (!iQwertyInputMode) & (iLanguageCapabilities.iSupportsWesternPredictive);
-		    break;    
-		 }
-     if (isLanguagugeSupportsPrediction && !(iAknEditorFlags & EAknEditorFlagNoT9))
-         {
-         aMenuPane->SetItemDimmed(EAknCmdInputLanguage, ETrue);           
-         AddPredictiveModeOptionsL(aMenuPane, aIndex);
-         }
-	}
-// Predictive QWERTY (XT9) changes <----
-#endif //RD_INTELLIGENT_TEXT_INPUT
-void CAknFepManager::DoChineseSubMenu(CAknFepUiInterfaceMenuPane* aMenuPane)
-    {
-    // ZhuyinFind & StrokeFind ONLY available for FindEditors
-    if (iAknEditorFlags & EAknEditorFlagForceTransparentFepModes)
-        {
-        if (iMode == EZhuyinFind)
-            {
-            aMenuPane->SetItemDimmed(EChinFepCmdModeZhuyinFind, ETrue);
-            }
-        
-        if (iMode == EStrokeFind)
-            {
-            aMenuPane->SetItemDimmed(EChinFepCmdModeStrokeFind, ETrue);
-            }        
-        }
-    else
-        {
-        aMenuPane->SetItemDimmed(EChinFepCmdModeZhuyinFind, ETrue);
-        aMenuPane->SetItemDimmed(EChinFepCmdModeStrokeFind, ETrue);
-        }
-    
-    // Customize menu item for Chinese mainland
-    if (iLanguageCapabilities.iInputLanguageCode == ELangPrcChinese)
-        {
-        aMenuPane->SetItemDimmed(EChinFepCmdModeCangJie, ETrue);
-        aMenuPane->SetItemDimmed(EChinFepCmdModeZhuyin, ETrue);
-        aMenuPane->SetItemDimmed(EChinFepCmdModeZhuyinFind, ETrue);
-        
-        if (iMode == EPinyin)
-            {
-            aMenuPane->SetItemDimmed(EChinFepCmdModePinyin, ETrue);
-            }
-        else if (iMode == EStroke)
-            {
-            aMenuPane->SetItemDimmed(EChinFepCmdModeStroke, ETrue);
-            }
-        else if (iMode == ELatin)
-            {
-            aMenuPane->SetItemDimmed(EAknCmdEditModeLatinText, ETrue);
-            }
-        else
-            return;
-        }
-    // Customize menu item for HongKong
-    else if (iLanguageCapabilities.iInputLanguageCode == ELangHongKongChinese)
-        {
-        aMenuPane->SetItemDimmed(EChinFepCmdModePinyin, ETrue);
-        aMenuPane->SetItemDimmed(EChinFepCmdModeZhuyin, ETrue);
-        aMenuPane->SetItemDimmed(EChinFepCmdModeZhuyinFind, ETrue);     
-        
-        TBool isCangJieSupported = EFalse;
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        if ( EPtiKeyboardQwerty3x11 == KeyboardLayout() )
-        	{
-        	isCangJieSupported = ETrue;
-        	}
-#endif //RD_INTELLIGENT_TEXT_INPUT
-#ifdef RD_INTELLIGENT_TEXT_INPUT      
-#ifdef __HALF_QWERTY_KEYPAD
-        isCangJieSupported = isCangJieSupported && (iKeyboardType != EPtiKeyboardHalfQwerty);
-#endif //__HALF_QWERTY_KEYPAD
-#endif //RD_INTELLIGENT_TEXT_INPUT
-        
-        // CangJie is only for qwerty mode
-        if ( !iSharedDataInterface->QwertyInputMode() || !isCangJieSupported )
-            aMenuPane->SetItemDimmed(EChinFepCmdModeCangJie, ETrue);
-        
-        if (iMode == EStroke)
-            {
-            aMenuPane->SetItemDimmed(EChinFepCmdModeStroke, ETrue);              
-            }
-        else if (iMode == ECangJie)
-            {
-            aMenuPane->SetItemDimmed(EChinFepCmdModeCangJie, ETrue);
-            }
-        else if (iMode == ELatin)
-            {
-            aMenuPane->SetItemDimmed(EAknCmdEditModeLatinText, ETrue);
-            }
-        else
-            return;                
-        }
-    // Customize menu item for TaiWan
-    else if (iLanguageCapabilities.iInputLanguageCode == ELangTaiwanChinese)
-        {
-        aMenuPane->SetItemDimmed(EChinFepCmdModePinyin, ETrue);
-        aMenuPane->SetItemDimmed(EChinFepCmdModeCangJie, ETrue);
-        
-        if (iMode == EStroke)
-            {
-            aMenuPane->SetItemDimmed(EChinFepCmdModeStroke, ETrue);
-            }
-        else if (iMode == EZhuyin)
-            {
-            aMenuPane->SetItemDimmed(EChinFepCmdModeZhuyin, ETrue);
-            }
-        else if (iMode == ELatin)
-            {
-            aMenuPane->SetItemDimmed(EAknCmdEditModeLatinText, ETrue);
-            }
-        else
-            return;                 
-        }
-    else
-        return;    
-    }
-#ifdef RD_SCALABLE_UI_V2
-       
-void CAknFepManager::DoWesternTouchMenu(CAknFepUiInterfaceMenuPane* aMenuPane)
-    {
-    const TInt inputLanguage = iLanguageCapabilities.iInputLanguageCode;
-    // if mode is already hangul or language is not korean dim korean mode menu item
-    TInt index;
-        
-    if( iMode == EHangul || inputLanguage != ELangKorean || !(IsModePermitted(EHangul)))
-        {
-        if ( aMenuPane->MenuItemExists( EAknCmdEditModeKorean, index) )
-            {
-            aMenuPane->SetItemDimmed(EAknCmdEditModeKorean, ETrue);
-            }
-        }
-    else
-        {
-        if ( aMenuPane->MenuItemExists( EAknCmdEditModeKorean, index ) )
-            {
-            aMenuPane->SetItemDimmed(EAknCmdEditModeKorean, EFalse);
-            }
-        }
-    // remove Chinese specific items from menu
-    aMenuPane->SetItemDimmed(EAknCmdEditModeAlpha, ETrue);    
-    
-    if (aMenuPane->MenuItemExists(EJapanFepCmdModeUserDic, index))
-        {
-        aMenuPane->SetItemDimmed(EJapanFepCmdModeUserDic, ETrue);
-        }
-
-    // T9 stuff
-    if (WesternPredictive())
-        {
-        aMenuPane->SetItemDimmed(EAknCmdPredictiveTextCascade, EFalse);
-        if(iPtiEngine->CurrentLanguage()->HasInputMode(EPtiEngineWordCompletion))
-        	{
-        	// Disable Autoword Completion feature for Touch Input
-        	#ifndef RD_SCALABLE_UI_V2  
-        	aMenuPane->SetItemDimmed(EAknCmdPredictiveModeCascade, EFalse);	
-        	#endif // RD_SCALABLE_UI_V2
-        	}
-        	
-        if (aMenuPane->MenuItemExists(EAknCmdT9PredictiveT9Off, index)) 
-            {
-            aMenuPane->SetItemDimmed(EAknCmdT9PredictiveT9Off, EFalse);
-            }          	
-        }
-    else
-        {
-        if ( (iPermittedInputModes & EAknEditorTextInputMode) &&
-            !(iAknEditorFlags & EAknEditorFlagNoT9) &&
-            iMode == ELatin &&
-            !IsKoreanInputLanguage() &&
-            iLanguageCapabilities.iSupportsWesternPredictive)
-            {
-            aMenuPane->SetItemDimmed(EAknCmdMultitapPredictiveT9On, EFalse);
-            }
-        }
-
-    if (  ( iMode == ENumber || iMode == ENativeNumber ) &&
-        (iPermittedInputModes & (EAknEditorTextInputMode | EAknEditorSecretAlphaInputMode)) )
-        {
-        aMenuPane->SetItemDimmed(EAknCmdEditModeAlpha, EFalse); 
-        aMenuPane->SetItemDimmed(EAknCmdEditModeLatinText, ETrue);
-        aMenuPane->SetItemDimmed(EChinFepCmdModeLatinUpper, ETrue);
-        aMenuPane->SetItemDimmed(EChinFepCmdModeLatinLower, ETrue);
-        if( iMode == EHangul || inputLanguage == ELangKorean)
-            {
-            TInt index;
-            if ( aMenuPane->MenuItemExists( EAknCmdEditModeKorean, index ) )
-                {
-                aMenuPane->SetItemDimmed(EAknCmdEditModeKorean, EFalse);
-                }
-            }
-        }
-
-    if ( IsModePermitted(ENumber) )
-        {
-        if (( iMode != ENumber ||
-            iMode == ENumber && iLanguageCapabilities.iArabicIndicDigitsAllowed &&
-            !(iAknEditorFlags & EAknEditorFlagLatinInputModesOnly) &&
-            (iLanguageCapabilities.iLocalDigitType == EDigitTypeArabicIndic)) 
-            || ( iMode != ENumber ||
-            iMode == ENumber && iLanguageCapabilities.iEasternArabicIndicDigitsAllowed &&
-            !(iAknEditorFlags & EAknEditorFlagLatinInputModesOnly) &&
-            (iLanguageCapabilities.iLocalDigitType == EDigitTypeEasternArabicIndic))
-            ||( iMode != ENumber ||
-            iMode == ENumber && iLanguageCapabilities.iIndicDigitsAllowed &&
-            !(iAknEditorFlags & EAknEditorFlagLatinInputModesOnly) &&
-            (iLanguageCapabilities.iLocalDigitType == EDigitTypeDevanagari)) &&
-            (!(iPermittedInputModes==EAknEditorNumericInputMode))) // hide the menu if number editor
-            
-            {
-            aMenuPane->SetItemDimmed(EAknCmdEditModeNumber, EFalse);
-            }
-        }
-    //modified by zhangfeiyan, fix bug SKIN-7LABJ3
-    if ( IsModePermitted( ENativeNumber ) )
-        {
-       if ( iLanguageCapabilities.iArabicIndicDigitsAllowed &&
-            !(iAknEditorFlags & EAknEditorFlagLatinInputModesOnly) &&
-            iMode != ENativeNumber )
-            {
-            aMenuPane->SetItemDimmed(EAknCmdEditModeArabicIndicNumber, EFalse);
-            }
-        else if ( iLanguageCapabilities.iEasternArabicIndicDigitsAllowed &&
-            !(iAknEditorFlags & EAknEditorFlagLatinInputModesOnly) &&
-            iMode != ENativeNumber )
-            {
-            aMenuPane->SetItemDimmed(EAknCmdEditModeEasternArabicIndicNumber, EFalse);
-            }   
-        else if( iLanguageCapabilities.iIndicDigitsAllowed && 
-            !( iAknEditorFlags & EAknEditorFlagLatinInputModesOnly ) &&       
-
-            iMode != ENativeNumber )
-            {
-            aMenuPane->SetItemDimmed(EAknCmdEditModeIndicNumber, EFalse);   
-            }
-        }
-
-    if (IsAbleToLaunchSCT())
-        {
-        if (aMenuPane->MenuItemExists(EAknCmdEditInsertSymbol, index)) 
-            {
-            aMenuPane->SetItemDimmed(EAknCmdEditInsertSymbol, EFalse);
-            }
-        }
-
-    if ( iMode != ENumber && iMode != ENativeNumber && 
-         iPtiEngine->NumberOfLanguages() > 1 &&
-        !(iAknEditorFlags & EAknEditorFlagLatinInputModesOnly))
-        {
-        aMenuPane->SetItemDimmed(EAknCmdInputLanguage, EFalse);
-        }
-        
-    if (iPermittedInputModes == EAknEditorNumericInputMode)
-        {
-        aMenuPane->SetItemDimmed(EAknCmdEditModeLatinText, ETrue);
-        aMenuPane->SetItemDimmed(EChinFepCmdModeLatinUpper, ETrue);
-        aMenuPane->SetItemDimmed(EChinFepCmdModeLatinLower, ETrue);
-        }
-    else if ( (iMode == ELatin || iMode == ENumber || iMode == ENativeNumber ) &&
-        (iPermittedInputModes & EAknEditorSecretAlphaInputMode) &&
-        !(iPermittedInputModes & EAknEditorTextInputMode))
-        {
-        // Text case mode is not available in secret editors.
-        aMenuPane->SetItemDimmed(EAknCmdEditModeLatinText, ETrue);
-        }
-        
-    if (iAknEditorFlags & EAknEditorFlagForceTransparentFepModes)
-        {
-        aMenuPane->SetItemDimmed(EAknCmdEditModeLatinText, ETrue);
-        aMenuPane->SetItemDimmed(EChinFepCmdModeLatinUpper, ETrue);
-        }   
-        
-    if (iCaseMan->CurrentCase() == EAknEditorUpperCase)
-        {
-        aMenuPane->SetItemDimmed(EChinFepCmdModeLatinUpper, ETrue);   
-        }
-    else if (iCaseMan->CurrentCase() == EAknEditorLowerCase)
-        {
-        aMenuPane->SetItemDimmed(EChinFepCmdModeLatinLower, ETrue);   
-        }
-        
-    aMenuPane->SetItemDimmed(EAknCmdEditModeLatinText, ETrue);    
-    
-    if (!(iAknEditorFlags & EAknEditorFlagLatinInputModesOnly) 
-    && iFepPluginManager->IsNonLatinLanguage(TLanguage(iSharedDataInterface->InputTextLanguage())))
-        {
-        aMenuPane->SetItemDimmed(EAknCmdEditModeLatinText, ETrue);
-        aMenuPane->SetItemDimmed(EChinFepCmdModeLatinUpper, ETrue);
-        aMenuPane->SetItemDimmed(EChinFepCmdModeLatinLower, ETrue);
-        }             
-    if( iMode == EHangul )
-        {
-        //aMenuPane->SetItemDimmed(EAknCmdEditModeLatinText, EFalse);
-        //aMenuPane->SetItemDimmed(EAknCmdEditModeAlpha, EFalse);
-        
-        aMenuPane->SetItemDimmed(EAknCmdEditModeEnglish, EFalse);
-        aMenuPane->SetItemDimmed(EChinFepCmdModeLatinUpper, ETrue);
-        aMenuPane->SetItemDimmed(EChinFepCmdModeLatinLower, ETrue);
-        
-        }
-    else
-        {
-        aMenuPane->SetItemDimmed(EAknCmdEditModeEnglish, ETrue);
-        }
-    }    
-
-void CAknFepManager::DoChineseTouchMenu(CAknFepUiInterfaceMenuPane* aMenuPane)
-    {
-    TInt index;
-    if (aMenuPane->MenuItemExists(EAknCmdEditInsertSymbol, index)
-        && aMenuPane->MenuItemExists(EJapanFepCmdModeUserDic, index)) 
-        {
-        aMenuPane->SetItemDimmed(EJapanFepCmdModeUserDic, ETrue);    
-        }
-
-    if (WesternPredictive())
-        {
-        aMenuPane->SetItemDimmed(EAknCmdPredictiveTextCascade, EFalse);
-        if(iPtiEngine->CurrentLanguage()->HasInputMode(EPtiEngineWordCompletion))
-        	{
-        	// Disable Autoword Completion feature for Touch Input
-        	#ifndef RD_SCALABLE_UI_V2  
-        	aMenuPane->SetItemDimmed(EAknCmdPredictiveModeCascade, EFalse);	
-        	#endif // RD_SCALABLE_UI_V2
-        	}
-        	
-        if (aMenuPane->MenuItemExists(EAknCmdT9PredictiveT9Off, index)) 
-            {
-            aMenuPane->SetItemDimmed(EAknCmdT9PredictiveT9Off, EFalse);
-            }             	
-        }
-    else
-        {
-        if ( (iPermittedInputModes & EAknEditorTextInputMode) &&
-            !(iAknEditorFlags & EAknEditorFlagNoT9) &&
-            iMode == ELatin)
-            {
-            aMenuPane->SetItemDimmed(EAknCmdMultitapPredictiveT9On, EFalse);
-            }
-        }
-    if (IsAbleToLaunchSCT() &&
-        aMenuPane->MenuItemExists(EAknCmdEditInsertSymbol, index))
-        {
-        aMenuPane->SetItemDimmed(EAknCmdEditInsertSymbol, EFalse);
-        }
-    if( (iFepPluginManager && (iFepPluginManager->PluginInputMode() != EPluginInputModeItut ) ) 
-            && aMenuPane->MenuItemExists(EChinFepCmdInstructions, index) )  
-        {
-        aMenuPane->SetItemDimmed(EChinFepCmdInstructions, ETrue);
-        }
-    else if ( !(iPermittedInputModes == EAknEditorNumericInputMode ||
-        iAknEditorFlags & EAknEditorFlagLatinInputModesOnly) )
-        {
-        if (aMenuPane->MenuItemExists(EAknCmdEditInsertSymbol, index)) 
-            {
-            aMenuPane->SetItemDimmed(EChinFepCmdInstructions, EFalse);
-            }
-        }
-
-    if ( iMode != ENumber && iPtiEngine->NumberOfLanguages() > 1  &&
-        !(iAknEditorFlags & EAknEditorFlagLatinInputModesOnly))
-        {
-        aMenuPane->SetItemDimmed(EAknCmdInputLanguage, EFalse);
-        }
-
-    if (iPermittedInputModes == EAknEditorNumericInputMode)
-        {
-        aMenuPane->SetItemDimmed(EAknCmdEditModeLatinText, ETrue);
-        aMenuPane->SetItemDimmed(EChinFepCmdModeLatinUpper, ETrue);
-        aMenuPane->SetItemDimmed(EChinFepCmdModeLatinLower, ETrue);
-        }
-    else if ( (iMode == ELatin || iMode == ENumber) &&
-        (iPermittedInputModes & EAknEditorSecretAlphaInputMode) &&
-        !(iPermittedInputModes & EAknEditorTextInputMode))
-        {
-        // Text case mode is not available in secret editors.
-        aMenuPane->SetItemDimmed(EAknCmdEditModeLatinText, ETrue);
-        }
-    if (iAknEditorFlags & EAknEditorFlagForceTransparentFepModes)
-        {
-        aMenuPane->SetItemDimmed(EAknCmdEditModeLatinText, ETrue);
-        aMenuPane->SetItemDimmed(EChinFepCmdModeLatinUpper, ETrue);
-        }
-
-    if ( IsModePermitted(ENumber) && iMode != ENumber )
-        {
-        //aMenuPane->SetItemDimmed(EChinFepCmdModeNumber, EFalse);  // original statement
-        aMenuPane->SetItemDimmed(EAknCmdEditModeNumber, EFalse);
-        // end modifying
-        }
-    }
-TBool CAknFepManager::IsChineseInputMode( TInt aMode )
-    {
-    return aMode == EPRCFind || aMode == ECangJie || aMode == EZhuyinFind
-           || aMode == EStrokeFind || aMode == EPinyin || aMode == EZhuyin
-           || aMode == EStroke;    
-    }
-
-#endif //RD_SCALABLE_UI_V2
-void CAknFepManager::DoWesternMenu(CAknFepUiInterfaceMenuPane* aMenuPane)
-    {
-    // remove Chinese specific items from menu
-    aMenuPane->SetItemDimmed(EChinFepCmdModeLatinUpper, ETrue);
-    aMenuPane->SetItemDimmed(EChinFepCmdModeLatinLower, ETrue);
-    aMenuPane->SetItemDimmed(EAknCmdEditModeLatinText, ETrue);
-    const TInt inputLanguage = iLanguageCapabilities.iInputLanguageCode;
-    
-    
-    TInt pos=-1;
-    
-    if( aMenuPane->MenuItemExists( EAknCmdEditModeKorean, pos ) )
-        {
-        // if mode is already hangul or language is not korean dim korean mode menu item
-        if( iMode == EHangul || inputLanguage != ELangKorean || !(IsModePermitted(EHangul)))
-            {
-            
-            aMenuPane->SetItemDimmed(EAknCmdEditModeKorean, ETrue);
-            }
-        else
-            {
-            aMenuPane->SetItemDimmed(EAknCmdEditModeKorean, EFalse);
-            }
-        }
-    
-    TInt index;
-    
-    if (aMenuPane->MenuItemExists(EJapanFepCmdModeUserDic, index))
-        {
-        aMenuPane->SetItemDimmed(EJapanFepCmdModeUserDic, ETrue);
-        }
-
-    // T9 stuff
-    if (WesternPredictive())
-        {
-        aMenuPane->SetItemDimmed(EAknCmdPredictiveTextCascade, EFalse);
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-        if(iPtiEngine->CurrentLanguage()->HasInputMode(EPtiEngineWordCompletion))
-        	{
-        	// Disable Autoword Completion feature for Touch Input
-        	#ifndef RD_SCALABLE_UI_V2  
-        	aMenuPane->SetItemDimmed(EAknCmdPredictiveModeCascade, EFalse);	
-        	#endif // RD_SCALABLE_UI_V2
-        	}
-#endif  //RD_INTELLIGENT_TEXT_INPUT 
-        }
-    else
-        {
-        if ( (iPermittedInputModes & EAknEditorTextInputMode) &&
-            !(iAknEditorFlags & EAknEditorFlagNoT9) &&
-            iMode == ELatin &&
-			!IsKoreanInputLanguage() &&
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-            // Predictive QWERTY (XT9) changes ---->
-            ((
-#endif //RD_INTELLIGENT_TEXT_INPUT
-            iLanguageCapabilities.iSupportsWesternPredictive && !IsKoreanInputLanguage()
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-			&& !iQwertyInputMode) ||
-			(iLanguageCapabilities.iSupportsWesternQwertyPredictive && iQwertyInputMode)
-			)
-            // Predictive QWERTY (XT9) changes <----
-#endif //RD_INTELLIGENT_TEXT_INPUT
-           )
-            {
-            aMenuPane->SetItemDimmed(EAknCmdMultitapPredictiveT9On, EFalse);
-            }
-        }
-
-    if ( ( iMode == ENumber || iMode == ENativeNumber ) && 
-        (iPermittedInputModes & (EAknEditorTextInputMode | EAknEditorSecretAlphaInputMode)) )
-        {
-        aMenuPane->SetItemDimmed(EAknCmdEditModeAlpha, EFalse);
-        }
-
-    if ( IsModePermitted(ENumber) )
-        {
-        if ( iMode != ENumber ) // hide the menu if number editor
-            {
-            aMenuPane->SetItemDimmed(EAknCmdEditModeNumber, EFalse);
-            }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        // Predictive QWERTY (XT9) changes ---->
-        // There's no need for numeric mode when full qwerty keyboard is in use (like in MAXI)
-        if (iQwertyInputMode)
-            {
-            aMenuPane->SetItemDimmed(EAknCmdEditModeNumber, ETrue);
-            }
-        // Predictive QWERTY (XT9) changes <----
-#endif //RD_INTELLIGENT_TEXT_INPUT
-        }
-        
-    if ( IsModePermitted(ENativeNumber) && iMode != ENativeNumber)
-        {
-        if ( iLanguageCapabilities.iArabicIndicDigitsAllowed ) // hide the menu if number editor)
-            {
-            aMenuPane->SetItemDimmed(EAknCmdEditModeArabicIndicNumber, EFalse);
-            }
-        else if ( iLanguageCapabilities.iEasternArabicIndicDigitsAllowed ) // hide the menu if number editor)
-            {
-            aMenuPane->SetItemDimmed(EAknCmdEditModeEasternArabicIndicNumber, EFalse);
-            }    
-        else if( iLanguageCapabilities.iIndicDigitsAllowed ) // hide the menu if number editor)
-            {
-            aMenuPane->SetItemDimmed(EAknCmdEditModeIndicNumber, EFalse);   
-            }
-        }
-
-    if (IsAbleToLaunchSCT())
-        {
-        if (aMenuPane->MenuItemExists(EAknCmdEditInsertSymbol, index)) 
-            {
-            aMenuPane->SetItemDimmed(EAknCmdEditInsertSymbol, EFalse);
-            }
-        }
-    TInt writtingLanguage = 0;
-    if ( iMode != ENumber && iMode != ENativeNumber && iPtiEngine->NumberOfLanguages() > 1 &&
-        !(iAknEditorFlags & EAknEditorFlagLatinInputModesOnly)
-        && aMenuPane->MenuItemExists( EAknCmdInputLanguage, writtingLanguage ) )
-        {
-        aMenuPane->SetItemDimmed(EAknCmdInputLanguage, EFalse);
-        }
-    }
-
-void CAknFepManager::DoChineseMenu(CAknFepUiInterfaceMenuPane* aMenuPane)
-    {
-    TInt index;
-    if (aMenuPane->MenuItemExists(EAknCmdEditInsertSymbol, index)
-       && aMenuPane->MenuItemExists(EJapanFepCmdModeUserDic, index)) 
-        {
-        aMenuPane->SetItemDimmed(EJapanFepCmdModeUserDic, ETrue);    
-        }
-
-    if (WesternPredictive())
-        {
-        aMenuPane->SetItemDimmed(EAknCmdPredictiveTextCascade, EFalse);
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-        if(iPtiEngine->CurrentLanguage()->HasInputMode(EPtiEngineWordCompletion))
-        	{
-        	// Disable Autoword Completion feature for Touch Input
-        	#ifndef RD_SCALABLE_UI_V2  
-        	aMenuPane->SetItemDimmed(EAknCmdPredictiveModeCascade, EFalse);	
-        	#endif // RD_SCALABLE_UI_V2
-        	}
-#endif //RD_INTELLIGENT_TEXT_INPUT
-        }
-    else
-        {
-        if ( (iPermittedInputModes & EAknEditorTextInputMode) &&
-            !(iAknEditorFlags & EAknEditorFlagNoT9) &&
-            iMode == ELatin)
-            {
-            aMenuPane->SetItemDimmed(EAknCmdMultitapPredictiveT9On, EFalse);
-            }
-        }
-    if (IsAbleToLaunchSCT() &&
-        aMenuPane->MenuItemExists(EAknCmdEditInsertSymbol, index))
-        {
-        aMenuPane->SetItemDimmed(EAknCmdEditInsertSymbol, EFalse);
-        }
-    if( iQwertyInputMode && aMenuPane->MenuItemExists(EChinFepCmdInstructions, index) )
-        {
-        aMenuPane->SetItemDimmed(EChinFepCmdInstructions, ETrue);
-        }
-    else if ( !(iPermittedInputModes == EAknEditorNumericInputMode ||
-        iAknEditorFlags & EAknEditorFlagLatinInputModesOnly) )
-        {
-        if (aMenuPane->MenuItemExists(EAknCmdEditInsertSymbol, index)
-            && aMenuPane->MenuItemExists(EChinFepCmdInstructions, index)) 
-            {
-            aMenuPane->SetItemDimmed(EChinFepCmdInstructions, EFalse);
-            }
-        }
-
-    if ( (!IsOnlyNumericPermitted()) && iPtiEngine->NumberOfLanguages() > 1  &&
-        !(iAknEditorFlags & EAknEditorFlagLatinInputModesOnly))
-        {
-        aMenuPane->SetItemDimmed(EAknCmdInputLanguage, EFalse);
-        // the follow added for phrase creation
-        TInt iptlanguage;
-        if ( !iIsUserdbdlgActive 
-#ifdef RD_INTELLIGENT_TEXT_INPUT 
-        && EPtiKeyboardHalfQwerty != KeyboardLayout() 
-#endif
-        && IsChineseInputLanguage() )
-            {
-            aMenuPane->MenuItemExists( EAknCmdInputLanguage, iptlanguage );
-            MPtiLanguage* ptilang = iPtiEngine->CurrentLanguage();
-            TInt inputLanguage = (ptilang)? ptilang->LanguageCode() : 0;          
-            if (iQwertyInputMode && (inputLanguage == ELangPrcChinese ||
-            	inputLanguage == ELangHongKongChinese ||
-            	inputLanguage == ELangTaiwanChinese))
-            	{
-            	TRAP_IGNORE(AddUserDBDlgItemL( aMenuPane, iptlanguage ));
-            	}
-            }
-        }
-
-    if (iPermittedInputModes == EAknEditorNumericInputMode)
-        {
-        aMenuPane->SetItemDimmed(EAknCmdEditModeLatinText, ETrue);
-        aMenuPane->SetItemDimmed(EChinFepCmdModeLatinUpper, ETrue);
-        aMenuPane->SetItemDimmed(EChinFepCmdModeLatinLower, ETrue);
-        }
-    else if ( (iMode == ELatin || iMode == ENumber) &&
-        (iPermittedInputModes & EAknEditorSecretAlphaInputMode) &&
-        !(iPermittedInputModes & EAknEditorTextInputMode))
-        {
-        // Text case mode is not available in secret editors.
-        aMenuPane->SetItemDimmed(EAknCmdEditModeLatinText, ETrue);
-        }
-    if (iAknEditorFlags & EAknEditorFlagForceTransparentFepModes)
-        {
-        aMenuPane->SetItemDimmed(EAknCmdEditModeLatinText, ETrue);
-        aMenuPane->SetItemDimmed(EChinFepCmdModeLatinUpper, ETrue);
-        }
-
-    if ( IsModePermitted(ENumber) && iMode != ENumber )
-        {
-        //aMenuPane->SetItemDimmed(EChinFepCmdModeNumber, EFalse);  // original statement
-        aMenuPane->SetItemDimmed(EAknCmdEditModeNumber, EFalse);
-        // end modifying
-        }
-    }
-
-void CAknFepManager::DoJapaneseMenu(CAknFepUiInterfaceMenuPane* aMenuPane)
-    {
-    // remove Chinese specific items from menu
-    TInt index;
-    if (aMenuPane->MenuItemExists(EAknCmdEditInsertSymbol, index))
-        {
-        aMenuPane->SetItemDimmed(EAknCmdEditInsertSymbol, ETrue);
-        }
-        
-    aMenuPane->SetItemDimmed(EChinFepCmdModeLatinUpper, ETrue);
-    aMenuPane->SetItemDimmed(EChinFepCmdModeLatinLower, ETrue);
-    aMenuPane->SetItemDimmed(EAknCmdEditModeLatinText, ETrue);
-
-    if (IsAbleToLaunchSCT()
-     && !iSharedDataInterface->QwertyInputMode())
-        {
-        aMenuPane->SetItemDimmed(EAknCmdEditInsertSymbolJp, EFalse);
-        }
-
-    if (IsAbleToLaunchPCT()
-     && !iSharedDataInterface->QwertyInputMode())
-        {
-        aMenuPane->SetItemDimmed(EAknCmdEditInsertPictograph, EFalse);
-        }
-
-    if (!(iPermittedInputModes & EAknEditorHiraganaKanjiInputMode) &&
-        aMenuPane->MenuItemExists(EJapanFepCmdModeUserDic, index)
-        )
-        {
-        aMenuPane->SetItemDimmed(EJapanFepCmdModeUserDic, ETrue);
-        }
-
-    if (iPermittedInputModes == (EAknEditorSecretAlphaInputMode | EAknEditorNumericInputMode))
-        {
-        if (iMode == ELatin)
-            {
-            aMenuPane->SetItemDimmed(EJapanFepCmdEditModeNumber, EFalse);
-            }
-        else if (iMode == ENumber)
-            {
-            aMenuPane->SetItemDimmed(EJapanFepCmdEditModeAlpha, EFalse);
-            }
-        }
-    else
-        {
-        // If the fep is running on the Janapnse User Dictionary Application,
-        // "User Dictionary" in editting options menu is hidden.
-        if (CEikonEnv::Static()->EikAppUi()->Application())
-            {
-            if (CEikonEnv::Static()->EikAppUi()->Application()->AppDllUid() == KUidUserDictApp)
-                {
-                aMenuPane->SetItemDimmed(EJapanFepCmdModeUserDic, ETrue);
-                }
-            }
-
-        if (iPermittedInputModes & EAknEditorHiraganaKanjiInputMode)
-            {
-            aMenuPane->SetItemDimmed(EJapanFepCmdModeKutenCodeInput, EFalse);
-            }
-
-        TInt value = iSharedDataInterface->ClearDirection();
-        if (value == EClearDirectionRight)
-            {
-            aMenuPane->SetItemDimmed(EAknCmdEditClearDirectionLeft, EFalse);
-            }
-        else
-            {
-            aMenuPane->SetItemDimmed(EAknCmdEditClearDirectionRight, EFalse);
-            }
-
-        if (!iSharedDataInterface->QwertyInputMode())
-            {
-            if (IsPredictive(ELatin))
-                {
-                aMenuPane->SetItemDimmed(EJapanFepCmdPredictiveTextCascade, EFalse);
-                }
-            else if ((iPermittedInputModes & EAknEditorHalfWidthTextInputMode)
-                  && !(iAknEditorFlags & EAknEditorFlagNoT9))
-                {
-                aMenuPane->SetItemDimmed(EJapanFepCmdMultitapPredictiveT9On, EFalse);
-                }
-            }
-
-        if (IsPredictive(EHiraganaKanji))
-            {
-            aMenuPane->SetItemDimmed(EJapanFepCmdModePredictiveOff, EFalse);
-            }
-        else if((iPermittedInputModes & EAknEditorHiraganaKanjiInputMode)
-             && !(iAknEditorFlags & EAknEditorFlagNoT9))
-            {
-            aMenuPane->SetItemDimmed(EJapanFepCmdModePredictiveOn, EFalse);
-            }
-
-        if (iMode != EHiraganaKanji && iPermittedInputModes & EAknEditorHiraganaKanjiInputMode)
-            {
-            aMenuPane->SetItemDimmed(EJapanFepCmdModeHiragana, EFalse);
-            }
-
-        if (iCharWidth == EHalfWidthChar)
-            {
-            if (iPermittedInputModes & EAknEditorKatakanaInputMode && iMode != EKatakana)
-                {
-                aMenuPane->SetItemDimmed(EJapanFepCmdModeKatakana, EFalse);
-                }
-
-            if (iMode != ELatin && (iPermittedInputModes & EAknEditorHalfWidthTextInputMode
-                || iPermittedInputModes & EAknEditorSecretAlphaInputMode))
-                {
-                aMenuPane->SetItemDimmed(EJapanFepCmdEditModeAlpha, EFalse);
-                }
-
-            if (iMode != ENumber
-             && iPermittedInputModes & EAknEditorNumericInputMode
-             && !iSharedDataInterface->QwertyInputMode())
-                {
-                aMenuPane->SetItemDimmed(EJapanFepCmdEditModeNumber, EFalse);
-                }
-
-            if (iMode == EKatakana && iPermittedInputModes & EAknEditorFullWidthKatakanaInputMode)
-                {
-                aMenuPane->SetItemDimmed(EJapanFepCmdModeFullWidth, EFalse);
-                }
-
-            if (iMode == ELatin && !iWesternPredictive 
-             && iPermittedInputModes & EAknEditorFullWidthTextInputMode)
-                {
-                aMenuPane->SetItemDimmed(EJapanFepCmdModeFullWidth, EFalse);
-                }
-
-            if (iMode == ENumber
-             && iPermittedInputModes & EAknEditorFullWidthNumericInputMode)
-                {
-                aMenuPane->SetItemDimmed(EJapanFepCmdModeFullWidth, EFalse);
-                }
-            }
-        else // Full width Character
-            {
-            if (iMode != EKatakana && iPermittedInputModes & EAknEditorFullWidthKatakanaInputMode)
-                {
-                aMenuPane->SetItemDimmed(EJapanFepCmdModeKatakana, EFalse);
-                }
-
-            if (iMode != ELatin && iPermittedInputModes & EAknEditorFullWidthTextInputMode)
-                {
-                aMenuPane->SetItemDimmed(EJapanFepCmdEditModeAlpha, EFalse);
-                }
-
-            if (iMode != ENumber
-             && iPermittedInputModes & EAknEditorFullWidthNumericInputMode
-             && !iSharedDataInterface->QwertyInputMode())
-                {
-                aMenuPane->SetItemDimmed(EJapanFepCmdEditModeNumber, EFalse);
-                }
-
-            if (iMode == EKatakana && iPermittedInputModes & EAknEditorKatakanaInputMode)
-                {
-                aMenuPane->SetItemDimmed(EJapanFepCmdModeHalfWidth, EFalse);
-                }
-
-            if (iMode == ELatin && iPermittedInputModes & EAknEditorFullWidthTextInputMode)
-                {
-                aMenuPane->SetItemDimmed(EJapanFepCmdModeHalfWidth, EFalse);
-                }
-
-            if (iMode == ENumber
-             && iPermittedInputModes & EAknEditorFullWidthNumericInputMode)
-                {
-                aMenuPane->SetItemDimmed(EJapanFepCmdModeHalfWidth, EFalse);
-                }
-            }
-        }
-    }
-
-void CAknFepManager::HandlePointerEventInInlineTextL(TPointerEvent::TType /*aType*/, TUint /*aModifiers*/, TInt /*aPositionInInlineText*/)
-    {
-    }
-
-void CAknFepManager::GetFormatOfFepInlineText(TCharFormat& aFormat, 
-                                              TInt& aNumberOfCharactersWithSameFormat, 
-                                              TInt aPositionOfCharacter) const
-    {
-    if ( FepUI() )
-        {
-        FepUI()->GetFormatOfFepInlineText(aFormat, aNumberOfCharactersWithSameFormat, 
-                                          aPositionOfCharacter);
-        }
-    }
-
-void CAknFepManager::NumberModeChangeGSNotification()
-	{
-	iLanguageCapabilities.iNumericEditorDigitType = EDigitTypeUnknown;
-	UpdateNumericEditorDigitType();	
-	UpdateLocalDigitMode();
-	}
-
-void CAknFepManager::HandleChangeInFocusL()
-    {
-    // Closing SCT has done focus change, so here just reset the flag.
-#ifdef RD_SCALABLE_UI_V2	
-    if(iDisalbleFocusChangeForSCT)
-    {
-    iDisalbleFocusChangeForSCT = EFalse;
-    return;
-    }
-#endif
-
-    //The CCPU flag ECcpuStateShiftkeyWasPressedBeforeLosingFocus suggests that the candidate list was closed
-    //with a long key press of shift key. If so then, FEP needs to set the EFlagShiftKeyDepressed for the CCPU mode to work 
-    //correctly. The state of the shift state is copied to local variable isToSetShiftKeyStateDown because as a function of change
-    //of focus the FEP clears all the CCPU flags which would reset ECcpuStateShiftkeyWasPressedBeforeLosingFocus also.
-    TBool isToSetShiftKeyStateDown = IsCcpuFlagSet(ECcpuStateShiftkeyWasPressedBeforeLosingFocus);
-    if (!Japanese() || iFepManState != EAknFepStateUIActive)
-        {
-        if (IsCcpuFlagSet(ECcpuStateIgnoreNextFocusChange))
-            {
-            // The focus event was caused by menu selection, don't clear all ccpu flags.
-            ClearCcpuFlag(ECcpuStateIgnoreNextFocusChange);
-            }
-        else
-            {
-            if((HashKeySelectionInUse() && IsCcpuFlagSet(ECcpuStateHashDown) 
-             && IsCcpuFlagSet(ECcpuStateEdwinInSelectionMode)))
-                {
-                ClearCcpuFlag(ECcpuStateHashDown);              
-                SetCcpuFlag(ECcpuStateSelectionEventPosted);
-                ClearCcpuFlag(ECcpuStateEdwinInSelectionMode);
-                SetFlag(EFlagLongShiftKeyPress);                
-                TKeyEvent ccpuStart = {0, EStdKeyLeftShift, 0, 0};
-                CCoeEnv::Static()->SimulateKeyEventL(ccpuStart, EEventKeyUp);                                       
-                }   
-            else
-                {
-                TBool isToSupressCursorMove = IsCcpuFlagSet(ECcpuStateSupressCursorMoveToEnd);
-                TBool isCommitPredictiveWord = IsCcpuFlagSet(ECcpuStataCommitPredictiveWord);
-                CancelCcpuMode();               
-                if(isToSupressCursorMove)
-                    SetCcpuFlag(ECcpuStateSupressCursorMoveToEnd);
-                if(isCommitPredictiveWord)
-                    SetCcpuFlag(ECcpuStataCommitPredictiveWord);                
-                }    
-            
-            }
-        SetCcpuFlag(ECcpuSupressEditMenuFromShiftUp);        
-        iPreviousEditingState = EStateNone;
-        iEditIndicatorAtLastUpdate = NULL;
-        ClearFlag( EFlagBidiCursorIsInitialized );
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-// removing the no match indicator is not necessary for ITI 
-        if (IsFlagSet(EFlagInsideInlineEditingTransaction))
-            {
-            TryRemoveNoMatchesIndicatorL();
-            }
-#endif             
-        UpdateCbaL(NULL);
-                    
-        if (iFepFullyConstructed)
-            {
-            SetCcpuFlag(ECcpuStateLosingFocus); // CommitInlineEditL needs to now we're losing focus (for cursor handling):           
-            CancelAllTimerActivity();
-            FepUI()->ExpireMultitapTimer();
-            ClearCcpuFlag(ECcpuStateLosingFocus); // Cleared right away to make sure nothing else is affected.              
-            }
-        // Forget shift key and chr key press if application or UI component is
-        // changed during shiftkey press.
-        ClearFlag(EFlagQwertyChrKeyDepressed);
-        //If candidate list was closed by long keypress of shift key, set the flag EFlagShiftKeyDepressed for CCPU mode
-        //to work correctly once it re-focuses on the editor.
-        if(isToSetShiftKeyStateDown)
-            {
-            SetFlag(EFlagShiftKeyDepressed);
-            ClearCcpuFlag(ECcpuStateShiftkeyWasPressedBeforeLosingFocus);
-            }
-        else
-            {
-            ClearFlag(EFlagShiftKeyDepressed);
-            }
-        if ( iFepFullyConstructed && IsFepAwareTextEditor() )
-            {
-            //save state of old item
-            TransferFepStateToEditorL();
-
-            if ( WesternPredictive() )
-                {                                            
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-                // To rip off suggested word completion when there is a change in focus
-                if(IsAutoCompleteOn())
-                	{
-                	RemoveSuggestedCompletionL();
-
-                	}
-#endif //RD_INTELLIGENT_TEXT_INPUT
-                SetCcpuFlag(ECcpuStateLosingFocus);    // CommitInlineEditL needs to now we're losing focus (for cursor handling):                
-                CommitInlineEditL(); 
-                ClearCcpuFlag(ECcpuStateLosingFocus);  // Cleared right away to make sure nothing else is affected.                              
-                }
-            else
-                {
-                TryCloseUiL();
-                }
-                                 
-            iRememberLength = iInputCapabilities.FepAwareTextEditor()->DocumentLengthForFep();
-            if (iLastFocusedEditor && !IsExtendedFlagSet(EExtendedFlagFepAwareDialogLaunched))
-                {
-                iLastFocusedEditor->SetObserver(NULL);
-                iLastFocusedEditor = NULL;
-                }            
-			// When editor launches a non-fep aware dialog, then we
-			// should not set the observer to Null. Because if the dialog is 
-			// destroyed we will not know and the dialog will remain orphaned.                                     
-			// Also we need to know the fep editor pointer.
-            iLastFocusedEditor = EditorState();        
-            iEditorCcpuStatus = EditorCcpuStatus(iLastFocusedEditor); 
-            //iLastFocusedEditor->SetObserver(NULL);    
-#ifdef RD_SCALABLE_UI_V2            
-            UnregisterObserver();
-#endif // RD_SCALABLE_UI_V2 
-            }
-
-        if (iPermittedInputModes & EAknEditorSecretAlphaInputMode &&
-            !(iPermittedInputModes & EAknEditorTextInputMode))
-            {
-            // For password editors.                
-            ClearFlag(EFlagSupressAutoUpdate);
-            } 
-
-        // Losing focus is over, from this point on we are gaining focus.
-        ClearCcpuFlag(ECcpuStateLosingFocus);   
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        if(iFnKeyManager)
-                iFnKeyManager->ClearFnKeyState();
-                
-        if(iResourceString)
-          {
-          delete iResourceString;
-          iResourceString = NULL;
-          }
-#endif // RD_INTELLIGENT_TEXT_INPUT
-        
-        // get input capabilities from newly focused item
-        CCoeEnv* coeEnv = CCoeEnv::Static();
-        iInputCapabilities = static_cast<const CCoeAppUi*>(coeEnv->AppUi())->InputCapabilities();
-        SetQwertyModeToInputcapbility();
-        if ( IsFepAwareTextEditor() )
-            {
-            // Now at the launch of non-fep aware dialogs we do not set the editor observer to NULL,
-            // and retain the editor pointer in iLastFocusedEditor. 
-            // So in case the editor is back in focus, we set iLastFocusedEditor to NULL
-            // and set the editor observer again.
-            
-			// At launch of fep aware dialog on a fep aware editor say spell query launched on messaging editor,
-            // we have the flag EExtendedFlagFepAwareDialogLaunched set. 
-			// So in this scenario we retain the observer for both the editor as we need to close the spell query
-            // on close of messaging editor. 
-            // Specific scenario is explained, the same is applicable for all general scenarios, for any
-            // fep aware dialog launched on any other fep aware editor.
-            if (iLastFocusedEditor && !IsExtendedFlagSet(EExtendedFlagFepAwareDialogLaunched))
-                {
-                iLastFocusedEditor->SetObserver(NULL);
-                iLastFocusedEditor = NULL;
-                }
-            if( EditorState() )
-                {
-            	EditorState()->SetObserver(this);
-                }
-            ConfigureFEPFromEditorStateL();
-#ifdef RD_INTELLIGENT_TEXT_INPUT	
-			if( PtiEngine() )
-				{
-	            if(!IsAutoCompleteOn())
-	                {
-					TInt tailLength = 0;
-		            TRAP_IGNORE( PtiEngine()->HandleCommandL( 
-									EPtiCommandGetAutoCompletionTailLength,
-									&tailLength ));	
-					if(tailLength)
-						{					
-						RemoveSuggestedAdvanceCompletionL();
-						}
-	                }	
-				}
-#endif
-            if (!iWesternPredictive && iMode == ELatin)
-                {
-                // It is possible to cause situation (by ill-acting client
-                // app) where focus handling goes out of sync and there actually
-                // is uncomitted inline edit operation going on in to-be-focused
-                // editor. Multitapping mode doesn't like that, so we make sure here
-                // that it won't happen.
-                CancelInlineEdit();                         
-                }             
-            AdjustCursorTypeForCurrentPosition();
-            
-            if (IsCcpuFlagSet(ECcpuStateUncommitWhenFocused))
-                {
-                // One of the ccpu editing options mode was started from
-                // options menu. If there is active predictive word it
-                // needs to be deactivated.
-                ClearCcpuFlag(ECcpuStateUncommitWhenFocused);               
-                DeactivatePredicitveWordAndMoveCursorL();                        
-                }
-#ifdef RD_SCALABLE_UI_V2                   
-            RegisterObserver();
-#endif // RD_SCALABLE_UI_V2            		
-            }
-        else // no FepAwareTextEditor
-            {
-#ifdef RD_SCALABLE_UI_V2
-            // register to receive TInputCapabilitiesEvent events
-            if ( SemiFepAwareTextEditor() )
-                {
-                RegisterObserver();
-                TLanguage localLanguage = ELangTest;
-                if (GetLocalLanguage( localLanguage ) )
-                    {
-                    iLanguageCapabilities.iLocalInputLanguageInUse = ETrue;
-                    if ( localLanguage != iLanguageCapabilities.iInputLanguageCode )
-                        {
-                        ChangeInputLanguageL(localLanguage);
-                        }
-                    }
-                else if (iLanguageCapabilities.iLocalInputLanguageInUse)
-                    {
-                    iLanguageCapabilities.iLocalInputLanguageInUse = EFalse;
-                    ChangeInputLanguageL(iSharedDataInterface->InputTextLanguage());
-                    }
-
-                if (IsFlagSet(EFlagNewSharedDataInputLanguage) )
-                    {
-                    //Global mode or input language has been changed in general settings
-                    if ( !iLanguageCapabilities.iLocalInputLanguageInUse)
-                        {
-                        ChangeInputLanguageL(iSharedDataInterface->InputTextLanguage());
-                        }
-                    ClearFlag(EFlagNewSharedDataInputLanguage);
-                    }
-                }
-#endif // RD_SCALABLE_UI_V2
-            // Check for non Edwin derived editors (eg mfne, tel no editor etc)
-            if (iInputCapabilities.SupportsWesternNumericIntegerPositive() || 
-                iInputCapabilities.SupportsWesternNumericIntegerNegative() || 
-                iInputCapabilities.SupportsWesternNumericReal() )
-                {
-                SyncStates(EAknFepStateInitial);
-                iPermittedInputModes = EAknEditorNumericInputMode;
-                iAknEditorNumericKeymap = EAknEditorNativeKeysNumberModeKeymap;
-                iAknEditorFlags = 0;
-                iCharWidth = EHalfWidthChar;
-                UpdateNumericEditorDigitType();
-                
-                if ( IsMfneEditor() ) 
-                    {
-                    UpdateLocalDigitMode();
-                    }
-                
-                if( IsInputModeAvailable(ENativeNumber) &&
-                    ( iLanguageCapabilities.iLocalDigitType == EDigitTypeArabicIndic ||
-                      iLanguageCapabilities.iLocalDigitType == EDigitTypeEasternArabicIndic ||
-                      iLanguageCapabilities.iLocalDigitType == EDigitTypeDevanagari ) )
-                    {
-                    TryChangeModeL( ENativeNumber );
-                    }
-                else
-                    {
-                    TryChangeModeL( ENumber );
-                    }
-                }
-            else //we don't have a valid editor
-                {
-                SyncStates(EAknFepStateNull);
-                
-                // Reset the qwerty shift case mode when we do not have a valis editor.
-                ClearFlag(IsFlagSet( EFlagQwertyShiftMode ));
-                if (!IsFlagSet(EFlagForegroundUIComponentVisible | EFlagMenuPaneVisible) &&
-                    iIndicator)
-                    {
-                    iIndicator->SetState(EStateNone);
-                    iHybridAplphaChangedToAlphanumeric = EFalse; 
-                    }
-                ClearFlag(EFlagForegroundUIComponentVisible);
-                iPermittedInputModes = EAknEditorNullInputMode;
-                
-#ifdef RD_SCALABLE_UI_V2                
-                RegisterObserver();               
-#endif // RD_SCALABLE_UI_V2                      
-                }            
-            }
-        }
-    else if (Japanese() && iFepManState == EAknFepStateUIActive)
-        {
-        if (iInputCapabilities.FepAwareTextEditor())
-            {
-            TryCloseUiL();
-            }
-        }
-    
-#ifdef RD_SCALABLE_UI_V2
-        {
-        /*
-        if( iGainForeground )
-            {
-            iLoseForeAndGainFocus = EFalse;
-            }
-        else
-            {
-            iLoseForeAndGainFocus = ETrue;
-            }
-        SendEventsToPluginManL( EPluginFocusChanged, iGainForeground );
-        */
-        CCoeControl* focusCtrl = static_cast<const CCoeAppUi*>(CCoeEnv::Static()->AppUi())->TopFocusedControl();         
-       CAknAppUi* aui = static_cast<CAknAppUi*>(CEikonEnv::Static()->AppUi());
-       TBool bForeGround = aui->IsForeground();
-       if(iGainForeground && ! bForeGround)
-        {
-        iGainForeground = EFalse;
-        }
-        
-        if(iGainForeground && iNotifyPlugin)
-            {            
-            SendEventsToPluginManL( EPluginFocusChanged, 
-                                    iGainForeground && focusCtrl!=0 && focusCtrl->IsFocused());        
-            }
-        }
-#endif // RD_SCALABLE_UI_V2
-        if( PtiEngine() && FepAwareTextEditor() )
-            {
-            if( FepAwareTextEditor()->DocumentLengthForFep() == 0 &&
-                IsFlagSet(EFlagInsideInlineEditingTransaction)&&
-                iFepManState == EAknFepStateUIActive )
-              {
-              PtiEngine()->ClearCurrentWord();                
-              TryCloseUiL();                
-              }
-            }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    // Predictive QWERTY (XT9) changes ---->
-    ShowExactWordPopupIfNecessaryL();
-    // Predictive QWERTY (XT9) changes <----
-#endif //RD_INTELLIGENT_TEXT_INPUT
-    }
-
-void CAknFepManager::CleanUpFep()
-    {
-    if (iFepFullyConstructed)
-        {
-        CancelAllTimerActivity();
-        iInputCapabilities.FepAwareTextEditor()->CancelFepInlineEdit();
-        }
-    else
-        {
-        CommonDestroyFep();
-        }
-    }
-
-#ifdef RD_SCALABLE_UI_V2
-void CAknFepManager::UnregisterObserver()
-    {
-
-		MObjectProvider* mop = iInputCapabilities.ObjectProvider();
-    
-    	if ( mop )
-    		{
-    		CAknExtendedInputCapabilities* extendedInputCapabilities = 
-    		mop->MopGetObject( extendedInputCapabilities );
-
-    		if ( extendedInputCapabilities ) 
-    			{
-    			extendedInputCapabilities->UnregisterObserver( this );
-    			}
-    		}
-    }
-
-void CAknFepManager::RegisterObserver()
-    {
-
-	MObjectProvider* mop = iInputCapabilities.ObjectProvider();
-
-	if ( mop )
-		{
-		CAknExtendedInputCapabilities* extendedInputCapabilities = 
-		mop->MopGetObject( extendedInputCapabilities );
-
-		if ( extendedInputCapabilities ) 
-			{
-			extendedInputCapabilities->RegisterObserver( this );
-			}
-		}
-    }    
- 
-#endif // RD_SCALABLE_UI_V2    
-    
-void CAknFepManager::SimulateKeyEventL(TUint aKeyCode, TBool aActiveObj)
-    {
-    if (aActiveObj)
-        {
-        iSimulateKey = aKeyCode;
-        iAsyncOwnSimulateKey.CallBack();
-        }
-    else
-        {
-        CArrayFix<TUint>* simCharArray = new(ELeave) CArrayFixFlat<TUint>(1);
-        CleanupStack::PushL(simCharArray);
-        simCharArray->AppendL(aKeyCode);
-        SimulateKeyEventsL(simCharArray->Array());
-        CleanupStack::PopAndDestroy(); // simCharArray
-        }
-    }
-
-TInt CAknFepManager::ResetShiftKeyMonitorCallback(TAny* aObj)
-    {
-    TRAPD(err, static_cast<CAknFepManager*>(aObj)->ResetShiftKeyMonitorL());
-    if (err)
-        {
-        static_cast<CAknFepManager*>(aObj)->CleanUpFep();
-        return KErrDied;
-        }
-    return KErrNone;
-    }
-
-void CAknFepManager::ResetShiftKeyMonitorL()
-    {
-    TBool phoneIdle = (EditorType() == CAknExtendedInputCapabilities::EPhoneNumberEditor); 
-    if(phoneIdle)
-    	{
-    	iShiftKeypressMonitor->Cancel();
-    	return;
-    	}
-    
-    SetFlag(EFlagLongShiftKeyPress);
-#ifdef __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__    
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    // Copy-paste with shift+SKs is always available on ITU-T. On QWERTY,
-    // it's available if activated in the Central Repository.
-    if ( (!iQwertyInputMode || iSharedDataInterface->ShiftCopyPastingOnQwerty()) && 
-         !(iAknEditorFlags & EAknEditorFlagFindPane) )
-#endif // RD_INTELLIGENT_TEXT_INPUT        
-#else    
-    if (!iQwertyInputMode && !(iAknEditorFlags & EAknEditorFlagFindPane))
-#endif // __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-        {
-        if (HashKeySelectionInUse() && IsCcpuFlagSet(ECcpuStateHashDown)) 
-            {
-            SetCcpuFlag(ECcpuStateEdwinInSelectionMode);
-            iHashKeyMan->SetPreviousSelectionStyleModeL();
-            }
-    	if(iCandidatePopup)
-    		{	// if candidate list is launched and then a long key press of shift key is done, destroy the candidate list first
-				iCandidatePopup->AttemptExitL(EFalse);
-				HandleChangeInFocusL();
-    		}
-        if(!IsCcpuFlagSet(ECcpuStateCbaShown))
-			{       
-	        TKeyEvent ccpuStart = {EKeyF21, EStdKeyF21, 0, 0};
-    	    // to enable copy/paste support on cba. We simulate via CCoeEnv
-        	// to avoid fep SimulateKeyEventL adding shift modifiers
-	        CCoeEnv::Static()->SimulateKeyEventL(ccpuStart, EEventKey);
-			SetCcpuFlag(ECcpuStateCbaShown);
-			}
-        }
-#ifdef RD_INTELLIGENT_TEXT_INPUT 
-#ifdef __HALF_QWERTY_KEYPAD   
-	// we should not enter the copy-paste mode in find pane editors
-    if( EPtiKeyboardHalfQwerty == KeyboardLayout() && !(iAknEditorFlags & EAknEditorFlagFindPane))
-        {
-        CAknFepFnKeyManager::TFnKeyState fnState = FnKeyState();
-        
-        if( CAknFepFnKeyManager::EFnKeyNone != fnState 
-        		|| iFnCharInsertedForShift )
-            {
-            TText prevCh = PreviousChar();
-            if (prevCh == '#' || prevCh == '/')
-                {
-                RemovePreviousCharacterL();             
-                }
-            // reset the fn state if it is FnNext
-            if( fnState == CAknFepFnKeyManager::EFnKeyNext )
-                {
-                SetFnKeyState( CAknFepFnKeyManager::EFnKeyNone );
-                }
-            }
-        SetCcpuFlag( CAknFepManager::ECcpuStateEdwinInSelectionMode );
-        if(!IsCcpuFlagSet(ECcpuStateCbaShown))
-            {		
-	        TKeyEvent ccpuStart = {EKeyF21, EStdKeyF21, 0, 0};
-         
-    	    // to enable copy/paste support on cba. We simulate via CCoeEnv
-        	// to avoid fep SimulateKeyEventL adding shift modifiers
-        	CCoeEnv::Static()->SimulateKeyEventL(ccpuStart, EEventKey);    
-            SetCcpuFlag(ECcpuStateCbaShown); 			                                      
-			}
-        }  
-#endif //__HALF_QWERTY_KEYPAD
-		          
-#endif//RD_INTELLIGENT_TEXT_INPUT        
-    iShiftKeypressMonitor->Cancel();
-    }
-
-void CAknFepManager::CancelAllTimerActivity()
-    {
-    if (iShiftKeypressMonitor->IsActive())
-        {
-        iShiftKeypressMonitor->Cancel();
-        }
-    if (iConcatenationTimer->IsActive())
-        {
-        iConcatenationTimer->Cancel();
-        }
-    if (iChrKeypressMonitor->IsActive())
-        {
-        iChrKeypressMonitor->Cancel();
-        }
-    if (iPostEventCheck->IsActive())
-        {
-        iPostEventCheck->Cancel();
-        }
-    if ( iHashKeyMan )
-        {
-        iHashKeyMan->CancelHashKeyTimer();
-        }
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-    if( iNumericResourceTimer )
-        {
-        TRAP_IGNORE( NumericResourceMultiTapTimerTimeoutL());
-        }
-#endif
-    }
-
-TBool CAknFepManager::IsModePermitted(TInt aMode, TWidthChar aWidth) const
-    {
-    if (aWidth == ENoneWidthChar)
-        {
-        aWidth = iCharWidth;
-        }
-
-    TBool isModePermitted = ETrue;
-    const TInt inputLanguage = iLanguageCapabilities.iInputLanguageCode;    
-    
-    if ( aMode == ENativeNumber && !IsInputModeAvailable( aMode ) )
-        {
-        if ( inputLanguage == ELangThai && iFepPluginManager && 
-               iFepPluginManager->PluginInputMode() != EPluginInputModeItut &&
-               !iQwertyInputMode)
-               {
-               return ETrue;
-               }        
-        return EFalse;
-        }
-    
-    TUint editorMode = EditorMode(aMode, aWidth);
-
-    //Support Boxcn default Chinese inputmode when defaul inputmode is Cangjie Hongkong
-    //only if Chinese input is permitted in the editor
-    if (!( (iVariantPermittedModes | ELatinText | ELatinUpper | ELatinLower | EHiragana) & aMode) )
-        {
-        //the mode is never valid in this variant
-        isModePermitted = EFalse;
-        }
-    else if( aMode == ECangJie && !(iAknEditorFlags & EAknEditorFlagLatinInputModesOnly))
-		{
-		if (iQwertyInputMode || iFepPluginManager->PluginInputMode() == EPluginInputModeVkb
-				|| iFepPluginManager->PluginInputMode() == EPluginInputModeFSQ)
-			{
-			isModePermitted = ETrue;
-			}
-		else
-			{
-			isModePermitted = EFalse;
-			}
-		}
-    else if (!(iPermittedInputModes & editorMode))
-        {
-        isModePermitted = EFalse;
-        }
-    else if (((aMode == EPinyin) || (aMode == EZhuyin) || (aMode == EStroke) || (aMode == ECangJie)
-        ||   (aMode == EHiraganaKanji) || (aMode == EKatakana)
-        || (((aMode == ELatin) || (aMode == ENumber) || iMode == ENativeNumber ) && (iCharWidth == EFullWidthChar)))
-        && (iAknEditorFlags & EAknEditorFlagLatinInputModesOnly))
-        {
-        //the editor does not allow Chinese modes
-        isModePermitted = EFalse;
-        }
-    else if (((aMode == EStrokeFind) || (aMode == EZhuyinFind))
-        && (!(iAknEditorFlags & EAknEditorFlagForceTransparentFepModes)))
-        {
-        //StrokeFind and ZhuyinFind modes are only valid in a chinese find pane
-        isModePermitted = EFalse;
-        }
-    else
-        {
-        TUint editorsWhichAllowThisMode;
-        if (aMode == ENumber || aMode == ENativeNumber )
-            {
-            //The FEP's ENumber mode has a direct mapping to EAknEditorNumericInputMode
-            // or EAknEditorFullWidthNumericInputMode
-            editorsWhichAllowThisMode = EAknEditorNumericInputMode;
-            if (aWidth == EFullWidthChar)
-                {
-                editorsWhichAllowThisMode = EAknEditorFullWidthNumericInputMode;
-                }
-            }
-        else if (aMode == EHiragana)
-            {
-            editorsWhichAllowThisMode = EAknEditorHiraganaInputMode;
-            }
-        else if (aMode == EKatakana || (aMode == ELatin && aWidth == EFullWidthChar))
-            {
-            editorsWhichAllowThisMode = EditorMode(aMode, aWidth);
-            }
-        else if (aMode == EHiraganaKanji)
-            {
-            // HiraganaKanji mode allows all input mode.
-            editorsWhichAllowThisMode = EAknEditorAllInputModes;
-            }
-        else if (aMode == EHangul)
-            {
-            editorsWhichAllowThisMode =(EAknEditorTextInputMode | EAknEditorSecretAlphaInputMode | EAknEditorHalfWidthTextInputMode);     
-            }          
-        else
-            {
-            //if the editor allows Text Input or Secret Alpha Mode,
-            //we infer that Chinese Modes are valid
-            editorsWhichAllowThisMode =(EAknEditorTextInputMode | 
-                                        EAknEditorSecretAlphaInputMode | 
-                                        EAknEditorHalfWidthTextInputMode);
-            }
-        isModePermitted = iPermittedInputModes & editorsWhichAllowThisMode;
-        }
-
-    return isModePermitted;
-    }
-
-TInt CAknFepManager::SyncStates(TAknFepManagerState aState)
-    {
-    TInt ret = KErrNone;
-    
-    if (!iFepFullyConstructed)
-        {
-        if (aState == EAknFepStateNull)
-            {
-            return KErrNone;
-            }
-                       
-        TRAP(ret, ConstructFullyL());
-        }
-    if (iFepFullyConstructed)
-        {
-        iFepManState = aState;
-        iKeyCatcher->SetState(aState);
-        }
-   
-    return ret;    
-    }
-
-TUint CAknFepManager::EditorMode(TInt aMode, TWidthChar aWidth) const
-    {
-    TInt editorMode = 0;
-    switch(aMode)
-        {
-        case EPinyin:
-        case EZhuyin:
-        case EStroke:
-        case ECangJie:
-        case EPRCFind:
-        case EZhuyinFind:
-        case EStrokeFind:
-        case EHangul:
-            {
-            editorMode = EAknEditorTextInputMode;
-            }
-            break;
-        case EHindi:
-        case ELatin:
-        case ELatinText:
-        case ELatinUpper:
-        case ELatinLower:
-            {
-            if (iPermittedInputModes & EAknEditorTextInputMode)
-                {
-                 editorMode = EAknEditorTextInputMode;
-                }
-            else if (iPermittedInputModes & EAknEditorHalfWidthTextInputMode)
-                {
-                if (IsFeatureSupportedJapanese())
-                    {
-                    editorMode = EAknEditorHalfWidthTextInputMode;
-                    }
-                else
-                    {
-                    editorMode = EAknEditorTextInputMode;
-                    }
-                }
-            else
-                {
-                editorMode = EAknEditorSecretAlphaInputMode;
-                }
-            if (aWidth == EFullWidthChar)
-                {
-                editorMode = EAknEditorFullWidthTextInputMode;
-                }
-            }
-            break;
-        case EHiragana:
-            {
-            editorMode = EAknEditorHiraganaInputMode;
-            }
-            break;
-        case EHiraganaKanji:
-            {
-            editorMode = EAknEditorHiraganaKanjiInputMode;
-            }
-            break;
-        case EKatakana:
-            {
-            editorMode = EAknEditorKatakanaInputMode;
-            if (aWidth == EFullWidthChar)
-                {
-                editorMode = EAknEditorFullWidthKatakanaInputMode;
-                }
-            }
-            break;
-        case ENumber:
-        case ENativeNumber:
-            {
-            editorMode = EAknEditorNumericInputMode;
-            if (aWidth == EFullWidthChar)
-                {
-                editorMode = EAknEditorFullWidthNumericInputMode;
-                }
-            }
-            break;
-        default:
-            break;
-        }
-
-    return editorMode;
-    }
-
-void CAknFepManager::LaunchPenSupportMenuL()
-    {
-    if (HashKeySelectionInUse() && IsCcpuFlagSet(ECcpuStateHashDown))
-        {
-        return;
-        }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-	if(iCandidatePopup)        
-		{
-		iCandidatePopup->AttemptExitL(EFalse);
-		HandleChangeInFocusL();
-		}
-#endif		
-    
-    if (IsFlagSet(EFlagInsideInlineEditingTransaction))
-        {
-        TryRemoveNoMatchesIndicatorL();
-		/*
-	    This code is the part of fixing TSW Error ID: BSAN-7G58DB :  Edit Menu : 
-	    "Matches" and "insert word" options are not available under Edit Menu.
-	    When we launch Edit Menu.the word which in Inline Editing in the BackGorund 
-	    Should not Commit*/        
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-        CommitInlineEditL();
-#endif
-		/*
-	    This code is the part of fixing TSW Error ID: BSAN-7G58DB :  Edit Menu : 
-	    "Matches" and "insert word" options are not available under Edit Menu.
-	    This Flag is useful for deciding whether "Matches" Menu Item can Visible 
-	    or not*/
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-        SetFlag(EFlagInlineEditInBackground);
-#endif
-		/*
-	    This code is the part of fixing TSW Error ID: BSAN-7G58DB :  Edit Menu : 
-	    "Matches" and "insert word" options are not available under Edit Menu.*/
-#ifndef RD_INTELLIGENT_TEXT_INPUT        
-        ClearFlag(EFlagInsideInlineEditingTransaction);
-#endif        
-        }
-    
-    CAknEdwinState* editorState = NULL;
-    if (iInputCapabilities.FepAwareTextEditor())
-        {
-        editorState = EditorState();
-        }
-    
-    iEditMenuBar = NULL;
-    if (editorState)
-        {
-        iEditMenuBar = iUiInterface->EditorStateMenuBar(editorState);
-        }
-    
-    if (iEditMenuBar && 
-        !iEditMenuBar->IsDisplayed())
-        {
-        
-        iPenSupportMenu = ETrue;
-       // SetFlag(EFlagLaunchEditMenu);
-        CAknFepUiInterfaceMenuPane* menuPane = iEditMenuBar->MenuPane();
-        
-        CEikMenuPane* oldMenuPane = menuPane->GetMenuPane();        
-        if (!oldMenuPane)
-            {
-            menuPane = NULL;    
-            }
-        
-        iRememberEditorState = EditorState();
-  
-        iEditMenuBar->SetMenuType(CAknFepUiInterfaceMenuBar::EMenuEdit);        
-        // It is unnecessary to add ROW SCT in Editting option menu.
-        iEditMenuBar->TryDisplayMenuBarL();
-        if (menuPane && menuPane->NumberOfItemsInPane() == 0)
-            {
-            // Edit menu do not contain any items.
-            iEditMenuBar->StopDisplayingMenuBar();
-            }
-        else
-            {
-            //adjust menu position to the front of dialog to
-            //avoid input capability is wrongly got
-            CCoeEnv* coeEnv = CCoeEnv::Static();
-            CCoeAppUi* appUi = (CCoeAppUi*)(coeEnv->AppUi());
-            if( appUi->IsDisplayingDialog() )
-                {
-                iEditMenuBar->RemoveFromStack();
-                iEditMenuBar->AddToStackL(ECoeStackPriorityDialog + 1, ECoeStackFlagStandard);                              
-                }
-            }
-            
-        iEditMenuBar->SetMenuType(CAknFepUiInterfaceMenuBar::EMenuOptions);
-        }
-        iPenSupportMenu = EFalse;
-    }
-
-void CAknFepManager::LaunchSelectModeMenuL()
-    {
-    if (HashKeySelectionInUse() && IsCcpuFlagSet(ECcpuStateHashDown))
-        {
-        return;
-        }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-	if(iCandidatePopup)        
-		{
-		iCandidatePopup->AttemptExitL(EFalse);
-		HandleChangeInFocusL();
-		}
-#endif		
-    
-    if (IsFlagSet(EFlagInsideInlineEditingTransaction))
-        {
-        TryRemoveNoMatchesIndicatorL();
-		/*
-	    This code is the part of fixing TSW Error ID: BSAN-7G58DB :  Edit Menu : 
-	    "Matches" and "insert word" options are not available under Edit Menu.
-	    When we launch Edit Menu.the word which in Inline Editing in the BackGorund 
-	    Should not Commit*/        
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-        CommitInlineEditL();
-#endif
-		/*
-	    This code is the part of fixing TSW Error ID: BSAN-7G58DB :  Edit Menu : 
-	    "Matches" and "insert word" options are not available under Edit Menu.
-	    This Flag is useful for deciding whether "Matches" Menu Item can Visible 
-	    or not*/
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-        SetFlag(EFlagInlineEditInBackground);
-#endif
-		/*
-	    This code is the part of fixing TSW Error ID: BSAN-7G58DB :  Edit Menu : 
-	    "Matches" and "insert word" options are not available under Edit Menu.*/
-#ifndef RD_INTELLIGENT_TEXT_INPUT        
-        ClearFlag(EFlagInsideInlineEditingTransaction);
-#endif        
-        }
-    
-    CAknEdwinState* editorState = NULL;
-    if (iInputCapabilities.FepAwareTextEditor())
-        {
-        editorState = EditorState();
-        }
-    
-    iEditMenuBar = NULL;
-    if (editorState)
-        {
-        iEditMenuBar = iUiInterface->EditorStateMenuBar(editorState);
-        }
-    
-    if (iEditMenuBar && 
-        !iEditMenuBar->IsDisplayed())
-        {
-       // SetFlag(EFlagLaunchEditMenu);
-        CAknFepUiInterfaceMenuPane* menuPane = iEditMenuBar->MenuPane();
-        CEikMenuPane* oldMenuPane = menuPane->GetMenuPane();        
-        if (!oldMenuPane)
-            {
-            menuPane = NULL;    
-            }        
-         if(menuPane)
-        	SetFlag(EFlagLaunchEditMenu);
-        
-        iRememberEditorState = EditorState();
-        
-        // It is unnecessary to add ROW SCT in Editting option menu.
-        if (!IsFeatureSupportedJapanese())
-            {
-            iEditCharsPtr.Copy(KNullDesC);
-            iEditCharsPtr.Set( iSctEditChars->Des() );
-            
-            // get the SCT resource id from editor default settings
-            TInt currentEditorSCTResId = GetCurrentEditorSCTResId();
-            TInt charResourceId = ENoCharacters;
-            if ( currentEditorSCTResId == EDefaultNumericCharMapResId)
-                {
-                charResourceId = NumericModeSCTResourceId();
-                if ( charResourceId != ENoCharacters && IsAbleToLaunchSCT()&& 
-                        EditorType() != CAknExtendedInputCapabilities::EEikSecretEditorBased)
-                    {
-                    
-                    if( menuPane != NULL )
-                        {
-                        menuPane->ConstructMenuSctRowL( iEditCharsPtr, charResourceId );
-                        }
-                    }
-                else
-                    {
-                    currentEditorSCTResId = charResourceId;
-                    }   
-                }
-            else
-                {
-                TInt sctChars = EAknSCTChiChineseInputModes;
-                if (iCharWidth == EFullWidthChar)
-                    {
-                    sctChars = EAknSCTFullCase;
-                    }
-                else
-                    {
-                    if (iMode == ELatin)
-                        {
-                        if ( FeatureManager::FeatureSupported(KFeatureIdChinese) )
-                            {
-                            sctChars = EAknSCTChiLatinInputModes;
-                            }
-                        else
-                            {
-                            if (iQwertyInputMode)
-                                {
-                                sctChars = EAknSCTQwerty;
-                                }
-                            else
-                                {
-                                sctChars = EAknSCTUpperCase;
-                                if (iCaseMan->CurrentCase() == EAknEditorLowerCase)
-                                    {
-                                    sctChars = EAknSCTLowerCase;
-                                    }
-                                }
-                            }
-                        }
-                    else if (iMode == ENumber || iMode == ENativeNumber)
-                        {
-                        sctChars = EAknSCTNumeric;
-                        if ( ((iAknEditorFlags & EAknEditorFlagUseSCTNumericCharmap) ||
-                            (iAknEditorNumericKeymap == EAknEditorAlphanumericNumberModeKeymap)) &&
-                            !IsOnlyHalfWidthCharacterPermitted() )
-                            {
-                            sctChars = EAknSCTLowerCase;
-                            }
-                        }
-                    //delete for phrase creation
-//                    else if (iMode == EStroke && iFepManState == EAknFepStateUIActive)
-//                    	{
-//                    	return;
-//                    	}
-                    else if (iMode == EHiraganaKanji)
-                        {
-                        sctChars = EAknSCTFullCase;
-                        }
-                    else if(iMode == EKatakana)
-                        {
-                        sctChars = EAknSCTHalfCase;
-                        }
-                    }
-                    
-                if (!(ExtendedInputCapabilities() & CAknExtendedInputCapabilities::EDisableSCT))                    
-                    {
-                    if( menuPane && (EditorType() != CAknExtendedInputCapabilities::EEikSecretEditorBased))
-                        {
-                        if(IsAbleToLaunchSmiley())
-                            {
-                            sctChars |= EAknCharMapEmotionUse;
-                            }
-                        
-                        menuPane->ConstructMenuSctRowFromDialogL( sctChars, iEditCharsPtr, 
-                                                                  currentEditorSCTResId );                    
-                        }
-                    }
-                }
-            }
-            iEditMenuBar->SetMenuType(CAknFepUiInterfaceMenuBar::EMenuEdit);
-            iFepPluginManager->SetMenuState( ETrue ); 
-            iEditMenuBar->TryDisplayMenuBarL();
-            if (menuPane && menuPane->NumberOfItemsInPane() == 0)
-                {
-                // Edit menu do not contain any items.
-                iEditMenuBar->StopDisplayingMenuBar();
-                iFepPluginManager->ResetMenuState( ETrue );
-                }
-            else
-                {
-                //adjust menu position to the front of dialog to
-                //avoid input capability is wrongly got
-                CCoeEnv* coeEnv = CCoeEnv::Static();
-                CCoeAppUi* appUi = (CCoeAppUi*)(coeEnv->AppUi());
-                if( appUi->IsDisplayingDialog() )
-                    {
-                    iEditMenuBar->RemoveFromStack();
-                    // Set the MenuBar not focused, the later add to stack operation could unfocus other control correctly
-                    iEditMenuBar->SetFocus(EFalse);
-                    iEditMenuBar->AddToStackL(ECoeStackPriorityDialog + 1, ECoeStackFlagStandard);                              
-                    }
-                }
-                
-            iEditMenuBar->SetMenuType(CAknFepUiInterfaceMenuBar::EMenuOptions);
-        }
-    }
-
-void CAknFepManager::LaunchMatchesPopupListL()
-    {
-    TInt noOfMatches = iPtiEngine->NumberOfCandidates();
-    if (noOfMatches > 1)    // 1 => only current match available, 0 => not in inline edit
-        {
-        // Create a list to pass to the dialog
-        CDesCArrayFlat* matchesList=new(ELeave)CDesCArrayFlat(1);
-        CleanupStack::PushL(matchesList);
-        iPtiEngine->GetCandidateListL(*matchesList);
-        TBuf<EMaximumFepWordLength> matchListDesc;
-        TInt matchListItemCount = matchesList->MdcaCount();
-        TInt currentIndex = ResolveCurrentCandidateListIndex(matchesList);      
-        for ( TInt ii=0; ii < matchListItemCount ; ii++)
-            {   
-            matchListDesc = matchesList->MdcaPoint(ii);
-            TChar tempChar = matchListDesc[0];
-            if(tempChar.IsDigit())
-                {
-                AknTextUtils::ConvertDigitsTo(matchListDesc,iLanguageCapabilities.iLocalDigitType);
-                matchesList->Delete(ii);
-                matchesList->InsertL(ii,matchListDesc);
-                }
-            }
-
-        // add 'Spell' to the bottom of the list
-        TResourceReader reader;
-        CCoeEnv* coeEnv = CCoeEnv::Static();
-        coeEnv->CreateResourceReaderLC(reader, R_AVKON_T9_MATCHES_QUERY_SPELL_ITEM);
-        matchesList->AppendL(reader.ReadTPtrC());
-        CleanupStack::PopAndDestroy(); // reader
-
-        TInt index = 0;
-        SetFlag(EFlagForegroundUIComponentVisible);
-
-        TUid fepUid = CCoeEnv::Static()->FepUid();
-        ClearExtendedFlag(EExtendedFlagEdwinEditorDestroyed);
-        // Fire up the dialog
-        TInt returnValue = iUiInterface->LaunchListPopupL(R_AVKON_T9_MATCHES_QUERY, index, 
-                                                          currentIndex, matchesList, NULL);
-        PrepareFepAfterDialogExitL(fepUid);
-        if(returnValue == EAknSoftkeyOk)
-            {// Selected item 'index' from the matches array
-            HandleChangeInFocusL();
-            TBuf<EMaximumFepWordLength> newText;
-            // Get current match from editor and show it as a default text in 'insert word' query.
-            iInputCapabilities.FepAwareTextEditor()->GetEditorContentForFep(newText, 
-                             iUncommittedText.iAnchorPos, iUncommittedText.Length());
-            
-            if (index==noOfMatches) // => 'spell' item at the bottom of the list
-                {
-                LaunchInsertWordQueryL(newText, iUncommittedText);
-                #ifdef RD_SCALABLE_UI_V2
-                if( iFepFullyConstructed && iFepPluginManager )
-                    {
-                    iFepPluginManager->ResetMenuState();
-                    }
-                #endif
-                }
-            else
-                { // insert word at index into text
-                TBuf<EMaximumFepWordLength> modifiedMatch;                
-                modifiedMatch.Copy(matchesList->MdcaPoint(index));
-                TChar first(newText[0]);
-                if (first.IsUpper())
-                    {
-                    TChar converted(modifiedMatch[0]);
-                    converted.UpperCase();
-                    modifiedMatch[0] = converted;
-                    }
-                InsertTextFromDialogL(modifiedMatch, iUncommittedText);
-                }
-            }
-        CleanupStack::PopAndDestroy(); // matchesList
-        }
-    }
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-// Predictive QWERTY (XT9) changes ---->
-void CAknFepManager::LaunchCandidatePopupListL( TInt aFocusedIndex )
-    {
-    iKeyBackSpaceHit = 1;
-    //CPtiEngine* ptiEngine = iPtiEngine;
-    
-    // Addition for ITI features on FSQ.
-    // Before open candidate list, if FSQ is opened, 
-    // also need to check and close tooltip on it.
-    SendEventsToPluginManL( EPluginHideTooltip );
-    
-    // Before open candidate list, if touch ui is opened, 
-    // also need to close touch ui firstly.
-    if ( iFepPluginManager->PluginInputMode() != EPluginInputModeNone )
-        {
-        iFepPluginManager->ClosePluginInputUiL( ETrue );
-        }              
-
-    iExactWordPopupContent->HidePopUp();
-        
-    TBool isShiftKeyDepressedAfterCandidateListLaunched = EFalse;
-    // Retrieve active index for QWERTY keypad when Best Prediction is Set
-    TInt activeIndex = KErrNotFound;
-                
-    if(iPrimaryCandidate && IsQwerty() && ( KeyboardLayout() != EPtiKeyboardHalfQwerty))
-        {           
-        iPtiEngine->HandleCommandL( EPtiCommandUserActionGetCurrentIndexOfCandidates, &activeIndex );        
-        }
-            
-    TInt noOfMatches = iPtiEngine->NumberOfCandidates();
-    if (noOfMatches > 0)
-        {
-        //! The compact candidate popup that opens with when arrow down pressed while inline editing
-        //MAknFepCandidatePopup *candidatePopup;
-        
-        //Predictive QWERTY (XT9) changes for new Architecture ---->
-        iCandidatePopup = UiInterface()->NewCandidatePopupL(*this);
-        //Predictive QWERTY (XT9) changes for new Architecture <----
-            
-        // Determine the place where to spawn the candidate popup.
-        TPoint  inlineEditorTl;
-        TPoint  inlineEditorBr;
-        TInt    height;
-        TInt    ascent;
-        TInt    documentOffset = iPtiEngine->CurrentWord().Length();
-        
-        //  Popup Position was not right for RTL ---->
-        if(iLanguageCapabilities.iRightToLeftLanguage)
-        	documentOffset = 0;
-        //  Popup Position was not right for RTL <----
-        GetScreenCoordinatesL(inlineEditorTl, height, ascent, documentOffset);
-        
-        inlineEditorTl.iY -= height;
-        GetScreenCoordinatesL(inlineEditorBr, height, ascent);
-        
-        // Focus next word in list ---->
-        // To fix the bug STAA-7GYDB6, Candidate list opens with the highlight on 3rd candidate when Exact typing is use.
-        // Show the popup.
-        TInt selectedIdx = aFocusedIndex;
-        TKeyEvent lastKeyEvent;
-        
-        if(selectedIdx == KErrNotFound)
-            {
-            if (noOfMatches > 1)
-                {
-                selectedIdx = KWordToFocusInCandidateList;
-                }
-            // Focus next word in list <----
-            if(iSListLaunchedFromMenu)
-                {
-                iPtiEngine->HandleCommandL( EPtiCommandUserActionGetCurrentIndexOfCandidates, &selectedIdx );
-                iSListLaunchedFromMenu = EFalse;
-                }
-            }
-        TUid fepUid = CCoeEnv::Static()->FepUid();
-        ClearExtendedFlag(EExtendedFlagEdwinEditorDestroyed);
-        TInt popupCmd = iCandidatePopup->ExecutePopupL( TRect(inlineEditorTl, inlineEditorBr),
-                                                        selectedIdx, lastKeyEvent, iLanguageCapabilities.iRightToLeftLanguage,
-                                                        (TInt)KeyboardLayout() );
-        PrepareFepAfterDialogExitL(fepUid);      
-        
-        if((lastKeyEvent.iScanCode == EStdKeyDevice3 ) || 
-        		((lastKeyEvent.iScanCode == KAknFEPZeroKey)&& ((KeyboardLayout()== EPtiKeyboard12Key)||(KeyboardLayout()==EPtiKeyboardHalfQwerty))) 
-        		|| lastKeyEvent.iCode == EKeySpace )
-        	{
-        	SetExtendedFlag(EExtendedFlagOkKeyPressOnCandidatePopup);
-        	}
-       
-     
-        TBool needToExecute(EFalse);        
-        //The candidate list was closed by long key press of shift key
-        isShiftKeyDepressedAfterCandidateListLaunched = IsFlagSet(EFlagShiftKeyDepressed) && (KeyboardLayout()== EPtiKeyboard12Key);
-        if (popupCmd != EAknSoftkeyCancel)
-            {
-            HandleChangeInFocusL();
-                              
-            if (popupCmd == EAknFepSoftkeySpell)
-                {                               
-                // For QWERTY Input Mode
-                if (iQwertyInputMode && EPtiKeyboardHalfQwerty != iKeyboardType) 
-                    {   
-                    TInt activeIdx = KErrNotFound;
-                    TInt secondaryIdx = KErrNotFound;
-                                    
-                    iPtiEngine->HandleCommandL( EPtiCommandUserActionGetCurrentIndexOfCandidates, 
-                                                &activeIdx );
-                    iPtiEngine->HandleCommandL( EPtiCommandUserActionGetIndexOfSecondaryCandidate, 
-                                                &secondaryIdx );
-                    
-                    if(activeIdx != secondaryIdx)
-                        {                        
-                        iPtiEngine->HandleCommandL( 
-                                 EPtiCommandUserActionSetCurrentIndexOfCandidates, &secondaryIdx );                         
-                        }
-                    else
-                        {
-                        secondaryIdx = 0;
-                        iPtiEngine->HandleCommandL( 
-                                 EPtiCommandUserActionSetCurrentIndexOfCandidates, &secondaryIdx );  
-                        }
-                    TPtrC selectedWord = iPtiEngine->CurrentWord();
-                    if(!IsFlagSet(EFlagInsideInlineEditingTransaction))
-                        {
-                        StartInlineEditingWithSelectedWord(selectedWord);
-                        }
-                    UpdateInlineEditL( selectedWord, selectedWord.Length() );
-                        
-                    } 
-                // For ITUT Keypad, remove autocompletion part before launching Query Dialog
-                else
-                    {
-                    RemoveSuggestedAdvanceCompletionL();
-                    }
-                
-                // delete the candidate popup before launching the edit word dialog
-                // as the candidate list has already been closed.
-                if(iCandidatePopup)
-                    {
-                    delete iCandidatePopup;
-                    iCandidatePopup = NULL;
-                    }
-                
-                LaunchEditWordQueryL(); 
-                }           
-            
-            // Close with space or selection key: Commit and add space or move cursor ahead one
-            // character if next character already is space
-            else if ( ( lastKeyEvent.iScanCode == EStdKeyDevice3 || lastKeyEvent.iScanCode == KAknFEPZeroKey )
-            		 && ( KeyboardLayout() == EPtiKeyboard12Key || KeyboardLayout() == EPtiKeyboardHalfQwerty ) )
-                {
-                iPtiEngine->HandleCommandL( EPtiCommandUserActionSetCurrentIndexOfCandidates, 
-                                            &selectedIdx ); 
-                TPtrC selectedWord = iPtiEngine->CurrentWord();
-                if(!IsFlagSet(EFlagInsideInlineEditingTransaction))
-                    {
-                     StartInlineEditingWithSelectedWord(selectedWord);
-                    }
-                UpdateInlineEditL( selectedWord, selectedWord.Length() );
-                iPtiEngine->CommitCurrentWord();
-                CommitInlineEditL();
-				#ifdef RD_INTELLIGENT_TEXT_INPUT    
-				    iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(iUncommittedText);
-				#endif    
-
-                AddOneSpaceOrMoveCursorL();
-                }
-            // Close with right arrow commits the word, does not add space
-            else if ( lastKeyEvent.iScanCode == EStdKeyRightArrow )
-            	{
-                // Change of UI Spec
-                /*
-                 * The following codde change is a part of bug fix for improper 
-                 * behavior of right arrow key when the candidate list is open. The
-                 * right arrow key according to the UI specs should not the selected 
-                 * candicdate and cursor should be end of the word.
-                 */
-                iPtiEngine->HandleCommandL( EPtiCommandUserActionSetCurrentIndexOfCandidates, 
-                                            &selectedIdx );               
-                TPtrC selectedWord = iPtiEngine->CurrentWord();
-                if(!IsFlagSet(EFlagInsideInlineEditingTransaction))
-                    {
-                     StartInlineEditingWithSelectedWord(selectedWord);
-                    }
-                UpdateInlineEditL( selectedWord, selectedWord.Length() );  //selection.iAnchorPosition
-                iPtiEngine->CommitCurrentWord();
-                CommitInlineEditL();
-                #ifdef RD_INTELLIGENT_TEXT_INPUT    
-				    iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(iUncommittedText);
-				#endif  
-
-                SimulateKeyEventL(EKeyF19);
-                }
-            else if(popupCmd == EAknSoftkeyOk)
-                {
-                iPtiEngine->HandleCommandL( EPtiCommandUserActionSetCurrentIndexOfCandidates, 
-                                            &selectedIdx ); 
-                TPtrC selectedWord = iPtiEngine->CurrentWord();
-                if(!IsFlagSet(EFlagInsideInlineEditingTransaction))
-                    {
-                     StartInlineEditingWithSelectedWord(selectedWord);
-                    }
-                UpdateInlineEditL( selectedWord, selectedWord.Length() );
-                iPtiEngine->CommitCurrentWord();
-                CommitInlineEditL();
-                AddOneSpaceOrMoveCursorL();
-                }
-            else
-                {
-                iPtiEngine->HandleCommandL( EPtiCommandUserActionSetCurrentIndexOfCandidates, 
-                                            &selectedIdx ); 
-                TPtrC selectedWord = iPtiEngine->CurrentWord();
-                if(!IsFlagSet(EFlagInsideInlineEditingTransaction))
-                    {
-                     StartInlineEditingWithSelectedWord(selectedWord);
-                    }
-                UpdateInlineEditL( selectedWord, selectedWord.Length() );
-                needToExecute = ETrue;
-                }
-            }
-        else if (popupCmd == EAknSoftkeyCancel && iPrimaryCandidate && IsQwerty() 
-				             && ( KeyboardLayout() != EPtiKeyboardHalfQwerty ) )
-            {
-            iPtiEngine->HandleCommandL( EPtiCommandUserActionSetIndexOfActiveCandidate, &activeIndex );             
-            iKeyBackSpaceHit = 0;
-            }            
-		else if(lastKeyEvent.iCode == EKeyPhoneEnd )
-			{
-			HandleChangeInFocusL();
-			CCoeEnv::Static()->SimulateKeyEventL( lastKeyEvent, EEventKey );
-			}		
-	    else if (popupCmd == EAknSoftkeyCancel && IsQwerty() && ( KeyboardLayout() != EPtiKeyboardHalfQwerty ) ) 
-           iKeyBackSpaceHit = 0;
-		
-        // If the dialog is not closed by pressing softkeys, escape, or right arrow
-        // then the pressed key is handled also by Fep. This way the user can keep typing when the popup is open.
-      
-        //=============== Error fixing and simplify the condition ==========================================
-        // The following piece of code should be excuted, if focus word
-        // in the candidate list is accept, otherwise word sholud remain as it is.
-        // If user does not accept the word,popupCmd always be EAknSoftkeyCancel.
-        // Insetead of earlier lengthy condition, makes it simple.
-           
-        if( needToExecute )
-           {
-            const TBool shifted = (lastKeyEvent.iModifiers & (EModifierLeftShift | 
-                                   EModifierRightShift | EModifierShift));
-            const TBool chrDown = (lastKeyEvent.iModifiers & (EModifierLeftFunc));                       
-            
-            const TBool fnDown = (lastKeyEvent.iModifiers & (EModifierRightFunc));                       
-            if(fnDown  ) 
-                iFnKeyManager->SetFnKeyState(CAknFepFnKeyManager::EFnKeyDown)  ;     
-
-         	if (shifted)
-          		{
-          		SetFlag(EFlagQwertyShiftMode|EFlagNoActionDuringShiftKeyPress);
-          		}
-            else
-                {
-                ClearFlag(EFlagQwertyShiftMode|EFlagNoActionDuringShiftKeyPress);
-                }
-            
-            if (chrDown)
-                {
-                SetFlag(EFlagQwertyChrKeyDepressed|EFlagNoActionDuringChrKeyPress);
-                }
-            else
-                {
-                ClearFlag(EFlagQwertyChrKeyDepressed|EFlagNoActionDuringChrKeyPress);
-                }
-            if ( lastKeyEvent.iScanCode == EStdKeyDevice3 )
-                {
-                CCoeEnv::Static()->SimulateKeyEventL( lastKeyEvent, EEventKey );
-                }
-            if (! ( lastKeyEvent.iScanCode == EStdKeyDevice3 || 
-                    lastKeyEvent.iScanCode == EStdKeyRightArrow ) )
-                {
-                /*
-                 * The following code change is a part of bug fix for improper 
-                 * behavior of any keypress when the candidate list is open. The
-                 * keypress according to the UI specs should lock the selected 
-                 * candidate to editor and the inserted letter is appended to it. 
-                 */                
-                iPtiEngine->HandleCommandL( EPtiCommandLockCurrentCandidate);
-                TPtrC selectedWord = iPtiEngine->CurrentWord();
-                if(!IsFlagSet(EFlagInsideInlineEditingTransaction))
-                    {
-                     StartInlineEditingWithSelectedWord(selectedWord);
-                    }
-                UpdateInlineEditL( selectedWord, selectedWord.Length() );  //selection.iAnchorPosition
-                // For QWERTY input mode, scanCode is used
-			#ifdef __HALF_QWERTY_KEYPAD
-                if( KeyboardLayout() == EPtiKeyboardHalfQwerty)
-                    {
-                    iHalfQwertyLastKeyEvent = lastKeyEvent;
-                    iAsyncOwnSimulateKey.CallBack();                    
-                    }
-                else 
-			#endif //__HALF_QWERTY_KEYPAD
-                if (iQwertyInputMode)
-                    {
-                    CCoeEnv::Static()->SimulateKeyEventL( lastKeyEvent, EEventKey );
-                    }
-                // For ITUT input Mode, keyCode is used
-                else
-                    {
-                    SimulateKeyEventL( lastKeyEvent.iCode);
-                    }
-                }
-            }
-            
-        ShowExactWordPopupIfNecessaryL();
-        if(iCandidatePopup)
-            {
-            delete iCandidatePopup;
-            iCandidatePopup = NULL;
-            }
-        }
-    //The flag ECcpuStateShiftkeyWasPressedBeforeLosingFocus suggests that the candidate list was closed with a 
-    //long key press of edit key (shift key). There are multiple calls to HandleChangedInFocusL() one manually and the other  through
-    //CONE focus change notifier. We want the flag to be set for CONE's focus handler.
-    if(isShiftKeyDepressedAfterCandidateListLaunched)
-        {
-        SetCcpuFlag(ECcpuStateShiftkeyWasPressedBeforeLosingFocus);
-        }
-    }
-void CAknFepManager::StartInlineEditingWithSelectedWord(TDesC& aTextToUncommit)
-    {
-    if(iConcatenationTimer->IsActive())
-    	iConcatenationTimer->Cancel();
-	
-    TInt docLenFep=iInputCapabilities.FepAwareTextEditor()->DocumentLengthForFep();
-                if (iUncommittedText.iCursorPos>docLenFep)
-                    iUncommittedText.iCursorPos=docLenFep;
-                if (iUncommittedText.iAnchorPos>docLenFep)
-                    iUncommittedText.iAnchorPos=docLenFep;
-                        // Activates western predictive UI to an inline editing state.
-                FepUI()->ActivateUI();
-                SyncStates(EAknFepStateUIActive);
-                  // Predictive QWERTY (XT9) changes <----
-                TRAP_IGNORE(StartInlineEditL(iUncommittedText, aTextToUncommit,
-                        aTextToUncommit.Length(), EFalse));
-
-    }
-void CAknFepManager::ShowExactWordPopupIfNecessaryL()
-    {
-    iExactWordPopupContent->HidePopUp();
-    
-    // Before open tooltip,  
-    // also need to check and close tooltip on it.
-    SendEventsToPluginManL( EPluginHideTooltip );
-    
-    if ( iWesternPredictive && iQwertyInputMode 
-    	 && IsFlagSet( EFlagInsideInlineEditingTransaction ) 
-    	 && (EPtiKeyboardHalfQwerty != KeyboardLayout()))
-        {
-        // In the proactive mode this popup is used to show the exact input if it differs from the
-        // default candidate shown inline.
-        // In the reactive mode it is used to show the best guess candidate if it differs from the
-        // exact word shown inline.
-        
-        TInt activeIdx = KErrNotFound;
-        TInt secondaryIdx = KErrNotFound;
-                     
-        iPtiEngine->HandleCommandL( EPtiCommandUserActionGetCurrentIndexOfCandidates, &activeIdx );
-        iPtiEngine->HandleCommandL( EPtiCommandUserActionGetIndexOfSecondaryCandidate, 
-        							&secondaryIdx );
-        
-        TBool popupBelowInline = EFalse; // ETrue -> popup is above inline editor                                                                   
-                
-       if(iKeyBackSpaceHit)
-    	    secondaryIdx = activeIdx;
-
-        if ( activeIdx  != secondaryIdx )
-            {
-            popupBelowInline = EFalse;
-            
-            CDesCArray* candidates = new (ELeave) CDesCArrayFlat(16);
-            CleanupStack::PushL(candidates);
-            GetCandidatesL(*candidates, activeIdx);
-            
-            // There is a possibility that the secondary index of the candidate changes
-            iPtiEngine->HandleCommandL( EPtiCommandUserActionGetIndexOfSecondaryCandidate, 
-                                        &secondaryIdx );
-            // In case the active index and the secondary index is same, then we do not need to display the
-            // popup
-            if ( activeIdx  == secondaryIdx )
-                {
-                CleanupStack::PopAndDestroy(candidates);
-                return;
-                }
-            
-            TPtrC secondaryWord = (*candidates)[secondaryIdx];
-            iExactWordPopupContent->SetTextL( secondaryWord );
-            iExactWordPopupContent->SetArrowDirection( MAknFepUiWordPopupContent::EUpwards );
-            CleanupStack::PopAndDestroy(candidates);
-
-            // Open FSQ tooltip if FSQ is opened
-     	    SendEventsToPluginManL( EPluginShowTooltip, secondaryIdx );
-
-          
-            // For addtion of ITI features on FSQ.
-            // Showing tooltip on avkon editor and FSQ ICF editor at same time probably 
-            // cause flicker problem. Add this condition to ensure not to show tooltip on
-            // avkon editor when it is being displayed on FSQ.
-            if ( iFepPluginManager && !( iFepPluginManager->IsTooltipOpenOnFSQ() ) )
-                {
-                TPoint  popupTopRight;
-                TInt    height;
-                TInt    ascent;
-                TInt    documentOffset = iPtiEngine->CurrentWord().Length();
-                
-                GetScreenCoordinatesL(popupTopRight, height, ascent, documentOffset);
-
-                iExactWordPopupContent->UpdateContentSize();
-
-                TBool rightToLeftLang = IsRightToLeftParagraph( DocPos() );
-                if ( !rightToLeftLang )
-                    {
-                    popupTopRight.iX += iExactWordPopupContent->Size().iWidth;       
-                    }
-                    
-                if ( popupBelowInline )
-                    {
-                    popupTopRight.iY += ascent / 2;                                   
-                    }
-                else
-                    {
-                    popupTopRight.iY -= height + iExactWordPopupContent->Size().iHeight;
-                    }
-                    
-                iExactWordPopupContent->SetPosition( popupTopRight );
-                iExactWordPopupContent->ShowPopUp();         
-                }                
-            }  
-        }
-		else if(iWesternPredictive 
-    	 && IsFlagSet( EFlagInsideInlineEditingTransaction ) 
-    	 && IsFlagSet(CAknFepManager::EFlagNoMatches)) 
-    	{
-    	UpdateCbaL(R_AKNFEP_SOFTKEYS_SPELL_EMPTY);
-    	}
-    }
-
-void CAknFepManager::LaunchPredictiveSettingDialogL()
-	{
-#ifdef RD_SCALABLE_UI_V2	
-    // Addtion of ITI features on FSQ.
-    if ( iFepPluginManager 
-         && iFepPluginManager->IsSupportITIOnFSQ() )
-        {
-        // Hide touch input ui firstly,
-        // otherwise, touch ui can hide status pane.        
-        // Let CAknFepPluginManager know this setting dialog will be opened.
-        iFepPluginManager->ITISettingDialogOpen( ETrue );
-        iFepPluginManager->ClosePluginInputUiL( ETrue );
-        SendEventsToPluginManL( ELostForeground );
-        }
-#endif // RD_SCALABLE_UI_V2
-
-	// Hide fixed toolbar just before launching predictive settings dialog
-	CEikAppUiFactory * appUiFactory = NULL;
-	appUiFactory = static_cast<CEikAppUiFactory*>(CEikonEnv::Static()->AppUiFactory());
-	
-	CAknToolbar * fixedToolbar = NULL;
-	if(appUiFactory)
-	    fixedToolbar = appUiFactory->CurrentFixedToolbar();
-	
-	// If fixedtoolbar is not there in the current editor, we don't need to hide it before launching settings dialog 
-	// and unhide it after settings dialog is done.
-	if( fixedToolbar && !( fixedToolbar->IsShown() && fixedToolbar->CountComponentControls()>0 ) )
-	    fixedToolbar = NULL;
-	
-	if(fixedToolbar)
-		{
-	  fixedToolbar->SetDimmed(ETrue);
-	  fixedToolbar->DrawDeferred();
-	  }
-    TUid fepUid = CCoeEnv::Static()->FepUid();
-    ClearExtendedFlag(EExtendedFlagEdwinEditorDestroyed);
-	UiInterface()->LaunchPredictiveSettingDialogL(R_PREDICTIVESETTING_DIALOG,
-												  R_PREDICTIVESETTINGDIALOG_MENUBAR,
-												  R_PREDICTIVETEXTOFF_CONFIRMATION_QUERY,
-												  R_AKNFEP_PRED_INPUT_SETTINGS_TITLE);
-    PrepareFepAfterDialogExitL(fepUid);	
-#ifdef RD_SCALABLE_UI_V2	
-    // // Addtion of ITI features on FSQ.    
-    if ( iFepPluginManager 
-         && iFepPluginManager->IsSupportITIOnFSQ() )
-        {        
-        // Let CAknFepPluginManager know this setting dialog will be opened.
-        iFepPluginManager->ITISettingDialogOpen( EFalse );        
-        }
-#endif // RD_SCALABLE_UI_V2
-
-	// Enables fixed toolbar after predictive settings dialog is closed
-	if(fixedToolbar)
-		{
-	  fixedToolbar->SetDimmed(EFalse);
-	  fixedToolbar->DrawDeferred();
-	  }
-	}
-#ifdef FF_DUAL_LANGUAGE_SUPPORT
-void CAknFepManager::LaunchWritingLanguageSettingDialogL()
-    {
-    TUid fepUid = CCoeEnv::Static()->FepUid();
-    ClearExtendedFlag(EExtendedFlagEdwinEditorDestroyed);
-    UiInterface()->LaunchWritingLanguageSettingDialogL(R_INPUTLANGUAGE_DIALOG, R_PREDICTIVESETTINGDIALOG_MENUBAR, R_INPUT_LANGUAGE_SETTINGS_TITLE);
-    PrepareFepAfterDialogExitL(fepUid);	
-	}
-
-void  CAknFepManager:: LaunchDualLanguageSettingDialogL()
-    {
-    /* In Chinese language variant,if there are more than one languages supporting dual language feature,
-    display writing language setting view in which Primary and Secondary Languages can be selected from the list.
-    
-    In Chinese language variant,if there is only one language supporting dual language feature, 
-    no need to display the Writing language view which contains Primary and Secondary Language. 
-    Instead we can display the Writing language list directly to the user;from which the user can select the writing language*/
-
-    if( FeatureManager::FeatureSupported( KFeatureIdChinese ) || FeatureManager::FeatureSupported( KFeatureIdJapanese ))
-        {                        
-        CArrayFixFlat<TInt>* languages = new( ELeave )CArrayFixFlat<TInt>( ELanguageArrayGranularity );
-        CleanupStack::PushL( languages );
-        iPtiEngine->GetAvailableLanguagesL( languages );
-        
-        TInt count = languages->Count();   
-        TInt noLangSupportWesternPred = count;
-        for (TInt index = 0; index < count; index++)
-            {      
-            TInt langCode = languages->At(index);            
-            
-            if (langCode == ELangTaiwanChinese ||
-               langCode == ELangHongKongChinese ||
-               langCode == ELangPrcChinese ||
-               langCode == ELangJapanese ||
-               langCode == ELangKorean )
-                {
-                noLangSupportWesternPred--;
-                }            
-            }                         
-        CleanupStack::PopAndDestroy(languages);    
-        
-        if( noLangSupportWesternPred > 1 )
-            {             
-            SetFlag(CAknFepManager::EFlagNewSharedDataInputMode);
-            LaunchWritingLanguageSettingDialogL();            
-            if(IsFlagSet(CAknFepManager::EFlagNewSharedDataInputLanguage))
-                {
-                ClearFlag(CAknFepManager::EFlagNewSharedDataInputLanguage);
-                HandleChangeInFocusL();
-                ChangeInputLanguageL(iSharedDataInterface->InputTextLanguage());
-                }
-            }
-        else
-            LaunchLanguagesPopupListL();                                                
-        }   
-    else
-        {
-        LaunchWritingLanguageSettingDialogL();        
-        if(IsFlagSet(CAknFepManager::EFlagNewSharedDataInputLanguage))
-            {
-            ClearFlag(CAknFepManager::EFlagNewSharedDataInputLanguage);
-            HandleChangeInFocusL();
-            ChangeInputLanguageL(iSharedDataInterface->InputTextLanguage());
-            }
-        } 
-        
-    }
-#endif //FF_DUAL_LANGUAGE_SUPPORT
-// Predictive QWERTY (XT9) changes <----
-#endif //RD_INTELLIGENT_TEXT_INPUT
-void CAknFepManager::LaunchInsertWordQueryL(const TDesC& aInitialText, 
-                                            TCursorSelection aTextSpanToReplace)
-    {
-    TInt recourceId;
-    if(EditorState()->Flags() & EAknEditorFlagEnablePartialScreen)
-        {
-        recourceId = R_AVKON_INSERT_WORD_FS_QUERY;
-        }
-    else
-        {
-        recourceId = R_AVKON_INSERT_WORD_QUERY;
-        }
-    LaunchFepQueryDialogL(recourceId, aInitialText, aTextSpanToReplace);
-    }
-
-void CAknFepManager::LaunchEditWordQueryL()
-    {
-
-    TBuf<EMaximumFepWordLength> newText;
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-	if(IsAutoCompleteOn())
-  		{
-        RemoveSuggestedCompletionL();
-        }
-#endif //RD_INTELLIGENT_TEXT_INPUT
-    iInputCapabilities.FepAwareTextEditor()->GetEditorContentForFep(newText, 
-                                                                    iUncommittedText.iAnchorPos, 
-                                                                    iUncommittedText.Length());
-
-    TInt recourceId;
-    if(EditorState()->Flags() & EAknEditorFlagEnablePartialScreen)
-        {
-        recourceId = R_AVKON_INSERT_WORD_FS_QUERY;
-        }
-    else
-        {
-        recourceId = R_AVKON_INSERT_WORD_QUERY;
-        }
-    LaunchFepQueryDialogL(recourceId, newText, iUncommittedText);
-    }
-
-void CAknFepManager::LaunchFepQueryDialogL(TInt aResourceId, const TDesC& aInitialText, 
-                                           TCursorSelection aTextSpanToReplace)
-    {
-    HBufC* textBuf = HBufC::NewLC(EQueryBufferLength);  // buffer for inserted text
-    TPtr text = textBuf->Des();
-
-    if (aInitialText.Length() <= EQueryBufferLength)
-        text.Copy(aInitialText);
-    else // truncate the incoming text to EQueryBufferLength before copying
-        {
-        TPtrC truncatedText = aInitialText.Left(EQueryBufferLength);
-        text.Copy(truncatedText);
-        }
-
-    if (IsFlagSet(EFlagInsideInlineEditingTransaction))
-        {
-        TryRemoveNoMatchesIndicatorL();
-        CommitInlineEditL();
-        }
-    UpdateCbaL(NULL);
-
-    TInt underlyingCase = iCaseMan->CurrentCase();
-    TBool isCaseUpdatesSupressed = IsFlagSet(EFlagSupressAutoUpdateAtEditorStart);
-
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-    if (aInitialText.Length())
-        {
-        iCaseMan->SetCurrentCase(EAknEditorLowerCase);
-        if (aInitialText.Length() == 1)
-            {
-            if (STATIC_CAST(TChar, aInitialText[0]).IsUpper())
-                iCaseMan->SetCurrentCase(EAknEditorTextCase);
-            }
-        else // length of initial text > 1
-            {
-            if (STATIC_CAST(TChar, aInitialText[0]).IsUpper())
-                {
-                if (STATIC_CAST(TChar, aInitialText[1]).IsLower())
-                    iCaseMan->SetCurrentCase(EAknEditorTextCase);
-                else // 2nd character is upper case
-                    iCaseMan->SetCurrentCase(EAknEditorUpperCase);
-                }
-            }
-        }
-#endif // RD_INTELLIGENT_TEXT_INPUT
-
-    if (iCaseMan->CurrentCase() == EAknEditorLowerCase 
-     || iCaseMan->CurrentCase() == EAknEditorUpperCase)
-        {
-        SetFlag(EFlagSupressAutoUpdateAtEditorStart);
-        }
-
-    TransferFepStateToEditorL();
-
-    SetFlag(EFlagForegroundUIComponentVisible);
-    
-    TInt textQueryEditorFlag = 0;
-    if ((aResourceId == R_AVKON_INSERT_WORD_QUERY ||
-         aResourceId == R_AVKON_EDIT_WORD_QUERY ) &&
-        IsChineseInputLanguage())
-    	{
-	    textQueryEditorFlag = EAknEditorFlagLatinInputModesOnly;
-    	}
-#ifdef RD_SCALABLE_UI_V2     
-    if (iFepFullyConstructed && 
-        iFepPluginManager->PluginInputMode() == EPluginInputModeItut && 
-        !(EditorState()->Flags() & EAknEditorFlagEnablePartialScreen))
-        {
-        iFepPluginManager->SpellText(textBuf);
-        iFepPluginManager->DisplaySpellEditor(textQueryEditorFlag, aInitialText, 
-                                              TCursorSelection(aInitialText.Length(), 0));
-
-        delete iSpellInitText;
-        iSpellInitText = NULL;
-	    iSpellInitText = aInitialText.AllocL();
-	    iSpellInitCurSel = aTextSpanToReplace;
-
-        iFepPluginManager->SetCaseUpdatesSupressed(isCaseUpdatesSupressed);
-        iFepPluginManager->SetITUTSpellingStateL(ETrue);    
-        iFepPluginManager->SetCursorSelection(aTextSpanToReplace);
-        CleanupStack::PopAndDestroy();
-        
-        return;
-        }
-#endif    
-    
-    if(iFepPluginManager)
-        {
-        iFepPluginManager->SetInEditWordQueryFlag(ETrue);
-        }
-
-    PrepareFepForFepAwareDialogLaunch();
-    TUid fepUid = CCoeEnv::Static()->FepUid();
-    ClearExtendedFlag(EExtendedFlagEdwinEditorDestroyed);
-    TInt id = iUiInterface->TextQueryDialogL(text, *EditorState(), 
-                                             textQueryEditorFlag, aResourceId);
-    PrepareFepAfterFepAwareDialogExitL(fepUid);        
-    PrepareFepAfterDialogExitL(fepUid);
-
-    if(iFepPluginManager)
-        {
-        iFepPluginManager->SetInEditWordQueryFlag(EFalse);
-        }                                             
-    if (id == EAknSoftkeyOk)
-        {
-        // Insert the character into the edwin.
-        InsertTextFromDialogL(text, aTextSpanToReplace);
-        // Add the word to the user dictionary (except for single character)  after it has been added to the editor.
-        // FepUI of the main editor is used. Different FepUI is used in multitap
-        // query and predictive mode 'main' editor at least in Japanese variant.
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        if(text.Length() > 1)
-            FepUI()->AddTextToUserDictionaryL(text);
-#else
-        FepUI()->AddTextToUserDictionaryL(text); 
-#endif // RD_INTELLIGENT_TEXT_INPUT
-
-        }
-    else // restore original case and inline text
-        {
-        HandleChangeInFocus();
-        if (aTextSpanToReplace.Length())
-            {
-            EditorState()->SetInlineEditSpan(aTextSpanToReplace);
-            ConfigureFEPFromEditorStateL();
-            }
-        iCaseMan->SetCurrentCase(underlyingCase);
-        TransferFepStateToEditorL();
-        }
-
-    if (isCaseUpdatesSupressed)
-        {
-        SetFlag(EFlagSupressAutoUpdate);
-        }
-    else
-        {
-        ClearFlag(EFlagSupressAutoUpdate);
-        }
-    ClearFlag(EFlagSupressAutoUpdateAtEditorStart);
-    CleanupStack::PopAndDestroy(); // text
-    }
-
-void CAknFepManager::InsertTextFromDialogL(const TDesC& aTextFromDialog, 
-                                           TCursorSelection aExtentOfTextToReplace)
-    {
-    SetCcpuFlag(ECcpuStateSupressCursorMoveToEnd);
-    // ensure we're back on the correct editor
- 
-#ifdef RD_SCALABLE_UI_V2   
-    iNotifyPlugin = EFalse; // not really focus change
-    HandleChangeInFocus();
-    iNotifyPlugin = ETrue;
-#else
-    HandleChangeInFocus();
-#endif    
-    // need to commit if the editor was previously performing an inline edit
-    if (IsFlagSet(EFlagInsideInlineEditingTransaction))
-        CommitInlineEditL();
-
-    TInt addedTextLength=0;
-
-    TCursorSelection currentSelection;
-// In case input capabilities goes null leaving with an error code and allowing application to handle..
-    if (NULL == iInputCapabilities.FepAwareTextEditor())
-        User::Leave(KErrCorrupt);
-    iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(currentSelection);
-    // Prepare for the edit
-    TInt docLength = iInputCapabilities.FepAwareTextEditor()->DocumentLengthForFep();
-    TInt maxLength = iInputCapabilities.FepAwareTextEditor()->DocumentMaximumLengthForFep();
-
-    if (aExtentOfTextToReplace.Length())
-        {
-        if (currentSelection.Length())
-            // Want to 'cancel' the selection so move cursor & anchor to the end of
-            // the selection and then to the end of the current word
-            {
-            TInt endOfSelection=currentSelection.HigherPos();
-            iUncommittedText.SetSelection(endOfSelection, endOfSelection);
-            if (CursorInsideWord())
-                MoveCursorToEndOfWordL();
-            }
-        iUncommittedText = aExtentOfTextToReplace;
-        iInputCapabilities.FepAwareTextEditor()->SetCursorSelectionForFepL(iUncommittedText);
-        addedTextLength = aTextFromDialog.Length();
-        if (maxLength != 0)
-            {
-            addedTextLength = Min(addedTextLength,
-                (maxLength - docLength + iUncommittedText.Length()));
-            }
-        }
-    else
-        {
-        addedTextLength = aTextFromDialog.Length();
-
-        //maxLength of 0 means the editor has no limit
-        if (maxLength != 0)
-            {
-            addedTextLength = Min(addedTextLength,
-                                  (maxLength - docLength + currentSelection.Length()));
-            }
-        if (currentSelection.Length())
-            {
-            iUncommittedText.SetSelection(currentSelection.HigherPos(), 
-                                          currentSelection.LowerPos());
-            iInputCapabilities.FepAwareTextEditor()->SetCursorSelectionForFepL(iUncommittedText);
-            }
-        else // do this in order for editor to get the correct number of chars to format from GetFormatOfFepInlineText()
-            iUncommittedText.iCursorPos+=addedTextLength;
-        }
-    // if necessary trim text to fit into available space in the editor & perform the edit
-    TPtrC textToEditor = aTextFromDialog.Left(addedTextLength);
-
-    StartInlineEditL(textToEditor);
-    CommitInlineEditL();
-#ifdef RD_INTELLIGENT_TEXT_INPUT    
-    iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(iUncommittedText);
-#endif    
-
-    EditorState()->SetInlineEditSpan(iUncommittedText);
-    }
-
-void CAknFepManager::LaunchKutenCodeQueryL()
-    {
-    TInt code;
-    TUid fepUid = CCoeEnv::Static()->FepUid();
-    ClearExtendedFlag(EExtendedFlagEdwinEditorDestroyed);
-    UiInterface()->JapaneseKutenQueryDialogL(R_AKNFEPUICTRLJAPANESEKUTEN_QUERY, code, 0);
-
-    PrepareFepAfterDialogExitL(fepUid);
-
-    HandleChangeInFocus();  // to re-establish contact with editor under KutenCode Query
-
-    if (code > 0 && EditorHasFreeSpace())
-        {
-        TBuf<ESingleCharacter> text;
-        text.Append((TText)code);
-        SetFlag(EFlagInsideInlineEditingTransaction);
-        iInputCapabilities.FepAwareTextEditor()->StartFepInlineEditL(text, ESingleCharacter, 
-                                                                     ETrue, NULL, *this, *this);
-        CommitInlineEditL();
-        }
-    }
-
-TInt CAknFepManager::NumericModeSCTResourceId() const
-    {
-    TInt charMapResId = EDefaultNumericCharMapResId;
-    TBool phoneIdle = (EditorType() == CAknExtendedInputCapabilities::EPhoneNumberEditor);            
-    
-    if( phoneIdle )
-        {
-        charMapResId=R_AKNFEP_SCT_NUMERIC_MODE_CHARS_STANDARD;
-        return charMapResId;
-        }
-
-    switch (iAknEditorNumericKeymap)
-        {
-        case EAknEditorStandardNumberModeKeymap:
-            charMapResId = R_AKNFEP_SCT_NUMERIC_MODE_CHARS_STANDARD;
-            break;
-        case EAknEditorCalculatorNumberModeKeymap:
-            charMapResId = R_AKNFEP_SCT_NUMERIC_MODE_CHARS_CALCULATOR;
-            break;
-        case EAknEditorConverterNumberModeKeymap:
-            charMapResId = R_AKNFEP_SCT_NUMERIC_MODE_CHARS_CONVERTER;
-            break;
-        case EAknEditorFixedDiallingNumberModeKeymap:
-            charMapResId = R_AKNFEP_SCT_NUMERIC_MODE_CHARS_FIXED_DIALLING;
-            break;
-        case EAknEditorSATNumberModeKeymap:
-            charMapResId = R_AKNFEP_SCT_NUMERIC_MODE_CHARS_SAT;
-            break;
-        case EAknEditorToFieldNumberModeKeymap:
-            charMapResId = R_AKNFEP_SCT_NUMERIC_MODE_CHARS_TO_FIELD;
-            break;
-        case EAknEditorPlainNumberModeKeymap:
-            charMapResId = R_AKNFEP_SCT_NUMERIC_MODE_CHARS_PLAIN;
-            break;
-        case EAknEditorNativeKeysNumberModeKeymap:
-            //currently this is not in use
-            break;
-        case EAknEditorSATHiddenNumberModeKeymap:
-            charMapResId = R_AKNFEP_SCT_NUMERIC_MODE_CHARS_SAT_HIDDEN;
-            break;
-        default:
-            //We reach here because there is no valid SCT resource ID set
-            //by the current editor. So best we can do now is set the 
-            //default mode for numeric editors.
-            charMapResId = R_AKNFEP_SCT_NUMERIC_MODE_CHARS_STANDARD;
-            break;
-        }
-    if(IsHybridAplhaEditor() && !IsHybridAlphaModeChangedtoAplhanumeric())
-        {
-        charMapResId = R_AKNFEP_SCT_NUMERIC_MODE_CHARS_STANDARD;
-        }
-    return charMapResId;
-    }
-
-
-TBool CAknFepManager::HashKeyModeChangeBlockedInSearchField() const
-    {
-    if ((iAknEditorFlags & EAknEditorFlagFindPane) && 
-         iSharedDataInterface->HashKeySelectionInUse() &&                
-         !IsChineseInputLanguage() &&
-         !IsKoreanInputLanguage() &&
-         iLanguageCapabilities.iInputLanguageCode != ELangVietnamese &&
-         !FeatureManager::FeatureSupported(KFeatureIdJapanese))
-         {
-         if (iMode == ELatin || iMode == ENumber || iMode == ENativeNumber )
-            {
-            return ETrue;               
-            }                               
-         }
-             
-    return EFalse;         
-    }
-
-    
-TKeyResponse CAknFepManager::HandleHashKeyL(TKeyPressLength aLength)
-    {
-    TKeyResponse response = EKeyWasNotConsumed;
-    if (IsFlagSet(EFlagPassNextKey))
-        {
-        ClearFlag(EFlagPassNextKey);
-        }
-    else if (IsFlagSet(EFlagShiftKeyDepressed))
-        {
-        response = EKeyWasConsumed;
-        }
-    else if (HashKeyModeChangeBlockedInSearchField())      
-        {
-        // Do not allow case changes for latin languages in search field
-        // if hash key selection is active.
-        response = EKeyWasConsumed;
-        }
-    else
-        {
-        if ( IsFlagSet(EFlagInsideMultitapInlineEditingTransaction) )
-            {
-#ifdef RD_HINDI_PHONETIC_INPUT	                    
-		if(iSharedDataInterface->InputTextLanguage() != KLangHindiPhonetic)    
-#endif            
-            FepUI()->ExpireMultitapTimer();
-            // For Japanese, send backspace key event in case hash key
-            // is pressed while secret text input.
-           if (IsFeatureSupportedJapanese())
-                {
-                if (iInputCapabilities.SupportsSecretText())
-                    {
-                    SimulateKeyEventL(EKeyF20);          //backspace
-                    }
-                }
-#ifdef RD_HINDI_PHONETIC_INPUT	                    
-		if(iSharedDataInterface->InputTextLanguage() != KLangHindiPhonetic)    
-#endif            
-                ClearFlag(EFlagInsideMultitapInlineEditingTransaction);
-            iCaseMan->UpdateCase(ENullNaviEvent);
-            }
-        if (aLength == EShortKeyPress)
-            {
-            if ( iMode != ENumber && iMode != ENativeNumber )
-                {
-                iModeBefore = iMode;
-                if (iModeBefore == ELatin)
-                    {
-                    iCaseBefore = iCaseMan->CurrentCase();
-                    }
-                }
-            }
-
-       // always keep previous input mode for Japanese input
-       if (IsFeatureSupportedJapanese())
-            {
-            iModeBefore = iMode;
-            if (iModeBefore == ELatin)
-                {
-                iCaseBefore = iCaseMan->CurrentCase();
-                }
-            }
-       if (iMode == EHangul && aLength == ELongKeyPress)
-       		{       
-       		if (IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction))
-                {
-                TPtrC text = iPtiEngine->CurrentWord();
-                if (text.Length() > 0)
-            		{
-            		CancelInlineEdit();
-            		StartInlineEditL();
-            		UpdateInlineEditL(iPtiEngine->PreviousCandidate(), iPtiEngine->PreviousCandidate().Length());
-            		CommitInlineEditL();
-            		}
-            	else
-            		{
-            		CancelInlineEdit();          		
-            		}
-            	iPtiEngine->ClearCurrentWord();
-                }
-       		}
-		
-        response = iHashKeyMan->HandleKeyEventL(aLength);
-        if (response == EKeyWasNotConsumed)
-            {
-            switch (iAknEditorNumericKeymap)
-                {
-            case EAknEditorStandardNumberModeKeymap: //fall through
-            case EAknEditorFixedDiallingNumberModeKeymap:
-            case EAknEditorSATNumberModeKeymap:
-            case EAknEditorSATHiddenNumberModeKeymap:
-            case EAknEditorAlphanumericNumberModeKeymap:
-                if (!EditorHasFreeSpace())
-                    {
-                    response=EKeyWasConsumed;
-                    }
-                break;
-            case EAknEditorCalculatorNumberModeKeymap: //fall through
-            case EAknEditorConverterNumberModeKeymap:
-                SimulateKeyEventL(CurrentDecimalSeparator());
-                if (EditorHasFreeSpace())
-                    {
-                    SetFlag(EFlagCharacterAdded);
-                    }
-                response=EKeyWasConsumed;
-                break;
-            case EAknEditorToFieldNumberModeKeymap:
-                SimulateKeyEventL(text_to_field_mode_hash_key);
-                if (EditorHasFreeSpace())
-                    {
-                    SetFlag(EFlagCharacterAdded);
-                    }
-                response=EKeyWasConsumed;
-                break;
-            case EAknEditorPlainNumberModeKeymap:
-                response=EKeyWasConsumed;
-                break;
-            case EAknEditorNativeKeysNumberModeKeymap:
-                break;
-            default:
-                break;
-                }
-            }
-        }
-    return response;
-    }
-
-TInt CAknFepManager::EditorNumericKeymap() const
-    {
-    return iAknEditorNumericKeymap;
-    }
-
-
-TBool CAknFepManager::HashKeySelectionInUse() const
-    {       
-	if (ExtendedInputCapabilities() 
-    & CAknExtendedInputCapabilities::EForceHashKeySelectionStatusFlagOff)
-	    {
-	    return EFalse;
-	    }
-        
-    return iSharedDataInterface->HashKeySelectionInUse();           
-    }     
-  
-
-TBool CAknFepManager::EditSubmenuInUse() const
-	{
-	if (RProcess().SecureId().iId == KPhoneSecureId)
-		{
-		if (iQwertyInputMode)
-			{
-			return EFalse;				
-			}
-		} 
-			
-	if (ExtendedInputCapabilities() & CAknExtendedInputCapabilities::EForceEditSubmenuStatusFlagOff)
-	    {
-	    return EFalse;
-	    }			
-			
-	return iSharedDataInterface->EditSubmenuInUse();			
-	} 
-
-
-void CAknFepManager::DimEditMenuModeItems(CAknFepUiInterfaceMenuPane* aMenuPane)
-    {
-    // current item
-    DimMenuItem(aMenuPane, iMode);
-
-    // dim menu items for Chinese input modes that aren't valid in the current editor
-    // or the device subvariant
-    for (TInt mode = KFirstMode; mode <= KLastMode; mode = mode << 1)
-        {
-        if (!IsModePermitted(mode))
-            {
-            DimMenuItem(aMenuPane, mode);
-            }
-        }
-    
-    if (IsAbleToLaunchSmiley())
-        {
-        TInt index;
-        if (aMenuPane->MenuItemExists(EAknCmdEditInsertSmiley, index))
-            {
-            aMenuPane->SetItemDimmed(EAknCmdEditInsertSmiley, EFalse);
-            }
-        }        
-    }
-
-void CAknFepManager::DimMenuItem(CAknFepUiInterfaceMenuPane* aMenuPane, TInt aMode)
-    {
-    TInt dimmedMenuItem = 0;
-    switch (aMode)
-        {
-        case EPinyin:
-            dimmedMenuItem = EChinFepCmdModePinyin;
-            break;
-        case EZhuyin:
-            dimmedMenuItem = EChinFepCmdModeZhuyin;
-            break;
-        case EStroke:
-            dimmedMenuItem = EChinFepCmdModeStroke;
-            break;
-        case ECangJie:
-            dimmedMenuItem = EChinFepCmdModeCangJie;
-            break;
-        case EZhuyinFind:
-            dimmedMenuItem = EChinFepCmdModeZhuyinFind;
-            break;
-        case EStrokeFind:
-            dimmedMenuItem = EChinFepCmdModeStrokeFind;
-            break;
-        case ELatin:
-            if ( iLanguageCapabilities.iInputLanguageCode != ELangJapanese)
-                {
-                // According Katja's info, dim the current case item in the 
-                // indicator menu.
-                if ( iCaseMan->CurrentCase() == EAknEditorUpperCase )
-                    {
-                    dimmedMenuItem = EChinFepCmdModeLatinUpper;
-                    }
-                else if(iCaseMan->CurrentCase() == EAknEditorLowerCase)
-                    {
-                    dimmedMenuItem = EChinFepCmdModeLatinLower;
-                    }
-                else if(iCaseMan->CurrentCase() == EAknEditorTextCase)
-                    {
-                    dimmedMenuItem = EAknCmdEditModeLatinText;
-                    }
-                }
-            break;
-        case ENativeNumber:
-            {
-            aMenuPane->SetItemDimmed(EAknCmdEditModeArabicIndicNumber, ETrue);
-            aMenuPane->SetItemDimmed(EAknCmdEditModeEasternArabicIndicNumber, ETrue);
-            aMenuPane->SetItemDimmed(EAknCmdEditModeIndicNumber, ETrue);
-            }
-            break;
-        default:
-            break;
-        }
-    TInt index;
-    if (dimmedMenuItem && aMenuPane->MenuItemExists(dimmedMenuItem, index))
-        {
-        aMenuPane->SetItemDimmed(dimmedMenuItem, ETrue);
-        }
-    }
-
-void CAknFepManager::LaunchConfirmationNoteL(TInt aResourceId)
-    {
-    SetFlag(EFlagForegroundUIComponentVisible);
-	iUiInterface->LaunchConfirmationNoteL(aResourceId);
-    }
-
-void CAknFepManager::NewCharacterL(const TDesC& aChar)
-    {
-    if ( aChar.Length() == 0 )
-    	{
-    	return;
-    	}
-    TChar ch = aChar[0];
-
-    TBool validNewCandidate = CharIsValidInEditor(ch);
-    // Check if the character is valid for the editor.
-    if ( !validNewCandidate )
-        {
-        TChar firstNewCandidate = ch;
-        TBool goneThroughAllCandidates(EFalse);
-        TPtrC8 sequence = iPtiEngine->CurrentInputSequence();
-
-        if ( sequence.Length() )
-            {
-            TPtiKey key = (TPtiKey)sequence[0];
-                        
-            TBuf<20> mapData;              
-            iPtiEngine->MappingDataForKey(key, mapData, iPtiEngine->Case()); 
-            // If the character was not coming from ptiengine mappings, fail instantly.              
-            if (mapData.Locate(firstNewCandidate) != KErrNotFound)
-                {                
-                // If there is an ivalid character in chr-loop, try to jump to next valid one.
-                for (TInt jj = 0; jj < mapData.Length(); jj++)
-                    {
-                    TPtrC text = iPtiEngine->AppendKeyPress(key);
-				    if ( text.Length() == 0 )
-				    	{
-				    	continue;
-				    	}
-                    ch = text[0];
-                    goneThroughAllCandidates = (ch == firstNewCandidate);                    
-                    validNewCandidate = CharIsValidInEditor(ch);
-                    if (validNewCandidate || goneThroughAllCandidates)
-                        {
-                        break;
-                        }                                        
-                    }
-                }            
-            }
-        }
-    if (!validNewCandidate)
-        {
-        // No valid characters at all.
-        CancelInlineEdit();
-        return;
-        }
-
-    if ( (ch == KAknFEPLineFeedSymbol ||
-          ch == KAknFEPMirroredLineFeedSymbol) &&
-        (EditorHasFreeSpace() || IsFlagSet(EFlagLastCharacterInEditor)))
-        {
-        SetFlag(EFlagLineFeedCharacter);
-        }
-    else
-        {
-        ClearFlag(EFlagLineFeedCharacter);
-        }
-        
-    if ( (ch == EKeySpace) &&
-        (EditorHasFreeSpace() || IsFlagSet(EFlagLastCharacterInEditor)))
-        {
-        SetFlag(EFlagSpaceCharacter);
-        }
-    else
-        {
-        ClearFlag(EFlagSpaceCharacter);
-        }
-
-
-    if (iInputCapabilities.SupportsSecretText())
-        {
-        if (IsFlagSet(EFlagInsideMultitapInlineEditingTransaction))
-            {
-            SimulateKeyEventL(EKeyF20); // to delete previous char in secret text editor
-            }
-        //we receive an extra key press if we simulate a key that is also a device key
-        if (ch.IsDigit() || TUint(ch) == EStarKeyUnicodeValue || TUint(ch) == EHashKeyUnicodeValue)
-            {
-            SetFlag(EFlagPassNextKey);
-            }
-        if ( ch.IsDigit() && iLanguageCapabilities.iLocalDigitType == EDigitTypeArabicIndic )
-            {
-            ClearFlag(EFlagPassNextKey);
-            SimulateKeyEventL(ch + (TChar)KLatinToArabicIndicDigitsDelta ); 
-            }
-        else if ( ch.IsDigit() 
-               && iLanguageCapabilities.iLocalDigitType == EDigitTypeEasternArabicIndic )
-            {
-            ClearFlag(EFlagPassNextKey);
-            if(iLanguageCapabilities.iInputLanguageCode == ELangUrdu 
-            || iLanguageCapabilities.iInputLanguageCode == ELangFarsi)
-                {
-                SimulateKeyEventL(ch + (TChar)KLatinToEasternArabicIndicDigitsDelta );  
-                }
-            }    
-        else if ( ch.IsDigit() && iLanguageCapabilities.iLocalDigitType == EDigitTypeDevanagari )
-            {
-            ClearFlag(EFlagPassNextKey);
-            SimulateKeyEventL(ch + (TChar)KLatinToDevanagariDigitsDelta);
-            }
-        else
-            {
-            SimulateKeyEventL(ch);
-            }
-        SetFlag(EFlagInsideMultitapInlineEditingTransaction | EFlagInsideInlineEditingTransaction);
-        }
-    else if (EditorHasFreeSpace() || IsFlagSet(EFlagInsideMultitapInlineEditingTransaction))
-        {
-        TBuf<1> buf;
-        if ( ch.IsDigit() && iLanguageCapabilities.iLocalDigitType == EDigitTypeArabicIndic )
-            {
-            buf.Append( ch + (TChar)KLatinToArabicIndicDigitsDelta );   
-            }
-        else if ( ch.IsDigit() 
-               && iLanguageCapabilities.iLocalDigitType == EDigitTypeEasternArabicIndic )
-            {
-            if(iLanguageCapabilities.iInputLanguageCode == ELangUrdu 
-            || iLanguageCapabilities.iInputLanguageCode == ELangFarsi)
-                {
-                buf.Append( ch + (TChar)KLatinToEasternArabicIndicDigitsDelta );                    
-                }
-            }    
-        else if ( ch.IsDigit() && iLanguageCapabilities.iLocalDigitType == EDigitTypeDevanagari )
-            {
-            buf.Append( ch + (TChar)KLatinToDevanagariDigitsDelta );    
-            }
-        else
-            {
-            buf.Append( ch );
-            }
-
-        if (iFepManState == EAknFepStateInitial) //multitapping
-            {
-            if (!IsFlagSet(EFlagInsideMultitapInlineEditingTransaction))
-                {
-                TInt edSize = iInputCapabilities.FepAwareTextEditor()->DocumentLengthForFep();
-                iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(iUncommittedText);
-                if (iAknEditorFlags & EAknEditorFlagMTAutoOverwrite && iMode == ELatin 
-                    && !WesternPredictive()
-                    && iUncommittedText.iCursorPos < edSize 
-                    && iUncommittedText.Length() == 0)
-                    {
-                    // If the cursor is at the beginning or in the middle of the text,
-                    // existing characters are replaced with new ones in latin multitap input.
-                    iUncommittedText.iCursorPos++;
-                    StartInlineEditL(iUncommittedText, buf, ESingleCharacter, EFalse);
-                    SetFlag(EFlagInsideMultitapInlineEditingTransaction);
-                    UpdateInlineEditL(buf, ESingleCharacter);
-                    }
-                else
-                    {
-                    StartInlineEditL(buf);
-                    SetFlag(EFlagInsideMultitapInlineEditingTransaction);
-                    }
-                }
-            else
-                {
-                UpdateInlineEditL(buf, ESingleCharacter);
-                }
-
-            if(!EditorHasFreeSpace())
-                {
-                SetFlag(EFlagLastCharacterInEditor);
-                }
-            }
-        else
-            {
-            iInputCapabilities.FepAwareTextEditor()->StartFepInlineEditL(buf, ESingleCharacter, 
-                                                                        ETrue, NULL, *this, *this);
-            }
-        SetFlag(EFlagInsideInlineEditingTransaction);
-        }
-    }
-
-void CAknFepManager::NewTextL(const TDesC& aText)
-    {
-    ClearFlag(EFlagLineFeedCharacter);
-    TBool unlimit = EFalse;
-    TInt freeSpace = EditorFreeSpace(unlimit);
-
-    if (IsFlagSet(EFlagInsideMultitapInlineEditingTransaction) ||
-        unlimit || freeSpace > 0 ) //
-        {
-        if( unlimit || freeSpace > aText.Length() )
-            {
-            iInputCapabilities.FepAwareTextEditor()->StartFepInlineEditL(aText, aText.Length(), ETrue, 
-                                                                                 NULL, *this, *this);
-            }
-        else  
-            {
-            iInputCapabilities.FepAwareTextEditor()->StartFepInlineEditL(aText.Left(freeSpace), freeSpace, ETrue, 
-                                                                                 NULL, *this, *this);
-            }
-        
-        SetFlag(EFlagInsideInlineEditingTransaction);
-        }
-    }
-
-
-void CAknFepManager::NewCharacterSequenceL(const TDesC& aText, TIndicInputResponse aResponse)
-    {
-    TChar zws((ZERO_WIDTH_SPACE));
-    TChar virama((TAknFepUiIndicInputManager::Virama(TLanguage(
-                    iLanguageCapabilities.iInputLanguageCode))));
-    TBool ret = ETrue;
-	TBuf<CAknFepManager::EMaximumFepWordLength> buf;
-    buf.Zero();
-    TBool isTextLayoutPresent = (AknFepDocumentNavigation() || TextLayout()) ? ETrue : EFalse;
-    switch( aResponse )
-        {
-        case EIndicInputResponseNone:
-            {
-            NewCharacterL(aText);
-            }
-            break;
-        case EIndicInputResponseNumber:
-            {
-            NewCharacterL(aText);
-            CommitInlineEditL();
-            }
-            break;
-        case EIndicInputResponseZWSandCharacter:
-            {
-            if (! iInputCapabilities.SupportsSecretText() && isTextLayoutPresent)
-                {
-                buf.Append(zws);
-                NewCharacterL(buf);
-                CommitInlineEditL();
-                }
-            NewCharacterL(aText);           
-            }
-            break;
-        case EIndicInputResponseInsertZWS:
-            {
-            buf.Append(virama);
-            if(isTextLayoutPresent)
-                buf.Append(zws);
-            ret = EFalse;           
-            }
-            break;
-        case EIndicInputResponseInsertZWSandLigature:
-            {
-            buf.Append(virama);
-            if(isTextLayoutPresent)
-                buf.Append(zws);
-            if ( iInputCapabilities.SupportsSecretText() )
-                {
-                buf.Append(aText);  
-                }
-            ret = EFalse;           
-            }
-            break;
-
-        case EIndicInputResponseInsertRepha:
-            {
-            MCoeFepAwareTextEditor* fepAwareTextEditor = 
-                iInputCapabilities.FepAwareTextEditor();
-
-            if( fepAwareTextEditor )
-                {
-                TInt nextCharPos = 0;
-                TCursorSelection curSel;
-            
-                fepAwareTextEditor->GetCursorSelectionForFep( curSel );
-                
-                // Insert Repha before the desired syllable.
-                TBool leftFlag = GetNextVisualLeftCharacter( nextCharPos );
-                if( leftFlag )
-                    {
-                    curSel.iCursorPos = nextCharPos;
-                    curSel.iAnchorPos = nextCharPos;
-                    
-                    fepAwareTextEditor->SetCursorSelectionForFepL( curSel );
-                                                
-                    TAknFepUiIndicInputManager::GetRepha( buf, 
-                        TLanguage( iLanguageCapabilities.iInputLanguageCode ) );
-
-                    ret = EFalse;
-                    }
-                }
-            break;
-            }
-
-        case EIndicInputResponseInsertRakar:
-            {
-            TAknFepUiIndicInputManager::GetRakar( buf, 
-                TLanguage( iLanguageCapabilities.iInputLanguageCode ) );
-            ret = EFalse;
-            }
-            break;
-#ifdef RD_HINDI_PHONETIC_INPUT      
-    	case EIndicInputResponsePhoneticMultitapText:
-    		{
-    		buf.Append(aText);
-			ret = EFalse;	
-    		}
-    		break;
-        case EIndicInputResponsePhoneticQwertyText:
-            {
-            buf.Append(aText);
-            ret = EFalse;   
-            }
-            break;
-#endif          
-
-        case EIndicInputResponseInsertDirectLigature:
-            {
-            // In key-0, the new line character preceeds the Ksha.
-            // First clear the new line flag.
-            ClearFlag( EFlagLineFeedCharacter );
-            
-            buf.Append( aText );
-            ret = EFalse;
-            }
-            break;
-
-        case EIndicInputResponseInsertViramaZWSandDirectLigature:
-            {
-            // This case handles the insertion of Virama when star key
-            // is pressed.
-
-            // In key-0, the new line character preceeds the Ksha.
-            // First clear the new line flag.
-            ClearFlag( EFlagLineFeedCharacter );
-
-            buf.Append(virama);
-            if(isTextLayoutPresent)
-                buf.Append(zws);
-            if ( iInputCapabilities.SupportsSecretText() )
-                {
-                buf.Append(aText);  
-                }
-            ret = EFalse;
-            }
-            break;
-
-        case EIndicInputResponseZWSandDirectLigature:
-            {
-            if (! iInputCapabilities.SupportsSecretText() && isTextLayoutPresent)
-                {
-                buf.Append(zws);
-                NewCharacterL(buf);
-                CommitInlineEditL();
-                }
-            buf.Zero();
-            buf.Append( aText );
-            ret = EFalse;
-            }
-            break;
-
-#ifdef RD_MARATHI
-		case EIndicInputResponseInsertEyeLashRa:
-			{
-			TAknFepUiIndicInputManager::GetEyeLashRa( buf, 
-				(TLanguage)iLanguageCapabilities.iInputLanguageCode );
-			ret = EFalse;
-    		}
-			break;
-
-		case EIndicInputResponseInsertChandraA:
-			{
-			TAknFepUiIndicInputManager::GetChandraA( buf );
-			ret = EFalse;
-			}
-			break;
-#endif // RD_MARATHI
-
-        default:
-            break;
-        }
-        
-    if(ret)
-        return;
-    
-    if ( iInputCapabilities.SupportsSecretText() )
-        {
-        if ( IsFlagSet(EFlagInsideMultitapInlineEditingTransaction) )
-            {
-            SimulateKeyEventL(EKeyF20); // to delete previous char in secret text editor
-            }
-        for( TInt counter=0; counter<buf.Length(); counter++ )
-            {
-            if( (buf[counter] != ZERO_WIDTH_SPACE) )
-                SimulateKeyEventL(buf[counter]);    
-            }
-        SetFlag(EFlagInsideMultitapInlineEditingTransaction | EFlagInsideInlineEditingTransaction);
-        }
-    else if ( EditorHasFreeSpace() || IsFlagSet(EFlagInsideMultitapInlineEditingTransaction) )
-        {
-        if ( iFepManState == EAknFepStateInitial ) //multitapping
-            {
-            if ( !IsFlagSet(EFlagInsideMultitapInlineEditingTransaction) )
-                {
-                TInt edSize = iInputCapabilities.FepAwareTextEditor()->DocumentLengthForFep();
-                iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(iUncommittedText);
-                if (iAknEditorFlags & EAknEditorFlagMTAutoOverwrite && iMode == ELatin 
-                    && !WesternPredictive()
-                    && iUncommittedText.iCursorPos < edSize 
-                    && iUncommittedText.Length() == 0)
-                    {
-                    // If the cursor is at the beginning or in the middle of the text,
-                    // existing characters are replaced with new ones in latin multitap input.
-                    iUncommittedText.iCursorPos++;
-                    StartInlineEditL(iUncommittedText, buf, ESingleCharacter, EFalse);
-                    }
-                else
-                    {
-                    StartInlineEditL();
-                    }
-                SetFlag(EFlagInsideMultitapInlineEditingTransaction);
-                }
-            UpdateInlineEditL(buf, buf.Length());
-
-            if( !EditorHasFreeSpace() )
-                {
-                SetFlag(EFlagLastCharacterInEditor);
-                }
-            }
-        SetFlag(EFlagInsideInlineEditingTransaction);
-
-        // Check if text needs to be committed   		
-        if( ( TAknFepUiIndicInputManager::IsToCommitCharSeq( aResponse ) ) )
-            {
-            CommitInlineEditL();    
-            }
-        if( aResponse == EIndicInputResponseInsertZWSandLigature )
-            {
-            NewCharacterL(aText);   
-            }    
-        else if( aResponse == EIndicInputResponseInsertViramaZWSandDirectLigature )
-            {
-            // Doing this here because we first commit the virama 
-            // and ZWS and keep the ligature in the inline buffer.
-            NewLigatureL( aText );
-            }
-        }
-    }
-
-void CAknFepManager::CommitInlineEditL()
-    {   
-    if ( !IsFlagSet( CAknFepManager::EFlagInsideInlineEditingTransaction ) )
-        {
-        return;
-        }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    // Before commit inline, check and close 
-    // tooltip on FSQ first.
-    SendEventsToPluginManL( EPluginHideTooltip );
-
-    // Predictive QWERTY (XT9) changes ---->
-    // Exact word popup is hidden when the inline editor is closed
-    iExactWordPopupContent->HidePopUp();
-    // Predictive QWERTY (XT9) changes <----
-#endif //RD_INTELLIGENT_TEXT_INPUT
-    if (iInputCapabilities.FepAwareTextEditor())
-			{
-	    if  (IsFlagSet(EFlagLineFeedCharacter))
-	        {
-	        if (iInputCapabilities.SupportsSecretText())
-	            {
-	            SimulateKeyEventL(EKeyF20); // backspace to delete previous char in secret text editor
-	            SimulateKeyEventL(EKeyEnter);
-	            SimulateKeyEventL(EKeyF19); // Asyncronous case update
-	            }
-	        else
-	            {
-	            __ASSERT_DEBUG(iInputCapabilities.FepAwareTextEditor(),
-	                           AknFepPanic(EAknFepPanicNoHandleToFepAwareTextEditor));
-	            iInputCapabilities.FepAwareTextEditor()->SetInlineEditingCursorVisibilityL(ETrue);
-	            iInputCapabilities.FepAwareTextEditor()->CancelFepInlineEdit();
-	            
-	            // Multitapping enter event is not posted for find pane.
-	            // It would never accept it anyway but the event causes problems in gallery's find.
-	            // Allow real enter from qwerty keyboard though.
-	            if (!(iAknEditorFlags & EAknEditorFlagFindPane) || iQwertyInputMode)
-	                {                
-	                SimulateKeyEventL(EKeyEnter);
-	                SimulateKeyEventL(EKeyF19); // Asyncronous case update
-	                }            
-	            }
-	        }
-	    else if (IsFlagSet(EFlagSpaceCharacter | EFlagFullWidthSpaceCharacter))
-	        {
-	        TBuf<ESingleCharacter> charAsDesc(ESingleCharacter);
-	
-	        if (IsFlagSet(EFlagSpaceCharacter))
-	            {
-	            charAsDesc[0] = TText(0x0020);      // 0x0020 is space
-	            }
-	        else
-	            {
-	            charAsDesc[0] = TText(0x3000);      // 0x3000 is full-width space
-	            }
-	
-	        if (iInputCapabilities.SupportsSecretText())
-	            {
-	            SimulateKeyEventL(EKeyF20); // backspace to delete previous char in secret text editor
-	            SimulateKeyEventL(charAsDesc[0]);
-	            SimulateKeyEventL(EKeyF19); // Asyncronous case update
-	            }
-	        else
-	            {
-	            iInputCapabilities.FepAwareTextEditor()->UpdateFepInlineTextL(charAsDesc, 1);
-	            iInputCapabilities.FepAwareTextEditor()->SetInlineEditingCursorVisibilityL(ETrue);
-	            CCoeEnv* coeEnv = CCoeEnv::Static();
-	            iInputCapabilities.FepAwareTextEditor()->CommitFepInlineEditL(*coeEnv);
-	            iCaseMan->UpdateCase(ENullNaviEvent);
-	            if (!EditorHasFreeSpace())
-	                {
-	                SetFlag(EFlagEditorFull);
-	                }
-	            else
-	            	{
-	            	ClearFlag(EFlagEditorFull);
-	            	}
-	            }
-	        }
-	    else if (IsFlagSet(EFlagInsideInlineEditingTransaction) 
-	         && !iInputCapabilities.SupportsSecretText())
-	        {
-	        // Chinese languages seem not to support this
-	        if ( !IsChineseInputLanguage() &&
-	            (iUncommittedText.Length() == 0 || 
-	                    (
-	#ifdef RD_INTELLIGENT_TEXT_INPUT
-	                    !IsAutoCompleteOn() &&
-	#endif //RD_INTELLIGENT_TEXT_INPUT                    
-	                    !EditorSupportsNeutralProtection()
-	                    ) 
-	            )
-	           )
-	                    
-	            { // empty insertions need no resolution.
-	            /*Hindi*/
-	            if( (TAknFepUiIndicInputManager :: IsIndicLangauge(
-	                      TLanguage(iLanguageCapabilities.iInputLanguageCode))) 
-	#ifdef RD_HINDI_PHONETIC_INPUT
-	                || ( TAknFepUiIndicInputManager :: IsIndicPhoneticLanguage(
-	                      TLanguage(iLanguageCapabilities.iInputLanguageCode)) )
-	#endif
-	            )
-	                {
-	                // NOTE! Need to get cursor visibility information from some where.
-	                CommitInlineEditWithoutResolutionL( *(iInputCapabilities.FepAwareTextEditor()), 
-	                                                    ETrue, EFalse); 
-	                }
-	            else
-	                {
-	                // NOTE! Need to get cursor visibility information from some where.
-	                CommitInlineEditWithoutResolutionL( *(iInputCapabilities.FepAwareTextEditor()), 
-	                                                    ETrue);
-	                }
-	            }
-	        else
-	            {
-	
-	            //note secret text editors do not use the MCoeFepAwareTextEditor interface,
-	            //we only need to clear the flags to 'commit' a character
-	
-	            __ASSERT_DEBUG(iInputCapabilities.FepAwareTextEditor(),
-	                           AknFepPanic(EAknFepPanicNoHandleToFepAwareTextEditor));
-	            CCoeEnv* coeEnv = CCoeEnv::Static();
-	
-	            TBool showCursor = ETrue;
-	            if (IsFlagSet(EFlagInsideMultitapInlineEditingTransaction) ||
-	                IsCcpuFlagSet(ECcpuStateLosingFocus))
-	                {
-	                showCursor = EFalse;
-	                }
-                else
-                    {
-                    if(IsKoreanInputLanguage( ) && IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction))
-                        {
-                        showCursor = EFalse;
-                        }
-                    }
-
-	            iInputCapabilities.FepAwareTextEditor()->SetInlineEditingCursorVisibilityL(showCursor);
-	            ClearFlag(EFlagInsideInlineEditingTransaction);
-	            iInputCapabilities.FepAwareTextEditor()->CommitFepInlineEditL(*coeEnv);
-	
-	            // Arabic & Hebrew required functionality added ---->
-	            if (IsFlagSet(EFlagInsideMultitapInlineEditingTransaction)) // Condition added for AknFep.
-	                {
-	                // 3 * as each original character can potentially take 2 markers
-	                HBufC* decoratedTextBuf = HBufC::NewLC(KMaxInlineEditSize + 2); // +2 to accommodate previous and next charcaters
-	                TPtr decoratedText = decoratedTextBuf->Des();
-	                // Resolve in a slightly wider range than the new text. Attempt to expand 1 character in each direction
-	                TCursorSelection resolveSpan(iUncommittedText.HigherPos(), 
-	                                             iUncommittedText.LowerPos());
-	                TInt decCursor = 0;
-	
-	                // Gets the CPlainText object from the focused editor if it exists.
-	                CPlainText* plainText = PlainText();
-	                TBool containsTextField = EFalse;
-	                if (resolveSpan.iAnchorPos > 0)
-	                    {
-	                    if (plainText)
-	                        {
-	                        // Check if surrounding document position contains text field.
-	                        containsTextField = plainText->FindFields(resolveSpan.iAnchorPos - 1);
-	                        }
-	                    TBuf<ESingleCharacter> chDes;
-	                    iInputCapabilities.FepAwareTextEditor()->GetEditorContentForFep( chDes, 
-	                                              resolveSpan.iAnchorPos - 1, ESingleCharacter);
-	                    if ( chDes.Length() != 0 && chDes[0] != CEditableText::EPictureCharacter && !containsTextField)
-	                        {
-	                        // Resolve span is not extended if surrounding character is picture character or it
-	                        // contains text field. Text field data would be lost when FEP replaces existing editor
-	                        // content with new text buffer content that does not have text field data.
-	                        // ResolveDecoratedText() call does not handle these special cases which can has some 
-	                        // effects to Arabic & Hebrew text rendering.
-	                        resolveSpan.iAnchorPos--;
-	                        }
-	                    }
-	                if (resolveSpan.iCursorPos < 
-	                    iInputCapabilities.FepAwareTextEditor()->DocumentLengthForFep())
-	                    {
-	                    containsTextField = EFalse;
-	                    if (plainText)
-	                        {
-	                        // Check if surrounding document position contains text fields.
-	                        containsTextField = plainText->FindFields(resolveSpan.iCursorPos);
-	                        }
-	                    TBuf<ESingleCharacter> chDes;
-	                    iInputCapabilities.FepAwareTextEditor()->GetEditorContentForFep( chDes, 
-	                                                  resolveSpan.iCursorPos, ESingleCharacter);
-	                    if ( chDes.Length() != 0 && chDes[0] != CEditableText::EPictureCharacter && !containsTextField)
-	                        {
-	                        // Resolve span is not extended if surrounding character is picture character or it
-	                        // contains text field. Text field data would be lost when FEP replaces existing editor
-	                        // content with new text buffer content that does not have text field data.
-	                        // ResolveDecoratedText() call does not handle these special cases which can has some 
-	                        // effect to Arabic & Hebrew text rendering.
-	                        resolveSpan.iCursorPos++;
-	                        decCursor++;
-	                        }
-	                    }
-	
-	                // resolveSpan has been widened. Now go get the text for that span.
-	                iInputCapabilities.FepAwareTextEditor()->GetEditorContentForFep(decoratedText, 
-	                                                 resolveSpan.iAnchorPos, resolveSpan.Length());
-	
-	                if ( decoratedText.Length() != resolveSpan.Length() )
-	                    {
-	                    // This assert checks is we have failed to retrieve enough text.  Should not happen
-	                    // __ASSERT_DEBUG( decoratedText.Length() == resolveSpan.Length(),  Panic(EEikPanicT9CharPosOutOfRange) );
-	                    // Abondon the resolution.
-	
-	                    iInputCapabilities.FepAwareTextEditor()->SetInlineEditingCursorVisibilityL( ETrue );
-	                    }
-	                else
-	                    {
-	                    TInt lowerOffset = iUncommittedText.LowerPos() - resolveSpan.LowerPos();
-	
-	                    TBool needsResolving = iInlineTextDecorator->ResolveDecoratedText(decoratedText,
-	                        TCursorSelection(lowerOffset, lowerOffset + iUncommittedText.Length()));
-	
-	                    if ( needsResolving )
-	                        {                      
-	                        TBool setToTrue=EFalse;
-	                        iInputCapabilities.FepAwareTextEditor()->Extension1()->StartFepInlineEditL(
-	                            setToTrue,
-	                            resolveSpan,
-	                            decoratedText,
-	                            decoratedText.Length() - decCursor,
-	                            EFalse,
-	                            0, // MFormCustomDrawer*
-	                            *this,
-	                            *this);
-	
-	                        iInputCapabilities.FepAwareTextEditor()->SetInlineEditingCursorVisibilityL( ETrue );
-	                        if (IsFeatureSupportedJapanese())
-	                            {
-	                            // need to call clear buffer of PtiEngine for Japanese varint
-	                            // before calling second CommitFepInlineEditL().
-	                            // because the committed string is set as reading string twice
-	                            iPtiEngine->ClearCurrentWord();
-	                            }
-	                        iInputCapabilities.FepAwareTextEditor()->CommitFepInlineEditL(*coeEnv);
-	                        }
-	                    else
-	                        {
-	                        // Go directly via CTextView because the normal way via the FepAwareEditor can only be called
-	                        // during an inline edit.
-	                        // Line cursor is made invisible here.  There is no line cursor in S60 LAF, even though there is
-	                        // an Edwin flag which govern this.  See CEikEdwin::SetCursorVisibilityL(TBool)
-	                        // Cursor is not set if this CommitInlineEditL call was prompted when losing focus.
-	                        MAknFepDocumentNavigation* docNavi = AknFepDocumentNavigation();
-	                        if ( (docNavi || TextView()) && !IsCcpuFlagSet(ECcpuStateLosingFocus) )
-	                        	{
-	                        	if (docNavi)
-	                        		{
-		                            docNavi->SetCursorVisibilityL( TCursor::EFCursorInvisible, 
-	                                                             TCursor::EFCursorFlashing );
-	                        		}
-	                        	else 
-	                        		{
-		                            TextView()->SetCursorVisibilityL( TCursor::EFCursorInvisible, 
-	                                                                TCursor::EFCursorFlashing );
-	                        		}
-	                        	}
-	                        }
-	                    }
-	                // iMatchState=EWordMatchFirst;
-	
-	                CleanupStack::PopAndDestroy(); // decoratedTextBuf
-	                }
-	            if (iInputCapabilities.FepAwareTextEditor())
-	                {
-	                iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(iUncommittedText);   
-	                }
-	            
-	            iCaseMan->UpdateCase(ENullNaviEvent);
-	            // <---- Arabic & Hebrew required functionality added
-	            if (!EditorHasFreeSpace())
-	                {
-	                SetFlag(EFlagEditorFull);
-	                }
-	            else
-	            	{
-	            	ClearFlag(EFlagEditorFull);
-	            	}
-	            }
-	        }
-	    else if (IsFlagSet(EFlagInsideInlineEditingTransaction) 
-	          && iInputCapabilities.SupportsSecretText())
-	        {
-	        CCoeEnv* coeEnv = CCoeEnv::Static();
-	        iInputCapabilities.FepAwareTextEditor()->CommitFepInlineEditL(*coeEnv);
-	        iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(iUncommittedText);
-	        
-	        if (iQwertyInputMode)
-	            {
-	            // Case may need to updated automatically in case of qwerty secret text editor
-	            // beause of the sticky shift feature.
-	            if (iCaseMan->CurrentCase() == EAknEditorLowerCase)
-	                {
-	                SetCase(ELowerCase);            
-	                }
-	            else
-	                {
-	                SetCase(EUpperCase);                        
-	                }               
-	            UpdateIndicators();         
-	            }
-	        }
-			}
-    
-//    SendEventsToPluginManL( EPluginSyncFepAwareText, EPluginSyncUpdatedText );
-      
-    ClearFlag(EFlagInsideMultitapInlineEditingTransaction | EFlagInsideInlineEditingTransaction |
-        EFlagLineFeedCharacter | EFlagLastCharacterInEditor | EFlagSpaceCharacter |
-        EFlagFullWidthSpaceCharacter);
-        
-    // No-edit_key devices: Inline editing ending, allow edit-menu again.    
-    ClearCcpuFlag(ECcpuStateIgnoreStarUp | ECcpuStateNewPredictiveWord);        
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    iUncommittedText.iCursorPos=0;
-    iUncommittedText.iAnchorPos=0;
-#endif 
-    if (!iInputCapabilities.FepAwareTextEditor())
-        {
-        // In case while updating the inline edit, 3rd party app removes the focus out of editor before the transaction
-        // completes, we return with an error.
-        User::Leave(KErrCorrupt);
-        }
-
-    }
-
-void CAknFepManager::CommitInlineEditL(const TDesC& aText, TInt aUncommitedTextChange)
-    {
-    if (iMode == EHiraganaKanji)
-        {
-        // When there is not enough editing space to enter the selected candidate,
-        // the error tone is played.
-        if ((iFreeSpaceOfEditor > 0) && (iFreeSpaceOfEditor < aText.Length()))
-            {
-            PlaySound(EAvkonSIDErrorTone);
-            }
-        }
-
-    //maxLength of 0 means the editor has no limit
-    TInt maxEdSize = iInputCapabilities.FepAwareTextEditor()->DocumentMaximumLengthForFep();
-    if ( maxEdSize != 0 && iFreeSpaceOfEditor < aText.Length())
-        {
-        TPtrC charbuf = aText.Left(iFreeSpaceOfEditor);
-        TInt uncommitedTextChange = charbuf.Length();
-        UpdateInlineEditL(charbuf, uncommitedTextChange);
-        }
-    else
-        {
-        UpdateInlineEditL(aText, aUncommitedTextChange);
-        }
-
-    ClearFlag(EFlagInsideMultitapInlineEditingTransaction);
-    CommitInlineEditL();
-    }
-
-void CAknFepManager::CancelInlineEdit()
-    {
-    if( !EditorState()->CurrentInlineEditSpan().Length() )
-    	{
-    	ClearFlag(EFlagInsideInlineEditingTransaction);
-    	if(IsFlagSet(CAknFepManager::EFlagNoMatches))
-    		{
-    		ClearFlag(CAknFepManager::EFlagNoMatches); 
-    		}
-    	}
-    if (IsFlagSet(EFlagInsideInlineEditingTransaction))
-        {
-        TRAP_IGNORE(TryRemoveNoMatchesIndicatorL());
-
-        if (iInputCapabilities.SupportsSecretText())
-            {
-            TRAP_IGNORE(SimulateKeyEventL(EKeyF20)); // backspace to delete previous char in secret text editor
-            }
-        else if (IsFeatureSupportedJapanese()
-              && iFepManState == EAknFepStateUIActive)
-            {
-            FepUI()->CloseUI();
-            FepUI()->ExpireMultitapTimer();
-            iPtiEngine->ClearCurrentWord();
-            SyncStates(EAknFepStateInitial);
-            }
-        }
-
-    iUncommittedText.iCursorPos=0;
-    
-    iUncommittedText.iAnchorPos=0;
-    
-    iInputCapabilities.FepAwareTextEditor()->CancelFepInlineEdit();
-    ClearFlag(EFlagInsideMultitapInlineEditingTransaction | EFlagInsideInlineEditingTransaction 
-              | EFlagLineFeedCharacter | EFlagSpaceCharacter | EFlagFullWidthSpaceCharacter);
-    ClearCcpuFlag(ECcpuStateNewPredictiveWord);    
-    }
-
-void CAknFepManager::GetScreenCoordinatesL(TPoint& aLeftSideOfBaseLine, TInt& aHeight, 
-                                           TInt& aAscent, TInt aDocumentOffset)
-    {
-    TCursorSelection cursorSelection;
-    iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(cursorSelection);
-    TInt documentPosition = cursorSelection.LowerPos()  - aDocumentOffset;
-    if (documentPosition < 0)
-        documentPosition = 0;
-    iInputCapabilities.FepAwareTextEditor()->GetScreenCoordinatesForFepL(aLeftSideOfBaseLine, 
-                                                          aHeight, aAscent, documentPosition);
-    }
-
-void CAknFepManager::GetScreenCoordinatesL(TPoint& aLeftSideOfBaseLine, 
-                                           TInt& aHeight, TInt& aAscent)
-    {
-    TCursorSelection cursorSelection;
-    MCoeFepAwareTextEditor* fepAwareTextEditor = iInputCapabilities.FepAwareTextEditor();
-
-    fepAwareTextEditor->GetCursorSelectionForFep(cursorSelection);
-    fepAwareTextEditor->GetScreenCoordinatesForFepL(aLeftSideOfBaseLine, aHeight, aAscent, 
-                                                    cursorSelection.LowerPos());
-    }
-
-TBool CAknFepManager::EditorHasFreeSpace( TInt aRequiredNumberOfCharacter ) const
-    {
-    TBool unlimit = EFalse;
-    TInt freeSpace = 0;
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-	if(WesternPredictive())
-	    {
-	    freeSpace = EditorFreeSpaceForAutoWordCompletion(unlimit);	
-	    }
-	else
-		{
-#endif //RD_INTELLIGENT_TEXT_INPUT
-    	freeSpace = EditorFreeSpace(unlimit);			
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-		}
-#endif //RD_INTELLIGENT_TEXT_INPUT
-    if( unlimit || freeSpace > aRequiredNumberOfCharacter )
-        {
-        return ETrue;
-        }
-    return EFalse;
-    }
-
-TBool CAknFepManager::IsEditorHasFreeSpace() const
-    {
-    TBool unlimit = EFalse;
-    TInt freeSpace = 0;
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-	if(WesternPredictive())
-	    {
-	    freeSpace = EditorFreeSpaceForAutoWordCompletion(unlimit);	
-	    }
-	else
-		{
-#endif //RD_INTELLIGENT_TEXT_INPUT
-    	freeSpace = EditorFreeSpace(unlimit);			
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-		}
-#endif //RD_INTELLIGENT_TEXT_INPUT
-    if( unlimit || freeSpace > 0 )
-        {
-        return ETrue;
-        }
-    return EFalse;
-    }
-    
-TInt CAknFepManager::EditorFreeSpace(TBool& aUnlimit, 
-    TBool isToCountUncommittedTextLength /*= EFalse */) const
-    {
-    aUnlimit = EFalse;
-
-    if (!iInputCapabilities.FepAwareTextEditor())
-        {
-        //no handle to MCoeFepAwareTextEditor in non Edwin derived editors
-        return 0;
-        }
-
-    //maxLength of 0 means the editor has no limit
-    TInt maxEdSize = iInputCapabilities.FepAwareTextEditor()->DocumentMaximumLengthForFep();
-    TInt edSize = iInputCapabilities.FepAwareTextEditor()->DocumentLengthForFep();
-    TCursorSelection currentSelection;
-    iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(currentSelection);
-
-    aUnlimit = (maxEdSize == 0 || ((iAknEditorFlags & EAknEditorFlagMTAutoOverwrite) &&
-                                   (currentSelection.iCursorPos >= 0 && 
-                                    currentSelection.iCursorPos < maxEdSize) ));
-    if(aUnlimit)
-        {
-        return 0;
-        }
-    else
-        {
-        if( isToCountUncommittedTextLength )
-            {
-            return ( maxEdSize - edSize + 
-                currentSelection.Length() + UncommittedText().Length() );
-            }
-        return (maxEdSize - edSize + currentSelection.Length());
-        }
-    }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-TInt CAknFepManager::EditorFreeSpaceForAutoWordCompletion(TBool& aUnlimit, 
-    TBool /* isToCountUncommittedTextLength = EFalse*/ ) const
-    {
-    aUnlimit = EFalse;
-
-    if (!iInputCapabilities.FepAwareTextEditor())
-        {
-        //no handle to MCoeFepAwareTextEditor in non Edwin derived editors
-        return 0;
-        }
-
-    //maxLength of 0 means the editor has no limit
-    TInt maxEdSize = iInputCapabilities.FepAwareTextEditor()->DocumentMaximumLengthForFep();
-    TInt edSize = iInputCapabilities.FepAwareTextEditor()->DocumentLengthForFep();
-    TInt keySequenceLength = iPtiEngine->CurrentInputSequence().Length();
-    TCursorSelection currentSelectionOrUncommitted;    
-	iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(currentSelectionOrUncommitted);
-
-    aUnlimit = (maxEdSize == 0 || ((iAknEditorFlags & EAknEditorFlagMTAutoOverwrite) &&
-                                   (currentSelectionOrUncommitted.iCursorPos >= 0 && 
-                                    currentSelectionOrUncommitted.iCursorPos < maxEdSize) ));
-    if(aUnlimit)
-        {
-        return 0;
-        }
-    else
-        {
-
-        if ( !iQwertyInputMode )
-            {
-            return ( maxEdSize - edSize + currentSelectionOrUncommitted.Length() );
-            }
-        else
-            {
-            // In the predictive QWERTY mode, the keySequenceLength doesn't necessarily have anything
-            // to do with the amount of characters on screen. At least entering accented characters with
-            // Chr-multitapping will increase the key sequence length although number of characters 
-            // doesn't change (this is either bug or feature of ZiCore). Ask the auto-completion
-            // length directly from PtiEngine instead of trying to calculate it on our own.
-            TInt tailLength = 0;
-            TRAP_IGNORE(iPtiEngine->HandleCommandL( EPtiCommandGetAutoCompletionTailLength, &tailLength ));
-            if( tailLength < 0 )
-             {
-             tailLength = 0;
-             }
-            return (maxEdSize - edSize + currentSelectionOrUncommitted.Length() + tailLength);
-            }
-        }
-    }
-#endif
-#ifdef __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-#ifdef RD_INTELLIGENT_TEXT_INPUT  
-
-TInt CAknFepManager::DocumentLength() const
-    {
-    TInt ret = 0;
-    if ( iInputCapabilities.FepAwareTextEditor() )
-        {
-        ret = iInputCapabilities.FepAwareTextEditor()->DocumentLengthForFep();
-        }
-    return ret;
-    }
-    
-TBool CAknFepManager::KeyEventWillReplaceCharacter( const TKeyEvent& aKeyEvent )
-    {
-    // The function is currently used only in QWERTY mode. It might not work correctly
-    // with ITU-T input.
-    TBool ret = EFalse;
-    if ( IsFlagSet(EFlagInsideMultitapInlineEditingTransaction) )
-        {
-        // Multitapping
-        ret = ETrue;
-        }
-    else if ( aKeyEvent.iRepeats &&
-              LongPressNumberEntryOnQwerty() &&
-              FnKeyState() == CAknFepFnKeyManager::EFnKeyNone &&
-              KeyMapsDifferentCharacterWithFn( (TPtiKey)aKeyEvent.iScanCode ) )
-        {
-        // QWERTY key long press producing another charcter
-        ret = ETrue;
-        }
-    return ret;    
-    }
-#endif
-#endif
-TChar CAknFepManager::CurrentDecimalSeparator() const
-    {
-    TLocale tLoc;
-    return tLoc.DecimalSeparator();
-    }
-
-void CAknFepManager::ConfigureFEPFromEditorStateL()
-    {
-    User::LeaveIfError(SyncStates(EAknFepStateInitial));
-
-    CAknEdwinState* editorState = EditorState();
-    TInt editorMode = editorState->CurrentInputMode();
-    TInt sharedDataMode = iSharedDataInterface->InputMode();
-    TBool latinCaseSet = EFalse;
-    iPermittedInputModes = editorState->PermittedInputModes();
-    TInt defaultInputMode = editorState->DefaultInputMode();
-    if(iAknEditorFlags != editorState->Flags())
-        {
-        iAknEditorFlags = editorState->Flags();
-        UpdateLocalDigitMode();
-        }
-    iAknEditorNumericKeymap = editorState->NumericKeymap();
-
-    TLanguage localLanguage = ELangTest;
-    if (GetLocalLanguage( localLanguage ) )
-        {
-        iLanguageCapabilities.iLocalInputLanguageInUse = ETrue;
-        if ( localLanguage != iLanguageCapabilities.iInputLanguageCode )
-            {
-            ChangeInputLanguageL(localLanguage);
-            }
-        }
-    else if (iLanguageCapabilities.iLocalInputLanguageInUse)
-        {
-        ChangeInputLanguageL(iSharedDataInterface->InputTextLanguage());
-        iLanguageCapabilities.iLocalInputLanguageInUse = EFalse;
-        ClearFlag(EFlagNewSharedDataInputMode);
-		}
-
-    if (IsFlagSet(EFlagNewSharedDataInputLanguage) )
-        {
-        //Global mode or input language has been changed in general settings
-        if ( !iLanguageCapabilities.iLocalInputLanguageInUse)
-            {
-            ChangeInputLanguageL(iSharedDataInterface->InputTextLanguage());
-            }
-        ClearFlag(EFlagNewSharedDataInputLanguage);
-        }
-
-    if (IsFeatureSupportedJapanese())
-        {
-        // set Japanese predicitve ON/OFF
-        if (iAknEditorFlags & EAknEditorFlagNoT9)
-            {
-            iJapanesePredictive = EFalse;
-            }
-        else
-            {
-            // Is it supported Japanese predictive input
-            if (HasJapanesePredictionInputMode())
-                {
-                iJapanesePredictive = iSharedDataInterface->PredictiveTextJapaneseOn();
-                }
-            else
-                {
-                // if Predictive Japanese input isn't supported in PtiEngine, set to OFF.
-                iJapanesePredictive = EFalse;
-                iSharedDataInterface->ResetJapanesePredictiveTextOn();
-                }
-            }
-
-        // In Japanese variant, EAknEditorTextInputMode of allow input mode
-        // means all input mode.
-        if (iPermittedInputModes & EAknEditorTextInputMode)
-            {
-            iPermittedInputModes |= (EAknEditorKatakanaInputMode |
-                                    EAknEditorHalfWidthTextInputMode |
-                                    EAknEditorFullWidthTextInputMode |
-                                    EAknEditorFullWidthNumericInputMode |
-                                    EAknEditorFullWidthKatakanaInputMode |
-                                    EAknEditorHiraganaKanjiInputMode |
-                                    EAknEditorHiraganaInputMode);
-            }
-
-        if (iAknEditorFlags & EAknEditorFlagLatinInputModesOnly)
-            {
-            if (iPermittedInputModes == EAknEditorNumericInputMode)
-                {
-                iPermittedInputModes = EAknEditorNumericInputMode;
-                }
-            else if (iPermittedInputModes & EAknEditorNumericInputMode)
-                {
-                iPermittedInputModes = (EAknEditorHalfWidthTextInputMode 
-                                      | EAknEditorNumericInputMode);
-                }
-            else
-                {
-                iPermittedInputModes = EAknEditorHalfWidthTextInputMode;
-                }
-            }
-
-        if (editorMode)
-            {
-            editorMode = ConfigureFepModeFromEditorMode(editorMode);
-            }
-        else // for new editors
-            {
-            iCharWidth = EHalfWidthChar;
-            sharedDataMode = EHiraganaKanji;
-            // First input mode is changed to Latin from Hiragana/Kanji
-            // if display language is English.
-            TInt dispLang = iSharedDataInterface->DisplayLanguage();
-            // ELangTest means Automatic as display language in GS
-            if (dispLang == ELangTest)
-                {
-                // UiLanguage isn't Japanese, Latin is set.
-                if (iUiLanguage != ELangJapanese)
-                    {
-                    sharedDataMode = ELatin;
-                    }
-                }
-            else if (dispLang != ELangJapanese)
-                {
-                // Display language isn't Japanese, Latin is set.
-                sharedDataMode = ELatin;
-                }
-
-            if (!(iPermittedInputModes & EAknEditorHiraganaKanjiInputMode))
-                {
-                if (IsOnlyFullWidthCharacterPermitted())
-                    {
-                    iCharWidth = EFullWidthChar;
-                    }
-                else if (IsOnlyHalfWidthCharacterPermitted())
-                    {
-                    iCharWidth = EHalfWidthChar;
-                    }
-
-                if (iPermittedInputModes & (EAknEditorKatakanaInputMode |
-                                        EAknEditorFullWidthKatakanaInputMode))
-                    {
-                    // In case setting Latin as above, Latin is used preferentially.
-                    if (sharedDataMode == ELatin
-                     && (iPermittedInputModes & 
-                           (EAknEditorHalfWidthTextInputMode | EAknEditorFullWidthTextInputMode)))
-                        {
-                        sharedDataMode = ELatin;
-                        }
-                    else
-                        {
-                        sharedDataMode = EKatakana;
-                        }
-                    }
-                else if (iPermittedInputModes & (EAknEditorHalfWidthTextInputMode |
-                                             EAknEditorFullWidthTextInputMode))
-                    {
-                    sharedDataMode = ELatin;
-                    }
-                else if (iPermittedInputModes & (EAknEditorNumericInputMode |
-                                                 EAknEditorFullWidthNumericInputMode))
-                    {
-                    sharedDataMode = ENumber;
-                    }
-                // First input mode is changed to latin from katakana
-                // if display language is English.
-                if (!(dispLang == ELangTest || dispLang == ELangJapanese))
-                    {
-                    if ((iPermittedInputModes &  EAknEditorKatakanaInputMode) &&
-                        (iPermittedInputModes & EAknEditorHalfWidthTextInputMode))
-                        {
-                        sharedDataMode = ELatin;
-                        }
-
-                    if ((iPermittedInputModes &  EAknEditorKatakanaInputMode) &&
-                        (iPermittedInputModes & EAknEditorFullWidthTextInputMode))
-                        {
-                        sharedDataMode = ELatin;
-                        }
-                    }
-                }
-            }
-        }
-    else // for other variants (western or chinese)
-        {
-        if (!(iPermittedInputModes & (EAknEditorTextInputMode | EAknEditorNumericInputMode 
-            | EAknEditorSecretAlphaInputMode)))
-            {
-            // Any latin input mode is not permitted by the editor.
-            // For compatibility permitted japanese input modes are checked and
-            // corresponding latin input modes are allowed.
-            if ( iPermittedInputModes & (EAknEditorKatakanaInputMode |
-                                    EAknEditorHalfWidthTextInputMode |
-                                    EAknEditorFullWidthTextInputMode |
-                                    EAknEditorFullWidthKatakanaInputMode |
-                                    EAknEditorHiraganaKanjiInputMode |
-                                    EAknEditorHiraganaInputMode))
-                {
-                iPermittedInputModes |= EAknEditorTextInputMode;
-                }
-            if ( iPermittedInputModes & EAknEditorFullWidthNumericInputMode )
-                {
-                iPermittedInputModes |= EAknEditorNumericInputMode;
-                }
-
-            if ( !(defaultInputMode & (EAknEditorTextInputMode | EAknEditorNumericInputMode)))
-                {
-                if (defaultInputMode & (EAknEditorKatakanaInputMode |
-                                    EAknEditorHalfWidthTextInputMode|
-                                    EAknEditorFullWidthTextInputMode |
-                                    EAknEditorFullWidthKatakanaInputMode |
-                                    EAknEditorHiraganaKanjiInputMode |
-                                    EAknEditorHiraganaInputMode))
-                    {
-                    defaultInputMode = EAknEditorTextInputMode;
-                    }
-                else if (defaultInputMode & EAknEditorFullWidthNumericInputMode)
-                    {
-                    defaultInputMode = EAknEditorNumericInputMode;
-                    }
-                }
-            }
-        }
-
-    // object provider items
-    iEditMenuBar = NULL;
-    editorState->SetMenu();
-    editorState->SetCba();
-
-#ifdef __ITI_VIRTUAL_TOUCH_FIRST_GENERATION_SUPPORT__
-    iOptionsMenuBar = NULL;
-#endif    
-
-    SetWesternPredictive(iSharedDataInterface->PredictiveTextOn());
-    //check that we don't have a Chinese find mode saved to an editor that is
-    //not a Chinese find pane
-    __ASSERT_DEBUG( !((editorMode == EZhuyinFind || editorMode == EStrokeFind) &&
-        !(iAknEditorFlags & EAknEditorFlagForceTransparentFepModes))
-        , AknFepPanic(EAknFepPanicFindModeSavedToNonFindEditor));
-
-    ReadHashKeyLoopL();
-
-    UpdateNumericEditorDigitType();
-    if ( IsMfneEditor() ) 
-        {
-        UpdateLocalDigitMode();
-        }
-    
-    if (editorMode) //should be an editor that has been used before
-        {
-        if (IsFlagSet(EFlagNewSharedDataInputMode) && (IsModePermitted(sharedDataMode)) && !IsKoreanInputLanguage()
-                && (!(iAknEditorFlags & EAknEditorFlagForceTransparentFepModes)))
-            {
-            
-                {
-                //change to global mode, except in Find Pane, where we ignore
-                //GS setting
-                TryChangeModeL(sharedDataMode);
-                ClearFlag(EFlagNewSharedDataInputMode);
-                latinCaseSet = sharedDataMode & (ELatinUpper | ELatinLower);
-                if (sharedDataMode == ELatinText)
-                    {
-                    editorState->SetFlags( editorState->Flags() & ~EFlagSupressAutoUpdate );
-                    }
-                }
-            }
-
-        // Next two cases are apps/UI intitialinsg their editors in the
-        // with the modes defined in uikon.hrh, change these to an appropriate
-        // FEP mode
-        else if (editorMode == EAknEditorNumericInputMode)
-            {
-            iCharWidth = EHalfWidthChar;
-            if ( (iMode == ENumber || iMode == ENativeNumber) && 
-                 IsModePermitted(iMode))
-                {
-                TryChangeModeL( iMode );
-                }
-            else if ( IsInputModeAvailable(ENativeNumber) &&
-                 ( iLanguageCapabilities.iLocalDigitType == EDigitTypeEasternArabicIndic || 
-                   iLanguageCapabilities.iLocalDigitType == EDigitTypeDevanagari ||
-                   iLanguageCapabilities.iLocalDigitType == EDigitTypeArabicIndic ) )
-                {
-                TryChangeModeL( ENativeNumber );
-                }
-            else
-                {
-                TryChangeModeL( ENumber );
-                }
-            }
-        else if (editorMode == EAknEditorSecretAlphaInputMode)
-            {
-            //this is safe default as it is currently allowed in all FEPs
-            SetWesternPredictive(EFalse);
-            TryChangeModeL(ELatin);
-            }
-        else if (editorMode == EAknEditorTextInputMode)
-            {        
-            if (IsKoreanInputLanguage())
-            	{
-                if(iMode == EHangul || iMode == ENumber || iMode == EAknEditorNullInputMode )
-            		{
-            		SetWesternPredictive(EFalse);
-         			TryChangeModeL(EHangul);
-            		}
-            	else
-            		{
-            		TryChangeModeL(ELatin);
-            		}
-            	}
-            else
-            	{
-            	//this is safe default as it is currently allowed in all FEPs
-            	TryChangeModeL(ELatin); 
-            	}
-            }
-        else if (!iStrokeUsedInQWERTY)
-        	{
-        	if (editorMode == EStroke && sharedDataMode == ECangJie)
-        		{
-        		TryChangeModeL(sharedDataMode);
-        		}
-        	else
-        		{
-        		TryChangeModeL(editorMode);
-        		}
-        	}
-        else  //normal case, use locally stored mode
-            {
-            if (editorMode == ECangJie && sharedDataMode == ECangJie && iQwertyInputMode)
-            	{
-            	TryChangeModeL(EStroke);
-            	}
-            else
-            	{
-            	TryChangeModeL(editorMode);
-            	}
-            }
-        }
-    else if ((iAknEditorFlags & EAknEditorFlagForceTransparentFepModes) 
-              && !IsFeatureSupportedJapanese())  //new find pane
-        {
-        // the default chinese find mode is the first mode in the hash key loop, except PrcChinese
-        if( iLanguageCapabilities.iInputLanguageCode == ELangPrcChinese)
-            {
-            // Fix bug EHST-6DBFUJ: Default searching language shall be ELatin
-            // Changed from EPinyin to ELatin here
-            TryChangeModeL(ELatin);
-            }
-        else
-            {
-            TryChangeModeL(iHashKeyLoop[0]); 
-            }
-        }
-    else    //new editor
-        {
-        if (defaultInputMode == EAknEditorNumericInputMode)
-            {
-            //numeric mode is not saved to/retreived from shared data
-            iCharWidth = EHalfWidthChar;
-            
-            if( IsInputModeAvailable(ENativeNumber) && 
-                ( iLanguageCapabilities.iLocalDigitType == EDigitTypeArabicIndic ||
-                  iLanguageCapabilities.iLocalDigitType == EDigitTypeEasternArabicIndic ||
-                  iLanguageCapabilities.iLocalDigitType == EDigitTypeDevanagari ) )
-                {
-                TryChangeModeL( ENativeNumber );
-                }
-            else
-                {
-                TryChangeModeL( ENumber );
-                }
-            }
-        else if ((defaultInputMode == EAknEditorTextInputMode) &&
-                 ((iAknEditorFlags & EAknEditorFlagLatinInputModesOnly) ||
-                 (iAknEditorFlags & EAknEditorFlagNoT9)))
-            {
-            //Chinese Modes or Western Predictive mode not allowed.
-            //See if we are ok going to the current shared data mode,
-            //otherwise go for a safe default
-            if (TryChangeModeL(sharedDataMode))
-                {
-                latinCaseSet = sharedDataMode & (ELatinUpper | ELatinLower);
-                }
-            else
-                {
-                TryChangeModeL(ELatin);
-                }
-            }
-        else if (defaultInputMode == EAknEditorHalfWidthTextInputMode)
-            {
-            iCharWidth = EHalfWidthChar;
-            TryChangeModeL(ELatin);
-            }
-        else if (defaultInputMode == EAknEditorHiraganaInputMode)
-            {
-            TryChangeModeL(EHiragana);
-            }
-        else if (  iLanguageCapabilities.iInputLanguageCode == ELangJapanese
-              && (defaultInputMode == EAknEditorKatakanaInputMode
-              || defaultInputMode == EAknEditorFullWidthKatakanaInputMode))
-            {
-            iCharWidth = (defaultInputMode == EAknEditorKatakanaInputMode)?
-                                EHalfWidthChar : EFullWidthChar;
-            TryChangeModeL(EKatakana);
-            }
-        else if (defaultInputMode == EAknEditorFullWidthTextInputMode)
-            {
-            iCharWidth = EFullWidthChar;
-            TryChangeModeL(ELatin);
-            }
-        else if (defaultInputMode == EAknEditorFullWidthNumericInputMode)
-            {
-            iCharWidth = EFullWidthChar;
-            if( IsInputModeAvailable(ENativeNumber) && 
-                ( iLanguageCapabilities.iLocalDigitType == EDigitTypeArabicIndic ||
-                  iLanguageCapabilities.iLocalDigitType == EDigitTypeEasternArabicIndic ||
-                  iLanguageCapabilities.iLocalDigitType == EDigitTypeDevanagari ) )
-                {
-                TryChangeModeL( ENativeNumber );
-                }
-            else
-                {
-                TryChangeModeL( ENumber );
-                }
-            }
-        else if (defaultInputMode == EAknEditorTextInputMode 
-            && iLanguageCapabilities.iInputLanguageCode == ELangHindi )
-            {
-            TryChangeModeL( EHindi );
-            }
-        else // Default input mode is EAknEditorTextInputMode
-            {
-            // Check possibility move this section on else if
-            if (IsKoreanInputLanguage())
-            	{
-            	TryChangeModeL(EHangul);
-            	}
-            else if (TryChangeModeL(sharedDataMode))
-                {
-                latinCaseSet = sharedDataMode & (ELatinUpper | ELatinLower);
-                }
-            else
-                {
-                TryChangeModeL(ELatin);
-                }
-                
-            }
-        }
-
-    if (!iMode)
-        {
-        // If mode change wasn't successful, try latin mode as fallback.
-        TryChangeModeL(ELatin);             
-        }
-
-    // if also fallback fails, panic.
-    __ASSERT_DEBUG(iMode, AknFepPanic(EAknFepPanicNoPermittedEditorModesAvailable));
-
-    if (iCaseMan && !latinCaseSet)
-        {
-        iCaseMan->ConfigureCaseStateFromEditorState();
-        if ( (editorState->Flags() & EFlagSupressAutoUpdate) ||
-            editorMode == EAknEditorSecretAlphaInputMode )
-            {
-            SetFlag(EFlagSupressAutoUpdate);
-            }
-        else
-            {
-            ClearFlag(EFlagSupressAutoUpdate);
-            }
-        }
-    if ((iAknEditorFlags & EAknEditorFlagForceTransparentFepModes) &&
-        IsChineseInputLanguage() && iCaseMan != NULL )
-        {
-        SetFlag(EFlagSupressAutoUpdate);
-        iCaseMan->SetCurrentCase(EAknEditorLowerCase);
-        }
-
-    UpdateEditorContext();
-
-    // Check if this editor was previously inline editing
-    if ( WesternPredictive() && editorState->CurrentInlineEditSpan().Length())
-        { // restore the fep to an inline editing state
-        iUncommittedText = editorState->CurrentInlineEditSpan();
-        TInt docLenFep=iInputCapabilities.FepAwareTextEditor()->DocumentLengthForFep();
-        if (iUncommittedText.iCursorPos>docLenFep)
-            iUncommittedText.iCursorPos=docLenFep;
-        if (iUncommittedText.iAnchorPos>docLenFep)
-            iUncommittedText.iAnchorPos=docLenFep;
-
-        TBuf<EMaximumFepWordLength> textToUncommit;
-        iInputCapabilities.FepAwareTextEditor()->
-            GetEditorContentForFep(textToUncommit, iUncommittedText.iAnchorPos, 
-                                   Min(iUncommittedText.Length(), EMaximumFepWordLength));
-
-        // Activates western predictive UI to an inline editing state.
-        FepUI()->ActivateUI();
-        SyncStates(EAknFepStateUIActive);
-        TInt err = iPtiEngine->SetCurrentWord(textToUncommit);
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        // Predictive QWERTY (XT9) changes (TEST) ---->
-        // The PtiXt9Core may choose to ignore the SetCurrentInputSequence() call.
-        // Make sure our text buffer is in sync with the one in PtiEngine.
-        if(KErrNone != err)
-        	textToUncommit = iPtiEngine->CurrentWord();
-        TInt maxEdSize = iInputCapabilities.FepAwareTextEditor()->DocumentMaximumLengthForFep();
-        if((maxEdSize > 0) && (iUncommittedText.iAnchorPos + textToUncommit.Length() > maxEdSize))
-        {
-        	textToUncommit.SetLength(maxEdSize - iUncommittedText.iAnchorPos);
-        	iUncommittedText.iCursorPos = maxEdSize;
-        }	
-        // Predictive QWERTY (XT9) changes <----
-#endif //RD_INTELLIGENT_TEXT_INPUT
-        StartInlineEditL(iUncommittedText, textToUncommit, textToUncommit.Length(), EFalse);
-       
-        // Make sure editor character case in sync
-        if( iUncommittedText.iAnchorPos == 0 )
-        	iCaseMan->UpdateCase(ENullNaviEvent);
-        
-        }
-
-    if (editorState != iPreviousEditorState)
-        {
-        // we have changed editor, time to update local digits mode
-        UpdateLocalDigitMode(); 
-        iPreviousEditorState = editorState;
-        }
-
-    if(IsExtendedFlagSet(EExtendedFlagShiftReleasedOnPopup) && !(iAknEditorFlags & EAknEditorFlagFindPane) )
-        {
-        // If in FEP context, shift is released on a non fep aware dialog
-        // like "text copied to clipboard", then release the shift 
-        // when the editor comes in focus by simulating shift up event.
-        ClearExtendedFlag(EExtendedFlagShiftReleasedOnPopup);
-        TKeyEvent shiftUp = {0, EStdKeyLeftShift, 0, 0};
-        CCoeEnv::Static()->SimulateKeyEventL(shiftUp, EEventKeyUp);     
-        }
-    else if (IsFlagSet(EFlagLongShiftKeyPress) && !(iAknEditorFlags & EAknEditorFlagFindPane))
-        {
-        // Find pane editor does not require any shift simulation
-        
-        // After the "text copied" note and if the shift key was not released
-        // then simulate shift down event.
-        TKeyEvent shiftDown = {0, EStdKeyLeftShift, 0, 0};
-        CCoeEnv::Static()->SimulateKeyEventL(shiftDown, EEventKeyDown);      
-        if((!iCandidatePopup) && (KeyboardLayout() != EPtiKeyboard12Key ))
-        ResetShiftKeyMonitorL();
-        }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    TransferFepStateToEditorL(EFalse); // ensure editor has up to date state
-#else
-    TransferFepStateToEditorL(); // ensure editor has up to date state
-#endif   
-    
-    iHashKeyMan->ResetIndicHashKeyStateL();
-    ClearExtendedFlag(EExtendedFlagShortPressHashKey);
-    }
-
-TInt CAknFepManager::ConfigureFepModeFromEditorMode(TInt aEditorMode)
-    {
-    TInt fepMode(aEditorMode);
-
-    switch (aEditorMode)
-        {
-        case EAknEditorNumericInputMode:
-            if( IsInputModeAvailable(ENativeNumber) && 
-                ( iLanguageCapabilities.iLocalDigitType == EDigitTypeArabicIndic ||
-                  iLanguageCapabilities.iLocalDigitType == EDigitTypeEasternArabicIndic ||
-                  iLanguageCapabilities.iLocalDigitType == EDigitTypeDevanagari ) )
-                {
-                fepMode = ENativeNumber;
-                }
-            else
-                {
-                fepMode = ENumber;
-                }
-            iCharWidth = EHalfWidthChar;
-            break;
-        case EAknEditorSecretAlphaInputMode:
-        case EAknEditorTextInputMode:
-        case EAknEditorHalfWidthTextInputMode:
-            fepMode = ELatin;
-            iCharWidth = EHalfWidthChar;
-            break;
-        case EAknEditorKatakanaInputMode:
-            fepMode = EKatakana;
-            iCharWidth = EHalfWidthChar;
-            break;
-        case EAknEditorFullWidthTextInputMode:
-            fepMode = ELatin;
-            iCharWidth = EFullWidthChar;
-            break;
-        case EAknEditorFullWidthKatakanaInputMode:
-            fepMode = EKatakana;
-            iCharWidth = EFullWidthChar;
-            break;
-        case EAknEditorFullWidthNumericInputMode:
-            if( IsInputModeAvailable(ENativeNumber) && 
-                ( iLanguageCapabilities.iLocalDigitType == EDigitTypeArabicIndic ||
-                  iLanguageCapabilities.iLocalDigitType == EDigitTypeEasternArabicIndic ||
-                  iLanguageCapabilities.iLocalDigitType == EDigitTypeDevanagari ) )
-                {
-                fepMode = ENativeNumber;
-                }
-            else
-                {
-                fepMode = ENumber;
-                }
-            iCharWidth = EFullWidthChar;
-            break;
-        case EAknEditorHiraganaKanjiInputMode:
-            fepMode = EHiraganaKanji;
-            break;
-        case EAknEditorHiraganaInputMode:
-            fepMode = EHiragana;
-            break;
-        default:
-            break;
-        }
-    return fepMode;
-    }
-
-void CAknFepManager::LaunchHelpTextQueryL()
-    {
-    TUid fepUid = CCoeEnv::Static()->FepUid();  
-    ClearExtendedFlag(EExtendedFlagEdwinEditorDestroyed);
-    iUiInterface->LaunchHelpTextQueryL(R_AKNFEP_HELP_TEXT);
-    PrepareFepAfterDialogExitL(fepUid);
-    }
-
-void CAknFepManager::UpdateEditorContext() const
-    {
-    if(EditingStateIndicator())
-        {
-        iUiInterface->UpdateEditorContext(*EditingStateIndicator(), *FepUI());
-        }
-    }
-
-TBool CAknFepManager::TextIsValidInEditor(const TDesC& aText)
-    {
-    TBool ret = ETrue;
-    TUint length = aText.Length();
-    TCoeInputCapabilities::MCoeFepSpecificExtensions* ipCapExt = 
-                           iInputCapabilities.FepSpecificExtensions(TUid::Uid(EAknFepUid));
-    if (ipCapExt)
-        {
-        while(length--)
-            {
-            if (!ipCapExt->IsValidCharacter(aText[length]))
-                {
-                ret = EFalse;
-                }
-            }
-        }
-    return ret;
-    }
-
-TBool CAknFepManager::CharIsValidInEditor(TChar aChar)
-    {
-    TBool ret = ETrue;
-    TCoeInputCapabilities::MCoeFepSpecificExtensions* ipCapExt = 
-                           iInputCapabilities.FepSpecificExtensions(TUid::Uid(EAknFepUid));
-    if (ipCapExt)
-        {
-        if (!ipCapExt->IsValidCharacter(aChar))
-            {
-            ret = EFalse;
-            }
-        }
-    return ret;
-    }
-
-void CAknFepManager::SetCursorType(TChineseFepCursorType aType)
-    {
-    TBool setToTrue = ETrue;
-    TTextCursor newCursor;
-
-    newCursor.iType=TTextCursor::ETypeRectangle;
-    if (aType == EPassive)
-        {
-        newCursor.iType=TTextCursor::ETypeHollowRectangle;
-        }
-    if ( IsFepAwareTextEditor() )
-        {
-        iInputCapabilities.FepAwareTextEditor()->Extension1()->SetCursorType(setToTrue, newCursor);
-        }
-    }
-
-MAknEditingStateIndicator* CAknFepManager::EditingStateIndicator() const
-    {
-    MAknEditingStateIndicator* indicator = NULL;
-
-    // First ask indicator from controls owning the editor.
-    // For example CAknQueryControl and CAknSearchField implement
-    // their own indicators.
-
-    MObjectProvider* objectProvider = NULL;
-
-    // First try through CAknEdwinState object.
-    // It exists with CEikEdwin-derived editors.
-    
-		MCoeFepAwareTextEditor* editor = NULL;
-		MCoeFepAwareTextEditor_Extension1* ext1 = NULL;
-		CAknEdwinState* state = NULL;
-
-    editor = iInputCapabilities.FepAwareTextEditor();
-    
-    if(editor)
-    	ext1 = editor->Extension1() ;
-    if(ext1)
-      state = (CAknEdwinState*)ext1->State( KNullUid ) ;
-      
-    if ( IsFepAwareTextEditor() && ( editor  ) && ( ext1) && ( state ))
-        {
-        objectProvider = state->ObjectProvider();
-        }
-
-    // If not found, try to get object provider from input capabilities.
-    // It is set there with CEikMfne-derived editors.
-
-    if ( !objectProvider )
-        {
-        objectProvider = iInputCapabilities.ObjectProvider();
-        }
-
-    if ( objectProvider )
-        {
-        indicator = objectProvider->MopGetObject( indicator );
-        }
-
-    // If no indicator was supplied, get one from CAknEnv.
-    // By default, this one is FEP's own indicator.
-
-    if ( !indicator )
-        {
-        indicator = CAknEnv::Static()->EditingStateIndicator();
-        if (indicator != iIndicator)
-            {
-            CAknEnv::Static()->SwapEditingStateIndicator(iIndicator);
-            indicator = iIndicator;
-            }
-        }
-
-    return indicator;
-    }
-
-TBool CAknFepManager::TryHandleArrowRightEventL(TInt aDokumentLength)
-    {
-    TBool ret = EFalse;
-    TBool thai = (iLanguageCapabilities.iInputLanguageCode == ELangThai);
-    if (  iInputCapabilities.FepAwareTextEditor() &&
-          (iSharedDataInterface->SpaceWithScrollRight() || thai ) &&
-          (!(iAknEditorFlags & EAknEditorFlagNoLRNavigation)) &&
-          iFepManState == EAknFepStateInitial &&
-          (!IsFlagSet(EFlagInsideInlineEditingTransaction) ) &&
-          (!IsFlagSet(EFlagShiftKeyDepressed)) &&
-          iMode != EHiragana )          //  Not supported in only Hiragana input mode
-        {
-        TInt cursorPos = DocPos().iPos;
-        TCursorSelection cursorSel;
-        iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(cursorSel);
-        if (( cursorPos == aDokumentLength)
-            && !cursorSel.Length()
-            && (IsFeatureSupportedJapanese() || (PreviousChar() != 0x0020)) )
-            {
-            // set to half-width space or full-width space by current input mode.
-            //    0x0020 is unicode for half-width space
-            //    0x3000 is unicode for full-width space
-            TUint code(0);
-            switch (iMode)
-                {
-                case EHiraganaKanji:
-                    code = 0x3000;
-                    break;
-                case ELatin:
-                    code = (!WesternPredictive() && iCharWidth == EFullWidthChar)?
-                            0x3000 : 0x0020;
-                    break;
-                case EHiragana:
-                    // Not supported in only Hiragana input mode
-                    break;
-                case EHangul:
-                	code = 0x0020;
-                	break;
-                case ENumber:
-                case ENativeNumber:
-                case EKatakana:
-                default:
-                    code = (iCharWidth == EFullWidthChar)? 0x3000 : 0x0020;
-                    break;
-                }
-            if (code)
-                {
-                SimulateKeyEventL(code); // add a space
-                SimulateKeyEventL(EKeyF19); // Asyncronous case update
-                ret = ETrue;
-                }
-            }
-        }
-    return ret;
-    }
-
-TBool CAknFepManager::TryHandleArrowLeftEventL(TInt aDokumentLength)
-    {
-    TBool ret = EFalse;
-    if (iInputCapabilities.FepAwareTextEditor() &&
-        iSharedDataInterface->SpaceWithScrollRight() &&
-        (!(iAknEditorFlags & EAknEditorFlagNoLRNavigation)) &&
-        iFepManState == EAknFepStateInitial &&
-        (!IsFlagSet(EFlagInsideInlineEditingTransaction) ) &&
-        (!IsFlagSet(EFlagShiftKeyDepressed)) &&
-        iMode != EHiragana )          //  Not supported in only Hiragana input mode
-        {
-        TInt cursorPos = DocPos().iPos;
-        TCursorSelection cursorSel;
-        iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(cursorSel);
-        TText previousChar = PreviousChar();
-        if (( cursorPos == aDokumentLength)
-            && !cursorSel.Length()
-            && (IsFeatureSupportedJapanese()
-            && (previousChar == 0x3000 || previousChar == 0x0020) )) // full width or half-width space.
-            {
-            SimulateKeyEventL(EKeyBackspace);
-            SimulateKeyEventL(EKeyF19); // Asyncronous case update
-            ret = ETrue;
-            }
-        }
-    return ret;
-    }
-
-TBool CAknFepManager::TryHandleArrowDownEventL(TInt aDokumentLength)
-    {
-    TBool ret = EFalse;
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    // Predictive QWERTY (XT9) changes ---->
-    if ( iWesternPredictive &&
-         IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction) && !(iAknEditorFlags & EAknEditorFlagNoT9) 
-         && !IsFlagSet(EFlagInsideMultitapInlineEditingTransaction) && !IsFlagSet(EFlagNoMatches))
-        {
-        LaunchCandidatePopupListL();
-        ret = ETrue;
-        }
-    // Predictive QWERTY (XT9) changes <----
-    else 
-#endif //RD_INTELLIGENT_TEXT_INPUT
-    if  ( ( iAknEditorFlags & EAknEditorFlagAllowEntersWithScrollDown ) &&
-          iInputCapabilities.FepAwareTextEditor() &&
-          ( iSharedDataInterface->EntersWithScrollDown() ) &&
-          iFepManState == EAknFepStateInitial &&
-          !IsFlagSet(EFlagInsideInlineEditingTransaction) &&
-          !IsFlagSet(EFlagShiftKeyDepressed) )
-        {
-        TInt cursorPos = DocPos().iPos;
-        TCursorSelection cursorSel;
-        iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(cursorSel);
-        if ( cursorPos == aDokumentLength &&
-            !cursorSel.Length() )
-            {
-            SimulateKeyEventL(EKeyEnter); // add line feed
-            SimulateKeyEventL(EKeyF19); // Asyncronous case update
-            ret = ETrue;
-            }
-        }
-    return ret;
-    }
-
-TUint CAknFepManager::EditorModeFromFepMode(TInt aFepMode)
-    {
-    TUint editorMode(aFepMode);
-    switch (aFepMode)
-        {
-        case ELatin:
-            if (iPermittedInputModes & EAknEditorTextInputMode)
-                {
-                editorMode = EAknEditorTextInputMode;
-                if (IsFeatureSupportedJapanese())
-                    {
-                    if (iCharWidth == EHalfWidthChar 
-                    && (iPermittedInputModes & EAknEditorHalfWidthTextInputMode))
-                        {
-                        editorMode = EAknEditorHalfWidthTextInputMode;
-                        }
-                    else if (iCharWidth == EFullWidthChar 
-                         && (iPermittedInputModes & EAknEditorFullWidthTextInputMode))
-                        {
-                        editorMode = EAknEditorFullWidthTextInputMode;
-                        }
-                    }
-                }
-            else if (iPermittedInputModes & EAknEditorHalfWidthTextInputMode)
-                {
-                editorMode = EAknEditorTextInputMode;
-                if (IsFeatureSupportedJapanese())
-                    {
-                    editorMode = EAknEditorHalfWidthTextInputMode;
-                    if (iCharWidth == EFullWidthChar 
-                     &&(iPermittedInputModes & EAknEditorFullWidthTextInputMode))
-                        {
-                        editorMode = EAknEditorFullWidthTextInputMode;
-                        }
-                    }
-                }
-            else if (iPermittedInputModes & EAknEditorFullWidthTextInputMode)
-                {
-                editorMode = EAknEditorTextInputMode;
-                if (IsFeatureSupportedJapanese())
-                    {
-                    editorMode = EAknEditorFullWidthTextInputMode;
-                    }
-                }
-            else
-                {
-                editorMode = EAknEditorSecretAlphaInputMode;
-                }
-            break;
-        case ENumber:
-        case ENativeNumber:
-            editorMode = EAknEditorNumericInputMode;
-            if (iCharWidth == EFullWidthChar 
-            && (iPermittedInputModes & EAknEditorFullWidthNumericInputMode))
-                {
-                editorMode = EAknEditorFullWidthNumericInputMode;
-                }
-            break;
-    	case EHangul: 
-       		editorMode = EAknEditorTextInputMode;       	
-       		break;
-        default:
-            if (IsFeatureSupportedJapanese())
-                {
-                editorMode = EditorMode(aFepMode, iCharWidth);
-                }
-            break;
-        }
-    return editorMode;
-    }
-
-CAknKeySoundSystem* CAknFepManager::SoundSystem() const
-    {
-    CCoeEnv* coeEnv = CCoeEnv::Static();
-    if (coeEnv->AppUi())
-        {
-        return iAvkonAppUiBase->KeySounds();
-        }
-    return NULL;
-    }
-
-void CAknFepManager::SetHashKeyStyle()
-    {
-    CAknFepHashKeyManager::THashKeyStyle style = CAknFepHashKeyManager::EHashKeyStyleWestern;
-
-    switch (iLanguageCapabilities.iInputLanguageCode)
-        {
-        case ELangPrcChinese:
-        case ELangHongKongChinese:
-        case ELangTaiwanChinese:
-            style = CAknFepHashKeyManager::EHashKeyStyleChineseWithWestern;
-            break;
-        case ELangJapanese:
-            style = CAknFepHashKeyManager::EHashKeyStyleJapanese;
-            break;
-        case ELangKorean:
-        	style = CAknFepHashKeyManager::EHashKeyStyleKoreanWithWestern;
-        	break;
-        default:
-            break;
-        }
-
-    iHashKeyMan->SetHashKeyStyle( style );
-    }
-
-void CAknFepManager::ReadHashKeyLoopL()
-    {
-    iHashKeyLoop.Reset();
-
-    CCoeEnv* coeEnv = CCoeEnv::Static();
-    TResourceReader reader;
-    coeEnv->CreateResourceReaderLC(reader, R_HASH_KEY_LOOP_ALL_INPUT_MODES);
-
-    iVariantPermittedModes = 0;
-    const TInt count = reader.ReadInt16();
-    for (TInt ii=0; ii<count; ii++)
-        {
-        TInt mode = reader.ReadInt32();
-        if ( IsInputModeAvailable(mode) )
-            {
-            if ( mode == EPRCFind)
-                {
-                mode = ELatin;
-                }
-            iHashKeyLoop.Append(mode);
-            iVariantPermittedModes |= mode;
-            }
-        }
-    CleanupStack::PopAndDestroy(); //reader
-    }
-
-TBool CAknFepManager::IsValidInLineCharacter(TChar aCharacter) const
-    {
-    TBool validInlineCharacter = ETrue;
-    TChar::TCategory category = aCharacter.GetCategory();
-    TChar::TBdCategory bdCategory = aCharacter.GetBdCategory();
-    switch (iLanguageCapabilities.iInputLanguageCode)
-        {
-        case ELangArabic:
-            {
-            // Needs more specific category
-            validInlineCharacter = ( (category & TChar::ELetterOtherGroup) &&
-                (bdCategory == TChar::ERightToLeftArabic) );
-            break;
-            }
-        case ELangHebrew:
-            {
-            // Needs more specific category
-            validInlineCharacter = ( (category & TChar::ELetterOtherGroup) &&
-                (bdCategory == TChar::ERightToLeft) );
-            break;
-            }
-        case ELangFarsi:
-        case ELangUrdu:
-            {
-            // Needs more specific category
-            validInlineCharacter = ( (category & TChar::ELetterOtherGroup) &&
-                (bdCategory == TChar::ERightToLeftArabic) );
-            break;
-            }
-            /*Hindi*/            
-        case ELangHindi:
-#ifdef RD_MARATHI
-			/* Same for Marathi */
-        case ELangMarathi:
-#endif
-            {
-            // Needs more specific category
-            validInlineCharacter = IsValidInlineIndicCharacter(aCharacter);
-            
-            break;
-            }
-        case ELangVietnamese:
-            {
-            validInlineCharacter = (aCharacter.IsAlpha() &&
-                                    !((category & TChar::ELetterOtherGroup))) ||
-                                    ((category == TChar::EMarkGroup) && 
-                                    (bdCategory == TChar::ENonSpacingMark));
-            break;
-            }
-        case ELangThai:
-            {
-            validInlineCharacter = (!(aCharacter.IsSpace() || (aCharacter == 0x2029))) &&
-                                   ((aCharacter.IsAlpha() && 
-                                    !(category & TChar::ELetterOtherGroup)) ||
-                                   ((category & TChar::EMarkGroup) && 
-                                    (bdCategory == TChar::ENonSpacingMark)) ||
-                                   ((category & TChar::ELetterModifierGroup) && 
-                                    (bdCategory == TChar::ELeftToRight)) ||
-                                   ((category & TChar::ESeparatorGroup ) && 
-                                    (bdCategory == TChar::EWhitespace))||
-                                   ((category & TChar::EMcCategory) && 
-                                    (bdCategory == TChar::ELeftToRight)));
-            break;                                    
-            }
-        case ELangTaiwanChinese:
-        case ELangHongKongChinese:
-        case ELangPrcChinese:
-        case ELangEnglish:
-            {                           
-#ifdef RD_INTELLIGENT_TEXT_INPUT   
-            // for qwerty special characters should not break the word
-            if( iQwertyInputMode && ( KeyboardLayout() !=EPtiKeyboardHalfQwerty ))
-                {
-                validInlineCharacter = (!( aCharacter.IsSpace() || (aCharacter == 0x2029) || 
-                                        ( aCharacter.IsAlpha() && 
-                                         (category & TChar::ELetterOtherGroup))||
-                                        ((category & TChar::EMarkGroup) && 
-                                         (bdCategory == TChar::ENonSpacingMark)) ||
-                        				((category & TChar::ELetterModifierGroup) && 
-                        		 		 (bdCategory == TChar::ELeftToRight)) ||
-                        				((category & TChar::ESeparatorGroup ) && 
-                        		 		 (bdCategory == TChar::EWhitespace))));
-                }            
-            else                
-#endif      // whereas for ITUT and Half Qwerty they should
-                {
-                validInlineCharacter = ( aCharacter.IsAlpha() && !(category & TChar::ELetterOtherGroup) );
-                }            
-            break;
-            }
-        default:
-            {
-#ifdef RD_INTELLIGENT_TEXT_INPUT            
-			// for qwerty special characters should not break the word
-			
-			if( iQwertyInputMode && ( KeyboardLayout() !=EPtiKeyboardHalfQwerty ) )
-				{
-				validInlineCharacter = (!(aCharacter.IsSpace() || (aCharacter == 0x2029)));	
-				}
-			else	            
-#endif		// whereas for ITUT and Half Qwerty they should
-				{
-				validInlineCharacter = ( aCharacter.IsAlpha() && !(category & TChar::ELetterOtherGroup) );
-				}
-			
-
-            break;
-            }
-        }
-	
-	TUint16 key = 0;
-	if(validInlineCharacter)
-		{
-		validInlineCharacter = EFalse;
-        ConvertCharToKey(aCharacter, key);
-		if(0 != key)
-			{
-			validInlineCharacter = ETrue;
-			}
-		}
-		
-    return validInlineCharacter;
-    }
-TBool CAknFepManager::IsValidInlineIndicCharacter(TChar aCharacter) const
-    {
-    TBool validInlineCharacter = ETrue;
-    TChar::TCategory category = aCharacter.GetCategory();
-    TChar::TBdCategory bdCategory = aCharacter.GetBdCategory();
-    
-    if(!((category == TChar::EPoCategory) || aCharacter == 0x0950 || aCharacter == 0x093D))
-        {
-        validInlineCharacter = ((( (category & TChar::ELetterOtherGroup) 
-                                      && (bdCategory == TChar::ELeftToRight) )
-                                  ||( (category & TChar::EMcCategory) 
-                                      && (bdCategory == TChar::ELeftToRight) )
-                                  ||( (category & TChar::EMarkGroup) 
-                                      && (bdCategory == TChar::ENonSpacingMark)) )
-                                 &&( ! ( aCharacter.IsAlpha() 
-                                      && !(category & TChar::ELetterOtherGroup) )));
-        }
-    else 
-        {
-        validInlineCharacter = EFalse;
-        }
-    return  validInlineCharacter;
-    }
-
-TInt CAknFepManager::WordConcatenationTimerTimeoutCallback(TAny* aObj)
-    {
-    TRAPD(err, static_cast<CAknFepManager*>(aObj)->WordConcatenationTimerTimeoutL());
-    if (err)
-        {
-        static_cast<CAknFepManager*>(aObj)->CleanUpFep();
-        return KErrNoMemory;
-        }
-    return KErrNone;
-    }
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    
-TBool CAknFepManager::IsHybridAplhaEditor() const
-    {
-    TBool phoneIdle = (EditorType() == CAknExtendedInputCapabilities::EHybridAlphaNumericEditor);
-    return phoneIdle;
-    }
-
-TBool CAknFepManager::IsHybridAlphaModeChangedtoAplhanumeric() const
-    {
-    return iHybridAplphaChangedToAlphanumeric;
-    }
-
-TBool CAknFepManager::IsPhoneNumberEditor() const
-    {
-    TBool phoneEditor = (EditorType() == CAknExtendedInputCapabilities::EPhoneNumberEditor);
-    return phoneEditor;
-    }
-CAknFepFnKeyManager::TFnKeyState CAknFepManager::FnKeyState()
-    {
-    return iFnKeyManager->FnKeyState();
-    }
-void CAknFepManager::SetFnKeyState(CAknFepFnKeyManager::TFnKeyState aState)
-    {
-    iFnKeyManager->SetFnKeyState(aState);
-    }
-#ifdef __REVERSE_FN_KEY_SUPPORTED
-TBool CAknFepManager::IsReverseFnkeyInput()
-    {
-    return iIsReverseFnkeyInput;
-    }
-void CAknFepManager::SetReverseFnkeyInputMode(TBool iIsOn)
-	{
-	iIsReverseFnkeyInput = iIsOn;
-	}
-TBool CAknFepManager::IsValidCharInNumericEditorL( TChar aChar ) const
-    {
-    if(!EditorState())
-        {
-    	return EFalse;    	
-        }
-    TBool validChar = EFalse;
-    if( aChar.IsDigit() )
-        {
-        return ETrue;
-        }
-    TBool phoneIdle = (EditorType() == CAknExtendedInputCapabilities::EPhoneNumberEditor);            
-    if( (phoneIdle || (IsHybridAplhaEditor() && !IsHybridAlphaModeChangedtoAplhanumeric()))
-	 	&& aChar == '#')    
-    	{
-    	return ETrue;
-    	}
-	if( aChar == '.' && EAknEditorConverterNumberModeKeymap == iAknEditorNumericKeymap)
-        {
-        return ETrue;
-        }	
-    if( IsAllowedKeymappingForNumberMode(aChar) )
-    	{
-    	return ETrue;
-    	}
-    	
-    TInt resourceSCTId = EditorState()->SpecialCharacterTableResourceId();  
-    // No SCT table use default SCT
-    if( resourceSCTId == KErrNotFound || !resourceSCTId || 
-            (IsHybridAplhaEditor()&& !IsHybridAlphaModeChangedtoAplhanumeric()))
-        {
-        resourceSCTId = NumericModeSCTResourceId();
-        }   
-    
-    if( resourceSCTId )
-        {
-        TResourceReader reader;
-        CEikonEnv::Static()->CreateResourceReaderLC(reader,resourceSCTId);
-        reader.ReadInt32(); // skip sct id    
-        TPtrC chars=reader.ReadTPtrC(); // read special char        
-        validChar = ( chars.Locate(aChar)>=0 );                      
-        CleanupStack::PopAndDestroy();
-        }
-    return validChar;
-    
-    }
-TInt CAknFepManager::GetNumericSCTResID()
-    {
-    if(!EditorState())
-      	{
-        return NumericModeSCTResourceId();
-    	  }
-    TInt resourceSCTId = EditorState()->SpecialCharacterTableResourceId();
-    if(resourceSCTId == KErrNotFound || !resourceSCTId )
-        {
-        resourceSCTId = NumericModeSCTResourceId();
-        }
-    return resourceSCTId;
-    }
-
-TBool CAknFepManager::IsValidCharForNumericInFnReverseL(TInt aKey, TPtiTextCase aCase) 
-    {
-    if(!EditorState())
-        {
-    	return EFalse;    	
-        }
-    TBuf<32> keyMaps;
-    iPtiEngine->MappingDataForKey( (TPtiKey)aKey, keyMaps, aCase);  
-    
-    TBool validKey(EFalse);   
-    if( keyMaps.Length()<= 0 )
-        {
-        return validKey;
-        }
-    TChar chr =keyMaps[0];
-    if( chr.IsDigit() )
-        {
-        return ETrue;
-        }
-
-    TInt resourceSCTId = EditorState()->SpecialCharacterTableResourceId();  
-    // No SCT table use default SCT
-    if( resourceSCTId == KErrNotFound || !resourceSCTId )
-        {
-        resourceSCTId = NumericModeSCTResourceId();
-        }   
-    
-    if( resourceSCTId )
-        {
-        TResourceReader reader;
-        CEikonEnv::Static()->CreateResourceReaderLC(reader,resourceSCTId);
-        reader.ReadInt32(); // skip sct id    
-        TPtrC chars=reader.ReadTPtrC(); // read special char
-        
-        validKey = (chars.Locate(chr)>=0 );
-        if(chr.IsAlpha())
-            {
-            chr.UpperCase();
-            validKey |= (chars.Locate(chr)>=0 ) ;
-            }                 
-            
-        CleanupStack::PopAndDestroy();
-        }
-         
-    return validKey;
-    
-    }
-#endif //__REVERSE_FN_KEY_SUPPORTED
-void CAknFepManager::AddOneSpaceOrMoveCursorL()
-	{
-	if(static_cast<TChar>(NextChar()).IsSpace())
-		{
-		TCursorSelection sel;
-		iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(sel);
-		sel.iCursorPos++;
-		sel.iAnchorPos++;
-		iInputCapabilities.FepAwareTextEditor()->SetCursorSelectionForFepL(sel);	                		
-		}
-	else if(IsEditorHasFreeSpace())
-    	{
-        SimulateKeyEventL(EKeySpace);
-    	}
-	SimulateKeyEventL(EKeyF19);
-	}
-#endif
-TBool CAknFepManager::IsOnlyNumericPermitted() const
-    {
-    if (IsFeatureSupportedJapanese())
-        {
-        return !(iPermittedInputModes & ~(EAknEditorNumericInputMode 
-               | EAknEditorFullWidthNumericInputMode) );
-        }
-    else
-        {
-        // Only non-japanese modes are considered.
-        return !( iPermittedInputModes & 
-                  (EAknEditorTextInputMode | EAknEditorSecretAlphaInputMode) );
-        }
-    }
-
-void CAknFepManager::TryIncrementModeL(TInt aCurrentMode)
-    {
-    //check that we are currently in the correct mode
-    __ASSERT_DEBUG(IsModePermitted(iMode),
-                   AknFepPanic(EAknFepPanicNonPermittedEditorMode));
-    __ASSERT_DEBUG(iInputCapabilities.FepAwareTextEditor(),
-                   AknFepPanic(EAknFepPanicNoHandleToFepAwareTextEditor));
-
-    const TInt lastModePos = iHashKeyLoop.Count()-1 ;
-    const TInt currentModePos = iHashKeyLoop.Find(aCurrentMode);
-    TInt newModePos = currentModePos;
-
-    __ASSERT_DEBUG(currentModePos != KErrNotFound ,
-                   AknFepPanic(EAknFepPanicNonPermittedEditorMode));
-
-    do  {
-        if (newModePos == lastModePos)
-            {
-            //we've got to the end of the hash key loop, go back to the beginning
-            newModePos = 0;
-            }
-        else
-            {
-            newModePos++;
-            }
-
-        if (TryChangeModeL(iHashKeyLoop[newModePos]))
-            {
-            return; //succeeded to move to next available mode
-            }
-        }
-        while (newModePos != currentModePos);
-    }
-
-void CAknFepManager::TryIncrementModeChineseQwertyL(TInt aCurrentMode)
-    {
-    __ASSERT_DEBUG(IsModePermitted(aCurrentMode),AknFepPanic(EAknFepPanicNonPermittedEditorMode));
-
-    const TInt lastModePos = iHashKeyLoop.Count() - 1 ;
-    const TInt currentModePos = iHashKeyLoop.Find(aCurrentMode);
-    TInt newModePos = currentModePos;
-
-    __ASSERT_DEBUG(currentModePos != KErrNotFound ,
-                   AknFepPanic(EAknFepPanicNonPermittedEditorMode));
-
-    do  
-        {
-        if (newModePos == lastModePos)
-            {
-            //we've got to the end of the hash key loop, go back to the beginning
-            newModePos = 0;
-            }
-        else
-            {
-            newModePos++;
-            }
-        }while(iHashKeyLoop[newModePos] == ENumber && !IsOnlyNumericPermitted()); // no number mode in Chinese qwerty input, except those editors which only support number
-            
-    SendEventsToPluginManL( EPluginCloseMode, EFalse );
-    if(TryChangeModeL(iHashKeyLoop[newModePos]))
-        {
-        return; //succeeded to move to next available mode
-        }
-    }
-
-void CAknFepManager::TryIncrementChineseModeForQwertyL( TInt aCurrentMode )
-    {
-    __ASSERT_DEBUG(IsModePermitted(aCurrentMode),AknFepPanic(EAknFepPanicNonPermittedEditorMode));
-
-    const TInt lastModePos = iHashKeyLoop.Count() - 1;
-    const TInt currentModePos = iHashKeyLoop.Find( aCurrentMode );
-    TInt newModePos = currentModePos;
-
-    __ASSERT_DEBUG(currentModePos != KErrNotFound ,
-        AknFepPanic(EAknFepPanicNonPermittedEditorMode));
-
-    do
-        {
-        if ( newModePos == lastModePos )
-            {
-            //we've got to the end of the hash key loop, go back to the beginning
-            newModePos = 0;
-            }
-        else
-            {
-            newModePos++;
-            }
-        }
-    while ( (iHashKeyLoop[newModePos] == ENumber
-        && !IsOnlyNumericPermitted()) || (iHashKeyLoop[newModePos] == ELatin
-        && IsChangeModeByShiftAndSpace() ) ); // no number mode and latin in Chinese qwerty input, except those editors which only support number
-
-    SendEventsToPluginManL( EPluginCloseMode, EFalse );
-    if ( TryChangeModeL( iHashKeyLoop[newModePos] ) )
-        {
-        return; //succeeded to move to next available mode
-        }
-    }
-
-void CAknFepManager::TryChangeToSharedDataModeL()
-    {
-    TInt sharedDataMode = iSharedDataInterface->InputMode();
-    TryChangeModeL(sharedDataMode);
-    }
-
-void CAknFepManager::TryChangeToModeBeforeL()
-    {
-    if (TryChangeModeL(iModeBefore))
-        {
-        if (iModeBefore==ELatin)
-            {
-            if ( iCaseBefore )
-                {
-                iCaseMan->SetCurrentCase(iCaseBefore);
-                }
-            else
-                {
-                iCaseMan->UpdateCase(ENullNaviEvent);
-                }
-            }
-        }
-    }
-
-#ifdef RD_HINDI_PHONETIC_INPUT    
-
-TBool CAknFepManager::IsIndicPhoneticInputLanguage() const
-    {
-    MPtiLanguage* ptilang = iPtiEngine->CurrentLanguage();
-    TInt currentPtiLang = (ptilang)? ptilang->LanguageCode() : 0;
-    return (TAknFepUiIndicInputManager::IsIndicPhoneticLanguage(TLanguage(currentPtiLang)));
-    }
-
-void CAknFepManager::TryChangePhoneticModeL()
-    {
-    MPtiLanguage* ptilang = iPtiEngine->CurrentLanguage();
-    TInt currentPtiLang = (ptilang)? ptilang->LanguageCode() : 0;
-    TInt lang = 0;
-    
-    (TAknFepUiIndicInputManager :: IsIndicPhoneticLanguage(TLanguage(currentPtiLang)))? 
-    lang = ELangEnglish : lang = iLanguageCapabilities.iInputLanguageCode;
-    
-    iPtiEngine->ActivateLanguageL(lang);
-    iLangMan->SetInputLanguageL(lang);
-    InternalFepUI()->SetMode(iMode, EFalse, iQwertyInputMode);  
-    iCaseMan->UpdateCase(ENullNaviEvent);
-    UpdateIndicators();
-    CommitInlineEditL();
-    }
-    
-TInt CAknFepManager::SetPhoneticIndicator(TLanguage aInputLanguage)
-    {
-    TInt newState = 0;
-    TInt currentCase = iCaseMan->CurrentCase();
-
-    switch(aInputLanguage)
-        {
-        case KLangHindiPhonetic: 
-            if(currentCase == EAknEditorUpperCase)  
-                {
-                newState = EIndicatorStateHindiPhoneticUpper;   
-                }
-            else
-                {
-                newState = EIndicatorStateHindiPhoneticLower;   
-                }
-        break;
-        default:
-        break;
-        }
-    return newState;        
-    }
-#endif
-TBool CAknFepManager::TryChangeModeL(TInt aMode)
-    {
-    CAknEdwinState* editorState = EditorState();
-    TInt sharedDataMode = iSharedDataInterface->InputMode();
-
-    if (aMode == EStroke && iQwertyInputMode && sharedDataMode == ECangJie)
-    	{
-    	iEditorStateStrokeUsed = editorState;
-    	iStrokeUsedInQWERTY = ETrue;
-    	}
-    else if (iEditorStateStrokeUsed == editorState)
-    	{
-    	iStrokeUsedInQWERTY = EFalse;
-    	}
-    
-    if (aMode == ECangJie && !iQwertyInputMode && 
-    		(iFepPluginManager->PluginInputMode() != EPluginInputModeVkb
-			|| iFepPluginManager->PluginInputMode() != EPluginInputModeFSQ))
-        {
-        aMode = EStroke;
-        }
-    
-    if (aMode == ELatinText ||aMode == ELatinUpper || aMode == ELatinLower)
-        {
-        if (TryChangeModeL(ELatin))
-            {
-            if ( !(iAknEditorFlags & EAknEditorFlagFixedCase) )
-                {
-                if (aMode == ELatinText)
-                    {
-                    ClearFlag(EFlagSupressAutoUpdate);
-                    }
-                else if (aMode == ELatinUpper)
-                    {
-                    //Modify for allow text case after entering a dot and space
-                    ClearFlag(EFlagSupressAutoUpdate);
-                    //Modify for allow text case after entering a dot and space
-                    iCaseMan->SetCurrentCase(EAknEditorUpperCase);
-                    }
-                else //lower
-                    {
-                    //Modify for allow text case after entering a dot and space
-                    ClearFlag(EFlagSupressAutoUpdate);
-                    //Modify for allow text case after entering a dot and space
-                    iCaseMan->SetCurrentCase(EAknEditorLowerCase);
-                    }
-                UpdateIndicators();
-                }
-            return ETrue;
-            }
-        return EFalse;
-        }
-
-    if ( iQwertyInputMode && ( aMode == ENumber || aMode == ENativeNumber ) && 
-         !IsOnlyNumericPermitted() 
-         // Add this condition to exclude all touch inputmethods. 
-         // When change to number range on touch inputmethods, fn key state can't be locked.          
-         && iFepPluginManager 
-         && iFepPluginManager->PluginInputMode() == EPluginInputModeNone )
-        {
-        if (TryChangeModeL(ELatin))
-            {
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-            // If editor should be launched in FnLock state, because in case of QWERTY keypad
-            // Current numeric mode converted to alphanumeric mode.
-            if( iFnKeyManager )
-                {
-                iFnKeyManager->SetFnKeyState(CAknFepFnKeyManager::EFnKeyLock);
-                SetCase((TCase)EFnKeyLowerCase);
-                }
-#endif // RD_INTELLIGENT_TEXT_INPUT
-            return ETrue;
-            }
-        }
-
-    if (IsModePermitted(aMode))
-        {
-        if (aMode == ELatin)
-            {
-            if (iAknEditorFlags & EAknEditorFlagNoT9)
-                {
-                SetWesternPredictive(EFalse);
-                }
-
-            if (iAknEditorFlags & EAknEditorFlagFixedCase)
-                {
-                iCaseMan->ConfigureCaseStateFromEditorState();
-                }
-            }
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-        if (!iQwertyInputMode && WesternPredictive() && iFepManState == EAknFepStateUIActive)
-#else
-        if (WesternPredictive() && iFepManState == EAknFepStateUIActive)
-#endif            
-            {
-            TryRemoveNoMatchesIndicatorL();
-            UpdateCbaL(NULL);
-            }
-        TryCloseUiL();
-
-        // getting a new ui manager object corresponded in aMode.
-        MAknFepManagerInterface* fepUI = iLangMan->GetFepUI(aMode, iCharWidth, 
-                                                            IsPredictive(aMode));
-        // getting the currect language id from ptiengine.
-        MPtiLanguage* ptilang = iPtiEngine->CurrentLanguage();
-        TInt currentPtiLang = (ptilang)? ptilang->LanguageCode() : 0;
-        // getting the supported language id in current ui manager.
-        TInt currentUiLang = fepUI->SupportLanguage(aMode);
-
-        // changing language id both ptiengine and ui manager
-        // 1. check the currect ui manager for input mode
-        // 2. check the current ptiengine and ui manager
-        if (iCurrentFepUI != fepUI
-         || currentPtiLang != currentUiLang)
-            {
-            iCurrentFepUI = fepUI;
-            TInt err = iPtiEngine->ActivateLanguageL(currentUiLang);
-            if (err != KErrNone)
-                {
-#ifdef _DEBUG
-                RDebug::Print(_L("ActivateLanguageL error return code=[%d] language id=[%d]"),
-                                err, iLanguageCapabilities.iInputLanguageCode);
-#endif
-                ChangeInputLanguageL(ELangEnglish);
-                return ETrue;
-                }
-            }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-#ifdef FF_DUAL_LANGUAGE_SUPPORT
-        // Change secondary input
-        iPtiEngine->SetSecondaryInputL(iSharedDataInterface->InputTextLanguageSecondary());
-#endif //FF_DUAL_LANGUAGE_SUPPORT
-#endif
-
-//#ifndef RD_INTELLIGENT_TEXT_INPUT 
-            TBuf<50> mapData;
-            //Init Data
-            for (TInt i = 0; i < 50; i++)
-                {
-                mapData.Append(0);
-                }
-
-            //Backup original input mode
-            TPtiEngineInputMode oriMode = iPtiEngine->InputMode();
-            
-            //Change current input mode, since MappingDataForKey I/F only worked
-            //when in EPtiEngineMultitapping mode
-            iPtiEngine->SetInputMode(EPtiEngineMultitapping);
-            iPtiEngine->MappingDataForKey(EPtiKey1, mapData, iPtiEngine->Case());
-            
-            //Restore
-            iPtiEngine->SetInputMode(oriMode);
-
-            //Get first three symbols
-			if(mapData.Length() > 0)
-				{
-	        	iSymbolData.iSymbol1 = mapData[0];
-	            
-				if (mapData.Length() > 1)
-	            	iSymbolData.iSymbol2 = mapData[1];
-	        	if (mapData.Length() > 2)
-	        		iSymbolData.iSymbol3 = mapData[2];
-				}
-            
-            //Write data to stream
-            if (iFepPluginManager && iFepPluginManager->CurrentPluginInputFepUI())
-                {
-                iFepPluginManager->CurrentPluginInputFepUI()->HandleCommandL(
-                            ECmdPenInputSymbolOfHardKeyOne, reinterpret_cast<TInt>(&iSymbolData));
-                }
-//#endif                
-        iMode = aMode;
-        
-#ifdef RD_SCALABLE_UI_V2 
-        if ( IsChineseInputMode( aMode ) )
-            {
-            iLastChineseInputMode = aMode;
-            }        
-#endif // RD_SCALABLE_UI_V2
-        if(iMode == ENumber || iMode == ENativeNumber )
-            {
-#ifdef RD_INTELLIGENT_TEXT_INPUT 
-            ClearFlag(CAknFepManager::EFlagNewSharedDataInputLanguage);
-            ClearFlag(CAknFepManager::EFlagNewSharedDataInputMode);
-#endif //  RD_INTELLIGENT_TEXT_INPUT  
-            InternalFepUI()->SetNumberModeKeyMappingL(iAknEditorNumericKeymap);
-            }
-#ifdef RD_INTELLIGENT_TEXT_INPUT            
-        InternalFepUI()->SetMode(iMode, IsPredictive(), iQwertyInputMode, KeyboardLayout());
-#else
-        InternalFepUI()->SetMode(iMode, IsPredictive(), iQwertyInputMode);
-#endif        
-        iHashKeyMan->SetMode(iMode, IsPredictive());
-        // ensure editor is aware of new fep mode
-        if ( IsFepAwareTextEditor() )
-            {
-            EditorState()->SetCurrentInputMode(EditorModeFromFepMode(aMode));
-            iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(iUncommittedText);
-            AdjustCursorTypeForCurrentPosition();
-            }
-
-        // when cursor is in between two words and SCT is launched and
-        // cancel key is pressed, dont move the cursor at the end of
-        // second word.     
-         if (WesternPredictive(aMode) && !iUncommittedText.Length()
-            && CursorInsideWord() && !IsCcpuFlagSet(ECcpuStateSupressCursorMoveToEnd)
-#ifdef RD_INTELLIGENT_TEXT_INPUT            
-            && (!iSupressCursorMoveToEndChrKeyPressed)
-#endif //RD_INTELLIGENT_TEXT_INPUT       
-            )
-            {
-            MoveCursorToEndOfWordL();
-            }
-        else
-            {
-#ifdef RD_INTELLIGENT_TEXT_INPUT              
-            iSupressCursorMoveToEndChrKeyPressed = EFalse;
-#endif //RD_INTELLIGENT_TEXT_INPUT             
-            ClearCcpuFlag(ECcpuStateSupressCursorMoveToEnd);
-            }
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        // Ensure that autocompletion state is updated
-        if (WesternPredictive())
-        	{
-        	SetAutoCompletionState(iSharedDataInterface->PredictiveTextAutoCompleteOn());
-        	}
-#endif
-        // Set multitap timer to PtiEngine for Japanese variant only
-        if (IsFeatureSupportedJapanese())
-            {
-            TInt timeout = (iInputCapabilities.SupportsSecretText())? 
-            					KSyncPasswdTimeout : iMultiTapTimer;
-            iPtiEngine->HandleCommandL(EPtiCommandSetMultitapTimer, &timeout);
-            iPtiEngine->HandleCommandL(EPtiCommandSetJapaneseQwertyFlags, &iJapaneseQwertyFlags);
-            TInt clear = iSharedDataInterface->ClearDirection();
-            iPtiEngine->HandleCommandL(EPtiCommandSetClearFunction, &clear);
-            // Send PtiEngine the command whether Pictograph is allowed in Candidate list
-            TInt allow = IsAbleToLaunchPCT();
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-            iPtiEngine->HandleCommandL(EPtiCommandAllowPictographCandidate, &allow);
-#endif //RD_INTELLIGENT_TEXT_INPUT
-            }
-
-        UpdateIndicators(); // moved to bottom to avoid extra indicator updates
-
-        return ETrue;
-        }
-    return EFalse;
-    }
-
-void CAknFepManager::ChangeInputLanguageL(TInt aInputLanguage)
-    {
-    	if(iLangMan)
-    	{
-    	iLangMan->SetInputLanguageL(aInputLanguage);
-
-    	SetInputLanguageCapabilities(aInputLanguage);
-
-    	ReadHashKeyLoopL();
-		// we need to make sure that we commit the word to ptiengine, 
-		// so that the word gets added to the UWD 
-    	SetCcpuFlag(ECcpuStataCommitPredictiveWord);
-    	// Addition for ITI on FSQ
-    	// When FSQ is opened with the ITI-supported input language, 
-    	// if switch to another language which doesn't support ITI, such as Korean,
-    	// need to restore the previous configuration on FEP
-        if ( iFepPluginManager )
-        	{    	
-        	iFepPluginManager->ResetItiStateL();
-        	}    	
-    	if ( !TryChangeModeL(NewInputModeAfterLanguageChange()) )
-	        {
-	        if ( !TryChangeModeL(ELatin) )
-	            {
-	            // If the editor does not support text input mode, we try number mode.
-	            if( IsInputModeAvailable(ENativeNumber) && 
-	                ( iLanguageCapabilities.iLocalDigitType == EDigitTypeArabicIndic ||
-	                  iLanguageCapabilities.iLocalDigitType == EDigitTypeEasternArabicIndic ||
-	                  iLanguageCapabilities.iLocalDigitType == EDigitTypeDevanagari ) )
-	                {
-	                TryChangeModeL(ENativeNumber);;
-	                }
-	            else
-	                {
-	                TryChangeModeL(ENumber);
-	                }
-	            }
-	        }
-  
-        if (!iLanguageCapabilities.iLocalInputLanguageInUse)
-        	{
-        	switch (iSharedDataInterface->InputTextLanguage())
-            	{
-            	case ELangPrcChinese:
-            		{
-            		iSharedDataInterface->SetInputMode(EPinyin);
-            		SetFlag(EFlagNewSharedDataInputMode);
-            		break;            		
-            		}
-            	case ELangTaiwanChinese:
-            		{
-            	    iSharedDataInterface->SetInputMode(EZhuyin);
-            	    SetFlag(EFlagNewSharedDataInputMode);
-            	    break;
-            		}
-            	case ELangHongKongChinese:
-            		{
-            	    iSharedDataInterface->SetInputMode(EStroke);
-            	    iSharedDataInterface->SetCangJieMode(ECangJieNormal);
-            	    SetFlag(EFlagNewSharedDataInputMode);
-            	    break;
-            		}
-            	default:
-            		break;
-            	}
-            }
-
-    	SetHashKeyStyle();
-    	UpdateEditorContext();
-  		}
-    //add notify to phrase creation udbmanagement view
-    
-    if(iUserdbdlg)
-	    {
-	    iUserdbdlg->OnChangeLanguageL( aInputLanguage );	
-	    if ( aInputLanguage != ELangPrcChinese &&
-	        	 aInputLanguage != ELangTaiwanChinese &&
-	        	 aInputLanguage != ELangHongKongChinese )
-	    	{
-	    	iUserdbdlg = NULL;
-	    	}
-	    }
-    }
-
-void CAknFepManager::RemovePreviousCharacterL()
-    {
-    if (IsFlagSet(EFlagInsideInlineEditingTransaction))
-        {
-        CommitInlineEditL();
-        }
-
-    // Set cursor span on previous character
-    iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(iUncommittedText);
-    if (iUncommittedText.iAnchorPos > 0)
-        {
-        iUncommittedText.iAnchorPos--;
-        }
-    
-
-    // get text to replace
-    TBuf<ESingleCharacter> charToReplace;
-    iInputCapabilities.FepAwareTextEditor()->GetEditorContentForFep(charToReplace, 
-                                                                    iUncommittedText.iAnchorPos, 
-                                                                    ESingleCharacter);
-
-    // delete the character with an inline edit
-    StartInlineEditL(iUncommittedText, charToReplace, ESingleCharacter, EFalse);
-    UpdateInlineEditL(KNullDesC, 0);
-    CommitInlineEditL();
-    }
-
-void CAknFepManager::RemoveZWSCharacterL( TBool aIsViramaInputted, 
-                                            TBool aIsInMultitappingHalant, 
-                                            TBool aIsCharModifier, 
-                                            TBool aIsLigaturePresent /*= EFalse*/)
-    {
-    CTextLayout* textLayout = TextLayout();
-    MAknFepDocumentNavigation* docNavi = AknFepDocumentNavigation();
-    if(!textLayout && !docNavi)
-        return;
-
-    if( aIsLigaturePresent )
-        {
-        TTmDocPosSpec pos = DocPos();
-        TTmPosInfo2 info;
-        TTmLineInfo lineInfo;
-        if (docNavi)
-        	{
-        	docNavi->FindDocPos(pos, info, lineInfo);
-        	}
-        else
-        	{
-        	textLayout->TagmaTextLayout().FindDocPos(pos, info, lineInfo);      
-        	}
-
-        if( IsZWSCharacterPresent( ETrue ) )
-            {
-            TInt commitPoint = pos.iPos - 2;
-            if( IsFlagSet( EFlagInsideInlineEditingTransaction ) )
-                {
-                CommitInlineEditL();
-                }
-
-            TCursorSelection sel( commitPoint, commitPoint );
-            iInputCapabilities.FepAwareTextEditor()->SetCursorSelectionForFepL(sel);
-            }
-        }
-    else
-        {
-        if ( IsFlagSet(EFlagInsideInlineEditingTransaction) && IsZWSCharacterPresent())
-            {
-            CommitInlineEditL();
-            }
-        }
-
-    TTmDocPosSpec pos = DocPos();
-    pos.iType = TTmDocPosSpec::ETrailing;
-    TTmPosInfo2 info;
-    TTmLineInfo lineInfo;
-    if ( ! iInputCapabilities.SupportsSecretText() )
-        {
-        if (docNavi)
-        	{
-        	docNavi->FindDocPos(pos, info, lineInfo);
-        	}
-        else
-        	{
-        	textLayout->TagmaTextLayout().FindDocPos(pos, info, lineInfo);
-        	}
-        TBuf<2> previousCharacter;
-        TBuf<1> zwsPrevChar;
-        previousCharacter.FillZ();
-        zwsPrevChar.FillZ();
-        TBool found = EFalse;
-
-        TCursorSelection curSel;
-        if ( IsFepAwareTextEditor() )
-            {
-            iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(curSel);
-            TInt lowerpos = curSel.LowerPos();
-            if( lowerpos > 0)
-                {
-                if(lowerpos > 1)
-                iInputCapabilities.FepAwareTextEditor()->
-                    GetEditorContentForFep(previousCharacter, lowerpos - 2, 2);
-                else
-                iInputCapabilities.FepAwareTextEditor()->
-                    GetEditorContentForFep(previousCharacter, lowerpos - 1, 1);
-                    
-                if( lowerpos > 1 )
-                    {
-                    if(previousCharacter[1] == ZERO_WIDTH_SPACE)
-                        {
-                        zwsPrevChar.Append(previousCharacter[1]);
-                        if( aIsInMultitappingHalant )
-                            {
-                            curSel.iAnchorPos = lowerpos - 2;
-                            }
-                        else
-                            {
-                            curSel.iAnchorPos = lowerpos - 1;
-                            }
-                        found = ETrue;      
-                        }
-                    else if( previousCharacter[0] == ZERO_WIDTH_SPACE )
-                        {
-                        zwsPrevChar.Append(previousCharacter[0]);
-                        curSel.iAnchorPos = lowerpos - 2;
-                        curSel.iCursorPos = lowerpos - 1;                       
-                        found = ETrue;
-                        }   
-                    }
-                else
-                    {
-                    if(previousCharacter[0] == ZERO_WIDTH_SPACE)
-                        {
-                        zwsPrevChar.Append(previousCharacter[0]);
-                        if( aIsInMultitappingHalant )
-                            {
-                            curSel.iAnchorPos = lowerpos - 2;
-                            }
-                        else
-                            {
-                            curSel.iAnchorPos = lowerpos - 1;
-                            }
-                        found = ETrue;    
-                        }   
-                    }    
-                
-                }
-            }
-        if( found )
-            {
-            StartInlineEditL(curSel, zwsPrevChar, ESingleCharacter, ETrue);
-            UpdateInlineEditL(KNullDesC, 0);
-            CommitInlineEditL();    
-            if ( !aIsInMultitappingHalant && ! iInputCapabilities.SupportsSecretText() )
-                {
-                if ( aIsViramaInputted )
-                    {
-                    TTmDocPosSpec pos = DocPos();
-                    TTmPosInfo2 infotemp;
-                    if (docNavi)
-                    	{
-                    	docNavi->FindDocPos(pos, info, lineInfo);      
-                    	}
-                    else
-                    	{
-                    	textLayout->TagmaTextLayout().FindDocPos(pos, info, lineInfo);      
-                    	}
-                    if(NextChar() && TAknFepUiIndicInputManager::IsCharBaseConsonant(NextChar(), 
-                                           TLanguage(iLanguageCapabilities.iInputLanguageCode)))
-	                    {
-	                    TInt nextPos;                  
-	                    if (docNavi)
-	                    	{
-	                    	nextPos = docNavi->FindNextPos(pos.iPos);
-	                    	}
-	                    else
-	                    	{
-		                    nextPos = textLayout->TagmaTextLayout().FindNextPos(pos.iPos);                 
-	                    	}
-	                    info.iDocPos.iPos  = nextPos;   
-	                    }
-                    else if((TAknFepUiIndicInputManager::IsCharAnVowel(NextChar(), 
-                             TLanguage(iLanguageCapabilities.iInputLanguageCode)))
-                         &&(aIsCharModifier && TAknFepUiIndicInputManager::IsCharVirama(
-                             PreviousChar(), TLanguage(iLanguageCapabilities.iInputLanguageCode))))
-                        {
-                        bool posFound;
-		                if (docNavi)
-		                	{
-		                	posFound = docNavi->GetNextVisualCursorPos(pos, infotemp, EFalse);      
-		                	}
-		                else
-		                	{
-		                	posFound = textLayout->TagmaTextLayout().GetNextVisualCursorPos(pos, 
-                                                                                      infotemp, 
-                                                                                      EFalse);      
-		                	}
-                        
-                    	if (posFound)
-                            {
-                            info.iDocPos.iPos = infotemp.iDocPos.iPos;
-                            }
-                        }
-                    TCursorSelection sel(info.iDocPos.iPos ,info.iDocPos.iPos );
-                    iInputCapabilities.FepAwareTextEditor()->SetCursorSelectionForFepL(sel);    
-                    }
-                else
-                    {
-                    TCursorSelection sel(info.iDocPos.iPos - 1,info.iDocPos.iPos - 1);
-                    iInputCapabilities.FepAwareTextEditor()->SetCursorSelectionForFepL(sel);        
-                    }   
-                
-                SendEventsToPluginManL( EPluginSyncFepAwareText );
-                }
-            }
-        }
-    }
-
-void  CAknFepManager::TryChangePredictiveInputModeL(TBool aFlag)
-    {
-    if(Japanese() && iMode != ELatin)
-        {
-        if(aFlag)
-            {
-            if (!(iAknEditorFlags & EAknEditorFlagNoT9)
-               && HasJapanesePredictionInputMode())
-                {
-                iJapanesePredictive = aFlag;
-                iSharedDataInterface->SetJapanesePredictiveTextOn();
-                }
-            }
-        else
-            {
-            iJapanesePredictive = aFlag;
-            iSharedDataInterface->ResetJapanesePredictiveTextOn();
-            }
-        }
-    else
-        {
-        SetWesternPredictive(aFlag);
-        }
-    TryChangeModeL(iMode);
-    }
-
-MCoeFepAwareTextEditor* CAknFepManager::FepAwareTextEditor() const
-    {
-    return iInputCapabilities.FepAwareTextEditor();
-    }
-
-TBool CAknFepManager::IsFepAwareTextEditor() const
-    {
-#ifdef RD_SCALABLE_UI_V2   
-    return FullyFepAwareTextEditor();
-#else
-		return ( iInputCapabilities.FepAwareTextEditor() ? ETrue : EFalse );
-#endif    
-    }
-    
-TCursorSelection CAknFepManager::UncommittedText() const
-    {
-    return iUncommittedText;
-    }
-
-void CAknFepManager::SetCase(TCase aCase)
-    {
-    // For QWERTY only keypad, extended input state like FnLock is applicable.
-    // In case of ITU-T keypad, this flag should not be part of editor flag.
-    // In case of numeric only editor Only FnReverse state is valid and editor will be on EFnReverse
-    // State if FnKey is hold on state.
-    
-    //TODO: In case of other functionized input state like (FnNext), it should be stored in editor
-    
-#ifdef  RD_INTELLIGENT_TEXT_INPUT
-    if(EditorState())
-        {
-        if( iFnKeyManager &&  ( iFnKeyManager->FnKeyState()== CAknFepFnKeyManager::EFnKeyLock ) )
-            {
-            EditorState()->SetFlags( EditorState()->Flags() | EAknEditorFlagFnLock );
-            }
-        else
-            {
-            EditorState()->SetFlags( EditorState()->Flags() & ~EAknEditorFlagFnLock );       
-            }
-        }
-#endif
-
-    InternalFepUI()->SetCase(aCase);
-    }
-
-CAknEdwinState* CAknFepManager::EditorState() const
-    {
-    if ( IsFepAwareTextEditor() )
-        {
-        MCoeFepAwareTextEditor* fepAvareTextEditor = iInputCapabilities.FepAwareTextEditor();
-        
-        if ( fepAvareTextEditor && fepAvareTextEditor->Extension1() )
-            {
-            return static_cast<CAknEdwinState*>( fepAvareTextEditor->Extension1()->State( KNullUid ) );
-            }
-        }
-    return NULL;
-    }
-
- void CAknFepManager::SetPredictiveIndicatorState(TAknEditingState& aState)
-	{
-	
-	TInt currentCase = iCaseMan->CurrentCase();
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-    if(iIsAutoCompleteOn && iLanguageCapabilities.iInputLanguageCode != ELangThai)
-    	{
-       	if (iLanguageCapabilities.iInputLanguageCode == ELangArabic)
-        	aState=EAutoCompleteArabic;
-       	
-       	else if (iLanguageCapabilities.iInputLanguageCode == ELangHebrew)
-           		 aState=EAutoCompleteHebrew;
-       	
-        else if (iLanguageCapabilities.iInputLanguageCode == ELangFarsi ||
-            	 iLanguageCapabilities.iInputLanguageCode == ELangUrdu)
-            	 aState=EAutoCompleteFarsiAndUrdu;
-             	/*Hindi*/
-        else if ( (iLanguageCapabilities.iInputLanguageCode == ELangHindi) || (iLanguageCapabilities.iInputLanguageCode == ELangMarathi))
-        		  aState = EAutoCompleteHindi;
-        
-        else if(iLanguageCapabilities.iInputLanguageCode == ELangVietnamese)
-            	{
-            	switch (currentCase)
-                	{
-                	case EAknEditorUpperCase:
-                    	aState =  EAutoCompleteUpperVietnamese;
-                    	break;
-                	case EAknEditorLowerCase:
-                    	aState =  EAutoCompleteLowerVietnamese;
-                    	break;
-                    case EAknEditorTextCase:
-                        aState = EAutoCompleteShiftedVietnamese;
-                        break;
-                    default:
-                        break;
-                    }    
-                }
-        else
-                {
-                switch (currentCase)
-                    {
-                    case EAknEditorUpperCase:
-                        aState =  EAutoCompleteUpper;
-                        break;
-                    case EAknEditorLowerCase:
-                        aState =  EAutoCompleteLower;
-                        break;
-                    case EAknEditorTextCase:
-                        aState = EAutoCompleteShifted;
-                        break;
-                    default:
-                        break;
-                    }
-                }
-            
-    	}
-    else
-#endif //RD_INTELLIGENT_TEXT_INPUT
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-		if(iFnKeyManager->FnKeyState() != CAknFepFnKeyManager::EFnKeyNone)
-			{
-			aState = EFnKeyPressed;
-			if(iFnKeyManager->FnKeyState() == CAknFepFnKeyManager::EFnKeyLock)
-	            aState = EFnKeyLocked;    
-			}
-        else
-#endif
-        {
-    	if (iLanguageCapabilities.iInputLanguageCode == ELangArabic)
-      	 	 aState = ET9Arabic;
-    	
-   		else if (iLanguageCapabilities.iInputLanguageCode == ELangHebrew)
-        	     aState = ET9Hebrew;
-   		
-    	else if (iLanguageCapabilities.iInputLanguageCode == ELangFarsi ||
-        	     iLanguageCapabilities.iInputLanguageCode == ELangUrdu)
-        		 aState = ET9FarsiAndUrdu;
-        		 
-    	else if (iLanguageCapabilities.iInputLanguageCode == ELangThai)
-        		 aState = ET9Thai;
-    	
-    	/*Hindi*/
-#ifdef RD_MARATHI
-                        /*Marathi*/
-                        else if ( iLanguageCapabilities.iInputLanguageCode == ELangMarathi )
-                        	aState = EIndicatorStatePredictiveMarathi;
-#endif // RD_MARATHI
-    	
-    	else if(iLanguageCapabilities.iInputLanguageCode == ELangVietnamese)
-        	{
-        	switch (currentCase)
-            	{
-            	case EAknEditorUpperCase:
-                	aState =  ET9UpperVietnamese;
-                	break;
-            	case EAknEditorLowerCase:
-                	aState =  ET9LowerVietnamese;
-                	break;
-                case EAknEditorTextCase:
-                    aState = ET9ShiftedVietnamese;
-                    break;
-                default:
-                    break;
-                }    
-            }
-        
-        else if(iLanguageCapabilities.iInputLanguageCode == ELangGreek)
-            {
-            switch (currentCase)
-                {
-                case EAknEditorUpperCase:
-                    aState =  ET9UpperGreek;
-                    break;
-                case EAknEditorLowerCase:
-                    aState =  ET9LowerGreek;
-                    break;
-                case EAknEditorTextCase:
-                    aState = ET9ShiftedGreek;
-                    break;
-                default:
-                    break;
-                }    
-            }
-        
-        //Cyrillic alphabet is used for Russian, Bulgarian and 
-        //Ukranian languages
-        else if(iLanguageCapabilities.iInputLanguageCode == ELangRussian ||
-                iLanguageCapabilities.iInputLanguageCode == ELangBulgarian ||
-                iLanguageCapabilities.iInputLanguageCode == ELangUkrainian )
-            {
-            switch (currentCase)
-                {
-                case EAknEditorUpperCase:
-                    aState =  ET9UpperCyrillic;
-                    break;
-                case EAknEditorLowerCase:
-                    aState =  ET9LowerCyrillic;
-                    break;
-                case EAknEditorTextCase:
-                    aState = ET9ShiftedCyrillic;
-                    break;
-                default:
-                    break;
-                }    
-            }
-        else
-            {
-            switch (currentCase)
-                {
-                case EAknEditorUpperCase:
-                    aState = ET9Upper;
-                    break;
-                case EAknEditorLowerCase:
-                    aState = ET9Lower;
-                    break;
-                case EAknEditorTextCase:
-                    aState = ET9Shifted;
-                    break;
-                default:
-                    break;
-                }
-            }
-        
-    	}
-	}
-void CAknFepManager::UpdateIndicators()
-    { 
-    if(ELongKeyPress == iKeyRepeat)
-        return;	
-	// If it is fepware editor update the Indicators
-	// otherwise not need excute remainig part of code.
-	if( !iInputCapabilities.FepAwareTextEditor() || !iFepFullyConstructed ) 
-		{
-        //Ensure, If no idicator is require, make indicator state None 
-        if (!IsFlagSet(EFlagForegroundUIComponentVisible | EFlagMenuPaneVisible))
-            iIndicator->SetState(EStateNone);
-		return;
-		}
-
-    TAknEditingState newState = EStateNone;
-    MPtiLanguage* ptiLang = PtiEngine()->CurrentLanguage();    
-    MAknEditingStateIndicator* editingStateIndicator = EditingStateIndicator();
-
-    TBool findPaneIndicator(
-        iAknEditorFlags & EAknEditorFlagNoEditIndicators &&
-        iAknEditorFlags & EAknEditorFlagForceTransparentFepModes &&
-        editingStateIndicator != (MAknEditingStateIndicator*)iIndicator );
-
-#ifdef RD_SCALABLE_UI_V2
-    TBool fingerItutIndicator = ( iFepPluginManager && 
-                                  iFepPluginManager->PluginInputMode() == EPluginInputModeItut );
-#else
-    TBool fingerItutIndicator = EFalse;
-    
-#endif
-    if ( IsHybridAplhaEditor() && !iHybridAplphaChangedToAlphanumeric )
-            {
-            newState = EHybridModeLatin;
-            }    
-    else if (!(iAknEditorFlags & EAknEditorFlagNoEditIndicators) 
-        || findPaneIndicator || fingerItutIndicator)
-        {
-        
-#ifdef RD_SCALABLE_UI_V2
-        if ( ( IsFlagSet(EFlagQwertyShiftMode)  || IsFlagSet(EFlagLongShiftKeyPress)) &&
-             ((iFepPluginManager && iFepPluginManager->PluginInputMode() == EPluginInputModeVkb) ||
-        #ifndef RD_INTELLIGENT_TEXT_INPUT
-			      iQwertyInputMode
-      	#else	       								
-		           ( iQwertyInputMode && (IsFlagSet(EFlagQwertyShiftMode) ||IsFlagSet(EFlagLongShiftKeyPress))
-		           && (iFnKeyManager->FnKeyState() != CAknFepFnKeyManager::EFnKeyNext)
-		           && (iFnKeyManager->FnKeyState() != CAknFepFnKeyManager::EFnKeyLock)
-		           && (iFnKeyManager->FnKeyState() != CAknFepFnKeyManager::EFnKeyForced)
-		           )
-		#endif
-             ))
-#else
-        if ( iQwertyInputMode && IsFlagSet(EFlagQwertyShiftMode))
-    
-#endif        
-            {
-            newState = EQwertyShift;
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT 
-			// To keep the shift key indicator in         
-            // Check if fn/shift both key are pressed 
-            if((iFnKeyManager->FnKeyState() != CAknFepFnKeyManager::EFnKeyNone) &&
-            	(IsFlagSet(EFlagQwertyShiftMode) || IsFlagSet(EFlagLongShiftKeyPress)))
-	            {
-	            newState = EFnKeyPressed;	
-	            }
-#endif            
-            
-            }
-        else
-            {
-            switch (iMode)
-                {
-                case EHiraganaKanji:
-                    if (IsPredictive())
-                        {
-                        newState = EIndicatorStateJapanesePredictive;
-                        }
-                    else
-                        {
-                        newState = EIndicatorStateHiraganaKanji;
-                        }
-                    break;
-                case EKatakana:
-                    if (iCharWidth == EHalfWidthChar)
-                        {
-                        newState = EIndicatorStateHalfKatakana;
-                        }
-                    else if (iCharWidth == EFullWidthChar)
-                        {
-                        newState = EIndicatorStateFullKatakana;
-                        }
-                    break;
-                case EHiragana:
-                    {
-                    newState = EIndicatorStateHiragana;
-                    }
-                    break;
-                case EPinyin:
-                    if (ptiLang->HasInputMode(EPtiEnginePinyinByPhrase))
-                        {
-                        newState = EIndicatorStatePinyinPhrase;
-                        }                        
-                    else
-                        {
-                        newState = EIndicatorStatePinyin;
-                        }                        
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-                    if ( iFnKeyManager->FnKeyState()
-                        == CAknFepFnKeyManager::EFnKeyLock )
-                        newState = EFnKeyLocked;
-                    else if ( iFnKeyManager->FnKeyState()
-                        != CAknFepFnKeyManager::EFnKeyNone )
-                        newState = EFnKeyPressed;
-#endif
-                    break;
-                case EZhuyin:
-                    if (ptiLang->HasInputMode(EPtiEngineZhuyinByPhrase))
-                        {
-                        newState = EIndicatorStateZhuyinPhrase;
-                        }                        
-                    else
-                        {
-                        newState = EIndicatorStateZhuyin;
-                        }                        
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-                    if ( iFnKeyManager->FnKeyState()
-                        == CAknFepFnKeyManager::EFnKeyLock )
-                        newState = EFnKeyLocked;
-                    else if ( iFnKeyManager->FnKeyState()
-                        != CAknFepFnKeyManager::EFnKeyNone )
-                        newState = EFnKeyPressed;
-#endif
-                    break;
-                case EStroke:
-                    {
-                    TBool flag = ptiLang->HasInputMode(EPtiEngineStrokeByPhrase);
-                    if (iLanguageCapabilities.iInputLanguageCode == ELangPrcChinese)
-                        {
-                        if (flag)
-                            {
-                            newState = EIndicatorStateStrokePhrase;
-                            }                            
-                        else
-                            {
-                            newState = EIndicatorStateStroke;
-                            }                            
-                        }
-                    else
-                        {
-                        if (flag)
-                            {
-                            newState = EIndicatorStateStrokeTradPhrase;
-                            }                            
-                        else
-                            {
-                            newState = EIndicatorStateStrokeTrad;
-                            }                            
-                        }
-                        }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-                    if ( iFnKeyManager->FnKeyState()
-                        == CAknFepFnKeyManager::EFnKeyLock )
-                        newState = EFnKeyLocked;
-                    else if ( iFnKeyManager->FnKeyState()
-                        != CAknFepFnKeyManager::EFnKeyNone )
-                        newState = EFnKeyPressed;
-#endif
-                    break;
-                case ECangJie:
-                    newState = EIndicatorStateCangJie;
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-                    if ( iFnKeyManager->FnKeyState()
-                        == CAknFepFnKeyManager::EFnKeyLock )
-                        newState = EFnKeyLocked;
-                    else if ( iFnKeyManager->FnKeyState()
-                        != CAknFepFnKeyManager::EFnKeyNone )
-                        newState = EFnKeyPressed;
-#endif
-                    break;
-                case EZhuyinFind:
-                    newState = EIndicatorStateZhuyinFind;
-                    break;
-                case EStrokeFind:
-                    newState = EIndicatorStateStrokeFind;
-                    break;
-                case ENumber:
-                    {
-                    newState = ENumeric;
-                    //iLanguageCapabilities.iLocalDigitType = EDigitTypeWestern;
-                    }
-                    break;
-                case ENativeNumber:
-                    {
-                    UpdateNumberIndicator( newState );
-                    }
-                    break;
-                case EHangul:
-                	{
-                	newState = EIndicatorStateHangul;            	              	
-                	}
-                	break;
-                case ELatin:
-                    {
-                    UpdateLatinIndicator( newState );
-                    }
-                    break;
-                case EHindi:
-                    {
-                    UpdateHindiIndicator( newState );
-                    }
-                    break;
-                default:
-                    break;
-           }
-        }
-    }
-
-    if ( iFepPluginManager && iFepPluginManager->PluginInputMode() == EPluginInputModeVkb )
-        {
-        newState = iFepPluginManager->VKBIndicatorState( newState );
-        }
-
-    // Update indicators only if the state has been changed, or if the indicator has swapped
-    if ((iPreviousEditingState != newState) || (editingStateIndicator != iEditIndicatorAtLastUpdate))
-        {
-        if (editingStateIndicator)
-            {
-            // because current avkon have not find chinese phrase indicator,
-            // so change back to no-phrase
-           if (findPaneIndicator || iAknEditorFlags & EAknEditorFlagFindPane )
-                {
-                switch(newState)
-                    {
-                    case EIndicatorStateStrokePhrase:
-                        {
-                        newState = EIndicatorStateStroke; 
-                        }
-                    break;
-                    case EIndicatorStateStrokeTradPhrase:
-                        {
-                        newState = EIndicatorStateStrokeTrad; 
-                        }
-                    break;
-                    case EIndicatorStatePinyinPhrase:
-                        {
-                        newState = EIndicatorStatePinyin; 
-                        }
-                    break;
-                    case EIndicatorStateZhuyinPhrase:
-                        {
-                        newState = EIndicatorStateZhuyin; 
-                        }
-                    break;
-                    default:
-                        {
-                        break;
-                        }
-                    }
-                }
-           // Add This condition for Fixing EYYE-7HHBWW: Phonebook, ReTe, PF52.50_2008_wk32: 
-           // Navigation bar disappears after tapping find pane and then returning back to Names list view.
-           if (!(editingStateIndicator == (MAknEditingStateIndicator*)iIndicator &&
-               ( iFepPluginManager && iFepPluginManager->PluginInputMode() == EPluginInputModeItut ) &&
-               IsFindPaneEditor()))
-               {
-               editingStateIndicator->SetState(newState);
-               }
-
-            // Ensure that no indicator is shown in navi pane when other
-            // indicator is changed in use.
-            if ( editingStateIndicator != (MAknEditingStateIndicator*)iIndicator &&
-                 iPreviousEditingState == EStateNone &&
-                 (!IsFlagSet(EFlagForegroundUIComponentVisible | EFlagMenuPaneVisible)) )
-
-                {
-                iIndicator->SetState( EStateNone );
-                }
-
-            iPreviousEditingState = newState;
-            iEditIndicatorAtLastUpdate=editingStateIndicator;
-            }
-        }
-    }
-
-void CAknFepManager::UpdateNumberIndicator( TAknEditingState& aNewState )
-    {
-    
- // chnage for AIYR-6L7DGU; This problrm persist in all variants. 
- // The fix is made only for Hindi
-    UpdateNumericEditorDigitType();
-    TBool supportsWesternNumericIntegerOrReal =
-        ( iInputCapabilities.SupportsWesternNumericIntegerPositive() ||
-        iInputCapabilities.SupportsWesternNumericIntegerNegative() ||
-        iInputCapabilities.SupportsWesternNumericReal() );
-
-#ifdef RD_SCALABLE_UI_V2                        
-        iFepPluginManager->SetPluginNativeRange( ETrue );
-#endif // RD_SCALABLE_UI_V2 
-        // In usual case digit mode is Arabic-Indic digits if local digit mode is
-        // Arabic-Indic and current input language is Arabic.
-        if ( (!supportsWesternNumericIntegerOrReal &&
-            iLanguageCapabilities.iLocalDigitType == EDigitTypeArabicIndic /* &&
-            iLanguageCapabilities.iInputLanguageCode == ELangArabic*/
-            )
-            ||
-            // But digit mode is Arabic-Indic digit in MFNE and real number
-            // editors if UI language is Arabic and global digit setting is
-            // Arabic-Indic digits.
-            ( !(iAknEditorFlags & EAknEditorFlagLatinInputModesOnly) &&
-            iLanguageCapabilities.iNumericEditorDigitType == EDigitTypeArabicIndic && // AknTextUtils::DigitModeQuery(AknTextUtils::EDigitModeShownToUser) &&
-            supportsWesternNumericIntegerOrReal &&
-            iUiLanguage == ELangArabic
-            )
-            )
-            {
-            aNewState=EArabicIndicNumeric;
-                        
-            }
-        else if ( (!supportsWesternNumericIntegerOrReal &&
-            iLanguageCapabilities.iLocalDigitType == EDigitTypeEasternArabicIndic /* &&
-            iLanguageCapabilities.iInputLanguageCode == ELangUrdu,Farasi*/
-            )
-            ||
-            // But digit mode is Arabic-Indic digit in MFNE and real number
-            // editors if UI language is Arabic and global digit setting is
-            // Arabic-Indic digits.
-            ( !(iAknEditorFlags & EAknEditorFlagLatinInputModesOnly) &&
-            iLanguageCapabilities.iNumericEditorDigitType == EDigitTypeEasternArabicIndic && // AknTextUtils::DigitModeQuery(AknTextUtils::EDigitModeShownToUser) &&
-            supportsWesternNumericIntegerOrReal &&
-            (iUiLanguage == ELangUrdu || iUiLanguage == ELangFarsi)))
-            {
-            aNewState=EArabicIndicNumeric;                            
-            }    
-        /* Devanagari Scripts */
-        else if ( (!supportsWesternNumericIntegerOrReal &&
-                iLanguageCapabilities.iLocalDigitType == EDigitTypeDevanagari //&&
-                //iLanguageCapabilities.iInputLanguageCode == ELangHindi
-                )
-                ||
-                ( !(iAknEditorFlags & EAknEditorFlagLatinInputModesOnly) &&
-                iLanguageCapabilities.iNumericEditorDigitType == EDigitTypeDevanagari && // AknTextUtils::DigitModeQuery(AknTextUtils::EDigitModeShownToUser) &&
-                supportsWesternNumericIntegerOrReal &&
-                TAknFepUiIndicInputManager::IsScriptDevanagari( iUiLanguage )
-                )
-                )
-            {
-            aNewState= EDevanagariIndicNumeric;                            
-            }
-        else
-        {
-        if ( iLanguageCapabilities.iInputLanguageCode == ELangArabic )
-            {
-            //iLanguageCapabilities.iLocalDigitType = EDigitTypeArabicIndic;
-            aNewState=EArabicIndicNumeric;
-            }
-        else if ( iLanguageCapabilities.iInputLanguageCode == ELangFarsi 
-               || iLanguageCapabilities.iInputLanguageCode == ELangUrdu )
-            {
-            //iLanguageCapabilities.iLocalDigitType = EDigitTypeEasternArabicIndic;
-            aNewState=EArabicIndicNumeric;
-            }    
-        else if ( iLanguageCapabilities.iInputLanguageCode == ELangHindi )
-            {
-            //iLanguageCapabilities.iLocalDigitType = EDigitTypeDevanagari;
-            aNewState= EDevanagariIndicNumeric;
-            }
-        }
-    }
-    
-void CAknFepManager::UpdateLatinIndicator( TAknEditingState& aNewState )
-    {  
-    if (IsPredictive())
-        {
-        //AutoComplete - Begin
-        SetPredictiveIndicatorState( aNewState );
-        //AutoComplete - End
-
-        return;           
-        }
-
-    TInt currentCase = iCaseMan->CurrentCase();
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-	if(iFnKeyManager->FnKeyState() == CAknFepFnKeyManager::EFnKeyLock)
-		aNewState = EFnKeyLocked;
-    else if(iFnKeyManager->FnKeyState() != CAknFepFnKeyManager::EFnKeyNone)
-		aNewState = EFnKeyPressed;
-	else    
-#endif //RD_INTELLIGENT_TEXT_INPUT
-		{
-#ifdef RD_SCALABLE_UI_V2                        
-    if( iFepPluginManager &&
-        ( !iFepPluginManager->SyncWithPluginRange() || iFepPluginManager->PluginNativeRange() ) )
-        {
-        iFepPluginManager->SetPluginNativeRange( ETrue );
-#endif // RD_SCALABLE_UI_V2 
-        switch ( iLanguageCapabilities.iInputLanguageCode )
-            {
-            case ELangArabic:
-                {
-                aNewState=EMultitapArabic; 
-                }
-                return;
-            case ELangHebrew:
-                {
-                aNewState=EMultitapHebrew;                              
-                }
-                return;
-            case ELangFarsi:
-            case ELangUrdu:
-                {
-                aNewState=EMultitapFarsiAndUrdu;                                 
-                }
-                return;
-            case ELangThai:
-                {
-                aNewState = EMultitapThai;                               
-                }
-                return;
-                
-#ifdef RD_MARATHI
-            case ELangMarathi:
-                {
-                aNewState = EIndicatorStateMultitapMarathi;                                
-                }
-            	return;
-#endif // RD_MARATHI
-
-#ifdef RD_HINDI_PHONETIC_INPUT  
-            case KLangHindiPhonetic:
-                {                            
-                TInt currentPtiLang = (ptiLang)? ptiLang->LanguageCode() : 0;
-                
-                if(TAknFepUiIndicInputManager::IsIndicPhoneticLanguage(TLanguage(currentPtiLang)))
-                    {
-                    aNewState = TAknEditingState(SetPhoneticIndicator(TLanguage(currentPtiLang)));
-                    }
-                else
-                    {
-                     switch ( currentCase )
-                        {
-                        case EAknEditorUpperCase:
-                            aNewState=EMultitapUpper;
-                            if (iCharWidth == EFullWidthChar)
-                                {
-                                aNewState=EIndicatorStateFullLatinUpper;
-                                }
-                            break;
-                        case EAknEditorLowerCase:
-                            aNewState=EMultitapLower;
-                            if (iCharWidth == EFullWidthChar)
-                                {
-                                aNewState=EIndicatorStateFullLatinLower;
-                                }
-                            break;
-                        case EAknEditorTextCase:
-                            aNewState=EMultitapShifted;
-                            if (iCharWidth == EFullWidthChar)
-                                {
-                                aNewState=EIndicatorStateFullLatinText;
-                                }
-                            break;
-                        default:
-                            break;
-                        }
-                    }       
-                
-                }
-            return;
-#endif
-            case ELangVietnamese:
-                {                          
-                switch (currentCase)
-                    {
-                    case EAknEditorUpperCase:
-                        aNewState =  EMultitapUpperVietnamese;
-                        break;
-                    case EAknEditorLowerCase:
-                        aNewState =  EMultitapLowerVietnamese;
-                        break;
-                    case EAknEditorTextCase:
-                        aNewState = EMultitapShiftedVietnamese;
-                        break;
-                    default:
-                        break;
-                    }
-				return;	  
-                }
-                
-            case ELangGreek:
-                {
-                switch (currentCase)
-                    {
-                    case EAknEditorUpperCase:
-                        aNewState =  EMultitapUpperGreek;
-                        break;
-                    case EAknEditorLowerCase:
-                        aNewState =  EMultitapLowerGreek;
-                        break;
-                    case EAknEditorTextCase:
-                        aNewState = EMultitapShiftedGreek;
-                        break;
-                    default:
-                        break;
-                    }
-				return;  
-                }
-            
-            //Cyrillic alphabet is used for Russian, Bulgarian and 
-            //Ukranian languages. So fall through for all these languages -
-            case ELangRussian:
-            case ELangBulgarian:
-            case ELangUkrainian:
-                {
-                switch (currentCase)
-                    {
-                    case EAknEditorUpperCase:
-                        aNewState =  EMultitapUpperCyrillic;
-                        break;
-                    case EAknEditorLowerCase:
-                        aNewState =  EMultitapLowerCyrillic;
-                        break;
-                    case EAknEditorTextCase:
-                        aNewState = EMultitapShiftedCyrillic;
-                        break;
-                    default:
-                        break;
-                    } 
-				return; 
-                }
-            }
-#ifdef RD_SCALABLE_UI_V2     
-        }
-        // if plugin is not native range
-    
-    if(iFepPluginManager && iLanguageCapabilities.iInputLanguageCode != ELangRussian &&
-       iLanguageCapabilities.iInputLanguageCode != ELangBulgarian &&
-       iLanguageCapabilities.iInputLanguageCode != ELangUkrainian &&
-       iLanguageCapabilities.iInputLanguageCode != ELangGreek )
-        {
-        iFepPluginManager->SetPluginNativeRange( EFalse );
-        }
-    
-#endif // RD_SCALABLE_UI_V2                                 
-		}
-#ifdef RD_INTELLIGENT_TEXT_INPUT		
-	if(FnKeyState() == CAknFepFnKeyManager::EFnKeyNone)
-#endif //RD_INTELLIGENT_TEXT_INPUT		
-	    {
-        switch (currentCase)
-        {
-        case EAknEditorUpperCase:
-            aNewState=EMultitapUpper;
-            if (iCharWidth == EFullWidthChar)
-                {
-                aNewState=EIndicatorStateFullLatinUpper;
-                }
-            break;
-        case EAknEditorLowerCase:
-            aNewState=EMultitapLower;
-            if (iCharWidth == EFullWidthChar)
-                {
-                aNewState=EIndicatorStateFullLatinLower;
-                }
-            break;
-        case EAknEditorTextCase:
-            aNewState=EMultitapShifted;
-            if (iCharWidth == EFullWidthChar)
-                {
-                aNewState=EIndicatorStateFullLatinText;
-                }
-            break;
-        default:
-            break;
-        }
-        }
-    }
-void CAknFepManager::UpdateHindiIndicator( TAknEditingState& aNewState )
-    {
-    if ( IsPredictive() )
-        {
-        if( iIsAutoCompleteOn )
-            aNewState = EAutoCompleteHindi; 
-        else
-            aNewState = EIndicatorStatePredictiveHindi;
-        }
-    else
-        {
-        aNewState = EIndicatorStateMultitapHindi;
-        }
-    }
-TBool CAknFepManager::GetIndicatorImgID(TInt& aIndicatorImgID, TInt& aIndicatorTextID)
-    {
-    if (iPreviousEditingState == EStateNone)
-        {
-        UpdateIndicators();
-        if (iPreviousEditingState == EStateNone)
-            {
-            return EFalse;    
-            }
-        }
- 
-	TBool predictiveMode = QueryPredictiveState(iPreviousEditingState);
-	TBool predictiveAutoCompleteMode = EFalse;
-	if(!predictiveMode)
-		{
-		predictiveAutoCompleteMode = QueryPredictiveAutoCompleteState(iPreviousEditingState);		
-		}
-    
-    if (predictiveMode)
-        {
-        aIndicatorImgID = EAknNaviPaneEditorIndicatorT9;
-        }
-    else if (predictiveAutoCompleteMode)
-        {
-        aIndicatorImgID = EAknNaviPaneEditorIndicatorAutoComplete;   
-        }
-    else 
-        {
-        aIndicatorImgID = EAknNaviPaneEditorIndicatorQuery;
-        }
-   
-    aIndicatorTextID = EvaluateState(iPreviousEditingState);
-    
-    return ETrue;
-    }
-    
-TInt CAknFepManager::EvaluateState(const TAknEditingState aState)
-{
-	TInt result = 0;
-	switch(aState)
-	{
-		case EArabicIndicNumeric:
-  			 result = EAknNaviPaneEditorIndicatorArabicIndicNumberCase;
-  			 break;
-  			 
-		case ET9Thai:
-		case EMultitapThai:
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-		case EAutoCompleteThai:
-#endif
-			result = EAknNaviPaneEditorIndicatorThai;
-			break;				
-			
-		case EIndicatorStatePredictiveHindi:
-		case EIndicatorStateMultitapHindi:
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-		case EAutoCompleteHindi:
-#endif
-#ifdef RD_MARATHI
-		case EIndicatorStateMultitapMarathi:
-		case EIndicatorStatePredictiveMarathi:
-#endif // RD_MARATHI
-			result = EAknNaviPaneEditorIndicatorDevanagariCase;
-			break;	
-			
-		case ET9Arabic:
-		case EMultitapArabic:
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-		case EAutoCompleteArabic:
-#endif
-			result = EAknNaviPaneEditorIndicatorArabicCase;
-			break;	
-
-		case ET9Hebrew:
-		case EMultitapHebrew:
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-		case EAutoCompleteHebrew:
-#endif
-			result = EAknNaviPaneEditorIndicatorHebrewCase;
-			break;	
-			
-		case ET9FarsiAndUrdu:
-		case EMultitapFarsiAndUrdu:
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-		case EAutoCompleteFarsiAndUrdu:
-#endif
-			result = EAknNaviPaneEditorIndicatorFarsiAndUrduCase;
-			break;					
-
-
-		case ET9Upper:
-		case EMultitapUpper:
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-		case EAutoCompleteUpper:
-#endif
-			result = EAknNaviPaneEditorIndicatorUpperCase;	
-			break;
-
-		case ET9Lower:
-		case EMultitapLower:
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-		case EAutoCompleteLower:
-#endif
-			result = EAknNaviPaneEditorIndicatorLowerCase;	
-			break;
-
-		case ET9Shifted:
-		case EMultitapShifted:
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-		case EAutoCompleteShifted:
-#endif
-			result = EAknNaviPaneEditorIndicatorTextCase;	
-			break;
-			
-		case ENumeric:
-			result = EAknNaviPaneEditorIndicatorNumberCase;	
-			break;		
-  			 
-  			 	
-		case EIndicatorStatePinyin:
-			result = EAknNaviPaneEditorIndicatorPinyin;
-			break;
-		case EIndicatorStatePinyinPhrase:
-			result = EAknNaviPaneEditorIndicatorPinyinPhrase;
-			break;
-			
-		case EIndicatorStateZhuyin:
-			 result = EAknNaviPaneEditorIndicatorZhuyin;
-			break;
-		case EIndicatorStateZhuyinPhrase:
-			 result = EAknNaviPaneEditorIndicatorZhuyinPhrase;
-			break;
-
-		case EIndicatorStateZhuyinFind:
-			result = EAknNaviPaneEditorIndicatorZhuyinFind;
-			break;
-
-		case EDevanagariIndicNumeric :
-			result = EAknNaviPaneEditorIndicatorDevanagariIndicNumberCase;
-			break;
-		
-		case EIndicatorStateHiraganaKanji:
-		case EIndicatorStateJapanesePredictive:
-			result = EAknNaviPaneEditorIndicatorJapaneseHiraganaKanji;
-			break;
-
-		case EIndicatorStateFullKatakana:
-			result = EAknNaviPaneEditorIndicatorJapaneseFullKatakana;
-			break;
-
-		case EIndicatorStateHalfKatakana:
-			result = EAknNaviPaneEditorIndicatorJapaneseHalfKatakana;
-			break;
-
-		case EIndicatorStateFullLatinText:
-			result = EAknNaviPaneEditorIndicatorJapaneseFullTextAlphabet;
-			break;
-
-		case EIndicatorStateFullLatinUpper:
-			result = EAknNaviPaneEditorIndicatorJapaneseFullUpperAlphabet;
-			break; 
-
-		case EIndicatorStateFullLatinLower:
-			result = EAknNaviPaneEditorIndicatorJapaneseFullLowerAlphabet;
-			break;
-
-		case EIndicatorStateFullNumeric:
-			result = EAknNaviPaneEditorIndicatorJapaneseFullNumeric;
-			break;
-
-		case EIndicatorStateHiragana:
-			result = EAknNaviPaneEditorIndicatorJapaneseHiragana;
-			break;
-
-		case EIndicatorStateStroke:
-			result = EAknNaviPaneEditorIndicatorStroke;
-			break;
-		case EIndicatorStateStrokePhrase:
-			result = EAknNaviPaneEditorIndicatorStrokePhrase;
-			break;
-
-		case EIndicatorStateStrokeTrad:
-			result = EAknNaviPaneEditorIndicatorStrokeTrad;
-			break;
-		case EIndicatorStateStrokeTradPhrase:
-			result = EAknNaviPaneEditorIndicatorStrokeTradPhrase;
-			break;
-
-		case EQwertyShift:
-			result = EAknNaviPaneEditorIndicatorQwertyShift;
-			break;
-
-		case EIndicatorStateStrokeFind:
-			result = EAknNaviPaneEditorIndicatorStrokeFind;
-			break;
-
-		case EIndicatorStateCangJie:
-			result = EAknNaviPaneEditorIndicatorCangJie;
-			break;
-		
-		case ET9UpperVietnamese:
-		case EMultitapUpperVietnamese:
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-		case EAutoCompleteUpperVietnamese:
-#endif
-			result = EAknNaviPaneEditorIndicatorVietnameseUpperCase;
-			break;			
-			
-		case ET9LowerVietnamese:
-		case EMultitapLowerVietnamese:
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-		case EAutoCompleteLowerVietnamese:
-#endif
-			result = EAknNaviPaneEditorIndicatorVietnameseLowerCase;
-			break;	
-			
-		case ET9ShiftedVietnamese:
-		case EMultitapShiftedVietnamese:
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-		case EAutoCompleteShiftedVietnamese:
-#endif
-			result = EAknNaviPaneEditorIndicatorVietnameseTextCase;
-			break;
-#ifdef RD_HINDI_PHONETIC_INPUT	
-		case EIndicatorStateHindiPhoneticUpper:
-			result = EAknNaviPaneEditorIndicatorDevanagariPhoneticUpperCase;
-			break;
-		case EIndicatorStateHindiPhoneticLower:
-			result = EAknNaviPaneEditorIndicatorDevanagariPhoneticLowerCase;
-			break;
-#endif
-        case ET9UpperGreek:
-        case EMultitapUpperGreek:
-            result = EAknNaviPaneEditorIndicatorGreekUpperCase;
-            break;
-            
-        case ET9LowerGreek:
-        case EMultitapLowerGreek:
-            result = EAknNaviPaneEditorIndicatorGreekLowerCase;
-            break;
-        
-        case ET9ShiftedGreek:
-        case EMultitapShiftedGreek:
-            result = EAknNaviPaneEditorIndicatorGreekTextCase;
-            break;
-            
-        case ET9UpperCyrillic:
-        case EMultitapUpperCyrillic:
-            result = EAknNaviPaneEditorIndicatorCyrillicUpperCase;
-            break;
-            
-        case ET9LowerCyrillic:
-        case EMultitapLowerCyrillic:
-            result = EAknNaviPaneEditorIndicatorCyrillicLowerCase;
-            break;
-        
-        case ET9ShiftedCyrillic:
-        case EMultitapShiftedCyrillic:
-            result = EAknNaviPaneEditorIndicatorCyrillicTextCase;
-            break;
-            
-        case EHybridModeLatin:
-            result = EAknNaviPaneEditorIndicatorHybridLatin;
-            break;
-        case EIndicatorStateHangul:
-            result = EAknNaviPaneEditorIndicatorKoreanHangul;
-            break;
-        
-	}
-	return result;
-
-}    
-
-TBool CAknFepManager::IsAbleToLaunchSCT() const
-    {
-    TBool ableToLaunchSCT = ETrue;
-
-    if (ExtendedInputCapabilities() & CAknExtendedInputCapabilities::EDisableSCT && 
-        PluginInputMode() == EPluginInputModeNone )
-        {
-        // The editor doesn't allow SCT.
-        return EFalse;
-        }
-
-    if (iMode == ENumber || iMode == ENativeNumber)
-        {
-        if (iPermittedInputModes == EAknEditorNumericInputMode || !NumericModeSCTResourceId()) 
-            {
-            // SCT is not launched if the number mode is the only input mode or
-            // if there is not keymap resource for the current numeric keymap mode.
-            ableToLaunchSCT = EFalse;
-            }
-        if (iAknEditorFlags & EAknEditorFlagUseSCTNumericCharmap ||
-            ( (iAknEditorNumericKeymap == EAknEditorAlphanumericNumberModeKeymap) &&
-              (iPermittedInputModes != EAknEditorNumericInputMode) ))
-            {
-            // SCT is launched in the number mode if requested by editor flag
-            // EAknEditorFlagUseSCTNumericCharmap or if also text input modes are
-            // allowed and the keymap is EAknEditorAlphanumericNumberModeKeymap.
-            ableToLaunchSCT = ETrue;
-            }
-        }
-    if (!(EditorHasFreeSpace() && EditorState() 
-        && EditorState()->SpecialCharacterTableResourceId()))
-        {
-        ableToLaunchSCT = EFalse;
-        }
-
-    return ableToLaunchSCT;
-    }
-
-TBool CAknFepManager::QueryPredictiveState(const TAknEditingState aState)
- { 
-    return  (( aState == EIndicatorStatePinyin) ||
-             ( aState == EIndicatorStatePinyinPhrase) ||
-             ( aState == EIndicatorStateZhuyin) ||
-             ( aState == EIndicatorStateZhuyinPhrase) ||
-             ( aState == EIndicatorStateZhuyinFind) ||
-             ( aState == EIndicatorStateStrokeFind) ||
-             ( aState == EIndicatorStateStroke) || 
-             ( aState == EIndicatorStateStrokePhrase) ||
-			 ( aState == EIndicatorStateCangJie) ||
-             ( aState == EIndicatorStateStrokeTrad) || 
-             ( aState == EIndicatorStateStrokeTradPhrase) ||
-             ( aState == ET9Upper) ||
-             ( aState == ET9Shifted) ||
-             ( aState == ET9Lower) ||
-             ( aState == ET9Arabic) ||
-             ( aState == ET9Hebrew) ||
-             ( aState == ET9FarsiAndUrdu) ||
-             ( aState == ET9Thai) ||
-             ( aState == EIndicatorStatePredictiveHindi) ||
-#ifdef RD_MARATHI
-             ( aState == EIndicatorStatePredictiveMarathi) ||
-#endif // RD_MARATHI
-             ( aState == EIndicatorStateJapanesePredictive) ||
-             ( aState == ET9UpperVietnamese) ||
-             ( aState == ET9LowerVietnamese) ||
-             ( aState == ET9ShiftedVietnamese) ||
-             ( aState == ET9UpperGreek) ||
-             ( aState == ET9LowerGreek) ||
-             ( aState == ET9ShiftedGreek) ||
-             ( aState == ET9UpperCyrillic) ||
-             ( aState == ET9LowerCyrillic) ||
-             ( aState == ET9ShiftedCyrillic) );  
- }
-
- TBool CAknFepManager::QueryPredictiveAutoCompleteState(TAknEditingState aState)
- {
- 	 	        
-    return (( aState == EAutoCompleteUpper ) ||  
-     		( aState == EAutoCompleteShifted )  ||
-     		( aState == EAutoCompleteLower ) || 
-     		( aState == EAutoCompleteHindi ) ||
-     		( aState == EAutoCompleteArabic ) ||
-     		( aState == EAutoCompleteHebrew ) ||
-     		( aState == EAutoCompleteFarsiAndUrdu ) ||
-     		( aState == EAutoCompleteThai ) ||
-     		( aState == EAutoCompleteUpperVietnamese ) ||
-     		( aState == EAutoCompleteLowerVietnamese ) ||
-     		( aState == EAutoCompleteShiftedVietnamese ));
- }
-
-void CAknFepManager::LaunchSpecialCharacterTableL(TInt aResourceId, TBool aLaunchedByTouchWin, TBool aSmileyFirst)
-    {
-#ifdef RD_INTELLIGENT_TEXT_INPUT    
-    // Set the iSupressCursorMoveToEndChrKeyPressed when cursor is in 
-	// between two words and SCT is launched
-    iSupressCursorMoveToEndChrKeyPressed = ETrue;
-#endif //RD_INTELLIGENT_TEXT_INPUT    
-#ifdef RD_SCALABLE_UI_V2
-    if ( iStarKeyPressed && iFepPluginManager && 
-         iFepPluginManager->PluginInputMode() == EPluginInputModeItut )
-            {
-            aLaunchedByTouchWin = ETrue;
-            }
-    iCancelPopupInQwerty = aLaunchedByTouchWin;
-#endif //RD_SCALABLE_UI_V2
-    DoLaunchSctAndPctL(aResourceId, aSmileyFirst ? EShowSmileyFirst : EShowSctFirst );
-#ifdef RD_SCALABLE_UI_V2
-    iCancelPopupInQwerty = EFalse;
-#endif //RD_SCALABLE_UI_V2    
-#ifdef RD_INTELLIGENT_TEXT_INPUT    
-    iSupressCursorMoveToEndChrKeyPressed = ETrue;  
-#endif //RD_INTELLIGENT_TEXT_INPUT     
-    }
-
-TBool CAknFepManager::IsAbleToLaunchPCT() const
-    {
-    TBool isAbleToLaunch = EFalse;
-    if (FeatureManager::FeatureSupported(KFeatureIdJapanesePicto)
-     && (iAknEditorFlags & EAknEditorFlagEnablePictographInput))
-        {
-        isAbleToLaunch = ETrue;
-        }
-    return isAbleToLaunch;
-    }
-
-TBool CAknFepManager::IsAbleToLaunchSmiley() const
-    {
-    TBool ableToLaunchSmiley(EFalse);
-    
-    CAknEdwinState* edwinState = EditorState();
-    if(edwinState)
-        {
-        CAknEdwinFormAccessor* formAccessor = edwinState->FormAccessor();
-        if(formAccessor)
-            {
-            CEikEdwin *edwin = static_cast<CEikEdwin*>(formAccessor->FormClientControl());
-            if(edwin)
-                {
-                ableToLaunchSmiley = ((edwin->UserFlags()&CEikEdwin::EAvkonEnableSmileySupport) != 0);
-                }
-            }
-        }
-
-    return ableToLaunchSmiley;
-    }
-
-TInt CAknFepManager::GetCurrentEditorSCTResId() const
-    {
-    if(!EditorState())
-        {
-    	return NumericModeSCTResourceId();    	
-        }
-    TInt currentEditorSCTResId = EditorState()->SpecialCharacterTableResourceId();
-    if ( FeatureManager::FeatureSupported(KFeatureIdChinese) )
-        {        
-        if (currentEditorSCTResId == R_AVKON_SPECIAL_CHARACTER_TABLE_DIALOG)
-            {
-            if (iMode == EZhuyin)
-            	{
-            	currentEditorSCTResId = 
-                                  R_AVKON_SPECIAL_CHARACTER_TABLE_DIALOG_FOR_ZHUYIN_SYMBOL_INPUT;
-        	    }
-            else
-            	{
-            	currentEditorSCTResId = R_AVKON_SPECIAL_CHARACTER_TABLE_DIALOG_CHINESE;
-        	    }        
-            }
-        }
-    if (currentEditorSCTResId == EDefaultSCTResourceId) // -1 forces the default in SCT resource definition
-        {
-        if (iAknEditorFlags & EAknEditorFlagLatinInputModesOnly)
-            {
-            currentEditorSCTResId = R_AVKON_SPECIAL_CHARACTER_TABLE_DIALOG_LATIN_ONLY;
-            }        
-        else	
-            {        		        	
-            // only ITU-T and when Bopomofo symbol input mode is supported, we use new sct table
-            TInt supportSCTToneMarks = EFalse;
-            MPtiCoreInfo* ptiCoreInfo = iPtiEngine->CoreInfo(EPtiEngineZhuyin);
-            
-            if(ptiCoreInfo)
-                {
-                supportSCTToneMarks = ptiCoreInfo->CapsBits() & ESupportSCTToneMarks;
-                }
-            
-            ptiCoreInfo = iPtiEngine->CoreInfo(EPtiEngineZhuyinByPhrase);
-            if(ptiCoreInfo)    
-                {
-                supportSCTToneMarks = supportSCTToneMarks || 
-                                      (ptiCoreInfo->CapsBits() & ESupportSCTToneMarks);
-                }
-            
-            if(!iQwertyInputMode && (iMode == EZhuyin) && supportSCTToneMarks)
-                {
-                currentEditorSCTResId = 
-                                  R_AVKON_SPECIAL_CHARACTER_TABLE_DIALOG_FOR_ZHUYIN_SYMBOL_INPUT;
-                }
-            else
-                {
-                if ( FeatureManager::FeatureSupported(KFeatureIdChinese) )
-                    {    
-                    currentEditorSCTResId = R_AVKON_SPECIAL_CHARACTER_TABLE_DIALOG_CHINESE;
-                    }
-                else
-                    {                    
-                    currentEditorSCTResId = R_AVKON_SPECIAL_CHARACTER_TABLE_DIALOG;
-                    }
-                }
-            }
-        }  
-    return currentEditorSCTResId;         
-    }
-
-void CAknFepManager::LaunchPictographCharacterTableL()
-    {
-    DoLaunchSctAndPctL(NULL, EShowPctFirst);
-    }
-
-
-void CAknFepManager::UpdateInlineEditL(const TDesC& aNewInlineText, 
-                                       TInt aPositionOfInsertionPointInInlineText)
-    {
-    if ( ! IsFlagSet ( EFlagInsideInlineEditingTransaction ) )
-        {
-        return;
-        }
-    // Japanese implementation needs to be merged with functionality of other languages. Now they are separate.
-    if (iLanguageCapabilities.iInputLanguageCode == ELangJapanese)
-        {
-        iUncommittedText.iCursorPos = iUncommittedText.iAnchorPos + 
-                                      aPositionOfInsertionPointInInlineText;
-
-        if (aNewInlineText.Length() == 1)
-            {
-            if (aNewInlineText[0] == KAknFEPLineFeedSymbol ||
-                aNewInlineText[0] == KAknFEPMirroredLineFeedSymbol)
-                {
-                SetFlag(EFlagLineFeedCharacter);
-                ClearFlag(EFlagSpaceCharacter | EFlagFullWidthSpaceCharacter);
-                }
-            else if (aNewInlineText[0] == iSpaceCharacterCode)
-                {
-                SetFlag(EFlagSpaceCharacter);
-                ClearFlag(EFlagLineFeedCharacter | EFlagFullWidthSpaceCharacter);
-                }
-            else if (aNewInlineText[0] == iFullWidthSpaceCharacterCode)
-                {
-                SetFlag(EFlagFullWidthSpaceCharacter);
-                ClearFlag(EFlagLineFeedCharacter | EFlagSpaceCharacter);
-                }
-            else
-                {
-                ClearFlag(EFlagLineFeedCharacter 
-                          | EFlagSpaceCharacter 
-                          | EFlagFullWidthSpaceCharacter);
-                }
-            if (iInputCapabilities.SupportsSecretText())
-                {
-                TBuf<1> buf;
-                buf.Append(aNewInlineText[0]);
-                NewCharacterL(buf);
-                }
-            else
-                {
-                SetFlag(EFlagInsideMultitapInlineEditingTransaction);
-                iInputCapabilities.FepAwareTextEditor()->UpdateFepInlineTextL(aNewInlineText, 
-                                                  aPositionOfInsertionPointInInlineText);
-                }
-            }
-        else
-            {
-            ClearFlag(EFlagLineFeedCharacter | EFlagSpaceCharacter | EFlagFullWidthSpaceCharacter);
-            iInputCapabilities.FepAwareTextEditor()->UpdateFepInlineTextL(aNewInlineText, 
-                                                   aPositionOfInsertionPointInInlineText);
-            }
-#ifdef _DEBUG
-        RDebug::Print(_L("UpdateInlineEditL text=[%S] len=[%d] CurPos=[%d] AncPos=[%d] change=[%d]"),
-            &aNewInlineText, iUncommittedText.Length(),
-            iUncommittedText.iCursorPos, iUncommittedText.iAnchorPos,
-            aPositionOfInsertionPointInInlineText);
-#endif
-        }
-    else
-        {
-        	TInt curPos = iUncommittedText.iAnchorPos + aNewInlineText.Length();
-        	
-        	TInt deltaCur = curPos - iUncommittedText.iCursorPos;
-        	
-        	TInt maxEdSize = iInputCapabilities.FepAwareTextEditor()->DocumentMaximumLengthForFep();
-        	
-        	TInt docLength = iInputCapabilities.FepAwareTextEditor()->DocumentLengthForFep();
-        	
-        	HBufC* newInlineText=NULL;
-	        	
-        	TBool syncLater = ETrue;
-			// we have to restrict to a length that is permissible in the editor
-        	// this situation comes when we select the max length condition is reached 
-        	// in the editor and we navigate to one of the words in the middle 
-        	// and select a longer word from the candidate list        	
-        	
-
-        	if( (maxEdSize > 0) && ( deltaCur > 0 ) 
-        							&& (( docLength + deltaCur) > maxEdSize ) )
-        	{
-        		newInlineText= aNewInlineText.Left( aNewInlineText.Length() - (docLength + deltaCur - maxEdSize )).AllocLC();
-        		aPositionOfInsertionPointInInlineText=newInlineText->Length();
-        	}
-        	else if((maxEdSize > 0) && (curPos > maxEdSize))
-        	{
-        		newInlineText= aNewInlineText.Left(maxEdSize - iUncommittedText.iAnchorPos).AllocLC();
-        		aPositionOfInsertionPointInInlineText=newInlineText->Length();
-        	}        	
-        	else
-        	{
-        		newInlineText=aNewInlineText.AllocLC();
-        		syncLater = EFalse;        	
-        	} 
-	// The Below code changes are made to sync iTextBuffer and the last word in the editor.When the 
-	// cursor position reaches more than the max length of editor, tail length is modified according 
-	// to truncated last word and Autocompletion bit length (Element count) value to display last 
-	// word in the editor properly. 			       	        	        	
-    #ifdef RD_INTELLIGENT_TEXT_INPUT        	 	
-			if(syncLater)
-        	    {       	    
-    	        TBuf<CAknFepManager::EMaximumFepWordLength> currentText = iPtiEngine->CurrentWord();
-    	        currentText.SetLength(newInlineText->Length());        	        
-    	        iPtiEngine->HandleCommandL( EPtiCommandSetCursorCrossedMaxLength );
-    	        iPtiEngine->SetCurrentWord(currentText); 
-    	        TransferFepStateToEditorL();
-    	        iPtiEngine->HandleCommandL( EPtiCommandResetCursorCrossedMaxLength );
-        	    }
-	#endif 	
-        	// CleanupStack::PushL(TCleanupItem(ClearFepStateOnLeave,this));
-        	iUncommittedText.iCursorPos = iUncommittedText.iAnchorPos + aPositionOfInsertionPointInInlineText;
-
-		HBufC* decoratedInlineEdit = HBufC::NewLC(aNewInlineText.Length()*3);
-		TPtr bufferPtr(decoratedInlineEdit->Des());
-
-        if ( EditorSupportsNeutralProtection() )
-            {
-        		if ( newInlineText->Length() > 0 )
-                {
-                iInlineTextDecorator->DecorateInlineText(
-        			newInlineText->Des(),
-                    bufferPtr,
-                    aPositionOfInsertionPointInInlineText,
-                    static_cast<TChar>(PreviousChar()),
-                    IsRightToLeftParagraph(DocPos() ),
-                    ( CurrentInputDirectionality() == TBidiText::ERightToLeft ) );
-                }
-
-            // Because the length of the new inline edit may bear no relation to the old inline edit,
-            // the passed desired position of the cursor (which is hidden in S60 anyway) in the new
-            // inline edit is restricted to its Length(). The input value of parameter
-            // aPositionOfInsertionPointInInlineText is ignored, and its modified value
-            // from the DecorateInlineText routine is also ignored.
-            
-			aPositionOfInsertionPointInInlineText = decoratedInlineEdit->Length();
-
-            iInputCapabilities.FepAwareTextEditor()->UpdateFepInlineTextL(
-                bufferPtr, aPositionOfInsertionPointInInlineText);
-            	
-            iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(iUncommittedText);
-            iUncommittedText.iAnchorPos-=decoratedInlineEdit->Length();
-        	}
-
-        	else
-        	{
-        		// Even without the issue of decoration, the length of the new inline edit may bear no
-        		// relation to the old inline edit. It is always set to length (the end) of the new inline edit
-        		aPositionOfInsertionPointInInlineText = newInlineText->Length();
-
-        		iInputCapabilities.FepAwareTextEditor()->UpdateFepInlineTextL(
-        			newInlineText->Des(), aPositionOfInsertionPointInInlineText);
-
-        		// This is needed here too because we should not insist that the new text is the same length
-        		// as the old, and so the iUncommitted text should be reset.
-        		iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(iUncommittedText);
-        		iUncommittedText.iAnchorPos-=newInlineText->Length();
-        	}       
-
-        	
-        CleanupStack::PopAndDestroy(decoratedInlineEdit);  
-        SendEventsToPluginManL( EPluginSyncFepAwareText, EPluginSyncUpdatedText );
-        CleanupStack::PopAndDestroy(newInlineText);
-        //Send info to engine to set EPtiXt9FlagAutoCompletionSetOnToOff flag as false 
-        TInt value = 0;
-        TRAP_IGNORE(iPtiEngine->HandleCommandL( EPtiCommandAutoCompletionOnToOff,&value));			
-        }  
-    }
-
-void CAknFepManager::StartInlineEditL()
-    {
-    if(iConcatenationTimer->IsActive())
-    	iConcatenationTimer->Cancel();
-	
-    //currently western only, would need to sort out flags if this were to be used
-    //in multitap modes
-    switch (iMode)
-        {
-        case ELatin:
-        case EKatakana:
-        case EHiragana:
-            iInputCapabilities.FepAwareTextEditor()->StartFepInlineEditL(KNullDesC, 0, EFalse, 
-                                                                         NULL, *this, *this);
-            iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(iUncommittedText);
-            break;
-        default:
-            iInputCapabilities.FepAwareTextEditor()->StartFepInlineEditL(KNullDesC, 0, EFalse, 
-                                                                         NULL, *this, *this);
-            break;
-        }
-#ifdef _DEBUG
-    RDebug::Print(_L("StartInlineEditL len=[%d] CurPos=[%d] AncPos=[%d]"),
-        iUncommittedText.Length(),
-        iUncommittedText.iCursorPos, iUncommittedText.iAnchorPos );
-#endif
-
-    // have to calculate the number of free space on current EDITOR after StartFepInlineEditL().
-    TInt maxEdSize = iInputCapabilities.FepAwareTextEditor()->DocumentMaximumLengthForFep();
-    TInt edSize = iInputCapabilities.FepAwareTextEditor()->DocumentLengthForFep();
-    iFreeSpaceOfEditor = maxEdSize - edSize;
-
-    SetFlag(EFlagInsideInlineEditingTransaction);
-    }
-
-void CAknFepManager::StartInlineEditL(const TDesC& aText)
-    {
-    if(iConcatenationTimer->IsActive())
-    	iConcatenationTimer->Cancel();
-	
-    TInt textLength = aText.Length();
-
-    // CleanupStack::PushL(TCleanupItem(ClearFepStateOnLeave,this));
-    
-	HBufC* decoratedInlineEdit = HBufC::NewLC(aText.Length()*3);
-	TPtr bufferPtr(decoratedInlineEdit->Des());
-
-    // decorate the inline edit
-    if( aText.Length() > 0 && EditorSupportsNeutralProtection() )
-        {
-        iInlineTextDecorator->DecorateInlineText(
-            aText,
-            bufferPtr,
-            textLength, // aPositionOfInsertionPointInInlineText,
-            static_cast<TChar>(PreviousChar()),
-            IsRightToLeftParagraph( DocPos() ),
-            ( CurrentInputDirectionality() == TBidiText::ERightToLeft ) );
-        }
-    else
-        {
-
-        bufferPtr.Copy(aText);
-        }
-    
-    // Before starting editor inline, we cancel editor inline if by any chance editor ends up in inline edit and fep does not
-        TBool phoneIdle = (EditorType() == CAknExtendedInputCapabilities::EPhoneNumberEditor); 
-        
-        if(phoneIdle)
-            {
-            iInputCapabilities.FepAwareTextEditor()->CancelFepInlineEdit();
-            }
-    
-    // operates at the current insertion point or selection
-    iInputCapabilities.FepAwareTextEditor()->StartFepInlineEditL(
-
-        bufferPtr,
-        textLength, // aPositionOfInsertionPointInInlineText,
-        EFalse,  // Cursor visibility
-        0, // MFormCustomDrawer*
-        *this,
-        *this);
-
-    // CleanupStack::Pop(); // cleanupitem for FEP state.
-
-    if (!iInputCapabilities.FepAwareTextEditor())
-        {
-        // In case while starting the inline edit, 3rd party app removes the focus out of editor before the transaction
-        // completes, we return with an error.
-        User::Leave(KErrCorrupt);
-        }
-    // cursor span needs to be updated following potential modification
-    // of the inline edit content before it was started
-    iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(iUncommittedText);
-	iUncommittedText.iAnchorPos-=decoratedInlineEdit->Length();
-	CleanupStack::PopAndDestroy(decoratedInlineEdit);
-
-    SetFlag(EFlagInsideInlineEditingTransaction);
-    }
-
-void CAknFepManager::StartInlineEditL(TCursorSelection aCursorSelection, 
-                                      const TDesC& aInitialInlineText, 
-                                      TInt aPositionOfInsertionPointInInlineText, 
-                                      TBool aCursorVisibility)
-    {
-    	
-		if(iConcatenationTimer->IsActive())
-    	iConcatenationTimer->Cancel();
-	
-    TBool setToTrue=EFalse;
-
-    // setToTrue parameter forces use of selection hiding inline edit editor API -
-    // this method also sets the cursor selection to the second parameter
-    // CleanupStack::PushL(TCleanupItem(ClearFepStateOnLeave,this));
-    iInputCapabilities.FepAwareTextEditor()->Extension1()->StartFepInlineEditL(
-        setToTrue,
-        aCursorSelection,
-        aInitialInlineText,
-        aPositionOfInsertionPointInInlineText,
-        aCursorVisibility,
-        0, // MFormCustomDrawer* ?
-        *this,
-        *this);
-    // CleanupStack::Pop(); // cleanupitem for FEP state.
-    SetFlag(EFlagInsideInlineEditingTransaction);
-    //This will suppress Edit submenu from poping up
-    SetCcpuFlag(ECcpuStateIgnoreStarUp);
-    }
-
-TBool CAknFepManager::CloseUiIfWordDeletedL()
-    {
-    if (iUncommittedText.Length()==0)
-        {
-        // word has been totally deleted
-        ClearFlag(EFlagCompoundWord);
-        TryCloseUiL();
-        return ETrue;
-        }
-    return EFalse;
-    }
-
-TBool CAknFepManager::TryGetTextToUncommitL(TDes& aText, TInt aCode, TBool& aComsumeKey)
-    {
-    TWesternNaviEvent naviEvent = ENullNaviEvent;
-    if (aCode == EKeyLeftArrow)
-        {
-        naviEvent = ELeftNaviEvent;
-        }
-    else if (aCode == EKeyRightArrow)
-        {
-        naviEvent = ERightNaviEvent;
-        }
-    else if (aCode == EKeyBackspace)
-        {
-        naviEvent = EBackspaceEvent;
-        }
-
-    TInt nextCharPos = 0;  // Character ordinal in logical memory (0 - n-1)
-    TBool hindibackspace = 0 ;  
-    TBool nextPositionFound = EFalse;
-    iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(iUncommittedText);
-    if ( naviEvent == ERightNaviEvent )
-        {
-        nextPositionFound = GetNextVisualRightCharacter( nextCharPos );
-        if( (TAknFepUiIndicInputManager :: IsIndicLangauge(TLanguage(iLanguageCapabilities.iInputLanguageCode))) || 
-                (TLanguage(iLanguageCapabilities.iInputLanguageCode) == ELangThai))
-            {
-            FindStartOfWord(nextCharPos);   
-                        
-            if(nextCharPos < iUncommittedText.LowerPos())
-                {
-                nextCharPos = iUncommittedText.LowerPos();
-                }
-            }
-        }
-    else if ( naviEvent == ELeftNaviEvent )
-        {
-        nextPositionFound = GetNextVisualLeftCharacter( nextCharPos );
-        if( nextPositionFound && (TAknFepUiIndicInputManager :: IsIndicLangauge(TLanguage(iLanguageCapabilities.iInputLanguageCode))) ||
-                (nextPositionFound && (TLanguage(iLanguageCapabilities.iInputLanguageCode) == ELangThai)))
-            {
-            FindEndOfWord(nextCharPos);
-            if(nextCharPos > iUncommittedText.HigherPos())
-                {
-                nextCharPos = iUncommittedText.HigherPos();
-                }
-            }
-            
-        }
-    else if ( naviEvent == EBackspaceEvent )
-        {
-        if (iLanguageCapabilities.iRightToLeftLanguage)
-            {
-            nextPositionFound = GetNextVisualRightCharacter( nextCharPos );
-            }
-        else
-            {
-            if( (TAknFepUiIndicInputManager :: IsIndicLangauge(TLanguage(iLanguageCapabilities.iInputLanguageCode))) ||
-                    (TLanguage(iLanguageCapabilities.iInputLanguageCode) == ELangThai))
-                {
-                TCursorSelection curSel;
-                iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(curSel);
-                nextCharPos = curSel.iCursorPos;        
-                hindibackspace = ETrue;
-                }
-            else
-                {
-            nextPositionFound = GetNextVisualLeftCharacter( nextCharPos );
-                }   
-            }
-        }
-
-    if ( !nextPositionFound && !hindibackspace )
-        {
-        aComsumeKey = EFalse;
-        return EFalse;
-        }
-
-    TInt anchorPos = 0;
-    TInt cursorPos = 0;
-    TTmDocPosSpec pos = DocPos();
-    CTmTextLayout::TTmChunkDescription leftChunk;
-    CTmTextLayout::TTmChunkDescription rightChunk;
-    FindAdjacentChunks(pos, leftChunk, rightChunk);
-
-    if (( naviEvent == ELeftNaviEvent && leftChunk.iRightToLeft ) ||
-        ( naviEvent == ERightNaviEvent && !rightChunk.iRightToLeft ))
-        {
-        anchorPos = nextCharPos;
-        cursorPos = nextCharPos;
-        FindEndOfWord(cursorPos);
-        }
-    else
-        {
-        if( (TAknFepUiIndicInputManager :: IsIndicLangauge(TLanguage(iLanguageCapabilities.iInputLanguageCode))) ||
-                (TLanguage(iLanguageCapabilities.iInputLanguageCode) == ELangThai))
-            {
-            cursorPos = nextCharPos;
-            }
-        else
-            {
-            cursorPos = nextCharPos + 1;    
-            }
-        anchorPos = nextCharPos;
-        FindStartOfWord(anchorPos);
-        }
-        
-#ifdef RD_INTELLIGENT_TEXT_INPUT    
-	TCursorSelection curSel;
-    iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(curSel);
-    // if selection happens dont consume the event pass it to editor
-    if((naviEvent == EBackspaceEvent)
-            && (!IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction))
-            && (curSel.iAnchorPos != curSel.iCursorPos))
-        {
-        aComsumeKey = EFalse;
-        return EFalse;
-        }
-#endif
-
-    iUncommittedText.SetSelection(cursorPos, anchorPos);
-
-    if (iUncommittedText.Length() <= EMaximumFepWordLength)
-        {
-        iInputCapabilities.FepAwareTextEditor()->
-            GetEditorContentForFep(aText, iUncommittedText.iAnchorPos, iUncommittedText.Length());
-        aComsumeKey = ETrue;
-        return ETrue;
-        }
-    else
-        {
-        if (naviEvent == EBackspaceEvent)
-            {
-            // delete the last character
-            cursorPos--;
-            iUncommittedText.SetSelection(cursorPos, cursorPos);
-            aComsumeKey = EFalse;
-            }
-        else
-            {
-            TInt newCursorPosition= (pos.iPos == cursorPos) ? anchorPos : cursorPos;
-            iUncommittedText.SetSelection(newCursorPosition, newCursorPosition);
-            iInputCapabilities.FepAwareTextEditor()->SetCursorSelectionForFepL(iUncommittedText);
-            aComsumeKey = ETrue;
-            }
-        // The word is longer than EMaximumFepWordLength. Ui is deactivated.
-        TryCloseUiL();
-        return EFalse;
-        }
-    }
-
-
-TBool CAknFepManager::TryGetTextToUncommitL(TDes& aText, TBool& aComsumeKey)
-    {
-    TInt nextCharRightPos = 0;  // Character ordinal in logical memory (0 - n-1)
-    TInt nextCharLeftPos = 0; 
-    TBool nextRightPosFound = EFalse;
-    TBool nextLeftPosFound = EFalse;
-    
-    nextRightPosFound = GetNextVisualRightCharacter( nextCharRightPos );
-    if( (TAknFepUiIndicInputManager :: IsIndicLangauge(TLanguage(iLanguageCapabilities.iInputLanguageCode))) || 
-            (TLanguage(iLanguageCapabilities.iInputLanguageCode) == ELangThai))
-        {
-        FindStartOfWord(nextCharRightPos);   
-                    
-        if(nextCharRightPos < iUncommittedText.LowerPos())
-            {
-            nextCharRightPos = iUncommittedText.LowerPos();
-            }
-        }
-    
-    
-    nextLeftPosFound = GetNextVisualLeftCharacter( nextCharLeftPos );
-    if( nextLeftPosFound && (TAknFepUiIndicInputManager :: IsIndicLangauge(TLanguage(iLanguageCapabilities.iInputLanguageCode))) ||
-            (nextLeftPosFound && (TLanguage(iLanguageCapabilities.iInputLanguageCode) == ELangThai)))
-        {
-        FindEndOfWord(nextCharLeftPos);
-        if(nextCharLeftPos > iUncommittedText.HigherPos())
-            {
-            nextCharLeftPos = iUncommittedText.HigherPos();
-            }
-        }
-            
-
-
-
-    if ( !nextRightPosFound && !nextLeftPosFound )
-        {
-        aComsumeKey = EFalse;
-        return EFalse;
-        }
-
-    TInt anchorPos = 0;
-    TInt cursorPos = 0;
-
-    
-    
-    TTmDocPosSpec pos = DocPos();
-    CTmTextLayout::TTmChunkDescription leftChunk;
-    CTmTextLayout::TTmChunkDescription rightChunk;
-    FindAdjacentChunks(pos, leftChunk, rightChunk);
-
-    /*
-    if( (TAknFepUiIndicInputManager :: IsIndicLangauge(TLanguage(iLanguageCapabilities.iInputLanguageCode))) ||
-            (TLanguage(iLanguageCapabilities.iInputLanguageCode) == ELangThai))
-        {
-        cursorPos = pos.iPos;
-        }
-    else
-        {
-        cursorPos = pos.iPos + 1;    
-        }
-    */
-    
-    anchorPos = pos.iPos;
-    cursorPos = pos.iPos;
-    FindEndOfWord(cursorPos);          
-    FindStartOfWord(anchorPos);
-    
-    
-    if(cursorPos == pos.iPos || anchorPos == pos.iPos)
-        {
-        iUncommittedText.SetSelection(pos.iPos, pos.iPos);
-        aComsumeKey = ETrue;
-        return EFalse;
-        }
-    else
-        {
-        iUncommittedText.SetSelection(cursorPos, anchorPos);
-        }  
-    
-    if (iUncommittedText.Length() <= EMaximumFepWordLength)
-        {
-        iInputCapabilities.FepAwareTextEditor()->
-            GetEditorContentForFep(aText, iUncommittedText.iAnchorPos, iUncommittedText.Length());
-        aComsumeKey = ETrue;
-        return ETrue;
-        }
-    else
-        {
-        /*
-        TInt newCursorPosition= (pos.iPos == cursorPos) ? anchorPos : cursorPos;
-        iUncommittedText.SetSelection(newCursorPosition, newCursorPosition);
-        iInputCapabilities.FepAwareTextEditor()->SetCursorSelectionForFepL(iUncommittedText);
-        */
-        aComsumeKey = ETrue;
-        // The word is longer than EMaximumFepWordLength. Ui is deactivated.
-        TryCloseUiL();
-        return EFalse;
-        }
-    }
-
-void CAknFepManager::UpdateCbaL(TInt aResourceId)
-    {
-    if ( !IsFepAwareTextEditor() )
-        {
-        return;
-        }
-
-    if (IsCcpuFlagSet(ECcpuStateStartCopy | ECcpuStateCopy | ECcpuStateStartCut | ECcpuStateCut))
-        {
-        return;
-        }
-    
-    //For bug ESSG-7RXC96
-    if((iAknEditorFlags & EAknEditorFlagFindPane)&& IsChineseInputLanguage()&& aResourceId != NULL)
-        {
-        return;
-        }
-
-	iUiInterface->UpdateSoftkeysL(aResourceId, EditorState(), this, 
-                                iSharedDataInterface->InputMode());
-    }
-
-
-TBool CAknFepManager::TryRemoveNoMatchesIndicatorL()
-    {
-    __ASSERT_DEBUG(IsFlagSet(EFlagInsideInlineEditingTransaction), 
-                   AknFepPanic(EAknFepPanicNotInsideInlineEdit));
-
-    if (IsFlagSet(CAknFepManager::EFlagNoMatches))
-        {
-        ClearFlag(CAknFepManager::EFlagNoMatches); 
-        TBuf<EMaximumFepWordLength> newText;
-        iInputCapabilities.FepAwareTextEditor()->GetEditorContentForFep(newText, 
-                                                                      iUncommittedText.iAnchorPos,
-                                                                      iUncommittedText.Length());
-        iInputCapabilities.FepAwareTextEditor()->UpdateFepInlineTextL(newText, 
-                                                                      iUncommittedText.Length());
-        SendEventsToPluginManL( EPluginSyncFepAwareText );
-        return ETrue;
-        }
-    return EFalse;
-    }
-
-TBool CAknFepManager::IsMoreGoodWordsComing(TInt aNewWordLength) const
-    {
-    return (aNewWordLength == iUncommittedText.Length() + 1);
-    }
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-TBool CAknFepManager::IsMoreGoodAutoCompleteWordsComing(TInt aInputMode,TInt aPreviousWordLength, 
-                                                        TInt aNewWordLength) const
-	{
-	return ((aInputMode == EPtiEngineWordCompletion) && (aPreviousWordLength != aNewWordLength ));	
-	}
-#endif
-
-void CAknFepManager::TryStartCompoundWord()
-    {
-    // check if this word constitutes a 'compound' word
-    // i.e. is either adjacent char is an alphabetic characeter
-    TBuf<ESingleCharacter> ch;
-    // check the previous character
-    if(iUncommittedText.iAnchorPos>0)
-        {
-        iInputCapabilities.FepAwareTextEditor()->GetEditorContentForFep(ch, 
-                                                                     iUncommittedText.iAnchorPos-1,
-                                                                     ESingleCharacter);
-        if (ch.Length()>0 && STATIC_CAST(TChar, IsValidInLineCharacter(ch[0])))
-            {
-            SetFlag(EFlagCompoundWord);
-            }
-        }
-
-    // check the next character
-    TInt edSize = iInputCapabilities.FepAwareTextEditor()->DocumentLengthForFep();
-    if (!IsFlagSet(EFlagCompoundWord) && iUncommittedText.iAnchorPos < edSize)
-        {
-        iInputCapabilities.FepAwareTextEditor()->GetEditorContentForFep(ch, 
-                                                                     iUncommittedText.iAnchorPos,
-                                                                     ESingleCharacter);
-        if (ch.Length()>0 && STATIC_CAST(TChar, IsValidInLineCharacter(ch[0])))
-            {
-            SetFlag(EFlagCompoundWord);
-            }
-        }
-    }
-
-void CAknFepManager::AddCompoundWordToUdbL()
-    {
-    __ASSERT_DEBUG(WesternPredictive() , AknFepPanic(EAknFepPanicNonPermittedEditorMode));
-
-    HBufC* compoundWordBuf = 
-                   HBufC::NewLC(iInputCapabilities.FepAwareTextEditor()->DocumentLengthForFep()); // buffer for text
-    TPtr compoundWord=compoundWordBuf->Des();
-
-    iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(iUncommittedText);
-
-    // reset cursor span on word
-    FindStartOfWord(iUncommittedText.iAnchorPos);
-    FindEndOfWord(iUncommittedText.iCursorPos);
-
-    iInputCapabilities.FepAwareTextEditor()->GetEditorContentForFep(compoundWord, 
-                                                                    iUncommittedText.iAnchorPos, 
-                                                                    iUncommittedText.Length());
-    FepUI()->AddTextToUserDictionaryL(compoundWord);
-    CleanupStack::PopAndDestroy();  // compoundWordBuf
-    }
-
-void CAknFepManager::SetWesternPredictive( const TBool aWesternPredictive )
-    {
-    const TInt previousValue = iWesternPredictive;
-    iWesternPredictive = aWesternPredictive && !(iAknEditorFlags & EAknEditorFlagNoT9) &&
-    // Predictive QWERTY (XT9) changes ---->
-        (   
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        (
-#endif //RD_INTELLIGENT_TEXT_INPUT
-		iLanguageCapabilities.iSupportsWesternPredictive 
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        && !iQwertyInputMode)
-         || (iLanguageCapabilities.iSupportsWesternQwertyPredictive && iQwertyInputMode) 
-#ifdef __HALF_QWERTY_KEYPAD
-         || (iLanguageCapabilities.iSupportsWesternHalfQwertyPredictive && iQwertyInputMode) 
-#endif //__HALF_QWERTY_KEYPAD
-#endif //RD_INTELLIGENT_TEXT_INPUT
-		);
-    // Predictive QWERTY (XT9) changes <----
-    if ( (previousValue != iWesternPredictive) && !(iAknEditorFlags & EAknEditorFlagNoT9) )
-        {
-        if (iWesternPredictive)
-            {
-            iSharedDataInterface->SetPredictiveTextOn();
-            }
-        else
-            {
-            iSharedDataInterface->ResetPredictiveTextOn();
-            }
-        }
-    }
-
-void CAknFepManager::SetWesternAutoComplete( const TBool aWesternAutoComplete )
-    {
-    const TInt previousValue = iIsAutoCompleteOn;
-    iIsAutoCompleteOn = aWesternAutoComplete && !(iAknEditorFlags & EAknEditorFlagNoT9);
-    if ( (previousValue != iIsAutoCompleteOn) && !(iAknEditorFlags & EAknEditorFlagNoT9) )
-        {
-        if (iIsAutoCompleteOn)
-            {
-            iSharedDataInterface->SetPredictiveTextAutoCompleteOn();
-            }
-        else
-            {
-            iSharedDataInterface->ResetPredictiveTextAutoCompleteOn();
-            }
-        }
-    }
-
-void CAknFepManager::SetJapanesePredictive(const TBool aJapanesePredictive)
-    {
-    if (iJapanesePredictive != aJapanesePredictive)
-        {
-        iJapanesePredictive = aJapanesePredictive;
-        }
-    if (iJapanesePredictive & iSharedDataInterface->PredictiveTextJapaneseOn()
-     || !iJapanesePredictive & !iSharedDataInterface->PredictiveTextJapaneseOn())
-        {
-        if(iJapanesePredictive)
-            {
-            iSharedDataInterface->SetJapanesePredictiveTextOn();
-            }
-        else
-            {
-            iSharedDataInterface->ResetJapanesePredictiveTextOn();
-            }
-        }
-    }
-
-void CAknFepManager::SetQwertyMode(const TBool aQwertyInputMode)
-    {
-#ifdef RD_SCALABLE_UI_V2
-    if( aQwertyInputMode && iFepPluginManager && 
-        iSharedDataInterface->PluginInputMode() != EPluginInputModeNone
-        // Add this condition for addtion of ITI features on FSQ.
-        // iSharedDataInterface->QwertyInputMode() == 1, means that 
-        // hw keyboard is slided, then need to close touch inputmethods.
-        && iSharedDataInterface->QwertyInputMode() )
-        {
-        iFepPluginManager->ResetMenuState(EFalse);        
-        ExitPluginSpellModeByCancel();
-        TRAP_IGNORE(iFepPluginManager->ClosePluginInputModeL( ETrue ));
-        if ( iCancelPopupInQwerty )
-            {
-            TRAP_IGNORE( SimulateKeyEventL( EKeyCBA2 ) );
-            }
-        }
-    SetQwertyModeToInputcapbility();
-#endif//RD_SCALABLE_UI_V2
-    if (!COMPARE_BOOLS(aQwertyInputMode, iQwertyInputMode))
-        {
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-        if(IsAutoCompleteOn())
-        	{
-            TRAP_IGNORE(RemoveSuggestedCompletionL());
-            }
-#endif //RD_INTELLIGENT_TEXT_INPUT
-        iQwertyInputMode = aQwertyInputMode;
-        if (!iQwertyInputMode)
-            {
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-            SetTypingCorrectionLevel(EPtiErrorCorrectionLevelHigh);
-            SetNumberCandidateState(ETrue); // ETrue
-            SetPrimaryCandidate(EFalse); // Best prediction
-#endif            
-            ClearFlag(EFlagQwertyShiftMode | EFlagNoActionDuringChrKeyPress);
-            }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        else
-	        {
-	        iSharedDataInterface->HandlePredictiveTextNumberCandidateSettingChange();
-	        iSharedDataInterface->HandlePredictiveTextTypingCorrectionLevelChange();
-	        iSharedDataInterface->HandlePredictiveTextPrimaryCandidateChange();	
-	        }
-#endif        
-
-        if ( iFepManState != EAknFepStateNull && IsFepAwareTextEditor() )
-            {
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-
-			   // In case of layout remove the auto completion part
-			   // Before transfer fep state to editor state.        
-               if(IsAutoCompleteOn())
-            	{
-#ifdef RD_SCALABLE_UI_V2            	
-                if( iFepPluginManager 
-                        && iFepPluginManager->IsSupportITIOnFSQ()
-                        && !iQwertyInputMode )
-                    {
-                    TRAP_IGNORE( iPtiEngine->HandleCommandL( EPtiCommandLockCurrentCandidate ) );
-                    }
-                else
-#endif //RD_SCALABLE_UI_V2                	
-                    {
-                    TInt tailLength = 0;
-                    TRAP_IGNORE(iPtiEngine->HandleCommandL( EPtiCommandGetAutoCompletionTailLength, &tailLength ));
-                    if(tailLength > 0)
-                        {
-                        TRAP_IGNORE(
-                            {
-                            RemoveSuggestedAdvanceCompletionL();
-                            iPtiEngine->HandleCommandL( EPtiCommandLockCurrentCandidate );
-                            });                       
-                        }
-                    }
-            	}
-#endif 
-            if ( !iFocusedItemDestroy )
-            	{            	
-                TRAP_IGNORE(
-                    {
-                    TransferFepStateToEditorL();
-                    TryCloseUiL();
-                    ConfigureFEPFromEditorStateL();
-                    });                
-            	}            
-            }
-        }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    if(iFnKeyManager)
-        iFnKeyManager->SetQwertyInputMode(aQwertyInputMode);
-#endif
-    }
-
-TBool CAknFepManager::WesternPredictive(TInt aMode) const
-    {
-    TInt mode = iMode;
-    if ( aMode )
-        {
-        mode = aMode;
-        }
-    return (mode == ELatin && iWesternPredictive &&
-    // Predictive QWERTY (XT9) changes ---->
-      
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        ((
-#endif //RD_INTELLIGENT_TEXT_INPUT
-		iLanguageCapabilities.iSupportsWesternPredictive 
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        && !iQwertyInputMode)
-         || (iLanguageCapabilities.iSupportsWesternQwertyPredictive && iQwertyInputMode)
-#ifdef __HALF_QWERTY_KEYPAD
-		|| (iLanguageCapabilities.iSupportsWesternHalfQwertyPredictive && iQwertyInputMode)
-#endif //__HALF_QWERTY_KEYPAD
-		)
-#endif //RD_INTELLIGENT_TEXT_INPUT
-		);
-    // Predictive QWERTY (XT9) changes <----
-    }
-
-TBool CAknFepManager::IsPredictive(TInt aMode) const
-    {
-    TBool isPredictive = EFalse;
-    TInt mode = iMode;
-    if ( aMode )
-        {
-        mode = aMode;
-        }
-    if (mode == EHiraganaKanji )
-        {
-        if ((iPermittedInputModes & EAknEditorHiraganaKanjiInputMode)
-         && iJapanesePredictive
-         && !(iAknEditorFlags & EAknEditorFlagNoT9)
-         && HasJapanesePredictionInputMode())
-            {
-            isPredictive = ETrue;
-            // Japanese predictive input is available on both Qwerty and not Qwerty
-            return isPredictive;
-            }
-        }
-    else if (mode == ELatin)
-        {
-        if ((iPermittedInputModes & (EAknEditorTextInputMode | EAknEditorHalfWidthTextInputMode))
-          && !(iAknEditorFlags & EAknEditorFlagNoT9)
-          && iWesternPredictive && 
-          (iLanguageCapabilities.iSupportsWesternPredictive
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-           ||iLanguageCapabilities.iSupportsWesternQwertyPredictive 
-#ifdef __HALF_QWERTY_KEYPAD           
-           ||iLanguageCapabilities.iSupportsWesternHalfQwertyPredictive
-#endif //__HALF_QWERTY_KEYPAD           
-#endif //RD_INTELLIGENT_TEXT_INPUT
-		)) // Predictive QWERTY (XT9) changes
-            {
-            isPredictive = ETrue;
-            }
-        }
-#ifdef RD_SCALABLE_UI_V2
-	#ifdef RD_INTELLIGENT_TEXT_INPUT
-	    return isPredictive; //&& (iFepPluginManager->PluginInputMode() == EPluginInputModeNone);
-	#else
-	    return isPredictive && !iQwertyInputMode 
-             && ((iFepPluginManager->PluginInputMode() == EPluginInputModeItut) 
-	    			|| (iFepPluginManager->PluginInputMode() == EPluginInputModeNone));
-	#endif //RD_INTELLIGENT_TEXT_INPUT
-#else
-	#ifdef RD_INTELLIGENT_TEXT_INPUT
-	    return isPredictive;
-	#else
-	    return isPredictive && !iQwertyInputMode;
-	#endif //RD_INTELLIGENT_TEXT_INPUT
-#endif //RD_SCALABLE_UI_V2
-    }
-
-TBool CAknFepManager::Japanese() const
-    {
-    TBool rtn = EFalse;
-    switch (iMode)
-        {
-        case EHiraganaKanji:
-        case EKatakana:
-        case EHiragana:
-            rtn = ETrue;
-            break;
-        case ELatin:
-            if ((!WesternPredictive()) && iCharWidth == EFullWidthChar)
-                {
-                rtn = ETrue;
-                }
-            break;
-        case ENumber:
-            if (iCharWidth == EFullWidthChar)
-                {
-                rtn = ETrue;
-                }
-            break;
-        default:
-            break;
-        }
-    return rtn;
-    }
-
-TBool CAknFepManager::IsOnlyFullWidthCharacterPermitted() const
-    {
-    CAknEdwinState* editorState = EditorState();
-    TUint permittedInputModes = editorState->PermittedInputModes();
-    TUint fullWidthPermitted = (EAknEditorFullWidthTextInputMode
-                              | EAknEditorFullWidthNumericInputMode
-                              | EAknEditorFullWidthKatakanaInputMode);
-    TUint fullWidthNotPermitted = ~fullWidthPermitted;
-    TBool isfullchar = ETrue;
-    if (permittedInputModes & fullWidthNotPermitted)
-        {
-        isfullchar = EFalse;
-        }
-
-    if (!(permittedInputModes & fullWidthPermitted))
-        {
-        isfullchar = EFalse;
-        }
-
-    return isfullchar;
-    }
-
-TBool CAknFepManager::IsOnlyHalfWidthCharacterPermitted() const
-    {
-    CAknEdwinState* editorState = EditorState();
-    TUint permittedInputModes;
-    if( editorState )
-        {
-        permittedInputModes= editorState->PermittedInputModes();
-        }
-    else
-        {
-        permittedInputModes = EAknEditorNumericInputMode;
-        }
-    TUint halfWidthNotPermitted = (EAknEditorFullWidthTextInputMode
-                                 | EAknEditorFullWidthNumericInputMode
-                                 | EAknEditorFullWidthKatakanaInputMode
-                                 | EAknEditorHiraganaKanjiInputMode
-                                 | EAknEditorHiraganaInputMode);
-
-    TUint halfWidthPermitted  = ~halfWidthNotPermitted;
-    TBool ishalfchar = ETrue;
-    if (permittedInputModes & halfWidthNotPermitted)
-        {
-        ishalfchar = EFalse;
-        }
-
-    if (!(permittedInputModes & halfWidthPermitted))
-        {
-        ishalfchar = EFalse;
-        }
-    if (permittedInputModes & EAknEditorTextInputMode)
-        {
-        ishalfchar = EFalse;
-        }
-    if (editorState && (editorState->Flags() & EAknEditorFlagLatinInputModesOnly))
-        {
-        ishalfchar = ETrue;
-        }
-    return ishalfchar;
-    }
-
-TBool CAknFepManager::IsHalfAndFullKatakanaPermitted() const
-    {
-    CAknEdwinState* editorState = EditorState();
-    TUint permittedInputModes = editorState->PermittedInputModes();
-    TUint katakanaInputMode = (EAknEditorKatakanaInputMode
-                              | EAknEditorFullWidthKatakanaInputMode);
-    TBool iskatakana = EFalse;
-    if ((permittedInputModes & katakanaInputMode) == katakanaInputMode)
-        {
-        iskatakana = ETrue;
-        }
-    return iskatakana;
-    }
-
-TBool CAknFepManager::IsHalfAndFullLatinPermitted() const
-    {
-    CAknEdwinState* editorState = EditorState();
-    TUint permittedInputModes = editorState->PermittedInputModes();
-    TUint latinInputMode = (EAknEditorHalfWidthTextInputMode
-                              | EAknEditorFullWidthTextInputMode);
-    TBool islatin = EFalse;
-
-    if ((permittedInputModes & latinInputMode) == latinInputMode)
-        {
-        islatin = ETrue;
-        }
-    return islatin;
-    }
-
-TBool CAknFepManager::IsHalfAndFullNumberPermitted() const
-    {
-    CAknEdwinState* editorState = EditorState();
-    TUint permittedInputModes = editorState->PermittedInputModes();
-    TUint numInputMode = (EAknEditorNumericInputMode
-                              | EAknEditorFullWidthNumericInputMode);
-    TBool isnum = EFalse;
-    if ((permittedInputModes & numInputMode) == numInputMode)
-        {
-        isnum = ETrue;
-        }
-
-    return isnum;
-    }
-
-TWidthChar CAknFepManager::CharacterWidth() const
-    {
-    return iCharWidth;
-    }
-
-CPtiEngine* CAknFepManager::PtiEngine() const
-    {
-    return iPtiEngine;
-    }
-
-void CAknFepManager::SetInlineEditingCursorVisibilityL(TBool aCursorVisibility)
-    {
-#ifdef RD_SCALABLE_UI_V2
-    if ( SemiFepAwareTextEditor( ETrue ) )
-#else
-    if (iInputCapabilities.FepAwareTextEditor())
-#endif // RD_SCALABLE_UI_V2
-        {
-        iInputCapabilities.FepAwareTextEditor()->SetInlineEditingCursorVisibilityL(aCursorVisibility);
-        }
-    }
-
-TInt CAknFepManager::InputMode() const
-    {
-    return iMode;
-    }
-    
-TInt CAknFepManager::CangJieMode() const
-    {
-    TInt shareMode = iSharedDataInterface->CangJieMode();
-    TInt cangjieMode = shareMode + EPtiEngineNormalCangjieQwerty;
-    return cangjieMode;
-    }    
-
-TBool CAknFepManager::InputLanguageSupportsCaseChanges() const
-    {
-    return iLanguageCapabilities.iSupportsCase;
-    }
-
-TBool CAknFepManager::IsAbleScrollLatinPredictive() const
-    {
-    return iSharedDataInterface->ScrollLatinPredictiveCandidates();
-    }
-
-TText CAknFepManager::PreviousChar( TBool /*aContextSensitive*/ )
-    {
-    TBuf<ESingleCharacter> previousCharacter(ESingleCharacter);
-    previousCharacter.FillZ();
-
-    TCursorSelection curSel;
-    if ( IsFepAwareTextEditor() )
-        {
-        iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(curSel);
-        TInt lowerpos = curSel.LowerPos();
-        if(lowerpos > 0)
-            {
-            iInputCapabilities.FepAwareTextEditor()->
-                GetEditorContentForFep(previousCharacter, lowerpos-1, ESingleCharacter);
-            if (previousCharacter.Length())
-                return previousCharacter[0];
-            }
-        }
-    return NULL;
-    }
-
-TBool CAknFepManager::IsZWSCharacterPresent( TBool aLigaturePresent /* = EFalse*/ )
-    {
-    TBuf<3> previousCharacter;
-    previousCharacter.Zero();
-    TBool found = EFalse;
-    previousCharacter.FillZ();
-
-    TCursorSelection curSel;
-    if ( IsFepAwareTextEditor() )
-        {
-        MCoeFepAwareTextEditor* fepAwareTextEditor = 
-            iInputCapabilities.FepAwareTextEditor();
-        fepAwareTextEditor->GetCursorSelectionForFep(curSel);
-        TInt lowerpos = curSel.LowerPos();
-        if( lowerpos > 1 )
-            {
-            if( aLigaturePresent && lowerpos > 3 )
-                {
-                fepAwareTextEditor->
-                    GetEditorContentForFep(previousCharacter, 
-                                            lowerpos - 4, 2);
-                }
-            else
-                {
-                fepAwareTextEditor->
-                    GetEditorContentForFep(previousCharacter, 
-                                            lowerpos - 2, 2);
-                }
-            if( previousCharacter[0] == ZERO_WIDTH_SPACE
-                     || previousCharacter[1] == ZERO_WIDTH_SPACE )
-                {
-                found = ETrue;
-                }   
-            }
-        }
-    return found;
-    }
-
-TText CAknFepManager::NextChar()    
-    {
-    TBuf<ESingleCharacter> nextCharacter(ESingleCharacter);
-    nextCharacter.FillZ();
-
-    TCursorSelection curSel;
-    if ( IsFepAwareTextEditor() )
-        {
-        iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(curSel);
-        TInt higherpos = curSel.HigherPos();
-        TInt maxLength = iInputCapabilities.FepAwareTextEditor()->DocumentLengthForFep();
-        if ( higherpos >= 0 && higherpos <= maxLength && maxLength >= 1 ) 
-            {
-            iInputCapabilities.FepAwareTextEditor()->
-                GetEditorContentForFep(nextCharacter, higherpos, ESingleCharacter);
-            if( nextCharacter.Length() )    
-                return nextCharacter[0];
-            }
-        }
-    return NULL;    
-    }
-    
-void CAknFepManager::FindStartOfWord(TInt& aAnchorPos) const
-    {
-    TBuf<ESingleCharacter> characterBuffer;
-    FOREVER
-        {
-        if (aAnchorPos<=0)
-            {
-            break; // start of editor
-            }
-        iInputCapabilities.FepAwareTextEditor()->GetEditorContentForFep(characterBuffer, 
-                                                                        aAnchorPos-1, 
-                                                                        ESingleCharacter);
-        if (!IsValidInLineCharacter(characterBuffer[0]))
-            {
-            break;
-            }
-        aAnchorPos--;
-        }
-    }
-
-void CAknFepManager::FindEndOfWord(TInt& aCursorPos) const
-    {
-    TBuf<ESingleCharacter> characterBuffer;
-    FOREVER
-        {
-        if (aCursorPos>=iInputCapabilities.FepAwareTextEditor()->DocumentLengthForFep())
-            {
-            break; // end of editor
-            }
-        iInputCapabilities.FepAwareTextEditor()->GetEditorContentForFep(characterBuffer, 
-                                                                        aCursorPos, 
-                                                                        ESingleCharacter);
-        if (!IsValidInLineCharacter(characterBuffer[0]))
-            {
-            break;
-            }
-        aCursorPos++;
-        }
-    }
-
-TBool CAknFepManager::CursorInsideWord()
-    {
-    TBuf<ESingleCharacter> characterBuffer;
-    TBool insideWord=ETrue;
-
-    iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(iUncommittedText);
-    TInt cursorPos=iUncommittedText.iCursorPos;
-
-    if (cursorPos)
-        {
-        // check character before cursor
-        iInputCapabilities.FepAwareTextEditor()->GetEditorContentForFep(characterBuffer, 
-                                                                        cursorPos-1, 
-                                                                        ESingleCharacter);
-        if (characterBuffer.Length())
-			{
-            if (!IsValidInLineCharacter(characterBuffer[0]))
-                {
-                insideWord=EFalse;
-                }
-			}	
-        }
-    else // at start of editor
-        {
-        insideWord=EFalse;
-        }
-
-    if (insideWord && cursorPos<iInputCapabilities.FepAwareTextEditor()->DocumentLengthForFep())
-        {
-        // put character after cursor into buffer
-        iInputCapabilities.FepAwareTextEditor()->GetEditorContentForFep(characterBuffer, cursorPos,
-                                                                        ESingleCharacter);
-        if (characterBuffer.Length())
-			{
-            if (!IsValidInLineCharacter(characterBuffer[0]))
-                {
-                insideWord=EFalse;
-                }
-			}	
-        }
-    else // at end of editor
-        {
-        insideWord=EFalse;
-        }
-
-    return insideWord;
-    }
-
-void CAknFepManager::MoveCursorToStartOfWordL()
-    {
-    TInt anchorPos=iUncommittedText.iAnchorPos;
-    FindStartOfWord(anchorPos);
-    iUncommittedText.SetSelection(anchorPos, anchorPos);
-    iInputCapabilities.FepAwareTextEditor()->SetCursorSelectionForFepL(iUncommittedText);
-    }
-
-void CAknFepManager::MoveCursorToEndOfWordL()
-    {
-    TInt cursorPos=iUncommittedText.iCursorPos;
-    
-    if(!IsExtendedFlagSet(EExtendedFlagOkKeyPressOnCandidatePopup))    
-    	FindEndOfWord(cursorPos);
-    iUncommittedText.SetSelection(cursorPos, cursorPos);
-    iInputCapabilities.FepAwareTextEditor()->SetCursorSelectionForFepL(iUncommittedText);
-    }
-
-TKeyResponse CAknFepManager::HandleNaviEventOutsideInlineEditL(TUint aCode, 
-                                                               TKeyPressLength aLength)
-    {
-    TKeyResponse response = EKeyWasNotConsumed;
-
-    if (TryHandleCommonArrowAndBackspaceFunctionalityL(aCode, response))
-        {
-        return response;
-        }
-    if (WesternPredictive())
-        {
-        response = HandlePredictiveNaviEventOutsideInlineEditL(aCode, aLength);
-        }
-
-    return response;
-    }
-
-TKeyResponse CAknFepManager::HandleWesternPredictiveArrowKeyL(TInt aCode, TKeyPressLength aLength)
-    {
-    TKeyResponse response = EKeyWasNotConsumed;
-    
-    if (IsFlagSet(EFlagLineFeedCharacter))
-        {
-        // This event will stop the multitapping timer for enter chr.
-        // just return.
-        return EKeyWasConsumed;                
-        }
-
-	TCursorSelection selection;
-    iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(selection);
-    if(!IsMfneEditor() &&
-         ( iFepPluginManager->PluginInputMode() == EPluginInputModeItut) &&
-         selection.Length() > 0)
-        {
-        // If open virtual ITUT and highlight some chars
-        return EKeyWasConsumed;
-        }        
-    if (aCode == EKeyUpArrow || aCode == EKeyDownArrow)
-        {
-        ClearFlag(EFlagCompoundWord);
-        if (IsFlagSet(EFlagInsideInlineEditingTransaction))
-            {
-            // moving out of an inline edit
-            TryRemoveNoMatchesIndicatorL();
-            UpdateCbaL(NULL);
-            // To rip off suggested word completion when user presses UP / DOWN arrow keys
-            if(IsAutoCompleteOn())
-           		{
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-           		
-           		RemoveSuggestedCompletionL();
-           		
-#else
-           		TInt tailLength = 0;
-           		iPtiEngine->HandleCommandL( EPtiCommandGetAutoCompletionTailLength, 
-										&tailLength );
-           		if(tailLength > 0)
-           			{
-           			RemoveSuggestedAdvanceCompletionL();
-           			return EKeyWasConsumed;
-           			}
-#endif          	
-            	}
-            if (IsFlagSet(EFlagShiftKeyDepressed) || IsCcpuFlagSet(ECcpuStateHashDown))
-                {
-                CommitInlineEditL();
-                TryCloseUiL();
-                SimulateKeyEventL(EKeyF19);  // Asyncronous case update
-                // pass to editor for text selection.
-                response=EKeyWasNotConsumed;
-                }
-            }
-		if ((iInputCapabilities.FepAwareTextEditor() && !TryHandleTextSelectedNaviEventL(aCode, response)) && !IsFlagSet(EFlagShiftKeyDepressed))
-            {
-            if (IsFlagSet(EFlagInsideInlineEditingTransaction))
-                {
-                ClearFlag(CAknFepManager::EFlagNoMatches);
-                TryRemoveNoMatchesIndicatorL();
-                CommitInlineEditL();
-                }
-            UpdateCbaL(NULL);
-
-            // simulate a designated key event to catch and check if we're inside a word
-            if (aCode == EKeyDownArrow)
-                {
-                SimulateKeyEventL(EKeyF22);
-                }
-            else
-                {
-                SimulateKeyEventL(EKeyF23);
-                }
-            // pass to editor for text selection.
-            response=EKeyWasNotConsumed;
-            }
-        else if (IsFlagSet(EFlagShiftKeyDepressed) || IsCcpuFlagSet(ECcpuStateHashDown))
-            {
-            // Need to update case indicator if text selection is made upwards.
-            SimulateKeyEventL(EKeyF19);
-            }
-        }
-    else // right or left
-        {
-        if (IsFlagSet(EFlagInsideInlineEditingTransaction))
-            {
-            // moving out of an inline edit
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-                if(IsAutoCompleteOn())
-                	{
-                	if((aCode == EKeyLeftArrow && 
-                	    		CurrentInputDirectionality() == TBidiText::ELeftToRight) || 
-                	    (aCode == EKeyRightArrow && 
-                	    		CurrentInputDirectionality() == TBidiText::ERightToLeft))
-                		{
-                		RemoveSuggestedCompletionL();	
-                		}
-                	}
-#else
-            if(IsAutoCompleteOn())
-            	{
-                TInt tailLength = 0;
-            	iPtiEngine->HandleCommandL( EPtiCommandGetAutoCompletionTailLength, &tailLength );
-            	// In case the inline editing is ongoing and there is a word completion
-                // currently shown, the first backwards tap will remove the suggested 
-                // completion. 
-                if(tailLength > 0)
-	                {
-	                if (((CurrentInputDirectionality()==TBidiText::ERightToLeft) && aCode == EKeyLeftArrow) 
-	                	|| ((CurrentInputDirectionality()==TBidiText::ELeftToRight) && aCode == EKeyRightArrow ))
-	                    {
-					    iPtiEngine->HandleCommandL( EPtiCommandLockCurrentCandidate);
-					    TPtrC selectedWord = iPtiEngine->CurrentWord();
-                        UpdateInlineEditL( selectedWord, selectedWord.Length() );  //selection.iAnchorPosition
-                        iPtiEngine->CommitCurrentWord();
-                        TryCloseUiL();
-                        // Asyncronous case update after the editor has handled the key
-                		SimulateKeyEventL(EKeyF19); 
-	                    response=EKeyWasConsumed;
-	                    }
-	                else if(((CurrentInputDirectionality()== TBidiText::ERightToLeft ) && aCode == EKeyRightArrow) 
-	                	|| ((CurrentInputDirectionality()== TBidiText::ELeftToRight) && aCode == EKeyLeftArrow )) 
-		                {
-	                    RemoveSuggestedAdvanceCompletionL();
-	                    response=EKeyWasConsumed;
-		                } 
-			           return response;   	
-	                }
-	                else if (!IsQwerty())
-		                {
-		                iPtiEngine->CommitCurrentWord();
-		                }
-				
-            	}
-#endif // RD_INTELLIGENT_TEXT_INPUT
-            TryRemoveNoMatchesIndicatorL();
-            UpdateCbaL(NULL);
-            if (IsFlagSet(EFlagShiftKeyDepressed) || IsCcpuFlagSet(ECcpuStateHashDown))
-                {
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-                 if(IsAutoCompleteOn()) // To rip off suggested completion when shift key is pressed 
-                 	{
-                 	RemoveSuggestedCompletionL();
-                	}
-#endif //RD_INTELLIGENT_TEXT_INPUT
-                CommitInlineEditL();
-                TryCloseUiL();
-                SimulateKeyEventL(EKeyF19);  // Asyncronous case update
-                // pass to editor for text selection.
-                response=EKeyWasNotConsumed;
-                }
-            else
-                {
-                TWesternNaviEvent naviEvent = ELeftNaviEvent;
-                if (aCode == EKeyRightArrow)
-                    {
-                    naviEvent = ERightNaviEvent;
-                    }
-                // Find the visual left/right end of the current word
-                TTmDocPosSpec pos;
-                GetAvkonDefinedVisualLimitsOfSelection(
-                    iUncommittedText, naviEvent, pos, NULL );
-
-                if (IsCcpuFlagSet(ECcpuStateNewPredictiveWord))
-                    {
-                    // This is new predictive word which is being committed with arrow
-                    // key. Force ::TryCloseUiL to commit PtiEngie word to keep
-                    // frequency information in sync.
-                    SetCcpuFlag(ECcpuStataCommitPredictiveWord);
-                    }
-
-                TryCloseUiL();
-
-                // Position should be dis-ambiguated based on last navigation and direction of blocks.
-                AdjustPosSpecForAmbiguityAfterLeftOrRightNavigation( pos, naviEvent );
-
-                SetCursorPositionL( pos );
-                if (CursorInsideWord() && naviEvent == ERightNaviEvent)
-                {
-                    MoveCursorToEndOfWordL();
-                }
-
-                iCaseMan->UpdateCase(ENullNaviEvent);
-                response=EKeyWasConsumed;
-                }
-            }
-        else
-            {
-#ifndef RD_INTELLIGENT_TEXT_INPUT            
-            if ( iLanguageCapabilities.iInputLanguageCode == ELangThai ) // Without this, t9 goes inside words
-                {                               // That is not allowed in Thai
-                response = EKeyWasNotConsumed;
-                }
-            else
-#endif //RD_INTELLIGENT_TEXT_INPUT
-            response = HandleNaviEventOutsideInlineEditL(aCode, aLength);
-            if (response == EKeyWasNotConsumed)
-                {
-                // moving over a space
-                if (aCode == EKeyLeftArrow && !IsFlagSet(EFlagShiftKeyDepressed))
-                    {
-                    iCaseMan->UpdateCase(ELeftNaviEvent);
-                    }
-                else if (!IsFlagSet(EFlagShiftKeyDepressed)) // EKeyRightArrow
-                    {
-                    iCaseMan->UpdateCase(ERightNaviEvent);
-                    }
-                }
-            else
-                iCaseMan->UpdateCase(ENullNaviEvent);
-            }
-        }
-    return response;
-    }
-
-TBool CAknFepManager::TryHandleTextSelectedNaviEventL(TInt aCode, TKeyResponse& response)
-    {
-    iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(iUncommittedText);
-
-    if (!IsFlagSet(EFlagShiftKeyDepressed) && iUncommittedText.Length())
-        {
-        if (aCode == EKeyBackspace)
-            {
-            iCaseMan->UpdateCase(EBackspaceEvent);
-            response = EKeyWasNotConsumed;
-            }
-        else
-            {
-            TInt newCursorPos = iUncommittedText.HigherPos(); //default, right or down
-            if (aCode == EKeyLeftArrow || aCode == EKeyUpArrow)
-                {
-                newCursorPos = iUncommittedText.LowerPos();
-                }
-            iUncommittedText.SetSelection(newCursorPos, newCursorPos);
-            iInputCapabilities.FepAwareTextEditor()->SetCursorSelectionForFepL(iUncommittedText);
-
-            if (WesternPredictive())
-                {
-                if (CursorInsideWord())
-                    {
-                    if (aCode == EKeyLeftArrow || aCode == EKeyUpArrow)
-                        {
-                        MoveCursorToStartOfWordL();
-                        }
-                    else //right or down
-                        {
-                        MoveCursorToEndOfWordL();
-                        }
-                    }
-                iCaseMan->UpdateCase(ENullNaviEvent);
-                }
-            response = EKeyWasConsumed;
-            }
-        return ETrue;
-        }
-    return EFalse;
-    }
-
-TBool CAknFepManager::TryHandleCommonArrowAndBackspaceFunctionalityL(TInt aCode, 
-                                                                     TKeyResponse& aResponse)
-    {
-    TBool keyHandled = ETrue;
-    if ( !IsFepAwareTextEditor() )
-        {
-        aResponse=EKeyWasNotConsumed;
-        return keyHandled;
-        }
-#ifdef RD_HINDI_PHONETIC_INPUT        
-	if(iLanguageCapabilities.iInputLanguageCode == KLangHindiPhonetic)
-		{
-		if (aCode == EKeyBackspace)
-        	{
-        	CommitInlineEditL();
-        	FepUI()->HandleKeyL(aCode, EShortKeyPress);
-        	}
-		if(IsFlagSet(CAknFepManager::EFlagNoMatches)) 
-			{
-			if(PreviousChar() == 0x003F && aCode != EKeyBackspace)
-				{
-				RemovePreviousCharacterL();		
-				}
-			ClearFlag(CAknFepManager::EFlagNoMatches);
-			FepUI()->ExpireMultitapTimer();
-			}
-		iPtiEngine->HandleCommandL(EPtiCommandBreakSyllable, NULL );
-		}
-#endif		
-    if (IsFlagSet(EFlagInsideMultitapInlineEditingTransaction))
-        {
-        FepUI()->ExpireMultitapTimer();
-
-        if (aCode == EKeyBackspace)
-            {
-            aResponse = EKeyWasNotConsumed; // let editor handle the move
-            }
-        else
-            {
-            aResponse = EKeyWasConsumed;
-            }
-        }
-    else
-        {
-        //selecting text
-        if (IsFlagSet(EFlagShiftKeyDepressed) || IsCcpuFlagSet(ECcpuStateCopy | ECcpuStateCut))
-            {
-            if (iShiftKeypressMonitor->IsActive())
-                {
-                ResetShiftKeyMonitorL();    //don't want edit menu
-                }
-            ClearFlag(EFlagQwertyShiftMode);
-            SimulateKeyEventL(EKeyF19);  // Asyncronous case update
-            aResponse = EKeyWasNotConsumed;
-            return keyHandled;
-            }
-
-        TCursorSelection currentEditorSelection;
-        iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(currentEditorSelection);
-
-        TWesternNaviEvent naviEvent = ENullNaviEvent;
-
-        // Translate key code to internal navi-event
-        switch( aCode )
-            {
-            case EKeyUpArrow:
-                naviEvent = EUpNaviEvent;
-                break;
-            case EKeyDownArrow:
-                naviEvent = EDownNaviEvent;
-                break;
-            case EKeyRightArrow:
-                naviEvent = ERightNaviEvent;
-                break;
-            case EKeyLeftArrow:
-                naviEvent = ELeftNaviEvent;
-                break;
-            default: // just leave it as NULL
-                break;
-            }
-
-        if (currentEditorSelection.Length())
-            {
-            // we have text selected - set cursor to start/end of current selection
-            TTmDocPosSpec newPos;
-            aResponse = NavigateFromSelectionL( currentEditorSelection, naviEvent, newPos );
-            if ( aCode != EKeyBackspace && WesternPredictive() )
-                {
-                if (CursorInsideWord())
-                    {
-                    TBool rightToleftParagraph = IsRightToLeftParagraph(newPos);
-                    if ( (rightToleftParagraph && naviEvent == ELeftNaviEvent) ||
-                         (!rightToleftParagraph && naviEvent == ERightNaviEvent) )
-                        {
-                        MoveCursorToEndOfWordL();
-                        }
-                    else
-                        {
-                        MoveCursorToStartOfWordL();
-                        }
-                    }
-
-                }
-            }
-        else if (!(EditorState()->Flags() & EAknEditorFlagNoLRNavigation))
-            {
-            if ((naviEvent != ENullNaviEvent) && HandleLoopingInNaviEventL(naviEvent))
-                {
-                aResponse=EKeyWasConsumed;
-                }
-            else
-                {
-                if (iMode == ELatin)
-                    {
-                    // normal operation of Down/Up scroll keypress action.
-                    switch( aCode )
-                        {
-                        case EKeyUpArrow:
-                        case EKeyDownArrow:
-                            SimulateKeyEventL(EKeyF22);
-                            break;
-                        case EKeyRightArrow:
-                        case EKeyLeftArrow:
-                            {
-                            /*Hindi*/
-                            if( (TAknFepUiIndicInputManager :: IsIndicLangauge(
-                                      TLanguage(iLanguageCapabilities.iInputLanguageCode))) 
-                                 && IsZWSCharacterPresent() )
-                                {
-                                RemoveZWSCharacterL(EKeyLeftArrow); 
-                                }
-                            }
-                            break;
-                        default: // nothing
-                            break;
-                        }
-                    }
-                keyHandled = EFalse;
-                }
-            }
-        }
-
-    return keyHandled;
-    }
-
-/**
-* Routine handled navigation and also backspace events at "beginning" of document
-*
-*/
-TBool CAknFepManager::HandleLoopingInNaviEventL(TWesternNaviEvent aNaviEvent)
-    {
-    TBool looping = EFalse;
-    TBool eventHandled = EFalse;
-    TTmDocPosSpec newCursorPos;
-
-    // This routine may handle Left, Right and Backspace and nothing else
-    // Note that Up and Down cannot do any sort of document looping in FEP
-    if ( aNaviEvent != ELeftNaviEvent
-        && aNaviEvent != ERightNaviEvent
-        && aNaviEvent != EBackspaceEvent )
-        return eventHandled; // not consumed
-
-    TTmDocPosSpec pos = DocPos();
-    TBool rightToLeftParagraph = IsRightToLeftParagraph(pos);
-
-    TWesternNaviEvent incrementingNaviEvent = 
-                                          rightToLeftParagraph ? ELeftNaviEvent : ERightNaviEvent;
-    TWesternNaviEvent decrementingNaviEvent = 
-                                          rightToLeftParagraph ? ERightNaviEvent : ELeftNaviEvent;
-
-    if (aNaviEvent == decrementingNaviEvent)
-        {
-        // Abandon early if we are not in the first line.
-        if ( InFirstLineAndFormatted( pos ) )
-            {
-            TTmDocPosSpec startPos;
-            GetVisualDocStart( startPos );
-             if( AtVisualStart( pos, startPos ) )
-                {
-                TTmDocPosSpec endPos;
-                if ( !GetVisualDocEnd( endPos ) )
-                    {
-                    // End of document is not formatted. Value returned is just pos at DocLength.
-                    // So actually move the cursor there (this is guranteed to format the last line)
-                    // and the end End position is found a 2nd time.
-                    newCursorPos = endPos;
-                    SetCursorPositionL( newCursorPos );
-                    GetVisualDocEnd( endPos );
-                    }
-                newCursorPos = endPos;
-                looping = ETrue;
-                }
-            }
-        }
-    else if (aNaviEvent == incrementingNaviEvent )
-        {
-        if ( InLastLineAndFormatted( pos ) )
-            {
-            TTmDocPosSpec endPos;
-            GetVisualDocEnd( endPos );
-            if( AtVisualEnd( pos, endPos, 
-                             iInputCapabilities.FepAwareTextEditor()->DocumentLengthForFep() ) )
-                {
-                TTmDocPosSpec startPos;
-                if ( !GetVisualDocStart( startPos ) )
-                    {
-                    // Document was not formatted at docPos(0).  So actually move the cursor
-                    // to that line at least, and then ask for the start pos again.
-                    newCursorPos = startPos;
-                    SetCursorPositionL( newCursorPos );
-                    GetVisualDocStart( startPos );
-                    }
-                newCursorPos = startPos;
-                looping = ETrue;
-                }
-            }
-        }
-    else if ( aNaviEvent == EBackspaceEvent )
-        {
-        // Deletion is always logical, so the condition is simply to test the logical pos.
-        if ( pos.iPos ==0 )
-            {
-            eventHandled = ETrue;
-            }
-        }
-
-    if (looping)
-        {
-        // This takes language issues into account, adjusting the cursor position:
-        AdjustPosSpecForInputLanguageAfterDocumentLoop( newCursorPos, aNaviEvent, 
-                                                        (aNaviEvent == incrementingNaviEvent) );
-        SetCursorPositionL( newCursorPos );
-        eventHandled = ETrue;
-        }
-    return eventHandled;
-    }
-
-void CAknFepManager::TransferFepStateToEditorL( TBool aFnLockSync )
-    {
-    // If editor in Fnlock state, need to set actual input mode
-    // because, in case of qwerty keypad alphanumeric editor there is no numeric mode
-    // numeric mode handle as FnLock
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-
-   if( aFnLockSync && iQwertyInputMode && iFnKeyManager && iFnKeyManager->FnKeyState()==CAknFepFnKeyManager::EFnKeyLock)
-        {
-        EditorState()->SetCurrentInputMode(EditorModeFromFepMode(ENumber));
-        // Indicator should not be reset, if menu is displaying from editor.
-        if(!IsFlagSet(EFlagForegroundUIComponentVisible | EFlagMenuPaneVisible))
-            iFnKeyManager->ClearFnKeyState(); 
-        }
-    else
-        {
-#endif
-        EditorState()->SetCurrentInputMode(EditorModeFromFepMode(iMode));
-        
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-        }
-   if(iFnKeyManager && iFnKeyManager->FnKeyState()!=CAknFepFnKeyManager::EFnKeyLock)
-       iFnKeyManager->ClearFnKeyState();       
-
-#endif
-
-    
-    if ((iMode == ELatin && iWesternPredictive &&
-        IsFlagSet(EFlagInsideInlineEditingTransaction)) 
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        ||(IsLanguageSupportPrediction() && IsFlagSet(EFlagInsideInlineEditingTransaction))
-#endif //RD_INTELLIGENT_TEXT_INPUT
-		)
-        {
-        EditorState()->SetInlineEditSpan(iUncommittedText);
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        if (IsFlagSet(CAknFepManager::EFlagNoMatches))
-#endif //RD_INTELLIGENT_TEXT_INPUT
-        TryRemoveNoMatchesIndicatorL();
-        UpdateCbaL(NULL);
-        }
-    else
-        {
-        EditorState()->SetInlineEditSpan(TCursorSelection(0,0));
-        }
-    EditorState()->SetCurrentCaseWithNoInitialisation(iCaseMan->CurrentCase());
-    if ( IsFlagSet( EFlagSupressAutoUpdate ) )
-        {
-        EditorState()->SetFlags( EditorState()->Flags() | EFlagSupressAutoUpdate );
-        }
-    else
-        {
-        EditorState()->SetFlags( EditorState()->Flags() & ~EFlagSupressAutoUpdate );
-        }
-    SetQwertyModeToInputcapbility();
-    }
-
-MAknFepManagerInterface* CAknFepManager::FepUI() const
-    {
-#ifdef RD_SCALABLE_UI_V2
-    if ( iFepFullyConstructed && ( iFepPluginManager->PluginInputMode() != EPluginInputModeNone ) )
-        {
-        if (iFepPluginManager->PluginInputMode() == EPluginInputModeItut)
-            {
-            return iFepPluginManager->CurrentFepInputUI() ?
-                iFepPluginManager->CurrentFepInputUI() : iCurrentFepUI;
-            }
-        if ( iFepPluginManager->EnableITIOnFSQ() )
-            {
-            return iCurrentFepUI;
-            }
-        return iFepPluginManager->CurrentPluginInputFepUI();
-        }
-#endif        
-    return iCurrentFepUI;
-    }
-
-void CAknFepManager::LaunchLanguagesPopupListL(TBool aLaunchedByTouchWin)
-    {
-#ifdef RD_SCALABLE_UI_V2
-    if( iFepPluginManager->PluginInputMode() != EPluginInputModeNone &&
-        iFepPluginManager->PluginInputMode() != EPluginInputModeItut
-        // Add this condition for correction of dim features on FSQ
-        && iFepPluginManager->PluginInputMode() != EPluginInputModeFSQ )
-        {
-        iFepPluginManager->LaunchPenInputLanguageSelectionL(aLaunchedByTouchWin);
-        return;
-        }
-#endif //RD_SCALABLE_UI_V2
-       
-    CArrayFixFlat<TInt>* languages = 
-        new( ELeave )CArrayFixFlat<TInt>( ELanguageArrayGranularity );
-    CleanupStack::PushL( languages );
-    iPtiEngine->GetAvailableLanguagesL( languages );
-
-    // Create a list of languages for the dialog
-    CDesCArrayFlat* languagesList = 
-        new( ELeave )CDesCArrayFlat( ELanguageArrayGranularity );
-    CleanupStack::PushL( languagesList );
-
-    // Item format should be "<icon_index>\t<item_text>"
-    _LIT( KIconIndexSelected,    "0\t" );
-    _LIT( KIconIndexNotSelected, "\t" );// No icon
-    
-    MPtiLanguage* lang = NULL;
-    TInt  currentLanguage = iSharedDataInterface->InputTextLanguage();
-    TInt selectedLanguageIndex = 0;
-    
-    for (TInt ii=0; ii < languages->Count(); ii++)
-        {
-        lang = iPtiEngine->GetLanguage( ( *languages )[ii] );
-        if (!lang)
-            {
-            User::Leave( KErrCorrupt );
-            }
-        // Buffer should contain both tabulator string and localized name:
-        HBufC* langStrBuf = HBufC::NewL( lang->LocalizedName().Length() + 3 );
-        CleanupStack::PushL( langStrBuf );
-        
-        TPtr langStrPtr = langStrBuf->Des();
-
-        // If language is current language - use selected icon in lbx:
-        if( lang->LanguageCode() == currentLanguage )
-            {
-            langStrPtr.Append( KIconIndexSelected );
-            selectedLanguageIndex = ii;
-            }
-        else
-            {
-            langStrPtr.Append( KIconIndexNotSelected );    
-            }
-        langStrPtr.Append( lang->LocalizedName() );
-        languagesList->AppendL( langStrPtr );
-        CleanupStack::PopAndDestroy( langStrBuf );
-        }
-
-    // Add icons to the listbox:
-    CArrayPtr<CGulIcon>* icons = new( ELeave ) CArrayPtrFlat<CGulIcon>(10);
-    CleanupStack::PushL( icons );
-    LoadIconL( icons, EMbmAvkonQgn_prop_sub_current, 
-               EMbmAvkonQgn_prop_sub_current_mask );
-
-    TInt index = 0;
-    SetFlag( EFlagForegroundUIComponentVisible );
-    CleanupStack::Pop( icons );	// iUiInterface->LaunchListPopupL takes ownership immediately
-#ifdef RD_SCALABLE_UI_V2 
-    /* tp teleca fix 17.9.2009 to IKIM-7VK8GG*/
-    /*if( iFepFullyConstructed && iFepPluginManager)
-            {
-            iFepPluginManager->SetMenuState();            
-            }*/
-    // tp teleca fix end
-#endif              
-    // Fire up the dialog
-#ifdef RD_SCALABLE_UI_V2
-    iCancelPopupInQwerty = aLaunchedByTouchWin;
-#endif //RD_SCALABLE_UI_V2
-    TUid fepUid = CCoeEnv::Static()->FepUid();
-    ClearExtendedFlag(EExtendedFlagEdwinEditorDestroyed);
-    TInt returnValue = iUiInterface->LaunchListPopupL(R_AVKON_T9_LANGUAGES_QUERY, index, 
-                                                      selectedLanguageIndex, languagesList, icons);
-#ifdef RD_SCALABLE_UI_V2
-    iCancelPopupInQwerty = EFalse;
-#endif //RD_SCALABLE_UI_V2    
-    PrepareFepAfterDialogExitL(fepUid);
-    CleanupStack::PopAndDestroy( languagesList );
-
-    if(returnValue == EAknSoftkeyOk)
-        {
-        // Selected item index from the languages array
-        HandleChangeInFocusL();
-
-        // The user has changed language and the local language is not used any more.
-        iLanguageCapabilities.iLocalInputLanguageInUse = EFalse;
-        if (EditorState())
-            {
-            EditorState()->SetLocalLanguage( ELangTest );
-            }
-
-        TBool westernPredictiveInUse = WesternPredictive();
-
-// Truncate autocompletion portion on change of writing language
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-		RemoveSuggestedAdvanceCompletionL();
-#endif // RD_INTELLIGENT_TEXT_INPUT   
-        //Hindi Change Bug Fix
-        iSharedDataInterface->SetInputTextLanguage(languages->At(index));
-        CAknEnv::Static()->SettingCache().Update(KEikInputLanguageChange);
-        ChangeInputLanguageL(languages->At(index));           
-        SetFlag( EFlagNewSharedDataInputLanguage | EFlagNewSharedDataInputMode );
-	  	// This pice of code TSW Fute error fixing.
-        // Display the confirmation msg if the dictionary is not available for
-        // Current language.
-#ifdef RD_INTELLIGENT_TEXT_INPUT         
-        // Display the confirmation msg only for Western languages
-        if (!IsChineseInputLanguage())
-        	{
-	        if (!IsLanguageSupportPrediction())
-	        	{
-	        	LaunchConfirmationNoteL(R_AVKON_T9_NOTE_NO_AVAILABLE);
-	        	}     
-        	}
-#endif
-        
-          
-        }
-    CleanupStack::PopAndDestroy( languages );
-    }
-
-void CAknFepManager::LaunchRecognitionWithDictionaryPopupListL()
-    {
-#ifdef RD_SCALABLE_UI_V2
-    if( iFepPluginManager && (iFepPluginManager->PluginInputMode() == EPluginInputModeHwr) )
-        {
-        iFepPluginManager->LaunchPenInputRecognitionWithDictionarySelectionL();
-        return;
-        }
-#endif //RD_SCALABLE_UI_V2
-    }
-
-void CAknFepManager::LoadIconL( CArrayPtr<CGulIcon>* aIcons, 
-                                TInt aBitmapId, 
-                                TInt aMaskId )
-    {
-    CGulIcon* icon = CGulIcon::NewLC();
-    CFbsBitmap* bitmap = 0;
-    CFbsBitmap* mask = 0;
-    AknIconUtils::CreateIconL(  bitmap, mask, KAvkonBitmapFile, aBitmapId, aMaskId );
-    icon->SetBitmap( bitmap );
-    icon->SetMask( mask );
-    aIcons->AppendL( icon );
-    CleanupStack::Pop( icon );
-    }
-
-
-TBool CAknFepManager::IsInputModeAvailable(TInt aMode) const
-    {
-    TBool isAvailable = ETrue;
-    const TInt inputLanguage = iLanguageCapabilities.iInputLanguageCode;
-    switch (aMode)
-        {
-        case ELatin:
-            isAvailable = !( ( inputLanguage == ELangPrcChinese ) &&
-                (iAknEditorFlags & EAknEditorFlagForceTransparentFepModes));
-            break;
-        case EPinyin:
-            isAvailable = ( inputLanguage == ELangPrcChinese );
-            break;
-        case EStroke:
-            isAvailable = ( inputLanguage == ELangPrcChinese || 
-                inputLanguage == ELangHongKongChinese || 
-                inputLanguage == ELangTaiwanChinese);
-            break;
-        case ECangJie:
-            {
-            isAvailable = ( ( inputLanguage == ELangHongKongChinese ) &&
-                          iQwertyInputMode );
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-#ifdef __HALF_QWERTY_KEYPAD            
-            isAvailable = isAvailable && (EPtiKeyboardHalfQwerty != KeyboardLayout()); 
-#endif //__HALF_QWERTY_KEYPAD
-#endif //RD_INTELLIGENT_TEXT_INPUT
-            }
-            
-            break;
-        case EZhuyin:
-            isAvailable = ( inputLanguage == ELangTaiwanChinese );
-            break;
-        case EPRCFind:
-            isAvailable = ( ( inputLanguage == ELangPrcChinese ) &&
-                (iAknEditorFlags & EAknEditorFlagForceTransparentFepModes));
-            break;
-        case EZhuyinFind:
-            isAvailable = ( ( inputLanguage == ELangTaiwanChinese ) &&
-                (iAknEditorFlags & EAknEditorFlagForceTransparentFepModes));
-            break;
-        case EStrokeFind:
-            isAvailable = ( ( inputLanguage == ELangHongKongChinese ) &&
-                (iAknEditorFlags & EAknEditorFlagForceTransparentFepModes));
-            break;
-        case EHiraganaKanji:
-            isAvailable = (inputLanguage == ELangJapanese);
-            break;
-        case EKatakana:
-            isAvailable = (inputLanguage == ELangJapanese );
-            break;
-        case EHindi:
-            isAvailable = (inputLanguage == ELangHindi );
-            break;
-        case EHangul:
-            isAvailable = (inputLanguage == ELangKorean );
-            break;
-        case ENativeNumber:
-            isAvailable = (inputLanguage == ELangHindi 
-                || inputLanguage == ELangArabic 
-                || inputLanguage == ELangUrdu
-                || inputLanguage == ELangFarsi/*
-                || ( inputLanguage == ELangThai && iFepPluginManager && 
-                     iFepPluginManager->PluginInputMode() != EPluginInputModeItut &&
-                     iFepPluginManager->PluginInputMode() != EPluginInputModeNone)*/ );
-        default:
-            break;
-        }
-    return isAvailable;
-    }
-
-TInt CAknFepManager::NewInputModeAfterLanguageChange() const
-    {
-    TInt inputMode = 0;
-    switch (iLanguageCapabilities.iInputLanguageCode)
-        {
-        case ELangPrcChinese:
-            if ( iAknEditorFlags & EAknEditorFlagForceTransparentFepModes )
-                {
-                inputMode = ELatin; // EPRCFind from hashkey loop
-                }
-            else
-                {
-                inputMode = EPinyin;
-                }
-            break;
-        case ELangHongKongChinese:
-            if ( iAknEditorFlags & EAknEditorFlagForceTransparentFepModes )
-                {
-                inputMode = EStrokeFind;
-                }
-            else
-                {
-                TInt sharedDataMode = iSharedDataInterface->InputMode();
-	            if (iQwertyInputMode && 
-	            	sharedDataMode == ECangJie)
-	            	{
-	            	inputMode = ECangJie;
-	            	}
-	            else
-	            	{
-	            	inputMode = EStroke;
-	            	}
-                }
-            break;
-        case ELangTaiwanChinese:
-            if ( iAknEditorFlags & EAknEditorFlagForceTransparentFepModes )
-                {
-                inputMode = EZhuyinFind;
-                }
-            else
-                {
-                inputMode = EZhuyin;
-                }
-            break;
-        case ELangJapanese:
-            inputMode = EHiraganaKanji;
-            break;
-        case ELangKorean:
-            inputMode = EHangul;
-            break;
-        default:
-            inputMode = ELatin;
-            break;
-        }
-    return inputMode;
-    }
-
-void CAknFepManager::SetInputLanguageCapabilities(const TInt aInputLanguage)
-    {
-    iLanguageCapabilities.iInputLanguageCode = aInputLanguage;
-
-    if ( aInputLanguage == ELangArabic || aInputLanguage == ELangHebrew || 
-         aInputLanguage == ELangFarsi  || aInputLanguage == ELangUrdu )
-        {
-        iLanguageCapabilities.iSupportsCase = EFalse;
-        iLanguageCapabilities.iRightToLeftLanguage = ETrue;
-        SetCursorTypeForInputDirection(EFalse);
-        }
-    else
-        {
-        /*Hindi*/
-        if ( aInputLanguage == ELangThai 
-        || (TAknFepUiIndicInputManager :: IsIndicLangauge(TLanguage(aInputLanguage)))
-        ) 
-            {
-            iLanguageCapabilities.iSupportsCase = EFalse;
-            }
-        else
-            {
-            iLanguageCapabilities.iSupportsCase = ETrue;
-            }
-        iLanguageCapabilities.iRightToLeftLanguage = EFalse;
-        SetCursorTypeForInputDirection(ETrue);
-        }
-
-    TLanguage uiLanguage = User::Language();
-    iLanguageCapabilities.iArabicIndicDigitsAllowed = 
-             ( aInputLanguage == ELangArabic || uiLanguage == ELangArabic);
-    iLanguageCapabilities.iEasternArabicIndicDigitsAllowed = ( 
-        ( aInputLanguage == ELangUrdu || uiLanguage == ELangUrdu ) ||
-        ( aInputLanguage == ELangFarsi|| uiLanguage == ELangFarsi ) );
-    /*Hindi*/
-    iLanguageCapabilities.iIndicDigitsAllowed =  
-             ( (TAknFepUiIndicInputManager :: IsIndicDigitsSupported(TLanguage(aInputLanguage))) );
-    UpdateLocalDigitMode();
-
-    MAknFepManagerInterface* fepUI = iLangMan->GetFepUI(ELatin, iCharWidth, ETrue);
-    MPtiLanguage* ptiLanguage = iPtiEngine->GetLanguage(fepUI->SupportLanguage(ELatin));
-    if (ptiLanguage) // can be NULL in some uncommon situations, see TAVN-6SWB4Z
-        {
-        iLanguageCapabilities.iSupportsWesternPredictive = 
-                                           ptiLanguage->HasInputMode(EPtiEnginePredictive);
-        // tp teleca change Korean lang does not support predictive
-        // and we want to disable predictive even with local editors
-        if(/*IsKoreanInputLanguage()*/GetInputLanguageFromSharedDataInterface() == ELangKorean )
-            {
-            iLanguageCapabilities.iSupportsWesternPredictive = EFalse;
-            }
-        
-        
-        // tp teleca change end
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        // Predictive QWERTY (XT9) changes ---->
-        iLanguageCapabilities.iSupportsWesternQwertyPredictive = 
-                                           ptiLanguage->HasInputMode(EPtiEngineQwertyPredictive );
-        if ( GetInputLanguageFromSharedDataInterface() == ELangKorean )
-            {
-            iLanguageCapabilities.iSupportsWesternQwertyPredictive = EFalse;            
-            }
-        
-        // Predictive QWERTY (XT9) changes <----
-#ifdef __HALF_QWERTY_KEYPAD
-		iLanguageCapabilities.iSupportsWesternHalfQwertyPredictive = ptiLanguage->HasInputMode(EPtiEngineHalfQwertyPredictive );
-#endif         
-#endif //RD_INTELLIGENT_TEXT_INPUT
-        }
-
-    if (!iLanguageCapabilities.iSupportsWesternPredictive 
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        && !iLanguageCapabilities.iSupportsWesternQwertyPredictive 
-        // Predictive QWERTY changes
-#ifdef __HALF_QWERTY_KEYPAD
-		&& !iLanguageCapabilities.iSupportsWesternHalfQwertyPredictive 
-#endif //__HALF_QWERTY_KEYPAD        
-#endif //RD_INTELLIGENT_TEXT_INPUT
-        ) // Predictive QWERTY changes
-        {
-        SetWesternPredictive(EFalse);
-        }
-    }
-
-TInt CAknFepManager::SubstituteSublanguageId(const TInt aUiLanguage) const
-    {
-    return DefaultInputLanguageFromUILanguage(aUiLanguage);
-    }
-
-TTmDocPosSpec CAknFepManager::DocPos()
-    {
-    TTmDocPosSpec docPos = TTmDocPosSpec();
-    TTmDocPos rawDocPos;
-    TBool gotPos = EFalse;
-    MAknFepDocumentNavigation* docNavi = AknFepDocumentNavigation();
-    if (docNavi)
-    	{
-        docNavi->GetDocPos(rawDocPos);
-        gotPos = ETrue;
-    	}
-    else
-    	{
-	    CTextView* textView = TextView();
-	    if (textView)
-	        {
-	        TextView()->GetCursorPos(rawDocPos);
-	        gotPos = ETrue;
-	        }
-    	}
-    if (gotPos)
-    	{
-        docPos.iPos = rawDocPos.iPos;
-        TTmDocPosSpec::TType docPosType = 
-                      rawDocPos.iLeadingEdge ? TTmDocPosSpec::ELeading : TTmDocPosSpec::ETrailing;
-        docPos.iType = docPosType;
-        }
-    return docPos;
-    }
-
-/**
-* This method needs EditorState() to exist
-*
-*/
-CTextView* CAknFepManager::TextView() const
-    {
-    if (EditorState())
-        {
-        CAknEdwinFormAccessor* formAccessor = EditorState()->FormAccessor();
-        if (formAccessor)
-            {
-            return formAccessor->GetTextView();
-            }
-        }
-    return NULL;
-    }
-
-CTextLayout* CAknFepManager::TextLayout() const
-    {
-    if( EditorState() )
-        {
-        CAknEdwinFormAccessor* formAccessor = EditorState()->FormAccessor();
-        if (formAccessor)
-            {
-            return formAccessor->GetTextLayout();
-            }
-        }
-    return NULL;
-    }
-    
-CPlainText* CAknFepManager::PlainText() const
-    {
-    return iUiInterface->PlainText(EditorState());
-    }
-
-/**
-* Checks if the paragraph containing aPos is Right to left.
-* This routine will return nonsense if
-*   - TextLayout() does not return a pointer
-*   - the position passed is not in the formatted region
-*
-* Note, the return value from FindDocPos is thrown away
-*/
-TBool CAknFepManager::IsRightToLeftParagraph(TTmDocPosSpec aPos) const
-    {
-    TTmPosInfo2 posInfo;
-    TTmLineInfo lineInfo;
-    MAknFepDocumentNavigation* docNavi = AknFepDocumentNavigation();
-    if (docNavi)
-    	{
-    	docNavi->FindDocPos(aPos, posInfo, lineInfo);
-    	}
-	else
-		{
-	    CTextLayout* textLayout = TextLayout();
-	    if (textLayout)
-	        {
-	        textLayout->TagmaTextLayout().FindDocPos(aPos, posInfo, lineInfo);
-	        }
-		}
-		
-    return lineInfo.iFlags & TTmLineInfo::EParRightToLeft;
-    }
-
-
-void CAknFepManager::FindAdjacentChunks(const TTmDocPosSpec& aPos,
-                                        CTmTextLayout::TTmChunkDescription& aLeft, 
-                                        CTmTextLayout::TTmChunkDescription& aRight) const
-    {
-    aLeft.iStart = -1;
-    aLeft.iEnd = -1;
-    aLeft.iRightToLeft = EFalse;
-    aRight.iStart = -1;
-    aRight.iEnd = -1;
-    aRight.iRightToLeft = EFalse;
-
-    MAknFepDocumentNavigation* docNavi = AknFepDocumentNavigation();
-    if (docNavi)
-    	{
-    	docNavi->FindAdjacentChunks(aPos, aLeft, aRight);
-    	}
-    else
-    	{
-    CTextLayout* textLayout = TextLayout();
-    if (textLayout)
-        {
-        textLayout->TagmaTextLayout().FindAdjacentChunks(aPos, aLeft, aRight);
-        }
-    	}
-    }
-
-
-TBool CAknFepManager::GetNextVisualRightCharacter( TInt& aPosition )
-    {
-    TTmDocPosSpec pos = DocPos();
-    TTmPosInfo2 info;
-    TBool nextPositionFound = EFalse;
-    MAknFepDocumentNavigation* docNavi = AknFepDocumentNavigation();
-    if (docNavi)
-    	{
-    	nextPositionFound = docNavi->GetNextVisualCursorPos(pos, info, EFalse);
-    	}
-    else
-    	{
-	    CTextLayout* textLayout = TextLayout();
-	    if (textLayout)
-	        {
-	        nextPositionFound = textLayout->TagmaTextLayout().GetNextVisualCursorPos(pos, 
-                                                                                   info, 
-                                                                                   EFalse);
-	        }
-        }
-    if (nextPositionFound)
-        {
-        aPosition = info.iDocPos.iPos;
-
-        CTmTextLayout::TTmChunkDescription leftChunk;
-        CTmTextLayout::TTmChunkDescription rightChunk;
-        FindAdjacentChunks(pos, leftChunk, rightChunk);
-
-        if ( !rightChunk.iRightToLeft )
-            {
-            aPosition -= 1;
-            }
-        }
-    return nextPositionFound;
-    }
-
-TBool CAknFepManager::GetNextVisualLeftCharacter( TInt& aPosition )
-    {
-    TTmDocPosSpec pos = DocPos();
-    TTmPosInfo2 info;
-    TBool nextPositionFound = EFalse;
-    MAknFepDocumentNavigation* docNavi = AknFepDocumentNavigation();
-    if (docNavi)
-    	{
-    	nextPositionFound = docNavi->GetNextVisualCursorPos(pos, info, ETrue);
-    	}
-    else
-    	{
-	    CTextLayout* textLayout = TextLayout();
-	    if (textLayout)
-	        {
-	        nextPositionFound = TextLayout()->TagmaTextLayout().GetNextVisualCursorPos(pos, 
-                                                                                     info, 
-                                                                                     ETrue);
-	        }
-        }
-    if (nextPositionFound)
-        {
-        aPosition = info.iDocPos.iPos;
-        CTmTextLayout::TTmChunkDescription leftChunk;
-        CTmTextLayout::TTmChunkDescription rightChunk;
-        FindAdjacentChunks(pos, leftChunk, rightChunk);
-
-        if ( leftChunk.iRightToLeft )
-            {
-            aPosition -= 1;
-            }
-        if (iLanguageCapabilities.iInputLanguageCode == ELangVietnamese)
-            {
-            aPosition = pos.iPos -1;
-            }
-        }
-    return nextPositionFound;
-    }
-
-void CAknFepManager::FindVisualRightOfWord(TInt& aPosition)
-    {
-    TTmDocPosSpec pos = DocPos();
-    CTmTextLayout::TTmChunkDescription leftChunk;
-    CTmTextLayout::TTmChunkDescription rightChunk;
-    FindAdjacentChunks(pos, leftChunk, rightChunk);
-
-    if ( rightChunk.iRightToLeft )
-        {
-        FindStartOfWord(aPosition);
-        }
-    else
-        {
-        FindEndOfWord(aPosition);
-        }
-    }
-
-void CAknFepManager::FindVisualLeftOfWord(TInt& aPosition)
-    {
-    TTmDocPosSpec pos = DocPos();
-    CTmTextLayout::TTmChunkDescription leftChunk;
-    CTmTextLayout::TTmChunkDescription rightChunk;
-    FindAdjacentChunks(pos, leftChunk, rightChunk);
-
-    if ( leftChunk.iRightToLeft)
-        {
-        FindEndOfWord(aPosition);
-        }
-    else
-        {
-        FindStartOfWord(aPosition);
-        }
-    }
-
-
-
-TBool CAknFepManager::GetVisualDocStart( TTmDocPosSpec& aPos) const
-    {
-    // Set up the initial try as leading to the first logical character
-    // It is a requirement that this position is at least in the first line
-    TTmDocPosSpec pos(0, TTmDocPosSpec::ELeading);
-
-    // Need to record if we are in aleft to right paragraph or not
-    TBool leftToRightParagraph = !IsRightToLeftParagraph(pos);
-
-    TBool success(EFalse);
-    CTextLayout* textLayout = TextLayout();
-    TTmDocPosSpec docPos;
-    if (AknFepDocumentNavigation() || textLayout)
-        {
-//      This was written because Tagma's LineExtreme() method did not seem to work
-        success = GetAknFepLineExtreme( pos, !leftToRightParagraph, docPos );
-        }
-
-    if (success)
-        aPos = docPos;
-    else // Possible cleanup; action for when there is insufficient information
-        {
-        aPos.iPos = 0;
-        aPos.iType = TTmDocPosSpec::ELeading;
-        }
-
-    return success;
-    }
-
-TBool CAknFepManager::GetVisualDocEnd( TTmDocPosSpec& aPos) const
-    {
-    TInt docLength = iInputCapabilities.FepAwareTextEditor()->DocumentLengthForFep();
-
-    // Set up the initial try as trailing after the last logical character
-    // It is a requirement that this position is at least in the last line
-    TTmDocPosSpec pos(docLength, TTmDocPosSpec::ETrailing);
-
-    // Need to record if we are in a left to right paragraph or not
-    TBool leftToRightParagraph = !IsRightToLeftParagraph(pos);
-
-    TBool success(EFalse);
-    CTextLayout* textLayout = TextLayout();
-    TTmDocPosSpec docPos;
-    if (AknFepDocumentNavigation() || textLayout)
-        {
-        // This was written because Tagma's LineExtreme() method did not seem to work
-        success = GetAknFepLineExtreme( pos, leftToRightParagraph, docPos );
-        }
-
-    if (success)
-        aPos = docPos;
-    else // Possible cleanup; action for when there is insufficient information
-        {
-        aPos.iPos = docLength;
-        aPos.iType = TTmDocPosSpec::ETrailing;
-        }
-    return success;
-    }
-
-
-TBool CAknFepManager::GetAknFepLineExtreme( const TTmDocPosSpec& aPos, TBool aToRight,
-        TTmDocPosSpec& aExtreme) const
-    {
-    TBool success(EFalse);
-
-    TTmPosInfo2 posInfo;
-    TTmLineInfo lineInfo;
-    TBool found = EFalse;
-    MAknFepDocumentNavigation* docNavi = AknFepDocumentNavigation();
-    if (docNavi)
-    	{
-    	found = docNavi->FindDocPos(aPos, posInfo, lineInfo);
-    	}
-    else
-    	{
-	    CTextLayout* textLayout = TextLayout();
-	    if ( textLayout )
-	        {
-	        found = textLayout->TagmaTextLayout().FindDocPos(aPos, posInfo, lineInfo);
-	        }
-    	}
-
-    if ( found )
-        {
-        // Make a selection of the line info.  Cursor first, Anchar 2nd:
-        TCursorSelection theWholeLine( lineInfo.iEnd-1, lineInfo.iStart );
-
-        TWesternNaviEvent event;
-        if ( aToRight )
-            event = ERightNaviEvent;
-        else
-            event = ELeftNaviEvent;
-
-        GetAvkonDefinedVisualLimitsOfSelection( theWholeLine, event, aExtreme, NULL );
-        success = ETrue;
-        }
-
-    return success;
-    }
-
-
-/**
-* This routine analyses a selection (Does not have to be a real selection, but the datastructure
-* is used as input) to find its visual start or end, according to the passed parameter
-* The algo used is:
-* - First find the top line of the selection.
-* - Then find the bottom line of the selection.
-* - Look at the two lines' directionality (from the paragraph they belong to) and decide what the overall
-* directionality of the selection is.  Thus right/left can be translated to increment/decrement.
-* (Note that Up is always decrement; down is always increment). So that allows the key actions to be
-* correctly grouped, and allows it to be determined which keys act from the top or the bottom line
-* (Decrement always acts from the top line; Increment always acts from the bottom line)
-*
-* - When the keys are handled, the action is again translated back to right/left according to the key-
-* grouping and whether you are acting from the top line or from the bottom line.  Eg, decrement in RTL
-* line is visually to the Right.
-* - the appropriate "ExtremePos" API is called passing in the position on the line in which we are acting
-*
-*/
-void CAknFepManager::GetAvkonDefinedVisualLimitsOfSelection(
-    const TCursorSelection& aSelection,
-    TWesternNaviEvent aEvent,
-    TTmDocPosSpec& aLimitPos,
-    TWesternNaviEvent* aEffectiveRightOrLeftEvent ) const
-    {
-    // in case an irrelvant event is sent, initialize aLimitPos to something safe
-    aLimitPos.iPos = 0;
-    aLimitPos.iType = TTmDocPosSpec::ELeading;
-
-    TTmDocPosSpec lowLogicalPos( aSelection.LowerPos(), TTmDocPosSpec::ELeading );
-    TTmDocPosSpec highLogicalPos( aSelection.HigherPos(), TTmDocPosSpec::ETrailing );
-
-    // this records what the resulting Right/left direction (for optional return)
-    TWesternNaviEvent effectiveEvent = aEvent;
-
-    // Get line and paragraph of the lower limit of the selection:
-    TTmPosInfo2 posInfo;
-    TTmLineInfo lineInfo;
-    TBool lowIsRightToLeft;
-    TBool highIsRightToLeft;
-    TBool layoutExists = EFalse;
-    
-    MAknFepDocumentNavigation* docNavi = AknFepDocumentNavigation();
-    if (docNavi)
-    	{
-    	docNavi->FindDocPos(lowLogicalPos, posInfo, lineInfo);
-        lowIsRightToLeft = lineInfo.iFlags & TTmLineInfo::EParRightToLeft;
-    	docNavi->FindDocPos(highLogicalPos, posInfo, lineInfo);
-        highIsRightToLeft = lineInfo.iFlags & TTmLineInfo::EParRightToLeft;
-        layoutExists = ETrue;
-    	}
-    else
-    	{
-	    CTextLayout* textLayout = TextLayout();
-	    if (textLayout)
-	        {
-	        textLayout->TagmaTextLayout().FindDocPos(lowLogicalPos, posInfo, lineInfo);
-	        lowIsRightToLeft = lineInfo.iFlags & TTmLineInfo::EParRightToLeft;
-	        textLayout->TagmaTextLayout().FindDocPos(highLogicalPos, posInfo, lineInfo);
-	        highIsRightToLeft = lineInfo.iFlags & TTmLineInfo::EParRightToLeft;
-	        layoutExists = ETrue;
-	        }
-    	}
-        
-    if (layoutExists)
-    	{
-        // Decide on the net directionality. This if looks a bit laboured, but it
-        // exhibits the Averell policy.
-        TBool netDirectionIsRightToLeft(EFalse);
-        if ( lowIsRightToLeft == highIsRightToLeft )
-            netDirectionIsRightToLeft = lowIsRightToLeft;
-        else
-            netDirectionIsRightToLeft = lowIsRightToLeft;// ambiguous - Take first paragraph
-
-        if ( netDirectionIsRightToLeft )
-            switch ( aEvent )
-            {
-            case ELeftNaviEvent:
-            case EDownNaviEvent:
-                effectiveEvent = ELeftNaviEvent;
-                aLimitPos = LeftVisualExtremePos( highLogicalPos, lowLogicalPos.iPos, 
-                                                  highLogicalPos.iPos );
-                break;
-            case ERightNaviEvent:
-            case EUpNaviEvent:
-                effectiveEvent = ERightNaviEvent;
-                aLimitPos = RightVisualExtremePos(lowLogicalPos, lowLogicalPos.iPos, 
-                                                  highLogicalPos.iPos );
-                break;
-            default:
-            // No action. Only the events above are handled.
-                break;
-            }
-        else
-            switch (aEvent)
-            {
-            case ELeftNaviEvent:
-            case EUpNaviEvent:
-                effectiveEvent = ELeftNaviEvent;
-                aLimitPos = LeftVisualExtremePos( lowLogicalPos, lowLogicalPos.iPos, 
-                                                  highLogicalPos.iPos);
-                break;
-            case ERightNaviEvent:
-            case EDownNaviEvent:
-                effectiveEvent = ERightNaviEvent;
-                aLimitPos = RightVisualExtremePos( highLogicalPos, lowLogicalPos.iPos, 
-                                                   highLogicalPos.iPos );
-                break;
-            default:
-            // No action. Only the events above are handled.
-                break;
-            }
-        }
-
-    else
-        {
-        // No text layout: Left or Up naviEvent gives low end; Right or down give high end
-        switch ( aEvent )
-            {
-            case ELeftNaviEvent:
-            case EUpNaviEvent:
-                effectiveEvent = ELeftNaviEvent;
-                aLimitPos = lowLogicalPos;
-                break;
-            case ERightNaviEvent:
-            case EDownNaviEvent:
-                effectiveEvent = ERightNaviEvent;
-                aLimitPos = highLogicalPos;
-                break;
-            default:
-            // No action. Only the events above are handled.
-                break;
-            }
-        }
-    // return the effective direction (Right or Left)
-    if ( aEffectiveRightOrLeftEvent )
-        *aEffectiveRightOrLeftEvent = effectiveEvent;
-
-    }
-
-
-TTmDocPosSpec CAknFepManager::LeftVisualExtremePos( const TTmDocPosSpec& aStartPos, 
-                                                    TInt aMinPos, TInt aMaxPos ) const
-    {
-    // Start at start and find adjacent left chunks repeatedly until we find no more chunks, or our max or min
-    // is within a chunk
-    TTmDocPosSpec currentPos = aStartPos;
-    CTextLayout* textLayout = TextLayout();
-    if (AknFepDocumentNavigation() || textLayout)
-        {
-        CTmTextLayout::TTmChunkDescription leftChunk;
-        CTmTextLayout::TTmChunkDescription rightChunk;
-
-        TInt iterations(0);
-        TBool endFound(EFalse);
-
-        while( !endFound && iterations < KMaxChunkWalkIterations )
-            {
-            iterations++;
-            FindAdjacentChunks(currentPos, leftChunk, rightChunk);
-            // Try to move to left end of left chunk
-            endFound = LeftEndOfChunkWithinRange( leftChunk, aMinPos, aMaxPos, currentPos );
-            }
-        }
-    return currentPos;
-    }
-
-TTmDocPosSpec CAknFepManager::RightVisualExtremePos( const TTmDocPosSpec& aStartPos, 
-                                                     TInt aMinPos, TInt aMaxPos ) const
-    {
-    // Start at start and find adjacent right chunks repeatedly until we find no more chunks, or our max or min
-    // is within a chunk
-    TTmDocPosSpec currentPos = aStartPos;
-    CTextLayout* textLayout = TextLayout();
-    if (AknFepDocumentNavigation() || textLayout)
-        {
-        CTmTextLayout::TTmChunkDescription leftChunk;
-        CTmTextLayout::TTmChunkDescription rightChunk;
-
-        TInt iterations(0);
-        TBool endFound(EFalse);
-
-        while( !endFound && iterations < KMaxChunkWalkIterations )
-            {
-            iterations++;
-            FindAdjacentChunks(currentPos, leftChunk, rightChunk);
-            // Try to move to left end of left chunk
-            endFound = RightEndOfChunkWithinRange( rightChunk, aMinPos, aMaxPos, currentPos );
-            }
-        }
-    return currentPos;
-    }
-
-TBool CAknFepManager::LeftEndOfChunkWithinRange( const CTmTextLayout::TTmChunkDescription& aChunk,
-                                         TInt aMinPos, TInt aMaxPos, TTmDocPosSpec& aNewPos) const
-    {
-    TBool constrained = EFalse;
-    TInt leftEnd;
-    if ( !ChunkIsValid( aChunk ) )
-        {
-        constrained = ETrue; // leave the aNewPos as it is
-        }
-    else if ( aChunk.iStart >= iInputCapabilities.FepAwareTextEditor()->DocumentLengthForFep() )
-        {
-        constrained = ETrue; // That chunk was a ficticious one:
-        }
-    else if ( aChunk.iEnd <= aMinPos || aChunk.iStart >= aMaxPos )
-        {
-        constrained = ETrue; // That chunk found does not actually overlap with valid range. Don't go there
-        }
-    else
-        {
-        if ( aChunk.iRightToLeft )
-            {
-            leftEnd =  aChunk.iEnd;
-            if ( leftEnd >= aMaxPos )
-                {
-                constrained = ETrue;
-                aNewPos.iPos = aMaxPos;
-                }
-            else
-                {
-                aNewPos.iPos = leftEnd;
-                }
-            aNewPos.iType = TTmDocPosSpec::ETrailing;
-            }
-        else
-            {
-            leftEnd = aChunk.iStart;
-            if ( leftEnd <= aMinPos )
-                {
-                constrained = ETrue;
-                aNewPos.iPos = aMinPos;
-                }
-            else
-                {
-                aNewPos.iPos = leftEnd;
-                }
-            aNewPos.iType = TTmDocPosSpec::ELeading;
-            }
-        }
-    return constrained;
-    }
-
-TBool CAknFepManager::RightEndOfChunkWithinRange( const CTmTextLayout::TTmChunkDescription& aChunk,
-                                         TInt aMinPos, TInt aMaxPos, TTmDocPosSpec& aNewPos) const
-    {
-    TBool constrained = EFalse;
-    TInt rightEnd;
-    if ( !ChunkIsValid( aChunk ) )
-        {
-        constrained = ETrue; // leave the aNewPos as it is
-        }
-    else if ( aChunk.iStart >= iInputCapabilities.FepAwareTextEditor()->DocumentLengthForFep() )
-        {
-        constrained = ETrue; // That chunk was a ficticious one:
-        }
-    else if ( aChunk.iEnd <= aMinPos || aChunk.iStart >= aMaxPos )
-        {
-        constrained = ETrue; // That chunk found does not actually overlap with valid range. Don't go there
-        }
-    else
-        {
-        if ( aChunk.iRightToLeft )
-            {
-            rightEnd =  aChunk.iStart;
-            if ( rightEnd <= aMinPos )
-                {
-                constrained = ETrue;
-                aNewPos.iPos = aMinPos;
-                }
-            else
-                {
-                aNewPos.iPos = rightEnd;
-                }
-            aNewPos.iType = TTmDocPosSpec::ELeading;
-            }
-        else
-            {
-            rightEnd = aChunk.iEnd;
-            if ( rightEnd >= aMaxPos )
-                {
-                constrained = ETrue;
-                aNewPos.iPos = aMaxPos;
-                }
-            else
-                {
-                aNewPos.iPos = rightEnd;
-                }
-            aNewPos.iType = TTmDocPosSpec::ETrailing;
-            }
-        }
-    return constrained;
-    }
-
-/**
-* This method handles the attachment to the chunk being navigated toward.
-* Should only be used for Right and Left navigation.
-* The actual direction of that chunk does not need to be looked at. Even if
-* is the same direction as the one being moved from, you still attach to it, as it may not
-* be logically contiguous.
-*/
-void CAknFepManager::AdjustPosSpecForAmbiguityAfterLeftOrRightNavigation( TTmDocPosSpec& aPos, 
-                                                              TWesternNaviEvent aEvent ) const
-    {
-
-    CTmTextLayout::TTmChunkDescription leftChunk;
-    CTmTextLayout::TTmChunkDescription rightChunk;
-    FindAdjacentChunks(aPos, leftChunk, rightChunk);
-
-    TBool inputDirectionIsRTL = ( CurrentInputDirectionality() == TBidiText::ERightToLeft );
-
-    switch (aEvent)
-        {
-        case ELeftNaviEvent:
-            {
-            // Do not attach to the left chunk if its directionality is not the same as aDirection
-            if ( ChunkIsValid( leftChunk ) )
-                if ( COMPARE_BOOLS(inputDirectionIsRTL, leftChunk.iRightToLeft) )
-                    AttachToLeftChunk( aPos, leftChunk );
-            break;
-            }
-        case ERightNaviEvent:
-            {
-            if ( ChunkIsValid( rightChunk ) )
-                if ( COMPARE_BOOLS(inputDirectionIsRTL, rightChunk.iRightToLeft) )
-                    AttachToRightChunk( aPos, rightChunk );
-            break;
-            }
-        default:
-            break;
-        }
-
-    }
-
-
-void CAknFepManager::AttachToRightChunk( TTmDocPosSpec& aPos, 
-                                         const CTmTextLayout::TTmChunkDescription& aRightChunk )
-    {
-    if ( aRightChunk.iRightToLeft )
-        {
-        aPos.iPos = aRightChunk.iEnd;
-        aPos.iType = TTmDocPosSpec::ETrailing;
-        }
-    else
-        {
-        aPos.iPos = aRightChunk.iStart;
-        aPos.iType = TTmDocPosSpec::ELeading;
-        }
-    }
-
-void CAknFepManager::AttachToLeftChunk( TTmDocPosSpec& aPos, 
-                                        const CTmTextLayout::TTmChunkDescription& aLeftChunk )
-    {
-    if ( aLeftChunk.iRightToLeft )
-        {
-        aPos.iPos = aLeftChunk.iStart;
-        aPos.iType = TTmDocPosSpec::ELeading;
-        }
-    else
-        {
-        aPos.iPos = aLeftChunk.iEnd;
-        aPos.iType = TTmDocPosSpec::ETrailing;
-        }
-    }
-
-/**
-* This routine ensures that the cursor position is not attached to a chunk of opposite direction.
-* For end of document, the normal routine can be used.
-* For the start, usually do nothing, but there is the possibility of forcing position 0/Trailing, when
-* the edge chunk and the input directionality are opposite.
-*/
-void CAknFepManager::AdjustPosSpecForInputLanguageAfterDocumentLoop( TTmDocPosSpec& aPos, 
-                                     TWesternNaviEvent /*aNaviEvent*/, TBool aLoopToTop ) const
-    {
-
-    // Looping based on a Left event should adjust the cursor position as if that point had
-    // been reached by navigation to that same visual position outwards from the body
-    // Define this as the effective navigation that has just happened:
-    TWesternNaviEvent effectiveEvent(ELeftNaviEvent);
-
-    // Rule for this effective navigation is
-    // move to top of document : if paradirection is LTR then treat it as a LEFT navi
-    // move to top of document : if paradirection is RTL then treat it as RIGHT navi
-    // move to bottom of document : if paradirection is LTR then treat is as RIGHT navi
-    // move to bottom of document : if paradirection is RTL then treat as LEFT navi
-    // However, NOTE that decrementing events leads to looping to the END! (and vice versa)
-    TBool newParaIsRTL = IsRightToLeftParagraph(aPos);
-    if ( aLoopToTop && newParaIsRTL ) // move to top; RTL
-        effectiveEvent = ERightNaviEvent;
-    else if ( !aLoopToTop && !newParaIsRTL ) // move to bottom; LTR
-        effectiveEvent = ERightNaviEvent;
-
-    if ( aLoopToTop )
-        {
-        //  There is no ficticious block of the paragraph direction at -1 to 0.  So we have to
-        // behave as if there is one:
-        //
-        CTmTextLayout::TTmChunkDescription leftChunk;
-        CTmTextLayout::TTmChunkDescription rightChunk;
-        CTmTextLayout::TTmChunkDescription& edgeChunk = leftChunk;
-
-        FindAdjacentChunks(aPos, leftChunk, rightChunk);
-
-        // Get input language direction
-        TBool inputDirectionIsRTL = ( CurrentInputDirectionality() == TBidiText::ERightToLeft );
-        if ( effectiveEvent == ELeftNaviEvent )
-            edgeChunk = leftChunk;
-        else
-            edgeChunk = rightChunk;
-
-        // Check edgechunk for its direction
-        if ( !COMPARE_BOOLS( edgeChunk.iRightToLeft, inputDirectionIsRTL ) )
-            {
-            // Input language disagrees with the chunk that we are on,
-            aPos.iPos = 0;
-            aPos.iType = TTmDocPosSpec::ETrailing;
-            }
-
-        }
-    else // Looping to the end of document
-        {
-        // There IS a ficticious block at the doc end, so use the usual routine.
-        AdjustPosSpecForAmbiguityAfterLeftOrRightNavigation( aPos, effectiveEvent );
-        }
-
-    }
-
-TBool CAknFepManager::ChunkIsValid( const CTmTextLayout::TTmChunkDescription& aChunk )
-    {
-    TBool isValid(ETrue);
-
-    const TInt KNotValid = -1;
-    if ( aChunk.iRightToLeft == KNotValid )
-        isValid = EFalse;
-    else if (aChunk.iStart == KNotValid )
-        isValid = EFalse;
-    else if (aChunk.iEnd == KNotValid )
-        isValid = EFalse;
-
-#ifdef _DEBUG
-    if (isValid)
-        __ASSERT_DEBUG( aChunk.iStart <= aChunk.iEnd, 
-                        AknFepPanic( EAknFepPanicBadCursorNavigationState ) );
-#endif
-
-    return isValid;
-    }
-/**
-* Finds the current input direction. This is determined as best as it can using
-* - T9Interface as the preferred source of information
-* - shared data (via AknTextUtils) if that fails
-* - localLanguage overrides the above sources of information
-* - when fep is in numeric mode it returns LTR
-* - if FEP is in an irelevant mode, then LTR is returned
-*
-* @return TDirectionality::ELeftToRight for LTR alpha mode or numeric mode
-*/
-TBidiText::TDirectionality CAknFepManager::CurrentInputDirectionality() const
-    {
-    TBidiText::TDirectionality directionality(TBidiText::ELeftToRight);
-
-    // See if we are in a mode where the directionality is defined:
-    TBool checkForRTLValid(EFalse);
-
-    switch (iMode )
-        {
-        case ELatin:
-        case ENumber:
-            checkForRTLValid = ETrue;
-            break;
-        default:
-            break;
-        }
-
-    if ( checkForRTLValid )
-        {
-            MPtiLanguage* ptilang = iPtiEngine->CurrentLanguage(); // No need to get language from PtiEngine ?
-            TInt inputLanguage = (ptilang)? ptilang->LanguageCode() : 0;
-            if ( inputLanguage )
-                {
-                directionality = TBidiText::ScriptDirectionality( (TLanguage)inputLanguage );
-                checkForRTLValid = EFalse;
-                }
-        }
-
-    // if no T9 interface information is available, then go for other sources
-    // Note that you have to check for local language in this case (belt-and-braces)
-    if ( checkForRTLValid )
-        {
-        TLanguage localLanguage = ELangTest;
-        if ( GetLocalLanguage( localLanguage ) )
-            directionality = TBidiText::ScriptDirectionality( localLanguage );
-        else
-            directionality = AknTextUtils::CurrentScriptDirectionality();
-        }
-
-    return directionality;
-    }
-
-
-TBool CAknFepManager::GetLocalLanguage( TLanguage& aLanguage ) const
-    {
-    TBool result(EFalse);
-    // Check for a local language override
-    if ( IsFepAwareTextEditor() )
-        {
-        // For ITU-T keyboard we always use english in latin-only editors.               
-        // In case of qwerty keyboard, some languages can be used in latin
-        // only-editors, some require that english is used instead. That
-        // is decided here.
-        const TInt globalLang = iSharedDataInterface->InputTextLanguage();        
-        TBool allowTest = 
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-                           !iQwertyInputMode ||
-#endif
-                           globalLang == ELangPrcChinese ||
-                           globalLang == ELangHongKongChinese ||
-                           globalLang == ELangTaiwanChinese ||
-                           globalLang == ELangThai ||
-                           globalLang == ELangGreek ||
-                           globalLang == ELangArabic ||
-                           globalLang == ELangFarsi ||                           
-                           globalLang == ELangUrdu ||
-                           globalLang == ELangHebrew ||
-                           globalLang == ELangRussian ||
-                           globalLang == ELangUkrainian ||
-                           globalLang == ELangHindi ||
-#ifdef RD_MARATHI
-                           globalLang == ELangMarathi ||
-#endif // RD_MARATHI
-
-#ifdef RD_HINDI_PHONETIC_INPUT  
-                           globalLang == KLangHindiPhonetic ||
-#endif                           
-                           globalLang == ELangBulgarian || 
-                           globalLang == ELangVietnamese;
-                                          
-        if (allowTest && iAknEditorFlags & EAknEditorFlagLatinInputModesOnly &&
-            iLanguageCapabilities.iInputLanguageCode != ELangJapanese)
-            {
-            aLanguage = ELangEnglish;               
-            }
-        else
-            {
-            aLanguage = EditorState()->LocalLanguage();
-            }
-            
-        if ( aLanguage != ELangTest )
-            {   
-            MPtiLanguage* languageObject = NULL;
-            languageObject = iPtiEngine->GetLanguage(aLanguage);
-            if (languageObject)  // Check if the input language is supported.
-                {                
-                result = ETrue;
-                }
-            else
-                {
-                aLanguage = ELangTest;
-                }
-            }
-        }
-    return result;
-    }
-
-
-TBool CAknFepManager::GetExposedDirectionOfText( TInt aPos, TBool aForward, 
-                                                 TBool& aIsRightToLeft ) const
-    {
-    TBool hasStrongCharacter(EFalse);
-
-    // Access the plain text from the editor, getting a little bit at a time.
-
-    TInt docLen = iInputCapabilities.FepAwareTextEditor()->DocumentLengthForFep();
-
-    // Init with defaults for aForward = ETrue
-    TInt limit = docLen;
-    TInt increment = 1;
-    if ( !aForward )
-        {
-        limit = -1; // Loop does not execute if == limit
-        increment = -1;
-        }
-
-    for ( TInt index = aPos; index != limit ; index += increment )
-        {
-        TChar ch = CharAt(index);
-        if ( iInlineTextDecorator->CharacterIsStrongRightToLeft( (TText)ch ) )
-            {
-            hasStrongCharacter = ETrue;
-            aIsRightToLeft = ETrue;
-            break;
-            }
-        else if ( iInlineTextDecorator->CharacterIsStrongLeftToRight( (TText)ch ) )
-            {
-            hasStrongCharacter = ETrue;
-            aIsRightToLeft = EFalse;
-            break;
-            }
-        }
-
-    return hasStrongCharacter;
-    }
-
-TBool CAknFepManager::GetExposedDirectionOfTextInDescriptor( const TDesC& aText, TBool aForward, 
-                                                             TBool& aIsRightToLeft ) const
-    {
-    TBool hasStrongCharacter(EFalse);
-
-    TInt textLen = aText.Length();
-
-    TInt start = 0;
-    TInt limit = textLen;
-    TInt increment = 1;
-    if ( !aForward )
-        {
-        start = textLen-1;
-        limit = -1; // Loop does not execute if == limit
-        increment = -1;
-        }
-
-    for ( TInt index = start; index != limit ; index += increment )
-        {
-        if ( iInlineTextDecorator->CharacterIsStrongRightToLeft( (TText)aText[index] ) )
-            {
-            hasStrongCharacter = ETrue;
-            aIsRightToLeft = ETrue;
-            break;
-            }
-        else if (  iInlineTextDecorator->CharacterIsStrongLeftToRight( (TText)aText[index] ) )
-            {
-            hasStrongCharacter = ETrue;
-            aIsRightToLeft = EFalse;
-            break;
-            }
-        }
-
-    return hasStrongCharacter;
-    }
-
-TChar CAknFepManager::CharAt( TInt aPos ) const
-    {
-    TBuf<ESingleCharacter> chDes;
-#ifdef RD_SCALABLE_UI_V2
-    if ( SemiFepAwareTextEditor( ETrue ) )
-#else
-    if ( iInputCapabilities.FepAwareTextEditor() )
-#endif // RD_SCALABLE_UI_V2    
-        iInputCapabilities.FepAwareTextEditor()->GetEditorContentForFep( chDes, aPos, 
-                                                                         ESingleCharacter);
-    if( chDes.Length() > 0 )
-        return chDes[0];
-    else
-        return TChar(0);
-    }
-
-
-/**
-* Navigate off of selected text using an Up/Down/Right/Left navigation event
-*
-* The code takes account of the paragraph directionality that the passed selection is
-* found in.
-*
-* The new cursor position is resolved for ambuguity and set using SetCursorPosition and
-* so it has the same side-effects:
-*   iUncommittedText is set to the zero-width "cursor" state with the new cursor position
-*   iUncommittedText is set into the FepAwareTextEditor state
-*   iCaseManager is updated with a ENullNaviEvent
-*   the doc pos is set in TextView object if present
-*/
-TKeyResponse CAknFepManager::NavigateFromSelectionL(
-            const TCursorSelection& aSelection,
-            TWesternNaviEvent aNaviEvent,
-            TTmDocPosSpec& aPos)
-    {
-    if (IsCcpuFlagSet(ECcpuStateCopy | ECcpuStateCut | ECcpuStateHashDown))
-        {
-        return EKeyWasNotConsumed;
-        }
-        
-    switch( aNaviEvent )
-        {
-        case EUpNaviEvent:
-        case EDownNaviEvent:
-        case ERightNaviEvent:
-        case ELeftNaviEvent:
-            // Carry on. Handle this event
-            break;
-        default: // just leave it as NULL
-            return EKeyWasNotConsumed;
-        }
-    // Find the visual end of the selection
-    TWesternNaviEvent effectiveEvent; // used to return either Right or Left event from next call:
-    GetAvkonDefinedVisualLimitsOfSelection( aSelection, aNaviEvent, aPos, &effectiveEvent );
-    AdjustPosSpecForAmbiguityAfterLeftOrRightNavigation( aPos, effectiveEvent );
-
-    // Set this as the current position
-    SetCursorPositionL( aPos );
-
-    return EKeyWasConsumed;
-    }
-
-
-void CAknFepManager::SetCursorPositionL( const TTmDocPosSpec& aNewCursorPos, TBool aDragSelectOn )
-    {
-    if ( !iInputCapabilities.FepAwareTextEditor() )
-        return;
-
-    TInt newAnchorPos = aNewCursorPos.iPos;
-
-    if ( aDragSelectOn )
-        {
-        TCursorSelection selection;
-        iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(selection);
-        if ( selection.Length() > 0 ) // there is a selection. Keep the anchor
-            newAnchorPos = selection.iAnchorPos;
-        }
-
-    iUncommittedText.SetSelection( aNewCursorPos.iPos, newAnchorPos );
-
-    iInputCapabilities.FepAwareTextEditor()->SetCursorSelectionForFepL(iUncommittedText);
-    iCaseMan->UpdateCase(ENullNaviEvent);
-
-    // This is able to set the directional attachment of the cursor in a way that the FepAwareTextEditor interface cannot
-    MAknFepDocumentNavigation* docNavi = AknFepDocumentNavigation();
-    if (docNavi)
-    	{
-    	docNavi->SetDocPosL(aNewCursorPos, aDragSelectOn);
-    	}
-    else
-    	{
-        CAknEdwinFormAccessor* formAccessor = EditorState()->FormAccessor();
-        if (formAccessor)
-            {
-            CEikEdwin *edwin = static_cast<CEikEdwin *>( formAccessor->FormClientControl() );
-            if (edwin)
-                edwin->SetCursorPosL( aNewCursorPos.iPos, aDragSelectOn );
-            }
-        }
-    }
-
-
-
-TBool CAknFepManager::InFirstLineAndFormatted( const TTmDocPosSpec& aPos ) const
-    {
-    return DocPosInFirstOrLastLineAndFormatted( aPos, ETrue);
-    }
-
-TBool CAknFepManager::InLastLineAndFormatted( const TTmDocPosSpec& aPos ) const
-    {
-    return DocPosInFirstOrLastLineAndFormatted( aPos, EFalse );
-    }
-
-TBool CAknFepManager::DocPosInFirstOrLastLineAndFormatted( const TTmDocPosSpec& aPos, 
-                                                           TBool aCheckFirstLine ) const
-    {
-    TBool success(EFalse);
-    TTmLineInfo lineInfo;
-    MAknFepDocumentNavigation* docNavi = AknFepDocumentNavigation();
-    if (docNavi)
-    	{
-	    success = docNavi->DocPosToLine( aPos, lineInfo);
-    	}
-    else
-    	{
-	    CTextLayout* textLayout = TextLayout();
-	    if ( textLayout )
-	        {
-	        success = textLayout->TagmaTextLayout().DocPosToLine( aPos, lineInfo);
-	        }
-    	}
-    	
-        if ( success )
-            {
-            if ( aCheckFirstLine )
-                success = (lineInfo.iLineNumber == 0 );
-            else
-                {
-                // Current position has yielded line information.  But how to tell if it is the last line?
-                // Use the fact that the docpos of the last character will be in the last line.
-                // Also account for the fact that these APIs report a character at docLength itself, a
-                // ficticious end of paragraph character.  So use a >= docLength
-                success = (lineInfo.iEnd >= 
-                           iInputCapabilities.FepAwareTextEditor()->DocumentLengthForFep()  );
-                }
-            }
-        
-    return success;
-    }
-
-TBool CAknFepManager::AtVisualStart( const TTmDocPosSpec& aCurrentPos, 
-                                     const TTmDocPosSpec& aLimitPos ) const
-    {
-    TBool positionsAreTheSame(EFalse);
-    if ( aCurrentPos.iPos == aLimitPos.iPos && aCurrentPos.iType == aLimitPos.iType )
-        positionsAreTheSame = ETrue;
-    else if ( aCurrentPos.iPos == 0 && aCurrentPos.iType == TTmDocPosSpec::ETrailing )
-        positionsAreTheSame = ETrue;
-
-    return positionsAreTheSame;
-    }
-
-TBool CAknFepManager::AtVisualEnd( const TTmDocPosSpec& aCurrentPos, 
-                                   const TTmDocPosSpec& aLimitPos, TInt aDocLength ) const
-    {
-    TBool positionsAreTheSame(EFalse);
-    if ( aCurrentPos.iPos == aLimitPos.iPos && aCurrentPos.iType == aLimitPos.iType )
-        positionsAreTheSame = ETrue;
-    else if ( aCurrentPos.iPos == aDocLength && aCurrentPos.iType == TTmDocPosSpec::ELeading )
-        positionsAreTheSame = ETrue;
-    else if ( aCurrentPos.iPos > aDocLength )
-        positionsAreTheSame = ETrue;
-
-    return positionsAreTheSame;
-    }
-
-
-void CAknFepManager::SetCursorType(TBool aIsLeftToRight)
-    {
-    if ( !BidiCursorRequired() )
-        return;
-
-    // Optimization to prevent excessive Wserv communication:
-    if ( IsFlagSet( EFlagBidiCursorIsInitialized )
-        && COMPARE_BOOLS( !aIsLeftToRight, IsFlagSet( EFlagCursorPointsRightToLeft ) ) )
-        return;
-
-    SetFlag( EFlagBidiCursorIsInitialized );
-
-    MCoeFepAwareTextEditor* editor = iInputCapabilities.FepAwareTextEditor();
-    if (editor && editor->Extension1())
-        {
-        TCharFormat format;
-        TInt docPos = DocPos().iPos;
-        editor->GetFormatForFep(format, docPos);
-        
-        // Use Avkon routine to make all the layout decisions. It returns a TTextCursor object
-        TTextCursor newCursor;
-        AknCustomCursorSupport::GetBidiTextCursorFromFontSpec( format.iFontSpec, 
-                                                               !aIsLeftToRight, newCursor );
-        TBool setToTrue(ETrue);
-        editor->Extension1()->SetCursorType(setToTrue, newCursor);
-       
-        // Keep flag in step for optimization
-        if ( aIsLeftToRight )
-            ClearFlag( EFlagCursorPointsRightToLeft );
-        else
-            SetFlag( EFlagCursorPointsRightToLeft );
-        }
-    }
-
-TBool CAknFepManager::DeviceSupportsRTLLanguageL()
-    {
-    CArrayFixFlat<TInt>* languages = new (ELeave) CArrayFixFlat<TInt>(ELanguageArrayGranularity);
-    CleanupStack::PushL(languages);
-    iPtiEngine->GetAvailableLanguagesL(languages);
-
-    TBool bidiCursorSuppressed(EFalse);
-#if defined(__WINS__)
-    bidiCursorSuppressed = ETrue;
-    // Test (Disabled) mode (fake) UID, key and its value
-    const TInt KTestModeValue = 1; // 1 = show Bidi cursor
-
-    CRepository* repository = NULL;
-    TRAPD(ret, repository = CRepository::NewL(KCRUidAknFep));
-    if (ret == KErrNone)
-        {
-        TInt modeValue = 0;
-        if (repository->Get(KAknFepTestModeKey, modeValue) == KErrNone)
-            {
-            if (modeValue == KTestModeValue)
-                {
-                bidiCursorSuppressed = EFalse; // show bidi cursor
-                }
-            }
-        }
-    delete repository;
-#endif
-
-    TBool result = EFalse;
-    if (!bidiCursorSuppressed)
-        {
-        for (TInt jj = 0; jj < languages->Count(); jj++)
-            {
-            if (languages->At(jj) == ELangArabic ||
-                languages->At(jj) == ELangHebrew ||
-                languages->At(jj) == ELangFarsi  ||
-                languages->At(jj) == ELangUrdu )
-                // + others...
-                {
-                result = ETrue;
-                break;
-                }
-            }
-        }
-
-    CleanupStack::PopAndDestroy();  // languages
-    return result;
-    }
-
-void CAknFepManager::CalculateEditorDigitType(TDigitType& aDestination)
-    {
-    TBool ASCIIDigits = EFalse;
-    MObjectProvider* mop = iInputCapabilities.ObjectProvider();
-
-    if ( mop )
-        {
-        CAknExtendedInputCapabilities* extendedInputCapabilities = 
-        mop->MopGetObject( extendedInputCapabilities );
-
-        if ( extendedInputCapabilities ) 
-            {
-            if ( extendedInputCapabilities->SupportsCapabilities(
-                CAknExtendedInputCapabilities::ESupportsOnlyASCIIDigits ) )
-                {
-                // If this is true, then the inputcaps wants only ascii
-                // digits -> you can, when the editor is seen as numeric,
-                // be sure that only latin indicator is then wanted.
-                ASCIIDigits = ETrue;
-                }
-            }
-        }
-
-    if (iAknEditorFlags & EAknEditorFlagLatinInputModesOnly) 
-        {
-        // use of only latin characters implies that numbers are also western
-        ASCIIDigits = ETrue;
-        }
-
-    AknTextUtils::TDigitModeQueryType editorType = AknTextUtils::EDigitModeEditorDefault;
-    TBool numberOnlyEditor = iPermittedInputModes == EAknEditorNumericInputMode;
-    if ( numberOnlyEditor )
-        {
-        editorType = AknTextUtils::EDigitModeNumberEditor;
-        if (ASCIIDigits)
-            {
-            editorType = AknTextUtils::EDigitModeLatinNumberEditor;
-            }
-        }
-        
-    if (iLanguageCapabilities.iArabicIndicDigitsAllowed &&
-        AknTextUtils::DigitModeQuery(editorType) && 
-        !ASCIIDigits)
-        {
-        aDestination = EDigitTypeArabicIndic;
-        }
-    else if (iLanguageCapabilities.iEasternArabicIndicDigitsAllowed &&
-        AknTextUtils::DigitModeQuery(editorType)&& 
-        !ASCIIDigits)
-        {
-        aDestination = EDigitTypeEasternArabicIndic;
-        }    
-    /*Hindi*/    
-    else if ( iLanguageCapabilities.iIndicDigitsAllowed &&
-                    AknTextUtils::DigitModeQuery(editorType) && 
-        !ASCIIDigits)    
-        {
-        aDestination = EDigitTypeDevanagari;    
-        }
-    else
-        {
-        aDestination = EDigitTypeWestern;
-        }
-    }
-
-
-void CAknFepManager::UpdateNumericEditorDigitType()
-    {
-    if (iLanguageCapabilities.iNumericEditorDigitType == EDigitTypeUnknown)
-        {
-        CalculateEditorDigitType(iLanguageCapabilities.iNumericEditorDigitType);
-        }
-    }
-
-void CAknFepManager::UpdateLocalDigitMode()
-    {
-    TInt oldLocalDigitType = iLanguageCapabilities.iLocalDigitType;
-    CalculateEditorDigitType(iLanguageCapabilities.iLocalDigitType);
-    
-    if (oldLocalDigitType != iLanguageCapabilities.iLocalDigitType && 
-        iCaseMan) // happens in destructor   
-        {
-        UpdateIndicators(); 
-        }
-    }
-
-/**
-* This routine should be called if the flag is set that says that the last navigation was to an
-* ambiguous point.
-* The routine checks to see if the event passed is
-* - Right or Left Arrow
-* - Would be the event to "jump" across the ambiguity. That is
-*       - if at the "left" side of a LTR | RTL point, you need a Right arrow
-*       - if at the "right" side of a LTR | RTL point, you need a Left arrow.
-*       - if at the "left" side of a RTL | LTR point, you need a Right arrow
-*       - if at the "right" side of a RTL | LTR point, you need a Left arrow.
-*
-*/
-// TKeyResponse CAknFepManager::AttemptCursorFlipAtAmbiguousPointL( const TKeyEvent& aKeyEvent, TEventCode aEventCode )
-TKeyResponse CAknFepManager::AttemptCursorFlipAtAmbiguousPointL( const TUint aCode )
-    {
-    TKeyResponse response = EKeyWasNotConsumed;
-
-    if ( IsFlagSet(EFlagAtDirectionallyAmbiguousPoint)  // only perform if already at ambi-point?
-        && !IsFlagSet(EFlagInsideInlineEditingTransaction) ) // do not flip if inside inline edit
-        {
-        if ( aCode == EKeyRightArrow || aCode == EKeyLeftArrow )
-            {
-            if ( iInputCapabilities.FepAwareTextEditor() && EditorState() 
-            && (AknFepDocumentNavigation() || TextView()) )
-                {
-                TTmDocPosSpec docPos = DocPos();
-                TTextDirectionalInfo status = LocalTextDirectionalStatus( docPos );
-
-                CTmTextLayout::TTmChunkDescription leftChunk;
-                CTmTextLayout::TTmChunkDescription rightChunk;
-                FindAdjacentChunks(docPos, leftChunk, rightChunk);
-
-                if ( status.iBlockEnvironment == 
-                     TTextDirectionalInfo::EAtRightEndOfBlockFacingOppositeDirectionalBlock
-                    && aCode == EKeyRightArrow )
-                    {
-                    response = EKeyWasConsumed;
-                    // Set cursor to new directionality ( opposite to current )
-                    SetCursorTypeForTextDirection( status.iDirectionalStatus == 
-                                                   TTextDirectionalInfo::ERightToLeft );
-                    // Must actually change the docpos!
-                    AttachToRightChunk( docPos, rightChunk );
-                    SetCursorPositionL( docPos, ETrue ); // Drag any existing selection
-                    }
-                else if (  status.iBlockEnvironment == 
-                           TTextDirectionalInfo::EAtLeftEndOfBlockFacingOppositeDirectionalBlock
-                    && aCode == EKeyLeftArrow )
-                    {
-                    response = EKeyWasConsumed;
-                    // Effectively this toggles the direction of the cursor
-                    SetCursorTypeForTextDirection( status.iDirectionalStatus == 
-                                                   TTextDirectionalInfo::ERightToLeft );
-                    // Must actually change the docpos!
-                    AttachToLeftChunk( docPos, leftChunk );
-                    SetCursorPositionL( docPos, ETrue ); // Drag any existing selection
-                    }
-                }
-            }
-        }
-    return response;
-    }
-
-
-TInt CAknFepManager::PostEventCheckCallback(TAny* aObj)
-    {
-    TRAP_IGNORE(static_cast<CAknFepManager*>(aObj)->DoCursorDirectionCheckL());
-    return KErrNone;
-    }
-
-TBool CAknFepManager::BidiCursorRequired() const
-    {
-    return iDeviceSupportsRtlLanguage;
-    }
-
-void CAknFepManager::DoCursorDirectionCheckL()
-    {
-   iPostEventCheck->Cancel();
-    if(BidiCursorRequired()) 
-        {
-        AdjustCursorTypeForCurrentPosition();
-        }
-
-    if ( !BidiCursorRequired() 
-    || (TAknFepUiIndicInputManager :: IsIndicLangauge(TLanguage(iLanguageCapabilities.iInputLanguageCode)) ))
-            {
-		/*Hindi*/
-    	if( ( !WesternPredictive() ) && 
-			( TAknFepUiIndicInputManager::IsIndicLangauge( 
-					TLanguage( iLanguageCapabilities.iInputLanguageCode ) ) ) && 
-			( ( TAknFepUiIndicInputManager::IsCharVirama( 
-					PreviousChar( ETrue ), TLanguage( iLanguageCapabilities.iInputLanguageCode ) ) ) 
-#ifdef RD_MARATHI
-			|| ( IsEyeLashRaPresentL() && 
-			TAknFepUiIndicInputManager::IsCharVirama(
-					PreviousToPreviousChar( ETrue ), TLanguage( iLanguageCapabilities.iInputLanguageCode ) ) )
-#endif
-			)
-    		&& !( iInputCapabilities.SupportsSecretText() )
-    		)
-			{
-			TTmDocPosSpec pos = DocPos();
-			pos.iType = TTmDocPosSpec::ETrailing;
-		    TTmPosInfo2 info;
-			TTmLineInfo lineInfo;
-			TBool findAvailable = EFalse;
-		    MAknFepDocumentNavigation* docNavi = AknFepDocumentNavigation();
-		    if (docNavi)
-		    	{
-			    docNavi->FindDocPos(pos, info, lineInfo);
-			    findAvailable = ETrue;
-		    	}
-		    else
-		    	{
-				CTextLayout* textLayout = TextLayout();
-	    		if ( textLayout )
-	    			{
-					textLayout->TagmaTextLayout().FindDocPos(pos, info, lineInfo);	    					    
-					findAvailable = ETrue;
-	    			}
-		    	}
-		    if (findAvailable)
-		    	{
-				TCursorSelection sel(info.iDocPos.iPos  ,info.iDocPos.iPos );
-				iInputCapabilities.FepAwareTextEditor()->SetCursorSelectionForFepL(sel);
-		    	}
-			}		
-		}	
-    }
-
-void CAknFepManager::AdjustCursorTypeForCurrentPosition()
-    {
-    if ( iInputCapabilities.FepAwareTextEditor() && EditorState() 
-    && (AknFepDocumentNavigation() || TextView()) )
-        AdjustCursorTypeForPosition( DocPos() );
-    }
-
-void CAknFepManager::SchedulePostEventCheckL( TUint aCode )
-    {
-    
-    TBool isToPostEvent   = EFalse;    
-    TBool isIndicLanguage = TAknFepUiIndicInputManager :: 
-                            IsIndicLangauge(TLanguage(iLanguageCapabilities.iInputLanguageCode));
-    
-    if ( BidiCursorRequired() )
-        {
-        switch ( aCode )
-            {
-            // Navigation cases:
-            case EKeyDownArrow:
-            case EKeyUpArrow:            
-            case EPtiKey1:
-            case EPtiKey2:
-            case EPtiKey3:
-            case EPtiKey4:
-            case EPtiKey5:
-            case EPtiKey6:
-            case EPtiKey7:
-            case EPtiKey8:
-            case EPtiKey9:
-            case EPtiKey0:
-                 {
-                    isToPostEvent = ETrue;
-                 }
-                 break;
-            case EKeyBackspace:
-            case EKeyDelete:
-                {
-                    if(!isIndicLanguage)
-                    {
-                        isToPostEvent = ETrue;
-                    }
-                }
-                break;
-            case EKeyLeftArrow:
-            case EKeyRightArrow:
-                {
-                    if(!isIndicLanguage)
-                    {
-                        isToPostEvent = ETrue;
-                    }
-                }
-                break;                
-            default:
-                break;
-            }
-
-        // If Repha has been inserted then do not post event.
-        if( isIndicLanguage )
-            {
-            if( aCode == EPtiKey1 && ( !iQwertyInputMode ) )
-                {
-                if( IsRephaPresent() 
-#ifdef RD_MARATHI
-                || IsEyeLashRaPresentL()
-#endif
-                )
-                    {
-                    isToPostEvent = EFalse;
-                    }
-                }
-            }
-        }
-              
-        if(isIndicLanguage) // iQwertyInputMode check is added so as to ensure that the event is not posted for Qwerty mode. 
-        {
-            if((aCode == EKeyBackspace || aCode == EKeyDelete) && (!iQwertyInputMode))
-            {
-                isToPostEvent = ETrue;
-            }           
-        } 
-        
-        if(isToPostEvent)
-        {
-            if ( iPostEventCheck->IsActive() )
-                iPostEventCheck->Cancel();
-            iPostEventCheck->Start( TCallBack(PostEventCheckCallback, this) );
-        }                   
-    }
-
-void CAknFepManager::AdjustCursorTypeForPosition( const TTmDocPosSpec& aDocPos )
-    {
-
-    TTextDirectionalInfo dirInfo = LocalTextDirectionalStatus( aDocPos );
-    // default clearing of this flag
-    ClearFlag( EFlagAtDirectionallyAmbiguousPoint );
-
-    switch ( dirInfo.iBlockEnvironment )
-        {
-        case TTextDirectionalInfo::EUndefined:
-            // Set according to input direction
-            SetCursorTypeForTextDirection( CurrentInputDirectionality() == 
-                                           TBidiText::ELeftToRight );
-            break; // do nothing
-
-        // All unambiguous cases
-        case TTextDirectionalInfo::EInsideBlock:
-        case TTextDirectionalInfo::EAtRightEndOfLine:
-        case TTextDirectionalInfo::EAtLeftEndOfLine:
-        case TTextDirectionalInfo::EAtRightEndOfBlockFacingSameDirectionBlock:
-        case TTextDirectionalInfo::EAtLeftEndOfBlockFacingSameDirectionBlock:
-            SetCursorTypeForTextDirection( dirInfo.iDirectionalStatus == 
-                                           TTextDirectionalInfo::ELeftToRight );
-            break;
-
-        // Ambiguous. Navigation has resulted in an ambiguous visual position. Set cursor according
-        // to current direction
-        case TTextDirectionalInfo::EAtRightEndOfBlockFacingOppositeDirectionalBlock:
-        case TTextDirectionalInfo::EAtLeftEndOfBlockFacingOppositeDirectionalBlock:
-            SetCursorTypeForTextDirection( dirInfo.iDirectionalStatus == 
-                                           TTextDirectionalInfo::ELeftToRight );
-            SetFlag( EFlagAtDirectionallyAmbiguousPoint );
-            break;
-        default:
-            // Do nothing
-            break;
-        }
-    }
-
-void CAknFepManager::SetCursorTypeForTextDirection( TBool aLeftToRight )
-    {
-    SetCursorType( aLeftToRight );
-    }
-
-void CAknFepManager::SetCursorTypeForInputDirection( TBool /*aLeftToRight*/ )
-    {
-    // Do nothing
-    }
-
-CAknFepManager::TTextDirectionalInfo CAknFepManager::
-                               LocalTextDirectionalStatus( const TTmDocPosSpec& aDocPos ) const
-    {
-    TTextDirectionalInfo directionalInfo;
-
-    MCoeFepAwareTextEditor* fepAwareTextEditor = iInputCapabilities.FepAwareTextEditor();
-    if ( !fepAwareTextEditor )
-        return directionalInfo;
-
-    if ( aDocPos.iPos < 0 ) // somehow, we are before the first character
-        directionalInfo.iDirectionalStatus = TTextDirectionalInfo::ENotInDocument;
-    else if ( aDocPos.iPos > fepAwareTextEditor->DocumentLengthForFep() ) // (iPos = docLen still is within document)
-        directionalInfo.iDirectionalStatus = TTextDirectionalInfo::ENotInDocument;
-    else if ( fepAwareTextEditor->DocumentLengthForFep() == 0 ) // zero length; no document
-        directionalInfo.iDirectionalStatus = TTextDirectionalInfo::ENotInDocument;
-
-    if ( directionalInfo.iDirectionalStatus == TTextDirectionalInfo::EUnknown )
-        {
-        CTmTextLayout::TTmChunkDescription leftChunk;
-        CTmTextLayout::TTmChunkDescription rightChunk;
-        FindAdjacentChunks(aDocPos, leftChunk, rightChunk);
-
-    // Cases:
-    // position is within a chunk (chunks are continuous in logical index and same directionality.
-    //  ->Return directionality
-    // position is betweeen two chunks of opposite directionality
-    //  -> return simple ambiguity
-    // position is between two chnks of same directionality, but logical index is not contiguous
-    //  -> return complex ambiguity ; return directionality
-
-        if ( leftChunk.iStart == -1 && rightChunk.iStart == -1 ) // 2 chunks invalid; direction stays EUnkonwn
-            {
-            directionalInfo.iDirectionalStatus = TTextDirectionalInfo::ENoDirectionalChunks;
-            }
-        else if ( leftChunk.iStart == -1 )  // no left block
-            {
-            directionalInfo.iBlockEnvironment = TTextDirectionalInfo::EAtLeftEndOfLine;
-            directionalInfo.SetDirectionFromChunk( rightChunk );
-            }
-        else if ( rightChunk.iStart == -1 ) // no right block
-            {
-            directionalInfo.iBlockEnvironment = TTextDirectionalInfo::EAtRightEndOfLine;
-            directionalInfo.SetDirectionFromChunk( leftChunk );
-            }
-        // Both chunks are the same direction.
-        // We are either nicely inside a block or the two blocks are at +/- 2, 4, etc levels
-        else if ( COMPARE_BOOLS( leftChunk.iRightToLeft, rightChunk.iRightToLeft ) )
-            {
-            // Can set direction from either chunk; use left one
-            directionalInfo.SetDirectionFromChunk( leftChunk );
-
-            if (leftChunk.iRightToLeft )
-                {
-                if ( leftChunk.iStart == rightChunk.iEnd ) // chunks are continguous
-                    directionalInfo.iBlockEnvironment = TTextDirectionalInfo::EInsideBlock;
-                else // Chunks are separated by 2, 4 etc. levels
-                    directionalInfo.iBlockEnvironment = ( aDocPos.iPos == leftChunk.iStart ) ?
-                        TTextDirectionalInfo::EAtRightEndOfBlockFacingSameDirectionBlock :
-                        TTextDirectionalInfo::EAtLeftEndOfBlockFacingSameDirectionBlock;
-                }
-            else
-                {
-                if ( leftChunk.iEnd == rightChunk.iStart ) // chunks are continguous
-                    directionalInfo.iBlockEnvironment = TTextDirectionalInfo::EInsideBlock;
-                else // Chunks are separated by 2, 4 etc. levels
-                    directionalInfo.iBlockEnvironment = ( aDocPos.iPos == leftChunk.iEnd ) ?
-                        TTextDirectionalInfo::EAtRightEndOfBlockFacingSameDirectionBlock :
-                        TTextDirectionalInfo::EAtLeftEndOfBlockFacingSameDirectionBlock;
-                }
-            }
-        else // Blocks are in opposite direction. Have to deal with all the values of the iType enum
-            {
-            TInt charPos;
-            switch( aDocPos.iType )
-                {
-                case TTmDocPosSpec::ETrailing: // position follows a block End
-                    {
-                    charPos = aDocPos.iPos - 1; //  attachment is to character[iPos-1] - now find it
-                    if ( leftChunk.iStart <= charPos && charPos < leftChunk.iEnd ) // pos is in left chunk
-                        {
-                        directionalInfo.SetDirectionFromChunk( leftChunk );
-                        directionalInfo.iBlockEnvironment = 
-                            TTextDirectionalInfo::EAtRightEndOfBlockFacingOppositeDirectionalBlock;
-                        }
-                    else if( rightChunk.iStart <= charPos && charPos < rightChunk.iEnd ) // pos is in right chunk
-                        {
-                        directionalInfo.SetDirectionFromChunk( rightChunk );
-                        directionalInfo.iBlockEnvironment = 
-                            TTextDirectionalInfo::EAtLeftEndOfBlockFacingOppositeDirectionalBlock;
-                        }
-                    else // Probably impossible situation.  Supply reasonable defaults rather than panicking
-                        {
-                        directionalInfo.iDirectionalStatus = TTextDirectionalInfo::ELeftToRight;
-                        directionalInfo.iBlockEnvironment = 
-                            TTextDirectionalInfo::EAtLeftEndOfBlockFacingOppositeDirectionalBlock;
-                        }
-                    break;
-                    }
-                case TTmDocPosSpec::ELeading: // position precedes a block start
-                    {
-                    charPos = aDocPos.iPos; //  attachment is to character[iPos] - now find it
-                    if ( leftChunk.iStart <= charPos && charPos < leftChunk.iEnd ) // pos is in left chunk
-                        {
-                        directionalInfo.SetDirectionFromChunk( leftChunk );
-                        directionalInfo.iBlockEnvironment = 
-                            TTextDirectionalInfo::EAtRightEndOfBlockFacingOppositeDirectionalBlock;
-                        }
-                    else if( rightChunk.iStart <= charPos && charPos < rightChunk.iEnd ) // pos is in right chunk
-                        {
-                        directionalInfo.SetDirectionFromChunk( rightChunk );
-                        directionalInfo.iBlockEnvironment = 
-                            TTextDirectionalInfo::EAtLeftEndOfBlockFacingOppositeDirectionalBlock;
-                        }
-                    else // Probably impossible situation.  Supply reasonable defaults rather than panicking
-                        {
-                        directionalInfo.iDirectionalStatus = TTextDirectionalInfo::ELeftToRight;
-                        directionalInfo.iBlockEnvironment = 
-                            TTextDirectionalInfo::EAtLeftEndOfBlockFacingOppositeDirectionalBlock;
-                        }
-                    break;
-                    }
-                case TTmDocPosSpec::ELeftToRight: // Is attached to a Left to right block
-                    {
-                    directionalInfo.iDirectionalStatus = TTextDirectionalInfo::ELeftToRight;
-                    // If left chunk is RTL, then we are NOT attached to that left block
-                    // (ie. we are at left end of the right block)
-                    directionalInfo.iBlockEnvironment = leftChunk.iRightToLeft ?
-                        TTextDirectionalInfo::EAtLeftEndOfBlockFacingOppositeDirectionalBlock : // must be in right chunk then (left end of it)
-                        TTextDirectionalInfo::EAtRightEndOfBlockFacingOppositeDirectionalBlock; // else in left chunk (right end of it)
-                    break;
-                    }
-                case TTmDocPosSpec::ERightToLeft:
-                    {
-                    directionalInfo.iDirectionalStatus = TTextDirectionalInfo::ERightToLeft;
-                    // If left chunk if RTL, then we are attached to that left block (ie. at right end of it)
-                    directionalInfo.iBlockEnvironment = leftChunk.iRightToLeft ? // is it in left chunk?
-                        TTextDirectionalInfo::EAtRightEndOfBlockFacingOppositeDirectionalBlock : // right end of left chunk
-                        TTextDirectionalInfo::EAtLeftEndOfBlockFacingOppositeDirectionalBlock;
-                    break;
-                    }
-                }
-
-            }
-        }
-    return directionalInfo;
-    }
-
-
-/**
-* Redecoration is carried out if a neutral is exposed by the deletion to a directionality
-* different to that which is was already marked.
-*
-* The routine leaves iUncommittedText again set to the (possibly new) cursor position.
-*
-*/
-void CAknFepManager::RedecorateAfterDeletionL( const TDesC& aTextThatWasDeleted  )
-    {
-    if (!EditorSupportsNeutralProtection())
-        return;
-
-    if ( aTextThatWasDeleted.Length() == 0 )
-        return;
-
-    TBool protect = ETrue;
-
-    // Set up iUncommittedText with the current cursor position so that PreviousChar will work:
-    iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(iUncommittedText);
-
-    TTmDocPosSpec docPos = DocPos();
-    TInt docLen = iInputCapabilities.FepAwareTextEditor()->DocumentLengthForFep();
-
-    TInt previousPos = docPos.iPos;
-    // Trailing iType actually points to character at index iPos - 1
-    if( docPos.iType == TTmDocPosSpec::ETrailing )
-        previousPos = previousPos -= 1;
-    TInt nextPos = previousPos + 1;
-
-    // Perform no neutral protection if the beginning of the text is deleted.
-    // Note that there MAY be protection occuring if the delete is from the end so there is
-    // no corresponding test on DocLength. That is handled later where the paragraph direction
-    // is used for the "forward" directionality.
-    if ( previousPos < 0 )
-        return;
-
-    // Up to 2 protection characters, one RTL and one LTR
-    TBuf<2> textToInsert;
-
-    TBool adjacentPrecedingIsNeutral(EFalse);
-    TBool adjacentTrailingIsNeutral(EFalse);
-
-    // See if either preceding or next is neutral
-    adjacentPrecedingIsNeutral = iInlineTextDecorator->CharacterIsNeutral( CharAt(previousPos) );
-    if ( nextPos < docLen )
-        adjacentTrailingIsNeutral = iInlineTextDecorator->CharacterIsNeutral( CharAt(nextPos) );
-
-    if ( !adjacentPrecedingIsNeutral && !adjacentTrailingIsNeutral )
-        protect = EFalse;
-
-    // Inits actually correspond to LTR, but they are only used if the bools indicating
-    // strong directionality found get set
-    TBool directionPrecedingDeleteIsRTL(EFalse);
-    TBool directionTrailingDeleteIsRTL(EFalse);
-    if ( protect )
-        {
-        TBool strongPreceding = GetExposedDirectionOfText( previousPos, EFalse, 
-                                                           directionPrecedingDeleteIsRTL );
-        TBool strongTrailing = GetExposedDirectionOfText( nextPos, ETrue, 
-                                                          directionTrailingDeleteIsRTL );
-        if (!strongTrailing)
-            {
-            TBool isRTLPara = IsRightToLeftParagraph(docPos);
-            directionTrailingDeleteIsRTL = isRTLPara;
-            strongTrailing = ETrue;
-            }
-        if ( !strongPreceding || !strongTrailing) // Must have strong in both directions
-            protect = EFalse;
-        else if ( COMPARE_BOOLS( directionPrecedingDeleteIsRTL, directionTrailingDeleteIsRTL ) ) // Must differ
-            protect = EFalse;
-        }
-
-    TBool forwardProtection(EFalse);
-
-    if ( protect )
-        {
-        protect = EFalse;
-        TBool deletedWasRTL;
-
-        // Check for and do reverse protection
-        if ( adjacentPrecedingIsNeutral )
-            {
-            TBool deletedTextIsStrong = GetExposedDirectionOfTextInDescriptor( aTextThatWasDeleted, 
-                                                                               ETrue, 
-                                                                               deletedWasRTL ); // search forward into deleted stuff
-            if ( deletedTextIsStrong && (directionPrecedingDeleteIsRTL == deletedWasRTL))
-                {
-                protect = ETrue;
-                forwardProtection = EFalse;
-                if ( deletedWasRTL )
-                    textToInsert.Append( CAknFepInlineTextDecorator::ERightToLeftMark );
-                else
-                    textToInsert.Append( CAknFepInlineTextDecorator::ELeftToRightMark );
-                }
-            }
-
-        // Check for and do forward protection
-        // Note it is possible to have both forward and reverse redecoration.
-        if ( adjacentTrailingIsNeutral )
-            {
-            TBool deletedTextIsStrong = GetExposedDirectionOfTextInDescriptor( aTextThatWasDeleted, 
-                                                                               EFalse, 
-                                                                               deletedWasRTL ); // search backward in deleted stuff
-            if (deletedTextIsStrong && (directionTrailingDeleteIsRTL == deletedWasRTL) )
-                {
-                protect = ETrue;
-                forwardProtection = ETrue;
-                if ( deletedWasRTL )
-                    textToInsert.Append( CAknFepInlineTextDecorator::ERightToLeftMark );
-                else
-                    textToInsert.Append( CAknFepInlineTextDecorator::ELeftToRightMark );
-                }
-            }
-        }
-
-
-    if ( protect )
-        {
-        StartInlineEditL(textToInsert);
-        CommitInlineEditWithoutResolutionL(*(iInputCapabilities.FepAwareTextEditor()), ETrue);
-        // iUncommittedText is now set to correct value by the Commitxxxx method
-        // Document position is adjusted to as to keep the cursor stable.
-        // Make a docPos. If reverse protection, then the position should trail
-        TTmDocPosSpec docPos( iUncommittedText.LowerPos() , TTmDocPosSpec::ETrailing );
-        // But if there has been forward Protection, then we have to back up the cursor by 1
-        // and lead. (This is OK too, if there is simultaneous reversse and forward protection)
-        if ( forwardProtection )
-            {
-            docPos.iPos = Max(docPos.iPos - 1, 0 );
-            docPos.iType = TTmDocPosSpec::ELeading;
-            }
-        SetCursorPositionL( docPos );
-        }
-    }
-
-TBool CAknFepManager::EditorSupportsNeutralProtection()
-    {
-    TBool ret = ETrue;
-    if ( !IsFepAwareTextEditor() )
-        ret = EFalse;
-
-    else if (iInputCapabilities.SupportsSecretText())
-        ret = EFalse;
-
-    else if ( iAknEditorFlags & EAknEditorFlagLatinInputModesOnly )
-        ret = EFalse;
-
-    else if (iPermittedInputModes == EAknEditorNumericInputMode)
-        ret = EFalse;
-
-    else if ( !CharIsValidInEditor( CAknFepInlineTextDecorator::ERightToLeftMark ) )
-        ret = EFalse;
-
-    return ret;
-    }
-
-void CAknFepManager::CommitInlineEditWithoutResolutionL(MCoeFepAwareTextEditor& aFepAwareTextEditor, 
-                                                        TBool aCursorVisibility , TBool aClearPti )
-    {
-    aFepAwareTextEditor.SetInlineEditingCursorVisibilityL(aCursorVisibility);
-    /*
-    On any call to CommitFepInlineEditL, the mode will change
-    even when a leave event occurs.
-    */
-    ClearFlag(EFlagInsideInlineEditingTransaction | EFlagInsideMultitapInlineEditingTransaction);
-    ClearCcpuFlag(ECcpuStateNewPredictiveWord);
-    
-    if(aClearPti)
-        {
-        iPtiEngine->CommitCurrentWord();
-        }
-    CCoeEnv* coeEnv = CCoeEnv::Static();
-    aFepAwareTextEditor.CommitFepInlineEditL(*coeEnv);
-    aFepAwareTextEditor.GetCursorSelectionForFep(iUncommittedText);
-    // iMatchState=EWordMatchFirst;
-    iCaseMan->UpdateCase(ENullNaviEvent);
-    }
-
-void CAknFepManager::WordConcatenationTimerTimeoutL()
-    {
-    iConcatenationTimer->Cancel();
-
-    // add concatenated word to the UDB (a concatenated word is a compound word)
-    AddCompoundWordToUdbL();
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-	MoveCursorToEndOfWordL();
-#endif
-    }
-
-
-TKeyResponse CAknFepManager::HandlePredictiveNaviEventOutsideInlineEditL(TUint aCode, 
-                                                                         TKeyPressLength aLength)
-    {
-    TKeyResponse response = EKeyWasNotConsumed;
-
-    TWesternNaviEvent naviEvent = ENullNaviEvent;
-    if (aCode == EKeyLeftArrow)
-        {
-        naviEvent = ELeftNaviEvent;
-        }
-    else if (aCode == EKeyRightArrow)
-        {
-        naviEvent = ERightNaviEvent;
-        }
-    else if (aCode == EKeyBackspace)
-        {
-        naviEvent = EBackspaceEvent;
-        }
-
-    TInt nextCharPos = 0;  // Character ordinal in logical memory (0 - n-1)
-    TBool nextPositionFound = EFalse;
-    if ( naviEvent == ERightNaviEvent )
-        {
-        nextPositionFound = GetNextVisualRightCharacter( nextCharPos );
-        }
-    else if ( naviEvent == ELeftNaviEvent )
-        {
-        nextPositionFound = GetNextVisualLeftCharacter( nextCharPos );
-        }
-    else if ( naviEvent == EBackspaceEvent )
-        {
-        if (iLanguageCapabilities.iRightToLeftLanguage)
-            {
-            TChar character = PreviousChar();
-            TChar::TBdCategory bdCategory = character.GetBdCategory();
-            // In case last character in buffer is number or Latin characters, needs to delete 
-            // character from left.
-            if (TChar::EEuropeanNumber == bdCategory || TChar::EArabicNumber == bdCategory ||
-                TChar::ELeftToRight == bdCategory )
-                {
-                nextPositionFound = GetNextVisualLeftCharacter( nextCharPos );
-                }
-            else
-                {
-                nextPositionFound = GetNextVisualRightCharacter( nextCharPos );
-                }
-            }
-        else
-            {
-            nextPositionFound = GetNextVisualLeftCharacter( nextCharPos );
-            }
-        }
-
-    if ( !nextPositionFound )
-        {
-        response = EKeyWasNotConsumed;
-        }
-    else // not looping - lets see what to do
-        {
-        TBuf<ESingleCharacter> characterBuffer;
-        iInputCapabilities.FepAwareTextEditor()->GetEditorContentForFep(characterBuffer, 
-                                                                        nextCharPos, 
-                                                                        ESingleCharacter);
-
-        if ( !IsValidInLineCharacter( STATIC_CAST(TChar, characterBuffer[0])) )
-            {
-            // if the character is a non-alpha character; let it go
-            response=EKeyWasNotConsumed;
-            if (IsFlagSet(EFlagCompoundWord))
-                {
-                if  (STATIC_CAST(TChar, characterBuffer[0]).IsSpace())
-                    // we are navigating over a space so add any current compond word to the udb
-                    AddCompoundWordToUdbL();
-                ClearFlag(EFlagCompoundWord);
-                }
-        //allow to popup editsubmenu        
-        ClearCcpuFlag(ECcpuStateIgnoreStarUp);
-            }
-        else
-            {
-            if (FepUI()->HandleKeyL(aCode, aLength))
-                {
-                response=EKeyWasConsumed;
-                }
-            }
-        }
-    return response;
-    }
-
-/**
- * Call back function:
- */
-TInt CAknFepManager::DoSimulateKey(TAny* aThisPtr)
-    {
-    CAknFepManager* myobj = static_cast<CAknFepManager*>(aThisPtr);
-    TRAPD(error, myobj->HandleOwnedSimulateKeyL());
-    return error;
-    }
-
-void CAknFepManager::HandleOwnedSimulateKeyL()
-    {
-#ifdef RD_INTELLIGENT_TEXT_INPUT         
-#ifdef __HALF_QWERTY_KEYPAD
-        if( KeyboardLayout() == EPtiKeyboardHalfQwerty )
-            {            
-            CCoeEnv::Static()->SimulateKeyEventL( iHalfQwertyLastKeyEvent, EEventKey );
-            }        
-        else
-#endif //__HALF_QWERTY_KEYPAD        
-#endif //RD_INTELLIGENT_TEXT_INPUT
-    if (iSimulateKey > 0)
-        {
-        HandleKeyEventL(iSimulateKey, EShortKeyPress);
-        iSimulateKey = 0;
-        }
-    }
-
-/**
- * This method is that the label of CBA is updated by aTextResId.
- * @param aPosition   CBA position, either ELeftSoftkeyIndex or ERightSoftkeyIndex
- * @param aCommandId  command id for softkey
- * @param aTextResId  resource id to set string on label.
- * @return TBool The return value is ETrue in case it is necessary to update CBA.
- */
-TBool CAknFepManager::UpdateCBALabelL(TInt aPosition, TInt aCommandId, TInt aTextResId)
-    {
-    return iUiInterface->UpdateSoftkeyLabelL(aPosition, aCommandId, aTextResId);
-    }
-
-void CAknFepManager::DoLaunchSctAndPctL(TInt aResourceId, TShowSctMode aShowSctMode)
-    {
-    TBool replace = EFalse;
-    TBool disableRecentItemRow = EFalse;
-    
-    if (ExtendedInputCapabilities() & CAknExtendedInputCapabilities::EDisableSCT)
-        {
-        // The editor doesn't allow SCT.
-        return;
-        }
-    if ( EditorType() == CAknExtendedInputCapabilities::EEikSecretEditorBased )
-        {
-        
-        disableRecentItemRow = ETrue;
-        }    
-    
-    if (IsCcpuFlagSet(ECcpuStateCbaSymbol) && 
-        iMode == ELatin && WesternPredictive(ELatin) && 
-        iPtiEngine->LastEnteredKey() == EPtiKey1)
-        {
-        // User is entering special character as result of pressing key '1' and
-        // cycling through candidates until left softkey turns into "Symbol". In
-        // that case we want to replace last cahracter instead of adding new one.
-        replace = ETrue;
-        }
-    
-    //Commit characters in latin multitap as some editors may call CancelFepTransaction()
-    //which will be received before the focus change notification.
-    if (IsFeatureSupportedJapanese())
-        {
-        TryCloseUiL();
-        }
-    else
-        {
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        if(!(WesternPredictive()))
-#endif
-        CommitInlineEditL();
-        }
-
-    if (!EditorHasFreeSpace())
-        {
-        return;
-        }
-    
-    // get the SCT resource id from editor default settings
-    TInt currentEditorSCTResId = GetCurrentEditorSCTResId();
-    TInt charMap = aResourceId;
-    if ( FeatureManager::FeatureSupported(KFeatureIdChinese) )
-        {        
-        if (charMap == R_AVKON_SPECIAL_CHARACTER_TABLE_DIALOG)
-            {
-            charMap = R_AVKON_SPECIAL_CHARACTER_TABLE_DIALOG_CHINESE;
-            }
-        }
-    if (!charMap)
-        {
-        // override numeric keymap if necessary. flag is for non standard charmaps
-        TInt standardNumericCharMap = EDefaultNumericCharMapResId;
-        if ((iMode == ENumber || iMode == ENativeNumber) &&
-            !(iAknEditorFlags & EAknEditorFlagUseSCTNumericCharmap) &&
-            (iCharWidth == EHalfWidthChar) &&
-            ( (iAknEditorNumericKeymap != EAknEditorAlphanumericNumberModeKeymap) ||
-              (iPermittedInputModes == EAknEditorNumericInputMode) ))
-            {
-            standardNumericCharMap = NumericModeSCTResourceId();
-            }
-        charMap = standardNumericCharMap;
-        }
-        
-    if ( charMap == ENoCharacters && !IsAbleToLaunchSCT())
-        {
-    	currentEditorSCTResId = charMap;
-        }
-
-    if (currentEditorSCTResId)
-        {
-        TBuf<32> specialChars;
-
-        TInt sctChars = EAknSCTChiChineseInputModes;
-        TInt afterSctChars = EAknSCTHalfCase;
-
-        if (iCharWidth == EFullWidthChar)
-            {
-            sctChars = EAknSCTFullCase;
-            if (iMode == ELatin)
-                {
-                afterSctChars = EAknSCTUpperCase;
-                if (iCaseMan->CurrentCase() == EAknEditorLowerCase)
-                    {
-                    afterSctChars = EAknSCTLowerCase;
-                    }
-                }
-            else if (iMode == ENumber||iMode == ENativeNumber)
-                {
-                afterSctChars = EAknSCTLowerCase;
-                }
-            }
-        else
-            {
-            if (iMode == ELatin)
-                {
-                if ( FeatureManager::FeatureSupported(KFeatureIdChinese) )
-                    {
-                    sctChars = EAknSCTChiLatinInputModes;
-                    }
-                else
-                    {
-                    if (iQwertyInputMode)
-                        {
-                        sctChars = EAknSCTQwerty;
-                        afterSctChars = EAknSCTFullCase;                        
-                        }
-                    else
-                        {                                           
-                        sctChars = EAknSCTUpperCase;
-                        afterSctChars = EAknSCTFullCase;
-                        if (iCaseMan->CurrentCase() == EAknEditorLowerCase)
-                            {
-                            sctChars = EAknSCTLowerCase;
-                            }
-                        }
-                    }
-                }
-            else if (iMode == ENumber||iMode == ENativeNumber)
-                {
-                sctChars = EAknSCTNumeric;
-                if ( ((iAknEditorFlags & EAknEditorFlagUseSCTNumericCharmap) ||
-                      (iAknEditorNumericKeymap == EAknEditorAlphanumericNumberModeKeymap)) &&
-                      !IsOnlyHalfWidthCharacterPermitted() )
-                    {
-                    sctChars = EAknSCTLowerCase;
-                    afterSctChars = EAknSCTFullCase;
-                    }
-                }
-            else if (iMode == EHiraganaKanji)
-                {
-                sctChars = EAknSCTFullCase;
-                }
-            else if(iMode == EKatakana)
-                {
-                sctChars = EAknSCTHalfCase;
-                afterSctChars = EAknSCTFullCase;
-                }
-            }
-
-        SetFlag(EFlagForegroundUIComponentVisible);
-
-        TBool showAnotherTable = EFalse;
-        if (IsFeatureSupportedJapanese())
-            {
-            if (sctChars == EAknSCTFullCase)
-                {
-                if (!IsOnlyFullWidthCharacterPermitted())
-                    {
-                    showAnotherTable = ETrue;
-                    }
-                }
-            else if (sctChars == EAknSCTHalfCase || sctChars == EAknSCTUpperCase 
-                  || sctChars == EAknSCTLowerCase)
-                {
-                if (!IsOnlyHalfWidthCharacterPermitted() 
-                 && !(iAknEditorFlags & EAknEditorFlagLatinInputModesOnly))
-                    {
-                    showAnotherTable = ETrue;
-                    }
-                }
-            }
-#ifdef RD_SCALABLE_UI_V2     
-        if( iFepFullyConstructed && !iFepPluginManager->IsGlobleNotes())
-            {
-             if (iFepPluginManager->PluginInputMode() == EPluginInputModeItut ||
-                 iFepPluginManager->PluginInputMode() == EPluginInputModeFSQ ||
-                 iFepPluginManager->PluginInputMode() == EPluginInputModeFingerHwr)
-                {
-                 SetStopProcessFocus(ETrue, EFalse);
-                iFepPluginManager->SetMenuState();            
-                }            
-             else if (!iFepPluginManager->IsGlobleNotes())
-                {
-                iFepPluginManager->ClosePluginInputUiL( ETrue );
-                }
-            }
-#endif  
-
-        TBool lockNumericKeys = ( iPtiEngine->IsQwertyBasedMode(iPtiEngine->InputMode())) 
-        #ifdef RD_INTELLIGENT_TEXT_INPUT        
-                            || ( iPtiEngine->InputMode() == EPtiEngineHalfQwerty ) ||
-                            ( iPtiEngine->InputMode() == EPtiEngineHalfQwertyPredictive ) 
-        #endif                            
-                            ;
-        TUid fepUid = CCoeEnv::Static()->FepUid();
-
-        if(IsAbleToLaunchSmiley())
-            {
-            if(aShowSctMode == EShowSmileyFirst)
-                {
-                sctChars |= EAknCharMapEmotionFirst;
-                }
-            else
-                {
-                sctChars |= EAknCharMapEmotionUse;
-                }
-            }
-        ClearExtendedFlag(EExtendedFlagEdwinEditorDestroyed);
-        
-		if (iUiInterface->CharMapDialogL(
-			sctChars, 
-			specialChars, 
-			charMap,
-			lockNumericKeys,
-            aShowSctMode==EShowPctFirst,
-			!IsAbleToLaunchPCT(),
-			showAnotherTable,
-			afterSctChars,
-			currentEditorSCTResId,
-			disableRecentItemRow))
-            {
-            PrepareFepAfterDialogExitL(fepUid);
-            SetCcpuFlag(ECcpuStateSupressCursorMoveToEnd);
-
-#ifdef RD_SCALABLE_UI_V2 
-            
-            if( iFepFullyConstructed && iFepPluginManager)
-                {
-                 if (iFepPluginManager->PluginInputMode() == EPluginInputModeItut ||
-                     iFepPluginManager->PluginInputMode() == EPluginInputModeFSQ ||
-                     iFepPluginManager->PluginInputMode() == EPluginInputModeFingerHwr)
-                    {
-                    SetStopProcessFocus(EFalse);
-                    }            
-                 else
-                    {
-                    HandleChangeInFocus();
-                    }
-                }
-            else
-                {
-                HandleChangeInFocus();
-                }   
-            // Set the flag, not change focus for next.
-            iDisalbleFocusChangeForSCT = ETrue;           
-#endif
-
-            //Removes auto-complition part if SCT is launched and any special character is selected 
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-            if( specialChars.Length() > 0 )
-                {
-            	RemoveSuggestedAdvanceCompletionL();
-                }
-#endif // RD_INTELLIGENT_TEXT_INPUT
-            TBuf<ESingleCharacter> charAsDesc(ESingleCharacter);
-            for ( TInt ii = 0; ii < specialChars.Length(); ii++)
-                {
-                charAsDesc[0]=(TText)specialChars[ii];
-
-                if (iInputCapabilities.SupportsSecretText())
-                    {
-                    TChar ch = charAsDesc[0];
-                    if (ch == TText(0x000A) || ch == TText(CEditableText::EParagraphDelimiter))
-                        // 0x000A is ascii, EParagraphDelimiter is unicode - future
-                        // proofs against sct changing to unicode
-                        ch = EKeyEnter;
-                    if (CharIsValidInEditor(ch))
-                        {
-                        //we receive an extra key press if we simulate a key that is also a device key
-                        if (ch.IsDigit() || TUint(ch) == EStarKeyUnicodeValue 
-                         || TUint(ch) == EHashKeyUnicodeValue)
-                            SetFlag(EFlagPassNextKey);
-                        SimulateKeyEventL(ch);
-                        }
-                    }
-                else
-                    {
-                    if (charAsDesc[0] == TText(0x000A)) // 0x000A is line feed
-                        {
-                        charAsDesc[0] = CEditableText::EParagraphDelimiter;
-                        }
-                        
-                    if (CharIsValidInEditor(charAsDesc[0]))
-                        {
-                        TCursorSelection cursorSelection(0,0);
-                        if ((iAknEditorFlags & EAknEditorFlagMTAutoOverwrite) && iMode == ELatin 
-                          && !WesternPredictive())
-                            {
-                            TInt edSize = 
-                                   iInputCapabilities.FepAwareTextEditor()->DocumentLengthForFep();
-                            iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(iUncommittedText);
-                            if (iUncommittedText.iCursorPos < edSize 
-                             && iUncommittedText.Length() == 0)
-                                {
-                                cursorSelection = TCursorSelection(iUncommittedText.iCursorPos + 1,
-                                                                   iUncommittedText.iAnchorPos);
-                                }
-                            }
-                        if (EditorState())
-                            {
-                            if (charAsDesc[0] == CEditableText::EParagraphDelimiter)
-                                {
-                                // This is line feed character. Post it to editor and let it decide
-                                // if it is valid.
-                                 if (!(iAknEditorFlags & EAknEditorFlagFindPane) 
-                                    && specialChars.Length() == 1)
-                                    { 
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-                                    CommitInlineEditL();                                    
-#endif
-                                   
-                                    SimulateKeyEventL(EKeyEnter);   
-                                    SimulateKeyEventL(EKeyF19); // Asyncronous case update                                                                                              
-                                    }
-                                }                                                        
-                            else
-                                {                                                                                                                                   
-                                if (replace)
-                                    {
-                                    TKeyEvent delKey = {8, EStdKeyBackspace, 1, 0};        
-                                    CCoeEnv::Static()->SimulateKeyEventL(delKey, EEventKey);                                                                
-                                    }                               
-                                InsertTextFromDialogL(charAsDesc, cursorSelection);
-//There may be several char to be inserted, need disable Focus change to avoid multi-focus change.
-#ifdef RD_SCALABLE_UI_V2 
-                                iDisalbleFocusChangeForSCT = ETrue;
-#endif
-                                }
-                            // Clear dead key, vowel sequence and vietnamese tone mark states.                         
-                            iPtiEngine->HandleCommandL(EPtiCommandGetAndClearLastVietnameseChar, 
-                                                       NULL);
-                            iPtiEngine->HandleCommandL(EPtiCommandClearVowelSeq, 
-                                                       NULL);
-                            iPtiEngine->HandleCommandL(EPtiCommandGetAndClearDeadKeyRootChar, 
-                                                       NULL);                            
-                            }
-                        }
-                    }
-                }
-            }
-        else
-            {
-            iClosePeninputUi = EFalse;
-            iStopProcessFocus = EFalse;                   
-            }
-            
-        PrepareFepAfterDialogExitL(fepUid);
-        }
-    }
-
-/**
- * Queries supportting of SecretText
- *
- * @since 2.6
- * @return ETrue if SecretText was supported
- */
-TBool CAknFepManager::IsSupportsSecretText() const
-    {
-    TBool bSecret = iInputCapabilities.SupportsSecretText();
-    if( !bSecret )
-        {
-        //test java editor
-        MObjectProvider* mop = iInputCapabilities.ObjectProvider();            	
-        if ( mop )
-           {
-            CAknExtendedInputCapabilities* extendedInputCapabilities;
-            extendedInputCapabilities = mop->MopGetObject( extendedInputCapabilities );
-            if ( extendedInputCapabilities ) 
-                {
-                TUint constraints = extendedInputCapabilities->MIDPConstrainst();
-                if( constraints & 0x10000 )
-                    {
-                    bSecret = ETrue;
-                    }
-                }
-            }
-        }
-    
-    return bSecret;
-    }
-
-void CAknFepManager::SendEventsToPluginManL( TInt aEventType, TInt aEventData )
-    {
-#ifdef RD_SCALABLE_UI_V2
-    if ( iFepFullyConstructed )
-        {
-        iFepPluginManager->HandleEventsFromFepL( aEventType, aEventData );
-        }
-#endif //RD_SCALABLE_UI_V2
-    }
-    
-void CAknFepManager::UpdateCangJieState(TInt aNewMode)
-    {
-    CAknFepUIManagerChinese* fepUiMgr = STATIC_CAST(CAknFepUIManagerChinese*, 
-                                             iLangMan->GetFepUI(ECangJie, ENoneWidthChar, EFalse));
-    
-    if (aNewMode >= 0)
-        {
-        if ( fepUiMgr )
-            {
-            fepUiMgr->UpdateCangJieState();
-            }
-        
-        // Store CangJie settings into the sharedata
-        iSharedDataInterface->SetCangJieMode(aNewMode);            
-        }
-    }
-
-TInt CAknFepManager::LaunchCangJieOptionDlgL()
-    {
-    // Get the CangJie level from the GS
-    TInt currentLevel = iSharedDataInterface->CangJieMode();
-    
-    if ((currentLevel != ECangJieNormal) 
-    && (currentLevel != ECangJieEasy) 
-    && (currentLevel != ECangJieAdvanced))
-        return KErrGeneral;
-
-    // Launch the CangJie setting menu
-    CDesCArrayFlat* items = CCoeEnv::Static()->ReadDesC16ArrayResourceL(R_AVKON_CANGJIE_OPTIONS_LBX);
-    CleanupStack::PushL(items);
-
-    TUid fepUid = CCoeEnv::Static()->FepUid();   
-    ClearExtendedFlag(EExtendedFlagEdwinEditorDestroyed);
-	TInt ret = iUiInterface->LaunchCangJieOptionDlgL(
-        R_AVKON_CANGJIE_MODE_OPTIONS_SETTING_PAGE,
-        currentLevel,
-        items
-        );
-    PrepareFepAfterDialogExitL(fepUid);
-
-    CleanupStack::PopAndDestroy(items);
-
-    return ret ? currentLevel : KErrGeneral;
-    }
-
-GLDEF_C void AknFepPanic(TAknFepPanic aPanic)
-    {
-    User::Panic(_L("AKNFEP"),aPanic);
-    }
-
-/**
- * Set Multitap timer value. 
- *
- * @since 3.0
- * @param Value of KAknFepMultiTapTimer setting
- */
-void CAknFepManager::SetMultiTapTimer(const TInt aMultiTapTimer)
-    {
-    if (iMultiTapTimer != aMultiTapTimer)
-        {
-        iMultiTapTimer = aMultiTapTimer;
-        }
-    }
-
-/**
- * Set Japanese Qwerty Flags value. 
- *
- * @since 3.0
- * @param Value of KAknFepJapaneseSpecialCharFlag setting
- */
-void CAknFepManager::SetJapaneseQwertyFlags(const TInt aJapaneseQwertyFlags)
-    {
-    if (iJapaneseQwertyFlags != aJapaneseQwertyFlags)
-        {
-        iJapaneseQwertyFlags = aJapaneseQwertyFlags;
-        }
-    }
-
-/**
- * Handle the Chr Key Monitor
- * for Japanese variant only.
- *
- * @since 3.0
- * @return KErrNone if succeed, KErrDied if failed
- */
-TInt CAknFepManager::HandleChrKeyMonitorCallback(TAny* aObj)
-    {
-    TRAPD(err, static_cast<CAknFepManager*>(aObj)->HandleChrKeyMonitorL());
-    if (err)
-        {
-        static_cast<CAknFepManager*>(aObj)->CleanUpFep();
-        return KErrDied;
-        }
-    return KErrNone;
-    }
-
-/**
- * Handle the Chr Key Monitor
- * for Japanese variant only.
- *
- * @since 3.0
- */
-void CAknFepManager::HandleChrKeyMonitorL()
-    {
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-#ifdef __HALF_QWERTY_KEYPAD        
-    if ( IsFlagSet(EFlagQwertyChrKeyDepressed) && 
-    		  IsFlagSet(EFlagNoActionDuringChrKeyPress) && 
-    		  (EPtiKeyboardHalfQwerty == KeyboardLayout() ) && 
-    		  ( iWesternPredictive || iMode == EPinyin || 
-    		     iMode == EStroke || iMode == EZhuyin ) )   
-    	{
-    	// Clear the chr key depressed flag
-    	TBool validchr = FepUI()->IsValidLongChrKeyPress();
-    	
-    	if(!validchr || !IsAbleToLaunchSCT() )
-    		{
-			  FepUI()->HandleKeyL( EStdKeyLeftFunc, EShortKeyPress );    		
-			  ClearFlag( EFlagQwertyChrKeyDepressed | EFlagNoActionDuringChrKeyPress);
-    		}
-    	else
-    		{
-    		// will launch SCT later
-    		iChrLongKeyPress = ETrue;	
-    		}	
-        
-    	}
-    	else
-#endif   
-#endif
-	 if (IsFlagSet(EFlagQwertyChrKeyDepressed) && IsFlagSet(EFlagNoActionDuringChrKeyPress)
-     && iCurrentFepUI->IsValidShiftKeyPress())
-        {
-        // Timer cancel
-        iChrKeypressMonitor->Cancel();
-        // Commit characters
-        HandleChangeInFocus();
-        // Clear flags
-        ClearFlag(EFlagQwertyChrKeyDepressed | EFlagNoActionDuringChrKeyPress);
-        // Open editting menu
-        LaunchSelectModeMenuL();
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CAknFepManager::SetCursorSelectionL
-// Set editor cursor selection.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CAknFepManager::SetCursorSelectionL(const TCursorSelection& /*aCurSel*/, TBool /*aSyncCursor*/)
-    {
-    }
-
- TInt CAknFepManager::HandleResourceChangedCallback(TAny* aObj)
-	{
-	TRAPD(err, static_cast<CAknFepManager*>(aObj)->ResourceChangedTimeroutL());
-    if (err)
-        {
-        static_cast<CAknFepManager*>(aObj)->CleanUpFep();
-        return KErrNoMemory;
-        }
-    return KErrNone;
-	}
-
-void CAknFepManager::ResourceChangedTimeroutL()
-    {
-    if(iCurrentFepUI)
-	    {
-	    iCurrentFepUI->ResourceChanged(1);	
-	    }   
-    }
-
-
-// -----------------------------------------------------------------------------
-// pen related inplementation
-// -----------------------------------------------------------------------------
-#ifdef RD_SCALABLE_UI_V2
-
-// -----------------------------------------------------------------------------
-// CAknFepManager::HandleLayoutChange
-// Update plugin UI case mode.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CAknFepManager::HandleResourceChange(TInt aType)
-    {
-    if(iCurrentFepUI)
-    	{
-        iAsyncResouceChanged.CallBack();
-    	}
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    if(iCandidatePopup && iPtiEngine && (aType == KEikDynamicLayoutVariantSwitch))        
-        {
-        //When there is a change of layout, the inline text position changes and hence the candidate 
-        //list position also needs to change accordingly.
-        //We need the editor to be brought back to focus, this is because we need the position of
-        //the inline text.
-        iCandidatePopup->UnFocus();
-        //Need to get the editor state back after it is brought back to focus.
-        TRAP_IGNORE( HandleChangeInFocusL()); 
-        
-        // Add candidate list control stack to get the layout change event
-        // after dialog control......
-        TRAP_IGNORE( iCandidatePopup->SetFocusAddStackReducePriorityL() );
-        
-        }
-#endif		
-    TRAP_IGNORE(SendEventsToPluginManL( EPluginResourceChanged, aType ));
-    }   
-void CAknFepManager::HandlePointerEventL(const TPointerEvent& aPointerEvent)
-    {
-    if (IsFlagSet(CAknFepManager::EFlagNoMatches))
-        {
-        ClearFlag(CAknFepManager::EFlagNoMatches); 
-        }
-   
-    if(aPointerEvent.iType == TPointerEvent::EDrag)
-    	{
-    	SetExtendedFlag(EExtendedFlagPointerEventTypeEDrag);
-    	}
-    if (aPointerEvent.iType == TPointerEvent::EButton1Up)
-        {
-    	ClearExtendedFlag(EExtendedFlagPointerEventTypeEDrag);
-
-        // Remember last up-click in case it is needed for displaying
-        // stylus ccpu-menu.
-        iClickPoint = aPointerEvent.iPosition;
-        }    
-    }
- 
-// -----------------------------------------------------------------------------
-// CAknFepManager::HandleSelModeArrowKeyEventL
-// Set text selection when tap on the arrow keys.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CAknFepManager::HandleSelModeArrowKeyEventL(const TKeyEvent& aKeyEvent, 
-                                                  TEventCode aEventCode,
-                                                  TKeyResponse& aRetCode)
-    {
-    TCursorSelection currentEditorSelection(0,0);
-	if(iInputCapabilities.FepAwareTextEditor())
-    	{
-    	iInputCapabilities.FepAwareTextEditor()->
-    		GetCursorSelectionForFep(currentEditorSelection);
-    	}    
-        
-	if(!IsMfneEditor() &&
-		(PluginInputMode() == EPluginInputModeItut ||
-		 PluginInputMode() == EPluginInputModeFSQ)  &&
-		 currentEditorSelection.Length() != 0)
-    	{
-    	
-        if ((aKeyEvent.iScanCode == EStdKeyLeftArrow) || (aKeyEvent.iScanCode == EStdKeyRightArrow)) 
-            {   
-            if (!(aKeyEvent.iModifiers & EModifierShift))
-                {
-                TKeyEvent ccpuStart = aKeyEvent;
-                ccpuStart.iModifiers |= EModifierShift;
-                ccpuStart.iModifiers |= EModifierRightShift;
-                CCoeEnv::Static()->SimulateKeyEventL(ccpuStart, aEventCode);        
-                
-                aRetCode = EKeyWasConsumed;
-                return ETrue;
-                }  
-            else
-                {
-                aRetCode = EKeyWasNotConsumed;
-                return ETrue;              
-                }               
-            }	
-    	}
-    aRetCode = EKeyWasNotConsumed;
-    return EFalse;    
-    }
-
-#else // !RD_SCALABLE_UI_V2
-// -----------------------------------------------------------------------------
-// CAknFepManager::HandleResourceChange
-// Update plugin UI case mode.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CAknFepManager::HandleResourceChange(TInt aType)
-    {
-    if (iFepFullyConstructed && Japanese() )
-        {
-        // Japaneseinput should handle the event of changing layout or screen.
-        FepUI()->ResourceChanged(aType);
-        }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    if(iCandidatePopup && iPtiEngine && (aType == KEikDynamicLayoutVariantSwitch))        
-        {
-        //When there is a change of layout, the inline text position changes and hence the candidate 
-        //list position also needs to change accordingly.
-        //We need the editor to be brought back to focus, this is because we need the position of
-        //the inline text.
-        iCandidatePopup->UnFocus();
-        //Need to get the editor state back after it is brought back to focus.
-        TRAP_IGNORE(HandleChangeInFocusL());
-        //Can not do anything if FEP is not constructed fully
-        if(iFepFullyConstructed)
-            {
-            //Now we read the position of the inline text
-            TPoint  inlineEditorTl;
-            TPoint  inlineEditorBr;
-            TInt    height;
-            TInt    ascent;
-            TInt    documentOffset = iPtiEngine->CurrentWord().Length();
-            //  Popup Position for RTL
-            if(iLanguageCapabilities.iRightToLeftLanguage)
-                documentOffset = 0;
-            //  Popup Position for RTL
-            TRAP_IGNORE( GetScreenCoordinatesL( inlineEditorTl, height, ascent, documentOffset ));
-            inlineEditorTl.iY -= height;
-            TRAP_IGNORE( GetScreenCoordinatesL( inlineEditorBr, height, ascent ));
-            
-            //Let the candidate list know about a change of resource and update the
-            //inline text rectangle.
-            //Now show the candidate list at the re-calculated position
-            iCandidatePopup->ShowAtNewPosition(TRect(inlineEditorTl,inlineEditorBr));
-            }
-        }
-#endif		
-    }
-
-#endif //RD_SCALABLE_UI_V2    
-
-TDigitType CAknFepManager::LocalDigit()
-    {
-    return iLanguageCapabilities.iLocalDigitType;
-    }
-    
-/**
-* Returns ETrue if arabic indic digit setting is on. 
-*
-* @since 3.0
-*/
-TBool CAknFepManager::ArabicIndicDigitsInUse() const
-    {
-    return (iLanguageCapabilities.iLocalDigitType == EDigitTypeArabicIndic);
-    }
-       
-TBool CAknFepManager::EasternArabicIndicDigitsInUse() const
-    {
-    return (iLanguageCapabilities.iLocalDigitType == EDigitTypeEasternArabicIndic);
-    }
-    
-/**
- *  Sets delayed commit on (predicitve word will be commited in 
- *  next call to TryCloseUiL. This is needed because of Japanese ReadingTextL).
- *
- * @since 3.1
- */
-void CAknFepManager::SetDelayedCommit()
-    {
-    iCcpuMode |= ECcpuStataCommitPredictiveWord;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepManager::SetDefaultNumberMode
-//
-// Set default number mode for non-latin languagues
-// 
-// Copied from CGSLangModel::SetDefaultNumberMode
-// -----------------------------------------------------------------------------
-//
-void CAknFepManager::SetDefaultNumberMode( TInt aMode, TInt aNbrModeType )
-    {
-    //As aMode comes from the UI, it can either be 0 or 1. This needs
-    //special handling for Indic mode as it has been defined as an enum
-    //constant and has a value of 2. This applies to any values defined
-    //in the enum and have a value > 1.
-    if ( aNbrModeType == ENbrModeTypeArabic ||
-         aNbrModeType == ENbrModeTypeEasternArabic )
-        {
-        iSharedDataInterface->SetDefaultNumberMode( KSettingsDefaultNumberMode, aMode );
-        }
-    else
-        {
-        iSharedDataInterface->SetDefaultNumberMode( KSettingsIndicDefaultNumberMode, aMode );
-        }
-
-    TLocale locale;
-    if ( aMode == ENbrModeLatin )
-        {
-        locale.SetDigitType( EDigitTypeWestern );
-        }
-    else
-        {
-        //if aMode != EGSNbrModeLatin, then it should be either latin or arabic. However
-        //as EGSNbrModeArabic and EGsNbrModeIndic both have a value = 1, we can't use
-        //that constant for below comparison. Hence, need to depend on the 2nd param.
-        switch ( aNbrModeType )
-            {
-            case ENbrModeTypeArabic:
-                locale.SetDigitType( EDigitTypeArabicIndic );
-                break;
-            case ENbrModeTypeIndic:
-                locale.SetDigitType( EDigitTypeDevanagari );
-                break;
-            case ENbrModeTypeEasternArabic:
-                locale.SetDigitType( EDigitTypeEasternArabicIndic );
-                break;
-            default:
-                break;
-            }
-        }
-
-    locale.Set();
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepManager::ResolveCurrentCandidateListIndex
-//
-// Calculates correct selection index for matches popup list.
-// -----------------------------------------------------------------------------
-//
-TInt CAknFepManager::ResolveCurrentCandidateListIndex(CDesCArrayFlat* aCandList)
-    {
-    if (iPtiEngine && aCandList)
-        {           
-        TBuf<EMaximumFepWordLength> currentCand;
-    
-        currentCand.Copy(iPtiEngine->CurrentWord());    
-        for (TInt i = 0; i < aCandList->Count(); i++)
-            {
-            if (currentCand == aCandList->MdcaPoint(i))
-                {
-                if (i == aCandList->Count() - 1)
-                    {
-                    return 0;
-                    }
-                return i + 1;
-                }
-            }
-        }
-
-    return 0;
-    }
-
-void CAknFepManager::AlignLogicalAndVisualCursorL( TTmDocPosSpec::TType aType, 
-                                                    TBool aToLeft )
-    {
-    if( !( iInputCapabilities.SupportsSecretText() ) )
-        {
-        if( IsFlagSet( EFlagInsideInlineEditingTransaction ) && 
-            IsFlagSet( EFlagInsideMultitapInlineEditingTransaction ) )
-            {
-            CommitInlineEditL();
-            }
-
-        MCoeFepAwareTextEditor* fepAwareTextEditor = 
-            iInputCapabilities.FepAwareTextEditor();
-
-	    MAknFepDocumentNavigation* docNavi = AknFepDocumentNavigation();
-        if( (docNavi || TextLayout()) && fepAwareTextEditor )
-            {
-            TTmDocPosSpec pos = DocPos();
-            pos.iType = aType;
-            TTmPosInfo2 info;
-            if (docNavi)
-            	{
-	            docNavi->GetNextVisualCursorPos( pos, info, aToLeft );
-            	}
-            else
-            	{
- 	            TextLayout()->TagmaTextLayout().GetNextVisualCursorPos( pos, info, aToLeft );
-            	}
-            TCursorSelection curSel( info.iDocPos.iPos, info.iDocPos.iPos );
-            fepAwareTextEditor->SetCursorSelectionForFepL( curSel );
-            }
-        }
-    }
-
-void CAknFepManager::RemoveRephaCharacterL()
-    {
-    MCoeFepAwareTextEditor* fepAwareTextEditor = 
-        iInputCapabilities.FepAwareTextEditor();
-    
-    if( fepAwareTextEditor )
-        {
-        TInt previousCharPos = 0;
-        TBool leftFlag = GetNextVisualLeftCharacter( previousCharPos );
-        
-        if( !leftFlag )
-            {
-            return;
-            }
-        
-        TCursorSelection curSel;
-        fepAwareTextEditor->GetCursorSelectionForFep( curSel );
-            
-        TInt lowerPos = curSel.LowerPos();
-        if( lowerPos > 1 )
-            {
-            const TInt rephaLength( 2 );
-            TBuf<rephaLength> previousCharacter;
-            previousCharacter.FillZ();
-            
-            fepAwareTextEditor->
-                GetEditorContentForFep( previousCharacter, 
-                                        previousCharPos, rephaLength );
-            
-            if (rephaLength == previousCharacter.Length())
-                {
-                if( previousCharacter[0] == TAknFepUiIndicInputManager::RaCharacter( 
-                        TLanguage( iLanguageCapabilities.iInputLanguageCode ) ) &&
-                    previousCharacter[1] == TAknFepUiIndicInputManager::Virama( 
-                        TLanguage( iLanguageCapabilities.iInputLanguageCode ) ) )
-                    {
-                    curSel.iAnchorPos = previousCharPos;
-                    curSel.iCursorPos = previousCharPos + rephaLength;
-                    
-                    // Remove the repha
-                    
-                    if( IsFlagSet( EFlagInsideInlineEditingTransaction ) && 
-                        IsFlagSet( EFlagInsideMultitapInlineEditingTransaction ) )
-                        {
-                        CommitInlineEditL();
-                        }
-                    StartInlineEditL( curSel, previousCharacter, rephaLength, ETrue );
-                    UpdateInlineEditL( KNullDesC, 0 );
-                    CommitInlineEditL();
-    
-                    // Go to the visual right position of current ligature as the 
-                    // repha has been deleted.
-                    AlignLogicalAndVisualCursorL( TTmDocPosSpec::ELeading, EFalse );
-                    }
-                }
-            }
-        }
-    }
-
-TBool CAknFepManager::IsRephaPresent()
-    {
-    TBool result = EFalse;
-    
-    MCoeFepAwareTextEditor* fepAwareTextEditor = 
-        iInputCapabilities.FepAwareTextEditor();
-
-    if( fepAwareTextEditor )
-        {
-        TCursorSelection curSel;
-        
-        fepAwareTextEditor->GetCursorSelectionForFep( curSel );
-        
-        TInt previousCharPos = 0;
-        TBool leftFlag = GetNextVisualLeftCharacter( previousCharPos );
-        
-        if( !leftFlag )
-            {
-            return result;
-            }
-
-        TInt lowerPos = curSel.LowerPos();
-        if( lowerPos > 1 )
-            {
-            const TInt rephaLength( 2 );
-            TBuf<rephaLength> previousCharacter;
-            previousCharacter.FillZ();
-            
-            fepAwareTextEditor->
-                GetEditorContentForFep( previousCharacter, 
-                                        previousCharPos, rephaLength );
-
-            // Verify whether the length of the string is equal to the length 
-            // of repha before doing further checks.
-            if( previousCharacter.Length() == rephaLength )
-                {               
-                if( previousCharacter[0] == TAknFepUiIndicInputManager::RaCharacter( 
-                        TLanguage( iLanguageCapabilities.iInputLanguageCode ) ) &&
-                    previousCharacter[1] == TAknFepUiIndicInputManager::Virama( 
-                        TLanguage( iLanguageCapabilities.iInputLanguageCode ) ) )
-                    {
-                    result = ETrue;
-                    }
-                }
-            }
-        }
-        
-    return result;
-    }
-    
-TText CAknFepManager::PreviousToPreviousChar( TBool aContextSensitive )
-    {
-    TBuf<ESingleCharacter> prevToPrevChar( ESingleCharacter );
-    prevToPrevChar.FillZ();
-
-    if( !aContextSensitive )
-        {
-        TTmDocPosSpec pos = DocPos();
-        
-        // Pos=0 means it is before the first character and there is no previous character
-        if (pos.iPos > 0 ) 
-            {
-            if( iInputCapabilities.FepAwareTextEditor() )
-                {
-                iInputCapabilities.FepAwareTextEditor()->
-                    GetEditorContentForFep( prevToPrevChar, pos.iPos - 1, ESingleCharacter );
-                }
-            }
-        }
-    else
-        {
-        TCursorSelection curSel;
-        
-        MCoeFepAwareTextEditor* fepAwareTextEditor = 
-            iInputCapabilities.FepAwareTextEditor();
-        
-        if( fepAwareTextEditor )
-            {
-            fepAwareTextEditor->GetCursorSelectionForFep( curSel );
-            TInt lowerpos = curSel.LowerPos();
-
-            if( lowerpos > 1 )
-                {
-                fepAwareTextEditor->
-                    GetEditorContentForFep( prevToPrevChar, lowerpos - 2, ESingleCharacter );
-                }
-            }
-        }
-    if (prevToPrevChar.Length())
-        return prevToPrevChar[0];
-    else
-        return NULL;
-    }
-
-void CAknFepManager::RemoveRakarCharacterL()
-    {
-    MCoeFepAwareTextEditor* fepAwareTextEditor = 
-        iInputCapabilities.FepAwareTextEditor();
-    
-    if( fepAwareTextEditor )
-        {
-        TCursorSelection curSel;
-            
-        fepAwareTextEditor->GetCursorSelectionForFep( curSel );
-        
-        TInt lowerpos = curSel.LowerPos();
-
-        if( lowerpos > 1 )
-            {
-            const TInt rakarLength( 2 );
-            TBuf<rakarLength> buffer;
-            buffer.FillZ();
-
-            fepAwareTextEditor->
-                GetEditorContentForFep( buffer, lowerpos - rakarLength, rakarLength );
-            
-            if (rakarLength == buffer.Length())
-                {
-                if( buffer[0] == TAknFepUiIndicInputManager::Virama( 
-                        TLanguage( iLanguageCapabilities.iInputLanguageCode ) ) &&
-                    buffer[1] == TAknFepUiIndicInputManager::RaCharacter( 
-                        TLanguage( iLanguageCapabilities.iInputLanguageCode ) ) )
-                    {
-                    curSel.iAnchorPos = lowerpos - rakarLength;
-                    curSel.iCursorPos = lowerpos;
-                    
-                    // Remove the repha
-                    
-                    if( IsFlagSet( EFlagInsideInlineEditingTransaction ) && 
-                        IsFlagSet( EFlagInsideMultitapInlineEditingTransaction ) )
-                        {
-                        CommitInlineEditL();
-                        }
-                    StartInlineEditL( curSel, buffer, rakarLength, ETrue );
-                    UpdateInlineEditL( KNullDesC, 0 );
-                    CommitInlineEditL();
-                    }
-                }
-            }
-        }
-    }
-
-/**
- * Returns the status of predictive input.
- *
- *  @since 3.2
- *  @return ETrue is available predictive input.
- */
-TBool CAknFepManager::IsAbleToChangePrediction() const
-    {
-    TBool ret = EFalse;
-    if (!(iAknEditorFlags & EAknEditorFlagNoT9))
-        {
-        if (iMode == EHiraganaKanji)
-            {
-            if (HasJapanesePredictionInputMode())
-                {
-                ret = ETrue;
-                }
-            }
-        else
-            {
-            ret = ETrue;
-            }
-        }
-    return ret;
-    }
-
-TLanguage CAknFepManager :: GetInputLanguageFromSharedDataInterface()
-{
-    return ((TLanguage)(iSharedDataInterface->InputTextLanguage()));
-}
-    
-    
-void CAknFepManager::DeactivatePredicitveWordAndMoveCursorL()
-    {
-    if (WesternPredictive())
-        {           
-        TWesternNaviEvent naviEvent = ERightNaviEvent;
-    
-        if (iLanguageCapabilities.iRightToLeftLanguage)
-            {
-            naviEvent = ELeftNaviEvent;     
-            }
-#ifdef RD_INTELLIGENT_TEXT_INPUT         
-		// This function is called at time of Cut/Copy command
-		// TryCloseUiL will remove the auto completion part
-		// To adjust the visual cursor position commit the text with
-		// auto completion part.  
-		if( IsAutoCompleteOn()) 
-			{
-			TInt tailLength = 0;
-			iPtiEngine->HandleCommandL( EPtiCommandGetAutoCompletionTailLength, &tailLength );
-
-			if( tailLength > 0)
-				{
-				// Sync the key sequence and editor text.	
-				iPtiEngine->HandleCommandL( EPtiCommandLockCurrentCandidate );			
-				}
-			}
-#endif
-    
-        // Find the visual left/right end of the current word
-        TTmDocPosSpec pos;
-        GetAvkonDefinedVisualLimitsOfSelection(
-               iUncommittedText, naviEvent, pos, NULL );
-               
-        TryCloseUiL();
-    
-        // Position should be dis-ambiguated based on last navigation and direction of blocks.
-        AdjustPosSpecForAmbiguityAfterLeftOrRightNavigation( pos, naviEvent );
-
-        SetCursorPositionL( pos );
-
-        iCaseMan->UpdateCase(ENullNaviEvent);       
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CAknFepManager::EditorCcpuStatus
-//
-// Returns the Ccpu status of given editor state as a flag combination.
-// -----------------------------------------------------------------------------
-//
-TInt CAknFepManager::EditorCcpuStatus(CAknEdwinState* aEdwinState)
-    {
-    TInt ret = 0;
-                                            
-    if (aEdwinState && aEdwinState->CcpuState())
-        {
-        if (aEdwinState->CcpuState()->CcpuCanCopy())
-            {
-            ret |=  ECcpuStatusFlagCanCopy;
-            }
-        if (aEdwinState->CcpuState()->CcpuCanCut()) 
-            {
-            ret |=  ECcpuStatusFlagCanCut;
-            }
-        if (aEdwinState->CcpuState()->CcpuCanPaste())               
-            {
-            ret |=  ECcpuStatusFlagCanPaste;                    
-            }
-        }                 
-    return ret; 
-    }
-    
-void CAknFepManager::NewLigatureL( const TDesC& aText )
-    {
-    if( !iInputCapabilities.SupportsSecretText() && 
-        ( EditorHasFreeSpace() || 
-            IsFlagSet( EFlagInsideMultitapInlineEditingTransaction ) ) )
-        {
-        if ( iFepManState == EAknFepStateInitial ) //multitapping
-            {
-            if ( !IsFlagSet( EFlagInsideMultitapInlineEditingTransaction ) )
-                {
-                ClearFlag( EFlagLineFeedCharacter );
-                StartInlineEditL( aText );
-                SetFlag( EFlagInsideMultitapInlineEditingTransaction );
-                SetFlag( EFlagInsideInlineEditingTransaction );
-                }
-            }
-        }
-    }
-
-
-
-// -----------------------------------------------------------------------------
-// CAknFepManager::CancelCcpuMode
-//
-// Cancels the copy / cut mode initiated from editing options -submenu.
-// -----------------------------------------------------------------------------
-//
-void CAknFepManager::CancelCcpuMode()
-    {
-    iIndicator->SetCopyMode(EFalse);
-    if (IsCcpuFlagSet(ECcpuStateStartCopy | ECcpuStateCopy | ECcpuStateStartCut | ECcpuStateCut))
-        {
-        iUiInterface->DeleteSoftkeys();    
-        }
-    
-    ResetCcpuFlags();                       
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepManager::CancelShiftKeyTimer
-//
-// Cancels shift key timer.
-// -----------------------------------------------------------------------------
-//
-void CAknFepManager::CancelShiftKeyTimer()
-    {
-    ClearFlag(EFlagShiftKeyDepressed);
-    if (iShiftKeypressMonitor)
-        {
-        iShiftKeypressMonitor->Cancel();    
-        }
-    }
-
-void CAknFepManager::RemoveTextFromEditorL( TInt aNumOfCharacters, 
-                                            TInt aPos /*= 0*/,
-                                            TBool aIsToAlignCursor /* = ETrue */)
-	{
-    if( IsFlagSet( EFlagInsideInlineEditingTransaction ) && 
-        IsFlagSet( EFlagInsideMultitapInlineEditingTransaction ) )
-        {
-        // Update the inline buffer with NULL descriptor.
-        // Inline buffer can be only at position 0, i.e. 
-        // where the cursor stands.
-        if( aNumOfCharacters == UncommittedText().Length()
-             && aPos == 0 )
-            {
-            UpdateInlineEditL( KNullDesC, 0 );
-            }
-        CommitInlineEditL();
-        }
-    else
-        {
-        MCoeFepAwareTextEditor* fepAwareTextEditor = 
-            iInputCapabilities.FepAwareTextEditor();
-
-        if( fepAwareTextEditor && aPos >= 0 )
-            {
-            // Get the previous cursor position.
-            TCursorSelection cursorSelPrevious;
-            fepAwareTextEditor->GetCursorSelectionForFep( cursorSelPrevious );
-
-            // Place the cursor at the desired position.
-            TCursorSelection sel( cursorSelPrevious.iCursorPos - aPos, 
-                            cursorSelPrevious.iCursorPos - aPos );
-        	fepAwareTextEditor->SetCursorSelectionForFepL( sel );
-
-            // Set cursor span on previous N characters
-            if ( sel.iAnchorPos >= aNumOfCharacters )
-                {
-                sel.iAnchorPos -= aNumOfCharacters;
-
-                // get text to clear
-                TBuf<EMaximumFepWordLength> bufToClear;
-                fepAwareTextEditor->GetEditorContentForFep( bufToClear, sel.iAnchorPos, 
-                                                            aNumOfCharacters );
-
-                // delete the character with an inline edit
-                StartInlineEditL( sel, bufToClear, aNumOfCharacters, EFalse );
-                UpdateInlineEditL( KNullDesC, 0 );
-                CommitInlineEditL();
-                
-                if( aIsToAlignCursor )
-                    {
-                    // Move the cursor to the original position considering the 
-                    // aNumOfCharacters
-                    cursorSelPrevious.iCursorPos -= aNumOfCharacters;
-                    cursorSelPrevious.iAnchorPos = cursorSelPrevious.iCursorPos;
-                    fepAwareTextEditor->SetCursorSelectionForFepL( cursorSelPrevious );
-                    }
-                }        
-            }        
-        }
-    }
-
-#ifdef RD_MARATHI
-
-TBool CAknFepManager::IsChandraAPresentL()
-    {
-    TBool result = EFalse;
-
-    MCoeFepAwareTextEditor* fepAwareTextEditor = 
-		iInputCapabilities.FepAwareTextEditor();
-
-	if( fepAwareTextEditor )
-		{
-		TCursorSelection curSel;
-		
-		fepAwareTextEditor->GetCursorSelectionForFep( curSel );
-		
-		TInt lowerpos = curSel.LowerPos();
-
-        TInt chandraALength = 2;
-        TBuf<2> buf;
-	    TAknFepUiIndicInputManager::GetChandraA( buf );
-
-		if( lowerpos > ( chandraALength - 1 ) )
-			{
-			TBuf<2>previousCharacter;
-
-			fepAwareTextEditor->GetEditorContentForFep( 
-                previousCharacter, lowerpos-chandraALength, chandraALength );
-			
-			if( buf.CompareC( previousCharacter ) == 0 )
-			    {
-			    // Chandra-A found
-			    result = ETrue;
-			    }
-			}
-		}
-    return result;
-	}
-
-TBool CAknFepManager::IsEyeLashRaPresentL()
-    {
-    TBool result = EFalse;
-
-    MCoeFepAwareTextEditor* fepAwareTextEditor = 
-		iInputCapabilities.FepAwareTextEditor();
-
-	if( fepAwareTextEditor )
-		{
-		TCursorSelection curSel;
-		
-		fepAwareTextEditor->GetCursorSelectionForFep( curSel );
-		
-		TInt lowerpos = curSel.LowerPos();
-
-        
-        TBuf<3> buf;
-	    TAknFepUiIndicInputManager::GetEyeLashRa( buf, 
-	                                    (TLanguage)iLanguageCapabilities.iInputLanguageCode );
-        TInt eyeLashRaLength = buf.Length();
-
-		if( ( lowerpos - eyeLashRaLength ) >= 0 )
-			{
-			TBuf<3>previousCharacter;
-
-			fepAwareTextEditor->GetEditorContentForFep( 
-                previousCharacter, lowerpos-eyeLashRaLength, eyeLashRaLength );
-			
-			if( previousCharacter.Length() >=2 && 
-			    buf.CompareC( previousCharacter ) == 0 )
-			    {
-			    // EyeLashRa found
-			    result = ETrue;
-			    }
-			}
-		}
-    return result;
-	}
-
-#endif // RD_MARATHI
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-void CAknFepManager::RemoveSuggestedCompletionL()
-{	
-	if(iPtiEngine->InputMode() == EPtiEngineWordCompletion && 
-	   IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction))
-		{
-			TBuf<CAknFepManager::EMaximumFepWordLength> currentText = iPtiEngine->CurrentWord();
-			if(currentText.Length() > iPtiEngine->CurrentInputSequence().Length())
-				{
-				currentText.SetLength(iPtiEngine->CurrentInputSequence().Length());
-				iPtiEngine->SetCurrentWord(currentText);
-	    		UpdateInlineEditL(currentText,currentText.Length()); 
-   	            TransferFepStateToEditorL();
-				}
-			
-		}
-}
-#endif //RD_INTELLIGENT_TEXT_INPUT
-
-
-// -----------------------------------------------------------------------------
-// CAknFepManager::ExtendedInputCapabilities
-//
-// Returns the extended input bapabilities bitvector.
-// -----------------------------------------------------------------------------
-//
-TUint CAknFepManager::ExtendedInputCapabilities() const
-    {
-    MObjectProvider* mop = iInputCapabilities.ObjectProvider();
-
-    if ( mop && iInputCapabilities.FepAwareTextEditor() )//IsFepAwareTextEditor()
-		{
-		CAknExtendedInputCapabilities* extendedInputCapabilities = 
-		mop->MopGetObject( extendedInputCapabilities );
-
-		if ( extendedInputCapabilities ) 
-			{
-			return extendedInputCapabilities->Capabilities();
-			}
-		} 
-		
-    return 0;		          
-    }
-
-
-#ifdef RD_SCALABLE_UI_V2         
-// -----------------------------------------------------------------------------
-// CAknFepManager::LaunchStylusCcpuMenuL
-//
-// Displays stylus ccpu-menu.
-// -----------------------------------------------------------------------------
-//    
-void CAknFepManager::LaunchStylusCcpuMenuL(TPoint &aClickPoint)
-    {
-    const TInt KItemCopy  = 0x01;
-    const TInt KItemCut   = 0x02;
-    const TInt KItemPaste = 0x04;
-    
-    delete iStylusCcpuMenu;
-    iStylusCcpuMenu = NULL;    
-     
-    // It is assume that this method is called only if there is selected
-    // text in suitable editor, ie. there will be at least "copy"-item available.
-    TInt items = KItemCopy;    
-        
-    CAknEdwinState* editorState = EditorState();
-    if (editorState && editorState->CcpuState())
-        {              
-        if (editorState->CcpuState()->CcpuCanCut())
-            {
-            items |= KItemCut;
-            }
-        if (editorState->CcpuState()->CcpuCanPaste())
-            {
-            items |= KItemPaste;
-            }                    
-        }        
-    
-    if (items)
-        {
-        TBuf<CAknFepUiInterfaceMenuPane::SItemData::ENominalTextLength> itemStr;          
-        iStylusCcpuMenu = iUiInterface->NewStylusPopUpMenuL(this, aClickPoint);     
-        
-        if (items & KItemCopy)
-            {
-            StringLoader::Load(itemStr, R_AKNFEP_SOFTKEY_COPY);            
-            iStylusCcpuMenu->AddMenuItemL(itemStr.Mid(1, itemStr.Length() - 1).Left(CAknFepUiInterfaceMenuPane::SItemData::ENominalTextLength), EEikCmdEditCopy);            
-            }
-        if (items & KItemCut)
-            {                    
-            itemStr.Zero();
-            StringLoader::Load(itemStr, R_AKNFEP_SOFTKEY_CUT);            
-            iStylusCcpuMenu->AddMenuItemL(itemStr.Mid(1, itemStr.Length() - 1).Left(CAknFepUiInterfaceMenuPane::SItemData::ENominalTextLength), EEikCmdEditCut);
-            }
-        if (items & KItemPaste)
-            {
-            itemStr.Zero();
-            StringLoader::Load(itemStr, R_AKNFEP_STYLUS_CCPU_MENU_PASTE);               
-            iStylusCcpuMenu->AddMenuItemL(itemStr.Mid(1, itemStr.Length() - 1).Left(CAknFepUiInterfaceMenuPane::SItemData::ENominalTextLength), EEikCmdEditPaste);                
-            }
-        
-        SetCcpuFlag(ECcpuStateCopy); // This forces ProcessCommandL to handle the events.
-        iStylusCcpuMenu->SetPosition(aClickPoint);    
-        iStylusCcpuMenu->ShowMenu();       
-        }
-    }
-#endif    
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT
- TBool CAknFepManager::IsFnKeyMappedL(TPtiKeyboardType aKeyboardType)
-    {
-    MPtiLanguage *lang = NULL;
-    RArray < TPtiNumericKeyBinding > keybinding;
-    TBool ret = EFalse;
-    if(iPtiEngine)
-        {
-        lang = iPtiEngine->CurrentLanguage();
-        if(lang)
-        {
-        iPtiEngine->GetNumericModeKeysForQwertyL(lang->LanguageCode(), keybinding, aKeyboardType);
-        TInt numericKeysCount = keybinding.Count();
-        while ( numericKeysCount-- )
-            {
-            TPtiNumericKeyBinding numKeyBind = keybinding[numericKeysCount];
-            if ( numKeyBind.iCase == EPtiCaseFnLower || numKeyBind.iCase == EPtiCaseFnUpper)
-                {
-                ret = ETrue;
-                break;
-                    }
-                }
-            }
-        }
-    keybinding.Reset();
-    return ret;
-    }
-TBool CAknFepManager::IsFnKeyMapped()
-    {
-    return iIsFnKeyMapped;
-    }
-    
-void CAknFepManager::SetFnKeyMappingState()
-    {
-    TRAP_IGNORE(iIsFnKeyMapped = IsFnKeyMappedL());
-    }
-
-TBool CAknFepManager::KeyMapsDifferentCharacterWithFn( TPtiKey aKey ) const
-    {
-    // we are interested only about the first mapped character => buffer length 1 is adequate
-    TBuf<1> lowerMapping; 
-    TBuf<1> upperMapping;
-    TBuf<1> lowerFnMapping; 
-    TBuf<1> upperFnMapping;
-    iPtiEngine->MappingDataForKey( aKey, lowerMapping, EPtiCaseLower );
-    iPtiEngine->MappingDataForKey( aKey, upperMapping, EPtiCaseUpper );
-    iPtiEngine->MappingDataForKey( aKey, lowerFnMapping, EPtiCaseFnLower );
-    iPtiEngine->MappingDataForKey( aKey, upperFnMapping, EPtiCaseFnUpper );
-    
-    if ( lowerFnMapping.Length() )
-        {
-        if ( !lowerMapping.Length() ||              // < key maps character only with Fn
-             lowerMapping[0] != lowerFnMapping[0] ) // < Fn changes the character of the key
-            {
-            return ETrue;
-            }
-        }
-    else if ( upperFnMapping.Length() )
-        {
-        if ( !upperMapping.Length() ||              // < key maps character only with Fn
-             upperMapping[0] != upperFnMapping[0] ) // < Fn changes the character of the key
-            {
-            return ETrue;
-            }
-        }
-    
-    return EFalse; // The key doesn't have symbol behind Fn or the symbol is the same as without Fn
-    }
-#endif //RD_INTELLIGENT_TEXT_INPUT
-MAknFepDocumentNavigation* CAknFepManager::AknFepDocumentNavigation() const
-	{
-	MAknFepDocumentNavigation* navi = NULL;
-	
-    MObjectProvider* mop = iInputCapabilities.ObjectProvider();
-    if ( mop )
-        {
-        mop->MopGetObject( navi );
-        }
-    
-    return navi;
-	}
-
-CAknFepUIInterface* CAknFepManager::UiInterface()
-	{
-	return iUiInterface;
-	}
-
-void CAknFepManager::AlignLogicalAndVisualCursorL()
-    {
-    TBool isIndicLang = 
-        TAknFepUiIndicInputManager::
-            IsIndicLangauge( TLanguage( iLanguageCapabilities.iInputLanguageCode ) );
-
-    if( isIndicLang )
-        {
-        TTmDocPosSpec pos = DocPos();
-        pos.iType = TTmDocPosSpec::ETrailing;
-        TTmPosInfo2 info;
-        TTmLineInfo lineInfo;
-
-        TBool findAvailable = EFalse;
-
-        MAknFepDocumentNavigation* docNavi = AknFepDocumentNavigation();
-
-        if ( docNavi )
-            {
-            docNavi->FindDocPos( pos, info, lineInfo );
-            findAvailable = ETrue;
-            }
-        else
-            {
-            CTextLayout* textLayout = TextLayout();
-            if ( textLayout )
-                {
-                textLayout->TagmaTextLayout().FindDocPos( pos, info, lineInfo );	    					    
-                findAvailable = ETrue;
-                }
-            }
-
-        if ( findAvailable )
-            {
-            TCursorSelection sel( info.iDocPos.iPos, info.iDocPos.iPos );
-            iInputCapabilities.FepAwareTextEditor()->SetCursorSelectionForFepL(sel);
-            }
-        }
-    }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-TKeyResponse CAknFepManager::HandleFnKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aEventCode )
-    {
-     TKeyResponse ret; 
-     
-#ifdef __HALF_QWERTY_KEYPAD  
-     if ( IsFlagSet( EFlagShiftKeyDepressed ) && 
-        ( EPtiKeyboardHalfQwerty == KeyboardLayout() )&& 
-        ( aEventCode != EEventKeyUp ) )
-         {
-         return EKeyWasNotConsumed;
-         }
-#endif
-     
-     if (!iCurrentFepUI->IsValidFnKeyPress() && EStdKeyRightFunc == aKeyEvent.iScanCode)
-     	{
-     	TBool Uiret = ETrue;
-     	if (EEventKeyDown == aEventCode )
-     		{
-      		Uiret = FepUI()->HandleKeyL(EKeyRightFunc, EShortKeyPress);     		
-     		}
-     		
-     	if (Uiret)
-     		{
-     		ret = EKeyWasConsumed;
-     		}
-        else
-        	{
-     	    ret = iFnKeyManager->HandleFnKeyEventL( aKeyEvent, aEventCode, 
-                                            	    iInputCapabilities ) ;     	        	
-        	}	 
-     	}
-     else
-     	{
-     	
-     	ret = iFnKeyManager->HandleFnKeyEventL( aKeyEvent, aEventCode, 
-                                            	iInputCapabilities ) ;     	
-     	}
-     if(IsHybridAplhaEditor() && !iHybridAplphaChangedToAlphanumeric)
-         {
-         if(FnKeyState() != CAknFepFnKeyManager::EFnKeyLock)
-            iHybridAplphaChangedToAlphanumeric = ETrue;
-         }
-
-     return ret;
-    }
-#endif //RD_INTELLIGENT_TEXT_INPUT
-
-// -----------------------------------------------------------------------------
-// CAknFepManager::HasJapanesePredictionInputMode
-// Has Japanese prediction input mode in PtiEngine
-// -----------------------------------------------------------------------------
-//
-TBool CAknFepManager::HasJapanesePredictionInputMode() const
-    {
-    // Is it supported Japanese predictive input
-    TBool ret = EFalse;
-    MPtiLanguage* ptilang = iPtiEngine->GetLanguage(ELangJapanese);
-    if ( ptilang
-     &&  ( (!iQwertyInputMode && ptilang->HasInputMode(EPtiEngineHiraganaKanjiPredictive))
-         ||(iQwertyInputMode && ptilang->HasInputMode(EPtiEngineHiraganaKanjiPredictiveQwerty)) ) )
-        {
-        ret = ETrue;
-        }
-    return ret;
-    }
-#ifdef RD_HINDI_PHONETIC_INPUT
-void CAknFepManager::HandleIndicCaseL()
-	{
-		iHashKeyMan->HandleSetIndicStateL();
-	}
-#endif
-
-// -----------------------------------------------------------------------------
-// CAknFepManager::IsCursorAtEndOfWord
-// 
-// -----------------------------------------------------------------------------
-//    
-TBool CAknFepManager::IsCursorAtEndOfWord()
-    {   
-    iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(iUncommittedText);
-    TInt origPos = iUncommittedText.iCursorPos; 
-   
-    FindEndOfWord(iUncommittedText.iCursorPos);
-       
-    if (origPos != iUncommittedText.iCursorPos)
-        {
-        return EFalse;
-        }
-        
-    return ETrue;        
-    }
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-TInt CAknFepManager::GetCurrentCase()
-    {
-    TCase returnCase;
-    
-    switch( iCaseMan->CurrentCase() )
-        {
-        case EAknEditorUpperCase:
-        case EAknEditorTextCase:
-            {
-            returnCase = EUpperCase;
-            }
-            break;
-
-        case EAknEditorLowerCase:
-            {
-            returnCase = ELowerCase;
-            }
-            break;
-        
-        default:
-            returnCase = ELowerCase;
-            break;
-        }
-    return returnCase;
-    }
-// Predictive QWERTY changes (XT9) ---->
-
-void CAknFepManager::GetCandidatesL( CDesCArray& aArray, TInt& aActiveIdx )
-    {
-    iPtiEngine->GetCandidateListL(aArray);
-    iPtiEngine->HandleCommandL( EPtiCommandUserActionGetCurrentIndexOfCandidates, &aActiveIdx );
-    }  
-
-void CAknFepManager::GetUpdateCandidatePositionL(TRect& aRect)
-    {
-     if(iCandidatePopup && iFepFullyConstructed && iPtiEngine)
-        {
-        //Now we read the position of the inline text
-        TPoint  inlineEditorTl;
-        TPoint  inlineEditorBr;
-        TInt    height;
-        TInt    ascent;
-        TInt    documentOffset = iPtiEngine->CurrentWord().Length();
-        //  Popup Position for RTL
-        if(iLanguageCapabilities.iRightToLeftLanguage)
-            documentOffset = 0;
-        //  Popup Position for RTL
-        GetScreenCoordinatesL(inlineEditorTl, height, ascent, documentOffset);
-        inlineEditorTl.iY -= height;
-        GetScreenCoordinatesL(inlineEditorBr, height, ascent);
-        aRect.iTl = inlineEditorTl;
-        aRect.iBr = inlineEditorBr;
-        }
-    }
-
-TBool CAknFepManager::IsRightToLeftLanguage()
-	{
-	return iLanguageCapabilities.iRightToLeftLanguage ;
-	}
-
-/**
-* Setter for the advanced predictive typing correction.
-* @param    aLevel   The level to be set.
-*/
-void CAknFepManager::SetTypingCorrectionLevel(TInt aLevel)
-	{
-	iTypingCorrectionLevel = aLevel;
-    
-	if(iFepFullyConstructed)
-		{
-		TPtiErrorCorrectionLevel correctionLevel = (TPtiErrorCorrectionLevel)aLevel;
-		TRAP_IGNORE(iPtiEngine->HandleCommandL( EPtiCommandSetCorrectionLevel, &correctionLevel ));	
-		}
-	}
-	
-/**
-* Resetter for the advanced predictive Number Candidate setting.
-* @param    aValue   The value to be set.
-*/
-void CAknFepManager::SetNumberCandidateState(TInt aValue)
-	{
-	if(aValue == 0)
-		iIsNumberCandidateShown = EFalse;
-	else if(aValue == 1)
-		iIsNumberCandidateShown = ETrue;
-	
-	if(iFepFullyConstructed)
-		{
-		TRAP_IGNORE(iPtiEngine->HandleCommandL( EPtiCommandSetNumberCandidateStatus, 
-		                                        &iIsNumberCandidateShown ));
-		}
-	}
-	
-void CAknFepManager::RemoveSuggestedAdvanceCompletionL()
-    {	
-    if( IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction) &&
-        iPtiEngine->CurrentWord().Length() )
-        {
-        TRAP_IGNORE(iPtiEngine->HandleCommandL( EPtiCommandUserActionShorten ));
-        TPtrC currentText = iPtiEngine->CurrentWord();
-        UpdateInlineEditL( currentText, currentText.Length() );
-        }
-    }
-/**
-* Setes the current state from GS to the local state
-*/    
-   
-void CAknFepManager::SetAutoCompletionState(TInt aValue) 
-	{
-	if(aValue == 0)
-		{
-		iIsAutoCompleteOn = EFalse;
-		}
-	else if(aValue == 1)
-		{
-		iIsAutoCompleteOn = ETrue;
-		}
-	 
-	if(iFepFullyConstructed)
-		{
-		if(iIsAutoCompleteOn)
-			{
-			TRAP_IGNORE(iPtiEngine->HandleCommandL( EPtiCommandEnableAutoCompletion  ));
-			}
-		else
-			{
-			TInt tailLength = 0;
-			TRAP_IGNORE(iPtiEngine->HandleCommandL( EPtiCommandGetAutoCompletionTailLength, &tailLength ));
-			if(tailLength > 0)
-				{
-				// send an update to engine to signify change in autocompletion from on to off while tail exists
-				// This will set EPtiXt9FlagAutoCompletionSetOnToOff flag as true in engine
-				TInt value = 1;
-				TRAP_IGNORE(iPtiEngine->HandleCommandL( EPtiCommandAutoCompletionOnToOff,&value));				
-				}
-			
-			
-			TRAP_IGNORE(iPtiEngine->HandleCommandL( EPtiCommandDisableAutoCompletion ));
-			}
-		}
-	}
-	
-/**
-* Sets the primary candidate from GS to the local state
-*/    
-   
-void CAknFepManager::SetPrimaryCandidate(TInt aValue) 
-	{
-	if(aValue == 0)
-		iPrimaryCandidate = ETrue;
-	else if(aValue == 1)
-		iPrimaryCandidate = EFalse;    
-	if(iFepFullyConstructed)
-		{
-		TRAP_IGNORE(iPtiEngine->HandleCommandL( EPtiCommandSetProactiveCorrection, 
-		                                        &iPrimaryCandidate ));
-		}
-	}
-#endif //RD_INTELLIGENT_TEXT_INPUT
-    
-CAknFepPluginManager* CAknFepManager::PluginUIManager()
-    {
-#ifdef RD_SCALABLE_UI_V2
-
-    return iFepPluginManager;
-#else
-    return NULL;        
-#endif //RD_SCALABLE_UI_V2     
-    }
-
-// add for phrase creation
-MZhuyinKeyHandler* CAknFepManager::ZhuyinKeyHandler()
-    {
-    return iZhuyinKeyHandler;
-    }
-// add for phrase creation
-CAknFepZhuyinAnalyser* CAknFepManager::ZhuyinAnalyser()
-    {
-    return iZhuyinAnalyser;
-    }
-
-#ifdef RD_SCALABLE_UI_V2
-void CAknFepManager::UpdateTouchCaseMode()
-	{
-    if (iFepFullyConstructed && 
-        iFepPluginManager 
-        // case should be updated even if current input mode is none because iPreviousCoseMode
-        // still need to be updated.
-        /*&& 
-        iFepPluginManager->PluginInputMode() != EPluginInputModeNone*/)
-    	{
-    	iFepPluginManager->UpdateCaseMode();	
-    	}
-	}
-#endif// RD_SCALABLE_UI_V2
-
-void CAknFepManager::SetStopProcessFocus(TBool aStop, TBool aClose)
-    {
-    iClosePeninputUi = aClose;
-    iStopProcessFocus = aStop;
-    if (!aStop)
-        {
-        HandleChangeInFocus();
-        }
-    }
-    
-TBool CAknFepManager::StopProcessFocus()
-    {
-    return iStopProcessFocus;    
-    }
-    
-TBool CAknFepManager::CloseUiOnFocusChange()
-    {
-    return iClosePeninputUi;    
-    }
-void CAknFepManager::HandleCopyCutStateL()    
-{
-    if (IsCcpuFlagSet(ECcpuStateCopy | ECcpuStateCut))
-                {
-                TCursorSelection selection;
-                iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(selection);
-                TBool update;
-                if (selection.Length() > 0)
-                    {
-                    if (!IsCcpuFlagSet(ECcpuStateButton))
-                        {
-                        __ASSERT_DEBUG(iUiInterface->SoftkeysExist(),
-                                       AknFepPanic(EAknFepPanicNoHandleToFepAwareTextEditor));                         
-                        if (IsCcpuFlagSet(ECcpuStateCopy))                      
-                            {
-                            update = UpdateCBALabelL(ELeftSoftkeyIndex, EEikCmdEditCopy, R_AKNFEP_SOFTKEY_COPY);
-                            update |= UpdateCBALabelL( EMiddleSoftkeyIndex, EEikCmdEditCopy, R_AVKON_SOFTKEY_SELECT_TEXT ); 
-                            }
-                        else
-                            {
-                            update = UpdateCBALabelL(ELeftSoftkeyIndex, EEikCmdEditCut, R_AKNFEP_SOFTKEY_CUT);                          
-                            update |= UpdateCBALabelL( EMiddleSoftkeyIndex, EEikCmdEditCut, R_AVKON_SOFTKEY_SELECT_TEXT ); 
-                            }
-                        if (update)
-                            {
-                            iUiInterface->DrawSoftkeysNow();
-                            }               
-                        SetCcpuFlag(ECcpuStateButton);                                      
-                        }                   
-                    }   
-                else if (IsCcpuFlagSet(ECcpuStateButton))                        
-                    {                   
-                    ClearCcpuFlag(ECcpuStateButton);
-                    update = EFalse;
-                    update = UpdateCBALabelL(ELeftSoftkeyIndex, KNullCommandId, R_TEXT_SOFTKEY_EMPTY);
-                    update |= UpdateCBALabelL( EMiddleSoftkeyIndex, KNullCommandId, R_TEXT_SOFTKEY_EMPTY );
-                    if (update)
-                        {
-                        iUiInterface->DrawSoftkeysNow();
-                        }               
-                    }
-                }    
-}    
-#ifdef RD_SCALABLE_UI_V2
-TInt GetForegroundTaskAppWgId()
-    {
-    TApaTaskList tList(CCoeEnv::Static()->WsSession());
-    
-    TApaTask task = tList.FindByPos(0);
-    return task.WgId();
-    }
-
-void CAknFepManager::DimInputmodeTouchMenuItems(CAknFepUiInterfaceMenuPane* aMenuPane)
-    {
-    DimEditMenuModeItems(aMenuPane);
-
-    if ( IsChineseInputLanguage() )
-        {
-        DoChineseTouchMenu(aMenuPane);
-        }
-    else if ( iLanguageCapabilities.iInputLanguageCode == ELangJapanese)
-        {
-        DoJapaneseMenu(aMenuPane);
-        }
-    else
-        {
-        DoWesternTouchMenu(aMenuPane);
-        }
-    }
-#endif
-
-void CAknFepManager::DimInputmodeMenuItems(CAknFepUiInterfaceMenuPane* aMenuPane)
-    {
-    DimEditMenuModeItems(aMenuPane);
-
-    if ( IsChineseInputLanguage() )
-        {
-        DoChineseMenu(aMenuPane);
-        }
-    else if ( iLanguageCapabilities.iInputLanguageCode == ELangJapanese)
-        {
-        DoJapaneseMenu(aMenuPane);
-        }
-    else
-        {
-        DoWesternMenu(aMenuPane);
-        }
-    }
-
-void CAknFepManager::HandleCopyCutEventL(TInt aCommandId)
-    {
-     if (iCcpuMode != ECcpuStateNone)
-        {                   
-        ResetCcpuFlags();                   
-        iUiInterface->DeleteSoftkeys();
-                    
-        SetCcpuFlag(ECcpuStatePosted);  
-                                         
-#ifdef RD_SCALABLE_UI_V2                    
-        if (aCommandId == EEikCmdEditCopy)
-            {                     
-            // Send copy event to AknCcpuSupport.
-            CCoeEnv::Static()->SimulateKeyEventL(KAknCcpuCopyEvent, EEventKey);
-            }
-        else
-            {
-            // Send cut event to AknCcpuSupport.
-            CCoeEnv::Static()->SimulateKeyEventL(KAknCcpuCutEvent, EEventKey);
-            }                               
-#else         
-/*As part of build warnings commenting this perticular code it might require when touch is enabled.        
-        if (aCommandId == EEikCmdEditCopy)
-            {                                          
-            // Send copy-event to editor.
-            CCoeEnv::Static()->SimulateKeyEventL(KEditorCopyEvent, EEventKey);
-            }
-        else 
-            {                       
-            // send cut-event to editor.         
-            CCoeEnv::Static()->SimulateKeyEventL(KEditorCutEvent, EEventKey);
-            } 
-			*/            
-#endif // RD_SCALABLE_UI_V2 
-
-        if (iInputCapabilities.FepAwareTextEditor())                                
-            {
-            // update indicators only if this is editable component.
-            iIndicator->SetCopyMode(EFalse);
-            UpdateIndicators();                                                           
-            }
-#ifdef  RD_SCALABLE_UI_V2       	 
-        HandleChangeInFocus();
-#endif
-        
-        }
-
-    }
-
-TInt CAknFepManager::FepShowVkbPreviewStatus()
-    {
-    return iSharedDataInterface->FepShowVkbPreviewStatus();    
-    }
-
-void CAknFepManager::InitPreviewMenuPane(CAknFepUiInterfaceMenuPane* aMenuPane)
-    {
-    if (FepShowVkbPreviewStatus() > 0)
-        {
-        aMenuPane->GetMenuPane()->SetItemButtonState(EPenInputCmdPreviewOn, 
-                                                     EEikMenuItemSymbolOn );
-        }
-    else
-        {
-        aMenuPane->GetMenuPane()->SetItemButtonState(EPenInputCmdPreviewOff, 
-                                                     EEikMenuItemSymbolOn );
-        }
-    }
-
-void CAknFepManager::SynCCPSoftKey()
-    {
-    TRAP_IGNORE(HandleCopyCutStateL());   
-    }
-
-TInt CAknFepManager::PluginInputMode() const
-{
-#ifdef RD_SCALABLE_UI_V2
-    return iFepPluginManager ? iFepPluginManager->PluginInputMode() : EPluginInputModeNone;
-#else
-    return EPluginInputModeNone;
-#endif 
-}
-
-void CAknFepManager::HandleEndKeyL()
-    {
-#ifdef RD_SCALABLE_UI_V2 
-
-    if (iFepPluginManager)
-        {
-        return;    
-        }
-
-    RWsSession &ws = CCoeEnv::Static()->WsSession();
-    //TInt wgId =ws.GetFocusWindowGroup();
-    CApaWindowGroupName* wg = CApaWindowGroupName::NewLC(ws,
-        CCoeEnv::Static()->WsSession().GetFocusWindowGroup());
-
-    TUid id = wg->AppUid();
-    CleanupStack::PopAndDestroy(wg); 
-
-    if (0x10207218 == id.iUid ||
-        0x10281EF2 == id.iUid)
-        {
-        RPeninputServer iPenInputServer;
-
-        TInt err = iPenInputServer.Connect();
-		if(err == KErrNone)
-			{
-			iPenInputServer.SetForeground(ETrue);
-			iPenInputServer.ActivateLayout( EFalse ); 
-			iPenInputServer.HandleCommand(ECmdPenInputWindowClose);
-			
-			iPenInputServer.ClearServerEvent();
-			iPenInputServer.LoseForeground();
-			iPenInputServer.Close();
-			}
-        }
-#endif //RD_SCALABLE_UI_V2         
-    }
-void CAknFepManager::NeedDisableKeySound(const TKeyEvent& aKeyEvent, TEventCode aEventCode)
-    {
-#ifdef RD_SCALABLE_UI_V2    
-    TInt keyCode = aKeyEvent.iScanCode;
-    TBool interestKey = EFalse;
-    if ( keyCode == EPtiKey0 || 
-         keyCode == EPtiKey1 ||
-         keyCode == EPtiKey2 ||
-         keyCode == EPtiKey3 ||
-         keyCode == EPtiKey4 ||
-         keyCode == EPtiKey5 ||
-         keyCode == EPtiKey6 ||
-         keyCode == EPtiKey7 ||
-         keyCode == EPtiKey8 ||
-         keyCode == EPtiKey9 ||
-         keyCode == EStdKeyDownArrow ||
-         keyCode == EStdKeyRightArrow ||
-         keyCode == EStdKeyLeftArrow ||
-         keyCode == EStdKeyUpArrow ||
-         keyCode == EStdKeyBackspace
-         )
-        {
-        interestKey = ETrue;
-        }
-    if( interestKey && iFepPluginManager && 
-        iFepPluginManager->PluginInputMode() == EPluginInputModeItut)
-        {
-        if( aEventCode == EEventKeyDown )
-            {
-            static_cast<CAknAppUi*>(CEikonEnv::Static()->EikAppUi())->
-                 DisableNextKeySound( keyCode ); 
-            }
-        else if( aEventCode == EEventKey )
-            {
-			#ifdef RD_TACTILE_FEEDBACK
-            MTouchFeedback::Instance()->
-                InstantFeedback(ETouchFeedbackSensitive);
-			#endif
-            }
-        }
-#endif     
-    }
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-void CAknFepManager::SetComposChrFlag( TBool aFlag )
-    {
-    iComposChrFlag = aFlag;
-    }
-TBool CAknFepManager::GetComposChrFlag( )
-    {
-    return iComposChrFlag;
-    }
-#endif
-
-// add for phrase creation User db view
-void CAknFepManager::AddUserDBDlgItemL( CAknFepUiInterfaceMenuPane* aMenuPane, TInt aIndex )
-    {
-    CAknFepUiInterfaceMenuPane::SItemData mData;
-
-    TBuf<KMaxFileName> langStr;
-    TInt Inputlangindex;
-    if (!aMenuPane->MenuItemExists(EAknCmdUserDBDlg, Inputlangindex))
-        {
-        StringLoader::Load(langStr, R_AKNFEP_OPTIONS_USER_DB_DLG);
-
-        mData.iCommandId = EAknCmdUserDBDlg;
-        mData.iCascadeId = 0;
-        mData.iFlags = 0;
-        mData.iText.Copy(langStr.Mid(1, langStr.Length() - 1).Left(CAknFepUiInterfaceMenuPane::SItemData::ENominalTextLength));
-
-        aMenuPane->InsertMenuItemL(mData, aIndex);
-        }
-    }
-// add for phrase creation
-void CAknFepManager::LaunchUserDBDlgL( )
-    {
-    TInt itemIndex = 0;
-    
-    //Change title text
-    CEikStatusPane* statusPane = CEikonEnv::Static()->AppUiFactory()->StatusPane();
-    CAknTitlePane* title = static_cast< CAknTitlePane* >(
-        statusPane->ControlL( TUid::Uid( EEikStatusPaneUidTitle) ) );
-
-    //Save the old title tet
-    HBufC* Oldtitletext = title->Text()->AllocLC();
-    //Load the new title text
-    HBufC* titletext = StringLoader::LoadLC( R_AKNFEP_USER_DB_MANAGEMENT_TITLE );
-    //Set title to the new text
-    title->SetTextL( *titletext );
-
-    CDesCArray* items = new( ELeave ) CDesCArrayFlat( KSelectItemSize );
-    CleanupStack::PushL( items );
-    CArrayFix<TInt>* selectedItems = new( ELeave ) CArrayFixFlat<TInt>( KSelectItemSize );
-    CleanupStack::PushL( selectedItems );
-    
-    CAknToolbar* toolbar = iAvkonAppUi->CurrentFixedToolbar();
-    
-    if( toolbar && toolbar->IsShown() && toolbar->CountComponentControls()>0 )
-        {
-        toolbar->SetDimmed( ETrue );
-        toolbar->DrawDeferred();
-        }
-    
-    TUid naviPaneUid;
-	naviPaneUid.iUid = EEikStatusPaneUidNavi;
-
-	CEikStatusPaneBase::TPaneCapabilities subPane =
-			statusPane->PaneCapabilities(naviPaneUid);
-	// if we can access the navigation pane
-	if (subPane.IsPresent() && subPane.IsAppOwned())
-		{
-		CAknNavigationControlContainer
-				* naviPane =
-						(CAknNavigationControlContainer *) statusPane->ControlL(naviPaneUid);
-		iTapGroup = naviPane->CreateTabGroupL();
-		iTapGroup->MakeVisible( EFalse );
-		naviPane->PushL( *iTapGroup );
-		}
-    
-    iUserdbdlg = CAknFepUserdbDlg::NewL( itemIndex,
-        selectedItems, items, R_AKNFEP_USERDB_DLG_MENUBAR, iPtiEngine, this );
-    
-    iIsUserdbdlgActive = 1;
-    
-    iUserdbdlg->RunLD();
-    
-    iIsUserdbdlgActive = 0;
-    
-	// if we can access the navigation pane
-	if (subPane.IsPresent() && subPane.IsAppOwned())
-		{
-
-		CAknNavigationControlContainer
-				* naviPane =
-						(CAknNavigationControlContainer *) statusPane->ControlL(naviPaneUid);
-		naviPane->Pop();
-		delete iTapGroup;
-		iTapGroup = NULL;
-		}
-	
-    //Set the title to old text
-    title->SetTextL( *Oldtitletext );
-    
-    if( toolbar )
-        {
-        toolbar->SetDimmed( EFalse );
-        toolbar->DrawNow();
-        }
-    
-    CleanupStack::PopAndDestroy( selectedItems );
-    CleanupStack::PopAndDestroy( items );
-    CleanupStack::PopAndDestroy( titletext );
-    CleanupStack::PopAndDestroy( Oldtitletext );
-    iUserdbdlg = NULL;
-    }
-// add for phrase creation
-TBool CAknFepManager::IsPinyinPhraseCreation() const
-    {
-    return iPinyinPhraseCreation;
-    }
-
-void CAknFepManager::PinyinPhraseCreation(  TBool aPinyinPhraseCreation )
-    {
-    if ( iPinyinPhraseCreation != aPinyinPhraseCreation )
-        {
-        iPinyinPhraseCreation = aPinyinPhraseCreation;
-        }
-    }
-// add for phrase creation
-TBool CAknFepManager::IsPhraseCreation() const
-    {
-    return iPhraseCreation;
-    }
-// add for phrase creation
-void CAknFepManager::PhraseCreation(  TBool aPhraseCreation )
-    {
-    if ( iPhraseCreation != aPhraseCreation )
-        {
-        iPhraseCreation = aPhraseCreation;
-        }
-    }
-// add for phrase creation
-TBool CAknFepManager::IsEntryPhrase() const
-    {
-    return iEntryPhrase;
-    }
-// add for phrase creation
-void CAknFepManager::EntryPhrase( TBool aEntryPhrase )
-    {
-    if ( iEntryPhrase != aEntryPhrase )
-        {
-        iEntryPhrase = aEntryPhrase;
-        }
-    }
-// add for phrase creation
-void CAknFepManager::EnableKeyStar( TBool aEnable )
-    {
-    if ( iKeyStar != aEnable )
-        {
-        iKeyStar = aEnable;
-        }
-    }
-// add for phrase creation
-TBool CAknFepManager::IsEnableKeyStar( ) const
-    {
-    return iKeyStar;
-    }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-	
-
-#ifdef __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-/**
-* @return   ETrue   If the number entry with long key press is supported on QWERTY keyboard.
-*/
-TBool CAknFepManager::LongPressNumberEntryOnQwerty() const
-    {
-    TBool value = EFalse;
-    if ( iSharedDataInterface )
-        {
-        value = iSharedDataInterface->LongPressNumberEntryOnQwerty();
-        }
-    return value;
-    }
-
-#endif // __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-
-
-void CAknFepManager::MultitapThroughSCTCharL(TCallBack aCallBack)
-    {
-    
-	TInt res = GetNumericSCTResID();
-    
-    if(!res)
-    	{
-    	return;
-    	}
-
-    if(!iNumericResourceTimer)
-        {        
-        iNumericResourceTimer = CChrMultiTapTimer::NewL(aCallBack);
-        }
-    
-    if(!iResourceString || iNumericResourceId !=res )
-        {
-        // either the resource string has not be created or the resource ID has changed
-        if(iResourceString)
-            {
-            delete iResourceString;
-            iResourceString = NULL;
-            }
-        iNumericResourceId = res;
-        TResourceReader reader;
-        CEikonEnv::Static()->CreateResourceReaderLC(reader,iNumericResourceId);
-        reader.ReadInt32(); // skip sct id 
-        iResourceString = reader.ReadHBufC16L();
-        CleanupStack::PopAndDestroy();
-        }
-    if(!iResourceString)
-        {
-        return;
-        }
-    if(iNumericResourceTimer->IsActive())
-        {
-        if( iChrCharIndex == iResourceString->Length() )
-            {
-            iChrCharIndex = 0;            
-            }
-    
-        iNumericResourceTimer->Cancel();
-        iNumericResourceTimer->After(KChrKeyMultitapTimeout);        
-        }
-    else
-        {
-        iChrCharIndex = 0;
-        iNumericResourceTimer->After(KChrKeyMultitapTimeout);
-        }    
-    TBuf<1> buf;
-    buf.Append((*iResourceString)[iChrCharIndex]); 
-    NewCharacterL(buf);
-    iChrCharIndex++;
-    	if (iResourceString->Length() == 1)
-		{
-		NumericResourceMultiTapTimerTimeoutL();
-		}
-
-    }
-TBool CAknFepManager::NumericResourceMultiTapTimerTimeoutL()
-    {
-    if(iNumericResourceTimer->IsActive())
-    	{
-    	iNumericResourceTimer->Cancel();
-    	if(IsFlagSet(CAknFepManager::EFlagInsideMultitapInlineEditingTransaction))
-	        {
-	        CommitInlineEditL();
-	        return ETrue;
-	        } 
-    	}       
-    return EFalse;    
-    }    
-    
-//-------------------------------------------------------------------
-
-//
-// CChrMultiTapTimer
-//
-
-// ---------------------------------------------------------------------------
-// CChrMultiTapTimer::NewL
-// 
-// ---------------------------------------------------------------------------
-// 
-CChrMultiTapTimer* CChrMultiTapTimer::NewL(TCallBack aCallback)
-    {
-    CChrMultiTapTimer* self = new(ELeave)CChrMultiTapTimer(aCallback);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop();    // self
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CChrMultiTapTimer::CChrMultiTapTimer
-// 
-// ---------------------------------------------------------------------------
-// 
-CChrMultiTapTimer::CChrMultiTapTimer(TCallBack aCallback)
-:CTimer(EPriorityStandard), iCallback(aCallback)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CChrMultiTapTimer::ConstructL
-// 
-// ---------------------------------------------------------------------------
-// 
-void CChrMultiTapTimer::ConstructL()
-    {
-    CTimer::ConstructL();
-    CActiveScheduler::Add(this);
-    }
-
-// ---------------------------------------------------------------------------
-// CChrMultiTapTimer::After
-// 
-// ---------------------------------------------------------------------------
-// 
-void CChrMultiTapTimer::After(TTimeIntervalMicroSeconds32 aInterval)
-    {
-    if (IsActive())
-        {
-        Cancel();
-        }
-    CTimer::After(aInterval);
-    }
-
-// ---------------------------------------------------------------------------
-// CChrMultiTapTimer::RunL
-// 
-// ---------------------------------------------------------------------------
-// 
-void CChrMultiTapTimer::RunL()
-    {
-    iCallback.CallBack();
-    }
-
-TBool CAknFepManager::IsLanguageSupportPrediction()
-    {
-    TBool isLanguagugeSupportsPrediction = EFalse;
-    switch(iKeyboardType)
-        {
-        case EPtiKeyboardHalfQwerty:
-#ifdef __HALF_QWERTY_KEYPAD
-            isLanguagugeSupportsPrediction = (iQwertyInputMode) & (iLanguageCapabilities.iSupportsWesternHalfQwertyPredictive); 
-#endif              
-            break;
-        case EPtiKeyboardQwerty4x12:
-        case EPtiKeyboardQwerty4x10:
-        case EPtiKeyboardQwerty3x11:
-        case EPtiKeyboardCustomQwerty:
-            isLanguagugeSupportsPrediction = (iQwertyInputMode) & (iLanguageCapabilities.iSupportsWesternQwertyPredictive);
-            break;
-        case EPtiKeyboardNone:
-        case EPtiKeyboard12Key:
-            isLanguagugeSupportsPrediction = (!iQwertyInputMode) & (iLanguageCapabilities.iSupportsWesternPredictive);
-            break;
-        default:
-            isLanguagugeSupportsPrediction = (!iQwertyInputMode) & (iLanguageCapabilities.iSupportsWesternPredictive);
-            break;    
-        }    
-    return isLanguagugeSupportsPrediction;
-    }
-#endif //RD_INTELLIGENT_TEXT_INPUT
-
-TBool CAknFepManager::IsAllowedKeymappingForNumberMode(TChar aChar) const
-    {
-    TBool response = EFalse;
-
-
-    switch ( iAknEditorNumericKeymap )
-        {
-        case EAknEditorStandardNumberModeKeymap:
-        case EAknEditorFixedDiallingNumberModeKeymap:
-        case EAknEditorSATNumberModeKeymap:
-        case EAknEditorSATHiddenNumberModeKeymap:
-            {
-            response = (aChar == '#');
-            }
-            break;
-        case EAknEditorCalculatorNumberModeKeymap:
-        case EAknEditorConverterNumberModeKeymap:
-            {
-            TLocale tLoc;
-            response = (aChar == tLoc.DecimalSeparator());
-            }
-            break;
-        case EAknEditorToFieldNumberModeKeymap:
-            {
-            response = (aChar == ';');
-            }
-            break;
-        case EAknEditorPlainNumberModeKeymap:
-        case EAknEditorReservedInternalUseKeymap:
-        default:
-            break;
-        }
-
-    return response;
-    }
-/**
-  * Return wether ipnut mode is change by press shift+space. 
-  * This is for half-qwerty.
-  */
-TBool CAknFepManager::IsChangeModeByShiftAndSpace()
-    {
-    return iShiftAndSpace;
-    }
-
-/**
-  * Set wether ipnut mode is change by press shift+space. 
-  * This is for half-qwerty.
-  */
-void CAknFepManager::SetChangeModeByShiftAndSpace( TBool aFlag )
-    {
-    iShiftAndSpace = aFlag;
-    }
-
-void CAknFepManager::HideExactWordPopUp()
-	{
-	iExactWordPopupContent->HidePopUp();	
-	}
-
-TBool CAknFepManager::IsExactWordPopUpShown()
-	{
-return iExactWordPopupContent->IsPopUpVisible();	
-	}
-void CAknFepManager::StopDisplayingMenuBar()
-    {
-    if (iEditMenuBar)
-        {
-        iEditMenuBar->StopDisplayingMenuBar();
-        iEditMenuBar = NULL;
-        }
-#ifdef __ITI_VIRTUAL_TOUCH_FIRST_GENERATION_SUPPORT__    
-    if (iOptionsMenuBar)
-        {
-        iOptionsMenuBar->StopDisplayingMenuBar();
-        iOptionsMenuBar = NULL;
-        }
-#endif //__ITI_VIRTUAL_TOUCH_FIRST_GENERATION_SUPPORT__   
-    }
-
-void CAknFepManager::SetQwertyModeToInputcapbility()
-    {
-    if ( iSharedDataInterface->QwertyInputMode() )
-        {
-        SetExtendedInputCapabilities( ExtendedInputCapabilities() |
-            CAknExtendedInputCapabilities::EInputEditorQwertyInputActive  );
-        }
-    else
-        {
-        SetExtendedInputCapabilities( ExtendedInputCapabilities() &
-            ~CAknExtendedInputCapabilities::EInputEditorQwertyInputActive  );
-        }
-    }
-void CAknFepManager::SetExtendedInputCapabilities( TUint aCapabilities)
-    {
-    MObjectProvider* mop = iInputCapabilities.ObjectProvider();
-
-    if ( mop && iInputCapabilities.FepAwareTextEditor() )//IsFepAwareTextEditor()
-        {
-        CAknExtendedInputCapabilities* extendedInputCapabilities =
-        mop->MopGetObject( extendedInputCapabilities );
-
-        if ( extendedInputCapabilities )
-            {
-            extendedInputCapabilities->SetCapabilities( aCapabilities );
-            }
-        }
-
-    return;
-    }
-
-void CAknFepManager::PrepareFepAfterDialogExitL(TUid aFepUid)
-    {
-    // This ensures that on 3rd party fep change we do not have access to other fep variables
-    if (aFepUid != CCoeEnv::Static()->FepUid())
-        {
-		// In case the fep has changed, then leave
-        User::Leave(KErrNone);
-        }
-	// Once the editor which launches a dialog is destroyed, this flag is set
-	// In case we have any dialog launched we leave as the underneath editor is
-	// destroyed
-    if (IsExtendedFlagSet(EExtendedFlagEdwinEditorDestroyed))
-        {
-        if(!iFepAwareDialogParentEditor)
-            {
-			// For Eg: Messaging editor launches spell query which inturn launches
-			// SCT. Then don't clear the flag once we dismiss SCT because we even
-			// need to dismiss spell query dialog.
-            ClearExtendedFlag(EExtendedFlagEdwinEditorDestroyed);
-            }       
-        User::Leave(KErrNone);
-        }
-    if(!iFepAwareDialogParentEditor)
-        {
-        ClearExtendedFlag(EExtendedFlagEdwinEditorDestroyed);
-        }    
-    }
-
-void CAknFepManager::PrepareFepForFepAwareDialogLaunch()
-    {
-    iFepAwareDialogParentEditor = EditorState();
-    SetExtendedFlag(EExtendedFlagFepAwareDialogLaunched);
-    }
-
-void CAknFepManager::PrepareFepAfterFepAwareDialogExitL(TUid aFepUid)
-    {
-    // This ensures that on 3rd party fep change we do not have access to other fep variables
-    if (aFepUid != CCoeEnv::Static()->FepUid())
-        {
-        // In case the fep has changed, then leave
-        User::Leave(KErrNone);
-        }    
-    iFepAwareDialogParentEditor = NULL;
-    ClearExtendedFlag(EExtendedFlagFepAwareDialogLaunched);
-    }
-
-void CAknFepManager::ConvertCharToKey(TChar aChar, TUint16& aKey) const
-    {
-    aKey = 0;
-	
-	if (!iPtiEngine)
-		return;
-		
-    CPtiCoreLanguage* lang = (CPtiCoreLanguage*)iPtiEngine->GetLanguage(iLanguageCapabilities.iInputLanguageCode);
-    TPtiEngineInputMode inputMode = iPtiEngine->InputMode();
-    
-    if (!lang)
-        return;
-
-    const TBool vietnamese = (iLanguageCapabilities.iInputLanguageCode == ELangVietnamese);
-
-    MPtiKeyMappings* map;
-    if (inputMode == EPtiEngineQwerty || inputMode == EPtiEngineQwertyPredictive)
-        {
-        map = lang->GetQwertyKeymappings();
-        }
-    else if( inputMode == EPtiEngineHalfQwerty || inputMode == EPtiEngineHalfQwertyPredictive )
-        {
-        map = lang->GetHalfQwertyKeymappings();
-        }
-    else    
-        {
-        map = lang->GetKeymappings();
-        }
-
-    if (!map)
-        {
-        return;
-        }   
-
-    TUint16 ch;
-    ch = (TUint16)map->KeyForCharacter(aChar); 
-    if (!ch && vietnamese)
-        {
-        // This may be Vietnamese tone mark or an accented character which isn't listed
-        // in keymappings. 
-        ch = RemapVietnameseAccentedCharacter(aChar);
-        }
-
-    aKey = ch;
-    }
-
-// ---------------------------------------------------------------------------
-// LOCAL METHODS
-// 
-// ---------------------------------------------------------------------------
-//     
-const TInt KVietKeyMarker = 0xffff;
-const TUint16 vietnameseAccents[] =
-    {
-    KVietKeyMarker, EPtiKey2, // For key 2, a-based    
-    0x00c1,	0x00c0, 0x1ea2, 0x00c3, 0x1ea0,
-    0x00e1, 0x00e0, 0x1ea3, 0x00e3, 0x1ea1,
-    0x0102, 0x1eae, 0x1eb0, 0x1eb2, 0x1eb4, 0x1eb6,
-    0x0103, 0x1eaf, 0x1eb1, 0x1eb3, 0x1eb5, 0x1eb7,
-    0x00c2, 0x1ea4, 0x1ea6, 0x1ea8, 0x1eaa, 0x1eac,
-    0x00e2, 0x1ea5, 0x1ea7, 0x1ea9, 0x1eab, 0x1ead, 
-
-    KVietKeyMarker, EPtiKey3, // For key 3, e-based    
-    0x00c9,	0x00c8, 0x1eba, 0x1ebc, 0x1eb8,
-    0x00e9, 0x00e8, 0x1ebb, 0x1ebd, 0x1eb9,
-    0x00ca, 0x1ebe, 0x1ec0, 0x1ec2, 0x1ec4, 0x1ec6,
-    0x00ea, 0x1ebf, 0x1ec1, 0x1ec3, 0x1ec5, 0x1ec7,
-
-    KVietKeyMarker, EPtiKey4, // For key 4, i-based    
-    0x00cd,	0x00cc, 0x1ec8, 0x0128, 0x1eca,
-    0x00ed, 0x00ec, 0x1ec9, 0x0129, 0x1ecb,
-    
-    KVietKeyMarker, EPtiKey6, // For key 6, o-based    
-    0x00d3,	0x00d2, 0x1ece, 0x00d5, 0x1ecc,
-    0x00f3, 0x00f2, 0x1ecf, 0x00f5, 0x1ecd,
-    0x00d4, 0x1ed0, 0x1ed2, 0x1ed4, 0x1ed6, 0x1ed8,
-    0x00f4, 0x1ed1, 0x1ed3, 0x1ed5, 0x1ed7, 0x1ed9,
-    0x01a0, 0x1eda, 0x1edc, 0x1ede, 0x1ee0, 0x1ee2,
-    0x01a1, 0x1edb, 0x1edd, 0x1edf, 0x1ee1, 0x1ee3, 
-    0
-    }; 
-
-
-// ---------------------------------------------------------------------------
-// RemapVietnameseAccentedCharacter
-// 
-// ---------------------------------------------------------------------------
-// 
-LOCAL_C TInt RemapVietnameseAccentedCharacter(TUint16 aChr)
-	{
-	// Check tone marks first.	
-	switch (aChr)
-		{
-		case 0x0301:
-		     return EPtiKey2;
-		case 0x0300:
-		     return EPtiKey3;
-		case 0x0309:
-		     return EPtiKey4;		     
-		case 0x0303:
-			 return EPtiKey5;			
-		case 0x0323:
-			 return EPtiKey6;						 
-		default:
-			break; 	
-		}	 
-	
-	TInt ret = 0;
-	
-	for (const TUint16* ptr = vietnameseAccents; *ptr != 0; ptr++)
-		{
-		if (*ptr == KVietKeyMarker)
-			{
-			ret = ptr[1];
-			ptr++;
-			}
-		else
-			{
-			if (*ptr == aChr)
-				{
-				break;
-				}
-			}			
-		}
-		
-	return ret;	 		
-	}
-
-// End of file
--- a/fep/aknfep/src/AknFepPlugin.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-/*
-* 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:           
-*       CAknFepPlugin implementation.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepManager.h"
-#include "AknFepPlugin.h"
-#include <ecom/implementationproxy.h>
-
-CAknFepPlugin* CAknFepPlugin::NewL()
-	{
-	return new (ELeave) CAknFepPlugin();
-	}
-
-
-CCoeFep* CAknFepPlugin::NewFepL(CCoeEnv& aConeEnvironment, const CCoeFepParameters& aFepParameters)
-	{
-    CAknFepManager* const aknFep = new(ELeave) CAknFepManager(aConeEnvironment);
-    CleanupStack::PushL(aknFep);
-    aknFep->ConstructL(aFepParameters);
-    CleanupStack::Pop(); // aknFep
-    return aknFep;
-	}
-
-
-void CAknFepPlugin::SynchronouslyExecuteSettingsDialogL(CCoeEnv& /*aConeEnvironment*/)
-	{
-	}
-
-
-const TImplementationProxy ImplementationTable[] =
- 	{
-#ifdef __EABI__ 
-	IMPLEMENTATION_PROXY_ENTRY(0x101FD65A, CAknFepPlugin::NewL) 
-#else
-	{{0x101FD65A}, CAknFepPlugin::NewL}		
-#endif
- 	};	
-  
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
- 	{
- 	aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
- 	return ImplementationTable;
- 	}
-
-// End of file
-
--- a/fep/aknfep/src/AknFepPluginManager.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5428 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// System includes
-#include <aknedsts.h> 
-#include <AknUtils.h> 
-#include <aknappui.h> 
-#include <eikccpu.h> 
-#include <eikdialg.h> 
-#include <eikcapc.h> // CEikCaptionedControl
-#include <aknQueryControl.h> 
-#include <centralrepository.h> 
-#include <StringLoader.h> 
-#include <AknFepPluginManager.h>
-#include <aknfeppeninputimeplugin.h>
-#include <UikonInternalPSKeys.h> // KUikGlobalNotesAllowed
-#include <AvkonInternalCRKeys.h>    // KAknQwertyInputModeActive
-#include <hlplch.h>
-//#include <peninputgsinterface.h>
-#include <aknfep.rsg>
-#include <avkon.rsg>
-#include <AknIndicatorContainer.h>  //CAknIndicatorContainer
-#include <StringLoader.h>
-#include <peninputgenericitutcustomization.h>
-#include <eikgted.h> 
-#include <txtglobl.h>
-#include <eikedwin.h> 
-#include <featmgr.h>                 //FeatureManager
-#include <aknextendedinputcapabilities.h>
-#include <avkon.hrh>
-#include <PtiEngine.h>
-//#include <peninputcommonlayoutglobalenum.h>
-#include <PtiCompositionDataIF.h> // MPtiEngineCompositionDataInterface
-#include <eikapp.h>
-#include <AknFepGlobalEnums.h>
-#include <AknFepInternalCRKeys.h>
-
-// User includes
-#include "AknFepManagerInterface.h" // MAknFepManagerInterface
-#include "AknFepUiManagerBase.h"
-#include "aknfepuimanagerfingeritutchinese.h"
-
-// For Spell
-#include "aknfepuispellcontainer.h"            
-#include "aknfepuispellinputpane.h"
-
-#include <eikgted.h> 
-
-#include <apgwgnam.h>
-
-#include <PtiKeyMappings.h>
-#include <AknPriv.hrh>
-
-// Constants
-const TInt KCursorBlinkPerioid = 10000;//300000; // five tenth of a second * 2
-const TInt KMaxServerDataLength = 50;
-const TUint KVkbParagraphSeparator = 0x2029;
-const TUint KVkbTabulator = 0x0009;
-const TUid KAknfepUID= { 0x100056de }; 
-const TUid KUidtruiApp = { 0x2000B104 }; 
-const TInt KAknScreenServerUid = 0x100056cf;
-const TInt KAknCapServerUid = 0x10207218;
-const TInt KAknNotifySrvUid = 0x10281EF2;
-const TInt KAknHelpAppUid = 0x10005234;
-const TInt KInvalidValue = -1;
-
-// Paste event for AknCcpuSupport
-const TKeyEvent KAknCcpuPasteEvent = {EKeyF18, EEikCmdEditPaste, EModifierCtrl, 1}; 
-
-const TUint KSupportedDeadKeys[] = { 0x005E, 0x0060, 0x00A8, 0x007E, 0x00AF, 
-		                             0x00B4, 0x00B8, 0x02C7, 0x02DB, 0x02DD, 
-		                             0x00A8, 0x0384, 0x0385 }; 
-
-_LIT(KVkbTabChar, " ");
-
-_LIT(KHWR_HLP_MAIN_VIEW, "HWR_HLP_MAIN_VIEW");
-_LIT(KVQWERTY_HLP_MAIN_VIEW, "VQWERTY_HLP_MAIN_VIEW"); 
-_LIT(KVITU_HLP_MAIN_VIEW, "VITU_HLP_MAIN_VIEW");
-
-const TInt KDefaultCandidateArraySize = 16;
-const TInt KNumberOfCases = 6;
-
-#define iAvkonAppUi ((CAknAppUi*)CEikonEnv::Static()->EikAppUi())
-TUid AppUidFromWndGroupIdL(TInt aWndGrpId)
-    {
-    RWsSession &ws = CCoeEnv::Static()->WsSession();
-    //TInt wgId =ws.GetFocusWindowGroup();
-    CApaWindowGroupName* wg = CApaWindowGroupName::NewLC(ws,aWndGrpId);
-
-    TUid id = wg->AppUid();
-    CleanupStack::PopAndDestroy(wg);    	
-    return id;
-    
-    }
-
-TUid GetFocusAppUid()
-    { 
-    TUid id = {0x0};
-    TRAP_IGNORE(id = AppUidFromWndGroupIdL(CCoeEnv::Static()->WsSession().GetFocusWindowGroup()));
-    return id;
-    }
-TUid GetCurAppUid()
-    {
-    TUid id = {0x0};	
-    TRAP_IGNORE(id = AppUidFromWndGroupIdL(CCoeEnv::Static()->RootWin().Identifier())); 
-    return id;           
-    }
-
-TBool IsGlobalNotesApp(TUid& aUid)		  
-    {
-    const TInt KAknCapServerUid = 0x10207218;
-    const TInt KAknNotifySrvUid = 0x10281EF2;      
-    if(aUid.iUid == KAknCapServerUid || aUid.iUid == KAknNotifySrvUid)
-        return ETrue;
-    return EFalse;
-    }
-#ifdef RD_SCALABLE_UI_V2
-inline TBool IsAbleTouseCallBubble()
-    {
-    const TInt KAknCapServerUid = 0x10207218;    
-    return GetCurAppUid().iUid != KAknCapServerUid;
-    }
-#endif //RD_SCALABLE_UI_V2
-    
-RDrawableWindow* GetFocusWindow()
-    {
-    CCoeControl* focusControl = CCoeEnv::Static()->AppUi()->TopFocusedControl();
-    if( focusControl )
-        {
-        return focusControl->DrawableWindow();
-        }
-    return NULL;
-    }
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAknFepPluginManager::NewL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//    
-CAknFepPluginManager* CAknFepPluginManager::NewL( CAknFepManager& aFepMan,
-                                                CAknFepSharedDataInterface& aSharedData,
-                                                CAknFepLanguageManager& aLangMan,
-                                                CAknFepCaseManager& aCaseMan )
-    { 
-    CAknFepPluginManager* self = new (ELeave) CAknFepPluginManager
-        ( aFepMan, aSharedData, aLangMan, aCaseMan ); 
-    CleanupStack::PushL( self );
-    self->ConstructL();       
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepPluginManager::~CAknFepPluginManager
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//     
-CAknFepPluginManager::~CAknFepPluginManager()
-    {  
-    delete iAdjustDataQueryTimer;
-
-    iCurrentPluginInputFepUI = NULL; // why not delete????
-    delete iPenInputMenu;
-    
-    if( iPenInputSvrConnected )
-        {
-        iPenInputServer.Close();
-        iPenInputSvrConnected = EFalse;
-        }
-    delete iFingerItutChineseUI;
-    
-    delete iIcfDataBuf;
-    iIcfDataBuf = NULL;
-    
-    delete iSpellText;
-    iSpellText = NULL;
-
-    delete iSpell;
-    iSpell = NULL;
-    
-    delete iLastEditorContentBuf;
-    
-    delete iAvkonRepository;
-    
-    /*    
-    for(TInt i = 0; i < iCandidateList.Count(); i++)
-        {
-        HBufC* buf = iCandidateList[i];
-        delete buf;
-        }
-    iCandidateList.Close();
-    */
-    iCandidateList.ResetAndDestroy();
-    iSendAllList.iCandidates.Reset();
-    iOpenWindowList.Close();
-    iEventData.Close();    
-    iPreCaption.Close();
-    
-	  ClosePeninputSetting();
-    }
-    
-// ---------------------------------------------------------------------------
-// CAknFepPluginManager::CAknFepPluginManager
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-CAknFepPluginManager::CAknFepPluginManager( CAknFepManager& aFepMan, 
-                                          CAknFepSharedDataInterface& aSharedData,
-                                          CAknFepLanguageManager& aLangMan,
-                                          CAknFepCaseManager& aCaseMan )
-    : iFepMan( aFepMan ), iLangMan( aLangMan ), iCaseMan( aCaseMan ),
-      iSharedData( aSharedData ), iPluginPrimaryRange( ERangeInvalid ), iCandidateIndex(1),
-      iCharStartPostion( KInvalidValue )
-    {
-    iIndicatorImgID = 0;
-    iIndicatorTextID = 0;
-    iLastDataQueryWin = NULL;
-    iDefaultOrientation = -1;
-    iIsInEditWordQueryDlg = EFalse;    
-    iClosePluginInputMode = EFalse;
-    iDimGainForeground = ETrue;
-	// Modify for bug ELZG-7WZC35 begin
-    iAlignment = 0;
-    // Modify for bug ELZG-7WZC35 end
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepPluginManager::ConstructL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-void CAknFepPluginManager::ConstructL()
-    {
-    iPenInputMenu = CAknFepPluginMenuManager::NewL(&iFepMan);
-    
-    //here ERangeInvalid means there is no change of plugin input range.
-    iFepMan.UiInterface()->TouchPaneSetFepPenSupportInterface(this);
-    iEventData.CreateMaxL(KMaxServerDataLength);
-    
-    RThread client;
-    iHasSWEventCap = client.HasCapability(ECapabilitySwEvent);
-    client.Close();
-    iAvkonRepository = CRepository::NewL( KCRUidAvkon ); 
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepPluginManager::ActivatePenInputL
-// Change to default plugin input mode
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CAknFepPluginManager::ActivatePenInputL()
-    {
-    if( !iPenInputSvrConnected || !iPenInputServer.IsVisible() || iPenInputServer.IsDimmed() )
-        {
-        if( iFepMan.FepAwareTextEditor() )
-            {
-			iPreferredUiMode = ETrue;
-            TryChangePluginInputModeByModeL((TPluginInputMode)(iSharedData.PluginInputMode()),
-                                            EPenInputOpenManually,
-                                            ERangeInvalid);
-            }
-        }    
-    iFepMan.PtiEngine()->CancelTimerActivity();    
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepPluginManager::DeactivatePenInputL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-void CAknFepPluginManager::DeactivatePenInputL()
-    {
-    ClosePluginInputModeL(ETrue);
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepPluginManager::HandleServerEventL
-// Handle pen input server events.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CAknFepPluginManager::HandleServerEventL(TInt aEventId)
-    {
-    if(ESignalServerExit == aEventId)
-        {
-        iPenInputSvrConnected = EFalse; 
-        return ETrue;
-        }
-    if(ESignalServerReady == aEventId)
-        {
-        //reconnect to server
-        iFepMan.SendEventsToPluginManL(EPluginEditorActivate);
-        return ETrue;
-        }
-    TBool bHandled = EFalse;
-    if( !iLangMan.CurrentImePlugin())
-        {
-        return bHandled;
-        }
-    
-    iEventData.Zero();
-    TPtrC pBuf; 
-    TInt dataLen = iPenInputServer.GetServerEventData(iEventData);
-    
-    if( KErrNone == dataLen )
-        {
-        pBuf.Set(iEventData);
-        }
-    else if ( dataLen > 0 )
-        {
-        iEventData.ReAllocL(dataLen);
-        dataLen = iPenInputServer.GetServerEventData(iEventData);
-        pBuf.Set(iEventData);
-        }
-    if( dataLen != KErrNone )
-	    {
-	    return ETrue;
-	    }
-
-    if( !iLangMan.CurrentImePlugin()->HandleServerEventL(aEventId, iEventData) )
-        {
-        bHandled = ETrue;
-        
-        //only handle events which IME plug-in don't handled
-        switch( aEventId )
-            {
-            case ESignalReplacePartText:
-            case ESignalReplaceText://Get key event
-            case ESignalReplaceTextJp:
-                {
-                TInt repeatCount = 0;
-                TInt len = *(TInt*)pBuf.Ptr();
-                TInt stringLength = pBuf.Length();
-                TInt midLength = sizeof(TInt)/sizeof(TText);
-                
-                if (midLength > stringLength)
-                    {
-                    break;   
-                    }
-
-                iFepMan.SetFlag( CAknFepManager::EFlagSupressAutoUpdate );
-
-                TPtrC s = pBuf.Mid(midLength);//sizeof(TInt)/sizeof(TText)
-                                
-                //set selection
-                MCoeFepAwareTextEditor* edit = iFepMan.FepAwareTextEditor();
-                if( iFepMan.IsFepAwareTextEditor() && edit )
-                    {
-                    TCursorSelection curSor;
-                    edit->GetCursorSelectionForFep(curSor);
-                    if ( curSor.iAnchorPos == curSor.iCursorPos )
-                        {
-                        if (ESignalReplaceTextJp == aEventId)
-                            {
-                            if (curSor.iCursorPos  >= len)
-                                {
-                                curSor.iAnchorPos = curSor.iCursorPos - len;
-                                if (curSor.iAnchorPos<0 || 
-                                    curSor.iAnchorPos>edit->DocumentLengthForFep())
-                                    {
-                                    break;
-                                    }
-                                }
-                            }
-                        else
-                            {
-                            if(ESignalReplacePartText == aEventId)
-                                {
-                                curSor.iAnchorPos = curSor.iCursorPos - len;
-                                }
-                            else
-                                {
-                                if ( iCharStartPostion == KInvalidValue )    
-                                    {
-                                    curSor.iAnchorPos = curSor.iCursorPos -  
-                                        ( iLastSubmitCount<len?iLastSubmitCount:len );
-                                    }
-                                else
-                                    {
-                                    curSor.iAnchorPos = iCharStartPostion;  
-                                    iLastSubmitCount = curSor.iCursorPos - iCharStartPostion;
-                                    //Fixed bug ID SAHN-7JDDC8
-                                    }
-                                }
-                            
-                            if (curSor.iAnchorPos<0 || 
-                                curSor.iAnchorPos>edit->DocumentLengthForFep())
-                                {
-                                break;
-                                }
-                            
-                            // check repeated string 
-                            if (len >= iLastSubmitCount)
-                                {
-                                TBuf<CAknFepManager::EMaximumFepWordLength> textToUncommit;
-                                textToUncommit.Zero();    
-                                
-                                 edit->GetEditorContentForFep(textToUncommit, curSor.iAnchorPos, 
-                                                           Min(curSor.Length(), 
-                                                           CAknFepManager::EMaximumFepWordLength));
-                                
-                                repeatCount = RepeatStringFromLeft(s,textToUncommit);    
-                                curSor.iAnchorPos += repeatCount;
-                                if (curSor.iAnchorPos<0 || 
-                                    curSor.iAnchorPos>edit->DocumentLengthForFep())
-                                    {
-                                    break;
-                                    }
-                                }
-                                
-                            if (curSor.iCursorPos > curSor.iAnchorPos)
-                                {
-                                edit->SetCursorSelectionForFepL(curSor);    
-                                }
-                            }
-                        }
-                    }
-                else
-                    {
-                    TBuf<1> backSpace;
-                    backSpace.Append(TChar(EKeyBackspace));
-                    for(TInt i = 0; i < len; ++i)
-                        {
-                        SubmitUiPluginTextL(backSpace, EKeyEvent);
-                        }
-                    }
-                iFepMan.ClearFlag( CAknFepManager::EFlagSupressAutoUpdate );
-                
-                if (repeatCount > 0)
-                    {
-                    OnPenInputServerKeyEventL(s.Right(s.Length() - repeatCount));
-                    
-                    iLastSubmitCount += repeatCount;   
-                    }
-                else
-                    {
-                    OnPenInputServerKeyEventL(s);    
-                    }
-                }
-                break;
-            case ESignalKeyEvent:
-                {
-                TPtr ptr( const_cast<TUint16*>(pBuf.Ptr()), pBuf.Length(), pBuf.Length() );
-                if(iFepMan.InputMode() == ELatin && (iPluginInputMode == EPluginInputModeVkb || 
-                   iPluginInputMode == EPluginInputModeFSQ))
-                    {
-                    AdjustDataCase( ptr );
-                    }
-                OnPenInputServerKeyEventL(pBuf);
-              	}
-              	break;
-            case ESignalNotifyUpdateCba://Update CBA
-                {
-                TInt* cbaData = (TInt* )(pBuf.Ptr());
-                iFepMan.UpdateCbaL(*cbaData);
-                }
-                break;                    
-            case ESignalHwNotifySctPopup:
-                iFepMan.LaunchSpecialCharacterTableL( 0,ETrue );//possible?
-                break;                      
-            case ESignalSetAppEditorCursor:
-                {
-                TInt8 *ptrData = (TInt8* )(pBuf.Ptr());
-                TCursorSelection curSel = *(TCursorSelection* )(ptrData);
-                TBool sync = *(TBool *)(ptrData + sizeof(TCursorSelection));
-                
-                if ( iFepMan.UncommittedText().Length() > 0 )
-                    {
-                    iFepMan.PtiEngine()->CancelTimerActivity(); 
-                    //using TryCloseUiL() to sync Fep state
-                    //iFepMan.CommitInlineEditL();
-                    iFepMan.TryCloseUiL();
-                    }
-                //now change the cursor position
-                SetCursorSelectionL(curSel, sync);
-                }
-                break;
-            case ESignalLaunchLanguageMenu:
-                LaunchPenInputLanguageSelectionL(ETrue);
-                break;                                       
-            case ESignalLaunchOptionMenu:
-            case ESignalLaunchOptionsMenu:
-                {
-                if (iInMenu || (!iPenInputMenu) || iPenInputMenu->IsShowing())
-                    {
-                    break;    
-                    }
-                iLaunchMenu = ETrue;
-                if (PluginInputMode() == EPluginInputModeItut ||
-                    PluginInputMode() == EPluginInputModeFSQ ||
-                    PluginInputMode() == EPluginInputModeFingerHwr)
-                    {
-                    SetMenuState();
-                    }                
-                else
-                    {
-                    ClosePluginInputUiL(ETrue);
-                    }           
-                LaunchPenInputMenuL(R_AVKON_PENINPUT_OPTION_MENU_BAR);
-                }
-                break;
-            case ESignalLayoutClosed:
-                ClosePluginInputModeL(ETrue);
-                if(iPenInputSvrConnected ) //lost foreground
-                    {
-                    iPenInputServer.LoseForeground();
-                    }                
-                break;                    
-            case ESignalCaseMode:
-                {
-                TInt* pluginCase = (TInt* )(pBuf.Ptr());    
-                iFepMan.ClearFlag(CAknFepManager::EFlagSupressAutoUpdate);
-                
-                if (ECaseInverseText == *pluginCase)
-                    {
-                    iFepMan.SetFlag(CAknFepManager::EFlagQwertyShiftMode);    
-                    }
-                iCaseMan.SetCurrentCase(*pluginCase);
-                
-                if (ECaseInverseText == *pluginCase)
-                    {
-                    iFepMan.ClearFlag(CAknFepManager::EFlagQwertyShiftMode);    
-                    }
-                }
-                break;
-            case ESignalRange:
-                {
-                HideTooltipOnFSQL();
-
-                TInt newPrimaryRange = *(TInt* )(pBuf.Ptr());
-                // Addition for ITI features on FSQ, 
-                // when swith to other ranges from latin/native range, 
-                // need to commit text to fep and ptiengint if necessary
-                if ( EnableITIOnFSQ() && newPrimaryRange != ERangeEnglish 
-                     && newPrimaryRange != ERangeNative )
-                    {
-                    iFepMan.CommitInlineEditL();
-                    iFepMan.PtiEngine()->CommitCurrentWord();
-                    }                
-                iPluginPrimaryRange = newPrimaryRange;
-                if (ELangJapanese == iSharedData.InputTextLanguage()
-                    && ERangeNative == iPluginPrimaryRange )
-                    {
-                    TInt subrange = *(TInt* )( (TInt8* )(pBuf.Ptr()) + sizeof(TInt) );
-                    iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputJapaneseSetSubRange, 
-                                                             subrange);
-                    }
-                SyncIndicatorWithPluginRangeL();
-                }
-                break;
-            case ESignalLayoutUIChanged:
-                {
-                TInt8 *ptrData = (TInt8* )(pBuf.Ptr());
-                TBool switchByMode = *(TInt*)(ptrData);
-                if( switchByMode )
-                    {
-                    TInt mode = *(TInt* )( ptrData + sizeof(switchByMode) );
-					ClosePluginInputModeL(ETrue);               
-                    iFepMan.TryCloseUiL();  
-					iPreferredUiMode = EFalse;
-                    TryChangePluginInputModeByModeL((TPluginInputMode)mode, 
-                                                    EPenInputOpenManually,
-                                                    ERangeInvalid);
-                    }
-                }
-                break;
-            case ESignalCommitInlineText:
-                {
-                iFepMan.CommitInlineEditL();
-                }
-                break;
-            case ESignalEnterMatchSelection:
-                {
-                TBool on = *((TInt*)(pBuf.Ptr()));
-
-                if (on)
-                    {
-                    EnterMatchSelectionState();
-                    }
-                else
-                    {
-                    iFepMan.PluginUIManager()->SetFingerMatchSelectionState(EFalse);
-                    }    
-                }
-                break;
-            case ESignalSelectMatchSelectionText:
-                {
-                TInt* ptrData = (TInt*)(pBuf.Ptr());
-                TInt itemidx = *(ptrData);
-                TBool commit = *(ptrData + 1);
-                
-                iFepMan.UpdateInlineEditL(iSendAllList.iCandidates[itemidx], 
-                                          iSendAllList.iCandidates[itemidx].Length());
-                
-                if (commit)
-                    {
-                    iFepMan.TryCloseUiL();
-                    iFepMan.FepUI()->HandleCommandL(ESignalSelectMatchSelectionText);
-                    }
-                else
-                    {
-                    iFepMan.PluginUIManager()->SetFingerMatchSelectionState(EFalse);
-                    }    
-                
-                SendIcfDataL(EPluginSyncUpdatedText);
-                }
-                break;
-            case ESignalEnterSpellMode:
-                {
-                iFepMan.LaunchEditWordQueryL();
-                }
-                break;
-            case ESignalExitSpellMode:
-                {
-                TInt* ptrData = (TInt*)(pBuf.Ptr());
-                TBool exitbyok = *(ptrData);
-
-                exitbyok ? iFepMan.ExitPluginSpellModeByOk() : 
-                           iFepMan.ExitPluginSpellModeByCancel();
-                }
-                break;
-            case ESignalLaunchSCT:
-            	{
-            	iFepMan.LaunchSpecialCharacterTableL(0,ETrue);	
-            	}
-            	break;
-            case ESignalGetEditMenuData:
-                {
-                //Calcuate which menu needed to add
-                iFepMan.GetPermittedEditorMenu(EFalse);
-                }
-                break;
-            case ESignalEditorMenuCommand:
-                {
-                //Execute editor menu command
-                TInt* command = (TInt* )(pBuf.Ptr());
-                iFepMan.ProcessEditorMenuCommand(*command);
-                iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputFingerInputMode,
-                                                         iFepMan.InputMode());
-                    
-                iIndicatorImgID = 0;
-                iIndicatorTextID = 0;  
-                UpdateITUTIndicator();                
-                }
-                break;                
-            case ESignalCharacterStart:
-                {
-                TBool charStart = *(TBool*)(pBuf.Ptr());
-                if( charStart )
-                    {
-                    MCoeFepAwareTextEditor* edit = iFepMan.FepAwareTextEditor(); 
-                    if( !edit )
-                        {
-                        break;
-                        }
-                    TCursorSelection curSor;
-                    edit->GetCursorSelectionForFep(curSor);
-                    iCharStartPostion = Min( curSor.iCursorPos, curSor.iAnchorPos );          
-
-                    }
-                else
-                    {
-                    iCharStartPostion = KInvalidValue;
-                    }
-                }
-                break;
-            case ESignalShowCandidate:
-                {
-                // Get candidate list
-                TInt activeIdx = 0;
-                CDesCArray* candidates = new (ELeave) CDesCArrayFlat
-                                                 ( KDefaultCandidateArraySize );
-        		CleanupStack::PushL( candidates );
-        		iFepMan.GetCandidatesL( *candidates, activeIdx );
-        		TFepITICandidateList candidateListData;
-        		candidateListData.iItemArray = candidates;
-        		candidateListData.iActiveIndex 
-        		            = ( candidates->Count() >= 2 ) ? 1 : activeIdx;        		
-        		ShowCandidateListL( candidateListData );        		
-        		CleanupStack::PopAndDestroy( candidates );                
-                }
-                break;
-            case ESignalSelectCandidate:
-                {
-                // Select candidate word on fsq
-                TInt index = *(TInt*)( pBuf.Ptr() );
-                CommitCandidateWordOnFSQL( index );                
-                break;
-                }
-            case ESignalAcceptTooltip:
-                {
-                // Simulate Up key and then join in the key flow for HW
-                // to accept tooltip
-                TKeyEvent keyEvent = { EKeyUpArrow, EStdKeyUpArrow, 0, 0 };                  
-                CCoeEnv::Static()->SimulateKeyEventL( keyEvent, EEventKey );
-                
-                // commit tooltip text then commit inline                
-                iFepMan.CommitInlineEditL();
-                // Need to commit into engine, it will clear textbuffer in it.
-                iFepMan.PtiEngine()->CommitCurrentWord();
-                }
-                break;
-            case ESignalStartInlineText:
-                {
-                if (!(iFepMan.IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction)))
-                    {
-					TBuf<CAknFepManager::EMaximumFepWordLength> textToUncommit;
-					TBool comsumeKey;
-					
-					if (!(iFepMan.TryGetTextToUncommitL(textToUncommit, comsumeKey)))
-						{
-						// If T9 word length > 32, the navi key is consumed without action.
-						// Maybe should navigate inside word.
-						return comsumeKey;
-						}
-					iFepMan.PtiEngine()->ClearCurrentWord();
-					iFepMan.PtiEngine()->SetCurrentWord(textToUncommit); // this set the input sequence of PtiEngine          
-					iFepMan.StartInlineEditL(iFepMan.UncommittedText(), textToUncommit, 
-											 textToUncommit.Length(), EFalse);
-
-                    // update ICF content
-                    SendIcfDataL();
-                    }
-                }
-                break;
-            case ESignalCommitITIInlineText:
-                {
-                // Commit autocompletion
-                iFepMan.CommitInlineEditL();
-                // Need to commit into engine, it will clear textbuffer in it.
-                iFepMan.PtiEngine()->CommitCurrentWord();
-                }
-                break;
-            default:
-                break;
-            }
-        }  
-    return bHandled;
-    }
-    
-// -----------------------------------------------------------------------------
-// CAknFepPluginManager::EnterMatchSelectionState
-// Enter match selection state
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CAknFepPluginManager::EnterMatchSelectionState()
-    {
-    GetAllPredictiveCandidate();
-    
-    if (iCandidateList.Count() > 0)
-        {
-        SetFingerMatchSelectionState(ETrue);
-        iFepMan.PluginUIManager()->ShowAllCandidates();
-        return ETrue;
-        }
-    
-    return EFalse;    
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepPluginManager::HandleEventsFromFepL
-// Handle events from FEP
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CAknFepPluginManager::HandleEventsFromFepL( TInt aEventType, TInt aEventData )
-    {
-
-    if( iPluginInputMode == EPluginInputModeNone && 
-        aEventType != EPluginEditorActivate && 
-        aEventType != EPluginActivate &&
-        aEventType != EPluginResourceChanged )
-        {      
-        return;
-        }
-        
-    switch ( aEventType )
-        {
-        case EPluginEditorActivate:
-            {
-            ActivatePenInputL();
-            RWsSession &ws = CCoeEnv::Static()->WsSession();
-            TInt wgId =ws.GetFocusWindowGroup();
-            iEditorPriority = ws.GetWindowGroupOrdinalPriority(wgId);
-            }
-            break;
-        case EPluginActivate:
-            {//The command is obsolete, use other commands
-            //current only some Japanese menu commands call this
-            ActivatePenInputL();    
-            }            
-            break;
-        case EPluginCloseMode:
-            {
-            if (iPluginInputMode == EPluginInputModeItut && 
-                !iSharedData.PredictiveTextAutoCompleteOn())
-            	{
-            	return;
-            	}
-            
-            ClosePluginInputModeL( aEventData );
-            }
-            break;
-        case EPluginFocusItemDestroy:
-            if( iFepMan.FepAwareTextEditor() )
-                {
-                iMfne = NULL;
-                if ( !aEventData )
-                    {
-                    RemoveLastFocusedWinFromOpenList();
-                    }
-                else
-                    {
-                    ClosePluginInputUiL(ETrue);
-                    }
-                }
-            break;
-        case EPluginSyncFepAwareText:
-            {
-            SyncFepAwareText( TPluginSync(aEventData) );
-            }
-            break;
-        /*case EPluginActivateInGlobalNote:
-            {
-            OnFocusChangedL(ETrue);
-            iPenInputServer.ActivatePeninputInNotesL();           
-            }
-            break;*/
-        case EPluginMenuCmd:
-            {
-            ProcessMenuCommandL( aEventData );
-            }
-            break;
-        case EPluginForegroundChanged:
-            {
-            iForegroundChange = ETrue;   
-            iLaunchHelp = EFalse;    
-            
-            if (!aEventData && IsInGlobleNoteEditor())
-                {
-                ClosePluginInputUiL(ETrue);
-                if(iPenInputSvrConnected ) //lost foreground
-                    {
-                    iPenInputServer.LoseForeground();
-                    }
-                }
-            else
-                {
-                OnFocusChangedL( aEventData ) ;   
-                }
-            }
-            break;
-        case EPluginFocusChanged:
-            {
-            OnFocusChangedL( aEventData );
-            }
-            break;
-        case EPluginResourceChanged:
-            {
-			iOrientationChangedfromUI = ETrue;
-            OnResourceChangedL( aEventData );
-			iOrientationChangedfromUI = EFalse;
-            }
-            break;
-        case EPluginFaseSwap:
-            {
-            iFastSwapByMenu = aEventData;
-            }
-            break;
-        case EPluginKeyEvent:
-            {
-            HandleKeyEventL( aEventData );
-            }
-            break;
-        case EPluginUpdateIndicator:
-            {
-            UpdateITUTIndicator();
-            }
-            break;
-        case EPluginPreview:
-            {
-            iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputCharacterPreview, 
-               aEventData);                 
-            }
-            break;
-        case EPluginPromptChanged:
-            {
-            SetPromptText( EFalse );
-            }
-            break;
-        case ELostForeground:
-            {
-            if(iPenInputSvrConnected ) //lost foreground
-                {
-                iPenInputServer.LoseForeground();
-                }
-            }
-            break;
-        case EPluginShowTooltip:
-        	{
-        	ShowTooltipOnFSQL( aEventData );
-        	}
-        	break;
-        case EPluginHideTooltip:
-        	{
-        	HideTooltipOnFSQL();
-        	}
-        	break;
-        default:
-            break;
-        }
-    }
-            
-// -----------------------------------------------------------------------------
-// CAknFepPluginManager::TryChangePluginInputModeByModeL
-// Change current input method to plugin input method with specified layout UI id.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CAknFepPluginManager::TryChangePluginInputModeByModeL
-    (TPluginInputMode aSuggestMode, TInt aOpenMode,TInt aSuggestRange)
-    {
-    if ( iSharedData.QwertyInputMode() )
-        {
-        return EFalse;
-        }
-
-    TBool rtn = EFalse;
-    if ( iFepMan.ExtendedInputCapabilities() & 
-        CAknExtendedInputCapabilities::EInputEditorDisableVKB ) 
-        {
-        return EFalse;
-        }
-
-    if (! ConnectServer() )
-        {
-        return EFalse;
-        }
-    
-    if ((iPenInputServer.PreferredUiMode() != EPluginInputModeNone) && iPreferredUiMode )
-        {
-        aSuggestMode = iPenInputServer.PreferredUiMode();
-        }
-        
-    if (!GetCurSuggestMode( aSuggestMode ))
-        {
-        return EFalse;    
-        }
-    
-    // add by jiawenjuan to remember the old fep aware editor.
-    TBool cleanContent = EFalse;   
-    if(iOldFepAwareEditor != iFepMan.FepAwareTextEditor())
-        {
-        cleanContent = ETrue;
-        iOldFepAwareEditor = iFepMan.FepAwareTextEditor();
-        }
-
-    if( !iAdjustDataQueryTimer )
-        {
-        iAdjustDataQueryTimer = CPeriodic::NewL(CActive::EPriorityStandard);
-        }
-            
-    // Addition for ITI features on FSQ, if iITISettingDialogOpen == ETrue,
-    // it means that predictive setting dialog is closed, then re-open FSQ again.
-    // Need to set iITISettingDialogOpen = EFalse at this moment
-    if ( iITISettingDialogOpen )
-    	{
-    	iITISettingDialogOpen = EFalse;
-    	}  
-    
-    // getting a new ui manager object corresponded in aMode.
-    TInt uiLanguage = iSharedData.DisplayLanguage();
-    if( uiLanguage == ELangTest )
-        {
-        uiLanguage = User::Language();
-        }
-    
-    if ( iDefaultOrientation == -1 )
-        {
-        iDefaultOrientation = iAvkonAppUi->Orientation();
-        }
-    iPenInputServer.BackgroudDefaultOri( iDefaultOrientation );
-    
-    TPixelsTwipsAndRotation size; 
-    CCoeEnv::Static()->ScreenDevice()->GetDefaultScreenSizeAndRotation(size);
-    TBool landscape = size.iPixelSize.iWidth > size.iPixelSize.iHeight;     
-    TBool disableFSQ = 
-        (  aSuggestMode == EPluginInputModeFSQ &&
-           ( iDefaultOrientation == CAknAppUiBase::EAppUiOrientationPortrait ||
-		     ( !landscape && !iAvkonAppUi->OrientationCanBeChanged() ) ) );
-          
-    if ( disableFSQ )
-        {
-        iPenInputServer.SetDisabledLayout( EPluginInputModeFSQ );
-        }
-
-    if ( aSuggestMode == EPluginInputModeFSQ )
-        {
-        TPluginInputMode tempInputMode = iPluginInputMode;           
-        iPluginInputMode = EPluginInputModeFSQ;
-        
-        if (disableFSQ )
-            {
-            iPluginInputMode = tempInputMode;
-            aSuggestMode = EPluginInputModeItut;
-            }
-        else
-            {
-            if ( !iSharedData.AutoRotateEnabled() )
-                {
-                iFepMan.SetNotifyPlugin( EFalse );
-                iAvkonAppUi->SetOrientationL( CAknAppUiBase::EAppUiOrientationLandscape );
-                iFepMan.SetNotifyPlugin( ETrue );
-                iOrientationChanged = ETrue;
-                }
-        
-		    CCoeEnv::Static()->ScreenDevice()->GetDefaultScreenSizeAndRotation(size);
-            landscape = size.iPixelSize.iWidth > size.iPixelSize.iHeight;  
-            if( !landscape )
-                {
-                iPluginInputMode = tempInputMode;
-                aSuggestMode = EPluginInputModeItut;
-                }
-            }
-        }
-    else if ( iOrientationChanged )
-        {
-        iFepMan.SetNotifyPlugin( EFalse );
-        iAvkonAppUi->SetOrientationL( (CAknAppUiBase::TAppUiOrientation)iDefaultOrientation );
-        iFepMan.SetNotifyPlugin( ETrue );
-        iOrientationChanged = EFalse;
-        }
-    
-    TBool isSplit = IsEditorSupportSplitIme();
-    // temp code for Chinese split view
-    if ( iSharedData.PenInputLanguage() == ELangPrcChinese || 
-         iSharedData.PenInputLanguage() == ELangTaiwanChinese ||
-         iSharedData.PenInputLanguage() == ELangHongKongChinese )
-        {
-        isSplit = EFalse;
-        }    
-    iLangMan.SetSplitView(isSplit);
- 
-    TInt inputLang = iFepMan.InputLanguageCapabilities().iInputLanguageCode;
-    MAknFepManagerInterface* fepUI = iLangMan.GetPluginInputFepUiL(
-                                                    aSuggestMode, 
-                                                    inputLang,
-                                                    uiLanguage,
-                                                    &iPenInputServer); 
-    iCurrentPluginInputFepUI = fepUI;
-    
-    if ( iCurrentPluginInputFepUI )     
-        {
-        // fix EVWG-7U73HS
-        iPenInputServer.DimUiLayout(EFalse);
-        
-        AddCurrentWinToOpenListL();
-        if (iPluginInputMode == EPluginInputModeItut)
-            {
-            iIndicatorImgID = 0;
-            iIndicatorTextID = 0;           
-            }
-
-        iPluginInputMode = (TPluginInputMode)iLangMan.CurrentImePlugin()->CurrentMode();
-
-        //following codes is used to tell MFNE editor the Touch Input 
-        //has been opened. Because MFNE editor has no editorstate, so 
-        //use this way to implement this.
-        if ( iFepMan.IsMfneEditor() )
-            {
-            MCoeFepAwareTextEditor* mfne( iFepMan.FepAwareTextEditor() );
-            iMfneChanged = ( iMfne != mfne );
-            iMfne = mfne;
-            InformMfneUiStatusL( ETrue );  
-            }
-
-        // Addition for ITI features on FSQ
-        // Before open touch window, need to set iPluginPrimaryRange = 0
-        // which means use the default range.
-        iPluginPrimaryRange = 0;
-        
-        InitializePluginInputL(aOpenMode, aSuggestRange, cleanContent);
-        
-        //save plugin input mode to repository
-        if( iPenInputServer.PreferredUiMode() == EPluginInputModeNone )
-            {
-            //do not remember application set input mode
-            iSharedData.SetPluginInputMode(iPluginInputMode);
-            }
-            
-        if (CurrentFepInputUI())
-           	{
-           	CurrentFepInputUI()->SetInputLanguageL((TLanguage)inputLang);
-           	CurrentFepInputUI()->SetMode(iFepMan.InputMode(), ETrue, EFalse);		
-           	}
-			
-        if(!iOrientationChangedfromUI)
-		    {
-		    iFepMan.UpdateCbaL( NULL );
-		    }
-        
-        // Notify application touch window state
-        NotifyAppUiImeTouchWndState( ETrue );
-
-        rtn = ETrue;
-        }
-    else
-        {
-        iPluginInputMode = EPluginInputModeNone;
-        }   
-        
-    if( iCurrentPluginInputFepUI && iPluginInputMode != EPluginInputModeNone )
-        {
-        iFepMan.UiInterface()->TouchPaneSetInputMethodIconActivated(ETrue);
-        }
-    else
-        {
-        iFepMan.UiInterface()->TouchPaneSetInputMethodIconActivated(EFalse);
-        }
-        
-        
-    if ( aOpenMode == EPenInputOpenManually )   
-    	{
-        iCurLanguage = iSharedData.InputTextLanguage();	
-    	}
-    return rtn;
-    }
-    
-// -----------------------------------------------------------------------------
-// CAknFepPluginManager::ClosePluginInputModeL
-// Close plugin input mode
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CAknFepPluginManager::ClosePluginInputModeL( TBool aRestore )
-    {   
-    if (iPluginInputMode == EPluginInputModeNone)
-        {
-        return;
-        }
-      
-    iOldFepAwareEditor = NULL;	
-    if ( iSharedData.QwertyInputMode() && iPenInputMenu )
-        {
-        iPenInputMenu->Hide();
-        }    
-        
-    TPluginInputMode prePluginInputMode = iPluginInputMode;
-    RemoveCurrentWinFromOpenList();
-    ClosePluginInputUiL(ETrue);
-    iClosePluginInputMode = ETrue;
-       
-    // TInt prevIputMode = iPluginInputMode;
-    
-    if( iOpenWindowList.Count() == 0 || iSharedData.QwertyInputMode() )
-        {
-        iPluginInputMode = EPluginInputModeNone;
-        }
-    
-    if( aRestore && !iSharedData.QwertyInputMode() && iFepMan.InputMode() == ELatin)
-        {
-	    RestorePredictStateL();
-        if ( iFepMan.EditorType() == CAknExtendedInputCapabilities::EPhoneNumberEditor )
-            {
-            if( AknTextUtils::NumericEditorDigitType() == EDigitTypeEasternArabicIndic || 
-                AknTextUtils::NumericEditorDigitType() == EDigitTypeDevanagari ||
-                AknTextUtils::NumericEditorDigitType() == EDigitTypeArabicIndic )
-                {
-                iFepMan.TryChangeModeL( ENativeNumber );
-                }
-            else
-                {
-                iFepMan.TryChangeModeL( ENumber );
-                }
-            }
-        }
-    //iFepMan.UpdateCbaL( NULL ); //pls refer to bug ESZG-7G7CGF
-                
-    iFepMan.UiInterface()->TouchPaneSetInputMethodIconActivated(EFalse);
-    
-    if ( prePluginInputMode == EPluginInputModeVkb )
-        {
-        iFepMan.UpdateIndicators();
-        }        
-    }   
-   
-// -----------------------------------------------------------------------------
-// CAknFepPluginManager::ClosePluginInputUiL
-// Close plugin input UI, only close UI
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CAknFepPluginManager::ClosePluginInputUiL(TBool aResetState)
-    {
-    // For addition of ITI features on FSQ, 
-    // need to restore some values stored before opening FSQ    
-    ResetItiStateL();
-
-    if( iPenInputSvrConnected )
-        {
-        if( iCurrentPluginInputFepUI )
-            {
-            //Change for finger support of MFNE editor, it is a requirement for Tube
-            InformMfneUiStatusL( EFalse );            
-            
-            iPenInputServer.ClearServerEvent();
-            iCurrentPluginInputFepUI->CloseUI();
-            if( aResetState )
-                {
-                iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputWindowClose);
-                }
-            
-            //iFepMan.UpdateCbaL(NULL); //pls refer to bug ESZG-7G7CGF
-            
-            if (iPluginInputMode == EPluginInputModeItut)
-                {
-                iIndicatorImgID = 0;
-                iIndicatorTextID = 0;           
-                }            
-            }
-        }
-
-    if ( iPluginInputMode == EPluginInputModeFSQ  && iOrientationChanged )
-        {
-		// This TRAP_IGNORE is essential to fix bug ECJA-7JDCKR, never delete it
-        TRAP_IGNORE( iAvkonAppUi->SetOrientationL( (CAknAppUiBase::TAppUiOrientation)iDefaultOrientation ) );
-        iOrientationChanged = EFalse;
-        } 
-        
-    // Notify editor the touch window has been closed
-    NotifyAppUiImeTouchWndState( EFalse );
-    
-    iCharStartPostion = KInvalidValue;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepPluginManager::OnResourceChangedL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-void CAknFepPluginManager::OnResourceChangedL( TInt aType )
-    { 
-    if ( !iCurrentPluginInputFepUI || !iPenInputServer.IsForeground() || 
-         iPluginInputMode == EPluginInputModeNone )
-        {
-        return;
-        }
-        
-    if ( iPluginInputMode == EPluginInputModeFSQ && 
-         !iSharedData.AutoRotateEnabled())
-        {
-        return;
-        }
-        
-    TBool setResChange = EFalse;
-    
-    if (iPluginInputMode == EPluginInputModeItut || 
-         iPluginInputMode == EPluginInputModeFSQ ||
-        iPluginInputMode == EPluginInputModeFingerHwr)
-        {
-        setResChange = ETrue;
-        iPenInputServer.SetResourceChange(ETrue);    
-        }
-    
-    iResourceChange = ETrue;   
-
-    if ( iSharedData.AutoRotateEnabled() && 
-        ( iPluginInputMode == EPluginInputModeFSQ || iPluginInputMode == EPluginInputModeItut ) )
-        {
-        if ( IsSpellVisible() )
-            {
-            iFepMan.ExitPluginSpellModeByCancel();
-            }
-        
-        if ( iPenInputMenu && iPenInputMenu->IsShowing() )
-            {
-            iPenInputMenu->Hide();
-            ResetMenuState();
-            }
-        ClosePluginInputModeL(ETrue);               
-        iFepMan.TryCloseUiL(); 
-        TPixelsTwipsAndRotation size; 
-        CCoeEnv::Static()->ScreenDevice()->GetDefaultScreenSizeAndRotation(size);
-
-        iPluginInputMode = ( size.iPixelSize.iWidth < size.iPixelSize.iHeight ) ? 
-            EPluginInputModeItut : EPluginInputModeFSQ;
-        }
-    TryChangePluginInputModeByModeL( iPluginInputMode,
-                                     EPenInputOpenManually,
-                                     ERangeInvalid ); 
-    /*if(size.iPixelSize.iWidth > size.iPixelSize.iHeight ) //landscape
-        {
-        if ( iPluginInputMode == EPluginInputModeVkb )
-            {        	
-            // Get store value from CenRep
-            TryChangePluginInputModeByModeL((TPluginInputMode)(iSharedData.FepLastUseVkbModeForLandscape()),
-                                            EPenInputOpenManually,
-                                            ERangeInvalid); 
-            hasChanged = ETrue;                                
-            }                 
-        } 
-    else
-        {
-        if ( iPluginInputMode == EPluginInputModeFSQ )
-            {
-            TryChangePluginInputModeByModeL(EPluginInputModeVkb,
-                                            EPenInputOpenManually,
-                                            ERangeInvalid);     
-            hasChanged = ETrue;                                       
-            }
-        
-        }*/
-    if ( /*!hasChanged &&*/ iCurrentPluginInputFepUI )
-        {
-        iCurrentPluginInputFepUI->ResourceChanged(aType);
-        }
-    
-    if (iInMenu)
-        {
-        SetMenuState(EFalse);
-        }
-        
-    if (setResChange)    
-        {
-        iPenInputServer.SetResourceChange(EFalse);         
-        }
-
-    iResourceChange = EFalse;
-    if(IsDisplayDataQuery() && //data query
-       PluginInputMode() == EPluginInputModeVkb &&
-       !iAdjustDataQueryTimer->IsActive()) //only vkb mode 
-        {
-        iAdjustDataQueryTimer->Start(KCursorBlinkPerioid, 
-                                     KCursorBlinkPerioid, 
-                                     TCallBack(AdjustDataQueryCallBackL , this)); 
-        }
-    }     
-
-// ---------------------------------------------------------------------------
-// CAknFepPluginManager::SyncFepAwareText
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//     
-void CAknFepPluginManager::SyncFepAwareText( TPluginSync aSyncType, TBool /*aSendNow*/ )
-    {
-    TRAP_IGNORE(SendIcfDataL(aSyncType));
-    }   
-       
-// ---------------------------------------------------------------------------
-// CAknFepPluginManager::ProcessMenuCommand
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-void CAknFepPluginManager::ProcessMenuCommandL(TInt aCommandId)
-    {
-    if( iPenInputMenu && iPenInputMenu->IsShowing() )
-        {
-        iPenInputMenu->Hide();
-        if( !iLangMan.CurrentImePlugin()->HandleMenuCommandL(aCommandId) )
-            {
-            switch(aCommandId)
-                {
-                case EPenInputCmdHwrTraining:
-                    {
-                    LaunchHwrTrainUiL();
-                    iFepMan.SetGainForeground( EFalse );
-                    }
-                    break;
-                case EPenInputCmdSetting:
-                    {
-                    if (iInMenu)
-                        {
-                        ResetMenuState(EFalse);    
-                        ClosePluginInputUiL(ETrue);
-                        if(iPenInputSvrConnected ) //lost foreground
-                            {
-                            iPenInputServer.LoseForeground();
-                            }                        
-                        }
-
-                    LaunchPenInputSettingL();
-                    }
-                    break;                
-                case EPenInputCmdVITUT:
-                    {
-					ClosePluginInputModeL(ETrue);             
-                    iFepMan.TryCloseUiL();  
-                    TryChangePluginInputModeByModeL(EPluginInputModeItut, 
-                                                    EPenInputOpenManually,
-                                                    ERangeInvalid);
-                    }
-                    break;
-                case EPeninputCmdFSQ:
-                    {
-					ClosePluginInputModeL(ETrue);               
-                    iFepMan.TryCloseUiL();  
-                    TryChangePluginInputModeByModeL(EPluginInputModeFSQ, 
-                                                    EPenInputOpenManually,
-                                                    ERangeInvalid);
-                    }
-                    break;
-                case EFepInputCmdHelp:
-                    {
-                    if (iInMenu)
-                        {
-                        ResetMenuState(EFalse);    
-                        ClosePluginInputUiL(ETrue);
-                        if(iPenInputSvrConnected ) //lost foreground
-                            {
-                            iPenInputServer.LoseForeground();
-                            }                        
-                       }
-                    if (GetCurAppUid().iUid != KAknHelpAppUid)
-                        {
-                        iLaunchHelp = ETrue;
-                        }
-                    LaunchHelpL();
-                    }
-                    break;
-                case EPenInputCmdCut:
-                    {//ctrl + x
-                    iFepMan.HandleCopyCutEventL(EEikCmdEditCut);
-                    }   // Send cut-event to edwin.
-                    break;
-                case EPenInputCmdCopy:
-                    {//ctrl + c
-                    iFepMan.HandleCopyCutEventL(EEikCmdEditCopy);
-                    }   // Send copy-event to edwin.
-                    break;
-                case EEikCmdEditPaste:
-                    {//ctrl + v
-                    TKeyEvent ccpuKey = KAknCcpuPasteEvent;
-                    CCoeEnv::Static()->SimulateKeyEventL( ccpuKey, EEventKey );
-                    }   // Send copy-event to edwin.
-                    break;
-                }
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepPluginManager::HandleKeyEventL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-void CAknFepPluginManager::HandleKeyEventL(TInt aKeyId)
-    {
-    switch ( aKeyId )
-        {
-        case EKeyF19:
-            {
-            SyncFepAwareText( EPluginSyncUpdatedText );
-            }
-            break;
-        case EPtiKeyHash:
-            {
-            if (PluginInputMode() == EPluginInputModeItut) 
-                {
-                if ( iFepMan.IsChineseInputLanguage() || 
-                    !( iFepMan.InputMode() == ENumber && iFepMan.WasLastKeyPressAHashKey() ) )
-                    {
-                    if (iCurrentPluginInputFepUI)
-                        {
-                        iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputFingerInputMode,
-                            iFepMan.InputMode());
-                            
-                        iIndicatorImgID = 0;
-                        iIndicatorTextID = 0;  
-                        UpdateITUTIndicator();
-
-                        if (iFepMan.InputMode() == ELatin)
-                            {
-                            iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputCaseMode, 
-                                                                     iCaseMan.CurrentCase());	
-                            }
-
-                        if (CurrentFepInputUI())
-                        	{
-                        	CurrentFepInputUI()->SetMode(iFepMan.InputMode(), ETrue, EFalse);	
-                        	}
-                        }
-                    }    
-                if ( !iFepMan.IsSupportsSecretText() )
-                    {
-                    SyncFepAwareText( EPluginSyncUpdatedText );  
-                    }
-                else
-                	{
-                	if (iCurrentPluginInputFepUI)
-                		{
-                		iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputCaseMode, 
-                                                             iCaseMan.CurrentCase());	
-                		}
-                	}
-                }
-            }
-            break;
-        case EKeyCBA1:
-            {
-            }
-            break;
-        case EKeyCBA2:
-            {
-            }
-            break;
-        case EPtiKeyStar:
-            {
-			if (PluginInputMode() != EPluginInputModeNone )
-                {
-                SyncFepAwareText( EPluginSyncUpdatedText );
-                }
-            break;
-            }
-        case EPtiKey0: //fall through
-        case EPtiKey1:
-        case EPtiKey2:
-        case EPtiKey3:
-        case EPtiKey4:
-        case EPtiKey5:
-        case EPtiKey6:
-        case EPtiKey7:
-        case EPtiKey8:
-        case EPtiKey9:
-            {
-            if (PluginInputMode() != EPluginInputModeNone )
-                {
-                SyncFepAwareText( EPluginSyncUpdatedText );
-                }
-            }
-            break;
-        case EKeyDownArrow:
-        case EKeyUpArrow:
-        case EKeyLeftArrow:
-        case EKeyRightArrow:
-            {
-            SyncFepAwareText();
-            }
-            break;
-        /*    
-        case EKeyLeftArrow:
-            {
-           
-            if ( !iFepMan.IsMfneEditor() &&
-                 ( PluginInputMode() == EPluginInputModeItut || 
-                   PluginInputMode() == EPluginInputModeFSQ ) &&
-                 iCurSelPre.Length() > 0)
-                {
-                MCoeFepAwareTextEditor* edit = iFepMan.FepAwareTextEditor(); 
-                if(iCurSelPre.iCursorPos > 0)
-                    {
-                    TInt pos = iCurSelPre.iCursorPos - 1;
-                    edit->SetCursorSelectionForFepL
-                        ( TCursorSelection( pos, iCurSelPre.iAnchorPos ) );
-					iCaseMan.UpdateCase(ENullNaviEvent);
-                    }
-                else  if(iCurSelPre.iCursorPos == 0)
-                    {
-                    edit->SetCursorSelectionForFepL
-                        ( TCursorSelection( iCurSelPre.iCursorPos, iCurSelPre.iAnchorPos ) );
-                    }
-                }
-            SyncFepAwareText();
-            }
-            break;
-        case EKeyRightArrow:
-            {
-            MCoeFepAwareTextEditor* edit = iFepMan.FepAwareTextEditor();
-            if ( !iFepMan.IsMfneEditor() &&
-                 ( PluginInputMode() == EPluginInputModeItut || 
-                   PluginInputMode() == EPluginInputModeFSQ ) &&
-                 iCurSelPre.Length() > 0)
-                {          
-                if(iCurSelPre.iCursorPos < edit->DocumentLengthForFep())
-                    {
-                    TInt pos = iCurSelPre.iCursorPos + 1;
-                    edit->SetCursorSelectionForFepL
-                        ( TCursorSelection( pos, iCurSelPre.iAnchorPos ) );
-					iCaseMan.UpdateCase(ENullNaviEvent);
-                    }
-                else if(iCurSelPre.iCursorPos == edit->DocumentLengthForFep())
-                    {
-                    edit->SetCursorSelectionForFepL
-                        ( TCursorSelection( iCurSelPre.iCursorPos, iCurSelPre.iAnchorPos ) );
-                    }  
-                }
-            SyncFepAwareText();
-            }
-            break;
-            */ 
-        case EKeyBackspace:
-            {
-            }
-            break;
-        case EKeyOK:
-            {
-            ClosePluginInputUiL( ETrue );
-            }
-            break;
-        case EKeyEscape:
-            {
-			ClosePluginInputUiL( ETrue );
-            DestroySpellEditor();
-            }
-            break;
-       }
-    }
-    
-// ---------------------------------------------------------------------------
-// CAknFepPluginManager::InitMenuPaneL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//     
-void CAknFepPluginManager::InitMenuPaneL( CAknEdwinState* aEditorState, 
-    CAknFepUiInterfaceMenuPane* aMenuPane, TInt aResourceId )
-    {
-    //CAknEdwinState* remeberedEditorState = iFepMan.RememberedEditorState();
-
-    if(aResourceId == R_AVKON_TOUCH_TOUCHINPUT_MENU )
-        {
-        if (aEditorState && aEditorState->CcpuState())  
-            {   
-            if (!aEditorState->CcpuState()->CcpuCanCopy())
-                {
-                aMenuPane->SetItemDimmed(EEikCmdEditCopy, ETrue);           
-                }   
-                            
-            if (!aEditorState->CcpuState()->CcpuCanCut())
-                {
-                aMenuPane->SetItemDimmed(EEikCmdEditCut, ETrue);          
-                }               
-                            
-            if (!aEditorState->CcpuState()->CcpuCanPaste())         
-                {
-                aMenuPane->SetItemDimmed(EEikCmdEditPaste, ETrue);             
-                }
-            }
-        else
-            {
-            aMenuPane->SetItemDimmed(EEikCmdEditCopy, ETrue);           
-            aMenuPane->SetItemDimmed(EEikCmdEditCut, ETrue);          
-            aMenuPane->SetItemDimmed(EEikCmdEditPaste, ETrue);             
-            }
-
-       // For training UI
-       if (!(iPluginInputMode == EPluginInputModeHwr ||
-             iPluginInputMode == EPluginInputModeFSc ||
-             iPluginInputMode == EPluginInputModeFingerHwr))
-            {
-            aMenuPane->SetItemDimmed(EPenInputCmdSetting, ETrue);    
-            aMenuPane->SetItemDimmed(EPenInputCmdHwrTraining, ETrue);    
-            }
-       else
-            {
-            // Mode is HWR or Full scree HWR
-            // If fep is running in HWR Training, dim "HWR Training" item.
-            TUid appId = GetCurAppUid();
-            if ( appId == KUidtruiApp )
-                {
-                aMenuPane->SetItemDimmed( EPenInputCmdHwrTraining, ETrue );
-                }
-            }
-       
-       // For Predictive
-       if (iPluginInputMode != EPluginInputModeItut)
-           {
-           aMenuPane->SetItemDimmed(EAknCmdEditInsertSymbol, ETrue);
-           aMenuPane->SetItemDimmed(EAknCmdPredictiveTextCascade, ETrue); 
-           aMenuPane->SetItemDimmed(EAknCmdMultitapPredictiveT9On, ETrue); 
-           }
-                   
-       //For Preview bubble
-       if (!(iPluginInputMode == EPluginInputModeVkb ||
-             iPluginInputMode == EPluginInputModeFSQ ||
-             iPluginInputMode == EPluginInputModeFingerHwr ))
-           {
-           if(!(iPluginInputMode == EPluginInputModeItut &&
-             (iSharedData.InputTextLanguage() == ELangPrcChinese ||
-             iSharedData.InputTextLanguage() == ELangTaiwanChinese ||
-             iSharedData.InputTextLanguage() == ELangHongKongChinese )))
-               {
-               aMenuPane->SetItemDimmed(EPenInputPreview, ETrue);
-               }
-           }
-            
-       // for inputmode
-       if (iPluginInputMode != EPluginInputModeItut)
-           {
-            // dim menu items for Chinese input modes that aren't valid in the current editor
-            // or the device subvariant
-            for (TInt mode = KFirstMode; mode <= KLastMode; mode = mode << 1)
-                {
-                iFepMan.DimMenuItem(aMenuPane, mode);
-                }
-           aMenuPane->SetItemDimmed(EAknCmdEditModeLatinText, ETrue);     
-           aMenuPane->SetItemDimmed(EChinFepCmdModeLatinUpper, ETrue); 
-           aMenuPane->SetItemDimmed(EChinFepCmdModeLatinLower, ETrue); 
-           
-           }
-       else 
-           {
-           iFepMan.DimInputmodeMenuItems(aMenuPane);
-           if (iFepMan.IsChineseInputLanguage())
-                {
-                DimAllModeAndCase(aMenuPane);   
-                }
-           }
-       if (iFepMan.IsAbleToLaunchSmiley()) 
-           {
-           TInt indexForSmiley;
-           if (aMenuPane->MenuItemExists(EAknCmdEditInsertSmiley, 
-                   indexForSmiley))
-               {
-               aMenuPane->SetItemDimmed(EAknCmdEditInsertSmiley, EFalse);
-               }
-           }
-           
-        if (iPluginInputMode == EPluginInputModeItut ||
-            iPluginInputMode == EPluginInputModeVkb ||
-            iPluginInputMode == EPluginInputModeFSQ )
-            {
-            TInt index = 0;     
-            if (isLanuchSCT && aMenuPane->MenuItemExists(EAknCmdEditInsertSymbol, index))
-                 {
-                 aMenuPane->SetItemDimmed(EAknCmdEditInsertSymbol, EFalse);
-                 }
-            }
-        
-        TBool disableDic = ETrue;
-        
-        if ((iPluginInputMode == EPluginInputModeHwr)
-                && (iFepMan.IsArabicInputLanguage()))
-            {
-            disableDic = EFalse;
-            }
-
-        TInt dicIndex = 0;
-        if (aMenuPane->MenuItemExists(
-                EPenInputCmdRecognitionWithDictionary, dicIndex))
-            {
-            aMenuPane->SetItemDimmed(
-                    EPenInputCmdRecognitionWithDictionary, disableDic);
-            }
-        
-        // add some input mode in option menu
-        TBool isSplitView = IsEditorSupportSplitIme();
-    	if(isSplitView)
-    	    {
-    	    TInt disabledMode = iPenInputServer.DisabledLayout();
-    	    TInt curMode =  iLangMan.CurrentImePlugin()->CurrentMode();
-    	    if(!(disabledMode & EPluginInputModeFSQ) && curMode != EPluginInputModeFSQ )
-    	        {
-    	        aMenuPane->SetItemDimmed(EPeninputCmdFSQ, EFalse);
-    	        }
-    	    if(!(disabledMode & EPluginInputModeItut) && curMode != EPluginInputModeItut)
-    	        {
-    	        aMenuPane->SetItemDimmed(EPenInputCmdVITUT, EFalse);
-    	        }
-
-    	    }
-        
-        iLangMan.CurrentImePlugin()->DynInitMenuPaneL(aMenuPane);
-        }
-        
-        
-    }    
-
-// ---------------------------------------------------------------------------
-// CAknFepPluginManager::OnFocusChangedL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//     
-void CAknFepPluginManager::OnFocusChangedL( TBool aGainForeground )
-    {
-    if (iLaunchHelp)
-        {
-        return;    
-        }
-    
-    if ( iFepMan.StopProcessFocus()  )
-        {
-        if (iFepMan.CloseUiOnFocusChange())
-            {
-            ClosePluginInputUiL(ETrue);   
-            }
-                    
-        return ;
-        }
-
-    if(aGainForeground && !iPenInputServer.AutoOpen())
-        {
-        ClosePluginInputUiL(ETrue);    
-        return;	
-        }
-
-    
-    TUid appId = GetCurAppUid();
-    TBool bClose = ETrue;
-    TBool bOpen = ETrue;
-    TUid focusAppId = GetFocusAppUid();
-    
-    if ( !aGainForeground && appId == focusAppId )
-        {
-        return;
-        }
-        
-    if( !iLaunchMenu && IsGlobalNotesApp(focusAppId)) 
-
-        {
-        if( iPluginInputMode == EPluginInputModeItut ||
-            iPluginInputMode == EPluginInputModeFSQ ||
-            iPluginInputMode == EPluginInputModeFingerHwr)
-            {
-            bClose = EFalse;
-            }
-
-        }
-    iLaunchMenu = EFalse;
-    
-    // In globsl notes editor, launching global notes not fep dlg or menu
-    if(focusAppId.iUid == appId.iUid &&
-       IsGlobalNotesApp(appId) &&
-       !iFepMan.IsFepAwareTextEditor())
-        {
-        if( iPluginInputMode == EPluginInputModeItut ||
-            iPluginInputMode == EPluginInputModeFSQ ||
-            iPluginInputMode == EPluginInputModeFingerHwr)
-            {
-             ClosePluginInputUiL(ETrue);
-             if(iPenInputSvrConnected ) //lost foreground
-                {
-                iPenInputServer.LoseForeground();
-                }
-                
-            return;
-            }
-        }
-    
-    //global notes editor won't open automatically
-    /*if(IsGlobalNotesApp(appId) || IsGlobalNotesApp(focusAppId))
-        {
-        if(!iPenInputServer.IsDimmed())
-            bOpen = EFalse;						
-        }*/
-
-    if ( aGainForeground && iFepMan.FepAwareTextEditor() && IsCurrentWindInOpenList() )
-        {
-        if(!iPenInputSvrConnected) 
-            {
-            HandleEventsFromFepL(EPluginEditorActivate,0);
-            }
-                
-        if(!bOpen )
-            {
-            return;
-            }
-
-        if( iInMenu && iCurEditor == iFepMan.FepAwareTextEditor() )
-            {
-            ResetMenuState();
-            InformMfneUiStatusL( EFalse );
-			// If need to open setting app automatically, 
-			// do not open Touch window again. Fix for ESCN-7NVAWF
-			TBool langChange = iCurLanguage != iSharedData.InputTextLanguage();
-					
-			TryChangePluginInputModeByModeL(
-							(TPluginInputMode)iSharedData.PluginInputMode(),
-				langChange?EPenInputOpenManually:EPenInputOpenAutomatically,
-				ERangeInvalid);            
-			return;
-            }
-            
-//       iPenInputServer.UpdateAppInfo(KNullDesC, EAppIndicatorMsg);  
-          
-        //only automatically open when window in the list
-        
-        if ( !iFastSwapByMenu )
-            {  
-            TBool langChange = iCurLanguage != iSharedData.InputTextLanguage();
- //               iPenInputServer.DimUiLayout(EFalse);
-            TBool enableAdaptiveSearch = EFalse;
-            if ( iFepMan.IsFindPaneEditor() && iFepMan.IsSupportedAdaptiveSearch() )
-                {
-                iAvkonRepository->Get( KAknAvkonAdaptiveSearchEnabled, enableAdaptiveSearch );
-                if ( enableAdaptiveSearch )
-                    {
-                    if(!(iInMenu && ( iPluginInputMode == EPluginInputModeItut ||
-                                    iPluginInputMode == EPluginInputModeFSQ )))
-                        {
-                        ClosePluginInputModeL(ETrue);
-                        if(iPenInputSvrConnected ) //lost foreground
-                            {
-                            iPenInputServer.LoseForeground();
-                            }                
-                        }                
-                    }
-                }   
-            if ( !enableAdaptiveSearch )
-                {
-			TInt openMode = EPenInputOpenAutomatically;
-			TPluginInputMode inputMode = (TPluginInputMode)iSharedData.PluginInputMode();                        
-				if ((inputMode == EPluginInputModeFSc || inputMode == EPluginInputModeHwr ||
-					 inputMode == EPluginInputModeFingerHwr) &&
-				 iFepMan.IsSupportsSecretText())
-				{
-                    openMode = EPenInputOpenManually;
-                    }
-                if(langChange)
-                    {
-                    openMode = EPenInputOpenManually;
-                    }
-             
-                TryChangePluginInputModeByModeL(inputMode, openMode, ERangeInvalid);
-                }
-            }          
-        iFastSwapByMenu = EFalse;                   
-        }
-    else 
-        {   
-        TBool enableAdaptiveSearch = EFalse;
-        
-        if ( iFepMan.IsFindPaneEditor() && iFepMan.IsSupportedAdaptiveSearch() )
-            {
-            iAvkonRepository->Get( KAknAvkonAdaptiveSearchEnabled, enableAdaptiveSearch );
-            if ( enableAdaptiveSearch )
-                {
-                if(iInMenu && ( iPluginInputMode == EPluginInputModeItut ||
-                                iPluginInputMode == EPluginInputModeFSQ ||
-                                iPluginInputMode == EPluginInputModeFingerHwr))
-                    {                
-                    //iPenInputServer.DimUiLayout(ETrue); //dim the ui
-                    return;
-                    }                
-                
-                ClosePluginInputModeL(ETrue);
-                if(iPenInputSvrConnected ) //lost foreground
-                    {
-                    iPenInputServer.LoseForeground(); 
-                    }
-                }
-            }
-        
-        if ( !enableAdaptiveSearch )
-            {
-            if(iInMenu && ( iPluginInputMode == EPluginInputModeItut ||
-                            iPluginInputMode == EPluginInputModeFSQ ||
-                            iPluginInputMode == EPluginInputModeFingerHwr))
-                {                
-                //iPenInputServer.DimUiLayout(ETrue); //dim the ui
-                return;
-                }            
-            
-            //current control is not any kind of editor
-            if(bClose)
-                {
-                ClosePluginInputUiL(ETrue);
-                if(iPenInputSvrConnected ) //lost foreground
-                    {
-                    iPenInputServer.LoseForeground();
-                    }
-                }
-            else
-                {
-                //send dim command
-                //global notes app do nothing when lose focus
-                if( iPenInputSvrConnected )
-                    {
-                    iPenInputServer.SetInternalPopUp(iInMenu);
-                    iPenInputServer.SetEditorPriority(iEditorPriority);                
-                    TUid curApp = GetCurAppUid();          
-                    iPenInputServer.SetGlobalNotes( IsGlobalNotesApp(curApp) && 
-                                                    !iInGlobleNoteEditor);
-                    iPenInputServer.DimUiLayout(ETrue);
-                    }
-                }
-            }
-        }
-
-    //set touch pane enable/disable
-    if( iFepMan.FepAwareTextEditor() )
-        {
-        iFepMan.UiInterface()->TouchPaneAllowInputMethodActivation(ETrue);
-        }
-    else 
-        {   
-        iFepMan.UiInterface()->TouchPaneAllowInputMethodActivation(EFalse);
-        }
-
-    iFepMan.UiInterface()->TouchPaneRefreshL();        
-    }    
-void CAknFepPluginManager::SendIcfDataL(  TPluginSync aSyncType )
-    {
-    if( PluginInputMode() == EPluginInputModeNone || 
-        !iCurrentPluginInputFepUI )
-        {
-        return;
-        }
-        
-    MCoeFepAwareTextEditor* edit = iFepMan.FepAwareTextEditor();
-    if ( !edit )
-        {
-        if ( IsDimed() )
-            {
-            TFepInputContextFieldData icfData;
-            icfData.iCmd = EPeninputICFInitial;
-    	    icfData.iText.Set(*iLastEditorContentBuf);
-    	    icfData.iCurSel = iCurSelPre;
-    	    if ( iFepMan.IsFlagSet(CAknFepManager::EFlagNoMatches) )
-                {
-                icfData.iFlag = EFepICFDataInlineNoMatch;
-                }
-            if ( ExistInlineText() ) // inline
-                {
-                icfData.iStartPos = iFepMan.UncommittedText().LowerPos();
-                icfData.iLength = iCurSelPre.iCursorPos - icfData.iStartPos;
-                icfData.iMidPos = 0;
-                }
-            iCurrentPluginInputFepUI->HandleCommandL
-                (ECmdPenInputSendEditorTextAndCurPos, reinterpret_cast<TInt>(&icfData));
-            }
-        return;
-        }
-            
-    if( iDisableSyncText )            
-        {
-        iPendingSyncReq = ETrue;
-        return;
-        }
-
-    iPendingSyncReq = EFalse;
-            
-    TBool enableCursor;
-    TBool enableSelection;
-    TFepInputContextFieldData icfData;
-    
-    if ( iFepMan.IsFeatureSupportedJapanese()
-        && EPluginSyncCurSel == aSyncType
-        && iFepMan.FepAwareTextEditor()->DocumentLengthForFep() > iPreDocumentLengthForFep
-        && iCurSelCur.iAnchorPos > iPreDocumentLengthForFep ) // add linefeed by Down Key
-        {
-        aSyncType = EPluginSyncUpdatedText;
-        iCurSelPre.iAnchorPos = iPreDocumentLengthForFep;
-        }    
-    
-    edit->GetCursorSelectionForFep( iCurSelCur );
-    TInt editContentLen = edit->DocumentLengthForFep();	
-    	
-    if( iCurSelCur.iCursorPos > editContentLen )
-    	{
-    	iCurSelCur.iCursorPos = editContentLen;
-    	}
-    if( iCurSelCur.iAnchorPos > editContentLen )
-    	{
-    	iCurSelCur.iAnchorPos = editContentLen;
-    	}
-    	
-    // 1. set cursor visiblity
-    CAknEdwinState* editorState = iFepMan.EditorState();
-    TBool secretEditor = iFepMan.IsSupportsSecretText();
-    
-    if (editorState)
-        {
-		enableCursor = !IsEditorCursorDisabled(); 
-        enableSelection = IsEditorCursorSelVisible();
-        }
-    else // MFNE
-        {        
-        enableCursor = (iCurSelCur.Length()==0);
-        enableSelection = (iCurSelCur.Length()>0);
-        }
-    icfData.iCursorVisibility = enableCursor;
-    icfData.iCursorSelVisible = enableSelection;    
- 
-    delete iIcfDataBuf;
-    iIcfDataBuf = NULL;
-    
-    // 2. set cursor xy-position in window
-    TPoint position(-1,-1);
-    TInt height = 0;
-    TInt ascent = 0;
-    
-    if( PluginInputMode() == EPluginInputModeFSc )
-        {
-        edit->GetScreenCoordinatesForFepL
-            ( position, height, ascent, iCurSelCur.iCursorPos );
-        icfData.iRect = TRect( TPoint( position.iX, position.iY-ascent ),
-                               TPoint( position.iX, position.iY+height-ascent ) );
-        }
-    
-    // 3. set cursor selection
-    icfData.iCurSel = iCurSelCur;
-
-    // 4. set leading edge flag
-    icfData.iLeadingEdge = (iFepMan.DocPos().iType == TTmDocPosSpec::ELeading);
-    
-    // 5. set icf direction 
-    if ( iFepMan.IsMfneEditor() )
-        {
-        icfData.iFlag = EFepICFDataDirectionMFNE;
-        }
-    else
-        {
-        if ( TBidiText::ScriptDirectionality
-            ( TLanguage( iFepMan.InputLanguageCapabilities().iInputLanguageCode ) ) ==
-            TBidiText::ELeftToRight )
-            {
-            icfData.iFlag = EFepICFDataDirectionLTR;
-            }
-        else
-            {
-            icfData.iFlag = EFepICFDataDirectionRTL;
-            }
-        }
-    
-    // 6. set other icf data info
-    // get last editor content
-	TPtrC lastEditorContent;
-    if ( !iLastEditorContentBuf )
-    	{
-    	lastEditorContent.Set( KNullDesC );
-    	}
-    else
-    	{
-    	lastEditorContent.Set( iLastEditorContentBuf->Des() );
-    	}
-    
-    // get current editor content	
-    HBufC* currentEditorContentBuf = HBufC::NewLC( editContentLen );
-    TPtr16 currentEditorContent = currentEditorContentBuf->Des();
-	edit->GetEditorContentForFep( currentEditorContent, 0, editContentLen ); 
-	
-	TBool send = ETrue;
-	
-	if ( !SetSyncIcfDataL( icfData, lastEditorContent, currentEditorContent ) )
-    	{
-    	send = EFalse;
-    	}
-
-    if ( send )
-    	{
-    	iCurrentPluginInputFepUI->HandleCommandL
-            (ECmdPenInputSendEditorTextAndCurPos, reinterpret_cast<TInt>(&icfData));
-    	}
-    	
-    if ( secretEditor ) 
-        { 
-        TBool cursorDisabled = IsEditorCursorDisabled(); 
-        iCurrentPluginInputFepUI->HandleCommandL( ECmdPenInputDimArrowKeys, cursorDisabled );        
-        } 
-
-
-    // reset last editor content buffer
-    delete iLastEditorContentBuf;
-    iLastEditorContentBuf = currentEditorContentBuf;
-	CleanupStack::Pop(); // currentEditorContentBuf
-	
-    iCurSelPre.iCursorPos = iCurSelCur.iCursorPos;
-    iCurSelPre.iAnchorPos = iCurSelCur.iAnchorPos;
-    iPreDocumentLengthForFep = editContentLen;
-    }
-
-TBool CAknFepPluginManager::SetSyncIcfDataL( TFepInputContextFieldData& aIcfData,
-                                            const TDesC& aLastEditorContent,
-                                            const TDesC& aCurrentEditorContent )
-	{
-	MCoeFepAwareTextEditor* edit = iFepMan.FepAwareTextEditor();
-	
-	    // if content is the same, sync cursor selection only
-    if ( !iModeChanged && 
-        aLastEditorContent.Compare( aCurrentEditorContent ) == 0 )
-    	{
-        if ( aIcfData.iCurSel.HigherPos() > edit->DocumentLengthForFep() || 
-         aIcfData.iCurSel.LowerPos() < 0 )
-            {
-            return EFalse;
-            }
-    	return SetSyncCurSelIcfDataL( aIcfData );    	
-    	}
-    		
-	if ( TextInlined( aLastEditorContent, aCurrentEditorContent ) ) // inline
-        {
-        aIcfData.iCmd = EPeninputICFReplace;
-        aIcfData.iStartPos = iFepMan.UncommittedText().LowerPos();
-        aIcfData.iLength = iCurSelPre.HigherPos() - aIcfData.iStartPos;
-        TInt readLen = iFepMan.UncommittedText().Length();
-        iIcfDataBuf = HBufC::NewL( readLen );
-        TPtr16 icfDes = iIcfDataBuf->Des();
-        edit->GetEditorContentForFep( icfDes, aIcfData.iStartPos, readLen ); 
-        if ( iFepMan.IsFlagSet(CAknFepManager::EFlagNoMatches) )
-            {
-            aIcfData.iFlag = EFepICFDataInlineNoMatch;
-            }
-        aIcfData.iText.Set(icfDes);
-        
-    	if ( EnableITIOnFSQ() )
-    	    {
-    	    TInt tailLength = 0;
-    	    iFepMan.PtiEngine()->HandleCommandL
-    	             ( EPtiCommandGetAutoCompletionTailLength, &tailLength );
-    	    if ( tailLength > 0 )
-    	        {
-    	        aIcfData.iMidPos = tailLength;
-    	        }
-            else
-                {
-                aIcfData.iMidPos = 0;
-                }
-    	    }    	
-        else
-            {
-            aIcfData.iMidPos = 0;
-            }
-
-        aIcfData.iCursorVisibility = EFalse;
-        aIcfData.iCursorSelVisible = EFalse;
-        }
-    else if ( TextInserted( aLastEditorContent, aCurrentEditorContent ) ) // insert
-        {
-        aIcfData.iCmd = EPeninputICFReplace;
-        aIcfData.iStartPos = iCurSelPre.LowerPos();
-        aIcfData.iLength = iCurSelPre.Length();
-        aIcfData.iMidPos = -1;
-        TInt readLen = iCurSelCur.iCursorPos - iCurSelPre.LowerPos();
-        iIcfDataBuf = HBufC::NewL( readLen );
-        TPtr16 icfDes = iIcfDataBuf->Des();
-        edit->GetEditorContentForFep( icfDes, aIcfData.iStartPos, readLen );
-        aIcfData.iText.Set(icfDes);
-        }
-    else if ( TextDeleted( aLastEditorContent, aCurrentEditorContent ) ) // delete
-        {
-        aIcfData.iCmd = EPeninputICFDelete;
-        aIcfData.iStartPos = iCurSelCur.iCursorPos;
-        aIcfData.iLength = aLastEditorContent.Length() - aCurrentEditorContent.Length();
-        aIcfData.iMidPos = -1;
-        aIcfData.iText.Set(KNullDesC);
-        }
-    else if ( !iModeChanged && iFepMan.IsFeatureSupportedJapanese()
-        && (iFepMan.FepAwareTextEditor()->DocumentLengthForFep() < iPreDocumentLengthForFep
-            || iFepMan.FepAwareTextEditor()->DocumentLengthForFep() == iPreDocumentLengthForFep 
-            && iCurSelCur.iCursorPos > 0)
-        && iCurSelCur.iCursorPos == iCurSelPre.iCursorPos
-        && iCurSelCur.iAnchorPos == iCurSelPre.iAnchorPos )
-        {
-        if ( iFepMan.FepAwareTextEditor()->DocumentLengthForFep() < iPreDocumentLengthForFep ) // Delete Right
-            {
-            aIcfData.iCmd = EPeninputICFDelete;
-            aIcfData.iStartPos = iCurSelCur.iCursorPos;
-            aIcfData.iLength = iPreDocumentLengthForFep - 
-                               iFepMan.FepAwareTextEditor()->DocumentLengthForFep();
-            aIcfData.iMidPos = -1;
-            aIcfData.iText.Set(KNullDesC);
-            }
-        else  // Replace
-            {
-            TInt repLen = (iCurSelCur.iCursorPos > 1)? 2:1;
-            iIcfDataBuf = HBufC::NewL( repLen );
-            TPtr16 icfDes = iIcfDataBuf->Des();
-            iFepMan.FepAwareTextEditor()->GetEditorContentForFep( icfDes, 
-                                                                  iCurSelCur.iCursorPos - repLen, 
-                                                                  repLen );
-            if (2 == repLen && icfDes[0] == KVkbParagraphSeparator)
-                {
-                repLen = 1;
-                icfDes.Delete(0,1);
-                }
-            aIcfData.iCmd = EPeninputICFReplace;
-            aIcfData.iStartPos = iCurSelCur.iCursorPos - repLen;
-            aIcfData.iLength = repLen;
-            aIcfData.iMidPos = -1;
-            aIcfData.iText.Set(icfDes);
-            }
-        }
-    else if ( TextMultiTapped( aLastEditorContent, aCurrentEditorContent ) )// multitap
-        {
-        aIcfData.iCmd = EPeninputICFReplace;
-        aIcfData.iStartPos = iCurSelCur.iCursorPos - 1;
-        aIcfData.iLength = 1;
-        aIcfData.iMidPos = -1;
-        iIcfDataBuf = HBufC::NewL( aIcfData.iLength );
-        TPtr16 icfDes = iIcfDataBuf->Des();
-        edit->GetEditorContentForFep( icfDes, aIcfData.iStartPos, aIcfData.iLength );
-        aIcfData.iText.Set(icfDes);
-        }
-    else
-        {
-        aIcfData.iCmd = EPeninputICFInitial;
-	    aIcfData.iStartPos = 0;
-	    aIcfData.iLength = edit->DocumentLengthForFep();
-	    aIcfData.iMidPos = -1;
-	    iIcfDataBuf = HBufC::NewL( aIcfData.iLength );
-	    TPtr16 icfDes = iIcfDataBuf->Des();
-	    edit->GetEditorContentForFep( icfDes, 0, aIcfData.iLength );
-	    aIcfData.iText.Set(icfDes);
-        }
-    if ( aIcfData.iStartPos > edit->DocumentLengthForFep() || aIcfData.iStartPos < 0 )
-        {
-        return EFalse;
-        }
-    return ETrue;
-	}
-	
-TBool CAknFepPluginManager::SetSyncCurSelIcfDataL( TFepInputContextFieldData& aIcfData )
-	{
-	MCoeFepAwareTextEditor* edit = iFepMan.FepAwareTextEditor();
-	if ( ExistInlineText() ) // inline
-        {
-        aIcfData.iCmd = EPeninputICFSetCurSel;
-        aIcfData.iStartPos = iFepMan.UncommittedText().LowerPos();
-        aIcfData.iLength = iCurSelPre.iCursorPos - aIcfData.iStartPos;
-        TInt readLen = iFepMan.UncommittedText().Length();
-        iIcfDataBuf = HBufC::NewL( readLen );
-        TPtr16 icfDes = iIcfDataBuf->Des();
-        edit->GetEditorContentForFep( icfDes, aIcfData.iStartPos, readLen ); 
-        if ( iFepMan.IsFlagSet(CAknFepManager::EFlagNoMatches) )
-            {
-            aIcfData.iFlag = EFepICFDataInlineNoMatch;
-            }
-        aIcfData.iText.Set(icfDes);
-        
-    	if ( EnableITIOnFSQ() )
-    	    {
-    	    TInt tailLength = 0;
-    	    iFepMan.PtiEngine()->HandleCommandL
-    	             ( EPtiCommandGetAutoCompletionTailLength, &tailLength );
-    	    if ( tailLength > 0 )
-    	        {
-    	        aIcfData.iMidPos = tailLength;
-    	        }
-    	    else
-    	        {
-    	        aIcfData.iMidPos = 0;
-    	        }
-    	    }
-        else
-            {
-            aIcfData.iMidPos = 0;
-            }
-
-        aIcfData.iCursorVisibility = EFalse;
-        aIcfData.iCursorSelVisible = EFalse;
-        }
-    else
-        {
-        // update curosr pos
-        aIcfData.iCmd = EPeninputICFSetCurSel;
-        aIcfData.iStartPos = iCurSelCur.iCursorPos;
-        aIcfData.iMidPos = -1;
-        aIcfData.iText.Set(KNullDesC);
-        }
-        
-    iInlineStateOn = ( aIcfData.iMidPos == 0 );
-	
-    return ETrue;
-	}   
-
-TBool CAknFepPluginManager::TextInlined( const TDesC& aLastEditorContent, 
-                                         const TDesC& aCurrentEditorContent)
-	{
-	if ( iModeChanged )
-		{
-		return EFalse;
-		}
-		
-	return ( ExistInlineText()  && 
-           aLastEditorContent.Left(iFepMan.UncommittedText().LowerPos()).Compare(
-                   aCurrentEditorContent.Left(iFepMan.UncommittedText().LowerPos()) ) == 0 && 
-           aLastEditorContent.Mid(iCurSelPre.HigherPos()).Compare(
-                   aCurrentEditorContent.Mid(iCurSelCur.iCursorPos) ) == 0 );
-	}
-
-TBool CAknFepPluginManager::TextInserted( const TDesC& aLastEditorContent, 
-                                          const TDesC& aCurrentEditorContent)
-	{
-	if ( iModeChanged )
-		{
-		return EFalse;
-		}
-	
-	return ( iCurSelCur.LowerPos() > iCurSelPre.LowerPos() && 
-           aLastEditorContent.Left(iCurSelPre.LowerPos()).Compare(
-                 aCurrentEditorContent.Left(iCurSelPre.LowerPos()) ) == 0 && 
-           aLastEditorContent.Mid(iCurSelPre.HigherPos()).Compare(
-                 aCurrentEditorContent.Mid(iCurSelCur.iCursorPos) ) == 0);	
-	}
-	
-TBool CAknFepPluginManager::TextDeleted( const TDesC& aLastEditorContent, 
-                                         const TDesC& aCurrentEditorContent)
-	{
-	if ( iModeChanged )
-		{
-		return EFalse;
-		}
-	
-    if ( aLastEditorContent.Length() < aCurrentEditorContent.Length() )
-        {
-        return EFalse;
-        } 
-	
-	TPtrC curRightContent = aCurrentEditorContent.Mid(iCurSelCur.iCursorPos);
-
-	TInt pos = aLastEditorContent.Length()-curRightContent.Length();
-
-	return ( iCurSelCur.HigherPos() <= iCurSelPre.HigherPos() && 
-           aLastEditorContent.Left(iCurSelCur.iCursorPos).Compare(
-               aCurrentEditorContent.Left(iCurSelCur.iCursorPos) ) == 0 
-           && ( pos >= 0) && aLastEditorContent.Mid(pos).Compare(curRightContent ) == 0	);
-	}	
-	
-TBool CAknFepPluginManager::TextMultiTapped( const TDesC& aLastEditorContent, 
-                                             const TDesC& aCurrentEditorContent)
-	{
-	if ( iModeChanged )
-		{
-		return EFalse;
-		}
-
-	MCoeFepAwareTextEditor* edit = iFepMan.FepAwareTextEditor();
-	
-	if ( iCurSelCur.iCursorPos > aLastEditorContent.Length() )
-	    {
-	    return EFalse;
-	    }
-	return ( iCurSelCur.iCursorPos > 0 && 
-        ( iCurSelPre.iCursorPos <= edit->DocumentMaximumLengthForFep() 
-              || edit->DocumentMaximumLengthForFep() == 0 ) && 
-        aLastEditorContent.Left(iCurSelCur.iCursorPos-1).Compare(
-              aCurrentEditorContent.Left(iCurSelCur.iCursorPos-1) ) == 0 && 
-        aLastEditorContent.Mid(iCurSelCur.iCursorPos).Compare(
-              aCurrentEditorContent.Mid(iCurSelCur.iCursorPos) ) == 0);	
-	}	
-	
-// -----------------------------------------------------------------------------
-// CAknFepPluginManager::SetCursorSelectionL
-// Set editor cursor selection.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CAknFepPluginManager::SetCursorSelectionL(const TCursorSelection& aCurSel, TBool aSyncCursor)    
-    {
-    MCoeFepAwareTextEditor* edit = iFepMan.FepAwareTextEditor();
-    if(edit && 
-       aCurSel.HigherPos() <= edit->DocumentLengthForFep() && 
-       aCurSel.LowerPos() >= 0 )
-        {
-        if ( ( aCurSel.iCursorPos != iCurSelPre.iCursorPos ) || 
-            ( aCurSel.iAnchorPos != iCurSelPre.iAnchorPos ) || aSyncCursor)
-            {
-            edit->SetCursorSelectionForFepL(aCurSel);
-            
-            iFepMan.SynCCPSoftKey();
-            TCursorSelection curSel; 
-            edit->GetCursorSelectionForFep( curSel );
-
-            if(curSel.iCursorPos != aCurSel.iCursorPos || 
-               curSel.iAnchorPos != aCurSel.iAnchorPos )
-                {
-                iCurSelPre.iCursorPos = aCurSel.iCursorPos;
-                iCurSelPre.iAnchorPos = aCurSel.iAnchorPos;
-                }
-
-            if ( aSyncCursor || 
-                curSel.iCursorPos != aCurSel.iCursorPos || 
-                curSel.iAnchorPos != aCurSel.iAnchorPos || 
-                curSel.iCursorPos != iCurSelPre.iCursorPos || 
-                curSel.iAnchorPos != iCurSelPre.iAnchorPos )
-                {
-			    iCaseMan.UpdateCase(ENullNaviEvent);			    
-                SendIcfDataL();
-                }
-            else
-                {
-                iCurSelPre.iCursorPos = aCurSel.iCursorPos;
-                iCurSelPre.iAnchorPos = aCurSel.iAnchorPos;
-                }
-            }
-        }
-    }   
- 
-HBufC*  CAknFepPluginManager::GetNumberKeymapResource(TInt aCaseMode)
-    {
-    HBufC* rtn = NULL;
-    TRAP_IGNORE( rtn = DoGetNumberKeymapResourceL( aCaseMode ));
-    return rtn;
-    }
-    
-HBufC*  CAknFepPluginManager::DoGetNumberKeymapResourceL(TInt aCaseMode)
-    {//the code is borrowed from DoLaunchSctAndPctL
-    
-    HBufC* rtn = NULL;
-    
-    //first get resource id
-    TInt currentEditorSCTResId = iFepMan.GetCurrentEditorSCTResId();
-    
-    //load from resource
-    TResourceReader reader;
-    CCoeEnv* env = CCoeEnv::Static();
-    env->CreateResourceReaderLC(reader, currentEditorSCTResId);
-    reader.ReadInt32();//LONG flag
-    reader.ReadTPtrC();//LTEXT title="";
-    reader.ReadInt32();//LLINK pages=0;
-    reader.ReadInt32();//LLINK buttons=0;
-
-    const TInt count = reader.ReadInt16(); //line count
-    for( TInt i = 0; i < count; ++i )
-        {
-        TInt type = reader.ReadInt16();      
-        if( type == EAknCtSpecialCharacterMap )
-            {
-            reader.ReadTPtrC(); //caption
-            reader.ReadInt16(); //id
-            reader.ReadInt32(); //flags          
-            TInt component_count=reader.ReadInt16();
-            for (TInt ii=0;ii<component_count;ii++)
-                {
-                TInt component_id=reader.ReadInt16();
-                if(component_id == aCaseMode)
-                    {
-                    rtn = reader.ReadHBufCL();
-                    break;
-                    }
-                else
-                    {
-                    reader.ReadTPtrC();
-                    }
-                }
-  
-            break;
-            }
-        else
-            {
-            //ignore line
-            CEikCaptionedControl* line=new(ELeave) CEikCaptionedControl;
-            CleanupStack::PushL(line);
-            SEikControlInfo controlInfo=EikControlFactory::CreateByTypeL(type);
-            if( controlInfo.iControl )
-                {
-                line->iControl = controlInfo.iControl;
-                line->ConstructFromResourceL(reader);
-                CleanupStack::PopAndDestroy(line); // line
-                }
-            else
-                {
-                User::Leave(KErrNotSupported);
-                }
-            }
-        }
-
-    CleanupStack::PopAndDestroy(); //reader
-    return rtn;
-    }
-                             
-// -----------------------------------------------------------------------------
-// CAknFepPluginManager::InitializePluginInputL
-// Initialize plugin UI
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CAknFepPluginManager::InitializePluginInputL(TInt aOpenMode, TInt aSuggestRange,
-                                                  TBool aCleanContent)
-    {
-    if ( iFepMan.FepManState()!= EAknFepStateUIActive || iClosePluginInputMode )      
-        {
-        //Set hardware key board mode
-        iFepMan.TryCloseUiL();
-        iClosePluginInputMode = EFalse;
-        }
-    
-    UpdatePredicState();
-  
-    NotifyLayoutL( aOpenMode, aSuggestRange, aCleanContent );
-    
-//    iPenInputServer.UpdateAppInfo(KNullDesC, EAppIndicatorMsg);  
-    
-    iPluginInputMode =  (TPluginInputMode)iLangMan.CurrentImePlugin()->CurrentMode();   
-
-    //adjust VKB window if data query dialog is displaying
-    if(IsDisplayDataQuery())
-        {
-        RDrawableWindow* focusWin = 
-                       CCoeEnv::Static()->AppUi()->TopFocusedControl()->DrawableWindow();        
-        if(!iLastDataQueryWin
-           || iLastDataQueryWin != focusWin)
-            {
-            iDataQueryAlreadyShow = EFalse;
-            iLastDataQueryWin = focusWin;
-            }
-        }
-    if(IsDisplayDataQuery() && //data query
-       !iDataQueryAlreadyShow &&  //only adjust once
-       PluginInputMode() == EPluginInputModeVkb) //only vkb mode 
-        {
-        RepositionDataQuery(EFalse);
-        }
-
-    if ( !NotifyInGlobalNoteEditorL() )
-    	{
-    	iCurrentPluginInputFepUI->ActivateUI(); 
-    	}
-    
-    iFepMan.UpdateIndicators();
-    iCurrentPluginInputFepUI->SetNextFepUI(
-        iLangMan.GetFepUI(iFepMan.InputMode(), ENoneWidthChar, 
-        iFepMan.IsPredictive(iFepMan.InputMode())) );    
-    //SyncFepAwareText( EPluginSyncUpdatedText ); //sync again
-    iLastSubmitCount = 0;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepPluginManager::LaunchPenInputMenuL
-// Launch plugin menu.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CAknFepPluginManager::LaunchPenInputMenuL(TInt aResourceId, TBool aRemeber)
-    {
-    TInt previousModes = iCurPermitModes;
-    TBool previousSCT  = isLanuchSCT;
-    TInt inputmode = PluginInputMode();
-    
-    if (R_AVKON_PENINPUT_OPTION_MENU_BAR == aResourceId &&
-        (inputmode == EPluginInputModeItut ||
-         inputmode == EPluginInputModeVkb ||
-         inputmode == EPluginInputModeFSQ))
-        {
-        isLanuchSCT = EFalse;
-        iCurPermitModes = iFepMan.PermittedModes(); 
-        isLanuchSCT = iFepMan.IsAbleToLaunchSCT();  
-        }
-    else
-        {
-        iCurPermitModes = 0;    
-        }
-        
-    if (aRemeber)
-        {
-        iFepMan.RemeberEditorState();   
-        }
-    else
-        {
-        iCurPermitModes = previousModes;
-        isLanuchSCT = previousSCT;
-        }
-    
-    iPenInputMenu->ShowL(aResourceId);
-    }
- 
-// ---------------------------------------------------------------------------
-// CAknFepPluginManager::LaunchPenInputLanguageSelectionL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//     
-void CAknFepPluginManager::LaunchPenInputLanguageSelectionL( TBool /*aLaunchedByTouchWin*/ )
-    {
-    //record langauge
-//    TInt oldLang = iSharedData.InputTextLanguage();
-//    CPenInputGSInterface*  setting = CPenInputGSInterface::NewL();
-//    CleanupStack::PushL(setting);
-//    iFepMan.SetCancelPopupInQwerty( aLaunchedByTouchWin );
-//    setting->ShowInputLanguagePageL();
-//    iFepMan.SetCancelPopupInQwerty( EFalse );
-//    CleanupStack::PopAndDestroy(setting); 
-//    TInt inputLanguage = iSharedData.InputTextLanguage();
-//    if( oldLang != inputLanguage)
-//        {
-//        iSharedData.SetInputTextLanguage(inputLanguage);
-//        iFepMan.ChangeInputLanguageL(inputLanguage);
-//        iFepMan.SetFlag( CAknFepManager::EFlagNewSharedDataInputLanguage 
-//            | CAknFepManager::EFlagNewSharedDataInputMode );
-//
-//        }
-    }        
-
-// ---------------------------------------------------------------------------
-// CAknFepPluginManager::LaunchPenInputRecognitionWithDictionarySelectionL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//     
-void CAknFepPluginManager::LaunchPenInputRecognitionWithDictionarySelectionL()
-    {
-    //record langauge
-//    CPenInputGSInterface*  setting = CPenInputGSInterface::NewL();
-//    CleanupStack::PushL(setting);
-//    setting->ShowRecognitionWithDictionaryL();
-//    CleanupStack::PopAndDestroy(setting); 
-//    TInt inputLanguage = iSharedData.InputTextLanguage();
-    }  
-
-// ---------------------------------------------------------------------------
-// CAknFepPluginManager::LaunchPenInputSettingL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-void CAknFepPluginManager::LaunchPenInputSettingL()
-    {
-    //record langauge
-//    TInt oldLang = iSharedData.InputTextLanguage();
-//    if ( !iGsInterface )
-//        {
-//        iGsInterface = CPenInputGSInterface::NewL();
-//        }    
-//    iGsInterface->ShowMainViewL();
-//    TInt inputLanguage = iSharedData.InputTextLanguage();
-//    if( oldLang != inputLanguage)
-//        {
-//        iFepMan.ChangeInputLanguageL(inputLanguage);
-//        }
-
-    }     
-
-// -----------------------------------------------------------------------------
-// CAknFepManager::ParseInputContextContent
-// Parse editor text passed to plugin ICF
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CAknFepPluginManager::ParseInputContextContent(TDes& aBuffer, TInt aCurrent,
-                                              TInt& aFrom, TInt& aTo)
-    {
-    TInt maxLen = aBuffer.Length();
-    TInt i;
-    //find from
-    for( i = aCurrent - 1; i >=0; i--)
-        {
-        if( aBuffer[i] == KVkbTabulator)
-            {
-            // tabulator found, replace it with a space
-            aBuffer.Replace(i, 1, KVkbTabChar);
-            }
-        else if(aBuffer[i] == KVkbParagraphSeparator)
-            {
-            break;
-            }
-        }
-        
-    aFrom = i + 1;
-    
-    for(i = aCurrent; i < maxLen; i++)
-        {
-        if( aBuffer[i] == KVkbTabulator)
-            {
-            // tabulator found, replace it with a space
-            aBuffer.Replace(i, 1, KVkbTabChar);
-            }
-        else if(aBuffer[i] == KVkbParagraphSeparator)
-            {
-            break;
-            }
-        }
-        
-    aTo = i;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepPluginManager::SubmitUiPluginTextL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-void CAknFepPluginManager::SubmitUiPluginTextL(const TDesC& aData, 
-											   TSimulateEventMode aForcedMode)
-    {    
-    iDisableSyncText = ETrue;
-    // a flag to decide if to simulate space or enter key event in number only editor
-    // if is asked, simulate these keys anyway.
-    TBool disableSpaceEnterFlag = EFalse ;
-    
-    if ( iFepMan.PermittedModes() == EAknEditorNumericInputMode )
-        {
-        CAknEdwinState* editorState = iFepMan.EditorState();
-        
-        if ( !editorState )
-            {
-            disableSpaceEnterFlag = !iFepMan.IsMfneEditor();
-            }
-        else
-            {
-            disableSpaceEnterFlag = 
-                     !(editorState->Flags() & EAknEditorFlagDeliverVirtualKeyEventsToApplication);
-            }
-        }
-
-    CCoeEnv* env = CCoeEnv::Static();
-    MCoeFepAwareTextEditor* edit = iFepMan.FepAwareTextEditor(); 
-        /*
-        TBool noSimulate = !iFepMan.IsMfneEditor() && iCurSelPre.Length() > 0 &&
-            ( PluginInputMode() == EPluginInputModeItut || PluginInputMode() == EPluginInputModeFSQ );
-        */   
-        for(int i = 0; i < aData.Length(); ++i)
-            {
-            TKeyEvent keyEvent = {aData[i], EStdKeyNull, 0, 0};
-            
-            /*
-            if ( noSimulate )
-                {
-                if (keyEvent.iCode == EKeyLeftArrow )
-                    {
-                    if(iCurSelPre.iCursorPos > 0)
-                        {
-                        TInt pos = iCurSelPre.iCursorPos - 1;
-                        edit->SetCursorSelectionForFepL
-                            ( TCursorSelection( pos, iCurSelPre.iAnchorPos ) );
-                        }
-                    else  if(iCurSelPre.iCursorPos == 0)
-                        {
-                        edit->SetCursorSelectionForFepL
-                            ( TCursorSelection( iCurSelPre.iCursorPos, iCurSelPre.iAnchorPos ) );
-                        }
-                    SendIcfDataL();
-                    continue;
-                    }
-                else if (keyEvent.iCode == EKeyRightArrow )
-                    {                   
-                    if(iCurSelPre.iCursorPos < edit->DocumentLengthForFep())
-                        {
-                        TInt pos = iCurSelPre.iCursorPos + 1;
-                        edit->SetCursorSelectionForFepL
-                            ( TCursorSelection( pos, iCurSelPre.iAnchorPos ) );
-                        }
-                    else if(iCurSelPre.iCursorPos == edit->DocumentLengthForFep())
-                        {
-                        edit->SetCursorSelectionForFepL
-                            ( TCursorSelection( iCurSelPre.iCursorPos, iCurSelPre.iAnchorPos ) );
-                        }  
-                    SendIcfDataL();
-                    continue;
-                    }    
-                }
-            */        
-            
-		    if (keyEvent.iCode == EKeyLeftArrow && iHasSWEventCap)
-                {
-                TRawEvent eventDown; 
-                eventDown.Set( TRawEvent::EKeyDown, EStdKeyLeftArrow); 
-                eventDown.SetTip( ETrue );
-                static_cast<CAknAppUi*>(CEikonEnv::Static()->EikAppUi())->DisableNextKeySound( EStdKeyLeftArrow ); 
-                CCoeEnv::Static()->WsSession().SimulateRawEvent( eventDown ); 
-
-                TRawEvent eventUp; 
-                eventUp.Set( TRawEvent::EKeyUp, 14); 
-                eventUp.SetTip( ETrue );
-                CCoeEnv::Static()->WsSession().SimulateRawEvent( eventUp ); 
-                }
-                
-		    else if (keyEvent.iCode == EKeyRightArrow && iHasSWEventCap)
-                {
-                TRawEvent eventDown; 
-                eventDown.Set( TRawEvent::EKeyDown, EStdKeyRightArrow); 
-                eventDown.SetTip( ETrue );
-                static_cast<CAknAppUi*>(CEikonEnv::Static()->EikAppUi())->DisableNextKeySound( EStdKeyRightArrow ); 
-                CCoeEnv::Static()->WsSession().SimulateRawEvent( eventDown ); 
-
-                TRawEvent eventUp; 
-                eventUp.Set( TRawEvent::EKeyUp, EStdKeyRightArrow); 
-                eventUp.SetTip( ETrue );
-                CCoeEnv::Static()->WsSession().SimulateRawEvent( eventUp ); 
-                }
-            
-            
-            else if ( keyEvent.iCode >= EKeyApplication27 
-                    || (iFepMan.IsFeatureSupportedJapanese()
-                         && iFepMan.InputMode() == EHiraganaKanji
-                         && edit
-                         && (EPtiKey0 <= keyEvent.iCode && keyEvent.iCode <= EPtiKey9)
-                       )
-                    )
-                {
-                TBuf<1> buf;
-                buf.Append( TChar( aData[i] ) );
-                iFepMan.SubmitInlineTextL( buf );
-                }
-            else
-                {
-                if ( ( disableSpaceEnterFlag && 
-                    ( keyEvent.iCode == EKeySpace || keyEvent.iCode == EKeyEnter ) ) || 
-                    ( edit && edit->DocumentLengthForFep() <= 0  && 
-                    ( keyEvent.iCode == EKeyDelete || keyEvent.iCode == EKeyBackspace ) ) )
-                    {
-                    iLastSubmitCount--;
-                    continue;
-                    }
-                if ( keyEvent.iCode == EKeyTab )
-                    {
-                    iLastSubmitCount--;
-                    }
-                else if (keyEvent.iCode == EKeySpace)
-                    {
-                    keyEvent.iScanCode = EStdKeySpace;
-                    }
-                else if (keyEvent.iCode == EKeyDelete)
-                    {
-                    keyEvent.iScanCode = EStdKeyDelete;
-                    if (iSharedData.ClearDirection() == EClearDirectionLeft)
-                        {
-                        keyEvent.iCode = EKeyBackspace;
-                        keyEvent.iScanCode = EStdKeyBackspace;
-                        }
-                    }
-                else if (keyEvent.iCode == EKeyBackspace)
-                    {
-                    keyEvent.iScanCode = EStdKeyBackspace;
-                    }
-                else if (keyEvent.iCode == EKeyEnter)
-                    {
-                    keyEvent.iScanCode = EStdKeyEnter;
-                    }
-                else if ( EnableITIOnFSQ() )
-                    {
-                    // For addtion of ITI features on FSQ
-                    // If FSQ is opened with ITI enabled,
-                    // Must get scan code from keymapping, EStdKeyNull won't be handled by ITI engine. 
-                    keyEvent.iScanCode = GetScanCodeFromHwKeymapping( aData[i] );
-                    }
-                // For converter
-                // If inputting through VKB or HWR, the event can be done only when aType is equal to EEventKey.
-                // Besides, only when inputting the dot in VKB or HWR, aKeyEvent.iScanCode is equal to decimalChar.
-                CAknEdwinState* editorState = iFepMan.EditorState();
-                TLocale locale;
-                if(editorState && 
-                  (editorState->NumericKeymap() == EAknEditorConverterNumberModeKeymap ||
-                    editorState->NumericKeymap() == EAknEditorCalculatorNumberModeKeymap) &&
-                    keyEvent.iCode == locale.DecimalSeparator() )
-                    {
-                    keyEvent.iScanCode = locale.DecimalSeparator();
-                    }
-
-                // The keycode is a non-standard keyboard character
-                keyEvent.iModifiers |= EModifierSpecial;
-                
-                
-                if (keyEvent.iScanCode == EStdKeyBackspace && 
-                	iHasSWEventCap &&
-                	aForcedMode != EKeyEvent )
-                    {
-                    TRawEvent eventDown; 
-                    eventDown.Set( TRawEvent::EKeyDown, EStdKeyBackspace); 
-                    eventDown.SetTip( ETrue );
-                    static_cast<CAknAppUi*>(CEikonEnv::Static()->EikAppUi())->DisableNextKeySound( 
-                                                                                EStdKeyBackspace ); 
-                    CCoeEnv::Static()->WsSession().SimulateRawEvent( eventDown ); 
-                    
-                    TRawEvent eventUp; 
-                    eventUp.Set( TRawEvent::EKeyUp, EStdKeyBackspace); 
-                    eventUp.SetTip( ETrue );
-                    CCoeEnv::Static()->WsSession().SimulateRawEvent( eventUp ); 
-                    }
-                else if ( keyEvent.iScanCode == EStdKeyEnter && iHasSWEventCap )
-                    {
-                    TRawEvent eventDown; 
-                    eventDown.Set( TRawEvent::EKeyDown, EStdKeyEnter ); 
-                    iAvkonAppUi->DisableNextKeySound( EStdKeyEnter ); 
-                    CCoeEnv::Static()->WsSession().SimulateRawEvent( eventDown ); 
-                    
-                    TRawEvent eventUp; 
-                    eventUp.Set( TRawEvent::EKeyUp, EStdKeyEnter ); 
-                    CCoeEnv::Static()->WsSession().SimulateRawEvent( eventUp );                 	
-                    }
-                else if ( EnableITIOnFSQ() )
-                    {
-                    // For addition of ITI features on FSQ.
-                    // If FSQ is opened with ITI enabled, ensure keycatcher to handle key events
-                    // else, remain the old logic.                   
-                    if ( IsITISupportedKey( keyEvent ) )
-                        {                            
-                        // check if need to change current text case
-                        TPtiTextCase textCase = 
-                        CaseForMappedCharacter( TChar( keyEvent.iCode ) );                                                        
-						if ( !IsDeadKeyCode( keyEvent.iCode ) && IsNeedToChangeTextCase( textCase ) )
-                            {
-                            iFepMan.PtiEngine()->SetCase( textCase );
-                            }                        
-                        env->SimulateKeyEventL(keyEvent, EEventKey);
-                        }
-                    else if ( keyEvent.iScanCode == EStdKeyBackspace 
-                              || keyEvent.iScanCode == EStdKeyEnter
-                              || keyEvent.iScanCode == EStdKeySpace )
-                        {
-                        // For these keys, clear the flag to make sure ptiengine handle this key.                            
-                        env->SimulateKeyEventL(keyEvent, EEventKey);
-                        }
-                    else
-                        {
-                        // When FSQ opened with ITI features enabled, 
-                        // but key is not supported by ITI
-                        // commit inline if necessary
-                        if ( iFepMan.UncommittedText().Length() > 0 )
-                            {                                
-                            iFepMan.CommitInlineEditL();
-                            iFepMan.PtiEngine()->CommitCurrentWord();
-                            }                            
-                        // set flag to ensure not to be handled by key catcher.
-                        iFepMan.SetFlag(CAknFepManager::EFlagPassNextKey);
-                        env->SimulateKeyEventL(keyEvent, EEventKey);
-                		iFepMan.ClearFlag(CAknFepManager::EFlagPassNextKey);
-                        }
-                    }
-                else
-                	{
-                	// keep the old logic is not affected
-                    iFepMan.SetFlag(CAknFepManager::EFlagPassNextKey);
-                	env->SimulateKeyEventL(keyEvent, EEventKey);
-                	iFepMan.ClearFlag(CAknFepManager::EFlagPassNextKey);
-                	}                    
-                }
-            }  
-    
-    //fix defect             
-    if( edit )
-        {
-        env->ForEachFepObserverCall(FepObserverHandleCompletionOfTransactionL);
-        }
-    iSyncWithPluginRange = ETrue;
-    iCaseMan.UpdateCase(ENullNaviEvent);
-    iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputCaseMode, iCaseMan.CurrentCase());
-    iSyncWithPluginRange = EFalse;
-    
-    iDisableSyncText = EFalse;
-    if( iPendingSyncReq )
-        {
-        SendIcfDataL( EPluginSyncAll );
-        }
-    }    
-
-// -----------------------------------------------------------------------------
-// CAknFepPluginManager::OnPenInputServerKeyEventL
-// Handle key event sent from pen input server
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CAknFepPluginManager::OnPenInputServerKeyEventL(const TDesC& aData)
-    {
-    
-    iFepMan.PtiEngine()->CancelTimerActivity();
-    
-    if( aData.Length() <= 0 )
-        {
-        return;
-        }
- 
-    if ( iFepMan.IsFepAwareTextEditor() )
-        {
-        CAknEdwinState* editorState = iFepMan.EditorState();
-        TBool sendFlag =  editorState && 
-            (editorState->Flags() & EAknEditorFlagDeliverVirtualKeyEventsToApplication);
-            
-        TInt maxEdSize = iFepMan.FepAwareTextEditor()->
-            DocumentMaximumLengthForFep();
-        if ( maxEdSize == 0  )
-            {
-            iLastSubmitCount = aData.Length();
-            SubmitUiPluginTextL(aData);
-            }
-        else
-            {
-            TCursorSelection currentSelection;
-            iFepMan.FepAwareTextEditor()->GetCursorSelectionForFep(currentSelection);
-            TInt freeSpaceOfEditor = maxEdSize - 
-                iFepMan.FepAwareTextEditor()->DocumentLengthForFep() +
-                currentSelection.Length(); 
-                
-            if ( freeSpaceOfEditor >= 0 )
-                {
-                if ( ( aData.Length() <= freeSpaceOfEditor ) ||
-                    ( ( aData.Length()-1 == freeSpaceOfEditor ) && 
-                      (( aData[aData.Length()-1] == EKeyBackspace ) ||
-                      	 (aData[aData.Length()-1] == EKeyEnter )  ||
-                         (aData[aData.Length()-1] == EKeyLeftArrow )  ||
-                         (aData[aData.Length()-1] == EKeyRightArrow ) ) ))
-                    {
-                    iLastSubmitCount = aData.Length();
-                    }
-                else
-                    {
-                    iLastSubmitCount = freeSpaceOfEditor;
-                    }
-                    
-                if ( sendFlag )
-                    {
-                    SubmitUiPluginTextL(aData);
-                    }
-                else
-                    {
-                    TPtrC charbuf = aData.Left(iLastSubmitCount);
-                    SubmitUiPluginTextL(charbuf);
-                    }
-                    
-                if (freeSpaceOfEditor == 0 || iLastSubmitCount == freeSpaceOfEditor)
-                	{
-                	HasNoFreeSpace();	
-                	}
-                    
-                }
-            else
-                {
-                iLastSubmitCount = 0;
-                if ( sendFlag )
-                    {
-                    SubmitUiPluginTextL(aData);
-                    }
-                }
-            }
-        }
-    else
-        {
-        SubmitUiPluginTextL(aData);
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepPluginManager::SyncIndicatorWithPluginRangeL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//     
-void CAknFepPluginManager::SyncIndicatorWithPluginRangeL()
-    {
-    iSyncWithPluginRange = ETrue;
-    iPluginNativeRange = EFalse;
-    TInt newMode = iFepMan.InputMode();
-    if( iPluginPrimaryRange == ERangeNative )
-        {
-        if( !iFepMan.EditorState() )
-            {
-            return;
-            }
-        TInt defaultInputMode = iFepMan.EditorState()->DefaultInputMode();
-        if ( iFepMan.IsChineseInputLanguage() )
-           {
-           defaultInputMode = iFepMan.InputMode();
-           }    
-        const TInt inputLanguage = iSharedData.InputTextLanguage();
-        
-        switch(inputLanguage)
-            {
-            case ELangPrcChinese:
-                if( defaultInputMode != EPinyin &&
-                    defaultInputMode != EStroke )
-                    {
-                    if ( iFepMan.LastChineseInputMode() )
-                        {
-                        newMode = iFepMan.LastChineseInputMode();
-                        }
-                    else
-                        {
-                    newMode = EPinyin;
-                        }                    
-                    }
-                else
-                    {
-                    newMode = defaultInputMode;
-                    }
-                break;
-            case ELangTaiwanChinese:
-                if( defaultInputMode != EZhuyin &&
-                    defaultInputMode != EStroke )
-                    {
-                    if ( iFepMan.LastChineseInputMode() )
-                        {
-                        newMode = iFepMan.LastChineseInputMode();
-                        }
-                    else
-                        {
-                    newMode = EZhuyin;
-                        }                    
-                    }
-                else
-                    {
-                    newMode = defaultInputMode;
-                    }
-                break;
-            case ELangHongKongChinese:
-                if( defaultInputMode != ECangJie &&
-                    defaultInputMode != EStroke )
-                    {
-                    if ( iFepMan.LastChineseInputMode() )
-                        {
-                        newMode = iFepMan.LastChineseInputMode();
-                        }
-                    else
-                        {
-                    newMode = EStroke;
-                        }
-                    }
-                else
-                    {
-                    newMode = defaultInputMode;
-                    }
-                break;
-            case ELangJapanese:
-                {
-                newMode = defaultInputMode;
-                iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputJapaneseGetModeOfSubRange, (TInt)(&newMode));
-                }
-                break;
-            case ELangHindi:
-                {
-                newMode = EHindi;
-                }
-                break;
-            case ELangKorean:
-                {
-                newMode = EHangul;
-                }
-                break;
-            default:
-                newMode = ELatin;
-                iPluginNativeRange = ETrue;
-                break;
-            }
-        }
-    else if( iPluginPrimaryRange == ERangeEnglish ||
-             iPluginPrimaryRange == ERangeAccent )
-        {
-        newMode = ELatin;
-        }
-    else if( iPluginPrimaryRange == ERangeNumber )
-        {
-        newMode = ENumber;
-        }
-    //else do NOTHING but keep current for other ranges
-    
-    if( newMode != iFepMan.InputMode() || 
-        ( newMode == ELatin || newMode == ENumber ) )
-        {
-        iFepMan.TryChangeModeL(newMode);
-        UpdatePredicState();
-        //iCaseMan.SetCurrentCase(iCaseMan.CurrentCase());
-        iCaseMan.UpdateCase(ENullNaviEvent);
-        iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputCaseMode, 
-                                                 iCaseMan.CurrentCase());
-        }
-    
-    // Addition for ITI features on FSQ    
-    if ( newMode == ELatin && IsSupportITIOnFSQ() )
-        {
-        // When change range back to Latin
-        // 1. Config fep state again.        
-        SetItiStateL();
-        // 2. Restore predict state for FSQ.
-        RestorePredictStateL();
-        }    
-    else
-    	{
-    	// 1. Restore predict state for FSQ.
-    	ResetItiStateL();
-    	// 2. Update predict state.
-    	UpdatePredicState();
-    	}
-    //Set correct fep ui	
-    if(IsSupportITIOnFSQ())
-        {
-        iCurrentPluginInputFepUI->SetNextFepUI(
-            iLangMan.GetFepUI(iFepMan.InputMode(), ENoneWidthChar,
-                iFepMan.IsPredictive(iFepMan.InputMode())) );  		
-        }
-    iSyncWithPluginRange = EFalse;
-    }        
-
-// ---------------------------------------------------------------------------
-// CAknFepPluginManager::GetCurSuggestMode
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//     
-TBool CAknFepPluginManager::GetCurSuggestMode( TPluginInputMode& aSuggestMode )
-    {
-    TInt fepDisableLayoouts = 0;
-    TInt disableLayouts = iPenInputServer.DisabledLayout();
-
-    switch(aSuggestMode)
-        {
-		case EPluginInputModeFingerHwr:
-        case EPluginInputModeFSc:
-        case EPluginInputModeHwr:
-			{
-		    if( iFepMan.IsSupportsSecretText() || 
-		    	( ( aSuggestMode == EPluginInputModeFSc || 
-		    		aSuggestMode == EPluginInputModeFingerHwr) &&
-		    	    iSharedData.InputTextLanguage() != ELangPrcChinese &&
-                    iSharedData.InputTextLanguage() != ELangTaiwanChinese &&
-                    iSharedData.InputTextLanguage() != ELangHongKongChinese ))   
-				{
-				aSuggestMode = EPluginInputModeItut;
-				if ((disableLayouts & aSuggestMode))
-					{
-					aSuggestMode = EPluginInputModeFSQ;
-					}
-				fepDisableLayoouts |= EPluginInputModeHwr | EPluginInputModeFSc |
-				                      EPluginInputModeFingerHwr;
-				}
-			}
-			break;
-        case EPluginInputModeVkb:
-            {
-            }
-            break;
-        case EPluginInputModeFSQ:
-            {
-            if ((disableLayouts & aSuggestMode))
-                {
-                aSuggestMode = EPluginInputModeItut;
-                }
-            }
-            break;
-        case EPluginInputModeItut:
-            {
-            if ((disableLayouts & aSuggestMode))
-                {
-                aSuggestMode = EPluginInputModeFSQ;
-                }
-            }
-            break;
-        default:
-			{
-			aSuggestMode = EPluginInputModeItut;
-			if ((disableLayouts & aSuggestMode))
-				{
-				aSuggestMode = EPluginInputModeFSQ;
-				}
-			}
-            break;
-        }
-
-     if (disableLayouts == 0)
-        {
-        return ETrue;   
-        }
-        
-     disableLayouts |= fepDisableLayoouts;
-     
-     // disable all
-     if (disableLayouts ==  EPluginInputModeAll)
-        {
-        return EFalse;     
-        }         
-     
-     if (!(disableLayouts & aSuggestMode))
-        {
-        return ETrue;   
-        }
-        
-     TInt testMode = EPluginInputModeHwr;
-     while ( testMode < EPluginInputModeAll )
-         {
-         if (!(testMode & disableLayouts))
-             {
-             break;
-             }
-         testMode<<=1;
-         }
-         
-     if ((testMode == EPluginInputModeFSc ||
-          testMode == EPluginInputModeFingerHwr ) && 
-         iSharedData.InputTextLanguage() != ELangPrcChinese &&
-         iSharedData.InputTextLanguage() != ELangTaiwanChinese &&
-         iSharedData.InputTextLanguage() != ELangHongKongChinese )
-         {
-         return EFalse;   
-         }
-    
-    aSuggestMode = TPluginInputMode(testMode);
-        
-    return ETrue;     
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepPluginManager::ConnectServer
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//     
-TBool CAknFepPluginManager::ConnectServer()
-    {
-    if(!iPenInputSvrConnected)
-        {
-        TInt err = iPenInputServer.Connect();
-        //iPenInputServer.AddPeninputServerObserverL(this); //always add the handler
-        if( KErrNone != err )
-            {
-            iFepMan.UiInterface()->TouchPaneSetInputMethodIconActivated(EFalse);
-                
-            return EFalse;               
-            }
-        TRAP_IGNORE(iPenInputServer.AddPeninputServerObserverL(this)); //always add the handler            
-        
-        iPenInputSvrConnected = ETrue;                      
-        }
-
-    iPenInputServer.SetForeground(iOpenPenUiFlag);
-    
-    return ETrue;
-    }
-    
-// ---------------------------------------------------------------------------
-// CAknFepPluginManager::NotifyLayoutL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-void CAknFepPluginManager::NotifyLayoutL(TInt aOpenMode, TInt aSuggestRange, 
-                                         TBool aCleanContent)
-    {
-    TBool isSecret = EFalse;
-    if ( iFepMan.IsSupportsSecretText() )
-        {
-        isSecret = ETrue;
-        } 
- 
-    CAknEdwinState* editorState = iFepMan.EditorState();// still stay here
-    
-    // for MFNE Editor
-    if( !editorState && iFepMan.InputMode() == ENumber )
-        {
-        if( AknTextUtils::NumericEditorDigitType() == EDigitTypeEasternArabicIndic || 
-            AknTextUtils::NumericEditorDigitType() == EDigitTypeDevanagari ||
-            AknTextUtils::NumericEditorDigitType() == EDigitTypeArabicIndic )
-            {
-            iFepMan.TryChangeModeL( ENativeNumber );
-            }
-        else if ( AknTextUtils::NumericEditorDigitType() == EDigitTypeWestern )
-            {
-            iFepMan.TryChangeModeL( ENumber );
-            }
-        }
-
-    if(editorState && (editorState->Flags() & EAknEditorFlagNumberGrouping))
-        {
-        iCurrentPluginInputFepUI->HandleCommandL( ECmdPenInputIsNumberGrouping, 
-                                              ETrue );
-        }
-    else
-        {
-        iCurrentPluginInputFepUI->HandleCommandL( ECmdPenInputIsNumberGrouping, 
-                                              EFalse );
-        }    
-                                                                                  
-    if ( PluginInputMode() == EPluginInputModeItut )
-        {
-        // The preview bubble item will be shown in option menu 
-        // when current language is Chinese
-        if ( iFepMan.InputLanguageCapabilities().iInputLanguageCode == ELangPrcChinese ||
-             iFepMan.InputLanguageCapabilities().iInputLanguageCode == ELangTaiwanChinese ||
-             iFepMan.InputLanguageCapabilities().iInputLanguageCode == ELangHongKongChinese )
-            {
-            iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputCharacterPreview, 
-                   iFepMan.FepShowVkbPreviewStatus());                 
-            }
-        
-        if ( iSharedData.InputTextLanguage() == ELangThai 
-            && iFepMan.InputMode() == ENativeNumber  )
-            {
-            iFepMan.TryChangeModeL( ENumber );
-            }
-
-        iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputPermittedRange,
-                                         iFepMan.PermittedModes());
-        iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputEditorState, 
-                                             reinterpret_cast<TInt>( editorState ));
-        NotifyLayoutKeymappingL();
-        
-        iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputFingerInputMode,
-                                                 iFepMan.InputMode());
-        
-        TFepSymbolOfHardwareOne symbolInfo = iFepMan.SymbolInfoOfHardKey1();
-        iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputSymbolOfHardKeyOne, reinterpret_cast<TInt>(&symbolInfo));
-
-        iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputCaseMode, 
-                                       iCaseMan.CurrentCase());
-        
-        TBool enableIndicatorBtn = iFepMan.GetPermittedEditorMenu(ETrue) > 0? ETrue : EFalse;                                
-        if (IsDimed() && iResourceChange)
-            {
-            enableIndicatorBtn = iEnableIndicatorBtn;   
-            }
-        else
-            {
-            iEnableIndicatorBtn = enableIndicatorBtn;    
-            }
-        
-
-        iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputEnableIndicatorButton,
-                                                 enableIndicatorBtn); 
-        
-        if (!iSpellOn)
-              {
-            iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputFingerSpelling, 0);
-              SetPromptText( aCleanContent );     
-              }
-        else
-            {
-            SetITUTSpellingStateL(ETrue);
-            iIndicatorImgID = 0;
-            iIndicatorTextID = 0;
-            }    
-        UpdateITUTIndicator();       
-        }
-    else
-        {
-        DestroySpellEditor();
-        if (PluginInputMode() == EPluginInputModeFSQ ||
-            PluginInputMode() == EPluginInputModeVkb ||
-            PluginInputMode() == EPluginInputModeFingerHwr)
-            {
-            iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputCharacterPreview, 
-                   iFepMan.FepShowVkbPreviewStatus());                 
-            }
-      
-        // for Japanese peninput setting
-        if (iFepMan.IsFeatureSupportedJapanese())
-            {
-            iFepMan.NotifyJapaneseSetting();
-            }
- 
- 		NotifyLayoutKeymappingL();
-
-        iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputPermittedRange, 
-                                                 iFepMan.PermittedModes());        
-        iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputRange, iFepMan.InputMode());
-
-        iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputEditorState, 
-                                                 reinterpret_cast<TInt>( editorState ));
-
-
-		if(aSuggestRange != ERangeInvalid)
-			{
-			iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputSuggestRange, aSuggestRange);
-			}
-        
-        //set allow change case
-        TBool allowChangeCase = editorState && iCaseMan.IsAbleChangeCase();
-        //disable/enable case change
-        iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputAllowChangeCase, allowChangeCase);
-        iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputPermittedCase, 
-                                                 iCaseMan.PluginPermittedCases());
-        }
-    // moved    
-/*    iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputEditorState, 
-                                             reinterpret_cast<TInt>( editorState ));*/
-                                             
-    if ( PluginInputMode() != EPluginInputModeItut )
-        {
-         //set current case
-        iCaseMan.SetCurrentCase(iCaseMan.CurrentCase());
-        iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputCaseMode, 
-                                           iCaseMan.CurrentCase());
-        if ( PluginInputMode() == EPluginInputModeFSQ ||
-             PluginInputMode() == EPluginInputModeFingerHwr)
-            {
-            SetPromptText( aCleanContent );
-            }
-        }
-        iCurrentPluginInputFepUI->HandleCommandL( ECmdPenInputEnableSettingBtn, 
-                                                  IsEnableSettingBtn() );
-    
-    if(!IsDimed())
-        {
-        // remember previous password state
-        iIsPassWord = isSecret;
-        iCurrentPluginInputFepUI->HandleCommandL( ECmdPenInputIsSecretText, 
-                                                  isSecret );
-        }
-    else
-        {
-        // Set previous password state when screen is dimed
-        iCurrentPluginInputFepUI->HandleCommandL( ECmdPenInputIsSecretText, 
-												  iIsPassWord );	
-        }
-			
-    TBool enableArrowBtn = IsDimArrowKeys();
-
-    if (IsDimed() && iResourceChange)
-        {
-        enableArrowBtn = iEnableArrowBtn;   
-        }
-    else
-        {
-        iEnableArrowBtn = enableArrowBtn;    
-        }                                               
-                                              
-                                              
-    iCurrentPluginInputFepUI->HandleCommandL( ECmdPenInputDimArrowKeys, 
-                                              enableArrowBtn);    
-                                                                                        
-    SetIcfAlignment();
-    
-    iModeChanged = ETrue;
-    SendIcfDataL( EPluginSyncAll );
-    iModeChanged = EFalse;
-    
-    // For addition of ITI features on FSQ, do configuration before opening FSQ,
-    // so that ITI features can be taken into effect.   
-    SetItiStateL();	
-
-    if ( ExistInlineText() )
-        {
-        SendIcfDataL();
-        }
-    
-    if ( PluginInputMode() != EPluginInputModeItut )
-        {
-        iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputWindowOpen, aOpenMode);
-        }
-    if(PluginInputMode() == EPluginInputModeItut 
-       || PluginInputMode() == EPluginInputModeFSQ
-	   || PluginInputMode() == EPluginInputModeFingerHwr)
-        {
-        iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputInEditWordQueryDlg, iIsInEditWordQueryDlg);
-        }    
-    }
-
-    
-// ---------------------------------------------------------------------------
-// CAknFepPluginManager::IsEnableModeSwitchBtn
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//     
-TBool CAknFepPluginManager::IsEnableModeSwitchBtn()
-    {
-    TBool enableInSecret = EFalse;
-        
-    if( !iFepMan.IsSupportsSecretText() )
-        {
-        TPluginInputMode counterPart = iPluginInputMode == EPluginInputModeVkb ? 
-                                EPluginInputModeHwr : EPluginInputModeVkb;
-        if( iLangMan.IsPluginInputAvaiable(counterPart, 
-                                      iCurrentPluginInputFepUI->SupportLanguage(iPluginInputMode), 
-                                      &iPenInputServer)) 
-            {
-            enableInSecret = ETrue;
-            }
-        }
-        
-    return enableInSecret;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepPluginManager::IsEnableSettingBtn
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-TBool CAknFepPluginManager::IsEnableSettingBtn()
-    {
-    TBool ebable = ETrue;
-    TInt enalbeInStartup = 0;
-    RProperty::Get(KPSUidUikon, KUikGlobalNotesAllowed, enalbeInStartup);
-    ebable = enalbeInStartup;
-    
-    if (iInGlobleNoteEditor || 
-        (iPenInputMenu && iPenInputMenu->IsShowing()))
-        {
-        ebable = EFalse;    
-        }
-    
-    return ebable;
-    }
- 
-// ---------------------------------------------------------------------------
-// CAknFepPluginManager::NotifyLayoutKeymappingL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//    
-void CAknFepPluginManager::NotifyLayoutKeymappingL()
-    {
-    CAknEdwinState* editorState = iFepMan.EditorState();
-    if ( editorState )
-        {
-        if( ( iFepMan.InputMode() == ENumber || iFepMan.InputMode() == ENativeNumber )&& 
-            (editorState->Flags() & EAknEditorFlagUseSCTNumericCharmap) &&
-            iFepMan.IsFepAwareTextEditor() &&
-            iFepMan.IsAbleToLaunchSCT() )
-            {
-            TInt sctChars = EAknSCTNumeric;
-
-            if ( !iFepMan.IsOnlyHalfWidthCharacterPermitted() )
-                {
-                sctChars = EAknSCTLowerCase;
-                }
-            //read resource from resource
-            HBufC* keymapRes = GetNumberKeymapResource(sctChars);
-            if( keymapRes )
-                {
-                CleanupStack::PushL(keymapRes);
-                iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputEditorCustomNumericKeyMap,
-                                                    reinterpret_cast<TInt>(keymapRes) );
-                CleanupStack::PopAndDestroy(keymapRes);
-                return;
-                }
-            }
-        iCurrentPluginInputFepUI->SetNumberModeKeyMappingL(editorState->NumericKeymap() );
-        }
-    else
-        {
-        TCoeInputCapabilities inputCapabilities = iFepMan.InputCapabilities();
-
-        if( inputCapabilities.SupportsWesternNumericReal() )
-            {
-            //read resource from resource
-            HBufC* keymapRes = HBufC::NewL(2);
-            TLocale locale;
-            TChar decimalSep = locale.DecimalSeparator(); 
-            TChar minusSign ='-'; 
-            
-            keymapRes->Des().Append(decimalSep);
-            keymapRes->Des().Append(minusSign);
-
-            CleanupStack::PushL(keymapRes);
-            iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputEditorCustomNumericKeyMap,
-                                                    reinterpret_cast<TInt>(keymapRes) );
-            CleanupStack::PopAndDestroy(keymapRes);
-            return;
-            }
-
-        iCurrentPluginInputFepUI->SetNumberModeKeyMappingL(EAknEditorPlainNumberModeKeymap);
-        }
-    }    
-
-// ---------------------------------------------------------------------------
-// CAknFepPluginManager::IsDisplayDataQuery
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-TBool CAknFepPluginManager::IsDisplayDataQuery()
-    {
-    return iFepMan.UiInterface()->IsDisplayDataQuery(iFepMan.IsFepAwareTextEditor());
-    }           
-
-// ---------------------------------------------------------------------------
-// CAknFepPluginManager::RepositionDataQuery
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//     
-void CAknFepPluginManager::RepositionDataQuery(TBool aForce)
-    {
-    if( !aForce && iDataQueryAlreadyShow )
-        {
-        return;
-        }
-        
-    TRect param;
-    
-    CEikAppUi* eikAppUi = (CEikAppUi *)CCoeEnv::Static()->AppUi();
-    
-    param = TRect(eikAppUi->TopFocusedControl()->PositionRelativeToScreen(),
-                  eikAppUi->TopFocusedControl()->Size());
-    
-    TPixelsTwipsAndRotation size; 
-    CCoeEnv::Static()->ScreenDevice()->GetDefaultScreenSizeAndRotation(size);
-    
-    if(size.iPixelSize.iWidth > size.iPixelSize.iHeight )
-        {
-        // landscape, retrieve current position
-        TRect parentRect;
-        
-        AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EMainPane, parentRect); 
-        CCoeControl* ctrl = eikAppUi->TopFocusedControl();
-        TRect ctrlRect = ctrl->Rect();			
-        ctrlRect.Move( 0, parentRect.iBr.iY - ctrlRect.iBr.iY );
-
-        param = TRect( ctrlRect.iTl, ctrl->Size() );
-        //ctrl->SetExtent( ctrlRect.iTl, ctrl->Size() );
-        }
-
-    TRAP_IGNORE(iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputSetWindowPos, (TInt)&param));
-    iDataQueryAlreadyShow = ETrue;
-    }    
-
-// ---------------------------------------------------------------------------
-// CAknFepPluginManager::AdjustDataQueryCallBackL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-TInt CAknFepPluginManager::AdjustDataQueryCallBackL(TAny *aPtr)
-    {
-    CAknFepPluginManager* self = static_cast<CAknFepPluginManager*>(aPtr);
-    self->iAdjustDataQueryTimer->Cancel(); 
-    if(self->IsDisplayDataQuery() && //data query
-       self->iPluginInputMode == EPluginInputModeVkb) //only vkb mode 
-        {
-        self->RepositionDataQuery(ETrue);
-        }
-        
-    return ETrue;
-    }        
-// -----------------------------------------------------------------------------
-// CAknFepPluginManager::FepObserverHandleCompletionOfTransactionL
-// Timer procedure for updating cursor.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CAknFepPluginManager::FepObserverHandleCompletionOfTransactionL(MCoeFepObserver& aFepObserver)
-    {
-    aFepObserver.HandleCompletionOfTransactionL();
-    }
-
-MAknFepManagerInterface*  CAknFepPluginManager::CurrentFepInputUI()
-	{
-	if (PluginInputMode() ==  EPluginInputModeItut &&
-	    (iFepMan.InputMode() == EPinyin || iFepMan.InputMode() == EZhuyin ||
-	    iFepMan.InputMode() == EStroke || iFepMan.InputMode() == ECangJie))
-	     
-		{
-		if (!iFingerItutChineseUI)
-		    {
-		    TRAP_IGNORE(CreateFingerItutChineseUiL());
-		    }
-		    
-		return iFingerItutChineseUI;
-		}
-		
-	return NULL;
-	}
-
-void CAknFepPluginManager::CreateFingerItutChineseUiL()
-    {
-    iFingerItutChineseUI = CAknFepUIManagerFingerItutChinese::NewL(&iFepMan, &iCaseMan, 
-                                     (TLanguage)iSharedData.InputTextLanguage(), this);
-    }
-
-void CAknFepPluginManager::LaunchHwrTrainUiL()
-    {
-    _LIT(KPeninputHwrTrainingUI, "z:\\sys\\bin\\trui.exe" );
- 
-    RProcess process;
-    TInt err = process.Create(KPeninputHwrTrainingUI, KNullDesC);
-    User::LeaveIfError(err);
-
-    process.Resume();
-    process.Close();
-    }    
-    
-TBool CAknFepPluginManager::IsVisible()
-    {
-    if( iPenInputSvrConnected )
-        {
-        return iPenInputServer.IsVisible();
-        }
-        
-    return EFalse;
-    }
-    
-void CAknFepPluginManager::SetFingerMatchSelectionState(TBool aMatchStateOn)
-    {
-    if(!iCurrentPluginInputFepUI)
-        {
-        return;
-        }    
-    if (aMatchStateOn)
-        {
-        TRAP_IGNORE(iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputFingerMatchSelection, 1));
-        iMatchState = ETrue;
-        }
-    else
-        {
-        TRAP_IGNORE(iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputFingerMatchSelection, 0));
-        iMatchState = EFalse;
-        }
-    }
-
-void CAknFepPluginManager::ConvertDigitToDigittype(TDigitType& digittype,TDes& aConvertedNumeral)
-	{
-	TChar chchar(aConvertedNumeral[0]);
-	switch(digittype)
-    	{
-    	case EDigitTypeDevanagari:
-        	{
-        	chchar = (aConvertedNumeral[0] + KLatinToDevanagariDigitsDelta);
-	    	}
-        	break;	
-        case EDigitTypeArabicIndic:
-            {
-        	chchar = (aConvertedNumeral[0] + KLatinToArabicIndicDigitsDelta);
-	        }
-            break;
-    	case EDigitTypeEasternArabicIndic:
-        	{
-        	chchar = (aConvertedNumeral[0] + KLatinToEasternArabicIndicDigitsDelta);
-        	}
-    	}
-    aConvertedNumeral.Zero();
-    aConvertedNumeral.Append(chchar);
-	}
-
-void CAknFepPluginManager::GetAllPredictiveCandidate()
-    {
-    TRAP_IGNORE(GetAllPredictiveCandidateL());    
-    }
-
-void CAknFepPluginManager::GetAllPredictiveCandidateL()
-    {
-    CPtiEngine* ptiengine = iFepMan.PtiEngine();
-    TBuf<1> tempbuf;
-    ResetCandidateList();
-
-    for (TInt index = 0; index < ptiengine->NumberOfCandidates(); index++)
-        {
-        TPtrC newText = ptiengine->NextCandidate();
-
-        if (newText.Length() > 0)
-            {
-      		if(newText.Length() == 1)
-     			{
-                TDigitType digittype = iFepMan.LocalDigit();
-                TChar chchar(newText[0]);
-
-                if(chchar.IsDigit() && digittype)
-                    {
-                    tempbuf.Zero();
-                    tempbuf.Append(newText[0]);
-                    ConvertDigitToDigittype(digittype,tempbuf);
-
-                    HBufC* textBuf = tempbuf.Alloc();
-
-                    CleanupStack::PushL(textBuf);
-                    iCandidateList.Append(textBuf);
-                    CleanupStack::Pop(textBuf);
-
-                    continue;
-                   	}
-           		}
-
-            HBufC* textBuf = newText.Alloc();
-                
-            CleanupStack::PushL(textBuf);
-            iCandidateList.Append(textBuf);
-            CleanupStack::Pop(textBuf);
-            }
-        }
-    }
-
-void CAknFepPluginManager::ResetCandidateList()
-    {
-    iCandidateIndex = 0;
-    iCandidateList.ResetAndDestroy();
-    }
-
-void CAknFepPluginManager::ShowAllCandidates()
-    {
-    iSendAllList.iCandidates.Reset();
-
-    GetAllPredictiveCandidate();
-
-    if (!iCandidateList.Count())
-        return;
-
-    for (TInt i = 0; i < iCandidateList.Count(); i++)
-        iSendAllList.iCandidates.Append(iCandidateList[i]->Des());
-
-    TRAP_IGNORE(iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputFingerMatchList, 
-                                                         reinterpret_cast<TInt>(&iSendAllList)));
-    }
-
-TBool CAknFepPluginManager::DoNextCandidates()
-    {
-    if((iCandidateIndex) * 3 >= iCandidateList.Count())
-        {
-        iCandidateIndex = 0;
-        }
-        
-    iCandidateIndex++;           
-    
-    int nStartIndex = (iCandidateIndex - 1) * 3;
-
-    
-    for (TInt index = 0; index < 3; index++, nStartIndex ++)
-        {
-        if (nStartIndex < iCandidateList.Count())
-            {
-            TPtr16 canDes = iCandidateList[nStartIndex]->Des();
-            iSendList.iCandidate[index].Set(canDes);
-            }
-        else
-            {
-            iSendList.iCandidate[index].Set(KNullDesC);
-            }
-        }
-        
-    
-    TRAP_IGNORE(iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputFingerMatchList, 
-                                                         reinterpret_cast<TInt>(&iSendList)));    
-    
-    if (iCandidateIndex * 3 >= iCandidateList.Count())
-        {
-        return ETrue;
-        }
-    
-    return EFalse;
-    }
-    
-void CAknFepPluginManager::DoPreviousCandidates()
-    {
-    iCandidateIndex--;
-      
-    if(iCandidateIndex < 1)
-        {
-        iCandidateIndex = iCandidateList.Count() / 3 + 1;
-        }
-        
-    int nStartIndex = (iCandidateIndex -1) * 3;
-        
-    for (TInt index = 0; index < 3; index++, nStartIndex ++)
-        {
-        if (nStartIndex < iCandidateList.Count())
-            {
-            TPtr16 canDes = iCandidateList[nStartIndex]->Des();
-            iSendList.iCandidate[index].Set(canDes);
-            }
-        else
-            {
-            iSendList.iCandidate[index].Set(KNullDesC);
-            }
-        }
-        
-    
-    TRAP_IGNORE(iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputFingerMatchList, 
-                                                         reinterpret_cast<TInt>(&iSendList)));    
-    }
-    
-TBool CAknFepPluginManager::GetIndicatorImgID(const TInt IndicatorUID,TInt &aImage, TInt &aMask)
-    {
-    TBool ret = EFalse;
-    TRAP_IGNORE(ret = GetIndicatorImgIDL(IndicatorUID, aImage, aMask));
-    return ret;
-    }
-TBool CAknFepPluginManager::GetIndicatorImgIDL(const TInt IndicatorUID,TInt &aImage, TInt &aMask)
-    {
-    TBool ret = EFalse;
-    aImage = 0;
-    aMask =0;
-    TResourceReader reader;
-
-    CCoeEnv::Static()->CreateResourceReaderLC(reader,
-        R_AVKON_NAVI_PANE_EDITOR_INDICATORS );
-
-    TInt indicatorCount = reader.ReadInt16(); // Number of indicators in the INDICATOR_PANE resource.
-            
-    for ( TInt ii = 0; ii < indicatorCount; ii++ )
-        {
-        TInt foundUid = reader.ReadInt16(); // First is the indicator UID.
-
-        if ( foundUid == IndicatorUID )
-            {
-            reader.ReadInt16(); // narrow priority, can be ignored
-            reader.ReadInt16(); // wide priority, can be ignored
-
-            HBufC* bitmapFile = reader.ReadHBufCL(); // File containing the indicator graphics.
-            CleanupStack::PushL( bitmapFile );
-                    
-            TInt stateCount = reader.ReadInt16(); // Number of indicator states.
-            TInt state      = reader.ReadInt16(); // First state is used ( can be EAknIndicatorStateOn / EAknIndicatorStateAnimate ).
-            TInt iconCount  = reader.ReadInt16(); // Number of icons or frames.
-                    
-            if ( state == IndicatorUID )
-                {
-    	      // Go through the animation frames.
-                for ( TInt j = 0; j < iconCount; j++ )
-                    {
-                    // Use the last animation frame
-                    // in case of animated indicator.
-                    reader.ReadInt16();
-                    reader.ReadInt16();
-                    reader.ReadInt16();
-                    reader.ReadInt16();
-                    }
-                }
-
-            // These are the correct IDs to be used for
-            // the indicator.
-            aImage = reader.ReadInt16();
-            aMask  = reader.ReadInt16();
-                    
-            
-    	  // CREATE THE INDICATOR ICON WITH THE BITMAP FILE & BITMAP ID INFORMATION HERE
-
-            
-            CleanupStack::PopAndDestroy( bitmapFile );
-            ret = ETrue;
-            break; // icon created
-            }
-        else // Not the correct indicator, pass through the INDICATOR resource.
-            {	 		
-        	  reader.ReadInt16();
-        	  reader.ReadInt16();    
-        	  HBufC* bitmapFile = reader.ReadHBufCL(); // bmp filename
-        	  delete bitmapFile;
-        	  bitmapFile = NULL;
-            TInt numberOfStates = reader.ReadInt16();  // Number of states
-        	  for ( TInt j = 0; j < numberOfStates; j++ )
-        	      {
-        	      reader.ReadInt16(); // State id
-                TInt numberOfIcons = reader.ReadInt16();	        	
-        	      for ( TInt jj = 0; jj < numberOfIcons; jj++ )
-                    {
-        		    for ( TInt jjj = CAknIndicatorContainer::ELayoutModeUsual; 
-                      jjj <= CAknIndicatorContainer::ELayoutModeWide; jjj++ )
-        	              {
-        	              reader.ReadInt16(); // bitmap
-        	              reader.ReadInt16(); // mask
-        			  }
-        	          }        	
-        	      }
-        	  }
-        }
-    
-    CleanupStack::PopAndDestroy(); // reader
-
-    return ret;  
-    }     
-
-void CAknFepPluginManager::UpdateITUTIndicator()    
-    {
-    if ( EPluginInputModeItut != PluginInputMode() )
-        {
-        return;
-        }
-        
-    TInt indicatorImgID;
-    TInt indicatorTextID;
-    
-    if (iFepMan.GetIndicatorImgID(indicatorImgID, indicatorTextID))   
-        {
-        iIndicatorImgID = indicatorImgID;
-        iIndicatorTextID = indicatorTextID;
-        }
-        TInt indImgid = 0;
-        TInt indMaskid = 0; 
-
-        TInt textImgid = 0;
-        TInt textMaskid = 0; 
-
-    if (iIndicatorImgID > 0)
-        {
-        GetIndicatorImgID(iIndicatorImgID ,indImgid, indMaskid);
-        }
-    
-    if (iIndicatorTextID > 0)
-        {
-        GetIndicatorImgID(iIndicatorTextID ,textImgid, textMaskid);
-        }
-        
-    if (iIndicatorImgID != 0 || iIndicatorTextID != 0)
-        {
-        TFepIndicatorInfo indicator;
-        
-        indicator.iIndicatorImgID = indImgid;
-        indicator.iIndicatorMaskID = indMaskid;
-        indicator.iIndicatorTextImgID = textImgid;
-        indicator.iIndicatorTextMaskID = textMaskid;
-        TRAP_IGNORE(iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputFingerMatchIndicator, 
-            reinterpret_cast<TInt>(&indicator)));    
-        }
-   }
-
-void CAknFepPluginManager::SetITUTSpellingStateL(TBool aState)
-    {
-    if (aState)
-        {
-        iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputFingerSpelling, 1);
-
-        HBufC* titleStr = StringLoader::LoadL(R_AKNFEP_PROMPT_TEXT);                          
-        CleanupStack::PushL(titleStr);
-
-        TFepPromptText promptText;
-        promptText.iLines = 1;
-        TPtr16 canDes = titleStr->Des();
-        promptText.iText.Set(canDes);
-
-        promptText.iCleanContent = EFalse;
-        iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputSetPromptText,
-            reinterpret_cast<TInt>(&promptText));
-
-        CleanupStack::PopAndDestroy(titleStr);
-        }
-    else
-        {
-        TPtr offPromot(NULL, 0);
-        TFepPromptText promptText;
-        
-        promptText.iLines = 1;
-        promptText.iText.Set(offPromot);
-        promptText.iCleanContent = EFalse;
-        
-        iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputSetPromptText,
-            reinterpret_cast<TInt>(&promptText));
-            
-        iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputFingerSpelling, 0);
-        }
-    }
-
-void CAknFepPluginManager::DisplaySpellEditor(const TInt aEditorFlag, 
-                                              const TDesC& aInitText, 
-                                              TCursorSelection aCurSel)
-    {
-    TRAP_IGNORE(DisplaySpellEditorL(aEditorFlag, aInitText, aCurSel));
-    }
-void CAknFepPluginManager::DisplaySpellEditorL(const TInt aEditorFlag, 
-                                              const TDesC& aInitText, 
-                                              TCursorSelection aCurSel)
-    {
-    TInt editorFlag = 0;
-    TInt editorCase = 0;
-    TInt editorSCTResId = 0;
-    
-    if (aEditorFlag)
-	   { 
-	   editorFlag = aEditorFlag;	     
-	   }
-       
-    editorCase = iCaseMan.CurrentCase();
-        
-    if( iFepMan.EditorState()->Flags() & EAknEditorFlagLatinInputModesOnly )
-        {
-        editorFlag = editorFlag | EAknEditorFlagLatinInputModesOnly;
-        }
-        
-    if (FeatureManager::FeatureSupported(KFeatureIdJapanese))
-        {
-        editorFlag = editorFlag | EAknEditorFlagLatinInputModesOnly;
-        }
-    
-    editorSCTResId = iFepMan.EditorState()->SpecialCharacterTableResourceId();
-    
-    if (FeatureManager::FeatureSupported(KFeatureIdChinese))
-        {
-        if (!editorSCTResId || editorSCTResId == R_AVKON_SPECIAL_CHARACTER_TABLE_DIALOG)
-            {
-            editorSCTResId = R_AVKON_SPECIAL_CHARACTER_TABLE_DIALOG_CHINESE;
-            }
-        }
-    else if (!editorSCTResId)
-        {
-        editorSCTResId = R_AVKON_SPECIAL_CHARACTER_TABLE_DIALOG;
-        }
- 
-    delete iSpell;
-    iSpell = NULL;
-    iSpellCba = ESpellCBACancelEmpty;
-    iSpellOn = ETrue;
-    iSpell = CAknFepUiSpellContainer::NewL(editorFlag, editorCase, editorSCTResId);
-   
-    iSpell->SetInputWinObserver(this);
-   
-    iSpell->InputPane()->SetInputWinTextL(&aInitText);
-    iSpell->InputPane()->InputWin()->SetSelectionL(aCurSel.iCursorPos, aCurSel.iAnchorPos);
-    AddWinToOpenListL( iSpell->DrawableWindow() );
-    }    
-
-void CAknFepPluginManager:: DestroySpellEditor()
-    {
-    iSpellOn = EFalse;
-    iSpellCba = ESpellCBANone;
-    delete iSpell;
-    iSpell = NULL;
-    }
-
-HBufC*  CAknFepPluginManager::SpellTextInput()
-    {
-    HBufC* textInput = NULL;
-    if (iSpell)
-        {
-        TRAP_IGNORE(textInput = iSpell->InputPane()->InputWin()->GetTextInHBufL());
-        return textInput;    
-        }
-    
-    return NULL;    
-    }
-
-void CAknFepPluginManager::HandleEdwinEventL( CEikEdwin* /*aEdwin*/, 
-                                              TEdwinEvent aEventType )
-    {
-    if (aEventType == EEventTextUpdate)
-        {
-        TInt textLength = 0;
-        HBufC* text = SpellTextInput(); 
-        
-        if (text)
-            {
-            CleanupStack::PushL(text);
-            textLength = text->Length();
-            CleanupStack::PopAndDestroy(text); 
-            }
-        
-        if ( textLength == 0 && 
-            iSpellCba == ESpellCBAOkCancel)
-            {
-            iSpellCba = ESpellCBACancelEmpty;
-            iFepMan.UpdateCbaL(NULL);
-            }
-            
-        if (textLength > 0 && 
-            iSpellCba == ESpellCBACancelEmpty)
-            {
-            iSpellCba = ESpellCBAOkCancel;
-            iFepMan.UpdateCbaL(NULL);
-            }
-        }
-    }
-
-TInt CAknFepPluginManager::GetSoftKeyResID()
-    {
-    TInt resId = 0;
-    switch (iSpellCba)
-        {
-        case ESpellCBACancelEmpty:
-            {
-            resId = R_AKNFEP_SOFTKEYS_FINGER_CANCEL;
-            }
-         break;
-        case ESpellCBAOkCancel:
-            {
-            resId = R_AKNFEP_SOFTKEYS_FINGER_OK_CANCEL;
-            }
-        case ESpellCBANone:
-        default:
-            {
-            break;
-            }
-        }
-        
-    return resId;
-    }
-
-void CAknFepPluginManager::SetPromptText( TBool aCleanContent )
-    {
-    if (IsDimed() && !iResourceChange) 
-        { 
-        return;  
-        } 
-        
-    MCoeCaptionRetrieverForFep* capRetrieve = NULL;
-    if ( iFepMan.FepAwareTextEditor() )
-        {
-        capRetrieve = iFepMan.InputCapabilities().CaptionRetrieverForFep();
-        }
-    TFepPromptText promptText;
-    promptText.iLines = 1;
-    promptText.iCleanContent = aCleanContent;
-    
-    if (capRetrieve)
-        {
-        TBuf<100> caption;
-        caption.Zero();
-        capRetrieve->GetCaptionForFep(caption);
-        promptText.iText.Set(caption);
-        iPreCaption.Close();
-        iPreCaption.Create(caption.Length());
-        iPreCaption.Append(caption);
-        }  
-    else
-        {
-        promptText.iText.Set(KNullDesC);
-        if ( IsDimed() )
-            {
-            promptText.iText.Set(iPreCaption);
-            }
-	    else
-			{
-			iPreCaption.Close();
-			}
-        }    
-
-    TRAP_IGNORE(iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputSetPromptText,
-                                                         reinterpret_cast<TInt>(&promptText)));        
-    }
-
-void CAknFepPluginManager::SetIcfAlignment()
-    {
-	// Modify for bug ELZG-7WZC35 begin
-    // fix TINA-7HNEKA, spell editor is not really background editor.
-    //if ( iSpellOn )
-    //    {
-    //    return;
-    //    }
-	// Modify for bug ELZG-7WZC35 end
-    
-    TUint cap = iFepMan.ExtendedInputCapabilities();
-
-    TInt alignment = EAknEditorAlignNone;
-
-    if (cap & CAknExtendedInputCapabilities::EInputEditorAlignCenter)
-        {
-        alignment = EAknEditorAlignCenter;
-        }
-    else if (cap & CAknExtendedInputCapabilities::EInputEditorAlignRight)
-        {
-        alignment = EAknEditorAlignRight;
-        }
-    else if (cap & CAknExtendedInputCapabilities::EInputEditorAlignBidi)
-        {
-        alignment = EAknEditorAlignBidi;
-        }
-    else if (cap & CAknExtendedInputCapabilities::EInputEditorAlignLeft)
-        {
-        alignment = EAknEditorAlignLeft;
-        }
-	// Modify for bug ELZG-7WZC35 begin
-    else
-        {
-        alignment = iAlignment;
-        }
-    // Modify for bug ELZG-7WZC35 end
-		
-    TRAP_IGNORE(iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputSetTextAlignment,
-                                                         alignment));
-														 
-	// Modify for bug ELZG-7WZC35 begin
-    iAlignment = alignment;
-    // Modify for bug ELZG-7WZC35 end
-    }
-    
-void CAknFepPluginManager::HasNoFreeSpace()
-	{
-    if ( iCurrentPluginInputFepUI &&
-         EPluginInputModeItut == PluginInputMode() )
-        {
-        TRAP_IGNORE(iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputNoFreeSpace));
-        }		
-	}
-    
-// ---------------------------------------------------------------------------
-// CAknFepPluginManager::PluginInputMode
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//           
-TPluginInputMode CAknFepPluginManager::PluginInputMode()
-    {
-    if( iPluginInputMode != EPluginInputModeNone && IsCurrentWindInOpenList() )
-        {
-        return iPluginInputMode;            
-        }
-
-    return EPluginInputModeNone;
-    }
-    
-void CAknFepPluginManager::AddCurrentWinToOpenListL()
-    {
-    AddWinToOpenListL( GetFocusWindow() );
-    }
-
-void CAknFepPluginManager::AddWinToOpenListL( RDrawableWindow* aWin)
-    {
-    /*if( aWin )
-        {
-        iLastFocusedWin = (TInt )aWin;
-        if( iOpenWindowList.Find( (TInt)aWin ) == KErrNotFound )
-            {
-            iOpenWindowList.AppendL( (TInt)aWin );    
-            }
-        
-        }    
-      */  
-     if( aWin )
-        {
-        iLastFocusedWin = aWin->WsHandle();
-        if( iOpenWindowList.Find( aWin->WsHandle() ) == KErrNotFound )
-            {
-            iOpenWindowList.AppendL( aWin->WsHandle() );    
-            }
-        
-        }    
-
-    }
-
-void CAknFepPluginManager::RemoveCurrentWinFromOpenList()
-    {
-    RDrawableWindow* win = GetFocusWindow();
-    if( win )
-        {
-        TInt index = iOpenWindowList.Find( win->WsHandle() );
-        if( index !=  KErrNotFound )
-            {
-            iOpenWindowList.Remove( index );           
-            }
-        }     
-    }
-
-void CAknFepPluginManager::RemoveLastFocusedWinFromOpenList()
-    {
-    TInt index = iOpenWindowList.Find( iLastFocusedWin );
-    if( index !=  KErrNotFound )
-        {
-        iOpenWindowList.Remove( index );           
-        }
-    iLastFocusedWin = 0;
-
-    }
-
-TBool CAknFepPluginManager::IsCurrentWindInOpenList()
-    {
-    // When touch ui is activated, its associated focus window is inserted into iOpenWindowList.
-    // When focus go back to the associated window, touch ui is activated automatically if the window is iOpenWindowList. 
-    if ( IsDimed() )
-        {
-        return ETrue;
-        }
-    RDrawableWindow* win = GetFocusWindow();       
-    if( win )
-        {
-        return iOpenWindowList.Find( win->WsHandle() ) != KErrNotFound;
-        }
-    return EFalse;
-    }
-
-TBool CAknFepPluginManager::ExistInlineText()
-	{
-	return ( iFepMan.WesternPredictive() && 
-        iFepMan.IsFlagSet( CAknFepManager::EFlagInsideInlineEditingTransaction ) && 
-        !iFepMan.IsFlagSet( CAknFepManager::EFlagInsideMultitapInlineEditingTransaction )&&
-        iFepMan.UncommittedText().Length() > 0 );
-	}
-	
-void CAknFepPluginManager::UpdateCaseMode()
-	{
-	if (iPreviousCoseMode != iCaseMan.CurrentCase())
-		{
-		iPreviousCoseMode =iCaseMan.CurrentCase();
-		
-		if (EPluginInputModeNone == PluginInputMode())
-			{
-			return;	
-			}
-	
-		TRAP_IGNORE(iCurrentPluginInputFepUI->HandleCommandL(ECmdPenInputCaseMode, 
-		                                                     iCaseMan.CurrentCase()));	
-		UpdateITUTIndicator();
-		}	
-	}
-
-void CAknFepPluginManager::AdjustDataCase( TDes& aData )
-		{
-		if( iCaseMan.CurrentCase() == EAknEditorLowerCase  )
-    		{
-    		aData.LowerCase();
-    		}
-		else if( iCaseMan.CurrentCase() == EAknEditorUpperCase )
-    		{
-            if( iCaseMan.IsInverseCase() )
-                {
-                iCaseMan.SetInverseCase( EFalse );
-                aData.LowerCase();
-                return;
-                }
-            for( TInt i = 0; i<aData.Length(); i++ )
-	   			{
-	   			if ( aData[i] != 0x03C2 ) //fix CSTI-7THJR2, final sigma exists in capslock mode
-	   				{
-	   				aData.UpperCase();
-	   				}
-    			}
-    		}
-		}
-		
-TBool CAknFepPluginManager::IsDimArrowKeys()
-    {
-    TBool cursorDisabled = IsEditorCursorDisabled(); 
-    return cursorDisabled || iFepMan.IsFindPaneEditor(); 
-    }
-    
-void CAknFepPluginManager::DimAllModeAndCase(CAknFepUiInterfaceMenuPane* aMenuPane)
-    {
-    aMenuPane->SetItemDimmed(EChinFepCmdModeStroke, ETrue);    
-    aMenuPane->SetItemDimmed(EChinFepCmdModeZhuyin, ETrue);    
-    aMenuPane->SetItemDimmed(EChinFepCmdModePinyin, ETrue);    
-    aMenuPane->SetItemDimmed(EAknCmdEditModeLatinText, ETrue);     
-    aMenuPane->SetItemDimmed(EChinFepCmdModeLatinUpper, ETrue); 
-    aMenuPane->SetItemDimmed(EChinFepCmdModeLatinLower, ETrue);         
-    }
-    
-void CAknFepPluginManager::LaunchHelpL()
-    {
-    TCoeHelpContext context;
- 
-    switch (PluginInputMode())
-        {
-        case EPluginInputModeItut:
-            {
-            context.iContext = KVITU_HLP_MAIN_VIEW;    
-            }
-        break;
-		case EPluginInputModeFingerHwr:
-        case EPluginInputModeHwr:
-        case EPluginInputModeFSc:
-            {
-            context.iContext = KHWR_HLP_MAIN_VIEW;    
-            }
-        break;        
-        case EPluginInputModeVkb:
-        case EPluginInputModeFSQ:
-            {
-            context.iContext = KVQWERTY_HLP_MAIN_VIEW;    
-            }
-        break;        
-        default:
-            {
-            return;   
-            }
-        }
-
-    context.iMajor =  KAknfepUID;
-   
-    CArrayFixFlat<TCoeHelpContext>* array = new(ELeave)CArrayFixFlat<TCoeHelpContext>(1);
-    array->AppendL( context );
-    HlpLauncher::LaunchHelpApplicationL(CCoeEnv::Static()->WsSession(),array);                    
-    }
-
-TInt CAknFepPluginManager::RepeatStringFromLeft(const TDesC& aSubmitData, TDes& aEditorData)
-    {
-    TInt index = 0;
-    TInt ret = KErrNotFound;
-    for (; index < aEditorData.Length(); index++ )
-        {
-        //aSubmitData.CompareC( aEditorData.Left(index + 1)) < 0
-        ret = aSubmitData.Find( aEditorData.Left(index + 1)); 
-        if ( ret != index )
-            {            
-            break;
-            }
-	}
-    return ( aEditorData.Length() < aSubmitData.Length() ) ? index : 0;
-    } 
-      
-TBool CAknFepPluginManager::IsGlobleNotes()
-    {
-    TUid appId = GetCurAppUid();
-    TUid focusAppId = GetFocusAppUid();    
-    
-    if(IsGlobalNotesApp(appId) || IsGlobalNotesApp(focusAppId))
-        {
-        return ETrue;				
-        }   
-     
-     return EFalse;
-     }
-    
-
-    								  
-void CAknFepPluginManager::SetMenuState(TBool aUpdateEditor)
-    {
-    if(!iPenInputSvrConnected ) 
-        {
-        return;
-        }    	
-
-    if (!(PluginInputMode() == EPluginInputModeItut ||
-        PluginInputMode() == EPluginInputModeFSQ ||
-        PluginInputMode() == EPluginInputModeFingerHwr))
-        {
-        return;
-        }
-
-    //save current Fep aware editor
-    if (aUpdateEditor && !iInMenu)
-        {
-        if(iFepMan.FepAwareTextEditor())
-            iCurEditor = iFepMan.FepAwareTextEditor();    
-        else
-            iCurEditor = NULL;            
-        }
-        
-    iInMenu = ETrue;
-
-    TUid curApp = GetCurAppUid();
-    iPenInputServer.SetGlobalNotes( IsGlobalNotesApp(curApp) && 
-                                    !iInGlobleNoteEditor);
-    iPenInputServer.SetInternalPopUp(ETrue);
-    
-    iPenInputServer.SetEditorPriority(iEditorPriority);
-    iPenInputServer.DimUiLayout(ETrue); //dim the ui    
-    }
-    
-void CAknFepPluginManager::ResetMenuState(TBool aUnDim)    
-    {
-    if(!iPenInputSvrConnected ) 
-        {
-        return;
-        }    	
-    	
-    iInMenu = EFalse;
-    iCurEditor = NULL;
-    if (aUnDim)
-        {
-        iPenInputServer.SetInternalPopUp(EFalse);
-        iPenInputServer.DimUiLayout(EFalse);       
-        }
-    }
-    
-TBool CAknFepPluginManager::IsDimed()
-    {
-    if(!iPenInputSvrConnected ) 
-        {
-        return EFalse;
-        }    
-    return iPenInputServer.IsDimmed();    
-    }
-void CAknFepPluginManager::HandleiDimGainForeground(TBool aGain)
-    {
-    if (aGain)
-        {
-        iDimGainForeground = ETrue;
-        }
-    else
-        {
-        if (iDimGainForeground)
-            {
-            TUid focusAppId = GetFocusAppUid();
-
-            if(iInMenu &&
-               !(focusAppId.iUid == KAknCapServerUid || 
-                focusAppId.iUid == KAknNotifySrvUid  ||
-                focusAppId.iUid == KAknScreenServerUid ) &&
-               focusAppId != GetCurAppUid() )
-                {
-                iDimGainForeground = EFalse;
-                if (iPenInputSvrConnected)
-                    {
-                    iPenInputServer.SetResourceChange(EFalse);    
-                    }
-                
-                TRAP_IGNORE( ClosePluginInputUiL(ETrue) );
-                if(iPenInputSvrConnected ) //lost foreground
-                    {
-                    iPenInputServer.LoseForeground();
-                    }  
-                iPenInputServer.ClearTouchUI();
-                }
-            }
-        }
-    }
-    
-/*
-#ifdef RD_TACTILE_FEEDBACK
-TBool CAknFepPluginManager::VKBIsOpened()
-	{
-	return (iPenInputSvrConnected && iPenInputServer.IsVisible() && !iPenInputServer.IsDimmed());
-	}
-#endif // RD_TACTILE_FEEDBACK	
-*/
-    
-#ifdef RD_SCALABLE_UI_V2
-void CAknFepPluginManager::SetCursorVisibility(TBool aVisibility, TBool aReportPlugin)
-    {
-    iCursorVisibility = aVisibility;
-
-    if (aReportPlugin)
-        {
-        SyncFepAwareText();
-        }
-    }
-#endif // RD_SCALABLE_UI_V2
-
-void CAknFepPluginManager::InformMfneUiStatusL( TBool aOpened )
-    {
-    if ( iMfne && iMfneChanged )
-        {
-        //make the selection longer than maximum length of current 
-        //text, so it won't change the behavior of MFNE editor which 
-        //doesn't support finger touch.
-        TInt cursor( iMfne->DocumentLengthForFep() + 1 );
-        TInt anchor( 0 );
-        if ( aOpened )
-            {            
-            anchor = cursor;
-            }
-        iMfne->SetCursorSelectionForFepL( 
-            TCursorSelection( cursor, anchor ) );        
-        }
-    if ( !aOpened )
-        {
-        iMfne = NULL;
-        }
-    }
-
-void CAknFepPluginManager::UpdatePredicState()
-    {
-    if(!iSharedData.QwertyInputMode() && iFepMan.InputMode() == ELatin)
-        {
-        if ( iPluginInputMode != EPluginInputModeItut
-            // Add this condition for addition of ITI features on FSQ
-            && !IsSupportITIOnFSQ() )
-            {
-            if( iSharedData.PredictiveTextOn())
-                {
-                iFepMan.SetWesternPredictive(EFalse);
-                TRAP_IGNORE( iFepMan.TryCloseUiL() );
-                iT9UsedBeforePluginInput = ETrue;
-                }
-            }
-        }  
-
-    if(iSharedData.PredictiveTextAutoCompleteOn()
-        // Add this condition for addition of ITI features on FSQ
-       && !IsSupportITIOnFSQ() )
-        {
-        iFepMan.SetWesternAutoComplete(EFalse);
-        iAutoCompBeforePluginInput = ETrue;
-        iSharedData.ResetPredictiveTextAutoCompleteOn();
-        }
-    }
-    
-TBool CAknFepPluginManager::NotifyInGlobalNoteEditorL()
-	{
-	TUid curAppId = GetCurAppUid();
-	iInGlobleNoteEditor = IsGlobalNotesApp(curAppId) ? ETrue:EFalse;
-	if (iCurrentPluginInputFepUI)
-		{
-		iCurrentPluginInputFepUI->HandleCommandL( 
-		    ECmdPenInputEnableSettingBtn, !iInGlobleNoteEditor);
-		}
-		
-    //if it's in global notes, show it.
-    if(EPluginInputModeItut == PluginInputMode() ||
-       EPluginInputModeFSQ == PluginInputMode() )      
-		{
-		if(iInGlobleNoteEditor && iPenInputSvrConnected)
-			{
-			iPenInputServer.ActivatePeninputInNotesL();
-	        return ETrue;	
-			}
-		}   
-    return EFalse;              
-	}
-	
-// ---------------------------------------------------------------------------
-// Get the correct indicator for VKB
-// ---------------------------------------------------------------------------
-//     
-TAknEditingState CAknFepPluginManager::VKBIndicatorState
-                                                ( TAknEditingState aOldState )
-    {      
-    if ( !IsChineseIndicator( aOldState ) ) 
-        {
-        return aOldState;
-        }
-    TAknEditingState editingState = EStateNone; 
-    switch ( iSharedData.DefaultOnScreenVKB() )
-        {
-        case EPinyin:
-            {
-            editingState = EIndicatorStatePinyinPhrase;
-            break;
-            }
-        case EStroke:
-            {
-            if ( iSharedData.PenInputLanguage() == ELangPrcChinese )
-                {
-                editingState = EIndicatorStateStrokePhrase;
-                }
-            else
-                {
-                editingState = EIndicatorStateStrokeTradPhrase;
-                }
-            break;
-            }
-        case EZhuyin:
-            {            
-            editingState = EIndicatorStateZhuyinPhrase;
-            break;
-            }
-        case ECangJie:
-            {            
-            editingState = EIndicatorStateCangJie;
-            break;
-            }
-        default:
-            {
-            editingState = aOldState;
-            }            
-        }        
-    return editingState;
-    }
-
-void CAknFepPluginManager::ClosePeninputSetting()
-    {
-//    if ( iGsInterface )
-//        {
-//        delete iGsInterface;
-//        iGsInterface = NULL;
-//        }
-    }
-
-// ---------------------------------------------------------------------------
-// Show tooltip on FSQ to show the best guess word shown inline.
-// ---------------------------------------------------------------------------
-// 
-void CAknFepPluginManager::ShowTooltipOnFSQL( TInt aSecondaryIdx )
-    {
-    if ( aSecondaryIdx < 0  
-    		|| !iCurrentPluginInputFepUI 
-    		|| !EnableITIOnFSQ() 
-    		|| !( iFepMan.EditorState() )
-    		|| (iFepMan.EditorState()->Flags() & EAknEditorFlagEnablePartialScreen)
-    		)
-        {
-        iTooltipOpenOnFSQ = EFalse;
-        return;
-        }
-    
-	CDesCArray* candidates = new ( ELeave ) CDesCArrayFlat( KDefaultCandidateArraySize );
-	CleanupStack::PushL( candidates );
-	TInt activeIdx = KErrNotFound;
-	iFepMan.GetCandidatesL( *candidates, activeIdx );
-	if ( aSecondaryIdx < candidates->Count() )
-		{
-		TPtrC aText = ( *candidates )[ aSecondaryIdx ];
-
-	    TFepITITooltipText tooltipText;
-	    tooltipText.iDataSize = aText.Size();
-	    tooltipText.iText.Set( aText );    
-	    TPtrC tooltipTextPtr;
-	    tooltipTextPtr.Set( aText );    
-	    iCurrentPluginInputFepUI->HandleCommandL( ECmdPenInputPopupTooltip, 
-	                                reinterpret_cast<TInt>( &tooltipTextPtr ) );
-	    
-	    iTooltipOpenOnFSQ = ETrue;		
-		}
-	else
-		{
-		iTooltipOpenOnFSQ = EFalse;
-		}
-    
-    CleanupStack::PopAndDestroy( candidates );
-    }
-
-// ---------------------------------------------------------------------------
-// Hide tooltip on FSQ if necessary.
-// ---------------------------------------------------------------------------
-// 
-void CAknFepPluginManager::HideTooltipOnFSQL()
-    {
-    if ( !iCurrentPluginInputFepUI || !EnableITIOnFSQ() || !iTooltipOpenOnFSQ )
-        {
-        return;
-        }
-
-    iCurrentPluginInputFepUI->HandleCommandL( ECmdPenInputHideTooltip );
-    iTooltipOpenOnFSQ = EFalse;
-    }
-
-// --------------------------------------------------------------------------- 
-// Show candidate list
-// --------------------------------------------------------------------------- 
-//  
-void CAknFepPluginManager::ShowCandidateListL
-                                      ( TFepITICandidateList aCandidateList )
-    {
-    if ( !iCurrentPluginInputFepUI )
-        {
-        return;       
-        }
-    HideTooltipOnFSQL();
-    iCurrentPluginInputFepUI->HandleCommandL( ECmdPenInputPopupCandidateList,
-                                reinterpret_cast<TInt>( &aCandidateList ) );    
-    }
-
-// --------------------------------------------------------------------------- 
-// Hide candidate list.
-// --------------------------------------------------------------------------- 
-//  
-void CAknFepPluginManager::HideCandidateListL()
-    {    
-    if ( !iCurrentPluginInputFepUI )
-        {
-        return;       
-        }
-    iCurrentPluginInputFepUI->HandleCommandL( ECmdPenInputHideCandidateList );    
-    }
-
-
-// --------------------------------------------------------------------------- 
-// Commit candidate word on FSQ. 
-// --------------------------------------------------------------------------- 
-//  
-void CAknFepPluginManager::CommitCandidateWordOnFSQL( TInt aIndex )
-    {
-    iFepMan.PtiEngine()->HandleCommandL( 
-							EPtiCommandUserActionSetCurrentIndexOfCandidates, 
-                            &aIndex ); 
-    TPtrC selectedWord = iFepMan.PtiEngine()->CurrentWord();
-    iFepMan.UpdateInlineEditL( selectedWord, selectedWord.Length() );
-    iFepMan.PtiEngine()->CommitCurrentWord();
-    iFepMan.CommitInlineEditL();
-    }
-
-TBool CAknFepPluginManager::IsChineseIndicator( TAknEditingState aOldState )
-    {
-    return aOldState == EIndicatorStatePinyinPhrase
-           || aOldState == EIndicatorStateStrokePhrase
-           || aOldState == EIndicatorStateStrokeTradPhrase
-           || aOldState == EIndicatorStateZhuyinPhrase
-           || aOldState == EIndicatorStateCangJie
-           || aOldState == EIndicatorStateZhuyinFind
-           || aOldState == EIndicatorStateStrokeFind;
-    }
-    
-// --------------------------------------------------------------------------- 
- // Test if editor has EEikEdwinAvkonDisableCursor flag. 
- // --------------------------------------------------------------------------- 
- //  
- TBool CAknFepPluginManager::IsEditorCursorDisabled() 
-     { 
-     CAknEdwinState* editorState = iFepMan.EditorState(); 
-     if ( !editorState ) 
-         { 
-         return EFalse; 
-         } 
-      
-     TInt flags = editorState->Flags();         
-     return ( flags & EEikEdwinAvkonDisableCursor ) == EEikEdwinAvkonDisableCursor; 
-     } 
-
-// --------------------------------------------------------------------------- 
-// Check if the cusror in editor is visible. 
-// --------------------------------------------------------------------------- 
-//  
-TBool CAknFepPluginManager::IsEditorCursorVisible()
-    {
-    CAknEdwinState* editorState = iFepMan.EditorState(); 
-    if ( !editorState ) 
-         { 
-         return EFalse; 
-         }
-     return ( editorState->Flags() & EAknEditorFlagTextCursorVisible )      
-            == EAknEditorFlagTextCursorVisible;
-    }
-
-// --------------------------------------------------------------------------- 
-// Check if curor selection in editor is visible.
-// --------------------------------------------------------------------------- 
-//  
-TBool CAknFepPluginManager::IsEditorCursorSelVisible()
-    {
-     CAknEdwinState* editorState = iFepMan.EditorState(); 
-     if ( !editorState ) 
-         { 
-         return EFalse; 
-         }
-     return ( editorState->Flags() & EAknEditorFlagSelectionVisible )      
-            == EAknEditorFlagSelectionVisible;
-    }
-        
-// --------------------------------------------------------------------------- 
-// Check if ITI features is enabled when FSQ is opened.
-// --------------------------------------------------------------------------- 
-//  
-TBool CAknFepPluginManager::EnableITIOnFSQ()
-    {
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    if ( IsSupportITIOnFSQ()         
-         && iFepMan.IsQwerty()
-         && iFepMan.WesternPredictive() )
-        {
-        return ETrue;    
-        }
-    return EFalse;
-#else
-    return EFalse;
-#endif // RD_INTELLIGENT_TEXT_INPUT
-    }
-
-// -----------------------------------------------------------------------------
-// Check if ITI can be supported by FSQ..
-// -----------------------------------------------------------------------------
-//    
-TBool CAknFepPluginManager::IsSupportITIOnFSQ()
-    {
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    if ( iPluginInputMode == EPluginInputModeFSQ
-         // Exclude non Latin mode 
-         && iFepMan.InputMode() == ELatin
-         // Exclude accent range
-         && ( iPluginPrimaryRange == ERangeNative 
-              || iPluginPrimaryRange == ERangeEnglish
-              // iPluginPrimaryRange == 0 is the default range, 
-              // default range couldn't be accent. 
-              || !iPluginPrimaryRange )
-         && iFepMan.InputLanguageCapabilities().iSupportsWesternQwertyPredictive
-         && !iSharedData.QwertyInputMode() )
-        {
-        return ETrue;
-        }        
-#endif
-    return EFalse;
-    }
-
-// --------------------------------------------------------------------------- 
-// Get scan code from hw keymapping.
-// --------------------------------------------------------------------------- 
-//  
-TInt CAknFepPluginManager::GetScanCodeFromHwKeymapping( TUint aKeyCode )
-    {
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    CPtiCoreLanguage *lang = static_cast<CPtiCoreLanguage*>
-                                   ( iFepMan.PtiEngine()->CurrentLanguage() );
-    MPtiKeyMappings* keymapping = lang->GetQwertyKeymappings();
-    if ( keymapping )
-        {
-        // Save the old input mode
-        TPtiEngineInputMode oldInputMode = iFepMan.PtiEngine()->InputMode();
-        // Change to input mode to EPtiEngineQwertyPredictive, after that
-        // qwerty keymapping can be got
-        iFepMan.PtiEngine()->SetInputMode( EPtiEngineQwertyPredictive );
-        // Find scancode by keycode from qwerty keymapping
-        TInt retKey = keymapping->KeyForCharacter( aKeyCode );
-        // Restore the old input mode
-        iFepMan.PtiEngine()->SetInputMode( oldInputMode );
-        return retKey;
-        }
-    return EPtiKeyNone;
-#else
-    return EPtiKeyNone;
-#endif // RD_INTELLIGENT_TEXT_INPUT
-    }
-
-// --------------------------------------------------------------------------- 
-// Check if those keys are IIT-supported keys.
-// --------------------------------------------------------------------------- 
-//  
-TBool CAknFepPluginManager::IsITISupportedKey( const TKeyEvent& aKeyEvent )
-    {
-// ITI supported conditions
-// 1. scan code != EPtiKeyNone
-// 2. Basic alpha characters
-// 3. 
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    if ( aKeyEvent.iScanCode != EPtiKeyNone 
-         && ( iPluginPrimaryRange == ERangeNative 
-              || iPluginPrimaryRange == ERangeEnglish
-              || ( iPluginPrimaryRange == 0 && iFepMan.InputMode() != ENumber 
-                   && iFepMan.InputMode() != ENativeNumber) )
-         && ( TChar( aKeyEvent.iCode ).IsAlpha() || IsDeadKeyCode( aKeyEvent.iCode ) ) 
-          )
-        {
-        return ETrue;
-        }
-    return EFalse;
-#else
-    return EFalse;
-#endif // RD_INTELLIGENT_TEXT_INPUT
-    }
-    
-TPtiTextCase CAknFepPluginManager::CaseForMappedCharacter(TChar aCharacter)
-    {
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    const TInt KDefaulCoreMaximumWordLength = 100;
-    TPtiTextCase casesTOCheckAgainst[KNumberOfCases] ={  EPtiCaseLower, EPtiCaseUpper, 
-                                                      EPtiCaseChrLower, EPtiCaseChrUpper, 
-                                                      EPtiCaseFnLower, EPtiCaseFnUpper };
-    TPtiTextCase caseCalculated = EPtiCaseLower;
-    TBuf<KDefaulCoreMaximumWordLength> mappedCharacters; 
-    TBool isMappingFound = EFalse;
-    TPtiKey key = iFepMan.PtiEngine()->CharacterToKey( aCharacter );
-
-    //It loops through all the key mappings to find the character in the key mappings and
-    //if the character available in the key mapping, fetches the corresponding case.
-    for( TInt i=0; i< KNumberOfCases ; i++)
-        {
-        iFepMan.PtiEngine()->MappingDataForKey( key, mappedCharacters, 
-                                                casesTOCheckAgainst[i] );
-        for( TInt j=0; j < mappedCharacters.Length(); j++ )
-            {
-            if( mappedCharacters[j] == aCharacter )
-                {
-                caseCalculated = casesTOCheckAgainst[i];
-                isMappingFound = ETrue;
-                break;
-                }
-            }
-        if ( isMappingFound )
-        	{
-        	break;
-        	}
-        }
-    //Now if there is no key mapping found for the character, then use the default TChar
-    //APIs to find the case of the character.
-    if( !isMappingFound )
-        {
-        caseCalculated = aCharacter.IsUpper()?EPtiCaseUpper:EPtiCaseLower;
-        }
-    return caseCalculated;
-#else
-    return aCharacter.IsUpper() ? EPtiCaseUpper : EPtiCaseLower;   
-#endif // RD_INTELLIGENT_TEXT_INPUT
-    }
-    
-TBool CAknFepPluginManager::IsNeedToChangeTextCase( const TPtiTextCase& aTextCase )
-    {
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    TPtiTextCase textCase = aTextCase;
-    if( EPtiKeyboardHalfQwerty != iFepMan.PtiEngine()->KeyboardType() )
-		{
-		if ( textCase  == EPtiCaseChrLower )
-			{
-			textCase = EPtiCaseLower;
-			}
-		else if (textCase == EPtiCaseChrUpper)
-			{
-			textCase = EPtiCaseUpper;
-			}
-		}
-    return ( iFepMan.PtiEngine()->Case() == textCase )
-            ? EFalse : ETrue;   
-#else
-    return EFalse;
-#endif // RD_INTELLIGENT_TEXT_INPUT
-    }
-
-// -----------------------------------------------------------------------------
-// Do some configuration to make FSQ support ITI features.
-// -----------------------------------------------------------------------------
-//
-void CAknFepPluginManager::SetItiStateL()
-    {
-    if ( iIsITIConfigured || !IsSupportITIOnFSQ() )
-    	{
-    	return;
-    	}
-    // 1. Config keyboard layout type
-    SetItiKeyboardLayoutL();               
-    
-    // 2. Change FEP to qwerty mode.   
-    iFepMan.SetQwertyMode( ETrue );
-
-    // 3. Notify the activation of ITI on FSQ to peninput server        
-    iCurrentPluginInputFepUI->HandleCommandL( ECmdPeninputITIStatus,
-                                              iFepMan.WesternPredictive() );
-
-    // 4. if there is un-commited text editor, 
-    //    need to setcurrentword to ptiengine again.
-    TInt unCommitedLen = iFepMan.UncommittedText().Length();
-    if ( unCommitedLen > 0 )
-        {
-        HBufC* unCommitedText = HBufC::NewL( unCommitedLen );
-        TPtr unCommitedTextPtr = unCommitedText->Des();        
-        TInt startPos = iFepMan.UncommittedText().LowerPos();
-        MCoeFepAwareTextEditor* edit = iFepMan.FepAwareTextEditor();
-        edit->GetEditorContentForFep( unCommitedTextPtr, 
-                                      startPos, unCommitedLen ); 		
-		iFepMan.PtiEngine()->SetCurrentWord( *unCommitedText );
-		delete unCommitedText;
-		unCommitedText = NULL;
-        }
-    
-    // 5. Set ITI configured flag;
-    iIsITIConfigured = ETrue;
-    }
-
-// -----------------------------------------------------------------------------
-// Restore some configuration after closing FSQ.
-// -----------------------------------------------------------------------------
-//
-void CAknFepPluginManager::ResetItiStateL()
-    {    
-    if ( !iIsITIConfigured )
-    	{
-    	return;
-    	}
-    
-    // Close FSQ then current keyboard type return to the previously-stored one,
-    // 1. The first step is to restore keyboard type, because the value will
-    // be used in iFepMan.SetQwertyMode( EFalse );
-    ResetItiKeyboardLayoutL();
-    
-    // 2. Change FEP to non qwerty mode.
-    iFepMan.SetQwertyMode( EFalse );
-
-    // 3. Notify the deactivation of ITI to peninputserver        
-    iCurrentPluginInputFepUI->HandleCommandL( ECmdPeninputITIStatus, EFalse );    
- 
-    // 4. Clear ITI configured flag;
-    iIsITIConfigured = EFalse; 
-    }
-
-// -----------------------------------------------------------------------------
-// Config keyboard layout for ITI.
-// -----------------------------------------------------------------------------
-//
-void CAknFepPluginManager::SetItiKeyboardLayoutL()
-    { 
-    if ( iLastKeyboardLayout || !IsSupportITIOnFSQ() )
-        {
-        return;
-        }    
-    // 1. Record the previous keyboard type
-    RProperty keyboardLayoutStatusProperty;
-    keyboardLayoutStatusProperty.Get( KCRUidAvkon, KAknKeyBoardLayout, 
-                                          iLastKeyboardLayout );
-
-    // 2. Utilize right qwerty keyboard type
-    TPtiKeyboardType keyboardType = EPtiKeyboardQwerty4x12;
-    RArray<TPtiKeyboardType> supportedKeyboards;
-    CleanupClosePushL( supportedKeyboards );
-    iFepMan.PtiEngine()->KeyboardTypesSupportedByLanguageL
-                    ( iSharedData.PenInputLanguage(), supportedKeyboards );   
-    for ( TInt i = 0; i < supportedKeyboards.Count(); i ++ )
-        {        
-        if ( supportedKeyboards[i] == EPtiKeyboardQwerty4x12 
-             || supportedKeyboards[i] == EPtiKeyboardQwerty3x11
-             || supportedKeyboards[i] == EPtiKeyboardQwerty4x10
-             || supportedKeyboards[i] == EPtiKeyboardCustomQwerty )
-            {
-            keyboardType = supportedKeyboards[i];
-            break;
-            }        
-        }
-    keyboardLayoutStatusProperty.Set( KCRUidAvkon, KAknKeyBoardLayout, 
-                                      keyboardType );
-    CleanupStack::PopAndDestroy( &supportedKeyboards );    
-    }
-// -----------------------------------------------------------------------------
-// Restore keyboard layout after closing FSQ.
-// -----------------------------------------------------------------------------
-//
-void CAknFepPluginManager::ResetItiKeyboardLayoutL()
-    {    
-    if ( !iLastKeyboardLayout || iITISettingDialogOpen )
-    	{
-    	return;
-    	}
-    
-    // Close FSQ then current keyboard type return to the previously-stored one,
-    //Restore keyboard layout type and qwerty mode of FEP        
-    // 1. Store the previous keyboard type, 
-    // except that opening predictive setting dialog cause fsq closed.        
-    RProperty keyboardLayoutStatusProperty;
-    keyboardLayoutStatusProperty.Set( KCRUidAvkon, KAknKeyBoardLayout, 
-                                          iLastKeyboardLayout );
-    iLastKeyboardLayout = 0;        
-    }
-
-// -----------------------------------------------------------------------------
-// Restore predict state.
-// -----------------------------------------------------------------------------
-//
-void CAknFepPluginManager::RestorePredictStateL()
-    {
-    if( iT9UsedBeforePluginInput )
-        {
-        iT9UsedBeforePluginInput = EFalse;
-        iFepMan.SetWesternPredictive(ETrue);
-        iFepMan.TryChangeModeL(ELatin);     
-        }
-    if(iAutoCompBeforePluginInput)
-        {
-        iAutoCompBeforePluginInput = EFalse;
-        iFepMan.SetWesternAutoComplete(ETrue);        
-        iFepMan.TryChangeModeL(ELatin);      
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// Check if the keycode belongs to dead keys.
-// -----------------------------------------------------------------------------
-//
-TBool CAknFepPluginManager::IsDeadKeyCode( TUint aKeyCode )
-	{	
-	for ( TInt i = 0; i < sizeof(KSupportedDeadKeys) / sizeof(TUint); i++ )
-		{
-		if ( aKeyCode == KSupportedDeadKeys[i] )
-			{
-			return ETrue;
-			}
-		}
-	return EFalse;
-	}
- 
-// -----------------------------------------------------------------------------
-// Notify app touch input window closed or open.
-// -----------------------------------------------------------------------------
-//
-void CAknFepPluginManager::NotifyAppUiImeTouchWndState( const TBool aTouchState )
-    {
-    if ( iLangMan.IsSplitView() )
-        {
-        CEikonEnv* eikEnv = CEikonEnv::Static();
-        TUint param = aTouchState ? KAknSplitInputEnabled : KAknSplitInputDisabled;
-        if ( eikEnv && eikEnv->EikAppUi() )
-            {
-            eikEnv->EikAppUi()->ReportResourceChangedToAppL( param );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// Check if current editor support partial screen IMEs
-// -----------------------------------------------------------------------------
-//
-TBool CAknFepPluginManager::IsEditorSupportSplitIme()
-    {
-    //Mfne editors
-    if ( iFepMan.IsMfneEditor() )
-        {
-        TUint caps = iFepMan.ExtendedInputCapabilities();
-        return CAknExtendedInputCapabilities::EInputEditorPartialScreen == 
-                   ( caps & CAknExtendedInputCapabilities::EInputEditorPartialScreen );
-        }
-    
-    //Normal editors
-    CAknEdwinState* state = iFepMan.EditorState(); 
-    if ( state )
-        {
-        return EAknEditorFlagEnablePartialScreen == 
-                   ( state->Flags() & EAknEditorFlagEnablePartialScreen );
-        }
-    
-    return EFalse;
-    }
-
-//End of File
--- a/fep/aknfep/src/AknFepPluginMenuManager.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,173 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the AknFepPluginMenuManager methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#include <coemain.h>
-#include <coeaui.h>
-
-#include "AknFepPluginMenuManager.h" // MAknFepManagerInterface
-#include "AknFepManager.h" 
-
-
-// -----------------------------------------------------------------------------
-// CAknFepPluginMenuManager::NewL
-// factory function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CAknFepPluginMenuManager* CAknFepPluginMenuManager::NewL(CAknFepManager* aManager)
-    {
-    return new(ELeave) CAknFepPluginMenuManager(aManager);
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepPluginMenuManager::~CAknFepPluginMenuManager
-// Destructor
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CAknFepPluginMenuManager::~CAknFepPluginMenuManager()
-    {
-    if( iOptionMenuBar )
-        {
-        iOptionMenuBar->RemoveFromStack();
-        delete iOptionMenuBar;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepPluginMenuManager::aResourceId
-// Show speicfied menu pane
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CAknFepPluginMenuManager::ShowL(TInt aResourceId)
-    {
-    if( !iOptionMenuBar )
-        {
-		iOptionMenuBar = iFepManager->UiInterface()->NewMenuBarL(this, 0, aResourceId);
-        }
-    else
-        {
-        iOptionMenuBar->SetMenuTitleResourceId(aResourceId);
-        }
-
-    if( !iOptionMenuBar->IsDisplayed() )
-        {
-        iOptionMenuBar->AddToStackL(ECoeStackPriorityDialog + 1,
-                                    ECoeStackFlagStandard);
-        iOptionMenuBar->SetMenuType(CAknFepUiInterfaceMenuBar::EMenuOptionsNoTaskSwapper);
-        iOptionMenuBar->TryDisplayMenuBarWithoutFepMenusL();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepPluginMenuManager::IsShowing
-// Get menu show status
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CAknFepPluginMenuManager::IsShowing()
-    {
-    if( iOptionMenuBar )
-        {
-        return iOptionMenuBar->IsDisplayed();
-        }
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepPluginMenuManager::Hide
-// Hide current showed menu
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CAknFepPluginMenuManager::Hide()
-    {
-    if( IsShowing() )
-        {
-        iOptionMenuBar->StopDisplayingMenuBar();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepPluginMenuManager::MenuPaneId
-// Get current menu resource id
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CAknFepPluginMenuManager::MenuPaneId()
-    {
-    if( iOptionMenuBar )
-        {
-        return iOptionMenuBar->FirstMenuPaneResourceId();
-        }
-    return 0;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepPluginMenuManager::SetEmphasis
-// called when menu get or lose focus
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CAknFepPluginMenuManager::SetEmphasis(CBase* aMenuControl, TBool aEmphasis)
-    {
-    if( !aEmphasis && aMenuControl == iOptionMenuBar)
-        {
-        iOptionMenuBar->SetFocus(EFalse);
-		iOptionMenuBar->RemoveFromStack();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepPluginMenuManager::ProcessCommandL
-// Process command user selects
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CAknFepPluginMenuManager::ProcessCommandL(TInt aCommandId)
-    {
-    if( aCommandId == EEikCmdCanceled)
-        {
-        //The command is not sent to FEP
-        Hide();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepPluginMenuManager::MenuPaneId
-// C++ default constructor
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CAknFepPluginMenuManager::CAknFepPluginMenuManager(CAknFepManager* aFepManager)
-:iFepManager(aFepManager)
-    {
-    }
-
-//End Of File
--- a/fep/aknfep/src/AknFepSharedDataInterface.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1730 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       CAknFepSharedDataInterface class
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include <w32std.h>
-#include <eikdef.h>
-#include <eikenv.h>
-#include <AknUtils.h>
-
-#include "AknFepSharedDataInterface.h"
-#include "AknFepManager.h"
-
-#include <centralrepository.h>
-#include <AknFepInternalCRKeys.h>
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-#include <AknFepInternalPSKeys.h>
-#include <AknFepGlobalEnums.h>
-#include <PtiDefs.h>
-#endif
-#include <AvkonInternalCRKeys.h>    // KAknQwertyInputModeActive
-#include <settingsinternalcrkeys.h> //Pen related settings
-#include <sensorplugindomaincrkeys.h> // KCRUidSensorSettings
-
-// TODO: include CommonengineInternalCRKeys.h
-const TUid KCRUidCommonEngineKeys = {0x1020503B};
-const TUint32 KGSDisplayTxtLang = 0x00000001;
-
-const TInt KJapHwrConversion = 0x0010;
-
-#include <AknDef.h>
-
-CAknFepSharedDataInterface* CAknFepSharedDataInterface::NewL(CAknFepManager* aFepManager)
-    {
-    CAknFepSharedDataInterface* self = new (ELeave) CAknFepSharedDataInterface(aFepManager);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(); //self
-    return self;
-    }
-
-
-CAknFepSharedDataInterface::~CAknFepSharedDataInterface()
-    {
-    delete iCommonEngineRepository;
-    delete iAknFepRepositoryWatcher;
-    delete iAknFepLocaleRepositoryWatcher;
-    delete iAknFepRepository;
-    delete iGsPenSettings;
-    delete iLocaleRepository;
-    delete iSensorRepository;
-
-    if (iQwertyModeStatusSubscriber)
-        {
-        iQwertyModeStatusSubscriber->StopSubscribe();
-        }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    if (iKeyboardLayoutStatusSubscriber)
-        {
-        iKeyboardLayoutStatusSubscriber->StopSubscribe();
-        }
-    iKeyboardLayoutStatusProperty.Close();
-    delete iKeyboardLayoutStatusSubscriber;    
-#endif
-    iQwertyModeStatusProperty.Close();
-    delete iQwertyModeStatusSubscriber;
-    }
-
-
-TInt CAknFepSharedDataInterface::PredictiveTextOn()
-    {
-    TInt value = 0;
-    if (iAknFepRepository)
-        {
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        TPtiKeyboardType layout = (TPtiKeyboardType)KeyboardLayout();
-        TInt temp = 0;
-        iAknFepRepository->Get(KAknFepPredTxtFlagExtension, temp);
-        switch(layout)
-            {
-            case EPtiKeyboardNone:
-                break;
-          	case EPtiKeyboard12Key:
-                temp &= EKeyboardStyle12Key;
-                break;
-            case EPtiKeyboardHalfQwerty:
-                temp &= EKeyboardStyleHalfQwerty;
-                break;                
-          	case EPtiKeyboardQwerty4x12:
-          	case EPtiKeyboardQwerty4x10:
-          	case EPtiKeyboardQwerty3x11:          	
-          	case EPtiKeyboardCustomQwerty:
-                temp &= EKeyboardStyleQwerty;
-                break;
-          	default:
-          	    break;
-            }
-        value = ( temp ? 1 : 0);
-#else
-        iAknFepRepository->Get(KAknFepPredTxtFlag, value);
-#endif
-        }
-    return value;
-    }
-
-TInt CAknFepSharedDataInterface::PredictiveTextJapaneseOn()
-    {
-    TInt value = 0;
-    if (iAknFepRepository)
-        {
-        iAknFepRepository->Get(KAknFepJapanesePredTxtFlag, value);
-        }
-    return value;
-    }
-
-TInt CAknFepSharedDataInterface::InputMode()
-    {
-    TUint value = 0;
-    if (iAknFepRepository)
-        {
-   		/* Teleca change begin, 03.07.2008 ssal 
-   			original code:
-		TPtrC filteredPtr(0,0);
-		iAknFepRepository->Get(KAknFepChineseInputMode, value);*/
-		_LIT(Kx, "x");
-		// This conversion is needed because KAknFepChineseInputMode cenrep key original type was 16bit int.
-		// now type is changed to string, so that it can accommodate bigger values like EHangul 0x16000. 
-		TBuf<CAknFepManager::EMaximumFepWordLength> conversion;
-        iAknFepRepository->Get(KAknFepChineseInputMode, conversion);
-       
-       	TInt len = conversion.Find(Kx);
-       	TLex lex;
-       	
-       	if(len)
-       		{
-       		TPtrC ptr = conversion.Mid(len +1);
-       		lex.Assign(ptr);
-       		}
-		else
-			{
-			lex.Assign(conversion);
-			}
-		
-		lex.Val(value, EHex);
-		/* Teleca change end, 04.06.2008 ssal */
-        }
-    return value;
-    }
-
-void CAknFepSharedDataInterface::SetInputMode(TInt aInputMode)
-    {
-    if (iAknFepRepository)
-        {
-        /* Teleca change begin, 03.07.2008 ssal 
-			original code:
-        iAknFepRepository->Set(KAknFepChineseInputMode, aInputMode);*/
-        
-        // Please see the explanation on CAknFepSharedDataInterface::InputMode() method
-		TBuf<CAknFepManager::EMaximumFepWordLength> conversion;
-		conversion.Num(aInputMode, EHex);
-		
-        iAknFepRepository->Set(KAknFepChineseInputMode, conversion);
-      	/* Teleca change end, 04.06.2008 ssal */
-        }
-    }
-
-TInt CAknFepSharedDataInterface::CangJieMode()
-    {
-    TInt value = 0;
-    if (iAknFepRepository)
-        {
-        iAknFepRepository->Get(KAknFepCangJieMode, value);
-        }
-    return value;
-    }
-    
-void CAknFepSharedDataInterface::SetCangJieMode(TInt aNewCangJieMode)
-    {
-    if (iAknFepRepository)
-        {
-        iAknFepRepository->Set(KAknFepCangJieMode, aNewCangJieMode);
-        }
-    }
-
-TInt CAknFepSharedDataInterface::InputTextLanguage()
-    {
-    TInt value = 0;
-    if (iAknFepRepository)
-        {
-        iAknFepRepository->Get(KAknFepInputTxtLang, value);
-        }
-    return TLanguage(value);
-    }
-
-void CAknFepSharedDataInterface::SetInputTextLanguage(TInt aValue)
-    {
-    if (iAknFepRepository)
-        {
-        iAknFepRepository->Set(KAknFepInputTxtLang, aValue);
-        }
-
-    // now inform all open apps of the switch
-    TWsEvent event;
-    event.SetType(KEikInputLanguageChange);
-    CEikonEnv::Static()->WsSession().SendEventToAllWindowGroups(event);
-    }
-
-TInt CAknFepSharedDataInterface::DisplayLanguage()
-    {
-    TInt value = 0;
-    if (iCommonEngineRepository)
-        {
-        iCommonEngineRepository->Get(KGSDisplayTxtLang, value);
-        }
-    return TLanguage(value);
-    }
-
-void CAknFepSharedDataInterface::SetPredictiveTextOn()
-    {
-    if (iAknFepRepository)
-        {
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        TPtiKeyboardType layout = (TPtiKeyboardType)KeyboardLayout();
-        TInt value = 0;
-        iAknFepRepository->Get(KAknFepPredTxtFlagExtension, value);
-        switch(layout)
-            {
-            case EPtiKeyboardNone:
-                // No keyboard active, so don't change anything
-                break;
-          	case EPtiKeyboard12Key:
-                value |= EKeyboardStyle12Key;
-                break;
-            case EPtiKeyboardHalfQwerty:    
-                value |= EKeyboardStyleHalfQwerty;
-                break;             
-          	case EPtiKeyboardQwerty4x12:
-          	case EPtiKeyboardQwerty4x10:
-          	case EPtiKeyboardQwerty3x11:
-          	case EPtiKeyboardCustomQwerty:
-                value |= EKeyboardStyleQwerty;
-                break;
-          	default:
-          	    break;
-            }
-        iAknFepRepository->Set(KAknFepPredTxtFlagExtension, value);
-        // For backwards compatibility
-        if (value & EKeyboardStyle12Key)
-            {
-            iAknFepRepository->Set(KAknFepPredTxtFlag, 1);
-            }
-#else
-        iAknFepRepository->Set(KAknFepPredTxtFlag, 1);
-#endif
-        }
-    }
-
-
-void CAknFepSharedDataInterface::ResetPredictiveTextOn()
-    {
-    if (iAknFepRepository)
-        {
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        TPtiKeyboardType layout = (TPtiKeyboardType)KeyboardLayout();
-        TInt value = 0;
-        iAknFepRepository->Get(KAknFepPredTxtFlagExtension, value);
-        switch(layout)
-            {
-            case EPtiKeyboardNone:
-                // No keyboard active, so don't change anything
-                break;
-          	case EPtiKeyboard12Key:
-                value &= ~EKeyboardStyle12Key;
-                break;
-          	case EPtiKeyboardHalfQwerty:
-                value &= ~EKeyboardStyleHalfQwerty;
-                break;
-          	case EPtiKeyboardQwerty4x12:
-          	case EPtiKeyboardQwerty4x10:
-          	case EPtiKeyboardQwerty3x11:
-          	case EPtiKeyboardCustomQwerty:
-                value &= ~EKeyboardStyleQwerty;
-                break;
-          	default:
-          	    break;
-            }
-        iAknFepRepository->Set(KAknFepPredTxtFlagExtension, value);
-        // For backwards compatibility
-        if (!(value & EKeyboardStyle12Key))
-            {
-            iAknFepRepository->Set(KAknFepPredTxtFlag, 0);
-            }
-#else
-        iAknFepRepository->Set(KAknFepPredTxtFlag, 0);
-#endif
-        }
-    }
-
-void CAknFepSharedDataInterface::SetJapanesePredictiveTextOn()
-    {
-    if (iAknFepRepository)
-        {
-        iAknFepRepository->Set(KAknFepJapanesePredTxtFlag, 1);
-        }
-    }
-
-
-void CAknFepSharedDataInterface::ResetJapanesePredictiveTextOn()
-    {
-    if (iAknFepRepository)
-        {
-        iAknFepRepository->Set(KAknFepJapanesePredTxtFlag, 0);
-        }
-    }
-
-TInt CAknFepSharedDataInterface::PluginInputMode() const
-    {
-    TInt value = 0;
-    if (iAknFepRepository)
-        {
-        iAknFepRepository->Get(KAknFepLastUsedInput, value);
-        }
-    return value;
-    }
-
-void CAknFepSharedDataInterface::SetPluginInputMode(TInt aDevice)
-    {
-    if (iAknFepRepository)
-        {
-        iAknFepRepository->Set(KAknFepLastUsedInput, aDevice);
-        }
-    }
-
-TInt CAknFepSharedDataInterface::PluginUILanguage() const
-    {
-    TInt value = 0;
-    if (iAknFepRepository)
-        {
-        //iAknFepRepository->Create(KAknFepLastUsedUILanguage, 0); //??
-        iAknFepRepository->Get(KAknFepLastUsedUILanguage, value);
-        }
-    return value;
-    }
-
-void CAknFepSharedDataInterface::SetPluginUILanguage(TInt aLanguage)
-    {
-    if (iAknFepRepository)
-        {
-        iAknFepRepository->Set(KAknFepLastUsedUILanguage, aLanguage);
-        }
-    }
-
-void CAknFepSharedDataInterface::SetDefaultNumberMode( TInt aMode, TInt aValue )
-    {
-    if (iLocaleRepository)
-        {
-        iLocaleRepository->Set(aMode, aValue);
-        }
-    }
-
-
-TInt CAknFepSharedDataInterface::PenInputLanguage() const
-    {
-    TInt value = 0;
-    if (iAknFepRepository)
-        {
-        iAknFepRepository->Get(KAknFepInputTxtLang, value);
-        }
-    return value;
-    }
-
-TInt CAknFepSharedDataInterface::ScrollLatinPredictiveCandidates() const
-    {
-    return iSharedDataScrollLatinPredictive;
-    }
-
-TInt CAknFepSharedDataInterface::SpaceWithScrollRight() const
-    {
-    return iSharedDataSpaceWithScrollRight;
-    }
-
-TInt CAknFepSharedDataInterface::EntersWithScrollDown() const
-    {
-    return iSharedDataEnterWithScrollDown;
-    }
-
-TInt CAknFepSharedDataInterface::QwertyInputMode() //const
-    {
-    TInt value = 0;
-    iQwertyModeStatusProperty.Get(value);
-    return value;
-    }
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-TInt CAknFepSharedDataInterface::KeyboardLayout() //const
-    {
-    TInt value = 0;
-    iKeyboardLayoutStatusProperty.Get(value);
-    return value;
-    }
-
-#ifdef FF_DUAL_LANGUAGE_SUPPORT
-TInt CAknFepSharedDataInterface::InputTextLanguageSecondary()
-    {
-    TInt value = 0;
-    if (iAknFepRepository)
-        {
-        iAknFepRepository->Get(KAknFepInputTxtLangSecondary, value);
-        }
-    return TLanguage(value);
-    }
-
-void CAknFepSharedDataInterface::SetInputTextLanguageSecondary(TInt aValue)
-    {
-    if (iAknFepRepository)
-        {
-        iAknFepRepository->Set(KAknFepInputTxtLangSecondary, aValue);
-        }
-
-    // now inform all open apps of the switch
-    // same event as primary input language change
-    TWsEvent event;
-    event.SetType(KEikInputLanguageChange);
-    CEikonEnv::Static()->WsSession().SendEventToAllWindowGroups(event);
-    }
-
-#endif //FF_DUAL_LANGUAGE_SUPPORT
-#endif
-
-CAknFepSharedDataInterface::CAknFepSharedDataInterface(CAknFepManager* aFepManager)
-    {
-    iFepManager = aFepManager;
-    }
-
-
-void CAknFepSharedDataInterface::ConstructL()
-    {
-    TInt ret = KErrNone;
-
-    TRAP(ret, iCommonEngineRepository = CRepository::NewL(KCRUidCommonEngineKeys));
-
-    TRAP(ret, iAknFepRepository = CRepository::NewL(KCRUidAknFep));
-    if (ret == KErrNone)
-        {
-        iAknFepRepositoryWatcher = CAknFepRepositoryWatcher::NewL(
-            KCRUidAknFep,
-            TCallBack(HandleRepositoryCallBack, this),
-            iAknFepRepository);
-        HandleHashKeySelectionChange();//we need read proactively before value changed,and we must sure the iAknFepRepository has been constructed
-        }
-	
-	TRAP(ret, iLocaleRepository = CRepository::NewL( KCRUidLocaleSettings ));
-
-    if (ret == KErrNone)
-        {
-        iAknFepLocaleRepositoryWatcher = CAknFepRepositoryWatcher::NewL(
-            KCRUidLocaleSettings,
-            TCallBack(HandleLocaleRepositoryCallBack, this),
-            iLocaleRepository);
-        }
-
-    User::LeaveIfError(iQwertyModeStatusProperty.Attach(KCRUidAvkon, KAknQwertyInputModeActive));
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    //Attach the P&S property to the keyboardlayout and subscribe to the P&S framework
-    // for any keyboard layout change.
-    User::LeaveIfError(iKeyboardLayoutStatusProperty.Attach(KCRUidAvkon, KAknKeyBoardLayout));    
-    iKeyboardLayoutStatusSubscriber = new (ELeave) CSubscriber(
-                                         TCallBack(HandleKeyboardLayoutChangeNotification, this), 
-                                         iKeyboardLayoutStatusProperty);    
-    iKeyboardLayoutStatusSubscriber->SubscribeL();
-#endif
-    iQwertyModeStatusSubscriber = new (ELeave) CSubscriber(
-    								TCallBack(QwertyModeChangeNotification, this), 
-    								iQwertyModeStatusProperty);
-    iQwertyModeStatusSubscriber->SubscribeL();
-
-    // Read read-only shared data settings.
-    if (iAknFepRepository)
-        {
-        iAknFepRepository->Get(KAknFepScrollLatinPredictive, iSharedDataScrollLatinPredictive);
-        iAknFepRepository->Get(KAknFepSpaceWithScrollRight,  iSharedDataSpaceWithScrollRight);
-        iAknFepRepository->Get(KAknFepEnterWithScrollDown,   iSharedDataEnterWithScrollDown);
-        }
-        
-    TRAP(ret, iGsPenSettings = CRepository::NewL(KCRUidPersonalizationSettings));
-    
-    TRAP(ret, iSensorRepository = CRepository::NewL( KCRUidSensorSettings ) );
-    }
-
-TInt CAknFepSharedDataInterface::HashKeySelectionNotification(TAny* aObj)
-    {
-    if (aObj)
-        {
-        static_cast<CAknFepSharedDataInterface*>(aObj)->HandleHashKeySelectionChange();
-        return KErrNone;
-        }
-    else
-        {
-        return KErrArgument;
-        }
-    }
-    
-void CAknFepSharedDataInterface::HandleHashKeySelectionChange()
-    {
-    TInt value(0);
-    
-    if (iAknFepRepository)
-        {
-        iAknFepRepository->Get(KAknFepHashKeySelection, value);
-        }
-    
-    iHashKeySelectionInUse = value;
-    }
-
-
-TInt CAknFepSharedDataInterface::InputModeChangeGSNotification(TAny* aObj)
-    {
-    if (aObj)
-        {
-        static_cast<CAknFepSharedDataInterface*>(aObj)->HandleInputModeGSChange();
-        return KErrNone;
-        }
-    else
-        {
-        return KErrArgument;
-        }
-    }
-
-void CAknFepSharedDataInterface::HandleInputModeGSChange()
-    {
-    iFepManager->SetFlag(CAknFepManager::EFlagNewSharedDataInputMode);
-    }
-
-TInt CAknFepSharedDataInterface::InputTextLangGSNotification(TAny* aObj)
-    {
-    if (aObj)
-        {
-        static_cast<CAknFepSharedDataInterface*>(aObj)->HandleInputTextLanguageGSChange();
-        return KErrNone;
-        }
-    else
-        {
-        return KErrArgument;
-        }
-    }
-
-void CAknFepSharedDataInterface::HandleInputTextLanguageGSChange()
-    {
-    iFepManager->SetFlag(CAknFepManager::EFlagNewSharedDataInputLanguage);
-    ESubVariantFlag subVariant = AknLayoutUtils::SubVariant();
-    if((AknLayoutUtils::Variant() == EApacVariant)
-        && ((subVariant == EPrcSubVariant)
-        || (subVariant == EHongKongSubVariant)
-        || (subVariant == ETaiwanSubVariant)))
-        {
-        iFepManager->SetFlag(CAknFepManager::EFlagNewSharedDataInputMode);
-        }
-    }
-
-
-TInt CAknFepSharedDataInterface::PredictiveTextSettingChangeGSNotification(TAny* aObj)
-    {
-    if (aObj)
-        {
-        static_cast<CAknFepSharedDataInterface*>(aObj)->HandlePredictiveTextSettingGSChange();
-        return KErrNone;
-        }
-    else
-        {
-        return KErrArgument;
-        }
-    }
-
-TInt CAknFepSharedDataInterface::JapanesePredictiveTextSettingChangeGSNotification(TAny* aObj)
-    {
-    if (aObj)
-        {
-        static_cast<CAknFepSharedDataInterface*>(aObj)->HandleJapanesePredictiveTextSettingGSChange();
-        return KErrNone;
-        }
-    else
-        {
-        return KErrArgument;
-        }
-    }
-
-TInt CAknFepSharedDataInterface::QwertyModeChangeNotification(TAny* aObj)
-    {
-    if (aObj)
-        {
-        static_cast<CAknFepSharedDataInterface*>(aObj)->HandleQwertyModeChangeNotification();
-        return KErrNone;
-        }
-    else
-        {
-        return KErrArgument;
-        }
-    }
-
-void CAknFepSharedDataInterface::HandlePredictiveTextSettingGSChange()
-    {
-    TInt value = 0;
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    if (iAknFepRepository)
-        {
-        iAknFepRepository->Get(KAknFepPredTxtFlagExtension, value);
-        }
-    TPtiKeyboardType layout = (TPtiKeyboardType)KeyboardLayout();
-    switch(layout)
-        {
-        case EPtiKeyboardNone:
-            break;
-      	case EPtiKeyboard12Key:
-            value &= EKeyboardStyle12Key;
-            break;
-        case EPtiKeyboardHalfQwerty:
-            value &= EKeyboardStyleHalfQwerty;
-            break;            
-      	case EPtiKeyboardQwerty4x12:
-      	case EPtiKeyboardQwerty4x10:
-      	case EPtiKeyboardQwerty3x11:      	
-      	case EPtiKeyboardCustomQwerty:
-            value &= EKeyboardStyleQwerty;
-            break;
-      	default:
-      	    break;
-        }
-    if (value > 0)
-    	{
-    	value = 1;
-    	}
-#else
-    if (iAknFepRepository)
-        {
-        iAknFepRepository->Get(KAknFepPredTxtFlag, value);
-        }
-#endif
-    iFepManager->SetWesternPredictive(value);
-    }
-
-void CAknFepSharedDataInterface::HandleJapanesePredictiveTextSettingGSChange()
-    {
-    TInt value = 0;
-    if (iAknFepRepository)
-        {
-        iAknFepRepository->Get(KAknFepJapanesePredTxtFlag, value);
-        }
-    iFepManager->SetJapanesePredictive(value);
-    }
-
-void CAknFepSharedDataInterface::HandleQwertyModeChangeNotification()
-    {
-    TInt value = 0;
-    iQwertyModeStatusProperty.Get(value);
-    iFepManager->SetQwertyMode(value);
-    }
-
-TInt CAknFepSharedDataInterface::NumberModeChangesGSNotification()
-    {
-    iFepManager->NumberModeChangeGSNotification();
-    return KErrNone;
-    }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-
-//
-//Intensionally not called methods
-// JapanesePredictiveTextSettingChangeGSNotification()
-// MultiTapTimerChangeGSNotification()
-// JapaneseQwertyFlagsChangeGSNotification()
-// PredictiveTextAutoCompleteSettingChangeGSNotification() - Autocompletion feature
-// 
-TInt CAknFepSharedDataInterface::HandleGenericRepositoryChange(TAny* aPtr)
-    {
-    CAknFepSharedDataInterface *self = STATIC_CAST(CAknFepSharedDataInterface*, aPtr);
-    TInt error = KErrNone;
-    if(self->iAknFepRepositoryWatcher->ChangedKey() == KAknFepChineseInputMode)
-        {
-        error = InputModeChangeGSNotification(aPtr);
-        }
-    if(self->iAknFepRepositoryWatcher->ChangedKey() == KAknFepInputTxtLang)
-        {
-        error = InputTextLangGSNotification(aPtr);
-        }
-    if(self->iAknFepRepositoryWatcher->ChangedKey() == KAknFepPredTxtFlag)
-        {
-        error = PredictiveTextSettingChangeGSNotification(aPtr);
-        }
-    if(self->iAknFepRepositoryWatcher->ChangedKey() == KAknFepAutoCompleteFlag)
-        {
-        error = PredictiveTextAutoCompleteSettingChangeGSNotification(aPtr);
-        }
-    if(self->iAknFepRepositoryWatcher->ChangedKey() == KAknFepTypingCorrectionLevel)
-        {
-        error = PredictiveTextTypingCorrectionLevelChangeNotification(aPtr);
-        }
-    if(self->iAknFepRepositoryWatcher->ChangedKey() == KAknFepNumberCandidateFlag)
-        {
-        error = PredictiveTextNumberCandidateSettingChangeNotification(aPtr);
-        }
-    if(self->iAknFepRepositoryWatcher->ChangedKey() == KAknFepPrimaryCandidateFlag)
-        {
-        error = PredictiveTextPrimaryCandidateChangeNotification(aPtr);
-        }
-
-    return error;
-    }
-#endif
-TInt CAknFepSharedDataInterface::HandleRepositoryCallBack(TAny* aPtr)
-    {
-    CAknFepSharedDataInterface *self = STATIC_CAST(CAknFepSharedDataInterface*, aPtr);
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    
-    if( self->iAknFepRepositoryWatcher && 
-        self->iAknFepRepositoryWatcher->IsGenericCenrepChange())
-        {
-        return HandleGenericRepositoryChange(aPtr);
-        }
-    else
-#endif        
-    if (self->iAknFepRepositoryWatcher)
-        {
-		 if (self->iAknFepRepositoryWatcher->ChangedKey() == KAknFepHashKeySelection)
-        	{
-        	return HashKeySelectionNotification(aPtr);
-        	}
-        if (self->iAknFepRepositoryWatcher->ChangedKey() == KAknFepChineseInputMode)
-            {
-            return InputModeChangeGSNotification(aPtr);
-            }
-        else if (self->iAknFepRepositoryWatcher->ChangedKey() == KAknFepInputTxtLang)
-            {
-            return InputTextLangGSNotification(aPtr);
-            }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-#ifdef FF_DUAL_LANGUAGE_SUPPORT
-        else if (self->iAknFepRepositoryWatcher->ChangedKey() == KAknFepInputTxtLangSecondary)
-            {
-            return InputTextLangGSNotification(aPtr);
-            }
-#endif //FF_DUAL_LANGUAGE_SUPPORT
-#endif
-        else if (self->iAknFepRepositoryWatcher->ChangedKey() == KAknFepPredTxtFlag)
-            {
-            return PredictiveTextSettingChangeGSNotification(aPtr);
-            }
-        else if (self->iAknFepRepositoryWatcher->ChangedKey() == KAknFepJapanesePredTxtFlag)
-            {
-            return JapanesePredictiveTextSettingChangeGSNotification(aPtr);
-            }
-        else if (self->iAknFepRepositoryWatcher->ChangedKey() == KAknFepMultiTapTimer)
-            {
-            return MultiTapTimerChangeGSNotification(aPtr);
-            }
-        else if (self->iAknFepRepositoryWatcher->ChangedKey() == KAknFepJapaneseSpecialCharFlag)
-            {
-            return JapaneseQwertyFlagsChangeGSNotification(aPtr);
-            }
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-        else if (self->iAknFepRepositoryWatcher->ChangedKey() == KAknFepAutoCompleteFlag)
-            {
-            return PredictiveTextAutoCompleteSettingChangeGSNotification(aPtr);
-            }          
-#endif	//RD_INTELLIGENT_TEXT_INPUT
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        else if (self->iAknFepRepositoryWatcher->ChangedKey() == KAknFepAutoCompleteFlag)
-            {
-            return PredictiveTextAutoCompleteSettingChangeGSNotification(aPtr);
-            }          
-        else if (self->iAknFepRepositoryWatcher->ChangedKey() == KAknFepTypingCorrectionLevel)
-            {
-            return PredictiveTextTypingCorrectionLevelChangeNotification(aPtr);
-            }          
-        else if (self->iAknFepRepositoryWatcher->ChangedKey() == KAknFepNumberCandidateFlag)
-            {
-            return PredictiveTextNumberCandidateSettingChangeNotification(aPtr);
-            }
-        else if (self->iAknFepRepositoryWatcher->ChangedKey() == KAknFepPrimaryCandidateFlag)
-            {
-            return PredictiveTextPrimaryCandidateChangeNotification(aPtr);
-            }
-        else if (self->iAknFepRepositoryWatcher->ChangedKey() == KAknFepPredTxtFlagExtension)
-            {
-            return PredictiveTextSettingChangeGSNotification(aPtr);
-            }          
-#endif
-        }
-
-    return KErrNone;
-    }
-    
-TInt CAknFepSharedDataInterface::HandleLocaleRepositoryCallBack(TAny* aPtr)    
-	{
-	CAknFepSharedDataInterface *self = STATIC_CAST(CAknFepSharedDataInterface*, aPtr);
-
-	if(self->iAknFepLocaleRepositoryWatcher)
-	    {
-        if (self->iAknFepLocaleRepositoryWatcher->ChangedKey() == KSettingsDefaultNumberMode
-        ||  self->iAknFepLocaleRepositoryWatcher->ChangedKey() == KSettingsIndicDefaultNumberMode)
-		    {
-		    return self->NumberModeChangesGSNotification();
-		    }
-	    }    
-	return KErrNone;	
-	}
-
-CAknFepSharedDataInterface::CSubscriber::CSubscriber(TCallBack aCallBack, RProperty& aProperty)
-    :
-    CActive(EPriorityNormal), iCallBack(aCallBack), iProperty(aProperty)
-    {
-    CActiveScheduler::Add(this);
-    }
-
-CAknFepSharedDataInterface::CSubscriber::~CSubscriber()
-    {
-    Cancel();
-    }
-
-void CAknFepSharedDataInterface::CSubscriber::SubscribeL()
-    {
-    if (!IsActive())
-        {
-        iProperty.Subscribe(iStatus);
-        SetActive();
-        }
-    }
-
-void CAknFepSharedDataInterface::CSubscriber::StopSubscribe()
-    {
-    Cancel();
-    }
-
-void CAknFepSharedDataInterface::CSubscriber::RunL()
-    {
-    if (iStatus.Int() == KErrNone)
-        {
-        iCallBack.CallBack();
-        SubscribeL();
-        }
-    }
-
-void CAknFepSharedDataInterface::CSubscriber::DoCancel()
-    {
-    iProperty.Cancel();
-    }
-    
-    
-TInt CAknFepSharedDataInterface::EditSubmenuInUse() const
-    {
-    TInt value = 0;				
-    if (iAknFepRepository)
-        {
-        iAknFepRepository->Get(KAknFepHashKeySelection, value);
-        }       
-    
-    return value;    
-    }
-    
-    
-    
-TInt CAknFepSharedDataInterface::HashKeySelectionInUse()
-    {
-    // This is never used in qwerty modes.
-    if (QwertyInputMode())
-    	{
-    	return 0;
-    	}
-    	    	
-    TInt value = 0;     	    		    	
-    if (iAknFepRepository)
-        {
-        iAknFepRepository->Get(KAknFepHashKeySelection, value);
-        }        
- 
-    return iHashKeySelectionInUse;
-    }   
-    
-
-CAknFepRepositoryWatcher* CAknFepRepositoryWatcher::NewL(
-    const TUid aUid,
-    const TUint32 aKey,
-    CCenRepNotifyHandler::TCenRepKeyType aKeyType,
-    TCallBack aCallBack,
-    CRepository* aRepository)
-    {
-    CAknFepRepositoryWatcher* self = new(ELeave) CAknFepRepositoryWatcher(aUid, aKey, aCallBack, 
-                                                                          aRepository);
-
-    CleanupStack::PushL(self);
-    self->ConstructL(aKeyType);
-    CleanupStack::Pop(self);
-
-    return self;
-    }
-
-CAknFepRepositoryWatcher* CAknFepRepositoryWatcher::NewL(
-    const TUid aUid,
-    TCallBack aCallBack,
-    CRepository* aRepository)
-    {
-    CAknFepRepositoryWatcher* self = new(ELeave) CAknFepRepositoryWatcher(aUid, 
-                           NCentralRepositoryConstants::KInvalidNotificationId, 
-                           aCallBack, aRepository);
-
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(self);
-
-    return self;
-    }
-
-CAknFepRepositoryWatcher::~CAknFepRepositoryWatcher()
-    {
-    if( iNotifyHandler )
-        {
-        iNotifyHandler->StopListening();
-        delete iNotifyHandler;
-        iNotifyHandler = NULL;
-        }
-    }
-
-CAknFepRepositoryWatcher::CAknFepRepositoryWatcher(
-    const TUid aUid,
-    const TUint32 aKey,
-    TCallBack aCallBack,
-    CRepository* aRepository)
-    :
-    iUid(aUid), iKey(aKey), iCallBack(aCallBack), iRepository(aRepository)
-#ifdef RD_INTELLIGENT_TEXT_INPUT    
-    , iIsGeneric (EFalse)
-#endif    
-    {
-    }
-
-void CAknFepRepositoryWatcher::ConstructL(CCenRepNotifyHandler::TCenRepKeyType aKeyType)
-    {
-    iNotifyHandler = CCenRepNotifyHandler::NewL(*this, *iRepository, aKeyType, iKey);
-    iNotifyHandler->StartListeningL();
-    }
-
-void CAknFepRepositoryWatcher::ConstructL()
-    {
-    iNotifyHandler = CCenRepNotifyHandler::NewL(*this, *iRepository);
-    iNotifyHandler->StartListeningL();
-    }
-
-TUint32 CAknFepRepositoryWatcher::ChangedKey()
-    {
-    return iChangedKey;
-    }
-
-void CAknFepRepositoryWatcher::HandleNotifyInt(TUint32 aKey, TInt aNewValue)
-    {
-#ifdef _DEBUG
-    RDebug::Print(_L("AknFep: HandleNotifyInt aKey=%d, aNewValue=%d"), aKey, aNewValue);
-#endif
-    iChangedKey = aKey;
-#ifdef RD_INTELLIGENT_TEXT_INPUT    
-    iIsGeneric = EFalse;
-#endif    
-    iCallBack.CallBack();
-    iChangedKey = NCentralRepositoryConstants::KInvalidNotificationId;
-    }
-
-void CAknFepRepositoryWatcher::HandleNotifyError(TUint32 /*aKey*/, TInt /*aError*/, CCenRepNotifyHandler* /*aHandler*/)
-    {
-    }
-
-/*
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-void CAknFepRepositoryWatcher::HandleNotifyGeneric(TUint32 aId)
-    {
-#ifdef _DEBUG
-    RDebug::Print(_L("AknFep: HandleNotifyGeneric aId=%d"), aId);
-#endif  
-    iChangedKey = aId;
-    iIsGeneric = ETrue;
-    iCallBack.CallBack();      
-    iChangedKey = NCentralRepositoryConstants::KInvalidNotificationId;
-    }
-#else*/
-
-void CAknFepRepositoryWatcher::HandleNotifyGeneric(TUint32 aId)
-    {
-#ifdef _DEBUG
-    RDebug::Print(_L("AknFep: HandleNotifyGeneric aId=%d"), aId);
-#endif  
-    iChangedKey = aId;
-    iCallBack.CallBack();
-    iChangedKey = NCentralRepositoryConstants::KInvalidNotificationId;  
-    }
-//#endif
-
-/**
- * Multitap timer value. 
- * Replaces the constant KMultiTapTimeoutMS in Japanese variant.
- *
- * @since 3.0
- * @return Value of KAknFepMultiTapTimer setting.
- */
-TInt CAknFepSharedDataInterface::MultiTapTimer() const
-    {
-    TInt value = 1000000;
-    if (iAknFepRepository)
-        {
-        iAknFepRepository->Get(KAknFepMultiTapTimer, value);
-        }
-    return value;
-    }
-    
-/**
- * Change notification for Multitap timer. 
- *
- * @since 3.0
- * @return return KErrNone if aObj isn't NULL
- *         return KErrArgument if aObj is NULL
- */
-TInt CAknFepSharedDataInterface::MultiTapTimerChangeGSNotification(TAny* aObj)
-    {
-    if (aObj)
-        {
-        static_cast<CAknFepSharedDataInterface*>(aObj)->HandleMultiTapTimerChangeGSNotification();
-        return KErrNone;
-        }
-    else
-        {
-        return KErrArgument;
-        }
-    }
-
-/**
- * Handle change notification for Multitap timer. 
- *
- * @since 3.0
- */
-void CAknFepSharedDataInterface::HandleMultiTapTimerChangeGSNotification()
-    {
-    TInt value = MultiTapTimer();
-    iFepManager->SetMultiTapTimer(value);
-    }
-
-/**
- * Japanese Qwerty Flags value. 
- * Replaces the constant KAknFepJapaneseSpecialCharFlag in Japanese variant.
- *
- * @since 3.0
- * @return Value of KAknFepJapaneseSpecialCharFlag setting.
- */
-TInt CAknFepSharedDataInterface::JapaneseQwertyFlags() const
-    {
-    TInt value = 0x000F;
-    if (iAknFepRepository)
-        {
-        iAknFepRepository->Get(KAknFepJapaneseSpecialCharFlag, value);
-        }
-    return value;
-    }
-    
-/**
- * Change notification for Japanese Qwerty Flags. 
- *
- * @since 3.0
- * @return return KErrNone if aObj isn't NULL
- *         return KErrArgument if aObj is NULL
- */
-TInt CAknFepSharedDataInterface::JapaneseQwertyFlagsChangeGSNotification(TAny* aObj)
-    {
-    if (aObj)
-        {
-        static_cast<CAknFepSharedDataInterface*>(aObj)->HandleJapaneseQwertyFlagsChangeGSNotification();
-        return KErrNone;
-        }
-    else
-        {
-        return KErrArgument;
-        }
-    }
-
-/**
- * Handle change notification for Japanese Qwerty Flags. 
- *
- * @since 3.0
- */
-void CAknFepSharedDataInterface::HandleJapaneseQwertyFlagsChangeGSNotification()
-    {
-    TInt value = JapaneseQwertyFlags();
-    iFepManager->SetJapaneseQwertyFlags(value);
-    }
-
-/**
- * Returns a value of current clear direction.
- *
- * @since 3.2
- * @return Value of KAknFepClearDirection setting.
- */
-TInt CAknFepSharedDataInterface::ClearDirection() const
-    {
-    TInt value = EClearDirectionLeft;
-    if (iAknFepRepository)
-        {
-        iAknFepRepository->Get(KAknFepClearDirection, value);
-        }
-    return value;
-    }
-
-/**
- * Set a value of current clear direction.
- *
- * @since 3.2
- * @param aValue new value set to Clear Direction shared data item which
- *               represents the direction currently being used
- */
-void CAknFepSharedDataInterface::SetClearDirection(TInt aValue)
-    {
-    if (iAknFepRepository)
-        {
-        iAknFepRepository->Set(KAknFepClearDirection, aValue);
-        }
-    }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-TInt CAknFepSharedDataInterface::HandleKeyboardLayoutChangeNotification(TAny* aObj)
-    {
-    if (aObj)
-        {
-        static_cast<CAknFepSharedDataInterface*>(aObj)->HandleKeyboardLayoutChange();
-        return KErrNone;
-        }
-    else
-        {
-        return KErrArgument;
-        }
-    }
-#endif
-    
-    
-void CAknFepSharedDataInterface::SetPredictiveTextAutoCompleteOn()
-    {
-    if (iAknFepRepository)
-        {
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        //Set autocomplete flag only for the current keyboard layout type. Otherwise,
-        //by simply setting to "1", we los information on autocompletion settings
-        //of other keyboard types.
-        TPtiKeyboardType currentKeyboardLayoutlayout = (TPtiKeyboardType)KeyboardLayout();
-        TInt autocompletionSetting = 0;
-        iAknFepRepository->Get(KAknFepAutoCompleteFlag, autocompletionSetting);
-        switch(currentKeyboardLayoutlayout)
-            {
-            case EPtiKeyboardNone:
-                break;
-            case EPtiKeyboard12Key:
-                autocompletionSetting |= EKeyboardStyle12Key;
-                break;
-            case EPtiKeyboardQwerty4x12:
-            case EPtiKeyboardQwerty4x10:
-            case EPtiKeyboardQwerty3x11:
-            case EPtiKeyboardHalfQwerty:
-            case EPtiKeyboardCustomQwerty:
-                autocompletionSetting |= EKeyboardStyleQwerty;
-                break;
-            default:
-                break;
-            }
-        iAknFepRepository->Set(KAknFepAutoCompleteFlag, autocompletionSetting);
-#else
-        iAknFepRepository->Set(KAknFepAutoCompleteFlag, 1);
-#endif
-        }
-    }    
-
-
-void CAknFepSharedDataInterface::ResetPredictiveTextAutoCompleteOn()
-    {
-    if (iAknFepRepository)
-        {
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        //Reset autocomplete flag only for the current keyboard layout type. Otherwise,
-        //by simply setting to "0", we lose information on autocompletion settings
-        //of other keyboard types.
-        TPtiKeyboardType currentKeyboardLayoutlayout = (TPtiKeyboardType)KeyboardLayout();
-        TInt autocompletionSetting = 0;
-        iAknFepRepository->Get(KAknFepAutoCompleteFlag, autocompletionSetting);
-        switch(currentKeyboardLayoutlayout)
-            {
-            case EPtiKeyboardNone:
-                break;
-            case EPtiKeyboard12Key:
-                autocompletionSetting &= ~EKeyboardStyle12Key;
-                break;
-            case EPtiKeyboardQwerty4x12:
-            case EPtiKeyboardQwerty4x10:
-            case EPtiKeyboardQwerty3x11:
-            case EPtiKeyboardHalfQwerty:
-            case EPtiKeyboardCustomQwerty:
-                autocompletionSetting &= ~EKeyboardStyleQwerty;
-                break;
-            default:
-                break;
-            }
-        iAknFepRepository->Set(KAknFepAutoCompleteFlag, autocompletionSetting);
-#else
-        iAknFepRepository->Set(KAknFepAutoCompleteFlag, 0);
-#endif
-        }
-    }
-    
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-void CAknFepSharedDataInterface::HandlePredictiveTextAutoCompleteSettingGSChange()
-    {
-    TInt value = 0;
-    if (iAknFepRepository)
-        {
-        iAknFepRepository->Get(KAknFepAutoCompleteFlag, value);
-        }
-    iFepManager->SetAutoCompletionState(value);
-    }
-    
-    
-TInt CAknFepSharedDataInterface::PredictiveTextAutoCompleteSettingChangeGSNotification(TAny* aObj)
-    {
-    if (aObj)
-        {
-        static_cast<CAknFepSharedDataInterface*>(aObj)->HandlePredictiveTextAutoCompleteSettingGSChange();
-        return KErrNone;
-        }
-    else
-        {
-        return KErrArgument;
-        }
-    }    
-
-#endif	//RD_INTELLIGENT_TEXT_INPUT
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-void CAknFepSharedDataInterface::SetFnKeyState(TInt aState)
-    {
-    RProperty::Set(KPSUidAknFep,KAknFepFnKeyState, aState);
-    }
-    
-TInt CAknFepSharedDataInterface::GetFnKeyState()
-    {
-    TInt state = 0;
-    RProperty::Get(KPSUidAknFep,KAknFepFnKeyState, state);
-    return state;
-    }
-void CAknFepSharedDataInterface::HandleKeyboardLayoutChange()
-    {
-    TInt value = 0;
-    TPtiKeyboardType keyboardType;
-    iKeyboardLayoutStatusProperty.Get(value);
-    keyboardType = (TPtiKeyboardType)value;
-    iFepManager->SetKeyboardLayout(keyboardType);
-    iFepManager->SetFnKeyMappingState();
-#ifdef __ITI_VIRTUAL_TOUCH_FIRST_GENERATION_SUPPORT__
-    iFepManager->StopDisplayingMenuBar();
-#endif //__ITI_VIRTUAL_TOUCH_FIRST_GENERATION_SUPPORT__
-    }
-TInt CAknFepSharedDataInterface::PredictiveTextAutoCompleteOn()
-    {
-    TInt value = 0;
-    if (iAknFepRepository)
-        {
-        TPtiKeyboardType layout = (TPtiKeyboardType)KeyboardLayout();
-        TInt temp = 0;
-        iAknFepRepository->Get(KAknFepAutoCompleteFlag, temp);
-        switch(layout)
-            {
-            case EPtiKeyboardNone:
-                break;
-          	case EPtiKeyboard12Key:
-                temp &= EKeyboardStyle12Key;
-                break;
-            case EPtiKeyboardHalfQwerty:
-                temp &= EKeyboardStyleHalfQwerty;
-                break;
-          	case EPtiKeyboardQwerty4x12:
-          	case EPtiKeyboardQwerty4x10:
-          	case EPtiKeyboardQwerty3x11:          	
-          	case EPtiKeyboardCustomQwerty:
-                temp &= EKeyboardStyleQwerty;
-                break;
-          	default:
-          	    break;
-            }
-        value = ( temp ? 1 : 0);
-        }
-    return value;
-    }
-
-void CAknFepSharedDataInterface::HandlePredictiveTextAutoCompleteSettingGSChange()
-    {
-    TInt value = 0;
-    if (iAknFepRepository)
-        {
-        iAknFepRepository->Get(KAknFepAutoCompleteFlag, value);
-        }
-    TPtiKeyboardType layout = (TPtiKeyboardType)KeyboardLayout();
-    switch(layout)
-        {
-        case EPtiKeyboardNone:
-            break;
-      	case EPtiKeyboard12Key:
-            value &= EKeyboardStyle12Key;
-            break;
-        case EPtiKeyboardHalfQwerty:    
-            value &= EKeyboardStyleHalfQwerty;
-            break;
-      	case EPtiKeyboardQwerty4x12:
-      	case EPtiKeyboardQwerty4x10:
-      	case EPtiKeyboardQwerty3x11:      	
-      	case EPtiKeyboardCustomQwerty:
-            value &= EKeyboardStyleQwerty;
-            break;
-      	default:
-      	    break;
-        }
-    if (value > 0)
-    	{
-    	value = 1;
-    	}
-    iFepManager->SetAutoCompletionState(value);
-    }
-    
-    
-TInt CAknFepSharedDataInterface::PredictiveTextAutoCompleteSettingChangeGSNotification(TAny* aObj)
-    {
-    if (aObj) 
-        {
-        static_cast<CAknFepSharedDataInterface*>(aObj)->HandlePredictiveTextAutoCompleteSettingGSChange();
-        return KErrNone;
-        }
-    else
-        {
-        return KErrArgument;
-        }
-    }    
-/**
- * Queries the value of PredictiveText Typing Correction Level from shared data
- *
- * @return Typing Correction Level
-*/
-TInt CAknFepSharedDataInterface::PredictiveTextTypingCorrectionLevel()
-	{
-	TInt value = 0;
-    if (iAknFepRepository)
-        {
-        iAknFepRepository->Get(KAknFepTypingCorrectionLevel, value);
-        }
-    return value;
-	}
-
-
-/**
- * Sets the value of PredictiveText Typing Correction Level state to aCorrectionLevel in shared data 
-*/    
-void CAknFepSharedDataInterface::SetPredictiveTextTypingCorrectionLevel(TInt aCorrectionLevel)
-	{
-	if (iAknFepRepository)
-        {
-        iAknFepRepository->Set(KAknFepTypingCorrectionLevel, aCorrectionLevel);
-        }
-	}
-
-void CAknFepSharedDataInterface::HandlePredictiveTextTypingCorrectionLevelChange()
-    {
-    TInt value = 0;
-    if (iAknFepRepository)
-        {
-        iAknFepRepository->Get(KAknFepTypingCorrectionLevel, value);
-        }
-    iFepManager->SetTypingCorrectionLevel(value);
-    }
-
- /**
- * Handles a change in predictive text Typing Correction Level setting.
-*/    
-TInt CAknFepSharedDataInterface::PredictiveTextTypingCorrectionLevelChangeNotification(TAny* aObj)
-	{
-	if (aObj) 
-        {
-        static_cast<CAknFepSharedDataInterface*>(aObj)->HandlePredictiveTextTypingCorrectionLevelChange();
-        return KErrNone;
-        }
-    else
-        {
-        return KErrArgument;
-        }
-	}
-
-/**
- * Queries the value of PredictiveText Number Candidate Shown state to be On from shared data
- *
- * @return 1 for shown or 0 for not shown
-*/
-TInt CAknFepSharedDataInterface::PredictiveTextNumberCandidateShown()
-	{
-	TInt value = 0;
-    if (iAknFepRepository)
-        {
-        iAknFepRepository->Get(KAknFepNumberCandidateFlag, value);
-        }
-    return value;
-	}
-
-
-/**
- * Sets the value of PredictiveText Number Candidate Shown state to 1 in shared data - this
- * is used to represent predictive text Number Candidate Shown being shown.
-*/    
-void CAknFepSharedDataInterface::SetPredictiveTextNumberCandidateShown()
-	{
-	if (iAknFepRepository)
-        {
-        iAknFepRepository->Set(KAknFepNumberCandidateFlag, 1);
-        }
-	}
-
-
-/**
- * Sets the value of PredictiveText Number Candidate Shown state to 0 in shared data - this
- * is used to represent predictive text Number Candidate Shown being not shown.
-*/    
-void CAknFepSharedDataInterface::ResetPredictiveTextNumberCandidateShown()
-	{
-	if (iAknFepRepository)
-        {
-        iAknFepRepository->Set(KAknFepNumberCandidateFlag, 0);
-        }
-	}
-
-void CAknFepSharedDataInterface::HandlePredictiveTextNumberCandidateSettingChange()
-    {
-    TInt value = 0;
-    if (iAknFepRepository)
-        {
-        iAknFepRepository->Get(KAknFepNumberCandidateFlag, value);
-        }
-    iFepManager->SetNumberCandidateState(value);
-    }
-
-/**
- * Handles a change in predictive text Number Candidate Shown setting.
-*/    
-TInt CAknFepSharedDataInterface::PredictiveTextNumberCandidateSettingChangeNotification(TAny* aObj)
-	{
-	if (aObj) 
-        {
-        static_cast<CAknFepSharedDataInterface*>(aObj)->HandlePredictiveTextNumberCandidateSettingChange();
-        return KErrNone;
-        }
-    else
-        {
-        return KErrArgument;
-        }
-	}
-	
-/**
-* Queries the value of PredictiveText Primary candidate setting from shared data
-*
-* @return Primary candidate setting(0 for Suggested or 1 for Exact)
-*/
-TInt CAknFepSharedDataInterface::PredictiveTextPrimaryCandidate()
-	{
-	TInt value = 0;
-    if (iAknFepRepository)
-        {
-        iAknFepRepository->Get(KAknFepPrimaryCandidateFlag, value);
-        }
-    return value;
-	}
-
-
-/**
-* Sets the value of PredictiveText Primary candidate setting state to aPrimaryCandidate in shared data 
-*/    
-void CAknFepSharedDataInterface::SetPredictiveTextPrimaryCandidate(TInt aPrimaryCandidate)
-	{
-	if (iAknFepRepository)
-        {
-        iAknFepRepository->Set(KAknFepPrimaryCandidateFlag, aPrimaryCandidate);
-        }
-	}
-/**
-* Handles a change in predictive text Primary candidate setting.
-*/   
-void CAknFepSharedDataInterface::HandlePredictiveTextPrimaryCandidateChange()
-    {
-    TInt value = 0;
-    if (iAknFepRepository)
-        {
-        iAknFepRepository->Get(KAknFepPrimaryCandidateFlag, value);
-        }
-    iFepManager->SetPrimaryCandidate(value);
-    }
-
-/**
-* Handles a change in predictive text Typing Correction Level setting.
-*/    
-TInt CAknFepSharedDataInterface::PredictiveTextPrimaryCandidateChangeNotification(TAny* aObj)
-	{
-	if (aObj) 
-        {
-        static_cast<CAknFepSharedDataInterface*>(aObj)->HandlePredictiveTextPrimaryCandidateChange();
-        return KErrNone;
-        }
-    else
-        {
-        return KErrArgument;
-        }
-	}
-#else	// RD_INTELLIGENT_TEXT_INPUT
-
-TInt CAknFepSharedDataInterface::PredictiveTextAutoCompleteOn()
-    {
-    TInt value = 0;
-    if (iAknFepRepository)
-        {
-        iAknFepRepository->Get(KAknFepAutoCompleteFlag, value);
-        }
-    return value;
-    }
-#endif    
-/**
- * Returns a value of HWR conversion on/off.
- *
- * @since 3.2
- * @return Value of KAknFepJapaneseHwrConversion setting.
- */
-TInt CAknFepSharedDataInterface::JapaneseHwrConversion() const
-    {
-    TInt value = 0;
-    if (iAknFepRepository)
-        {
-        iAknFepRepository->Get(KAknFepJapaneseSpecialCharFlag, value);
-        }
-    return (value & KJapHwrConversion)?
-                EJapaneseConversionOn : EJapaneseConversionOff;
-    }
-
-/**
- * Set a value of HWR conversion on/off.
- *
- * @since 3.2
- * @param aValue new value set to HWR conversion on/off shared data item
- */
-void CAknFepSharedDataInterface::SetJapaneseHwrConversion(TInt aValue)
-    {
-    if (iAknFepRepository)
-        {
-        TInt value;
-        iAknFepRepository->Get(KAknFepJapaneseSpecialCharFlag, value);
-        if (aValue == EJapaneseConversionOn)
-            {
-            value |= KJapHwrConversion;
-            }
-        else
-            {
-            value &= ~(KJapHwrConversion);
-            }
-        iAknFepRepository->Set(KAknFepJapaneseSpecialCharFlag, value);
-        }
-    }
-    
-TInt CAknFepSharedDataInterface::FepShowFsqPreviewStatus()
-    {
-    TInt value = 0;
-    if (iAknFepRepository)
-        {
-        iAknFepRepository->Get(KAknFepShowFsqPreview, value);
-        }
-    return value;
-    }
-    
-    
-void CAknFepSharedDataInterface::SetFepShowFsqPreviewStatus(TInt aValue)
-    {
-    if (iAknFepRepository)
-        {
-        iAknFepRepository->Set(KAknFepShowFsqPreview, aValue);
-        }
-    } 
-    
-TInt CAknFepSharedDataInterface::FepShowVkbPreviewStatus()
-    {
-    TInt value = 0;
-    if (iAknFepRepository)
-        {
-        iAknFepRepository->Get(KAknFepShowVkbPreview, value);
-        }
-    return value;
-    }
-    
-    
-void CAknFepSharedDataInterface::SetFepShowVkbPreviewStatus(TInt aValue)
-    {
-    if (iAknFepRepository)
-        {
-        iAknFepRepository->Set(KAknFepShowVkbPreview, aValue);
-        }
-    } 
-    
-TInt CAknFepSharedDataInterface::FepLastUseVkbModeForLandscape()
-    {
-    TInt value = 4;
-    if (iAknFepRepository)
-        {
-        iAknFepRepository->Get(KAknFepLastUseVkbMode, value);
-        }
-    return value;
-    }
-    
-    
-void CAknFepSharedDataInterface::SetFepLastUseVkbModeForLandscape(TInt aValue)
-    {
-    if (iAknFepRepository)
-        {
-        iAknFepRepository->Set(KAknFepLastUseVkbMode, aValue);
-        }
-    }           
-
-TBool CAknFepSharedDataInterface::AutoRotateEnabled()
-	{
-	TInt sensorState( 0 );    
-
-    if (iSensorRepository)
-        {
-        iSensorRepository->Get( KSenSettingsSensorsOn, sensorState );
-        }
-    if ( sensorState )
-        {
-        TInt turnCtrl = 0;
-        iSensorRepository->Get( KSenSettingsTurnCtrl, turnCtrl );
-        turnCtrl = turnCtrl >> 2;
-            
-        if ( turnCtrl ) 
-            {
-            return ETrue;
-            }
-        }
-    
-    return EFalse;
-	}       
-
-#ifdef	RD_INTELLIGENT_TEXT_INPUT
-#ifdef __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-/**
-* Queries if numbers (and other characters found behind Fn) can be entered with long key press on QWERTY.
-*/
-TBool CAknFepSharedDataInterface::LongPressNumberEntryOnQwerty() const
-    {
-	TInt value = 0;
-      if (iAknFepRepository)
-        {
-        iAknFepRepository->Get(KAknFepLongPressNumberEntryOnQwerty, value);
-        }
-    return value;
-    }
-
-/**
-* Queries if copy-pasting with shift+softkeys is available also on QWERTY.
-*/
-TBool CAknFepSharedDataInterface::ShiftCopyPastingOnQwerty() const
-    {
-	TInt value = 0;
-      if (iAknFepRepository)
-        {
-        iAknFepRepository->Get(KAknFepShiftCopyPasteOnQwerty, value);
-        }
-    return value;
-    }
-#endif // __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__	
-#endif	// RD_INTELLIGENT_TEXT_INPUT
-
-#ifdef  RD_SCALABLE_UI_V2
-// ---------------------------------------------------------------------------
-// Get a value of current default on screen vkb.
-// It depends on input lanage is PRC/HW/TW Chinese.
-// ---------------------------------------------------------------------------
-//  
-TInt CAknFepSharedDataInterface::DefaultOnScreenVKB()
-    {
-    TInt value = 0;
-    switch( PenInputLanguage() )
-        {
-        case ELangPrcChinese:
-            {
-            iGsPenSettings->Get( KSettingsDefaultVkbPrc, value );
-            }
-            break;
-        case ELangHongKongChinese:
-            {
-            iGsPenSettings->Get( KSettingsDefaultVkbHk, value );
-            }
-            break;
-         case ELangTaiwanChinese:
-            {
-            iGsPenSettings->Get( KSettingsDefaultVkbTw, value );
-            }
-            break;
-         default:
-            break;
-        }
-    return value;
-    };
-#endif
-
-// End of File
--- a/fep/aknfep/src/AknFepThaiSCTSelector.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,180 +0,0 @@
-/*
-* Copyright (c) 2003-2004 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:           
-*       Provides the CAknFepThaiSCTSelector methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepThaiSCTSelector.h"
-#include "AknFepUIManagerStateInterface.h"      //MAknFepUIManagerStateInterface
-
-#include "AknFepCaseManager.h"
-
-#include <uikon.hrh>
-#include <PtiEngine.h>
-#include <PtiDefs.h>
-#include <aknSctDialog.h>
-#include <avkon.rsg>
-#include <aknfep.rsg>
-#include <e32std.h>
-
-#include <AknFepManager.h>
-CAknFepThaiSCTSelector::CAknFepThaiSCTSelector()
-    {
-    }
-
-CAknFepThaiSCTSelector::~CAknFepThaiSCTSelector()
-    {
-    }
-
-TInt CAknFepThaiSCTSelector::ThaiSCRResourceId(TUint aPrevGlyph, TInt aKey)//TInt aResID)
-    {
-    return(ThaiSctCharMap(ThaiGlyphType(aPrevGlyph), aKey));
-    }
-
-
-CAknFepThaiSCTSelector *CAknFepThaiSCTSelector::NewL()
-    {
-    
-    CAknFepThaiSCTSelector *self = new(ELeave)CAknFepThaiSCTSelector;
-    return (self);
-    
-    }
-
-TInt CAknFepThaiSCTSelector::ThaiSctCharMap(enum AknFepSCTThaiGlyphTypes aGlyphType, TInt aKey)
-    {
-    switch (aGlyphType)
-        {
-        case EAknFepThaiCharNonThai:
-        case EAknFepThaiCharNon:
-        case EAknFepThaiCharLV:
-        case EAknFepThaiCharFV1:
-        case EAknFepThaiCharFV2:
-        case EAknFepThaiCharFV3:
-        case EAknFepThaiCharBD:
-        case EAknFepThaiCharTone:
-        case EAknFepThaiCharAD1:
-        case EAknFepThaiCharAD2:
-        case EAknFepThaiCharAD3:
-            return((aKey==EPtiKeyStar) ? R_AKNFEP_SCT_THAI_STAR_COMMON : 
-                                         R_AKNFEP_SCT_THAI_0_COMMON);
-                
-        case EAknFepThaiCharCons:
-            return((aKey==EPtiKeyStar) ? R_AKNFEP_SCT_THAI_STAR_CONS : 
-                                         R_AKNFEP_SCT_THAI_0_CONS );
-            
-        case EAknFepThaiCharAV1:
-        case EAknFepThaiCharBV1:
-            return((aKey==EPtiKeyStar) ? R_AKNFEP_SCT_THAI_STAR_AV1_BV1 : 
-                                         R_AKNFEP_SCT_THAI_0_AV1_BV1);
-            
-        case EAknFepThaiCharAV2:
-        case EAknFepThaiCharBV2:
-            return((aKey==EPtiKeyStar) ? R_AKNFEP_SCT_THAI_STAR_AV2_BV2 : 
-                                         R_AKNFEP_SCT_THAI_0_AV2_BV2);
-            
-        case EAknFepThaiCharAV3:
-            return((aKey==EPtiKeyStar) ? R_AKNFEP_SCT_THAI_STAR_AV3 : 
-                                         R_AKNFEP_SCT_THAI_0_AV3);
-            
-        default:
-            return(0);
-        }
-    }
-
-AknFepSCTThaiGlyphTypes CAknFepThaiSCTSelector::ThaiGlyphType(TUint aGlyph)
-    {
-    if (aGlyph >= 0x0E01 && aGlyph <= 0x0E2E && aGlyph != 0x0E24 && aGlyph != 0x0E26 )
-        {
-        return(EAknFepThaiCharCons);
-        }
-    else if (aGlyph >= 0x0E40 && aGlyph <= 0x0E44)
-        {
-        return(EAknFepThaiCharLV);
-        }
-    else if (aGlyph == 0x0E30 || aGlyph == 0x0E32 || aGlyph == 0x0E33)
-        {
-        return(EAknFepThaiCharFV1);
-        }
-    else if (aGlyph == 0x0E45)
-        {
-        return(EAknFepThaiCharFV2);
-        }
-    else if (aGlyph == 0x0E24 || aGlyph == 0x0E26)
-        {
-        return(EAknFepThaiCharFV3);
-        }
-    else if (aGlyph == 0x0E38)
-        {
-        return(EAknFepThaiCharBV1);
-        }
-    else if (aGlyph == 0x0E39)
-        {
-        return(EAknFepThaiCharBV2);
-        }
-    else if (aGlyph == 0x0E3A)
-        {
-        return(EAknFepThaiCharBD);
-        }
-    else if (aGlyph >= 0x0E48 && aGlyph <= 0x0E4B)
-        {
-        return(EAknFepThaiCharTone);
-        }
-    else if (aGlyph == 0x0E4C || aGlyph == 0x0E4D)
-        {
-        return(EAknFepThaiCharAD1);
-        }
-    else if (aGlyph == 0x0E47)
-        {
-        return(EAknFepThaiCharAD2);
-        }
-    else if (aGlyph == 0x0E4E)
-        {
-        return(EAknFepThaiCharAD3);
-        }
-    else if (aGlyph == 0x0E34)
-        {
-        return(EAknFepThaiCharAV1);
-        }
-    else if (aGlyph == 0x0E31 || aGlyph == 0x0E36)
-        {
-        return(EAknFepThaiCharAV2);
-        }
-    else if (aGlyph == 0x0E35 || aGlyph == 0x0E37)
-        {
-        return(EAknFepThaiCharAV3);
-        }
-    else
-        {
-        return(EAknFepThaiCharNonThai);
-        }
-    
-    
-    }
-
-
-// End of file
-
-
--- a/fep/aknfep/src/AknFepUIInputStateEntryMiniQwertyCangJie.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,263 +0,0 @@
-/*
-* Copyright (c) 2007 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:           
-*       Provides the  TAknFepInputStateEntryMiniQwertyCangJie methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUICtrlPinyinPopup.h"
-#include "AknFepUIInputStateEntryMiniQwertyCangJie.h"
-
-
-#include "AknFepManager.h"                  //FepMan flag
-#include "AknFepUICtrlInputPane.h"
-#include "AknFepUiCtrlContainerChinese.h"
-#include <aknfep.rsg>
-#include <PtiEngine.h>      //CPtiEngine
-#include <e32keys.h>        //keys  
-#include <avkon.rsg>
-
-//const TInt KInputPaneLength = 32;
-//_LIT(KSep, "'");
-//_LIT(KReplace, "");
-
-TAknFepInputStateEntryMiniQwertyCangJie::TAknFepInputStateEntryMiniQwertyCangJie(
-                               MAknFepUIManagerStateInterface* aOwner,
-                               MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateEntryQwertyBaseChinesePhrase(aOwner,aUIContainer)                           
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();    
-    if(iOwner->FepMan()->CangJieMode() == EPtiEngineNormalCangjieQwerty)
-        {
-        ptiengine->SetInputMode(EPtiEngineNormalCangjieQwerty);            
-        }
-    else if(iOwner->FepMan()->CangJieMode() == EPtiEngineEasyCangjieQwerty)
-        {
-        ptiengine->SetInputMode(EPtiEngineEasyCangjieQwerty);            
-        }
-    else
-        {
-        ptiengine->SetInputMode(EPtiEngineAdvCangjieQwerty);            
-        }
-    ptiengine->SetCase(EPtiCaseLower);
-    UIContainer()->CandidatePane()->ShowCandidateOrdinals(EFalse);
-    }
-
-TBool TAknFepInputStateEntryMiniQwertyCangJie::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    TBool ret = ETrue;
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlInputPane* inputPane = uiContainer->InputPane();
-    MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-
-    if(aKey == EStdKeyLeftFunc && aLength == EShortKeyPress)//chr key to close UI
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        ret = EFalse;
-        }
-    else if( CAknFepFnKeyManager::EFnKeyNext == iOwner->FepMan()->FnKeyState() ||
-             CAknFepFnKeyManager::EFnKeyLock == iOwner->FepMan()->FnKeyState() ||
-             CAknFepFnKeyManager::EFnKeyDown == iOwner->FepMan()->FnKeyState())
-        {
-    	iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-    	ret = ETrue;
-        }
-    else if (iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagShiftKeyDepressed) ||
-             iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed))
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        ret = EFalse;
-        }   
-    else if (aKey == EKeyLeftShift || aKey ==EKeyLeftCtrl || aKey == EKeyRightCtrl)      
-        {
-    	iOwner->FepMan()->TryCloseUiL();
-        ret = EFalse;
-        }
-    else if (aKey ==EKeyRightFunc)//fn
-    	{
-    	iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-    	ret = ETrue;
-    	}    
-    else if(aKey == EStdKeyBackspace)//should have long and short 
-        {
-        if (iOwner->PtiEngine()->DeleteKeyPress().Length())
-            {
-            uiContainer->ShowVerticalScrollArrows(!(uiContainer->CandidatePane()->IsLastPage() &&
-                                                    uiContainer->CandidatePane()->IsFirstPage()));
-            SetInputPaneToneMark();
-            inputPane->SetFlag(MAknFepUICtrlInputPane::EPhoneticChanged);
-            RefreshUI();
-            }
-        else
-            {
-            iOwner->FepMan()->TryCloseUiL();
-            if (aLength == ELongKeyPress)
-                {
-                iOwner->FepMan()->SetLongClearAfterCloseUI(ETrue);
-                }
-            }
-        }
-    else if ( aKey == EStdKeyDevice0 || aKey == EStdKeyDevice3 || aKey == EStdKeySpace ) // Add for SK1
-        {
-        TPtrC text = UIContainer()->CandidatePane()->CurrentPhraseCandidate();
-        if(text.Length())
-            {            
-            MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-            fepMan->NewTextL(text);
-            fepMan->CommitInlineEditL();
-            iOwner->PtiEngine()->SetPredictiveChineseChar(text);
-            if (fepMan->IsFlagSet(CAknFepManager::EFlagEditorFull))
-                {
-                fepMan->ClearFlag(CAknFepManager::EFlagEditorFull);
-                iOwner->FepMan()->TryCloseUiL();
-                }
-            else
-                {
-                iOwner->ChangeState(EPredictiveCandidate);
-                }
-            }
-        } 
-    else if(aKey == EStdKeyUpArrow)
-        {
-    	if (candidatePane->IsFirstPage())
-            {
-            return ETrue;   
-            }
-        candidatePane->PreviousCandidatePage(); 
-        candidatePane->SetCandidateBuffer();
-        candidatePane->SelectFirstPhrase();
-        UpdateIndicator();
-        }
-    else if(aKey == EStdKeyDownArrow)
-        {
-        return TAknFepInputStateCandidateQwertyBaseChinesePhrase::HandleKeyL(aKey, aLength);
-        }
-    else if( aKey == EStdKeyRightArrow )
-        {
-        if ( candidatePane->VisibleCandidateCount() != 1 )
-	        {
-	        iOwner->ChangeState( ECandidate );  
-	    	candidatePane->SelectNext(); 	
-	    	UpdateIndicator();
-	        }    	
-        }
-    else if ( aKey == EStdKeyLeftArrow )  
-    	{
-    	if ( candidatePane->VisibleCandidateCount()!= 1 )
-	    	{
-	    	iOwner->ChangeState( ECandidate );  
-	        candidatePane->SelectLastPhrase();	
-	        UpdateIndicator();
-	    	}
-    	}     
-    else if(aLength == EShortKeyPress && iOwner->IsValidChineseInputKeyQwerty(aKey))
-        {
-       
-        TInt stringBeforeLength(0);
-        TInt stringAfterLength(0);
-        
-        stringBeforeLength = ptiengine->GetPhoneticSpelling(1).Length();
-        stringAfterLength = ptiengine->AppendKeyPress((TPtiKey)aKey).Length();
-        
-        if (stringBeforeLength != stringAfterLength)
-            {
-            if (ptiengine->GetPhoneticSpelling(1).Length() == 1)
-                {
-               // iOwner->FepMan()->UpdateCbaL(R_AVKON_SOFTKEYS_EMPTY);
-                iOwner->FepMan()->UpdateCbaL(R_AKNFEP_SOFTKEYS_OK_SELECT_CANCEL);
-                }
-            
-            TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() &&
-                                    uiContainer->CandidatePane()->IsFirstPage());
-            TInt bufLength = ptiengine->CandidatePage().Length();
-            TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-        
-            uiContainer->ShowVerticalScrollArrows(!(uiContainer->CandidatePane()->IsLastPage() &&
-                                                    uiContainer->CandidatePane()->IsFirstPage()));
-            uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows);         
-            SetInputPaneToneMark();
-            uiContainer->InputPane()->SetFlag(MAknFepUICtrlInputPane::EPhoneticChanged);
-
-            RefreshUI();
-            }
-        else
-            {
-            iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-            }
-            
-        if (ptiengine->GetPhoneticSpelling(1).Length() == 0)
-            {
-            iOwner->FepMan()->UpdateCbaL(NULL);
-            }
-        }
-    else    
-        {
-        ret = TAknFepInputStateEntryQwertyBaseChinesePhrase::HandleKeyL(aKey, aLength);
-        }
-        
-    return ret;
-    }
-
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryMiniQwertyCangJie::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateEntryMiniQwertyCangJie::HandleCommandL( TInt aCommandId )
-    {
-    TPtrC text = UIContainer()->CandidatePane()->CurrentPhraseCandidate( );
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan( );
-    switch ( aCommandId )
-        {
-        // Handle the event frome command.
-        case EAknSoftkeySelect:
-     //   case (TUint16)EAknSoftkeySelect: //the Selected in soft CBA
-            if ( text.Length( ) )
-                {
-                fepMan->NewTextL( text );
-                fepMan->CommitInlineEditL( );
-                iOwner->PtiEngine()->SetPredictiveChineseChar( text );
-                if ( fepMan->IsFlagSet( CAknFepManager::EFlagEditorFull ) )
-                    {
-                    fepMan->ClearFlag( CAknFepManager::EFlagEditorFull );
-                    iOwner->FepMan()->TryCloseUiL( );
-                    }
-                else
-                    {
-                    iOwner->ChangeState( EPredictiveCandidate );
-                    }
-                }
-            break;
-        default:
-            TAknFepInputStateChineseBase::HandleCommandL( aCommandId );
-            break;
-        }
-    }
-// End of file
--- a/fep/aknfep/src/AknFepUIInputStateEntryMiniQwertyPinyinPhrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,358 +0,0 @@
-/*
-* Copyright (c) 2007 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:           
-*       Provides the  TAknFepInputStateEntryMiniQwertyPinyinPhrase methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUICtrlPinyinPopup.h"
-#include "AknFepUIInputStateEntryMiniQwertyPinyinPhrase.h"
-#include "aknfepuictrleditpane.h"           //pinyin phrase creation
-
-#include "AknFepManager.h"                  //FepMan flag
-#include "AknFepUICtrlInputPane.h"
-#include "AknFepUiCtrlContainerChinese.h"
-#include <aknfep.rsg>
-#include <PtiEngine.h>      //CPtiEngine
-#include <e32keys.h>        //keys  
-#include <avkon.rsg>
-
-const TInt KManualChangeState = 0; 
-//const TUint16 KSegment = 0x0020;
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryMiniQwertyPinyinPhrase::TAknFepInputStateEntryMiniQwertyPinyinPhrase
-// C++ default constructor
-// ---------------------------------------------------------------------------
-//
-TAknFepInputStateEntryMiniQwertyPinyinPhrase::TAknFepInputStateEntryMiniQwertyPinyinPhrase(
-     MAknFepUIManagerStateInterface* aOwner,MAknFepUICtrlContainerChinese* aUIContainer ):
-     TAknFepInputMiniQwertyPinyinPhraseBase( aOwner, aUIContainer)
-    {
-    iState = EEntry;
-    iOwner->PtiEngine()->SetInputMode( EPtiEnginePinyinPhraseQwerty );
-    iOwner->PtiEngine()->SetCase( EPtiCaseLower );
-    UIContainer()->SetLayout( MAknFepUICtrlContainerChinese::ELayoutKeystroke );
-    UIContainer()->FocusCandidatePane( ETrue );
-    UIContainer()->CandidatePane()->SelectFirstPhrase();
-    UIContainer()->CandidatePane()->ShowCandidateOrdinals( EFalse );
-    UIContainer()->EditPaneWindow()->DeactiveCursor();
-    UIContainer()->SetFepMan( iOwner->FepMan() );
-    // so that it could handle EKeyCBA1
-    iOwner->FepMan()->EntryPhrase( ETrue );
-    RefreshUI( ETrue );
-    }
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryMiniQwertyPinyinPhrase::HandleKeyL
-// Handle system key press event.
-// ---------------------------------------------------------------------------
-//     
-TBool TAknFepInputStateEntryMiniQwertyPinyinPhrase::HandleKeyL( TInt aKey,
-    TKeyPressLength aLength )
-    {
-    TBool ret = ETrue;
-    MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-    switch ( aKey )
-        {
-        case EStdKeyLeftFunc: //chr key
-        case EStdKeySpace:
-        case EStdKeyBackspace:
-        case EStdKeyEnter:
-            {
-            ret = TAknFepInputMiniQwertyPinyinPhraseBase::HandleKeyL( aKey,
-                aLength );
-            break;
-            }
-        case EKeyLeftShift:
-        case EKeyRightShift:
-        case EKeyLeftCtrl:
-        case EKeyRightCtrl:
-        case EKeyRightFunc://fn 
-        case EKeyLeftFunc: // fn 
-            {
-            iOwner->FepMan()->TryCloseUiL();
-            ret =EFalse;
-            break;
-            }
-        case EStdKeyUpArrow:
-            {
-            if ( candidatePane->IsFirstPage() )
-                {
-                UIContainer()->EditPaneWindow()->SetAutoChangeStateFlag( KManualChangeState );
-                iOwner->ChangeState( EMiniQwertyEdit );
-                ret = ETrue;
-                }
-            else 
-                {
-                candidatePane->PreviousCandidatePage();
-                candidatePane->SetCandidateBuffer();
-                candidatePane->SelectFirst();
-                UpdateIndicator();
-                }
-            break;
-            }
-        case EStdKeyDownArrow:
-            {
-            ret = TAknFepInputStateCandidateQwertyBaseChinesePhrase::HandleKeyL( aKey, aLength );
-            break;
-            }
-        case EStdKeyRightArrow:
-            {
-            if ( candidatePane->VisibleCandidateCount()!= 1 )
-                {
-                iOwner->ChangeState( ECandidate );
-                candidatePane->SelectNext();
-                UpdateIndicator();
-                }
-            break;
-            }
-        case EStdKeyLeftArrow:
-            {
-            if ( candidatePane->VisibleCandidateCount()!= 1 )
-                {
-                iOwner->ChangeState( ECandidate );
-                TInt numbertotal = UIContainer()->CandidatePane()->VisibleCandidateCount();
-                UIContainer()->CandidatePane()->SelectIndex( numbertotal - 1 );
-                UpdateIndicator();
-                }
-            break;
-            }
-        case EStdKeyDevice0: //select key 
-        case EStdKeyDevice3: // msk 
-            {
-            ret = TAknFepInputMiniQwertyPinyinPhraseBase::HandleKeyL(
-               aKey, aLength );
-            break;
-            }
-        case EStdKeyDevice1:
-            {
-            iOwner->FepMan()->TryCloseUiL();
-            break;
-            }
-        case EStdKeySingleQuote:
-            {
-            iOwner->FepMan()->PlaySound( EAvkonSIDStandardKeyClick );
-            break;
-            }
-        default:
-               // chr + character 
-            if ( iOwner->FepMan()->IsFlagSet( CAknFepManager::EFlagShiftKeyDepressed )
-                    || iOwner->FepMan()->IsFlagSet( CAknFepManager::EFlagQwertyChrKeyDepressed ) )
-                {
-                iOwner->FepMan()->TryCloseUiL();
-                ret = EFalse;
-                }
-            else if ( CAknFepFnKeyManager::EFnKeyNext == iOwner->FepMan()->FnKeyState() 
-                    || CAknFepFnKeyManager::EFnKeyLock == iOwner->FepMan()->FnKeyState()
-                    || CAknFepFnKeyManager::EFnKeyDown == iOwner->FepMan()->FnKeyState()
-                    ||!iOwner->IsValidChineseInputKeyQwerty( aKey ) ) //fn play error tone
-                    {
-                    iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-                    }
-            else
-                 {
-                  ret = TAknFepInputMiniQwertyPinyinPhraseBase::HandleKeyL(
-                     aKey, aLength );
-                 }
-            break;
-        }
-    return ret;
-    };
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEditinigMiniQwertyPinyinPhrase::TAknFepInputStateEditinigMiniQwertyPinyinPhrase
-// C++ default constructor
-// ---------------------------------------------------------------------------
-//
-TAknFepInputStateEditinigMiniQwertyPinyinPhrase::TAknFepInputStateEditinigMiniQwertyPinyinPhrase( 
-    MAknFepUIManagerStateInterface* aOwner,MAknFepUICtrlContainerChinese* aUIContainer ):
-    TAknFepInputMiniQwertyPinyinPhraseBase( aOwner,aUIContainer )                           
-    {
-    iState = EMiniQwertyEdit;
-    iOwner->PtiEngine()->SetInputMode( EPtiEnginePinyinPhraseQwerty );
-    iOwner->PtiEngine()->SetCase( EPtiCaseLower );
-    RefreshUI( ETrue );
-    UIContainer()->FocusCandidatePane( EFalse );
-    UIContainer()->CandidatePane()->ShowCandidateOrdinals( EFalse );
-    UIContainer()->EditPaneWindow()->ActiveCursor();
-    }
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEditinigMiniQwertyPinyinPhrase::HandleKeyL
-// Handle system key press event.
-// ---------------------------------------------------------------------------
-// 
-TBool TAknFepInputStateEditinigMiniQwertyPinyinPhrase::HandleKeyL( TInt aKey ,TKeyPressLength aLength )
-    {
-    TBool ret = ETrue;
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-    if ( iOwner->FepMan()->GetComposChrFlag() && aKey == EStdKeyLeftFunc )
-        {
-        iOwner->FepMan()->SetComposChrFlag(EFalse);
-        return ETrue;
-        }
-    switch ( aKey )
-        {
-        //the following key is handled by the base class 
-        case EStdKeyLeftFunc: //chr key
-        case EStdKeySpace:
-        case EStdKeyBackspace:
-        case EStdKeyEnter:
-        case EStdKeyRightArrow:
-        case EStdKeyLeftArrow:
-            {
-            ret = TAknFepInputMiniQwertyPinyinPhraseBase::HandleKeyL(
-                aKey, aLength);
-            break;
-            }
-        case EKeyLeftShift:
-        case EKeyRightShift:
-        case EKeyLeftCtrl:
-        case EKeyRightCtrl:
-        case EKeyRightFunc://fn 
-        case EKeyLeftFunc: // fn 
-            {
-            if ( !uiContainer->EditPaneWindow()->GetAutoChangeStateFlag()
-                 || uiContainer->EditPaneWindow()->PhraseArray()->Count() != 0)
-                {
-                iOwner->FepMan()->PlaySound( EAvkonSIDStandardKeyClick );
-                ret = ETrue;
-                }
-            else
-                {
-                iOwner->FepMan()->TryCloseUiL();
-                ret = EFalse;
-                }
-            break;
-            }
-    // inactive 
-        case EStdKeyUpArrow:
-            {
-            break;
-            }
-            //if the canidate is empty ,inactive;else candiniate selecting state
-        case EStdKeyDownArrow:
-            {
-            if ( 0 != candidatePane->VisibleCandidateCount() )
-                {
-                uiContainer->EditPaneWindow()->SetChangeState( ETrue );
-                iOwner->ChangeState( ECandidate );
-                }
-            break;
-            }
-        case EStdKeyDevice0:
-        case EStdKeyDevice3:
-            {
-            ret = TAknFepInputMiniQwertyPinyinPhraseBase::HandleKeyL(
-                aKey, aLength);
-            break;
-            }
-          
-        case EStdKeyDevice1:
-            {
-            iOwner->FepMan()->TryCloseUiL();
-            break;
-            }
-        case EStdKeySingleQuote:
-            {
-            iOwner->FepMan()->PlaySound( EAvkonSIDStandardKeyClick );
-            break;
-            }
-        default:
-            // chr + character 
-            if ( iOwner->FepMan()->IsFlagSet( CAknFepManager::EFlagShiftKeyDepressed )
-                || iOwner->FepMan()->IsFlagSet( CAknFepManager::EFlagQwertyChrKeyDepressed ) )
-                {
-                iOwner->FepMan()->SetComposChrFlag( ETrue );
-                if ( !uiContainer->EditPaneWindow()->GetAutoChangeStateFlag()
-                      || uiContainer->EditPaneWindow()->PhraseArray()->Count() != 0)
-                    {
-                    iOwner->FepMan()->PlaySound(EAvkonSIDStandardKeyClick);
-                    return  ETrue;
-                    }
-                else
-                    {
-                    iOwner->FepMan()->TryCloseUiL();
-                    return EFalse;
-                    }
-                }
-            else
-                {
-                ret = TAknFepInputMiniQwertyPinyinPhraseBase::HandleKeyL(
-                    aKey, aLength);
-                break;
-                }
-        }
-    return ret;
-    }
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryMiniQwertyPinyinPhrase::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateEntryMiniQwertyPinyinPhrase::HandleCommandL(
-    TInt aCommandId )
-    {
-    TPtrC text = UIContainer()->CandidatePane()->CurrentPhraseCandidate( );
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan( );
-    switch ( aCommandId )
-        {
-        // Handle the event frome command.
-        case EAknSoftkeySelect:
-    //    case (TUint16)EAknSoftkeySelect: //the Selected in soft CBA
-            if ( text.Length( ) )
-                {
-                fepMan->NewTextL( text );
-                fepMan->CommitInlineEditL( );
-                iOwner->PtiEngine()->SetPredictiveChineseChar( text );
-                if ( fepMan->IsFlagSet( CAknFepManager::EFlagEditorFull ) )
-                    {
-                    fepMan->ClearFlag( CAknFepManager::EFlagEditorFull );
-                    iOwner->FepMan()->TryCloseUiL( );
-                    }
-                else
-                    {
-                    iOwner->ChangeState( EPredictiveCandidate );
-                    }
-                }
-            break;
-        default:
-            TAknFepInputStateChineseBase::HandleCommandL( aCommandId );
-            break;
-        }
-    }
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEditinigMiniQwertyPinyinPhrase::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateEditinigMiniQwertyPinyinPhrase::HandleCommandL(
-    TInt aCommandId )
-    {
-    TAknFepInputMiniQwertyPinyinPhraseBase::HandleCommandL( aCommandId );
-    }
-// End Of File
-
--- a/fep/aknfep/src/AknFepUIInputStatePredictiveInputMiniQwertyChinesePhrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,212 +0,0 @@
-/*
-* 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:            Implementation of predictive input phrase state
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUiInputStatePredictiveInputMiniQwertyChinesePhrase.h"
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-#include "aknfepuictrleditpane.h"
-
-#include <PtiEngine.h>                      //CPtiEngine
-
-TAknFepInputStatePredictiveInputMiniQwertyChinesePhrase::
-TAknFepInputStatePredictiveInputMiniQwertyChinesePhrase(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateCandidateQwertyBaseChinesePhrase(aOwner, aUIContainer)
-    {
-    iState = EPredictiveInput;
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-
-    candidatePane->SelectFirstPhrase(); 
-
-    TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() &&
-                            uiContainer->CandidatePane()->IsFirstPage());
-    TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-
-    UIContainer()->ShowHorizontalScrollArrows(showHorizontalScrollArrows); 
-    UIContainer()->ShowVerticalScrollArrows(multiplePages);
-    uiContainer->FocusCandidatePane(ETrue);
-    candidatePane->ShowCandidateOrdinals(ETrue);
-    UpdateIndicator();
-    }
-
-TBool TAknFepInputStatePredictiveInputMiniQwertyChinesePhrase::HandleKeyL(TInt aKey, 
-                                                                          TKeyPressLength aLength)
-    {  
-    TInt selected = UIContainer()->CandidatePane()->SelectedIndex();
-    TInt numbertotal = UIContainer()->CandidatePane()->VisibleCandidateCount();
-    
-    if (iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed))
-        {
-    	return ETrue;
-        }
-    else if (iOwner->FepMan()->FnKeyState())
-        {
-        return ETrue;
-        }
-    else if(aKey == EStdKeyBackspace )
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        return ETrue;
-        }               
-    else if (aKey ==EKeyRightFunc)//fn key
-    	{
-    	iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-    	return ETrue;
-    	} 
-    else if ( aKey ==EStdKeySpace)
-    	{
-    	if (ECangJie ==iOwner->FepMan()->InputMode())
-    		{
-    		TPtrC text = UIContainer()->CandidatePane()->CurrentPhraseCandidate();
-	        if(text.Length())
-	            {            
-	            MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-	            fepMan->NewTextL(text);
-	            fepMan->CommitInlineEditL();
-	            iOwner->PtiEngine()->SetPredictiveChineseChar(text);
-	            if (fepMan->IsFlagSet(CAknFepManager::EFlagEditorFull))
-	                {
-	                fepMan->ClearFlag(CAknFepManager::EFlagEditorFull);
-	                iOwner->FepMan()->TryCloseUiL();
-	                }
-	            else
-	                {
-	                iOwner->ChangeState(EPredictiveCandidate);
-	                }
-	            }
-	        return ETrue;
-    		}
-    	else 
-    		{
-            return ETrue; 
-    		}
-    	}	 	           
-    else if ( aKey == EKeyLeftShift || aKey == EKeyRightShift)
-        {
-//        iOwner->FepMan()->TryCloseUiL();
-//        return EFalse;
-        iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-        return ETrue;
-        }      
-    else if ( aKey == EStdKeyDevice0 || aKey == EStdKeyDevice3 || aKey == EStdKeyEnter )
-        {
-        TPtrC text = UIContainer()->CandidatePane()->CurrentPhraseCandidate();
-        if(text.Length())
-            {            
-            MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-            fepMan->NewTextL(text);
-            fepMan->CommitInlineEditL();
-            iOwner->PtiEngine()->SetPredictiveChineseChar(text);
-            if (fepMan->IsFlagSet(CAknFepManager::EFlagEditorFull))
-                {
-                fepMan->ClearFlag(CAknFepManager::EFlagEditorFull);
-                iOwner->FepMan()->TryCloseUiL();
-                }
-            else
-                {
-                iOwner->ChangeState(EPredictiveCandidate);
-                UIContainer()->EditPaneWindow()->SetChangeState(ETrue);
-                }
-            }
-        return ETrue;
-        }   
-    else if (aKey == EStdKeyLeftArrow)//in the same row
-        {
-        if (selected == 0)
-           {
-       	    UIContainer()->CandidatePane()->SelectIndex(numbertotal-1);
-           }
-        else
-           {
-       	    UIContainer()->CandidatePane()->SelectIndex(selected - 1);
-           } 
-        UIContainer()->CandidatePane()->SetHighlighted(ETrue);     
-        return ETrue;	
-        }
-    else if (aKey == EStdKeyRightArrow)//in the same row
-        {
-    	if (selected == numbertotal-1)
-    		{
-       	    UIContainer()->CandidatePane()->SelectIndex(0);
-    		}
-    	else
-    		{
-       	    UIContainer()->CandidatePane()->SelectIndex(selected + 1);
-    		}
-    	UIContainer()->CandidatePane()->SetHighlighted(ETrue);     
-        return ETrue;		
-        }        
-    else
-        {
-        return TAknFepInputStateCandidateQwertyBaseChinesePhrase::HandleKeyL(aKey, aLength);
-        } 
-   // return EFalse;       
-    } 
-  
-// ---------------------------------------------------------------------------
-// TAknFepInputStatePredictiveInputMiniQwertyChinesePhrase::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStatePredictiveInputMiniQwertyChinesePhrase::HandleCommandL(
-    TInt aCommandId )
-    {
-    TPtrC text = UIContainer()->CandidatePane()->CurrentPhraseCandidate();
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    switch ( aCommandId )
-        {
-        // Handle the event frome command.
-    case EAknSoftkeySelect:
-        //    case (TUint16)EAknSoftkeySelect: //the Selected in soft CBA            
-        if ( text.Length() )
-            {
-            fepMan->NewTextL( text );
-            fepMan->CommitInlineEditL();
-            iOwner->PtiEngine()->SetPredictiveChineseChar( text );
-            if ( fepMan->IsFlagSet( CAknFepManager::EFlagEditorFull ) )
-                {
-                fepMan->ClearFlag( CAknFepManager::EFlagEditorFull );
-                iOwner->FepMan()->TryCloseUiL();
-                }
-            else
-                {
-                iOwner->ChangeState( EPredictiveCandidate );
-                }
-            }
-        break;
-    default:
-        TAknFepInputStateChineseBase::HandleCommandL( aCommandId );
-        break;
-    }
-}
-// End of file
--- a/fep/aknfep/src/AknFepUiIndicInputManager.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1130 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the TAknFepUIIndicInputManager methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiIndicInputManager.h"
-// -----------------------------------------------------------------------------
-// TAknFepUiIndicInputManager::ValidateInput
-
-// This function validates the input text given by PtiEngine. This function
-// returns the resopnse code depending on the previous character, current input 
-// character and the next character. Depending on the response code apropriate 
-// action is taken for inputting the current inputed character. This function 
-// incorporates the logic for Devanagari alphabate input.  
-// -----------------------------------------------------------------------------
-
-
-TIndicInputResponse TAknFepUiIndicInputManager::ValidateInput( TInt  aKey, 
-										  TUint aPrevChar,
-										  TUint aCurrChar,
-										  TUint /*aNextChar*/, 
-										  TBool&  aIsHalantOrMatraAllowed,	
-										  TBool aIsStarKeyPressed, 
-										  TBool aIsKeyTimerExpired,
-										  TPtiTextCase& aNewCase, 
-										  TKeyPressLength /*aLength*/,
-										  TLanguage aLanguage,
-										  TBool aIsRakarPresent /* = EFalse*/,
-										  TBool aIsZWSPresent /* = EFalse */ 
-#ifdef RD_MARATHI
-										  , TBool aIsChandraAPresent /* = EFalse */
-#endif // RD_MARATHI
-										  )
-
-	{
-	TIndicInputResponse keyResponse =  EIndicInputResponseNone;
-
-	TPtiTextCase setcase  = EPtiCaseLower;
-	
-	TAknFepUiIndicInputManager::SetHalantOrMatraAllowed( aPrevChar,
-														aIsHalantOrMatraAllowed,
-														aIsKeyTimerExpired,
-														aLanguage );
-	
-	switch( aKey )
-		{
-		case EPtiKey1:
-			{
-			if( IsCharNukta( aCurrChar, aLanguage ) && 
-				( IsCharNuktaConsonant( aPrevChar, aLanguage ) ||
-					!IsCharBaseConsonant( aPrevChar, aLanguage ) ) )
-				{
-				keyResponse = EIndicInputResponseInvalid;
-				}
-#ifdef RD_MARATHI
-			else if( IsCharEyeLashRa( aCurrChar, aLanguage ) )
-				{
-				keyResponse = EIndicInputResponseInsertEyeLashRa;
-				}
-#endif // RD_MARATHI
-
-			else if ( IsCharEmpty( aPrevChar, aLanguage ) )
-				{
-				// The special characters present in key-1 have to be
-				// allowed. So the response is not set to digit directly
-				// But at the same time, skip the fallback modifiers.
-				if( IsCharModifier( aCurrChar, aLanguage ) )
-					{
-					keyResponse = EIndicInputResponseInvalid;
-					}
-				}
-			else if( IsCharRakar( aCurrChar, aLanguage ) )
-				{
-				if( aIsHalantOrMatraAllowed )
-					{
-					keyResponse = EIndicInputResponseInsertRakar;
-					}
-				else
-					{
-					keyResponse = EIndicInputResponseInvalid;
-					}
-				}
-			else if( IsCharRepha( aCurrChar, aLanguage ) )
-				{
-				if( IsRephaAllowed( aPrevChar, aLanguage ) ||
-					( aIsRakarPresent && !aIsKeyTimerExpired ) )
-					{
-					keyResponse = EIndicInputResponseInsertRepha;
-					}
-				else
-					{
-					keyResponse = EIndicInputResponseInvalid;
-					}
-				}
-			else if ( IsCharOther( aPrevChar, aLanguage )
-				     || IsCharVirama( aPrevChar, aLanguage ) )	
-				{
-				// Since the response  cannot be set to digit
-				// directly here, validate the modifiers first.
-				if( IsCharModifier( aCurrChar, aLanguage ) )
-					{
-					if( !IsModifierAllowed( aPrevChar, aLanguage ) )
-						{
-						keyResponse = EIndicInputResponseInvalid;
-						}
-					}
-				}
-			else if ( IsCharModifier( aPrevChar, aLanguage ) )
-				{
-				// Unlike in earlier code, the response  cannot be set to
-				// Digit directly here. The special characters present in 
-				// key-1 have to be allowed. As a result, the fallback 
-				// modifiers need to be skipped.
-				if( IsCharModifier( aCurrChar, aLanguage ) )
-					{
-					if( !IsModifierAllowed( aPrevChar, aLanguage ) )
-						{
-						keyResponse = EIndicInputResponseInvalid;
-						}
-					}
-				else
-					{
-					if (  ! aIsHalantOrMatraAllowed  )
-						{
-						setcase = EPtiCaseUpper;	
-						}
-					else if ( IsCharVirama( aCurrChar, aLanguage ) )
-						{
-						keyResponse = EIndicInputResponseInsertZWS;
-						}	
-					}	
-				}
-#ifdef RD_MARATHI
-			else if( IsCharVirama( aCurrChar, aLanguage ) &&
-				aIsHalantOrMatraAllowed )
-				{
-				keyResponse = EIndicInputResponseInsertZWS;
-				}
-#endif // RD_MARATHI
-
-			// In cases where the response cannot be set to digit directly,
-			// each character in key-1 has to be validated. Example in an 
-			// Here we validate the Virama, Rakara and Repha
-			if( IsCharVirama( aCurrChar, aLanguage ) )
-				{
-				if( keyResponse != EIndicInputResponseInsertZWS )
-					{
-					keyResponse = EIndicInputResponseInvalid;
-					}
-				}
-			else if( IsCharRakar( aCurrChar, aLanguage ) )
-				{
-				if( keyResponse != EIndicInputResponseInsertRakar )
-					{
-					keyResponse = EIndicInputResponseInvalid;
-					}
-				}
-			else if( IsCharRepha( aCurrChar, aLanguage ) )
-				{
-				// In case of empty editor, all the modifiers, virama
-				// and rakar will be skipped. Even the Repha is to be skipped
-				if( keyResponse != EIndicInputResponseInsertRepha )
-					{
-					keyResponse = EIndicInputResponseInvalid;
-					}
-				}
-			}
-			break;
-	    
-	    case EPtiKey2:
-	    case EPtiKey3:
-	    	{
-    		if ( IsCharEmpty( aPrevChar, aLanguage )
-	    		|| IsCharAnVowel( aPrevChar, aLanguage )
-        		|| IsCharModifier( aPrevChar, aLanguage ) 
-#ifdef RD_MARATHI
-				|| ( aIsChandraAPresent && !aIsKeyTimerExpired )
-#endif // RD_MARATHI
-	    		)
-    			{
-	    		setcase = EPtiCaseUpper;
-	    		}
-	    	else if( IsCharVirama( aPrevChar, aLanguage ) )
-	    		{
-	    		setcase = EPtiCaseUpper;
-	    		
-	    		// Response code changed to EIndicInputResponseNone to avoid
-	    		// insertion of ZWS character for Vowels.
-	    		keyResponse = EIndicInputResponseNone;
-	    		}
-	    	else if ( IsCharOther( aPrevChar, aLanguage ) )
-	    		{
-	    		if ( aIsKeyTimerExpired || IsCharSpace( aPrevChar ) || ( ! aIsHalantOrMatraAllowed ) )
-	    			{
-	    			setcase = EPtiCaseUpper;	
-	    			}
-	    		}
-	    	else if ( IsCharMatra( aPrevChar, aLanguage ) )
-		    	{
-	    		if ( aIsKeyTimerExpired )
-	    			{
-	    			setcase = EPtiCaseUpper;	
-	    			}		    	
-		    	}		  
-	    	else if ( IsCharBaseConsonant( aPrevChar, aLanguage )
-		    		|| IsCharNukta( aPrevChar, aLanguage ) )
-			    {
-			    if ( aIsStarKeyPressed )
-			    	{
-					setcase = EPtiCaseUpper;	
-			    	}					
-				}
-#ifdef RD_MARATHI
-            if( IsCharChandraA( aCurrChar ) )
-				{
-				keyResponse = EIndicInputResponseInsertChandraA;
-				}
-#endif // RD_MARATHI
-	    	}
-	    	break;
-	    
-	    case EPtiKey4:
-	    case EPtiKey5:
-	    case EPtiKey6:
-	    case EPtiKey7:
-	    case EPtiKey8:
-	    case EPtiKey9:
-	    	{
-			if ( aIsStarKeyPressed )
-				{
-				if( IsCharBaseConsonant( aCurrChar, aLanguage )
-			       && ( IsCharBaseConsonant( aPrevChar, aLanguage ) || 
-			            IsCharNukta( aPrevChar, aLanguage ) ) )
-					{
-					keyResponse = EIndicInputResponseInsertZWSandLigature;
-					}
-				else if( IsCharBaseConsonant( aCurrChar, aLanguage )
-			       && IsCharVirama( aPrevChar, aLanguage ) )
-					{
-					keyResponse = EIndicInputResponseZWSandCharacter;
-					}
-				}
-			else if( IsCharVirama( aPrevChar, aLanguage ) )
-				{
-				keyResponse = EIndicInputResponseZWSandCharacter;	
-				}
-	    	}
-	    	break;
-	    
-		case EPtiKey0:
-			{
-			// Special ligatures added in key-0.
-			if( IsCharLigature( aCurrChar, aLanguage ) )
-				{
-				if ( aIsStarKeyPressed && 
-						IsCharBaseConsonant( aPrevChar, aLanguage ) )
-					{
-					keyResponse = EIndicInputResponseInsertViramaZWSandDirectLigature;
-					}
-				else if( IsCharVirama( aPrevChar, aLanguage ) && 
-						IsCharAtStartOfLigature( aCurrChar, aLanguage ) && 
-						!aIsZWSPresent )
-					{
-					keyResponse = EIndicInputResponseZWSandDirectLigature;
-					}
-				else
-					{
-					keyResponse = EIndicInputResponseInsertDirectLigature;
-					}
-				}
-			}
-	    break;
-
-	    default:
-		  	{
-			keyResponse = EIndicInputResponseIgnore;
-	      	}
-	    	break;
-			
-		}
-	aNewCase = setcase;
-	return keyResponse;
-	}
-
-
-
-// -----------------------------------------------------------------------------
-// TAknFepUiIndicInputManager::IsCharOther
-
-// This function checks for wheather the character is other character. The other 
-// character includes numbers, character of other languages and spaces.
-// -----------------------------------------------------------------------------
-
-TBool TAknFepUiIndicInputManager::IsCharOther( TUint aChar, TLanguage aLanguage )
-	{
-	TBool result = EFalse;	
-	
-	switch( aLanguage )
-		{	
-		case ELangMarathi:
-		case ELangHindi:
-#ifdef RD_HINDI_PHONETIC_INPUT	
-		
-		case KLangHindiPhonetic:
-#endif		
-			{
-			if ( !( IsCharBaseConsonant( aChar, aLanguage )
-					||	IsCharNukta( aChar, aLanguage )
-					||	IsCharMatra( aChar, aLanguage )
-					||	IsCharAnVowel( aChar, aLanguage )
-					||	IsCharModifier( aChar, aLanguage )
-					||	IsCharVirama( aChar, aLanguage )
-					||  IsCharRakar( aChar, aLanguage )
-					||  IsCharRepha( aChar, aLanguage ) 
-					||	IsCharLigature( aChar, aLanguage ) 
-#ifdef RD_MARATHI
-					||	IsCharEyeLashRa( aChar, aLanguage ) 
-					||  IsCharChandraA( aChar )
-#endif
-					) )
-				{
-				result = ETrue;	
-				}
-			}
-			break;
-		default: /*Other Language*/
-			break;
-		}
-	return( result );	
-	}	
-
-// -----------------------------------------------------------------------------
-// TAknFepUiIndicInputManager::IsCharEmpty
-
-// This function checks wheather the character is null
-// -----------------------------------------------------------------------------
-
-TBool TAknFepUiIndicInputManager::IsCharEmpty( TUint aChar, TLanguage aLanguage )
-	{
-	TBool result = EFalse;	
-	
-	switch( aLanguage )
-		{	
-		case ELangMarathi:
-		case ELangHindi:
-#ifdef RD_HINDI_PHONETIC_INPUT	
-		case KLangHindiPhonetic:
-#endif		
-			{
-			if ( aChar == 0 )
-				{
-				result = ETrue;	
-				}
-			}
-			break;
-		default: /*Other Language*/
-			break;
-		}
-	return( result );	
-	}	
-
-
-// -----------------------------------------------------------------------------
-// TAknFepUiIndicInputManager::IsCharBaseConsonant
-
-// This function checks wheather the character is base consonant
-// -----------------------------------------------------------------------------
-
-TBool TAknFepUiIndicInputManager::IsCharBaseConsonant( TUint aChar, TLanguage aLanguage )
-	{
-	TBool result = EFalse;	
-	
-	switch( aLanguage )
-		{	
-		case ELangMarathi:
-		case ELangHindi:
-#ifdef RD_HINDI_PHONETIC_INPUT	
-		case KLangHindiPhonetic:
-#endif		
-			{
-			if ( ( aChar >= 0x0915 && aChar <= 0x0939 )
-					||( aChar >= 0x0958 && aChar <= 0x095F ) )
-				{
-				result = ETrue;							
-				}
-			}
-			break;
-		default: /*Other Language*/
-			break;
-		}
-	return( result );	
-	}
-
-
-// -----------------------------------------------------------------------------
-// TAknFepUiIndicInputManager::IsCharNukta
-
-// This function checks wheather the character is Nukta.
-// -----------------------------------------------------------------------------
-
- TBool TAknFepUiIndicInputManager::IsCharNukta( TUint aChar, TLanguage aLanguage )
-	{
-	TBool result = EFalse;	
-	
-	switch( aLanguage )
-		{	
-		case ELangMarathi:
-		case ELangHindi:
-#ifdef RD_HINDI_PHONETIC_INPUT	
-		case KLangHindiPhonetic:
-#endif		
-			{
-			if ( aChar == 0x093C )
-				{
-				result = ETrue;	
-				}
-			}
-			break;
-		default: /*Other Language*/
-			break;
-		}
-	
-	return( result );	
-	}
-
-// -----------------------------------------------------------------------------
-// TAknFepUiIndicInputManager::IsCharMatra
-
-// This function checks wheather the character is Nukta.
-// -----------------------------------------------------------------------------
-
-TBool TAknFepUiIndicInputManager::IsCharMatra( TUint aChar,  TLanguage aLanguage )
-	{
-	TBool result = EFalse;	
-	
-	switch( aLanguage )
-		{	
-		case ELangMarathi:
-		case ELangHindi:
-#ifdef RD_HINDI_PHONETIC_INPUT	
-		case KLangHindiPhonetic:
-#endif		
-			{
-			if ( ( aChar >= 0x093E && aChar <= 0x094C ) 
-					||( aChar == 0x0962 || aChar == 0x0963 ) )
-				{
-				result = ETrue;							
-				}
-			}
-			break;
-		default: /*Other Language*/
-			break;
-		}
-	return( result );
-	}
-
-// -----------------------------------------------------------------------------
-// TAknFepUiIndicInputManager::IsCharAnVowel
-
-// This function checks for wheather the character is Nukta.
-// -----------------------------------------------------------------------------
-
- TBool TAknFepUiIndicInputManager::IsCharAnVowel( TUint aChar, TLanguage aLanguage )
-	{
-	TBool result = EFalse;
-	
-	switch( aLanguage )
-		{	
-		case ELangMarathi:
-		case ELangHindi:
-#ifdef RD_HINDI_PHONETIC_INPUT	
-		case KLangHindiPhonetic:
-#endif
-			{
-			if ( ( aChar>=0x0904 && aChar<=0x0914 )
-					||( aChar==0x0960 || aChar==0x0961 ) )
-				{
-				result = ETrue;							
-				}
-			}
-			break;
-		default: /*Other Language*/
-			break;
-		}
-	return( result );
-	}
-
-// -----------------------------------------------------------------------------
-// TAknFepUiIndicInputManager::IsCharModifier
-
-// This function checks wheather the character is Modifier.
-// -----------------------------------------------------------------------------
-
- TBool TAknFepUiIndicInputManager::IsCharModifier( TUint aChar, TLanguage aLanguage )
-	{	
-	TBool result = EFalse;
-	
-	switch( aLanguage )
-		{	
-		case ELangMarathi:
-		case ELangHindi:
-#ifdef RD_HINDI_PHONETIC_INPUT	
-		case KLangHindiPhonetic:
-#endif		
-			{
-			if ( aChar>= 0x0901 && aChar <= 0x0903 )
-				{
-				result = ETrue;	
-				}				
-			}
-			break;
-		default: /*Other Language*/
-			break;
-		}
-	
-	return( result );
-	}
-
-// -----------------------------------------------------------------------------
-// TAknFepUiIndicInputManager::IsCharVirama
-
-// This function checks wheather the character is Halant.
-// -----------------------------------------------------------------------------
-
-
- TBool TAknFepUiIndicInputManager::IsCharVirama( TUint aChar, TLanguage aLanguage )
-	{
-	TBool result = EFalse;
-	
-	switch( aLanguage )
-		{	
-		case ELangMarathi:
-		case ELangHindi:
-#ifdef RD_HINDI_PHONETIC_INPUT	
-		
-		case KLangHindiPhonetic:
-#endif
-			{
-			if ( aChar == 0x094D )
-				{
-				result = ETrue;	
-				}
-			}
-		break;
-		default: /*Other Language*/
-		break;
-		}
-		
-	return( result );
-	}		
-	
-// -----------------------------------------------------------------------------
-// TAknFepUiIndicInputManager::IsCharSpace
-
-// This function checks wheather the character is Space.
-// -----------------------------------------------------------------------------
-
-TBool TAknFepUiIndicInputManager::IsCharSpace( TUint aChar )
-	{
-	TBool result = EFalse;
-	
-	if ( aChar == ( 0x0020 ) )
-		{
-			result = ETrue;	
-		}
-	return( result );	
-	}
-	
-// -----------------------------------------------------------------------------
-// TAknFepUiIndicInputManager::SetHalantAllowed
-
-// This function checks wheather the Halant can be inputted at the current curssor
-// posiotion.
-// -----------------------------------------------------------------------------
-	
-void TAknFepUiIndicInputManager::SetHalantOrMatraAllowed( TUint aPrevChar, 
-													   	TBool& aViramaAllowed,
-													   	TBool aIsKeyTimerExpired,
-													   	TLanguage aLanguage )
-	{
-	if ( IsCharAnVowel( aPrevChar, aLanguage ) )
-		{
-		aViramaAllowed = EFalse;
-		}
-	else if ( IsCharBaseConsonant( aPrevChar, aLanguage ) || 
-		IsCharNukta( aPrevChar, aLanguage ) )
-		{
-		aViramaAllowed = ETrue;
-		}
-	if ( ( IsCharMatra( aPrevChar, aLanguage ) || 
-		IsCharOther( aPrevChar, aLanguage )  || 
-		IsCharVirama( aPrevChar, aLanguage ) ||
-		IsCharModifier( aPrevChar, aLanguage ) ) && aIsKeyTimerExpired )
-		{
-		// The new conditions are required as we are not making the response 
-		// to digit as before. We iterate through all the characters in key-1
-		// and skip the ones which are not required.
-		aViramaAllowed = EFalse;	
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// TAknFepUiIndicInputManager::Virama
-
-// This function returns back the unicode value for Halant.
-// -----------------------------------------------------------------------------
-		
-TUint TAknFepUiIndicInputManager::Virama( TLanguage aLanguage )
-	{
-	TUint ret = 0;
-	switch( aLanguage )
-		{	
-		case ELangMarathi:
-		case ELangHindi:
-#ifdef RD_HINDI_PHONETIC_INPUT	
-		case KLangHindiPhonetic:
-#endif		
-			{
-			ret = 0x094D;	
-			}
-		break;
-		default: /*Other Language*/
-		break;
-		}
-		
-	return( ret );	
-	}
-
-TBool TAknFepUiIndicInputManager :: IsIndicLangauge(TLanguage aInputLanguage)
-	{	
-	TBool ret = EFalse;
-	switch(aInputLanguage)
-		{
-		case ELangHindi:
-		case ELangMarathi:
-			ret = ETrue;
-		break;
-
-		default: /*Other Language*/
-		break;
-		}
-	return ret;
-	}
-
-TBool TAknFepUiIndicInputManager :: IsIndicDigitsSupported(TLanguage aInputLanguage)
-	{	
-	TBool ret = EFalse;
-	switch(aInputLanguage)
-		{
-#ifdef RD_HINDI_PHONETIC_INPUT	
-		
-		case KLangHindiPhonetic:
-			ret = ETrue;
-		break;
-#endif
-		default:
-			TLanguage uiLanguage = User::Language();
-			switch(uiLanguage)
-				{
-				case ELangHindi:
-				case ELangMarathi:
-					ret = ETrue;
-				}
-		}
-	return ret;
-	}
-
-TBool TAknFepUiIndicInputManager::IsRephaAllowed( TUint aChar, TLanguage aLanguage )
-	{
-	TBool result = EFalse;
-
-	switch( aLanguage )
-		{
-		case ELangMarathi:
-		case ELangHindi:
-			{
-			if ( IsCharBaseConsonant( aChar, aLanguage ) ||
-				 IsCharMatra( aChar, aLanguage ) )
-				{
-				result = ETrue;
-				}
-			}
-			break;
-		default: /*Other Language*/
-			break;
-		}
-	return( result );
-	}
-
-TBool TAknFepUiIndicInputManager::IsCharRepha( TUint aChar, TLanguage aLanguage )
-	{
-	TBool result = EFalse;
-	
-	switch( aLanguage )
-		{
-		case ELangMarathi:
-		case ELangHindi:
-			{
-			if ( aChar == 0x0971 )
-				{
-				result = ETrue;
-				}
-			}
-		break;
-		default: /*Other Language*/
-		break;
-		}
-		
-	return( result );
-	}
-
-TUint TAknFepUiIndicInputManager::RaCharacter( TLanguage aLanguage )
-	{
-	TUint ret = 0;
-	switch( aLanguage )
-		{	
-		case ELangMarathi:
-		case ELangHindi:
-			{
-			ret = 0x0930;
-			}
-		break;
-		
-		// Other Language
-		default:
-		break;
-		}
-		
-	return( ret );
-	}
-
-void TAknFepUiIndicInputManager::GetRepha( TDes& aRepha, TLanguage aLanguage )
-	{
-	aRepha.Zero();
-	
-	switch( aLanguage )
-		{
-		case ELangMarathi:
-		case ELangHindi:
-			{
-			TChar raChar( TAknFepUiIndicInputManager::RaCharacter( aLanguage ) );
-			TChar virama( TAknFepUiIndicInputManager::Virama( aLanguage ) );
-			aRepha.Append( raChar );
-			aRepha.Append( virama );
-			}
-			break;
-			
-		// Other Language
-		default:
-		break;
-		}
-	}
-
-TBool TAknFepUiIndicInputManager::IsCharRakar( TUint aChar, TLanguage aLanguage )
-	{
-	TBool result = EFalse;
-	
-	switch( aLanguage )
-		{	
-		case ELangMarathi:
-		case ELangHindi:
-			{
-			if ( aChar == 0x0972 )
-				{
-				result = ETrue;
-				}
-			}
-		break;
-		default: /*Other Language*/
-		break;
-		}
-		
-	return( result );
-	}
-
-void TAknFepUiIndicInputManager::GetRakar( TDes& aRakar, TLanguage aLanguage )
-	{
-	aRakar.Zero();
-	
-	switch( aLanguage )
-		{
-		case ELangMarathi:
-		case ELangHindi:
-			{
-			TChar virama( TAknFepUiIndicInputManager::Virama( aLanguage ) );
-			TChar raChar( TAknFepUiIndicInputManager::RaCharacter( aLanguage ) );
-			aRakar.Append( virama );
-			aRakar.Append( raChar );
-			}
-			break;
-			
-		// Other Language
-		default:
-		break;
-		}
-	}
-#ifdef RD_HINDI_PHONETIC_INPUT	
-TBool TAknFepUiIndicInputManager :: IsIndicPhoneticLanguage(TLanguage aInputLanguage)
-	{
-	TBool ret = EFalse;
-	switch(aInputLanguage)
-		{
-		case KLangHindiPhonetic:
-			ret = ETrue;
-		break;
-		default:
-		break;
-		}
-	return ret;	
-	}
-#endif
-
-
-TBool TAknFepUiIndicInputManager::IsModifierAllowed( TUint aPrevChar, 
-		 											TLanguage aLanguage )
-	{
-	if( IsCharVirama( aPrevChar, aLanguage ) 		||
-			IsCharModifier( aPrevChar, aLanguage ) 	|| 
-			IsCharOther( aPrevChar, aLanguage ) )
-			{
-			return EFalse;
-			}
-
-	return ETrue;
-	}
-
-void TAknFepUiIndicInputManager::GetLigature( TDes& aLigature, 
-									TUint aCurrChar, TLanguage aLanguage )
-	{
-	aLigature.Zero();
-	
-	switch( aLanguage )
-		{
-		case ELangMarathi:
-		case ELangHindi:
-			{
-			switch( aCurrChar )
-				{
-				case 0x0973:
-					{
-					// Ksha
-					aLigature.Append( 0x0915 );
-					aLigature.Append( Virama( aLanguage ) );
-					aLigature.Append( 0x0937 );
-					}
-					break;
-
-				case 0x0974:
-					{
-					// Gya(n)
-					aLigature.Append( 0x091C );
-					aLigature.Append( Virama( aLanguage ) );
-					aLigature.Append( 0x091E );
-					}
-					break;
-
-				case 0x0975:
-					{
-					// Shra
-					aLigature.Append( 0x0936 );
-					aLigature.Append( Virama( aLanguage ) );
-					aLigature.Append( 0x0930 );
-					}
-					break;
-
-				case 0x0976:
-					{
-					// Tra
-					aLigature.Append( 0x0924 );
-					aLigature.Append( Virama( aLanguage ) );
-					aLigature.Append( RaCharacter( aLanguage ) );
-					}
-					break;
-
-				default:
-				break;
-				}
-			}
-			
-		// Other Language
-		default:
-		break;
-		}
-	}
-
-TBool TAknFepUiIndicInputManager::IsCharLigature( TUint aChar, TLanguage aLanguage )
-	{
-	TBool result = EFalse;
-	
-	switch( aLanguage )
-		{	
-		case ELangMarathi:
-		case ELangHindi:
-			{
-			if ( aChar >= 0x0973 && aChar <= 0x0976 )
-				{
-				result = ETrue;	
-				}
-			}
-		break;
-		default: /*Other Language*/
-		break;
-		}
-
-	return( result );
-	}
-
-TBool TAknFepUiIndicInputManager::IsCharAtStartOfLigature( TUint aChar, 
-													TLanguage aLanguage)
-	{
-	TBool result = EFalse;
-	
-	switch( aLanguage )
-		{	
-		case ELangMarathi:
-		case ELangHindi:
-			{
-			if( aChar == 0x0973 )
-				{
-				// Ksha is the first ligature in the key-map.
-				result = ETrue;
-				}
-				break;
-			default: /*Other Language*/
-			break;
-			}
-		}
-
-	return( result );
-	}
-
-#ifdef RD_HINDI_PHONETIC_INPUT		
-TInt TAknFepUiIndicInputManager ::MapCharacterToKeys(TUint aChar, TLanguage aLanguage)
-	{
-	TPtiKey ret = EPtiKeyNone;
-	if(  TAknFepUiIndicInputManager::IsCharOther( aChar, aLanguage ) 
-	  || TAknFepUiIndicInputManager::IsCharEmpty( aChar, aLanguage ))
-		{
-		ret = EPtiKey0;	
-		}
-	else if(TAknFepUiIndicInputManager::IsCharBaseConsonant( aChar, aLanguage ))
-		{
-		ret = EPtiKey4;	
-		}
-	else if(   TAknFepUiIndicInputManager::IsCharMatra( aChar,  aLanguage )
-			|| TAknFepUiIndicInputManager::IsCharAnVowel( aChar, aLanguage ))
-		{
-		ret = EPtiKey2;	
-		}
-	else if(   TAknFepUiIndicInputManager::IsCharNukta( aChar, aLanguage )
-			|| TAknFepUiIndicInputManager::IsCharModifier( aChar, aLanguage )
-			|| TAknFepUiIndicInputManager::IsCharVirama( aChar, aLanguage ))
-		{
-		ret = EPtiKey1;	
-		}
-	return ret;
-	}
-#endif
-
-TBool TAknFepUiIndicInputManager :: IsScriptDevanagari( TLanguage aInputLanguage )
-	{	
-	TBool ret = EFalse;
-	switch(aInputLanguage)
-		{
-		case ELangHindi:
-		case ELangMarathi:
-			ret = ETrue;
-		break;
-
-		default:
-		break;
-		}
-	return ret;
-	}
-
-TBool TAknFepUiIndicInputManager::IsToCommitCharSeq( TIndicInputResponse aResponse )
-    {
-    TBool result = EFalse;
-
-    switch( aResponse )
-        {
-        case EIndicInputResponseInsertZWSandLigature:
-        case EIndicInputResponseInsertViramaZWSandDirectLigature:
-            {
-            result = ETrue;
-            }
-            break;
-        default:
-            break;
-        }
-    return result;
-    }
-
-TBool TAknFepUiIndicInputManager::IsCharNuktaConsonant( TUint aChar, TLanguage aLanguage )
-	{
-	TBool result = EFalse;	
-	
-	switch( aLanguage )
-		{	
-		case ELangMarathi:
-		case ELangHindi:
-#ifdef RD_HINDI_PHONETIC_INPUT	
-		
-		case KLangHindiPhonetic:
-#endif		
-			{
-			if ( aChar == 0x0929 || 
-				aChar == 0x0931 || aChar == 0x0934 || 
-				( aChar >= 0x0958 && aChar <= 0x095F ) )
-				{
-				result = ETrue;
-				}
-			}
-			break;
-		default: /*Other Language*/
-			break;
-		}
-	return( result );
-	}
-
-#ifdef RD_MARATHI
-
-TBool TAknFepUiIndicInputManager::IsCharEyeLashRa( TUint aChar, TLanguage aLanguage )
-	{
-	TBool result = EFalse;
-	
-	switch( aLanguage )
-		{	
-		case ELangMarathi:
-			{
-			if ( aChar == 0x0977 )
-				{
-				result = ETrue;
-				}
-			}
-		break;
-		default: /*Other Language*/
-		break;
-		}
-		
-	return( result );
-	}
-
-void TAknFepUiIndicInputManager::GetEyeLashRa( TDes& aEyeLashRa, 
-											TLanguage aLanguage )
-	{
-	aEyeLashRa.Zero();
-	
-	switch( aLanguage )
-		{
-		case ELangMarathi:
-			{
-			TChar virama( TAknFepUiIndicInputManager::Virama( aLanguage ) );
-			aEyeLashRa.Append( 0x0931 );
-			aEyeLashRa.Append( virama );
-			aEyeLashRa.Append( ZERO_WIDTH_JOINER );
-			}
-		break;
-		// Other Language
-		default:
-		break;
-		}
-	}
-
-TBool TAknFepUiIndicInputManager::IsCharChandraA( TUint aChar )
-	{
-	// Since Chandra-A is specific to Marathi, we need not
-	// use the Language id check.
-	if ( aChar == 0x0978 )
-    	{
-    	return ETrue;
-    	}
-
-	return EFalse;
-	}
-
-void TAknFepUiIndicInputManager::GetChandraA( TDes& aChandraA, 
-											TBool aIsToGetSingleUnicodeValue /* = EFalse */ )
-	{
-	aChandraA.Zero();
-	
-	if( aIsToGetSingleUnicodeValue )
-		{
-		aChandraA.Append( 0x0978 );
-		}
-	else
-		{
-		aChandraA.Append( 0x0905 );
-		aChandraA.Append( 0x0945 );	
-		}
-	}
-
-#endif //RD_MARATHI
-
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-TBool TAknFepUiIndicInputManager::IsIndicDependantCharacter(TUint aChar, TLanguage aLanguage)
-	{
-	
-	return (TAknFepUiIndicInputManager::IsCharModifier(aChar, aLanguage)
-	 				|| TAknFepUiIndicInputManager::IsCharMatra(aChar, aLanguage)
-	  				|| TAknFepUiIndicInputManager::IsCharVirama(aChar, aLanguage)
-	  				|| TAknFepUiIndicInputManager::IsCharNukta(aChar, aLanguage));
-	  			
-	
-	}
-#endif //RD_INTELLIGENT_TEXT_INPUT
-//End of File
--- a/fep/aknfep/src/AknFepUiInputSAknFepUiInputStateCandidateQwertyStrokePhrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* 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:          
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
--- a/fep/aknfep/src/AknFepUiInputStateBase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,195 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the TAknFepInputStateBase methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include "AknFepUiInputStateBase.h"
-#include "AknFepPanic.h"
-
-// CONSTANTS
-
-/**
- *  TAknFepInputStateBase class.
- * 
- */
-//============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateBase::TAknFepInputStateBase
-// Constructor
-// ---------------------------------------------------------------------------
-//
-TAknFepInputStateBase::TAknFepInputStateBase(MAknFepUIManagerStateInterface* aOwner)
-    :iOwner(aOwner),
-    iState(ENull),
-    iData(0)
-    {
-    }
-
-/**
- * MPtiObserver interface.
- */
-//============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateBase::KeyTimerExpired
-// 
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateBase::KeyTimerExpired()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateBase::LastWordInSelectionList
-// 
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateBase::LastWordInSelectionList()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateBase::FirstWordInSelectionList
-// 
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateBase::FirstWordInSelectionList()
-    {
-    }
-
-/**
- *  TAknFepInputStateBase class.
- * 
- */
-//============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateBase::HandleKeyL
-// Handling Keypress events
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputStateBase::HandleKeyL(TInt /*aKey*/, TKeyPressLength /*aLength*/)
-    {
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateBase::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateBase::HandleCommandL(TInt /*aCommandId*/)
-    {
-    }
-void TAknFepInputStateBase::HandleCommandL(TInt aCommandId, TInt /*aParam*/)
-    {
-    HandleCommandL(aCommandId);
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateBase::State
-// 
-// ---------------------------------------------------------------------------
-//
-TUIState TAknFepInputStateBase::State() const
-    {
-    return iState;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateJapaneseBase::CloseUI
-// 
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateBase::CloseUI()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateJapaneseBase::InitializeStateL
-// 
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateBase::InitializeStateL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateBase::operator=
-// 
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateBase::operator=(const TAknFepInputStateBase& aState)
-    {
-    Mem::Copy(this, &aState, sizeof(TAknFepInputStateBase));
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateBase::SetStarKeyFlag
-// 
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateBase::SetStarKeyFlag( TBool aSet )
-	{
-	iIsStarKeyPressed = aSet;
-	}
-#ifdef RD_HINDI_PHONETIC_INPUT 
-// ---------------------------------------------------------------------------
-// TAknFepInputStateInitialIndicPhoneticMultitap::GetPhoneticLatinChar
-// 
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateBase::GetPhoneticLatinChar(TChar& aChar)const
-	{
-	}
-#endif
-#ifdef RD_INTELLIGENT_TEXT_INPUT	
-// ---------------------------------------------------------------------------
-// TAknFepInputStateBase::GetShortKeyPressTxtLength
-// 
-// ---------------------------------------------------------------------------
-//
-TInt TAknFepInputStateBase::GetShortKeyPressTxtLength()
-	{
-	return iShortKeyPressText.Length();
-	}
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateBase::SetShortKeyPressText
-// 
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateBase::SetShortKeyPressText(const TDesC& aText)
-	{
-	iShortKeyPressText.Zero();
-	iShortKeyPressText.Copy(aText);
-	}	
-#endif // RD_INTELLIGENT_TEXT_INPUT        
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateCandidate.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the CAknFepUIInputStateCandidate methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateCandidate.h"
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepUICtrlCandidatePane.h"      //MAknFepUICtrlCandidatePane
-#include <PtiEngine.h>                      //CPtiEngine
-
-
-///////////////////
-// Candidate state
-///////////////////
-
-TAknFepInputStateCandidate::TAknFepInputStateCandidate(
-                               MAknFepUIManagerStateInterface* aOwner,
-                               MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateCandidateBase(aOwner, aUIContainer)
-    {
-    iState = ECandidate;
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    uiContainer->CandidatePane()->SelectFirst();
-
-    TBool multiplePages = iOwner->PtiEngine()->MoreCandidatePages();
-    TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-
-    uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows); 
-    uiContainer->ShowVerticalScrollArrows(multiplePages);
-    uiContainer->FocusCandidatePane(ETrue);
-    uiContainer->CandidatePane()->ShowCandidateOrdinals(ETrue);
-    }
-
-
-TBool TAknFepInputStateCandidate::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    if(aKey==EKeyBackspace)
-        {
-        iOwner->ChangeState(EEntry);
-        return ETrue;
-        }
-    return TAknFepInputStateCandidateBase::HandleKeyL(aKey, aLength);
-    }
-
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateCandidateBase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,162 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the TAknFepInputStateCandidateBase methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateCandidateBase.h"
-
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"
-#include "AknFepManager.h"                  //FepMan flag
-
-#include <PtiEngine.h>                         //CPtiEngine
-
-TAknFepInputStateCandidateBase::TAknFepInputStateCandidateBase(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateChineseBase(aOwner, aUIContainer)
-    {
-    }
-
-void TAknFepInputStateCandidateBase::HandleCommandL(TInt /*aCommandID*/)
-    {
-	CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    
-    // get cursor position
-    TPoint baseLine = TPoint(0,0);
-    TInt height = 0;
-    TInt ascent = 0;
-
-    TRAPD(ret,iOwner->FepMan()->GetScreenCoordinatesL(baseLine,height,ascent));
-    if (ret == KErrNone)
-        {
-        uiContainer->SetContainerPosition(baseLine, height);    
-        }
-
-    uiContainer->CandidatePane()->SetCandidateBuffer();
-    uiContainer->Enable(ETrue);
-    }
-
-TBool TAknFepInputStateCandidateBase::HandleKeyL(TInt aKey, TKeyPressLength /*aLength*/)
-    {
-    if (aKey == EPtiKeyStar)
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        return EFalse;
-        }   
-    if(!( HandleVerticalNavigation(aKey) || HandleHorizontalNavigation(aKey) ))
-        {
-        // it may be one of the 'valid' numbers..
-        TInt index = MapKeyToIndex(aKey);
-        MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-
-        if(candidatePane->SelectIndex(index) || aKey == EKeyOK)
-            {
-            TPtrC text = candidatePane->CurrentCandidate();
-            if(text.Length()) 
-                {            
-                MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-                fepMan->NewCharacterL(text);
-                fepMan->CommitInlineEditL();
-                
-                if (fepMan->IsFlagSet(CAknFepManager::EFlagEditorFull))
-                    {
-                    fepMan->ClearFlag(CAknFepManager::EFlagEditorFull);
-                    iOwner->FepMan()->TryCloseUiL();
-                    }
-                else
-                    {
-                    iOwner->ChangeState(EPredictiveCandidate);
-                    }
-                }
-            else
-                {
-                // No candidates available. Back to Entry state.
-                iOwner->ChangeState(EEntry);
-                }
-            }
-        }
-    return ETrue;
-    }
-
-TBool TAknFepInputStateCandidateBase::HandleHorizontalNavigation(TInt aKey)
-    {
-    MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    TBool response = EFalse;
-
-    // Do navigation...
-    if (aKey == EKeyLeftArrow)
-        {
-        if(!candidatePane->SelectPrev())
-            {
-            ptiengine->PreviousCandidatePage();
-            candidatePane->SetCandidateBuffer(ptiengine->CandidatePage());
-            candidatePane->SelectLast();
-            }
-        response = ETrue;
-        }
-    else if (aKey == EKeyRightArrow)
-        {
-        if(!candidatePane->SelectNext())
-            {
-            ptiengine->NextCandidatePage();
-            candidatePane->SetCandidateBuffer(ptiengine->CandidatePage());
-            candidatePane->SelectFirst();
-            }
-        response = ETrue;
-        }
-    return response;
-    }
-
-TBool TAknFepInputStateCandidateBase::HandleVerticalNavigation(TInt aKey)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-
-    if (aKey == EKeyDownArrow)
-        {
-        ptiengine->NextCandidatePage();
-        }
-    else if (aKey == EKeyUpArrow)
-        {
-        ptiengine->PreviousCandidatePage();
-        }
-    else
-        {
-        return EFalse;
-        }
-
-    MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-    candidatePane->SelectFirst();
-    candidatePane->SetCandidateBuffer(ptiengine->CandidatePage());
-    return ETrue;
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateCandidateBaseChinesePhrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1120 +0,0 @@
-/*
-* 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:            Implementation of candidate base chinese phrase state
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateCandidateBaseChinesePhrase.h"
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"
-#include "AknFepManager.h"                  //FepMan flag
-
-#include "AknFepUICtrlInputPane.h"
-#include "AknFepUICtrlPinyinPopup.h"
-#include <PtiEngine.h>                         //CPtiEngine
-
-#include <aknnotewrappers.h>                //CAknInformationNote 
-
-#include "AknFepUICtrlPinyinPopup.h"        //Pinyin phrase
-#include "aknfepuictrleditpane.h"           //pinyin phrase creation
-#include "aknfepzhuyinconvertion.h"
-#include "aknfepzhuyinkeyhandlerinterface.h"
-#include "AknFepZhuyinAnalyserDb.h"
-#include "AknFepZhuyinAnalyser.h"
-
-_LIT( KPinyinListSeparator, "'" );
-_LIT( KPinyinStar, "*" );
-_LIT( KPinyinTone0ValidStr, "\x02C9");
-_LIT( KPinyinTone1ValidStr, "\x02CA");
-_LIT( KPinyinTone2ValidStr, "\x02C7");
-_LIT( KPinyinTone3ValidStr, "\x02CB");
-_LIT( KPinyinTone4ValidStr, "\x02D9");
-
-const TText KPinyinTone0Valid = 0x02C9;
-const TText KPinyinTone1Valid = 0x02CA;
-const TText KPinyinTone2Valid = 0x02C7;
-const TText KPinyinTone3Valid = 0x02CB;
-const TText KPinyinTone4Valid = 0x02D9;
-const TInt KKey0Code = 48;
-const TInt KKey2Code = 50;
-const TInt KKey3Code = 51;
-const TInt KKey4Code = 52;
-const TInt KKey5Code = 53;
-const TInt KKey6Code = 54;
-const TInt KKey7Code = 55;
-const TInt KKey8Code = 56;
-const TInt KKey9Code = 57;
-
-const TInt KMaxKeystrokeCount = 100;
-const TInt KMaxPinyinLength = 60;
-
-const TInt KStarCount1 = 1;
-const TInt KStarCount2 = 2;
-const TInt KStarCount3 = 3;
-const TInt KStarCount4 = 4;
-const TInt KStarCount5 = 5;
-
-const TUint16 KSegment = 0x0020;
-
-_LIT( KKey0Num, "0");
-_LIT( KKey1Num, "1");
-_LIT( KKey2Num, "2");
-_LIT( KKey3Num, "3");
-_LIT( KKey4Num, "4");
-_LIT( KKey5Num, "5");
-_LIT( KKey6Num, "6");
-_LIT( KKey7Num, "7");
-_LIT( KKey8Num, "8");
-_LIT( KKey9Num, "9");
-_LIT( KPinyinSysSeparator, "\x002E");
-
-TAknFepInputStateCandidateBaseChinesePhrase::TAknFepInputStateCandidateBaseChinesePhrase(
-    MAknFepUIManagerStateInterface* aOwner,
-    MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateCandidateBase(aOwner, aUIContainer)
-    {
-    }
-
-void TAknFepInputStateCandidateBaseChinesePhrase::HandleCommandL(
-    TInt aCommandId )
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    // it may be one of the 'valid' numbers..
-    MAknFepUICtrlCandidatePane* candidatePane =
-        UIContainer()->CandidatePane();
-    MAknFepUICtrlPinyinPopup* popup = UIContainer()->PinyinPopupWindow();
-    TPtrC text = candidatePane->CurrentPhraseCandidate();
-    switch ( aCommandId )
-        {
-        // Handle the event frome command.
-        case EAknSoftkeyCancel:
-            //  case (TUint16)EAknSoftkeyCancel: //the Cancle in soft CBA
-            TAknFepInputStateChineseBase::HandleCommandL( aCommandId );
-            break;
-        case EAknSoftkeySelect:
-            //case (TUint16)EAknSoftkeySelect: //the Selected in soft CBA
-            HandleCommitL();
-            break;
-        default:
-            TAknFepInputStateCandidateBase::HandleCommandL( aCommandId );
-            break;
-        }
-    }
-
-TBool TAknFepInputStateCandidateBaseChinesePhrase::HandleKeyL( TInt aKey,
-    TKeyPressLength aLength )
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    if ( aKey == EPtiKeyStar )
-        {
-        if ( fepMan->IsEnableKeyStar() )
-            {
-            iOwner->FepMan()->TryCloseUiL();
-            iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-            return EFalse;
-            }
-        else
-            {
-            iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-            return ETrue;
-            }
-        }
-    if ( !(HandleVerticalNavigation( aKey, aLength )
-        || HandleHorizontalNavigation( aKey )) )
-        {
-        // it may be one of the 'valid' numbers..
-        TInt index = MapKeyToIndex( aKey );
-        MAknFepUICtrlCandidatePane* candidatePane =
-            UIContainer()->CandidatePane();
-        MAknFepUICtrlPinyinPopup* popup = UIContainer()->PinyinPopupWindow();
-
-        TBool state = ETrue;
-        if ( popup->IsChangeStatet() && aLength == ELongKeyPress )
-            {
-            state = EFalse;
-            }
-        else
-            {
-            popup->SetChangeState( EFalse );
-            }
-        if ( state )
-            {
-            if ( candidatePane->SelectIndex( index, EFalse ) || aKey
-                == EKeyOK || aKey == EKeyCBA1 )
-                {
-                HandleCommitL();
-                }
-            }
-        }
-    return ETrue;
-    }
-
-TBool TAknFepInputStateCandidateBaseChinesePhrase::HandleHorizontalNavigation(TInt aKey)
-    {
-    MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-    TBool response = EFalse;
-
-    // Do navigation...
-    if (aKey == EKeyLeftArrow)
-        {
-//        if (candidatePane->SelectedIndex() == 0 && 
-//            candidatePane->IsFirstPage() )
-//            {
-//            return ETrue;
-//            }
-        
-        if(!candidatePane->SelectPrev())
-            {
-//            candidatePane->PreviousCandidatePage();
-            candidatePane->SetCandidateBuffer();
-            candidatePane->SelectLastPhrase();
-            }
-        response = ETrue;
-        }
-    else if (aKey == EKeyRightArrow)
-        {
-//        if (candidatePane->IsLastPage() && 
-//            (candidatePane->SelectedIndex() == candidatePane->VisibleCandidateCount() - 1))
-//            {
-//            return ETrue;
-//            }  
-                    
-        if(!candidatePane->SelectNext())
-            {
-//            candidatePane->NextCandidatePage();
-            candidatePane->SetCandidateBuffer();
-            candidatePane->SelectFirstPhrase();
-            }
-        response = ETrue;
-        }
-        
-    if (response)
-        {
-        UpdateIndicator();
-        }   
-             
-    return response;
-    }
-TBool TAknFepInputStateCandidateBaseChinesePhrase::HandleVerticalNavigation(TInt aKey)
-    {
-    MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-    MZhuyinKeyHandler* zhuyinKeyHandler = iOwner->ZhuyinKeyHandler();
-    
-    if (aKey == EKeyDownArrow)
-        {
-        if (candidatePane->IsLastPage())
-            {
-            return ETrue;
-            }
-        if ( iState != EPredictiveCandidate &&
-        		iState != EPredictiveInput )
-			{
-			if (candidatePane->NeedGetNewCandidatePage() )
-				{
-				if ( !iOwner->PtiEngine()->NextCandidatePage() )
-                {
-                if ( candidatePane->IsLastPage() )
-                    {
-                    iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-                    return ETrue;
-                    }
-                }
-				else
-					{
-					CDesCArrayFlat* phraseCandidates =
-							candidatePane->CandidateArray();
-					RPointerArray<HBufC> list;
-					TRAP_IGNORE(
-					GetNewCandidatesL(iOwner->PtiEngine()->CandidatePage(), list);
-					for (TInt i = 0; i < list.Count(); ++i)
-                        {
-						phraseCandidates->AppendL( *(list[i]));
-						}
-					list.ResetAndDestroy(););
-					}
-				}          
-        	}       
-        candidatePane->NextCandidatePage();
-        }
-    else if (aKey == EKeyUpArrow)
-        {
-        if ( candidatePane->IsFirstPage() && iState != EPredictiveCandidate )
-            {
-            zhuyinKeyHandler->SetState(0);
-            iOwner->ChangeState(EZhuyinSequenceEdit);
-            return EFalse;
-            }
-        else if ( candidatePane->IsFirstPage() )
-        	{
-        	return ETrue;
-        	}
-        candidatePane->PreviousCandidatePage();
-        }
-    else
-        {
-        return EFalse;
-        }
-    candidatePane->SetCandidateBuffer();
-    candidatePane->SelectFirstPhrase();
-    UpdateIndicator();    
-    return ETrue;
-    }
-
-TBool TAknFepInputStateCandidateBaseChinesePhrase::HandleVerticalNavigation(TInt aKey, TKeyPressLength aLength)
-    {
-    MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-    MAknFepUICtrlPinyinPopup* popup = UIContainer()->PinyinPopupWindow();
-    
-    if (aKey == EKeyDownArrow)
-        {
-        TBool state = ETrue;
-        if ( popup->IsChangeStatet() && aLength == ELongKeyPress )
-            {
-            state = EFalse;
-            }
-        else
-            {
-            popup->SetChangeState( EFalse );
-            }
-        if ( state )
-            {
-            if (candidatePane->IsLastPage())
-                {
-                return ETrue;
-                }       
-            if ( iState != EPredictiveCandidate &&
-            		iState != EPredictiveInput )
-            	{
-            	if (candidatePane->NeedGetNewCandidatePage() )
-					{
-                if ( !iOwner->PtiEngine()->NextCandidatePage( ) )
-                    {
-                    if ( candidatePane->IsLastPage() )
-                        {
-                        iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-                        return ETrue;
-                        }
-                    }
-                else
-                    {
-                    CDesCArrayFlat* phraseCandidates =
-                        candidatePane->CandidateArray( );
-                    RPointerArray<HBufC> list;
-                    TRAP_IGNORE(
-                    GetNewCandidatesL( iOwner->PtiEngine()->CandidatePage( ), list );
-                    for (TInt i = 0; i < list.Count( ); ++i )
-                        {
-                        phraseCandidates->AppendL( *(list[i]) );
-                        }
-						list.ResetAndDestroy(););
-						}
-					}
-				}     
-            candidatePane->NextCandidatePage();
-            }
-        }
-    else if (aKey == EKeyUpArrow)
-        {
-        if (candidatePane->IsFirstPage() )
-            {
-            return ETrue;   
-            }       
-        candidatePane->PreviousCandidatePage();
-        }
-    else
-        {
-        return EFalse;
-        }
-    candidatePane->SetCandidateBuffer();
-    candidatePane->SelectFirstPhrase();
-    UpdateIndicator();    
-    return ETrue;
-    }
-
-void TAknFepInputStateCandidateBaseChinesePhrase::UpdateIndicator()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();        
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-        
-    if (candidatePane->IsFirstPage())
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows(EFalse);    
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows(ETrue);    
-        }
-   
-   if (candidatePane->IsLastPage())
-       {
-       uiContainer->CandidatePane()->ShowDownScrollArrows(EFalse);     
-       }
-   else
-   	   {
-   	   uiContainer->CandidatePane()->ShowDownScrollArrows(ETrue);      
-   	   }
-    }    
-        
-// ---------------------------------------------------------
-// get the valid keystroke
-// ---------------------------------------------------------
-//
-void TAknFepInputStateCandidateBaseChinesePhrase::GetValidkeystrokeL( )
-    {
-    TInt keyCode;
-    TInt stringBeforeLength = 0;
-    TInt stringAfterLength = 0;
-    TBuf<1> keystroke;
-    TBuf<1> keystrokeTmp;
-
-    CPtiEngine* ptiengine = iOwner->PtiEngine( );
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer( );
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow( );
-
-    CDesCArrayFlat* keystrokeArray = popup->KeystrokeArray( );
-    CDesCArrayFlat* inEffectKeystrokeArray = popup->InEffectKeystrokeArray( );
-
-    inEffectKeystrokeArray->Reset( );
-    inEffectKeystrokeArray->Compress( );
-
-    for (TInt i = 0; i < keystrokeArray->Count( ); ++i )
-        {
-        stringBeforeLength = 0;
-        stringAfterLength = 0;
-        keystroke.Copy( keystrokeArray->MdcaPoint( i ) );
-        if ( 0 == i )
-            {
-            if ( ( 0 == keystroke.Compare( KPinyinStar ) ) || ( 0
-                == keystroke.Compare( KPinyinListSeparator ) ) )
-                {
-                return;
-                }
-            }
-        else
-            {
-            keystrokeTmp.Copy( keystrokeArray->MdcaPoint( i - 1 ) );
-            if ( 0 == keystroke.Compare( KPinyinListSeparator ) )
-                {
-                if ( ( 0 != keystrokeTmp.Compare( KPinyinListSeparator ) )
-                    && ( 0 != keystrokeTmp.Compare( KPinyinStar ) ) )
-                    {
-                    inEffectKeystrokeArray->AppendL( keystroke );
-                    }
-                return;
-                }
-            }
-
-        if ( i >= 1 )
-            {
-            keystrokeTmp.Copy( keystrokeArray->MdcaPoint( i - 1 ) );
-            if ( ( 0 == keystroke.Compare( KPinyinStar ) ) && ( 0
-                == keystrokeTmp.Compare( KPinyinStar ) ) )
-                {
-                inEffectKeystrokeArray->AppendL( keystroke );
-                ptiengine->IncrementToneMark( ETrue );
-                }
-            else if ( ( 0 != keystrokeTmp.Compare( KPinyinStar ) ) && ( 0
-                == keystroke.Compare( KPinyinStar ) ) )
-                {
-                inEffectKeystrokeArray->AppendL( keystroke );
-                ptiengine->IncrementToneMark( ETrue );
-                }
-            else if ( ( 0 != keystroke.Compare( KPinyinStar ) ) && ( 0
-                == keystrokeTmp.Compare( KPinyinStar ) ) )
-                {
-                if ( !CheckSpellingOfPtiEngine( ) )
-                    {
-                    ptiengine->DeleteKeyPress( );
-                    DeleteTonMarkFromInEffectKeytrokeArray( );
-                    }
-                return;
-                }
-            }
-
-        if ( 0 != keystroke.Compare( KPinyinStar ) )
-            {
-
-            inEffectKeystrokeArray->AppendL( keystrokeArray->MdcaPoint( i ) );
-            GetKeystrokeCode( keyCode, keystroke );
-            stringBeforeLength = ptiengine->GetPhoneticSpelling(1).Length( );
-            stringAfterLength = ptiengine->AppendKeyPress((TPtiKey)keyCode).Length( );
-            if ( stringBeforeLength == stringAfterLength )
-                {
-                inEffectKeystrokeArray->Delete( inEffectKeystrokeArray->Count( )
-                    - 1 );
-                inEffectKeystrokeArray->Compress( );
-                return;
-                }
-            if ( 0 == keystroke.Compare( KPinyinListSeparator ) )
-                {
-                return;
-                }
-
-            if ( !CheckSpellingOfPtiEngine( ) )
-                {
-                ptiengine->DeleteKeyPress( );
-                inEffectKeystrokeArray->Delete( i );
-                return;
-                }
-            }
-        else
-            {
-            if ( i == keystrokeArray->Count( ) - 1 )
-                {
-                if ( !CheckSpellingOfPtiEngine( ) )
-                    {
-                    ptiengine->DeleteKeyPress( );
-                    DeleteTonMarkFromInEffectKeytrokeArray( );
-                    return;
-                    }
-                }
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// Check the Spelling of PtiEngine.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputStateCandidateBaseChinesePhrase::CheckSpellingOfPtiEngine( )
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine( );
-    TInt count = ptiengine->PhoneticSpellingCount( );
-
-    for (TInt i = 1; i <= count; ++i )
-        {
-        TPtrC spelling = ptiengine->GetPhoneticSpelling( i );
-        if ( KErrNotFound == spelling.Find( KPinyinListSeparator ) )
-            {
-            return ETrue;
-            }
-        }
-
-    return EFalse;
-    }
-
-void TAknFepInputStateCandidateBaseChinesePhrase::GetKeystrokeCode(
-    TInt& aKey, const TDesC& aKeystroke )
-    {
-    if ( 0 == aKeystroke.Compare( KKey0Num ) )
-        {
-        aKey = KKey0Code;
-        }
-    else if ( 0 == aKeystroke.Compare( KKey1Num ) )
-        {
-        aKey = KKey0Code;
-        }
-    else if ( 0 == aKeystroke.Compare( KKey2Num ) )
-        {
-        aKey = KKey2Code;
-        }
-    else if ( 0 == aKeystroke.Compare( KKey3Num ) )
-        {
-        aKey = KKey3Code;
-        }
-    else if ( 0 == aKeystroke.Compare( KKey4Num ) )
-        {
-        aKey = KKey4Code;
-        }
-    else if ( 0 == aKeystroke.Compare( KKey5Num ) )
-        {
-        aKey = KKey5Code;
-        }
-    else if ( 0 == aKeystroke.Compare( KKey6Num ) )
-        {
-        aKey = KKey6Code;
-        }
-    else if ( 0 == aKeystroke.Compare( KKey7Num ) )
-        {
-        aKey = KKey7Code;
-        }
-    else if ( 0 == aKeystroke.Compare( KKey8Num ) )
-        {
-        aKey = KKey8Code;
-        }
-    else if ( 0 == aKeystroke.Compare( KKey9Num ) )
-        {
-        aKey = KKey9Code;
-        }
-    else if ( 0 == aKeystroke.Compare( KPinyinListSeparator ) )
-        {
-        aKey = KKey0Code;
-        }
-
-    }
-// ---------------------------------------------------------
-// clear the ptiengine keystroke;
-// ---------------------------------------------------------
-//
-void TAknFepInputStateCandidateBaseChinesePhrase::ClearPtiEngineKeystroke( )
-    {
-    CDesCArrayFlat* inEffectKeystrokeArray = UIContainer()->PinyinPopupWindow()->InEffectKeystrokeArray( );
-
-    for (TInt i = 0; i < KMaxKeystrokeCount; ++i )
-        {
-        iOwner->PtiEngine()->DeleteKeyPress( );
-        }
-    inEffectKeystrokeArray->Reset( );
-    inEffectKeystrokeArray->Compress( );
-    }
-
-// ---------------------------------------------------------
-// delete tonmark from in effect keystroke array
-// ---------------------------------------------------------
-//
-void TAknFepInputStateCandidateBaseChinesePhrase::DeleteTonMarkFromInEffectKeytrokeArray( )
-    {
-    MAknFepUICtrlPinyinPopup* popup = UIContainer()->PinyinPopupWindow();
-    CDesCArrayFlat* inEffectKeystrokeArray = popup->InEffectKeystrokeArray();
-    TInt count = inEffectKeystrokeArray->Count() - 1;
-    TInt checkCount = 0;
-    for ( TInt i = count; i > 0 ; i-- )
-      {
-      if ( 0 == inEffectKeystrokeArray->MdcaPoint( i ).Compare( KPinyinStar ) )
-        {
-        inEffectKeystrokeArray->Delete( i );
-        inEffectKeystrokeArray->Compress();
-        checkCount = checkCount + 1;
-        }
-      else
-        {
-        break;
-        }
-      }
-    
-    if ( checkCount > 0 )
-        {
-        if ( inEffectKeystrokeArray->Count() > 0 )
-            {
-            inEffectKeystrokeArray->Delete( inEffectKeystrokeArray->Count() -1 );
-            }
-        iOwner->PtiEngine()->DeleteKeyPress();
-        }
-    }
-
-// ---------------------------------------------------------
-// get the valid keystroke
-// ---------------------------------------------------------
-//
-void TAknFepInputStateCandidateBaseChinesePhrase::CheckTonemarkL( )
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine( );
-    MAknFepUICtrlPinyinPopup* popup = UIContainer()->PinyinPopupWindow( );
-    CDesCArrayFlat* inEffectKeystrokeArray = popup->InEffectKeystrokeArray( );
-    CDesCArrayFlat* spelling = popup->OptimizeSpelling( );
-
-    TInt keystrokeStarCount = 0;
-    TInt validSpellCount = 0;
-    TInt i = 0;
-    TBuf<1> buf;
-
-    TBuf<1> lastSpellTonemark;
-    TBuf<1> tonmarkBuf0;
-    TBuf<1> tonmarkBuf1;
-    TBuf<1> tonmarkBuf2;
-    TBuf<1> tonmarkBuf3;
-    TBuf<1> tonmarkBuf4;
-    TBuf<KMaxPinyinLength> spellBuf;
-    tonmarkBuf0.Append( KPinyinTone0Valid );
-    tonmarkBuf1.Append( KPinyinTone1Valid );
-    tonmarkBuf2.Append( KPinyinTone2Valid );
-    tonmarkBuf3.Append( KPinyinTone3Valid );
-    tonmarkBuf4.Append( KPinyinTone4Valid );
-
-    if ( 0 == inEffectKeystrokeArray->Count( ) )
-        {
-        return;
-        }
-
-    for (i = inEffectKeystrokeArray->Count( ) - 1; i >= 0; i-- )
-        {
-        if ( 0 == inEffectKeystrokeArray->MdcaPoint( i ).Compare( KPinyinStar ) )
-            {
-            keystrokeStarCount = keystrokeStarCount + 1;
-            }
-        else
-            {
-            break;
-            }
-        }
-
-    if ( 0 == keystrokeStarCount )
-        {
-        return;
-        }
-
-    switch ( keystrokeStarCount )
-        {
-        case KStarCount1:
-            buf.Copy( tonmarkBuf0 );
-            break;
-        case KStarCount2:
-            buf.Copy( tonmarkBuf1 );
-            break;
-        case KStarCount3:
-            buf.Copy( tonmarkBuf2 );
-            break;
-        case KStarCount4:
-            buf.Copy( tonmarkBuf3 );
-            break;
-        case KStarCount5:
-            buf.Copy( tonmarkBuf4 );
-            break;
-        default:
-            break;
-        }
-
-    spelling->Reset( );
-    spelling->Compress( );
-
-    ptiengine->GetPhoneticSpellingsL( *spelling );
-
-    for (i = 0; i < spelling->Count( ); ++i )
-        {
-        spellBuf.Copy( spelling->MdcaPoint( i ) );
-        TInt position = spellBuf.Find( KPinyinListSeparator );
-        if ( KErrNotFound == position )
-            {
-            lastSpellTonemark.Copy( spellBuf.Mid( spellBuf.Length( ) - 1, 1 ) );
-            if ( 0 == lastSpellTonemark.Compare( buf ) )
-                {
-                validSpellCount = 1;
-                break;
-                }
-            }
-        }
-
-    spelling->Reset( );
-    spelling->Compress( );
-
-    if ( validSpellCount > 0 )
-        {
-        return;
-        }
-
-    for (i = 0; i < keystrokeStarCount; ++i )
-        {
-        inEffectKeystrokeArray->Delete( inEffectKeystrokeArray->Count( ) -1 );
-        }
-
-    ptiengine->DeleteKeyPress( );
-
-    if ( inEffectKeystrokeArray->Count( ) > 0 )
-        {
-        inEffectKeystrokeArray->Delete( inEffectKeystrokeArray->Count( ) - 1 );
-        }
-    inEffectKeystrokeArray->Compress( );
-
-    ptiengine->DeleteKeyPress( );
-
-    while (inEffectKeystrokeArray->Count( ) > 0 )
-        {
-        spelling->Reset( );
-        spelling->Compress( );
-        ptiengine->GetPhoneticSpellingsL( *spelling );
-
-        for (i = 0; i < spelling->Count( ); ++i )
-            {
-            if ( KErrNotFound == spelling->MdcaPoint( i ).Find( KPinyinListSeparator ) )
-                {
-                spelling->Reset( );
-                spelling->Compress( );
-                return;
-                }
-            }
-        ptiengine->DeleteKeyPress( );
-        inEffectKeystrokeArray->Delete( inEffectKeystrokeArray->Count( ) - 1 );
-        }
-
-    spelling->Reset( );
-    spelling->Compress( );
-    }
-
-TBool TAknFepInputStateCandidateBaseChinesePhrase::IsValid( const TDesC& aDesC, TInt aCount )
-    {
-    TBool lastIsToneMark = EFalse;
-    TBool ret = ETrue;
-    TInt charCount = aCount;
-    for ( TInt i = 0; i < aDesC.Length(); i++ )
-        {
-        if ( ( aDesC.Mid( i, 1 ) == KPinyinSysSeparator ) ||
-             ( aDesC.Mid( i, 1 ) == KPinyinListSeparator ) ||
-             ( *aDesC.Mid( i , 1 ).Ptr() == KPinyinTone0Valid ) ||
-             ( *aDesC.Mid( i , 1 ).Ptr() == KPinyinTone1Valid ) ||
-             ( *aDesC.Mid( i , 1 ).Ptr() == KPinyinTone2Valid ) ||
-             ( *aDesC.Mid( i , 1 ).Ptr() == KPinyinTone3Valid ) ||
-             ( *aDesC.Mid( i , 1 ).Ptr() == KPinyinTone4Valid ) )
-            {
-            if ( lastIsToneMark && charCount <= 0 )
-                {
-                ret = EFalse;
-                }
-            lastIsToneMark = ETrue;
-            charCount--;
-            }
-        else
-            {
-            lastIsToneMark = EFalse;
-            }
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateCandidateBaseChinesePhrase::HandleCommitL
-// Handle CBA1 or select event.
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateCandidateBaseChinesePhrase::HandleCommitL()
-    {
-    // it may be one of the 'valid' numbers..
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlCandidatePane* candidatePane =
-        UIContainer()->CandidatePane();
-    MAknFepUICtrlPinyinPopup* popup = UIContainer()->PinyinPopupWindow();
-    TPtrC text = candidatePane->CurrentPhraseCandidate();
-    if ( text.Length() )
-        {
-        //commit and show char in editor
-        if ( fepMan->IsFlagSet( CAknFepManager::EFlagEditorFull ) )
-            {
-            fepMan->ClearFlag( CAknFepManager::EFlagEditorFull );
-            iOwner->FepMan()->TryCloseUiL();
-            }
-        else
-            {
-            TInt i = 0;
-            CDesCArrayFlat* keystroke =
-                UIContainer()->PinyinPopupWindow()->KeystrokeArray();
-            if ( keystroke->Count() != 0 && keystroke->Count()
-                > text.Length() )
-                {
-                TBuf<KMaxKeystrokeCount> seq;
-                for (i = 0; i < keystroke->Count(); ++i )
-                    {
-                    seq.Append( keystroke->MdcaPoint( i ) );
-                    }
-                TInt count = 0;
-
-                TBufC<KMaxKeystrokeCount> buf1;
-                TPtr ptr1 = buf1.Des();
-                TBufC<KMaxKeystrokeCount> keyseqBuf;
-                TPtr ptr2 = keyseqBuf.Des();
-                TBuf<KMaxKeystrokeCount> ptr2Left;
-                ptr2.Copy( seq );
-                if ( ptiengine->SelectedPhoneticSpelling() == 1 )
-                	{
-                    ptr1 = ptiengine->GetPhoneticSpelling(1);
-                	}
-                else
-                	{
-                    UIContainer()->InputPane()->GetText( ptr1 );
-                	}
-                TInt pos = 0;
-                TInt len = 0;
-
-                CDesCArray
-                    * chineseCharacterArrayKeystroke =
-                        UIContainer()->PinyinPopupWindow()->ChooseChineseCharacterArrayKeystroke();
-                chineseCharacterArrayKeystroke->Reset();
-                for (i = 0; i < ptr1.Length() && count < text.Length()
-                    && ptr2.Length() != 0; i++ )
-                    {
-                    if ( ptr1.Mid( i, 1 ) == KPinyinSysSeparator || ptr1.Mid(
-                        i, 1 ) == KPinyinListSeparator )
-                        {
-                        pos = i - len - count;
-                        if ( pos < 0 )
-                            {
-                            pos = 0;
-                            }
-
-                        if ( pos == ptr2.Length() )
-                            {
-                            pos = ptr2.Length() - 1;
-                            }
-
-                        if ( ptr2.Mid( pos, 1 ) == KPinyinListSeparator )
-                            {
-                            i++;
-                            pos += 1;
-                            chineseCharacterArrayKeystroke->AppendL(
-                                ptr2.Left( pos ) );
-                            ptr2 = ptr2.Mid( pos );
-                            }
-                        else
-                            {
-                            chineseCharacterArrayKeystroke->AppendL(
-                                ptr2.Left( pos ) );
-                            ptr2 = ptr2.Mid( pos );
-                            }
-                        len += pos;
-                        count++;
-                        }
-                    else if ( *ptr1.Mid( i, 1 ).Ptr() == KPinyinTone0Valid )
-                        {
-                        pos = i + 1 - len - count;
-                        len += pos;
-                        ptr2Left.Zero();
-                        ptr2Left.Copy( ptr2.Left( pos - 1 ) );
-                        ptr2Left.Append( KPinyinTone0ValidStr );
-                        chineseCharacterArrayKeystroke->AppendL( ptr2Left );
-                        ptr2 = ptr2.Mid( pos );
-                        count++;
-                        }
-                    else if ( *ptr1.Mid( i, 1 ).Ptr() == KPinyinTone1Valid )
-                        {
-                        pos = i + 2 - len - count;
-                        len += pos - 1;
-                        ptr2Left.Zero();
-                        ptr2Left.Copy( ptr2.Left( pos - 2 ) );
-                        ptr2Left.Append( KPinyinTone1ValidStr );
-                        chineseCharacterArrayKeystroke->AppendL( ptr2Left );
-                        ptr2 = ptr2.Mid( pos );
-                        count++;
-                        }
-                    else if ( *ptr1.Mid( i, 1 ).Ptr() == KPinyinTone2Valid )
-                        {
-                        pos = i + 3 - len - count;
-                        len += pos - 2;
-                        ptr2Left.Zero();
-                        ptr2Left.Copy( ptr2.Left( pos - 3 ) );
-                        ptr2Left.Append( KPinyinTone2ValidStr );
-                        chineseCharacterArrayKeystroke->AppendL( ptr2Left );
-                        ptr2 = ptr2.Mid( pos );
-                        count++;
-                        }
-                    else if ( *ptr1.Mid( i, 1 ).Ptr() == KPinyinTone3Valid )
-                        {
-                        pos = i + 4 - len - count;
-                        len += pos - 3;
-                        ptr2Left.Zero();
-                        ptr2Left.Copy( ptr2.Left( pos - 4 ) );
-                        ptr2Left.Append( KPinyinTone3ValidStr );
-                        chineseCharacterArrayKeystroke->AppendL( ptr2Left );
-                        ptr2 = ptr2.Mid( pos );
-                        count++;
-                        }
-                    else if ( *ptr1.Mid( i, 1 ).Ptr() == KPinyinTone4Valid )
-                        {
-                        pos = i + 5 - len - count;
-                        len += pos - 4;
-                        ptr2Left.Zero();
-                        ptr2Left.Copy( ptr2.Left( pos - 5 ) );
-                        ptr2Left.Append( KPinyinTone4ValidStr );
-                        chineseCharacterArrayKeystroke->AppendL( ptr2Left );
-                        ptr2 = ptr2.Mid( pos );
-                        count++;
-                        }
-                    }
-
-                TInt totalCount = 0;
-                for (i = 0; i < ptr1.Length(); i++ )
-                    {
-                    if ( (ptr1.Mid( i, 1 ) == KPinyinSysSeparator)
-                        || (ptr1.Mid( i, 1 ) == KPinyinListSeparator)
-                        || (*ptr1.Mid( i, 1 ).Ptr() == KPinyinTone0Valid)
-                        || (*ptr1.Mid( i, 1 ).Ptr() == KPinyinTone1Valid)
-                        || (*ptr1.Mid( i, 1 ).Ptr() == KPinyinTone2Valid)
-                        || (*ptr1.Mid( i, 1 ).Ptr() == KPinyinTone3Valid)
-                        || (*ptr1.Mid( i, 1 ).Ptr() == KPinyinTone4Valid) )
-                        {
-                        totalCount++;
-                        }
-                    }
-
-                if ( !((ptr1.Right( 1 ) == KPinyinListSeparator)
-                    || (*ptr1.Right( 1 ).Ptr() == KPinyinTone0Valid)
-                    || (*ptr1.Right( 1 ).Ptr() == KPinyinTone1Valid)
-                    || (*ptr1.Right( 1 ).Ptr() == KPinyinTone2Valid)
-                    || (*ptr1.Right( 1 ).Ptr() == KPinyinTone3Valid)
-                    || (*ptr1.Right( 1 ).Ptr() == KPinyinTone4Valid)) )
-                    {
-                    totalCount++;
-                    }
-
-                if ( totalCount > text.Length() )
-                    {
-                    CDesCArray
-                        * chineseCharacterArray =
-                            UIContainer()->PinyinPopupWindow()->ChooseChineseCharacterArray();
-                    chineseCharacterArray->Reset();
-                    for (i = 0; i < text.Length(); i++ )
-                        {
-                        chineseCharacterArray->AppendL( text.Mid( i, 1 ) );
-                        }
-                    //set key stroke
-                    CDesCArray* keyStroke =
-                        UIContainer()->PinyinPopupWindow()->KeystrokeArray();
-                    keyStroke->Reset();
-                    for (i = 0; i < ptr2.Length(); i++ )
-                        {
-                        keyStroke->AppendL( ptr2.Mid( i, 1 ) );
-                        }
-                    //set show stroke                               
-                    CDesCArray
-                        * showStroke =
-                            UIContainer()->PinyinPopupWindow()->ShowKeystrokeArray();
-                    showStroke->Reset();
-                    TInt pinyinStarCount = 0;
-                    for (i = 0; i < ptr2.Length(); )
-                        {
-                        pinyinStarCount = 0;
-                        if ( ptr2.Mid( i, 1 ) == KPinyinStar )
-                            {
-                            while (i < ptr2.Length() && ptr2.Mid( i, 1 )
-                                == KPinyinStar )
-                                {
-                                pinyinStarCount++;
-                                i++;
-                                }
-                            switch ( pinyinStarCount )
-                                {
-                                case 1:
-                                    showStroke->AppendL( KPinyinTone0ValidStr );
-                                    break;
-                                case 2:
-                                    showStroke->AppendL( KPinyinTone1ValidStr );
-                                    break;
-                                case 3:
-                                    showStroke->AppendL( KPinyinTone2ValidStr );
-                                    break;
-                                case 4:
-                                    showStroke->AppendL( KPinyinTone3ValidStr );
-                                    break;
-                                case 5:
-                                    showStroke->AppendL( KPinyinTone4ValidStr );
-                                    break;
-                                default:
-                                    break;
-                                }
-                            }
-                        else
-                            {
-                            showStroke->AppendL( ptr2.Mid( i, 1 ) );
-                            i++;
-                            }
-                        }
-                    fepMan->PinyinPhraseCreation( ETrue );
-                    ClearPtiEngineKeystroke();
-                    GetValidkeystrokeL();
-                    CheckTonemarkL();
-
-                    CDesCArrayFlat* inEffectKeystrokeArray =
-                        popup->InEffectKeystrokeArray();
-
-                    if ( inEffectKeystrokeArray->Count() == 0 || !IsValid(
-                        ptr1, text.Length() ) )
-                        {
-                        UIContainer()->SetControlInVisible( EFalse );
-                        popup->SetPhraseCreationState( ETrue );
-                        iOwner->ChangeState( EKeySequenceEdit );
-                        }
-                    else
-                        {
-                        popup->SetPhraseCreationState( ETrue );
-                        iOwner->ChangeState( ESpellingSelection );
-                        }
-                    }
-                else
-                    {
-                    CDesCArray* keyStroke =
-                        UIContainer()->PinyinPopupWindow()->KeystrokeArray();
-                    keyStroke->Reset();
-                    //commit and show char in editor
-                    fepMan->NewTextL( text );
-                    fepMan->CommitInlineEditL();
-                    fepMan->PinyinPhraseCreation( EFalse );
-                    if ( fepMan->IsFlagSet( CAknFepManager::EFlagEditorFull ) )
-                        {
-                        fepMan->ClearFlag( CAknFepManager::EFlagEditorFull );
-                        iOwner->FepMan()->TryCloseUiL();
-                        }
-                    else
-                        {
-                        iOwner->ChangeState( EPredictiveCandidate );
-                        }
-                    }
-                }
-            else
-                {
-                CDesCArray* keyStroke =
-                    UIContainer()->PinyinPopupWindow()->KeystrokeArray();
-                keyStroke->Reset();
-                //commit and show char in editor
-                fepMan->NewTextL( text );
-                fepMan->CommitInlineEditL();
-                fepMan->PinyinPhraseCreation( EFalse );
-                if ( fepMan->IsFlagSet( CAknFepManager::EFlagEditorFull ) )
-                    {
-                    fepMan->ClearFlag( CAknFepManager::EFlagEditorFull );
-                    iOwner->FepMan()->TryCloseUiL();
-                    }
-                else
-                    {
-                    iOwner->ChangeState( EPredictiveCandidate );
-                    }
-                }
-            }
-        }
-    else
-        {
-        // No candidates available. Back to Entry state.
-        iOwner->ChangeState( EEntry );
-        }
-    }
-
-void TAknFepInputStateCandidateBaseChinesePhrase::GetNewCandidatesL(const TDesC& aSource, 
-                                                    RPointerArray<HBufC>& aList)
-    {
-    TInt start = 0;
-    TInt length = 0;
-
-    for (TInt ii = 0; ii < aSource.Length(); ii++)
-        {
-        if (aSource[ii] == KSegment)
-            {
-            TPtrC segment(aSource.Ptr() + start, length);
-            aList.AppendL(segment.AllocL());
-            start += (length + 1);
-            length = 0;
-            }
-        else
-            {
-            length++;
-            }
-        }
-
-    if (length)
-        {
-        TPtrC segm(aSource.Ptr() + start, length);
-        aList.AppendL(segm.AllocL());
-        }
-    }
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateCandidateBasePhrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +0,0 @@
-/*
-* Copyright (c) 2004 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:           
-*       Provides the TAknFepInputStateCandidateBasePhrase methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateCandidateBasePhrase.h"
-
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"
-#include "AknFepManager.h"                  //FepMan flag
-
-#include <PtiEngine.h>                         //CPtiEngine
-
-TAknFepInputStateCandidateBasePhrase::TAknFepInputStateCandidateBasePhrase(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateCandidateBase(aOwner, aUIContainer)
-    {
-    }
-
-TBool TAknFepInputStateCandidateBasePhrase::HandleKeyL(TInt aKey, TKeyPressLength /*aLength*/)
-    {
-    if (aKey == EPtiKeyStar)
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        return EFalse;
-        }   
-    if(!( HandleVerticalNavigation(aKey) || HandleHorizontalNavigation(aKey) ))
-        {
-        // it may be one of the 'valid' numbers..
-        TInt index = MapKeyToIndex(aKey);
-        MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-
-        if(candidatePane->SelectIndex(index) || aKey == EKeyOK)
-            {
-            TPtrC text = candidatePane->CurrentPhraseCandidate();
-            if(text.Length()) 
-                {            
-                MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-                fepMan->NewTextL(text);
-                fepMan->CommitInlineEditL();
-                if (fepMan->IsFlagSet(CAknFepManager::EFlagEditorFull))
-                    {
-                    fepMan->ClearFlag(CAknFepManager::EFlagEditorFull);
-                    iOwner->FepMan()->TryCloseUiL();
-                    }
-                else
-                    {
-                    iOwner->ChangeState(EPredictiveCandidate);
-                    }
-                }
-            else
-                {
-                // No candidates available. Back to Entry state.
-                iOwner->ChangeState(EEntry);
-                }
-            }
-        }
-    return ETrue;
-    }
-
-TBool TAknFepInputStateCandidateBasePhrase::HandleHorizontalNavigation(TInt aKey)
-    {
-    MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-    TBool response = EFalse;
-
-    // Do navigation...
-    if (aKey == EKeyLeftArrow)
-        {
-        if(!candidatePane->SelectPrev())
-            {
-            candidatePane->PreviousCandidatePage();
-            candidatePane->SetCandidateBuffer();
-            candidatePane->SelectLastPhrase();
-            }
-        response = ETrue;
-        }
-    else if (aKey == EKeyRightArrow)
-        {
-        if(!candidatePane->SelectNext())
-            {
-            candidatePane->NextCandidatePage();
-            candidatePane->SetCandidateBuffer();
-            candidatePane->SelectFirstPhrase();
-            }
-        response = ETrue;
-        }
-    return response;
-    }
-
-TBool TAknFepInputStateCandidateBasePhrase::HandleVerticalNavigation(TInt aKey)
-    {
-    MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-    if (aKey == EKeyDownArrow)
-        {
-        candidatePane->NextCandidatePage();
-        }
-    else if (aKey == EKeyUpArrow)
-        {
-        candidatePane->PreviousCandidatePage();
-        }
-    else
-        {
-        return EFalse;
-        }
-    candidatePane->SetCandidateBuffer();
-    candidatePane->SelectFirstPhrase();
-    return ETrue;
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateCandidateChinese.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,265 +0,0 @@
-/*
-* 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:            Implementation of Pinyin phrase predictive Qwerty state
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// System includes
-#include <PtiEngine.h>                      //CPtiEngine
-
-// User includes
-#include "AknFepUiInputStateCandidateChinese.h"
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepUICtrlCandidatePane.h"      //MAknFepUICtrlCandidatePane
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-#include "AknFepManager.h"
-
-const TInt KMaxCandidateCountFromCore = 6;
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateCandidateChinese::
-// TAknFepInputStateCandidateChinese
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-TAknFepInputStateCandidateChinese::TAknFepInputStateCandidateChinese(
-                               MAknFepUIManagerStateInterface* aOwner,
-                               MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateCandidateBase(aOwner, aUIContainer)
-    {
-    iState = ECandidate;
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    uiContainer->CandidatePane()->SelectFirst();
-
-    TBool multiplePages = iOwner->PtiEngine()->MoreCandidatePages();
-    TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-
-    uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows); 
-    uiContainer->ShowVerticalScrollArrows(multiplePages);
-    uiContainer->FocusCandidatePane(ETrue);
-    uiContainer->CandidatePane()->ShowCandidateOrdinals(ETrue);
-    UpdateIndicator();
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateCandidateChinese::
-// HandleKeyL
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputStateCandidateChinese::HandleKeyL(TInt aKey, TKeyPressLength /*aLength*/)
-    {
-    if(aKey==EKeyBackspace)
-        {
-        iOwner->ChangeState(EEntry);
-        return ETrue;
-        }
-        
-    if (aKey == EPtiKeyStar)
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        return EFalse;
-        }   
-
-    if(!( HandleVerticalNavigation(aKey) || HandleHorizontalNavigation(aKey) ))
-        {
-        // it may be one of the 'valid' numbers..
-        TInt index = MapKeyToIndex(aKey);
-        MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-
-        if(candidatePane->SelectIndex(index) || aKey == EKeyOK)
-            {
-            TPtrC text = candidatePane->CurrentCandidate();
-            if(text.Length()) 
-                {            
-                MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-                fepMan->NewCharacterL(text);
-                fepMan->CommitInlineEditL();
-                
-                if (fepMan->IsFlagSet(CAknFepManager::EFlagEditorFull))
-                    {
-                    fepMan->ClearFlag(CAknFepManager::EFlagEditorFull);
-                    iOwner->FepMan()->TryCloseUiL();
-                    }
-                else
-                    {
-                    iOwner->ChangeState(EPredictiveCandidate);
-                    UpdateIndicator();
-                    }
-                }
-            else
-                {
-                // No candidates available. Back to Entry state.
-                iOwner->ChangeState(EEntry);
-                }
-            }
-        }
-
-    return ETrue;
-    }  
-    
-// ---------------------------------------------------------------------------
-// TAknFepInputStateCandidateChinese::
-// HandleHorizontalNavigation
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputStateCandidateChinese::HandleHorizontalNavigation(TInt aKey)
-    {
-    MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    TBool response = EFalse;
-
-    // Do navigation...
-    if (aKey == EKeyLeftArrow)
-        {
-        if (candidatePane->SelectedIndex() == 0 && 
-            ptiengine->NumberOfCandidates() == 0)
-            {
-            return ETrue;
-            }
-        if(!candidatePane->SelectPrev())
-            {
-            ptiengine->PreviousCandidatePage();
-            candidatePane->SetCandidateBuffer(ptiengine->CandidatePage());
-            candidatePane->SelectLast();
-            }
-        response = ETrue;
-        }
-    else if (aKey == EKeyRightArrow)
-        {
-        TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-        
-        if (bufLength != KMaxCandidateCountFromCore &&
-            candidatePane->SelectedIndex() == (bufLength -1))
-            {
-			return ETrue;
-            }
-        if(!candidatePane->SelectNext())
-            {
-            ptiengine->NextCandidatePage();
-            candidatePane->SetCandidateBuffer(ptiengine->CandidatePage());
-            candidatePane->SelectFirst();
-            }
-        response = ETrue;
-        }
-    
-    if (response) 
-        {
-        UpdateIndicator();
-        }
-        
-    return response;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateCandidateChinese::
-// HandleVerticalNavigation
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputStateCandidateChinese::HandleVerticalNavigation(TInt aKey)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-
-    if (aKey == EKeyDownArrow)
-        {
-        if (iOwner->PtiEngine()->CandidatePage().Length() != 
-            KMaxCandidateCountFromCore)
-            {
-            return ETrue; 
-            }
-        ptiengine->NextCandidatePage();
-        }
-    else if (aKey == EKeyUpArrow)
-        {
-        if (ptiengine->NumberOfCandidates() == 0)
-            {
-            return ETrue;            
-            }
-        ptiengine->PreviousCandidatePage();
-        }
-    else
-        {
-        return EFalse;
-        }
-
-    MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-    candidatePane->SelectFirst();
-    candidatePane->SetCandidateBuffer(ptiengine->CandidatePage());
-    UpdateIndicator();
-
-    return ETrue;
-    }
-    
-// ---------------------------------------------------------------------------
-// TAknFepInputStateCandidateChinese::
-// UpdateIndicator
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateCandidateChinese::UpdateIndicator()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();        
-    TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-        
-    if (ptiengine->NumberOfCandidates() == 0)
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows(EFalse);    
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows(ETrue);    
-        }
-    
-    uiContainer->CandidatePane()->ShowDownScrollArrows
-        (bufLength == KMaxCandidateCountFromCore ? ETrue : EFalse);
-        
-    if (candidatePane->SelectedIndex() == 0 && 
-        ptiengine->NumberOfCandidates() == 0)
-        {
-        uiContainer->CandidatePane()->ShowLeftScrollArrows(EFalse);
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowLeftScrollArrows(ETrue);
-        }
-        
-    if (bufLength != KMaxCandidateCountFromCore &&
-        candidatePane->SelectedIndex() == (bufLength -1))
-        {
-        uiContainer->CandidatePane()->ShowRightScrollArrows(EFalse);        
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowRightScrollArrows(ETrue);
-        }
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateCandidateChinesePhrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,265 +0,0 @@
-/*
-* 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:            Implementation of candidate chinese phrase state
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateCandidateChinesePhrase.h"
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepUICtrlPinyinPopup.h"        //Pinyin phrase
-#include "aknfepuictrleditpane.h"
-#include "AknFepUICtrlCandidatePane.h"      //MAknFepUICtrlCandidatePane
-#include <PtiEngine.h>                      //CPtiEngine
-#include <aknnotewrappers.h>
-#include "aknfepzhuyinconvertion.h"
-#include "aknfepzhuyinkeyhandlerinterface.h"
-#include <PtiUserDicEntry.h>
-
-const TInt KMaxBufLen = 100;
-const TInt KInputPhraseMaxLength = 7;
-
-_LIT( KMaxPhraseNote,"\x8BCD\x7EC4\x6700\x957F\x4E3A\x4E03\x5B57" );
-///////////////////
-// Candidate state
-///////////////////
-
-TAknFepInputStateCandidateChinesePhrase::TAknFepInputStateCandidateChinesePhrase(
-                               MAknFepUIManagerStateInterface* aOwner,
-                               MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateCandidateBaseChinesePhrase(aOwner, aUIContainer)
-    {
-    iState = ECandidate;
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    
-    uiContainer->CandidatePane()->SelectFirstPhrase();
-
-    TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() &&
-                            uiContainer->CandidatePane()->IsFirstPage());
-    TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-
-    uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows); 
-    uiContainer->ShowVerticalScrollArrows(multiplePages);
-    uiContainer->FocusCandidatePane(ETrue);
-    uiContainer->CandidatePane()->ShowCandidateOrdinals(ETrue);    
-    UpdateIndicator();
-    UIContainer()->EditPaneWindow()->DisableCursor();
-    }
-
-TBool TAknFepInputStateCandidateChinesePhrase::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    
-    CDesCArrayFlat* zhuyinSymbols = uiContainer->PinyinPopupWindow()->ZhuyinSymbols();
-    CDesCArrayFlat* chineseDisped = uiContainer->PinyinPopupWindow()->ChineseCharsDisped();
-    CDesCArrayFlat* zhuyinSymbolsForChinese = uiContainer->PinyinPopupWindow()->ZhuyinSymbolsForChineseCharsDisped();
-    CDesCArrayFlat* candidateList = uiContainer->CandidatePane()->CandidateArray();
-    MZhuyinKeyHandler* zhuyinKeyHandler = iOwner->ZhuyinKeyHandler();
-    
-    TInt index = MapKeyToIndex(aKey);
-    
-    if(aKey == EKeyBackspace)
-        {
-        zhuyinKeyHandler->SetStatusChgFlag(MZhuyinKeyHandler::EFromCandidateToEntry);
-        iOwner->ChangeState(EEntry);
-        return ETrue;
-        }
-    
-    // for fix bug when press left or right arrow play err-tone
-    if ( HandleVerticalNavigation( aKey ) || HandleHorizontalNavigation( aKey ) )
-        {
-        return ETrue;
-        }
-    
-    if ( aLength == EShortKeyPress && ( candidatePane->SelectIndex(index,EFalse) 
-        || aKey == EKeyOK || aKey ==  EKeyCBA1 ))
-        {
-        TPtrC text = candidatePane->CurrentPhraseCandidate();
-        if ( text.Length() == 0 )
-            {
-            return ETrue;
-            }
-        TBuf<KMaxBufLen> pinyinshown = UIContainer()->PinyinPopupWindow()->GetEEPContent();
-        TInt count = TZhuyinSymbolsMethods::GetChineseCount(pinyinshown);
-        if ( count > text.Length() )
-            {
-            fepMan->PhraseCreation(ETrue);
-            }
-        if ( fepMan->IsPhraseCreation( ) )
-            {
-            TBuf<KMaxBufLen> buf;
-            buf.Copy( text );
-            TBool commit = TZhuyinSymbolsMethods::AppendChineseChar( buf,
-                fepMan->ZhuyinAnalyser( ), zhuyinSymbols, chineseDisped,
-                zhuyinSymbolsForChinese );
-            TBool changeState = UpdateEEPContent();
-            if ( commit )
-                {
-                TBuf<KMaxBufLen> commitbuf;
-                TZhuyinSymbolsMethods::Convert2Des(chineseDisped, commitbuf);
-                fepMan->NewTextL(commitbuf);
-                fepMan->CommitInlineEditL();
-                AddPhraseToDB(commitbuf);
-                if ( chineseDisped->Count() < KInputPhraseMaxLength ||
-                    zhuyinSymbols->Count() == 0 )
-                    {
-                    iOwner->FepMan()->TryCloseUiL();
-                    }
-                else
-                    {
-                    CAknWarningNote* errnote = new( ELeave ) CAknWarningNote();
-                    errnote->SetTone( CAknNoteDialog::EWarningTone );
-                    errnote->ExecuteLD( KMaxPhraseNote );
-                    fepMan->TryCloseUiL();
-                    }
-                popup->ResetStrokeArray();
-                }
-            else
-                {
-                editPane->SetCursorIndexOfKeystroke( 0 );
-                if ( changeState )
-                    {
-                    for ( TInt i = 0; i < candidateList->Count(); i++ )
-                        {
-                        if ( TZhuyinSymbolsMethods::IsZhuyinSymbol( 
-                            candidateList->MdcaPoint( i ) ) )
-                            {
-                            candidateList->Delete( i, 1 );
-                            break;
-                            }
-                        }
-                    if ( candidateList->Count() > 0 )
-                        {
-                        popup->SetChangeState( ETrue );
-                        iOwner->ChangeState( EEntry );
-                        }
-                    else
-                        {
-                        popup->SetChangeState( ETrue );
-                        iOwner->ChangeState( EZhuyinSequenceEdit );
-                        }
-                    }
-                else
-                    {
-                    popup->SetChangeState( ETrue );
-                    iOwner->ChangeState( EZhuyinSequenceEdit );
-                    }
-                }
-            }
-        else
-            {
-            TBuf<KMaxBufLen> textbuf;
-            for ( TInt i = 0; i < chineseDisped->Count(); i++ )
-                {
-                textbuf.Append(chineseDisped->MdcaPoint(i));
-                }
-            textbuf.Append(text);
-            fepMan->NewTextL(textbuf);
-            fepMan->CommitInlineEditL();
-            AddPhraseToDB(textbuf);
-            popup->ResetStrokeArray();
-            if ( text.Length() <= KInputPhraseMaxLength && !fepMan->IsPhraseCreation() )
-                {
-                if (fepMan->IsFlagSet(CAknFepManager::EFlagEditorFull))
-                    {
-                    fepMan->ClearFlag(CAknFepManager::EFlagEditorFull);
-                    iOwner->FepMan()->TryCloseUiL();
-                    }
-                else
-                    {
-                    iOwner->ChangeState( EPredictiveCandidate );
-                    }
-                }
-            else
-                {
-                fepMan->TryCloseUiL();
-                }
-            }
-        }
-    else if ( aKey == EPtiKeyStar )
-        {
-        return ETrue;
-        }    
-    else if ( aKey == EKeyCBA2 )
-        {
-        popup->ResetStrokeArray();
-        iOwner->FepMan()->EntryPhrase( EFalse );
-        iOwner->FepMan()->TryCloseUiL();
-        }
-    else if ( !iOwner->IsValidChineseInputKey(aKey) )
-        {
-        iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-        }
-    return ETrue;
-    }
-
-TBool TAknFepInputStateCandidateChinesePhrase::UpdateEEPContent( )
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    CDesCArrayFlat* zhuyinSymbols = UIContainer()->PinyinPopupWindow()->ZhuyinSymbols();
-    CDesCArrayFlat* chineseDisped = UIContainer()->PinyinPopupWindow()->ChineseCharsDisped();
-    CAknFepZhuyinAnalyser* analyser = iOwner->ZhuyinAnalyser();
-    CDesCArrayFlat* candidateList = UIContainer()->CandidatePane()->CandidateArray();
-    TBuf<KMaxBufLen> buf;
-    TBool isPhraseCreation = EFalse;
-    TBool valid = TZhuyinSymbolsMethods::UpdateEEPContent(
-        ptiengine,
-        analyser,
-        zhuyinSymbols,
-        chineseDisped,
-        candidateList,
-        buf,
-        isPhraseCreation
-        );
-    
-    if ( chineseDisped->Count() != 0  || zhuyinSymbols->Count() > 1 )
-        {
-        for ( TInt i = 0; i < candidateList->Count(); ++i )
-            {
-            if ( TZhuyinSymbolsMethods::IsZhuyinSymbol( candidateList->MdcaPoint( i ) ) )
-                {
-                candidateList->Delete( i, 1 );
-                break;
-                }
-            }
-        }
-    iOwner->FepMan()->PhraseCreation(isPhraseCreation);
-    UIContainer()->PinyinPopupWindow()->SetEEPContent(buf);
-    UIContainer()->PinyinPopupWindow()->SetEEPContentValid(valid);
-    return valid;
-    }
-void TAknFepInputStateCandidateChinesePhrase::AddPhraseToDB( TDes& aPhrase )
-    {
-    TPtiUserDictionaryEntry addUdbEntry( aPhrase );
-    //Add the phrase to the DB by PTI Engine
-    iOwner->PtiEngine()->AddUserDictionaryEntry( addUdbEntry );
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateCandidateHalfQwertyChinesePhrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,204 +0,0 @@
-/*
-* 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:            Implementation of Pinyin and Stroke phrase candidate state
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// System includes
-#include <PtiEngine.h>   
-
-// User includes
-#include "AknFepUiInputStateCandidateHalfQwertyChinesePhrase.h"
-#include "AknFepUiInputStateCandidateQwertyBaseChinesePhrase.h"
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUICtrlInputPane.h"
-#include "AknFepUICtrlPinyinPopup.h"
-#include "AknFepUIManagerStateInterface.h"  
-#include "AknFepManager.h" 
-#include <aknfep.rsg>                 
-
-// Constant definition
-const TInt KMinCandidateCount = 1;
-//const TInt KInputPaneLength = 32;
-//_LIT(KSep, "'");
-//_LIT(KReplace, "");
-// ---------------------------------------------------------------------------
-// AknFepUiInputStateCandidateHalfQwertyChinesePhrase::
-// TAknFepUiInputStateCandidateHalfQwertyChinesePhrase
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-TAknFepUiInputStateCandidateHalfQwertyChinesePhrase::
-TAknFepUiInputStateCandidateHalfQwertyChinesePhrase(MAknFepUIManagerStateInterface* aOwner,
-                                                      MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateCandidateQwertyBaseChinesePhrase(aOwner, aUIContainer)
-    {
-    iState = ECandidate;
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    
-    TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() &&
-                            uiContainer->CandidatePane()->IsFirstPage());
-    TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength > KMinCandidateCount;
-
-    uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows); 
-    uiContainer->ShowVerticalScrollArrows(multiplePages);
-    uiContainer->FocusCandidatePane(ETrue);
-    uiContainer->CandidatePane()->ShowCandidateOrdinals(ETrue);
-    uiContainer->CandidatePane()->SelectFirstPhrase();
-    UpdateIndicator();
-    }
-
-// ---------------------------------------------------------------------------
-// AknFepUiInputStateCandidateMiniQwertyPinyinAndStrokePhrase::HandleKeyL
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateCandidateHalfQwertyChinesePhrase::HandleKeyL(TInt aKey,
-                                                                    TKeyPressLength aLength)
-    {
-    TInt selected = UIContainer()->CandidatePane()->SelectedIndex();
-    TInt numbertotal = UIContainer()->CandidatePane()->VisibleCandidateCount();
-    MAknFepUICtrlPinyinPopup* popup = UIContainer()->PinyinPopupWindow();
-
-
-    if ( aKey != EStdKeyLeftFunc && 
-        (iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed) ||
-        iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagShiftKeyDepressed)))
-        {
-        iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-        return ETrue;
-        }
-    else if ( aKey == EStdKeyLeftFunc )
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        iOwner->FepMan()->LaunchSelectModeMenuL();
-        }
-    else if ( aKey ==EStdKeySpace)
-        {
-        iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-        return ETrue;
-        }
-    else if(aKey == EStdKeyBackspace) //clear key
-        {
-        UIContainer()->CandidatePane()->SplitPhraseCandidatesIntoPages();
-        UIContainer()->CandidatePane()->SetCandidateBuffer();
-        iOwner->ChangeState(EEntry);
-        popup->SetChangeState( ETrue );
-        iOwner->FepMan()->UpdateCbaL(R_AKNFEP_SOFTKEYS_OK_SELECT_CANCEL);
-
-        return ETrue;
-        }   
-    else if(aKey == EStdKeyUpArrow)   //up key
-        {
-        if(UIContainer()->CandidatePane()->IsFirstPage())
-            {
-            if ( EPinyin ==iOwner->FepMan()->InputMode() )
-                {
-                iOwner->ChangeState(EEntry);
-                iOwner->FepMan()->UpdateCbaL(R_AKNFEP_SOFTKEYS_OK_SELECT_CANCEL);
-                }
-            return ETrue;
-            }
-        else
-            {
-            return TAknFepInputStateCandidateQwertyBaseChinesePhrase::HandleKeyL(aKey, aLength);
-            }   
-        }
-    else if ( aKey == EStdKeyDownArrow )
-        {
-        TBool state = ETrue;
-        if ( popup->IsChangeStatet( ) && aLength == ELongKeyPress )
-            {
-            state = EFalse;
-            }
-        else
-            {
-            popup->SetChangeState( EFalse );
-            }
-        if ( state )
-            {
-            return TAknFepInputStateCandidateQwertyBaseChinesePhrase::HandleKeyL(
-                            aKey, aLength );
-            }
-        }
-    else if (aKey == EStdKeyLeftArrow)//in the same row
-        {
-        if (selected == 0)
-           {
-            UIContainer()->CandidatePane()->SelectIndex(numbertotal-1);
-           }
-        else
-           {
-            UIContainer()->CandidatePane()->SelectIndex(selected - 1);
-           }      
-        return ETrue;   
-        }
-    else if (aKey == EStdKeyRightArrow)//in the same row
-        {
-        if (selected == numbertotal-1)
-            {
-            UIContainer()->CandidatePane()->SelectIndex(0);
-            }
-        else
-            {
-            UIContainer()->CandidatePane()->SelectIndex(selected + 1);
-            }     
-        return ETrue;       
-        } 
-    else if ( aKey == EStdKeyDevice0 || 
-              aKey == EStdKeyDevice3 ||
-              aKey == EStdKeyEnter )//SK1,Select,Enter
-        {
-        TPtrC text = UIContainer()->CandidatePane()->CurrentPhraseCandidate();
-        if(text.Length())
-            {            
-            MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-            fepMan->NewTextL(text);
-            fepMan->CommitInlineEditL();
-            iOwner->PtiEngine()->SetPredictiveChineseChar(text);
-            if (fepMan->IsFlagSet(CAknFepManager::EFlagEditorFull))
-                {
-                fepMan->ClearFlag(CAknFepManager::EFlagEditorFull);
-                iOwner->FepMan()->TryCloseUiL();
-                }
-            else
-                {
-                iOwner->ChangeState(EPredictiveCandidate);
-                }
-            }
-        return ETrue;
-        }   
-    else
-        {
-        return TAknFepInputStateCandidateQwertyBaseChinesePhrase::HandleKeyL(aKey, aLength);
-        }  
-        
-    return EFalse;     
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateCandidateHiraganaKanji.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,274 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the TAknFepUiInputStateCandidateHiraganaKanji methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-
-
-#include "AknFepUiInputStateCandidateHiraganaKanji.h"
-#include "AknFepUIManagerStateInterface.h"   // MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"        // MAknFepManagerUIInterface
-#include "AknFepUICtrlContainerJapanese.h"   // MAknFepUICtrlContainerJapanese
-#include "AknFepUICtrlCandidatePaneInterface.h"
-                                        // MAknFepUICtrlCandidatePaneInterface
-#include "AknFepGlobalEnums.h"
-#include "AknFepPanic.h"
-
-#include <PtiDefs.h>                    // keys
-#include <PtiEngine.h>
-#include <PtiCompositionDataIF.h>       // MPtiEngineCompositionDataInterfac
-#include <aknfep.rsg>
-
-// CONSTANTS
-
-/**
- *  TAknFepUiInputStateCandidateHiraganaKanji class.
- *
- */
-//============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCandidateHiraganaKanji::
-//                                  TAknFepUiInputStateCandidateHiraganaKanji
-// C++ default Constructor
-// ---------------------------------------------------------------------------
-//
-TAknFepUiInputStateCandidateHiraganaKanji::TAknFepUiInputStateCandidateHiraganaKanji(
-                                    MAknFepUIManagerStateInterface* aOwner,
-                                    MAknFepUICtrlContainerJapanese* aUIContainer)
-
-    :TAknFepUiInputStateEntryJapaneseMultitap(aOwner, aUIContainer)
-    {
-    iState = ECandidate;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateInitialJapaneseBase::InitializeStateL
-// Initialize State
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStateCandidateHiraganaKanji::InitializeStateL()
-    {
-    iOwner->SetInlineEditUnderlineVisibility(ETrue);
-
-    // Get index number to show at first
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    TInt index;
-    CDesCArrayFlat* candidateArray = iOwner->CandidateArray();
-    ptiEngine->GetCandidateListL(*candidateArray);
-    ptiEngine->HandleCommandL(EPtiCommandUserActionGetCurrentIndexOfCandidates, &index);
-
-    UpdateCandidateListL(index);
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCandidateHiraganaKanji::CloseUI
-// Closing UI
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStateCandidateHiraganaKanji::CloseUI()
-    {
-    UIContainer()->
-        CandidatePane(MAknFepUICtrlContainerJapanese::EJapaneseCandidatePane)->
-            HideWindow();
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCandidateHiraganaKanji::HandleNumericKeyL
-// Handling short keypress events of the numeric and the star
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateCandidateHiraganaKanji::HandleNumericShortKeyL(TInt /*aKey*/)
-    {
-    // This state doesn't handle numeric key.
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    ptiEngine->HandleCommandL(EPtiCommandUserActionAllComplete);
-    CloseUI();
-    iOwner->ChangeState(EMultiCompletion);
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCandidateHiraganaKanji::HandleNaviKeyL
-// Handling Navigate keypress event
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateCandidateHiraganaKanji::HandleNaviKeyL(TInt aKey,
-                                                                TKeyPressLength /*aLength*/)
-    {
-    TBool ret = EFalse;
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    MAknFepUICtrlCandidatePaneInterface* candidatePane =
-        UIContainer()->CandidatePane(MAknFepUICtrlContainerJapanese::
-                                     EJapaneseCandidatePane);
-    TAknFepUICtrlScroll direction = EScrollNone;
-    TPtiEngineCommand ptiCommand = EPtiCommandNone;
-
-    switch(aKey)
-        {
-        case EKeyLeftArrow:
-        case EKeyRightArrow:
-        case EStdKeyLeftArrow:      /* 0x0e */
-        case EStdKeyRightArrow:     /* 0x0f */
-            { // Change Conversion state
-            CloseUI();
-            iOwner->ChangeState(EConversion);
-            ret = EFalse;
-            }
-            break;
-        case EKeyDownArrow:
-        case EKeyUpArrow:
-        case EStdKeyDownArrow:      /* 0x11 */
-        case EStdKeyUpArrow:        /* 0x10 */
-        case EStdKeySpace:
-            { // The highlight of candidate is moved up/down
-            // aKey == EKeyDownArrow
-            ptiCommand = EPtiCommandUserActionConvert;
-            direction = EScrollDown;
-            // aKey == EKeyUpArrow
-            if (aKey == EKeyUpArrow || aKey == EStdKeyUpArrow)
-                {
-                ptiCommand = EPtiCommandUserActionPrevious;
-                direction = EScrollUp;
-                }
-
-            ptiEngine->HandleCommandL(ptiCommand);
-            UpdateInlineEditingCharacterL();
-            candidatePane->MoveItem(direction);
-            ret = ETrue;
-            }
-            break;
-        default:
-            break;
-        }
-
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCandidateHiraganaKanji::HandleAuxKeyL
-// Handling auxiliary keypress events including OK and Backspace
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateCandidateHiraganaKanji::HandleAuxKeyL(TInt aKey,
-                                                               TKeyPressLength /*aLength*/)
-    {
-    MAknFepUICtrlCandidatePaneInterface* candidatePane =
-        UIContainer()->CandidatePane(MAknFepUICtrlContainerJapanese::
-                                     EJapaneseCandidatePane);
-    candidatePane->HideWindow();
-    switch(aKey)
-        {
-        case EKeyOK:
-        case EStdKeyDevice3:        /* 0xA7 */
-        case EStdKeyEnter:          /* 0x03 */
-        case EStdKeyNkpEnter:       /* 0x88 */
-            {
-            iOwner->ChangeState(EMultiCompletion);
-            }
-            break;
-        case EKeyBackspace:
-        case EStdKeyBackspace:      /* 0x01 */
-        case EStdKeyEscape:         /* 0x04 */
-            {
-            iOwner->ChangeState(EConversion);
-            }
-            break;
-      default: // Panic
-            {
-            AknFepPanic(EAknFepPanicNotSupportKey);
-            }
-            break;
-        }
-    return EFalse;
-    }
-
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCandidateHiraganaKanji::UpdateCandidateListL
-// Update candidate list
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStateCandidateHiraganaKanji::UpdateCandidateListL(TInt aIndex /*=0*/)
-    {
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CDesCArrayFlat* candidateArray = iOwner->CandidateArray();
-    MAknFepUICtrlCandidatePaneInterface* candidatePane =
-        UIContainer()->CandidatePane(MAknFepUICtrlContainerJapanese::
-                                     EJapaneseCandidatePane);
-    const MPtiEngineCompositionDataInterface* data = ptiEngine->CompositionData();
-    // Check ComposirionData
-    __ASSERT_DEBUG( data->CompletedString().Length() < 0,
-        RDebug::Print(
-           _L("In TAknFepUiInputStateCandidateHiraganaKanji::TAknFepUiInputStateCandidateHiraganaKanji INVALID DATA: ConvertingString!")));
-
-    // Get coordinate of input area
-    TPoint  leftSideOfBaseLine;
-    TInt    height;
-    TInt    ascent;
-    TInt    documentOffset = data->CursorPosition();
-    if (data->NumberOfPhrase() > 0)
-        {
-        TPtrC8 clauseChar = data->LengthOfPhrase();
-        documentOffset = clauseChar[0];
-        }
-    fepMan->GetScreenCoordinatesL(leftSideOfBaseLine, height, ascent, documentOffset);
-
-    // The showing candidate pop-up list
-    candidatePane->SetWindowPosition(leftSideOfBaseLine, height, ascent);
-    candidatePane->ShowCandidateListL(candidateArray, aIndex, 
-                                      R_AKNFEP_SOFTKEYS_EMPTY_EMPTY_COMMIT);
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCandidateHiraganaKanji::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStateCandidateHiraganaKanji::HandleCommandL(TInt aCommandId)
-    {
-    if(aCommandId == EAknFepResourceChanged)
-        {
-        // Get the current index number
-        CPtiEngine* ptiEngine = iOwner->PtiEngine();
-        CDesCArrayFlat* candidateArray = iOwner->CandidateArray();
-        TInt index;
-        ptiEngine->GetCandidateListL(*candidateArray);
-        ptiEngine->HandleCommandL(EPtiCommandUserActionGetCurrentIndexOfCandidates, &index);
-
-        CloseUI();
-        UpdateCandidateListL(index);
-        }
-    else
-        {
-        // Go through the event to base class.
-        TAknFepUiInputStateEntryJapaneseMultitap::HandleCommandL(aCommandId);
-        }
-    }
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateCandidateMiniQwertyPinyinAndStrokePhrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,282 +0,0 @@
-/*
-* 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:            Implementation of Pinyin and Stroke phrase candidate state
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// System includes
-#include <PtiEngine.h>  
-#include <PtiUserDicEntry.h>
-#include <aknnotewrappers.h> //CAknWarningNote 
-
-const TInt KMinCandidateCount = 1;
-// User includes
-#include "AknFepUiInputStateCandidateMiniQwertyPinyinAndStrokePhrase.h"
-#include "AknFepUiInputStateCandidateQwertyBaseChinesePhrase.h"
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUICtrlInputPane.h"
-#include "aknfepuictrleditpane.h"           //phrase creation
-#include "AknFepUIManagerStateInterface.h"  
-#include "AknFepManager.h" 
-#include <aknfep.rsg>                 
-
-// ---------------------------------------------------------------------------
-// AknFepUiInputStateCandidateMiniQwertyPinyinAndStrokePhrase::
-// TAknFepUiInputStateCandidateMiniQwertyPinyinAndStrokePhrase
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-TAknFepUiInputStateCandidateMiniQwertyPinyinAndStrokePhrase::
-    TAknFepUiInputStateCandidateMiniQwertyPinyinAndStrokePhrase(MAknFepUIManagerStateInterface* aOwner,
-                                                      MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputMiniQwertyPinyinPhraseBase(aOwner, aUIContainer)
-    {
-    iState = ECandidate;
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    
-    TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() &&
-                            uiContainer->CandidatePane()->IsFirstPage());
-    TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength > KMinCandidateCount;
-
-    uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows); 
-    uiContainer->ShowVerticalScrollArrows(multiplePages);
-    uiContainer->FocusCandidatePane(ETrue);
-    uiContainer->CandidatePane()->ShowCandidateOrdinals(ETrue);
-    uiContainer->CandidatePane()->SelectFirstPhrase();
-    UIContainer()->EditPaneWindow()->DisableCursor();
-    }
-
-// ---------------------------------------------------------------------------
-// AknFepUiInputStateCandidateMiniQwertyPinyinAndStrokePhrase::HandleKeyL
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateCandidateMiniQwertyPinyinAndStrokePhrase::HandleKeyL(TInt aKey,
-                                                                    TKeyPressLength aLength)
-    {
-    TInt selected = UIContainer()->CandidatePane()->SelectedIndex();
-    TInt numbertotal = UIContainer()->CandidatePane()->VisibleCandidateCount();
-
-    if ( iOwner->FepMan()->IsFlagSet( CAknFepManager::EFlagQwertyChrKeyDepressed )
-        || iOwner->FepMan()->IsFlagSet( CAknFepManager::EFlagShiftKeyDepressed ) )
-        {
-        iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-        return ETrue;
-        }
-    TBool ret = EFalse;
-    switch ( aKey )
-        {
-        case EStdKeySpace:
-            {
-            if ( ECangJie ==iOwner->FepMan()->InputMode() )
-                {
-                TPtrC text = UIContainer()->CandidatePane()->CurrentPhraseCandidate();
-                if ( text.Length() )
-                    {
-                    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-                    fepMan->NewTextL( text );
-                    fepMan->CommitInlineEditL();
-                    iOwner->PtiEngine()->SetPredictiveChineseChar( text );
-                    if ( fepMan->IsFlagSet( CAknFepManager::EFlagEditorFull ) )
-                        {
-                        fepMan->ClearFlag( CAknFepManager::EFlagEditorFull );
-                        iOwner->FepMan()->TryCloseUiL();
-                        }
-                    else
-                        {
-                        UIContainer()->EditPaneWindow()->SetChangeState(ETrue);
-                        iOwner->ChangeState( EPredictiveCandidate );
-                        }
-                    }
-                }
-            else
-                {
-                iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-                }
-            ret = ETrue;
-            }
-            break;
-        case EStdKeyBackspace:
-            {
-            UIContainer()->CandidatePane()->SetCandidateBuffer();
-            UIContainer()->EditPaneWindow()->SetAutoChangeStateFlag( EManualChangeState );
-            UIContainer()->EditPaneWindow()->SetChangeState( ETrue );
-            iOwner->ChangeState( EMiniQwertyEdit );
-            iOwner->FepMan()->UpdateCbaL( R_AKNFEP_SOFTKEYS_OK_SELECT_CANCEL );
-            ret = ETrue;
-            }
-            break;
-        case EStdKeyLeftArrow:
-            {
-            if ( selected == 0 )
-                {
-                UIContainer()->CandidatePane()->SelectIndex( numbertotal - 1 );
-                }
-            else
-                {
-                UIContainer()->CandidatePane()->SelectIndex( selected - 1 );
-                }
-            UpdateIndicator();
-            ret = ETrue;
-            }
-            break;
-        case EStdKeyRightArrow:
-            {
-            if ( selected == numbertotal - 1 )
-                {
-                UIContainer()->CandidatePane()->SelectIndex( 0 );
-                }
-            else
-                {
-                UIContainer()->CandidatePane()->SelectIndex( selected + 1 );
-                }
-            UpdateIndicator();
-            ret = ETrue;
-            }
-            break;
-        case EStdKeyDownArrow:
-            {
-            ret = TAknFepInputStateCandidateQwertyBaseChinesePhrase::HandleKeyL(aKey, aLength);
-            }
-            break;
-        case EStdKeyUpArrow:
-            {
-            if ( UIContainer()->CandidatePane()->IsFirstPage() )
-                {
-                UIContainer()->EditPaneWindow()->SetAutoChangeStateFlag( EManualChangeState );
-                iOwner->ChangeState( EMiniQwertyEdit );
-                return ETrue;   
-                }
-            else
-                {
-                UIContainer()->CandidatePane()->PreviousCandidatePage();
-                UIContainer()->CandidatePane()->SetCandidateBuffer();
-                UIContainer()->CandidatePane()->SelectFirstPhrase();
-                UpdateIndicator();
-                }
-            ret = ETrue;
-            }
-            break;
-        case EStdKeyEnter:
-            {
-            if ( EStroke == iOwner->FepMan()->InputMode() ||
-            ECangJie == iOwner->FepMan()->InputMode() ||
-            EPinyin == iOwner->FepMan()->InputMode() ) 
-                {
-                iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-                }
-            ret = ETrue;
-            }
-            break;
-        case EStdKeyDevice0:
-        case EStdKeyDevice3:
-            {
-            TPtrC text = UIContainer()->CandidatePane()->CurrentPhraseCandidate();
-            if ( text.Length() && aLength != ELongKeyPress )
-                {
-                if ( !CommitInlineEEPL( text ) )
-                    {
-                    DoActionAfterCommit();
-                    }
-                else
-                    {
-                    if ( CheckFirstGroupStroke() )
-                        {
-                        RefreshUI( EFalse );
-                        UIContainer()->CandidatePane()->SelectFirstPhrase();
-                        }
-                    else
-                        {
-                        UIContainer()->EditPaneWindow()->SetAutoChangeStateFlag( EAutoChangeStateFromCandidate );
-                        iOwner->ChangeState( EMiniQwertyEdit );
-                        }
-                    }
-                }
-            }
-            ret = ETrue;
-            break;
-        case EKeyLeftCtrl:
-        case EKeyRightCtrl:
-        case EKeyLeftShift:
-            {
-            iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-            ret = ETrue;
-            }
-            break;
-        case EKeyRightShift:
-            {
-            ret = ETrue;
-            }
-            break;
-        default:
-            return TAknFepInputMiniQwertyPinyinPhraseBase::HandleKeyL(
-                aKey, aLength );
-        }
-    return ret;
-    }
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCandidateMiniQwertyPinyinAndStrokePhrase::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStateCandidateMiniQwertyPinyinAndStrokePhrase::HandleCommandL(
-    TInt aCommandId )
-    {
-    TPtrC text = UIContainer()->CandidatePane()->CurrentPhraseCandidate( );
-    switch ( aCommandId )
-        {
-        // Handle the event frome command.
-        case EAknSoftkeySelect:
-       // case (TUint16)EAknSoftkeySelect: //the Selected in soft CBA
-            if ( text.Length( ) )
-                {
-                if ( !CommitInlineEEPL( text ) )
-                    {
-                    DoActionAfterCommit( );
-                    }
-                else
-                    {
-                    if ( CheckFirstGroupStroke( ) )
-                        {
-                        RefreshUI( EFalse );
-                        UIContainer()->CandidatePane()->SelectFirstPhrase( );
-                        }
-                    else
-                        {
-                        UIContainer()->EditPaneWindow()->SetAutoChangeStateFlag( EAutoChangeStateFromCandidate );
-                        iOwner->ChangeState( EMiniQwertyEdit );
-                        }
-                    }
-                }
-            break;
-        default:
-            TAknFepInputStateChineseBase::HandleCommandL( aCommandId );
-            break;
-        }
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateCandidateMiniQwertyZhuyinPhrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,560 +0,0 @@
-/*
-* 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:            Implementation of Zhuyin phrase candidate state
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// System includes
-#include <PtiEngine.h>   
-
-// User includes
-#include "AknFepUiInputStateCandidateMiniQwertyZhuyinPhrase.h"
-#include "AknFepUiInputStateCandidateQwertyBaseChinesePhrase.h"
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUICtrlPinyinPopup.h"
-#include "AknFepUICtrlInputPane.h"
-#include "AknFepUIManagerStateInterface.h"  
-#include "AknFepManager.h" 
-#include <aknfep.rsg>   
-
-#include "aknfepuictrleditpane.h"           //for zhuyin phrase creation
-#include "aknfepinputstateminiqwertyzhuyinkeymap.h"
-#include "aknfepuiinputstateminiqwertyzhuyinphrase.h"
-// Constant definition
-const TInt KMinCandidateCount = 1;
-const TInt KInputPaneLength = 32;
-//_LIT( KDelimiter, "\x2022");
-_LIT( KDelimiter, "'");
-_LIT( KSaiStroke,"\x311D" );
-
-struct TToneZhuYinMap
-    {
-    TUint16 iValue;
-    TInt iInputTone;
-    };
-const TToneZhuYinMap ZhuyinToneMap[] =
-    {
-        {0x0020, 1},
-        {0x02CA, 2},
-        {0x02c7, 3},
-        {0x02CB, 4},
-        {0x02D9, 5}
-    };
-
-// ---------------------------------------------------------------------------
-// AknFepUiInputStateCandidateMiniQwertyZhuyinPhrase::
-// TAknFepUiInputStateCandidateMiniQwertyZhuyinPhrase
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-TAknFepUiInputStateCandidateMiniQwertyZhuyinPhrase::TAknFepUiInputStateCandidateMiniQwertyZhuyinPhrase(
-    MAknFepUIManagerStateInterface* aOwner,
-    MAknFepUICtrlContainerChinese* aUIContainer ) :
-    TAknFepInputStateCandidateQwertyBaseChinesePhrase( aOwner, aUIContainer)
-    {
-    iState = ECandidate;
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-
-    TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() && uiContainer->CandidatePane()->IsFirstPage());
-    TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength
-        > KMinCandidateCount;
-
-    uiContainer->ShowHorizontalScrollArrows( showHorizontalScrollArrows );
-    uiContainer->ShowVerticalScrollArrows( multiplePages );
-    uiContainer->FocusCandidatePane( ETrue );
-    uiContainer->CandidatePane()->ShowCandidateOrdinals( ETrue );
-    uiContainer->CandidatePane()->SelectFirstPhrase();
-    UpdateIndicator();
-
-    }
-
-// ---------------------------------------------------------------------------
-// AknFepUiInputStateCandidateMiniQwertyZhuyinPhrase::HandleKeyL
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateCandidateMiniQwertyZhuyinPhrase::HandleKeyL(
-    TInt aKey, TKeyPressLength aLength )
-    {
-    if (iOwner->FepMan()->KeyboardLayout() == EPtiKeyboardQwerty4x10 || iOwner->FepMan()->KeyboardLayout() == EPtiKeyboardQwerty3x11)
-        {
-        return HandleKeyForMiniQwertyL(aKey, aLength);
-        }
-    else
-        {
-        return HandleKeyForHalfAndCustomQwertyL(aKey, aLength);
-        }
-    }
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCandidateMiniQwertyZhuyinPhrase::ComitPhraseCreatedToEditor()
-// commit the phrase created to the editor
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateCandidateMiniQwertyZhuyinPhrase::ComitPhraseCreatedToEditorL()
-    {
-    TPtrC text = UIContainer()->CandidatePane()->CurrentPhraseCandidate();
-    if ( text.Length() )
-        {
-        MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-        
-    
-        TBuf<KInputPaneLength> highText;
-        UIContainer()->InputPane()->GetText( highText );
-        TInt groupNum = GetInputPaneKeyStrokeCount( highText );
-        TInt canidateCout = text.Length();
-        if ( groupNum > canidateCout )
-            {
-            FillPhraseAndStrokArrayL( highText, text );
-            }
-        else
-            {
-            fepMan->NewTextL( text );
-            fepMan->CommitInlineEditL();
-            iOwner->PtiEngine()->SetPredictiveChineseChar( text );
-            UIContainer()->EditPaneWindow()->ResetAllArray();
-            UIContainer()->EditPaneWindow()->SetEffictiveLength( 0 );
-            if ( fepMan->IsFlagSet( CAknFepManager::EFlagEditorFull ) )
-                {
-                fepMan->ClearFlag( CAknFepManager::EFlagEditorFull );
-                iOwner->FepMan()->TryCloseUiL();
-                }
-            else
-                {
-                UIContainer()->EditPaneWindow()->SetChangeState(ETrue);
-                iOwner->ChangeState( EPredictiveCandidate );
-                }
-            }
-        }
-    return ETrue;
-    }
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCandidateMiniQwertyZhuyinPhrase::GetInputPaneKeyStrokeCount()
-// get the input pane key stroke count 
-// ---------------------------------------------------------------------------
-//
-TInt TAknFepUiInputStateCandidateMiniQwertyZhuyinPhrase::GetInputPaneKeyStrokeCount(
-    const TDesC& aBuf )
-    {
-    TInt groupNum = 1;
-    for (TInt i = 0; i < aBuf.Length() - 1; i++ )
-        {
-        TInt num = sizeof(ZhuyinToneMap )/( sizeof(ZhuyinToneMap[0] ) );
-        TBool isFindTone = EFalse;
-        TInt isFindDel = 0;
-        for (TInt m =0; m< num; m++ )
-            {
-            if ( aBuf[i] == ZhuyinToneMap[m].iValue )
-                {
-                isFindTone = ETrue;
-                break;
-                }
-            }
-        if ( !isFindTone )
-            {
-            isFindDel = aBuf.Mid(i,1).Compare( KDelimiter );
-            }
-        if ( 0 == isFindDel || isFindTone )
-            {
-            groupNum++;
-            }
-        }
-    if ( 0 == aBuf.Right( 1 ).Compare( KDelimiter ) )
-        {
-        groupNum++;
-        }
-    return groupNum;
-    }
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCandidateMiniQwertyZhuyinPhrase::GetIndexOfToneMark()
-// get the index of the tonemark 
-// ---------------------------------------------------------------------------
-//
-TInt TAknFepUiInputStateCandidateMiniQwertyZhuyinPhrase::GetIndexOfToneMark( const TDesC& aText)
-    {
-    TInt num = sizeof(ZhuyinToneMap )/( sizeof(ZhuyinToneMap[0]));
-    TInt len = aText.Length();
-    for( TInt j = 0; j< len ;j++ )
-        {
-        for (TInt i = 0; i<num; i++ )
-            {
-            if ( aText[j] == ZhuyinToneMap[i].iValue )
-                {
-                return j;
-                }
-            }
-        }
-    return -1;
-    }
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCandidateMiniQwertyZhuyinPhrase::FillPhraseAndStrokArray()
-// fill the phrase and keystroke array
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStateCandidateMiniQwertyZhuyinPhrase::FillPhraseAndStrokArrayL(
-    const TDesC& aText, const TDesC& aPhrase )
-    {
-    CDesCArrayFlat* keyStrokeArray = UIContainer()->EditPaneWindow()->KeystrokeArray();
-    CDesCArrayFlat* phraseKeyStrokeArray = UIContainer()->EditPaneWindow()->PhraseShowKeyStrokeArray() ;
-    CDesCArrayFlat* phraseArray = UIContainer()->EditPaneWindow()->PhraseArray();
-    
-    RArray<TInt>* keyCodeArray = UIContainer()->EditPaneWindow()->KeycodeArray();
-    RArray<TInt>* keyCodePhraseArray = UIContainer()->EditPaneWindow()->PhraseKeycodeArray();
-    phraseArray->AppendL( aPhrase );
-    TBuf<KInputPaneLength> keyStoke;
-    TInt replaceCount = 0;
-    TInt delimiterIndex = aText.Find( KDelimiter );
-    if ( KErrNotFound == delimiterIndex )
-        {
-        delimiterIndex = -1;
-        }
-    TInt indexOfToneMark = GetIndexOfToneMark( aText );
-    if ( -1 == delimiterIndex && indexOfToneMark == -1 )
-        {
-        replaceCount = aText.Length();
-        }
-    else if ( delimiterIndex >= 0 && indexOfToneMark == -1 )
-        {
-        replaceCount = delimiterIndex;
-        }
-    else if ( delimiterIndex >= 0 && indexOfToneMark >= 0 )
-        {
-        replaceCount = Min( delimiterIndex, indexOfToneMark );
-        if ( delimiterIndex > indexOfToneMark )
-            {
-            replaceCount++;
-            }
-        }
-    else
-        {
-        replaceCount = indexOfToneMark + 1;// have tonemark  but has not deli
-        }
-    for (TInt i = 0; i < replaceCount; i++ )
-        {
-        TPtrC ptr = keyStrokeArray->MdcaPoint( 0 );
-        keyStoke.Append( ptr );
-        keyStrokeArray->Delete( 0 );
-        // added for the keycode
-        TInt keyCodeValue = (*keyCodeArray)[0];
-        keyCodePhraseArray->AppendL( keyCodeValue );
-        keyCodeArray->Remove( 0 );
-        }
-    phraseKeyStrokeArray->AppendL( keyStoke );   
-    if ( CheckToneMarkBorderUpon()|| 0 ==keyStrokeArray->MdcaPoint( 0 ).Compare( KSaiStroke ) )
-        {
-        iOwner->ChangeState( EMiniQwertyEdit );
-        }
-    else
-        {
-        //change to the spelling selecting state
-        iOwner->ChangeState( EZhuyinSpelling );
-        }
-    }
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyZhuyinPhraseBase::GetValidKeystroke
-// Get the valid keystroke.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateCandidateMiniQwertyZhuyinPhrase::CheckToneMarkBorderUpon()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* keystroke = editPane->KeystrokeArray();
-    
-    if ( keystroke->Count() > 1 )
-        {
-        for ( TInt i = 1; i < keystroke->Count(); ++i )
-            {
-            if ( ( 1 == keystroke->MdcaPoint( i - 1 ).Length() ) &&
-                ( 1 == keystroke->MdcaPoint( i ).Length() ) )
-                {
-                return ETrue;
-                }
-            }
-        }
-    
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// AknFepUiInputStateCandidateMiniQwertyZhuyinPhrase::HandleKeyForHalfAndCustomQwertyL
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateCandidateMiniQwertyZhuyinPhrase::HandleKeyForHalfAndCustomQwertyL(TInt aKey,
-                                                                    TKeyPressLength aLength)
-    {
-    TInt selected = UIContainer()->CandidatePane()->SelectedIndex();
-    TInt numbertotal = UIContainer()->CandidatePane()->VisibleCandidateCount();
-    
-    if (iOwner->FepMan()->FnKeyState())
-        {
-        return ETrue;
-        }
-    else if(aKey == EStdKeySpace)
-        {
-        iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-        return ETrue;
-        }
-    else if(aKey == EStdKeyBackspace )
-        {
-        iOwner->ChangeState(EEntry);
-        iOwner->FepMan()->UpdateCbaL(R_AKNFEP_SOFTKEYS_OK_SELECT_CANCEL);
-
-        return ETrue;
-        }
-    else if(aKey == EStdKeyUpArrow)   
-        {
-        if(UIContainer()->CandidatePane()->IsFirstPage())
-            {
-            iOwner->ChangeState(EEntry);
-            iOwner->FepMan()->UpdateCbaL(R_AKNFEP_SOFTKEYS_OK_SELECT_CANCEL);
-            return ETrue;
-            }
-        else
-            {
-            return TAknFepInputStateCandidateQwertyBaseChinesePhrase::HandleKeyL(aKey, aLength);
-            }   
-        }
-    else if ( aKey == EStdKeyEnter)
-        {
-        TBuf<MAknFepUICtrlInputPane::EMaxInputCharsPinyinPopupNotIncludingToneMark> atext;
-        UIContainer()->PinyinPopupWindow()->GetItemText(
-                                    UIContainer()->PinyinPopupWindow()->CurrentSelection(),
-                                    atext);
-        if(atext.Length())
-            {            
-            MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-            fepMan->NewTextL(atext);
-            fepMan->CommitInlineEditL();
-            iOwner->FepMan()->TryCloseUiL();
-            }
-        return ETrue;
-        }
-    else if ( aKey == EStdKeyLeftArrow )
-       {
-       if ( selected == 0 )
-          {
-          UIContainer()->CandidatePane()->SelectIndex( numbertotal - 1 );
-          }
-       else
-          {
-          UIContainer()->CandidatePane()->SelectIndex( selected - 1 );
-          }     
-       UpdateIndicator();
-       return ETrue;    
-       }
-    else if ( aKey == EStdKeyRightArrow )
-       {
-        if ( selected == numbertotal - 1 )
-            {
-            UIContainer()->CandidatePane()->SelectIndex( 0 );
-            }
-        else
-            {
-            UIContainer()->CandidatePane()->SelectIndex( selected + 1 );
-            } 
-        UpdateIndicator();
-        return ETrue;       
-       }
-    else if ( aKey == EStdKeyDevice0 || aKey == EStdKeyDevice3 )
-        {             
-        TPtrC text = UIContainer()->CandidatePane()->CurrentPhraseCandidate();
-        if(text.Length())
-            {            
-            MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-            fepMan->NewTextL(text);
-            fepMan->CommitInlineEditL();
-            iOwner->PtiEngine()->SetPredictiveChineseChar(text);
-            if (fepMan->IsFlagSet(CAknFepManager::EFlagEditorFull))
-                {
-                fepMan->ClearFlag(CAknFepManager::EFlagEditorFull);
-                iOwner->FepMan()->TryCloseUiL();
-                }
-            else
-                {
-                UIContainer()->EditPaneWindow()->SetChangeState(ETrue);
-                iOwner->ChangeState(EPredictiveCandidate);
-                }
-            }
-        return ETrue;
-        }   
-    else
-        {
-        return TAknFepInputStateCandidateQwertyBaseChinesePhrase::HandleKeyL(aKey, aLength);
-        } 
-    }
-// ---------------------------------------------------------------------------
-// AknFepUiInputStateCandidateMiniQwertyZhuyinPhrase::HandleKeyForMiniQwertyL
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateCandidateMiniQwertyZhuyinPhrase::HandleKeyForMiniQwertyL(
-    TInt aKey, TKeyPressLength aLength )
-    {
-    MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-    MAknFepUICtrlEditPane* editPane = UIContainer()->EditPaneWindow();
-    TInt selected = UIContainer()->CandidatePane()->SelectedIndex();
-    TInt numbertotal = UIContainer()->CandidatePane()->VisibleCandidateCount();
-    //  TInt isSelect = UIContainer()->CandidatePane()->SelectIndex( index, EFalse );
-    if ( CAknFepFnKeyManager::EFnKeyNext == iOwner->FepMan()->FnKeyState() || 
-         CAknFepFnKeyManager::EFnKeyLock == iOwner->FepMan()->FnKeyState() )
-        {
-        return ETrue;
-        }
-    else if ( aKey == EStdKeyDevice1 )
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        return ETrue;
-        }
-    else if ( aKey == EStdKeySpace )
-        {
-        iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-        return ETrue;
-        }
-    else if ( aKey == EStdKeyBackspace )
-        {
-        UIContainer()->EditPaneWindow()->SetChangeState( ETrue );
-        iOwner->ChangeState( EEntry );
-        return ETrue;
-        }
-    else if ( aKey == EStdKeyUpArrow )
-        {
-        if ( UIContainer()->CandidatePane()->IsFirstPage() )
-            {
-            iOwner->ChangeState( EEntry );
-            return ETrue;
-            }
-        else
-            {
-            return TAknFepInputStateCandidateQwertyBaseChinesePhrase::HandleKeyL(
-                aKey, aLength );
-            }
-        }
-    else if ( aKey == EStdKeyDownArrow || aKey == EStdKeySpace )
-        {
-        TBool state = ETrue;
-        if ( editPane->IsChangeState() && aLength == ELongKeyPress )
-            {
-            state = EFalse;
-            }
-        else
-            {
-            editPane->SetChangeState( EFalse );
-            }
-        if ( state )
-            {
-            return TAknFepInputStateCandidateQwertyBaseChinesePhrase::HandleKeyL(
-                            aKey, aLength );
-            }
-        }
-    else if ( aKey == EStdKeyEnter )
-        {
-        return ETrue;
-        }
-    else if ( aKey == EStdKeyLeftArrow )
-        {
-        if ( selected == 0 )
-            {
-            UIContainer()->CandidatePane()->SelectIndex( numbertotal-1 );
-            }
-        else
-            {
-            UIContainer()->CandidatePane()->SelectIndex( selected - 1 );
-            }
-        return ETrue;
-        }
-    else if ( aKey == EStdKeyRightArrow )
-        {
-        if ( selected == numbertotal-1 )
-            {
-            UIContainer()->CandidatePane()->SelectIndex( 0 );
-            }
-        else
-            {
-            UIContainer()->CandidatePane()->SelectIndex( selected + 1 );
-            }
-        return ETrue;
-        }
-    else
-        {
-        TInt index = 0;
-        TBool isIndex = MapKeyToIndexSelectCandidate( aKey, index );
-        if ( aLength == EShortKeyPress && 
-            ( ( isIndex && UIContainer()->CandidatePane()->SelectIndex( index ) ) ||
-                aKey == EStdKeyDevice0 || 
-                aKey == EStdKeyDevice3 ) )
-            {
-            editPane->SetNeedClearDeliberateSelection( ETrue );
-            ComitPhraseCreatedToEditorL();
-            return ETrue;
-            }
-        else
-            {
-            return TAknFepInputStateCandidateQwertyBaseChinesePhrase::HandleKeyL(
-                aKey, aLength );
-            }
-        }
-        return EFalse;
-    }
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCandidateMiniQwertyZhuyinPhrase::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStateCandidateMiniQwertyZhuyinPhrase::HandleCommandL(
-    TInt aCommandId )
-    {
-    TPtrC text = UIContainer()->CandidatePane()->CurrentPhraseCandidate( );
-    switch ( aCommandId )
-        {
-        // Handle the event frome command.
-        case EAknSoftkeySelect:
-    //    case (TUint16)EAknSoftkeySelect: //the Selected in soft CBA            
-            if ( text.Length( ) )
-                {
-                MAknFepManagerUIInterface* fepMan = iOwner->FepMan( );
-                fepMan->NewTextL( text );
-                fepMan->CommitInlineEditL( );
-                iOwner->PtiEngine()->SetPredictiveChineseChar( text );
-                if ( fepMan->IsFlagSet( CAknFepManager::EFlagEditorFull ) )
-                    {
-                    fepMan->ClearFlag( CAknFepManager::EFlagEditorFull );
-                    iOwner->FepMan()->TryCloseUiL( );
-                    }
-                else
-                    {
-                    iOwner->ChangeState( EPredictiveCandidate );
-                    }
-                }
-            break;
-        default:
-            TAknFepInputStateChineseBase::HandleCommandL( aCommandId );
-            break;
-        }
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateCandidatePhrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
-* Copyright (c) 2004 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:           
-*       Provides the CAknFepUIInputStateCandidate methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateCandidatePhrase.h"
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepUICtrlCandidatePane.h"      //MAknFepUICtrlCandidatePane
-#include <PtiEngine.h>                      //CPtiEngine
-
-
-///////////////////
-// Candidate state
-///////////////////
-
-TAknFepInputStateCandidatePhrase::TAknFepInputStateCandidatePhrase(
-                               MAknFepUIManagerStateInterface* aOwner,
-                               MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateCandidateBasePhrase(aOwner, aUIContainer)
-    {
-    iState = ECandidate;
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    
-    uiContainer->CandidatePane()->SelectFirstPhrase();
-
-    TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() &&
-                            uiContainer->CandidatePane()->IsFirstPage());
-    TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-
-    uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows); 
-    uiContainer->ShowVerticalScrollArrows(multiplePages);
-    uiContainer->FocusCandidatePane(ETrue);
-    uiContainer->CandidatePane()->ShowCandidateOrdinals(ETrue);
-    }
-
-TBool TAknFepInputStateCandidatePhrase::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    if(aKey == EKeyBackspace)
-        {
-        iOwner->ChangeState(EEntry);
-        return ETrue;
-        }
-    return TAknFepInputStateCandidateBasePhrase::HandleKeyL(aKey, aLength);
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateCandidatePinyinAndStrokePhrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,101 +0,0 @@
-/*
-* 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:            Implementation of Pinyin and Stroke phrase candidate state
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// System includes
-#include <PtiEngine.h>   
-
-// User includes
-#include "AknFepUiInputStateCandidatePinyinAndStrokePhrase.h"
-#include "AknFepUiInputStateCandidateBasePhrase.h"
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUIManagerStateInterface.h"  
-#include "AknFepManager.h"                  
-// add for phrase creation
-#include "AknFepUICtrlPinyinPopup.h"
-
-// Constant definition
-const TInt KMinCnadidateCount = 1;
-
-// ---------------------------------------------------------------------------
-// AknFepUiInputStateCandidatePinyinAndStrokePhrase::
-// TAknFepUiInputStateCandidatePinyinAndStrokePhrase
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-TAknFepUiInputStateCandidatePinyinAndStrokePhrase::
-    TAknFepUiInputStateCandidatePinyinAndStrokePhrase(MAknFepUIManagerStateInterface* aOwner,
-                                                      MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateCandidateBaseChinesePhrase(aOwner, aUIContainer)
-    {
-    iState = ECandidate;
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    
-    TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() &&
-                            uiContainer->CandidatePane()->IsFirstPage());
-    TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength > KMinCnadidateCount;
-
-    uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows); 
-    uiContainer->ShowVerticalScrollArrows(multiplePages);
-    uiContainer->FocusCandidatePane(ETrue);
-    uiContainer->CandidatePane()->ShowCandidateOrdinals(ETrue);
-    uiContainer->CandidatePane()->SelectFirstPhrase();
-    UpdateIndicator();
-    }
-
-void TAknFepUiInputStateCandidatePinyinAndStrokePhrase::HandleCommandL(TInt aCommandID)
-   {
-   TAknFepInputStateCandidateBaseChinesePhrase::HandleCommandL(aCommandID);
-   }
-// ---------------------------------------------------------------------------
-// AknFepUiInputStateCandidatePinyinAndStrokePhrase::HandleKeyL
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateCandidatePinyinAndStrokePhrase::HandleKeyL(TInt aKey,
-                                                                    TKeyPressLength aLength)
-    {
-    MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane(); 
-           
-    if ( ( aKey == EKeyBackspace ) || ( aKey == EKeyUpArrow &&
-        iOwner->FepMan()->InputMode() == EPinyin &&
-        candidatePane->IsFirstPage() ) )
-        {
-        // the follow 2 lines add for phrase creation
-        UIContainer()->PinyinPopupWindow()->SetChangeState( ETrue );
-        UIContainer()->PinyinPopupWindow()->SetFromCandidateChangeStateFlag( ETrue );
-        iOwner->FepMan()->EntryPhrase( EFalse );
-        iOwner->ChangeState(EEntry);
-        return ETrue;
-        }
-        
-    return TAknFepInputStateCandidateBaseChinesePhrase::HandleKeyL(aKey, aLength);
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateCandidateQwerty.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the CAknFepUIInputStateCandidateQwerty methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUICtrlInputPane.h"
-#include "AknFepUiInputStateCandidateQwerty.h"
-
-#include "AknFepManager.h"                  //FepMan flag
-
-#include <PtiEngine.h>      //CPtiEngine
-#include <e32keys.h>        //keys  
-
-TAknFepInputStateCandidateQwerty::TAknFepInputStateCandidateQwerty(
-                               MAknFepUIManagerStateInterface* aOwner,
-                               MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateCandidateQwertyBase(aOwner, aUIContainer)
-    {
-    }
-
-TBool TAknFepInputStateCandidateQwerty::HandleKeyL(TInt aKey, TKeyPressLength /*aLength*/)
-    {
-    if(aKey == EStdKeyDevice1)
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        }
-    else if(!( HandleVerticalNavigation(aKey) || HandleHorizontalNavigation(aKey) ))
-        {
-        // it may be one of the 'valid' numbers..
-        TInt index = MapKeyToIndex(aKey);
-        MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-
-        if(candidatePane->SelectIndex(index) || aKey == EStdKeyDevice3 || aKey == EStdKeyEnter)
-            {
-            TPtrC text = candidatePane->CurrentCandidate();
-            if(text.Length())
-                {            
-                MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-                fepMan->NewCharacterL(text);
-                fepMan->CommitInlineEditL();
-                iOwner->PtiEngine()->SetPredictiveChineseChar(text);
-                if (fepMan->IsFlagSet(CAknFepManager::EFlagEditorFull))
-                    {
-                    fepMan->ClearFlag(CAknFepManager::EFlagEditorFull);
-                    iOwner->FepMan()->TryCloseUiL();
-                    }
-                else
-                    {
-                    iOwner->ChangeState(EPredictiveCandidate);
-                    }
-                }
-            else
-                {
-                // No candidates available. Back to Entry state.
-                iOwner->ChangeState(EEntry);
-                }
-            }
-        }
-    return ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateCandidateQwerty::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateCandidateQwerty::HandleCommandL( TInt aCommandId )
-    {
-    TAknFepInputStateChineseBase::HandleCommandL( aCommandId );
-    }
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateCandidateQwertyBase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStateCandidateQwertyBase methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateCandidateQwertyBase.h"
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"
-#include "AknFepManager.h"                  //FepMan flag
-
-#include <PtiEngine.h>                      //CPtiEngine
-
-TAknFepInputStateCandidateQwertyBase::TAknFepInputStateCandidateQwertyBase(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateChineseBase(aOwner, aUIContainer)
-    {
-    }
-
-TBool TAknFepInputStateCandidateQwertyBase::HandleKeyL(TInt aKey, TKeyPressLength /*aLength*/)
-    {
-    if(aKey == EStdKeyDevice1)
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        }
-    else if(!( HandleVerticalNavigation(aKey) || HandleHorizontalNavigation(aKey) ))
-        {
-        // it may be one of the 'valid' numbers..
-        TInt index = MapKeyToIndex(aKey);
-        MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-
-        if(candidatePane->SelectIndex(index) || aKey == EStdKeyDevice3 || aKey == EStdKeyEnter)
-            {
-            TPtrC text = candidatePane->CurrentCandidate();
-            if(text.Length())
-                {            
-                MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-                fepMan->NewCharacterL(text);
-                fepMan->CommitInlineEditL();
-                if (fepMan->IsFlagSet(CAknFepManager::EFlagEditorFull))
-                    {
-                    fepMan->ClearFlag(CAknFepManager::EFlagEditorFull);
-                    iOwner->FepMan()->TryCloseUiL();
-                    }
-                else
-                    {
-                    iOwner->ChangeState(EPredictiveInput);
-                    }
-                }
-            else
-                {
-                // No candidates available. Back to Entry state.
-                iOwner->ChangeState(EEntry);
-                }
-            }
-        }
-    return ETrue;
-    }
-
-TBool TAknFepInputStateCandidateQwertyBase::HandleHorizontalNavigation(TInt aKey)
-    {
-    MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    TBool response = EFalse;
-
-    // Do navigation...
-    if (aKey == EStdKeyLeftArrow)
-        {
-        if(!candidatePane->SelectPrev())
-            {
-            ptiengine->PreviousCandidatePage();
-            candidatePane->SetCandidateBuffer(ptiengine->CandidatePage());
-            candidatePane->SelectLast();
-            }
-        response = ETrue;
-        }
-    else if (aKey == EStdKeyRightArrow)
-        {
-        if(!candidatePane->SelectNext())
-            {
-            ptiengine->NextCandidatePage();
-            candidatePane->SetCandidateBuffer(ptiengine->CandidatePage());
-            candidatePane->SelectFirst();
-            }
-        response = ETrue;
-        }
-    return response;
-    }
-
-TBool TAknFepInputStateCandidateQwertyBase::HandleVerticalNavigation(TInt aKey)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-
-    if (aKey == EStdKeyDownArrow || aKey == EStdKeySpace)
-        {
-        ptiengine->NextCandidatePage();
-        }
-    else if (aKey == EStdKeyUpArrow)
-        {
-        ptiengine->PreviousCandidatePage();
-        }
-    else
-        {
-        return EFalse;
-        }
-
-    MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-    candidatePane->SelectFirst();
-    candidatePane->SetCandidateBuffer(ptiengine->CandidatePage());
-    return ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateCandidateQwertyBase::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateCandidateQwertyBase::HandleCommandL( TInt aCommandId )
-    {
-    TAknFepInputStateChineseBase::HandleCommandL( aCommandId );
-    }
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateCandidateQwertyBaseChinesePhrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,408 +0,0 @@
-/*
-* 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:            Implementation of candidate qwerty base chinese phrase state
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateCandidateQwertyBaseChinesePhrase.h"
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"
-#include "AknFepManager.h"                  //FepMan flag
-#include "AknFepUICtrlPinyinPopup.h"
-
-#include <PtiEngine.h>                      //CPtiEngine
-
-const TUint16 KSegment = 0x0020;
-
-TAknFepInputStateCandidateQwertyBaseChinesePhrase::
-TAknFepInputStateCandidateQwertyBaseChinesePhrase(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateChineseBase(aOwner, aUIContainer)
-    {
-    }
-
-TBool TAknFepInputStateCandidateQwertyBaseChinesePhrase::HandleKeyL(TInt aKey, TKeyPressLength /*aLength*/)
-    {
-    if(aKey == EStdKeyDevice1)
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        }
-
-    else if(!( HandleVerticalNavigation(aKey) || HandleHorizontalNavigation(aKey) ))
-        {
-        TInt index = 0;
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        // it may be one of the 'valid' numbers..
-        TPtiKeyboardType keyboardtype = iOwner->FepMan()->KeyboardLayout();
-        if ( EPtiKeyboardQwerty4x10 == keyboardtype ||
-             EPtiKeyboardQwerty3x11 == keyboardtype ||
-             EPtiKeyboardHalfQwerty == keyboardtype ||
-             EPtiKeyboardCustomQwerty == keyboardtype)
-            {      
-            MPtiLanguage *lang = NULL;
-            RArray < TPtiNumericKeyBinding > keybinding;
-            TBool validnumkey = EFalse;
-            CPtiEngine* ptiengine = iOwner->PtiEngine();
-            
-            if( ptiengine != NULL )
-                {
-                lang = ptiengine->CurrentLanguage();
-                }
-            if( ptiengine && lang )
-                {
-                TRAP_IGNORE(ptiengine->GetNumericModeKeysForQwertyL(lang->LanguageCode(), 
-                                                                    keybinding, keyboardtype));
-                TInt numericKeysCount = keybinding.Count();
-                TInt candidateCount = UIContainer()->CandidatePane()->VisibleCandidateCount();
-                while ( numericKeysCount-- )
-                    {
-                    TPtiNumericKeyBinding numKeyBind = keybinding[numericKeysCount];
-                    if ( (numKeyBind.iChar >= 0x31 && numKeyBind.iChar <= ( 0x31 + candidateCount - 1 ))
-                    
-                       &&(aKey == numKeyBind.iKey))
-                    	{
-                    	index = numKeyBind.iChar - EPtiKey0 -1;
-                    	validnumkey = ETrue;
-                    	break;
-                    	}
-                    }
-                }
-            keybinding.Reset();
-        
-            if (!validnumkey)
-            	{
-            	iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-                return ETrue;
-            	}
-                
-            }
-        else
-            {
-#endif
-            index = MapKeyToIndex(aKey);
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-            }             
-#endif
-        MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-
-        if(candidatePane->SelectIndex(index) || aKey == EStdKeyDevice3 || aKey == EStdKeyEnter)
-            {
-            TPtrC text = candidatePane->CurrentPhraseCandidate();
-            if(text.Length())
-                {            
-                MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-                fepMan->NewTextL(text);
-                fepMan->CommitInlineEditL();
-                iOwner->PtiEngine()->SetPredictiveChineseChar(text);
-                if (fepMan->IsFlagSet(CAknFepManager::EFlagEditorFull))
-                    {
-                    fepMan->ClearFlag(CAknFepManager::EFlagEditorFull);
-                    iOwner->FepMan()->TryCloseUiL();
-                    }
-                else
-                    {
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-                    if ( EPtiKeyboardQwerty4x10 == iOwner->FepMan()->KeyboardLayout() ||
-                            EPtiKeyboardHalfQwerty == iOwner->FepMan()->KeyboardLayout() ||
-                            EPtiKeyboardQwerty3x11 == iOwner->FepMan()->KeyboardLayout() )
-                        {
-                        UIContainer()->PinyinPopupWindow()->SetChangeState( ETrue );
-                        iOwner->ChangeState(EPredictiveCandidate);
-                        }                    
-#endif
-                    }
-                }
-            else
-                {
-                // No candidates available. Back to Entry state.
-                iOwner->ChangeState(EEntry);
-                }
-            }
-        }
-    return ETrue;
-    }
-
-TBool TAknFepInputStateCandidateQwertyBaseChinesePhrase::HandleHorizontalNavigation(TInt aKey)
-    {
-    MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-    TBool response = EFalse;
-
-    // Do navigation...
-    if (aKey == EStdKeyLeftArrow)
-        {
-        if (candidatePane->SelectedIndex() == 0 && 
-            candidatePane->IsFirstPage() )
-            {
-            return ETrue;
-            }
-        
-        if(!candidatePane->SelectPrev())
-            {
-            candidatePane->PreviousCandidatePage();
-            candidatePane->SetCandidateBuffer();
-            candidatePane->SelectLastPhrase();
-            }
-        response = ETrue;
-        }
-    else if (aKey == EStdKeyRightArrow)
-        {
-        if ( candidatePane->IsLastPage() && 
-            (candidatePane->SelectedIndex() == candidatePane->VisibleCandidateCount() - 1))
-            {
-            return ETrue;
-            }  
-                  
-        if(!candidatePane->SelectNext())
-            {
-            candidatePane->NextCandidatePage();
-            candidatePane->SetCandidateBuffer();
-            candidatePane->SelectFirstPhrase();
-            }
-        response = ETrue;
-        }
-    if (response)
-        {
-        UpdateIndicator();
-        }
-    return response;
-    }
-
-TBool TAknFepInputStateCandidateQwertyBaseChinesePhrase::HandleVerticalNavigation(TInt aKey)
-    {
-    MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-    
-    if (aKey == EStdKeyDownArrow || aKey == EStdKeySpace)
-        {
-        if (candidatePane->IsLastPage())
-            {
-            return ETrue;
-            }
-        if ( iState != EPredictiveCandidate &&
-        		iState != EPredictiveInput )
-        	{
-            if ( candidatePane->NeedGetNewCandidatePage() )
-                {
-                if ( !iOwner->PtiEngine()->NextCandidatePage( ) )
-                    {
-                    if ( candidatePane->IsLastPage() )
-                        {
-                    iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-                    return ETrue;
-                    }
-                }
-            else
-                {
-                CDesCArrayFlat* phraseCandidates = candidatePane->CandidateArray();
-                RPointerArray<HBufC> list;
-                    TRAP_IGNORE(
-                    GetNewCandidatesL( iOwner->PtiEngine()->CandidatePage( ), list );
-                    for (TInt i = 0; i < list.Count( ); ++i )
-                        {
-                        phraseCandidates->AppendL( *(list[i]) );
-                        }
-                    list.ResetAndDestroy();)
-                    }
-                }
-        	}
-        candidatePane->NextCandidatePage();
-        }
-    else if (aKey == EStdKeyUpArrow)
-        {
-        if (candidatePane->IsFirstPage())
-            {
-            return ETrue;   
-            }
-        candidatePane->PreviousCandidatePage(); 
-        }
-    else
-        {
-        return EFalse;
-        }
-    candidatePane->SetCandidateBuffer();
-    candidatePane->SelectFirstPhrase();
-    UpdateIndicator();
-    return ETrue;
-    }
-
-void TAknFepInputStateCandidateQwertyBaseChinesePhrase::UpdateIndicator()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();        
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-        
-    if (candidatePane->IsFirstPage())
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows(EFalse);    
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows(ETrue);    
-        }
-   
-   if (candidatePane->IsLastPage())
-       {
-       uiContainer->CandidatePane()->ShowDownScrollArrows(EFalse);     
-       }
-   else
-   	   {
-   	   uiContainer->CandidatePane()->ShowDownScrollArrows(ETrue);      
-   	   }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-   if(iOwner->FepMan()->KeyboardLayout() == EPtiKeyboardQwerty4x10)
-   		{
-   	    if(candidatePane->VisibleCandidateCount()==1)
-   	    	{
-   	    	uiContainer->CandidatePane()->ShowLeftScrollArrows(EFalse);
-   	    	uiContainer->CandidatePane()->ShowRightScrollArrows(EFalse);
-   	    	}
-   	    else
-   	    	{
-   	    	uiContainer->CandidatePane()->ShowLeftScrollArrows(ETrue);
-   	    	uiContainer->CandidatePane()->ShowRightScrollArrows(ETrue);
-   	    	}	
-   		}
-   else
-   		{
-#endif
-    if (candidatePane->SelectedIndex() == 0 && 
-        candidatePane->IsFirstPage() )
-        {
-        uiContainer->CandidatePane()->ShowLeftScrollArrows(EFalse);
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowLeftScrollArrows(ETrue);
-        }
-        
-    if (candidatePane->IsLastPage() && 
-        (candidatePane->SelectedIndex() == candidatePane->VisibleCandidateCount() - 1))
-        {
-        uiContainer->CandidatePane()->ShowRightScrollArrows(EFalse);        
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowRightScrollArrows(ETrue);
-        }
-    }    
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    }    
-#endif
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateCandidateQwertyBaseChinesePhrase::MapKeyToIndexSelectCandidate
-// Check the select candidate numeric key is valid or not
-// ---------------------------------------------------------------------------
-//
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-TBool  TAknFepInputStateCandidateQwertyBaseChinesePhrase::MapKeyToIndexSelectCandidate(
-    TInt aKey,TInt& aIndex )
-    {
-    TBool validnumkey = EFalse;
-    MPtiLanguage *lang= NULL;
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    TPtiKeyboardType keyboardtype = iOwner->FepMan()->KeyboardLayout();
-    if (EPtiKeyboardQwerty4x10 == keyboardtype || EPtiKeyboardQwerty3x11
-            == keyboardtype || EPtiKeyboardHalfQwerty == keyboardtype
-            || EPtiKeyboardCustomQwerty == keyboardtype)
-        {
-        RArray <TPtiNumericKeyBinding> keybinding;
-        
-        if( ptiengine != NULL )
-            {
-            lang = ptiengine->CurrentLanguage();
-            }
-        if ( ptiengine && lang )
-            {
-            TRAP_IGNORE(ptiengine->GetNumericModeKeysForQwertyL(lang->LanguageCode(), keybinding, keyboardtype));
-            TInt numericKeysCount = keybinding.Count();
-            while ( numericKeysCount-- )
-                {
-                TPtiNumericKeyBinding numKeyBind =
-                        keybinding[numericKeysCount];
-                if ( (numKeyBind.iChar >= 0x31 && numKeyBind.iChar <= 0x36)
-                        &&(aKey == numKeyBind.iKey))
-                    {
-                    aIndex = numKeyBind.iChar - EPtiKey0 - 1;
-                    validnumkey = ETrue;
-                    break;
-                    }
-                }
-            }
-        keybinding.Reset();
-        if ( !validnumkey ) 
-            {
-            iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-            }       
-        }
-    else
-        {
-        aIndex = MapKeyToIndex(aKey);
-        }
-    return validnumkey ;
-    }
-#endif
-// ---------------------------------------------------------------------------
-// TAknFepInputStateCandidateQwertyBaseChinesePhrase::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateCandidateQwertyBaseChinesePhrase::HandleCommandL(
-    TInt aCommandId )
-    {
-    TAknFepInputStateChineseBase::HandleCommandL( aCommandId );
-    }
-
-void TAknFepInputStateCandidateQwertyBaseChinesePhrase::GetNewCandidatesL(const TDesC& aSource, 
-                                                    RPointerArray<HBufC>& aList)
-    {
-    TInt start = 0;
-    TInt length = 0;
-
-    for (TInt ii = 0; ii < aSource.Length(); ii++)
-        {
-        if (aSource[ii] == KSegment)
-            {
-            TPtrC segment(aSource.Ptr() + start, length);
-            aList.AppendL(segment.AllocL());
-            start += (length + 1);
-            length = 0;
-            }
-        else
-            {
-            length++;
-            }
-        }
-
-    if (length)
-        {
-        TPtrC segm(aSource.Ptr() + start, length);
-        aList.AppendL(segm.AllocL());
-        }
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateCandidateQwertyBasePhrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,152 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStateCandidateQwertyBasePhrase methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateCandidateQwertyBasePhrase.h"
-
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"
-#include "AknFepManager.h"                  //FepMan flag
-
-#include <PtiEngine.h>                      //CPtiEngine
-
-TAknFepInputStateCandidateQwertyBasePhrase::TAknFepInputStateCandidateQwertyBasePhrase(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateChineseBase(aOwner, aUIContainer)
-    {
-    }
-
-TBool TAknFepInputStateCandidateQwertyBasePhrase::HandleKeyL(TInt aKey, TKeyPressLength /*aLength*/)
-    {
-    if(aKey == EStdKeyDevice1)
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        }
-
-    else if(!( HandleVerticalNavigation(aKey) || HandleHorizontalNavigation(aKey) ))
-        {
-        // it may be one of the 'valid' numbers..
-        TInt index = MapKeyToIndex(aKey);
-        MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-
-        if(candidatePane->SelectIndex(index) || aKey == EStdKeyDevice3 || aKey == EStdKeyEnter)
-            {
-            TPtrC text = candidatePane->CurrentPhraseCandidate();
-            if(text.Length())
-                {            
-                MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-                fepMan->NewTextL(text);
-                fepMan->CommitInlineEditL();
-                iOwner->PtiEngine()->SetPredictiveChineseChar(text);
-                if (fepMan->IsFlagSet(CAknFepManager::EFlagEditorFull))
-                    {
-                    fepMan->ClearFlag(CAknFepManager::EFlagEditorFull);
-                    iOwner->FepMan()->TryCloseUiL();
-                    }
-                else
-                    {
-                    iOwner->ChangeState(EPredictiveInput);
-                    }
-                }
-            else
-                {
-                // No candidates available. Back to Entry state.
-                iOwner->ChangeState(EEntry);
-                }
-            }
-        }
-
-    return ETrue;
-    }
-
-TBool TAknFepInputStateCandidateQwertyBasePhrase::HandleHorizontalNavigation(TInt aKey)
-    {
-    MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-    TBool response = EFalse;
-
-    // Do navigation...
-    if (aKey == EStdKeyLeftArrow)
-        {
-        if(!candidatePane->SelectPrev())
-            {
-            candidatePane->PreviousCandidatePage();
-            candidatePane->SetCandidateBuffer();
-            candidatePane->SelectLastPhrase();
-            }
-        response = ETrue;
-        }
-    else if (aKey == EStdKeyRightArrow)
-        {
-        if(!candidatePane->SelectNext())
-            {
-            candidatePane->NextCandidatePage();
-            candidatePane->SetCandidateBuffer();
-            candidatePane->SelectFirstPhrase();
-            }
-        response = ETrue;
-        }
-
-    return response;
-    }
-
-TBool TAknFepInputStateCandidateQwertyBasePhrase::HandleVerticalNavigation(TInt aKey)
-    {
-    MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-    
-    if (aKey == EStdKeyDownArrow || aKey == EStdKeySpace)
-        {
-        candidatePane->NextCandidatePage();
-        }
-    else if (aKey == EStdKeyUpArrow)
-        {
-        candidatePane->PreviousCandidatePage();
-        }
-    else
-        {
-        return EFalse;
-        }
-    candidatePane->SetCandidateBuffer();
-    candidatePane->SelectFirstPhrase();
-
-    return ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateCandidateQwertyBasePhrase::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateCandidateQwertyBasePhrase::HandleCommandL(
-    TInt aCommandId )
-    {
-    TAknFepInputStateChineseBase::HandleCommandL( aCommandId );
-    }
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateCandidateQwertyChinese.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-/*
-* 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:            Implementation of candidate qwerty chinese phrase state
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUICtrlInputPane.h"
-#include "AknFepUiInputStateCandidateQwertyChinese.h"
-
-#include "AknFepManager.h"                  //FepMan flag
-
-#include <PtiEngine.h>      //CPtiEngine
-#include <e32keys.h>        //keys  
-
-
-TAknFepInputStateCandidateQwertyChinese::TAknFepInputStateCandidateQwertyChinese(
-                               MAknFepUIManagerStateInterface* aOwner,
-                               MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateCandidateQwertyChineseBase(aOwner, aUIContainer)
-    {
-    }
-
-TBool TAknFepInputStateCandidateQwertyChinese::HandleKeyL(TInt aKey, TKeyPressLength /*aLength*/)
-    {
-    if(aKey == EStdKeyDevice1)
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        }
-    else if(!( HandleVerticalNavigation(aKey) || HandleHorizontalNavigation(aKey) ))
-        {
-        // it may be one of the 'valid' numbers..
-        TInt index = MapKeyToIndex(aKey);
-        MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-
-        if(candidatePane->SelectIndex(index) || aKey == EStdKeyDevice3 || aKey == EStdKeyEnter)
-            {
-            TPtrC text = candidatePane->CurrentCandidate();
-            if(text.Length())
-                {            
-                MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-                fepMan->NewCharacterL(text);
-                fepMan->CommitInlineEditL();
-                iOwner->PtiEngine()->SetPredictiveChineseChar(text);
-                UpdateIndicator();
-                if (fepMan->IsFlagSet(CAknFepManager::EFlagEditorFull))
-                    {
-                    fepMan->ClearFlag(CAknFepManager::EFlagEditorFull);
-                    iOwner->FepMan()->TryCloseUiL();
-                    }
-                else
-                    {
-                    iOwner->ChangeState(EPredictiveCandidate);
-                    }
-                }
-            else
-                {
-                // No candidates available. Back to Entry state.
-                iOwner->ChangeState(EEntry);
-                }
-            }
-        }
-    return ETrue;
-    }
-// ---------------------------------------------------------------------------
-// TAknFepInputStateCandidateQwertyChinese::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateCandidateQwertyChinese::HandleCommandL( TInt aCommandId )
-    {
-    TAknFepInputStateChineseBase::HandleCommandL( aCommandId );
-    }
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateCandidateQwertyChineseBase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,220 +0,0 @@
-/*
-* 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:            Implementation of candidate qwerty chinese base state
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateCandidateQwertyChineseBase.h"
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"
-#include "AknFepManager.h"                  //FepMan flag
-
-#include <PtiEngine.h>                      //CPtiEngine
-
-const TInt KMaxCandidateCountFromCore = 6;
-
-TAknFepInputStateCandidateQwertyChineseBase::TAknFepInputStateCandidateQwertyChineseBase(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateChineseBase(aOwner, aUIContainer)
-    {
-    }
-
-TBool TAknFepInputStateCandidateQwertyChineseBase::HandleKeyL(TInt aKey, TKeyPressLength /*aLength*/)
-    {
-    if(aKey == EStdKeyDevice1)
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        }
-    else if(!( HandleVerticalNavigation(aKey) || HandleHorizontalNavigation(aKey) ))
-        {
-        // it may be one of the 'valid' numbers..
-        TInt index = MapKeyToIndex(aKey);
-        MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-
-        if(candidatePane->SelectIndex(index) || aKey == EStdKeyDevice3 || aKey == EStdKeyEnter)
-            {
-            TPtrC text = candidatePane->CurrentCandidate();
-            if(text.Length())
-                {            
-                MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-                fepMan->NewCharacterL(text);
-                fepMan->CommitInlineEditL();
-                if (fepMan->IsFlagSet(CAknFepManager::EFlagEditorFull))
-                    {
-                    fepMan->ClearFlag(CAknFepManager::EFlagEditorFull);
-                    iOwner->FepMan()->TryCloseUiL();
-                    }
-                else
-                    {
-                    iOwner->ChangeState(EPredictiveInput);
-                    }
-                }
-            else
-                {
-                // No candidates available. Back to Entry state.
-                iOwner->ChangeState(EEntry);
-                }
-            }
-        }
-    return ETrue;
-    }
-
-TBool TAknFepInputStateCandidateQwertyChineseBase::HandleHorizontalNavigation(TInt aKey)
-    {
-    MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    TBool response = EFalse;
-
-    // Do navigation...
-    if (aKey == EStdKeyLeftArrow)
-        {
-        if (candidatePane->SelectedIndex() == 0 && 
-            ptiengine->NumberOfCandidates() == 0)
-            {
-            return ETrue;
-            }
-        
-        if(!candidatePane->SelectPrev())
-            {
-            ptiengine->PreviousCandidatePage();
-            candidatePane->SetCandidateBuffer(ptiengine->CandidatePage());
-            candidatePane->SelectLast();
-            }
-        response = ETrue;
-        }
-    else if (aKey == EStdKeyRightArrow)
-        {
-        TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-        
-        if (bufLength != KMaxCandidateCountFromCore &&
-            candidatePane->SelectedIndex() == (bufLength -1))
-            {
-			return ETrue;
-            }
-        
-        if(!candidatePane->SelectNext())
-            {
-            ptiengine->NextCandidatePage();
-            candidatePane->SetCandidateBuffer(ptiengine->CandidatePage());
-            candidatePane->SelectFirst();
-            }
-        response = ETrue;
-        }
-    if (response) 
-        {
-        UpdateIndicator();
-        }
-                
-    return response;
-    }
-
-TBool TAknFepInputStateCandidateQwertyChineseBase::HandleVerticalNavigation(TInt aKey)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-
-    if (aKey == EStdKeyDownArrow || aKey == EStdKeySpace)
-        {
-        if (iOwner->PtiEngine()->CandidatePage().Length() != 
-            KMaxCandidateCountFromCore)
-            {
-            return ETrue;
-            }
-        
-        ptiengine->NextCandidatePage();
-        }
-    else if (aKey == EStdKeyUpArrow)
-        {
-        if (ptiengine->NumberOfCandidates() == 0)
-            {								 
-            return ETrue;
-            }
-        
-        ptiengine->PreviousCandidatePage();
-        }
-    else
-        {
-        return EFalse;
-        }
-
-    MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-    candidatePane->SelectFirst();
-    candidatePane->SetCandidateBuffer(ptiengine->CandidatePage());
-    UpdateIndicator();     
-    return ETrue;
-    }
-
-void TAknFepInputStateCandidateQwertyChineseBase::UpdateIndicator()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();        
-    TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-        
-    if (ptiengine->NumberOfCandidates() == 0)
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows(EFalse);    
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows(ETrue);    
-        }
-    
-    uiContainer->CandidatePane()->ShowDownScrollArrows
-        (bufLength == KMaxCandidateCountFromCore ? ETrue : EFalse);
-        
-    if (candidatePane->SelectedIndex() == 0 && 
-        ptiengine->NumberOfCandidates() == 0)
-        {
-        uiContainer->CandidatePane()->ShowLeftScrollArrows(EFalse);
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowLeftScrollArrows(ETrue);
-        }
-        
-    if (bufLength != KMaxCandidateCountFromCore &&
-        candidatePane->SelectedIndex() == (bufLength -1))
-        {
-        uiContainer->CandidatePane()->ShowRightScrollArrows(EFalse);        
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowRightScrollArrows(ETrue);
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateCandidateQwertyChineseBase::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateCandidateQwertyChineseBase::HandleCommandL(
-    TInt aCommandId )
-    {
-    TAknFepInputStateChineseBase::HandleCommandL( aCommandId );
-    }
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateCandidateQwertyChinesePhrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-/*
-* 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:            Implementation of candidate qwerty chinese phrase state
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUICtrlInputPane.h"
-#include "AknFepUiInputStateCandidateQwertyChinesePhrase.h"
-
-#include "AknFepManager.h"                  //FepMan flag
-
-#include <PtiEngine.h>      //CPtiEngine
-#include <e32keys.h>        //keys  
-
-TAknFepInputStateCandidateQwertyChinesePhrase::TAknFepInputStateCandidateQwertyChinesePhrase(
-                               MAknFepUIManagerStateInterface* aOwner,
-                               MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateCandidateQwertyBaseChinesePhrase(aOwner, aUIContainer)
-    {
-    }
-
-TBool TAknFepInputStateCandidateQwertyChinesePhrase::HandleKeyL(TInt aKey, TKeyPressLength /*aLength*/)
-    {
-    if(aKey == EStdKeyDevice1)
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        }
-    else if(!( HandleVerticalNavigation(aKey) || HandleHorizontalNavigation(aKey) ))
-        {
-        // it may be one of the 'valid' numbers..
-        TInt index = MapKeyToIndex(aKey);
-        MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-
-        if(candidatePane->SelectIndex(index) || aKey == EStdKeyDevice3 || aKey == EStdKeyEnter)
-            {
-            TPtrC text = candidatePane->CurrentPhraseCandidate();
-            if(text.Length())
-                {            
-                MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-                fepMan->NewTextL(text);
-                fepMan->CommitInlineEditL();
-                iOwner->PtiEngine()->SetPredictiveChineseChar(text);
-                if (fepMan->IsFlagSet(CAknFepManager::EFlagEditorFull))
-                    {
-                    fepMan->ClearFlag(CAknFepManager::EFlagEditorFull);
-                    iOwner->FepMan()->TryCloseUiL();
-                    }
-                else
-                    {
-                    iOwner->ChangeState(EPredictiveCandidate);
-                    }
-                }
-            else
-                {
-                // No candidates available. Back to Entry state.
-                iOwner->ChangeState(EEntry);
-                }
-            }
-        }
-    return ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateCandidateQwertyChinesePhrase::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateCandidateQwertyChinesePhrase::HandleCommandL(
-    TInt aCommandId )
-    {
-    TAknFepInputStateChineseBase::HandleCommandL( aCommandId );
-    }
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateCandidateQwertyPhrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the CAknFepUIInputStateCandidateQwertyPhrase methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUICtrlInputPane.h"
-#include "AknFepUiInputStateCandidateQwertyPhrase.h"
-
-#include "AknFepManager.h"                  //FepMan flag
-
-#include <PtiEngine.h>      //CPtiEngine
-#include <e32keys.h>        //keys  
-
-TAknFepInputStateCandidateQwertyPhrase::TAknFepInputStateCandidateQwertyPhrase(
-                               MAknFepUIManagerStateInterface* aOwner,
-                               MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateCandidateQwertyBasePhrase(aOwner, aUIContainer)
-    {
-    }
-
-TBool TAknFepInputStateCandidateQwertyPhrase::HandleKeyL(TInt aKey, TKeyPressLength /*aLength*/)
-    {
-    if(aKey == EStdKeyDevice1)
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        }
-    else if(!( HandleVerticalNavigation(aKey) || HandleHorizontalNavigation(aKey) ))
-        {
-        // it may be one of the 'valid' numbers..
-        TInt index = MapKeyToIndex(aKey);
-        MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-
-        if(candidatePane->SelectIndex(index) || aKey == EStdKeyDevice3 || aKey == EStdKeyEnter)
-            {
-            TPtrC text = candidatePane->CurrentPhraseCandidate();
-            if(text.Length())
-                {            
-                MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-                fepMan->NewTextL(text);
-                fepMan->CommitInlineEditL();
-                iOwner->PtiEngine()->SetPredictiveChineseChar(text);
-                if (fepMan->IsFlagSet(CAknFepManager::EFlagEditorFull))
-                    {
-                    fepMan->ClearFlag(CAknFepManager::EFlagEditorFull);
-                    iOwner->FepMan()->TryCloseUiL();
-                    }
-                else
-                    {
-                    iOwner->ChangeState(EPredictiveCandidate);
-                    }
-                }
-            else
-                {
-                // No candidates available. Back to Entry state.
-                iOwner->ChangeState(EEntry);
-                }
-            }
-        }
-    return ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateCandidateQwertyPhrase::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateCandidateQwertyPhrase::HandleCommandL( TInt aCommandId )
-    {
-    TAknFepInputStateChineseBase::HandleCommandL( aCommandId );
-    }
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateCandidateQwertyStrokePhrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +0,0 @@
-/*
-* 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:            Implementation of Stroke phrase Qwerty candidate state
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// System includes
-#include <PtiEngine.h>                      
-
-// User includes
-#include "AknFepUiInputStateCandidateQwertyStrokePhrase.h"
-#include "AknFepUICtrlContainerChinese.h"
-#include "AknFepUIManagerStateInterface.h"  
-#include "AknFepUICtrlCandidatePane.h"      
-#include "AknFepManager.h"                  
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCandidateQwertyStrokePhrase::
-// TAknFepUiInputStateCandidateQwertyStrokePhrase
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-TAknFepUiInputStateCandidateQwertyStrokePhrase::TAknFepUiInputStateCandidateQwertyStrokePhrase(
-    MAknFepUIManagerStateInterface* aOwner,
-    MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateCandidateQwertyPhrase(aOwner, aUIContainer)
-    {
-    iState = ECandidate;
-    
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-
-    TBool multiplePages = iOwner->PtiEngine()->MoreCandidatePages();
-    TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-
-    uiContainer->CandidatePane()->SelectFirstPhrase();
-    uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows); 
-    uiContainer->ShowVerticalScrollArrows(multiplePages);
-    uiContainer->FocusCandidatePane(ETrue);
-    uiContainer->CandidatePane()->ShowCandidateOrdinals(ETrue);
-    }
-
-// ---------------------------------------------------------------------------
-// AknFepUiInputStateCandidatePinyinAndStrokePhrase::HandleKeyL
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateCandidateQwertyStrokePhrase::HandleKeyL(TInt aKey, 
-                                                                 TKeyPressLength aLength)
-    {
-    if(aKey == EStdKeyBackspace)
-        {
-        iOwner->ChangeState(EEntry);
-        return EFalse;
-        }
-    else
-        {
-        return TAknFepInputStateCandidateQwertyPhrase::HandleKeyL(aKey,aLength);
-        }
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateCandidateQwertyZhuyin.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStateCandidateQwertyZhuyin methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateCandidateQwertyZhuyin.h"
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepUICtrlCandidatePane.h"      //MAknFepUICtrlCandidatePane
-#include <PtiEngine.h>                      //CPtiEngine
-
-#include "AknFepManager.h"                  //FepMan flag
-
-TAknFepInputStateCandidateQwertyZhuyin::TAknFepInputStateCandidateQwertyZhuyin(
-                               MAknFepUIManagerStateInterface* aOwner,
-                               MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateCandidateQwertyChinese(aOwner, aUIContainer)
-    {
-    iState = ECandidate;
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    uiContainer->CandidatePane()->SelectFirst();
-
-    TBool multiplePages = iOwner->PtiEngine()->MoreCandidatePages();
-    TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-
-    uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows); 
-    uiContainer->ShowVerticalScrollArrows(multiplePages);
-    uiContainer->FocusCandidatePane(ETrue);
-    uiContainer->CandidatePane()->ShowCandidateOrdinals(ETrue);
-    UpdateIndicator();
-    }
-
-TBool TAknFepInputStateCandidateQwertyZhuyin::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    if(aKey == EStdKeyBackspace)
-        {
-        iOwner->ChangeState(EEntry);
-        return ETrue;
-        }
-    else
-        {
-        return TAknFepInputStateCandidateQwertyChinese::HandleKeyL(aKey,aLength);
-        }
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateCandidateQwertyZhuyinPhrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStateCandidateQwertyZhuyinPhrase methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateCandidateQwertyZhuyinPhrase.h"
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepUICtrlCandidatePane.h"      //MAknFepUICtrlCandidatePane
-#include <PtiEngine.h>                      //CPtiEngine
-
-#include "AknFepManager.h"                  //FepMan flag
-
-TAknFepInputStateCandidateQwertyZhuyinPhrase::TAknFepInputStateCandidateQwertyZhuyinPhrase(
-                               MAknFepUIManagerStateInterface* aOwner,
-                               MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateCandidateQwertyChinesePhrase(aOwner, aUIContainer)
-    {
-    iState = ECandidate;
-    
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    uiContainer->CandidatePane()->SelectFirstPhrase();
-
-    TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() &&
-                            uiContainer->CandidatePane()->IsFirstPage());
-    TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-
-    uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows); 
-    uiContainer->ShowVerticalScrollArrows(multiplePages);
-    uiContainer->FocusCandidatePane(ETrue);
-    uiContainer->CandidatePane()->ShowCandidateOrdinals(ETrue);
-    UpdateIndicator();
-    }
-
-TBool TAknFepInputStateCandidateQwertyZhuyinPhrase::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    if(aKey == EStdKeyBackspace)
-        {
-        iOwner->ChangeState(EEntry);
-        return ETrue;
-        }
-    else if (aKey == EStdKeySpace || aKey == EStdKeyEnter)
-        {
-        return ETrue;
-        }        
-    else
-        {
-        return TAknFepInputStateCandidateQwertyChinesePhrase::HandleKeyL(aKey,aLength);
-        }
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateCandidateRetroActive.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,378 +0,0 @@
-/*
-* Copyright (c) 2002-2006 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:            Provides the TAknFepUiInputStateCandidateRetroActive methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-
-
-#include "AknFepUiInputStateCandidateRetroActive.h"
-#include "AknFepUIManagerStateInterface.h"   // MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"        // MAknFepManagerUIInterface
-#include "AknFepUICtrlContainerJapanese.h"   // MAknFepUICtrlContainerJapanese
-#include "AknFepUICtrlCandidatePaneInterface.h"
-                                        // MAknFepUICtrlCandidatePaneInterface
-#include "AknFepGlobalEnums.h"
-#include "AknFepPanic.h"
-
-#include <PtiDefs.h>                    // keys
-#include <PtiEngine.h>
-#include <PtiCompositionDataIF.h>       // MPtiEngineCompositionDataInterfac
-#include <avkon.rsg>
-#include <aknfep.rsg>
-
-
-// CONSTANTS
-
-/**
- *  TAknFepUiInputStateCandidateRetroActive class.
- *
- */
-//============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCandidateRetroActive::
-//                                  TAknFepUiInputStateCandidateRetroActive
-// C++ default Constructor
-// ---------------------------------------------------------------------------
-//
-TAknFepUiInputStateCandidateRetroActive::TAknFepUiInputStateCandidateRetroActive(
-                                    MAknFepUIManagerStateInterface* aOwner,
-                                    MAknFepUICtrlContainerJapanese* aUIContainer)
-
-    :TAknFepUiInputStateEntryJapaneseMultitap(aOwner, aUIContainer)
-    {
-    iState = ECandidateRetroActive;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateInitialJapaneseBase::InitializeStateL
-// Initialize State
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStateCandidateRetroActive::InitializeStateL()
-    {
-    iOwner->SetInlineEditUnderlineVisibility(ETrue);
-
-    ShowListL(EAknFepSoftkeyRetroActiveHalf);
-    iData = EAknFepSoftkeyRetroActiveHalf;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCandidateRetroActive::CloseUI
-// Closing UI
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStateCandidateRetroActive::CloseUI()
-    {
-    // commit the current item
-    TRAP_IGNORE(DoCommitItemL());
-    // Move the status to EInitial.
-    iOwner->PtiEngine()->ClearCurrentWord();
-    iOwner->ChangeState(EInitial);
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCandidateRetroActive::HandleNumericKeyL
-// Handling short keypress events of the numeric and the star
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateCandidateRetroActive::HandleNumericShortKeyL(TInt /*aKey*/)
-    {
-    // This state doesn't handle numeric key.
-    // commit the current item
-    DoCommitItemL();
-    // Move the status to EInitial.
-    iOwner->PtiEngine()->ClearCurrentWord();
-    iOwner->ChangeState(EInitial);
-    // Return EFalse, because of going through the event
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCandidateRetroActive::HandleNaviKeyL
-// Handling Navigate keypress event
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateCandidateRetroActive::HandleNaviKeyL(TInt aKey,
-                                                                TKeyPressLength /*aLength*/)
-    {
-    TBool ret = EFalse;
-    MAknFepUICtrlCandidatePaneInterface* candidatePane =
-        UIContainer()->CandidatePane(MAknFepUICtrlContainerJapanese::
-                                     EJapaneseCandidatePane);
-    TAknFepUICtrlScroll direction = EScrollNone;
-
-    switch(aKey)
-        {
-        case EKeyDownArrow:
-        case EKeyUpArrow:
-        case EStdKeyDownArrow:      /* 0x11 */
-        case EStdKeyUpArrow:        /* 0x10 */
-        case EStdKeySpace:
-            { // The highlight of candidate is moved up/down
-            direction = EScrollDown;
-            if (aKey == EKeyUpArrow || aKey == EStdKeyUpArrow)
-                {
-                direction = EScrollUp;
-                }
-
-            candidatePane->MoveItem(direction);
-            ret = ETrue;
-            }
-            break;
-        case EKeyLeftArrow:
-        case EKeyRightArrow:
-        case EStdKeyLeftArrow:      /* 0x0e */
-        case EStdKeyRightArrow:     /* 0x0f */
-            ret = ETrue;
-            break;
-        default:
-            break;
-        }
-
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCandidateRetroActive::HandleAuxKeyL
-// Handling auxiliary keypress events including OK and Backspace
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateCandidateRetroActive::HandleAuxKeyL(TInt aKey,
-                                                               TKeyPressLength /*aLength*/)
-    {
-    TBool ret = EFalse;
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    MAknFepUICtrlCandidatePaneInterface* candidatePane =
-        UIContainer()->CandidatePane(MAknFepUICtrlContainerJapanese::
-                                     EJapaneseCandidatePane);
-    TInt currentIdex = candidatePane->CurrentItemIndexOfCandidate();
-    candidatePane->HideWindow();
-    switch(aKey)
-        {
-        case EKeyOK:
-        case EStdKeyDevice3:        /* 0xA7 */
-        case EStdKeyEnter:          /* 0x03 */
-        case EStdKeyNkpEnter:       /* 0x88 */
-            {
-            DoSelectItemL();
-            ret = ETrue;
-            }
-            break;
-        case EKeyBackspace:
-        case EStdKeyBackspace:      /* 0x01 */
-        case EStdKeyEscape:         /* 0x04 */
-            {
-            fepMan->SetInlineEditingCursorVisibilityL(ETrue);
-            ptiEngine->HandleCommandL(EPtiCommandUserActionCancel);
-            iOwner->SetInlineEditUnderlineVisibility(ETrue);
-
-            if(iOwner->IsPredictive())
-                {
-                iOwner->ChangeState(EPredictiveInput);
-                ShowPredictiveListL();
-                }
-            else
-                {
-                UpdateInlineEditingCharacterL();
-                iOwner->ChangeState(EEntry);
-                }
-            ret = ETrue;
-            }
-            break;
-      default: // Panic
-            {
-            AknFepPanic(EAknFepPanicNotSupportKey);
-            }
-            break;
-        }
-    return ret;
-    }
-
-void TAknFepUiInputStateCandidateRetroActive::HandleCommandL(TInt aCommandId)
-    {
-    // Close current popup window
-    MAknFepUICtrlCandidatePaneInterface*
-        candidatePane = UIContainer()->CandidatePane(MAknFepUICtrlContainerJapanese::
-                                                     EJapaneseCandidatePane);
-    switch (aCommandId)
-        {
-        case EAknFepSoftkeyCommit:
-            candidatePane->HideWindow();
-            DoSelectItemL();
-            break;
-        case EAknFepSoftkeyRetroActiveHalf:
-        case EAknFepSoftkeyRetroActiveFull:
-            {
-            candidatePane->HideWindow();
-            // Change from half to full or from full to half
-            ShowListL(aCommandId);
-            iData = aCommandId;
-            }
-            break;
-        case EAknFepResourceChanged:
-            {
-            TInt currentIdex = candidatePane->CurrentItemIndexOfCandidate();
-            candidatePane->HideWindow();
-            // Change from half to full or from full to half
-            ShowListL(iData, currentIdex);
-            break;
-            }
-        default:
-            // Go through the event to base class.
-            TAknFepUiInputStateEntryJapaneseMultitap::HandleCommandL(aCommandId);
-            break;
-        }
-    }
-
-void TAknFepUiInputStateCandidateRetroActive::ShowListL(TInt aCommandId, TInt aIndex /*=0*/)
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    CDesCArrayFlat* candidateArray = iOwner->CandidateArray();
-    MAknFepUICtrlCandidatePaneInterface*
-        candidatePane = UIContainer()->CandidatePane(MAknFepUICtrlContainerJapanese::
-                                                     EJapaneseCandidatePane);
-    const MPtiEngineCompositionDataInterface* data = ptiEngine->CompositionData();
-    // Check ComposirionData
-    __ASSERT_DEBUG( data->CompletedString().Length() < 0,
-        RDebug::Print(
-           _L("In TAknFepUiInputStateCandidateRetroActive::TAknFepUiInputStateCandidateRetroActive INVALID DATA: ConvertingString!")));
-
-    // Get coordinate of input area
-    TPoint  leftSideOfBaseLine;
-    TInt    height;
-    TInt    ascent;
-    TInt    documentOffset = data->CursorPosition();
-    fepMan->GetScreenCoordinatesL(leftSideOfBaseLine, height, ascent, documentOffset);
-
-    // Decide either half or full
-    TPtiEngineCommand command = EPtiCommandUserActionRetroActiveCandidateHalf;
-    TInt resId = R_AKNFEP_SOFTKEYS_RETROACTIVE_FULL_WIDTH;
-    if (aCommandId == EAknFepSoftkeyRetroActiveFull)
-        {
-        command = EPtiCommandUserActionRetroActiveCandidateFull;
-        resId = R_AKNFEP_SOFTKEYS_RETROACTIVE_HALF_WIDTH;
-        }
-
-    // Get the showing candidates
-    ptiEngine->HandleCommandL(command, (TAny*)candidateArray);
-    if (candidateArray->Count() > 0)
-        {
-        // Show the retroactive popup
-        candidatePane->SetWindowPosition(leftSideOfBaseLine, height, ascent);
-        candidatePane->ShowCandidateListL(candidateArray, aIndex, resId);
-        }
-    else
-        {
-        // return to Entry state
-        iOwner->ChangeState(EEntry);
-        }
-    }
-
-void TAknFepUiInputStateCandidateRetroActive::ShowPredictiveListL()
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    // normal operation
-    if (UpdateInlineEditingCharacterL())
-        {
-        // Get the candidate array object
-        CDesCArrayFlat* candidateArray = iOwner->CandidateArray();
-        // Set the candidates to array on PtiEngine
-        ptiEngine->GetCandidateListL(*candidateArray);
-
-        MAknFepUICtrlCandidatePaneInterface* predictivePane =
-            UIContainer()->CandidatePane(MAknFepUICtrlContainerJapanese::
-                                       EJapanesePredictiveCandidatePane);
-        const MPtiEngineCompositionDataInterface* data = ptiEngine->CompositionData();
-        // Get coordinate of input area
-        TPoint  leftSideOfBaseLine;
-        TInt    height;
-        TInt    ascent;
-        TInt    documentOffset = data->CursorPosition() > 0 ? data->CursorPosition() : 0;
-
-        fepMan->GetScreenCoordinatesL(leftSideOfBaseLine,
-                                      height,
-                                      ascent,
-                                      documentOffset);
-        // show candidate pop-up list
-        predictivePane->SetWindowPosition(leftSideOfBaseLine, height, ascent);
-        predictivePane->ShowCandidateListL(candidateArray, 0, iCbaResourceID);
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCandidateRetroActive::DoSelectItemL
-// Select a current item, and commit it.
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStateCandidateRetroActive::DoSelectItemL()
-    {
-    // commit the current item
-    DoCommitItemL();
-    if (iOwner->FepMan()->EditorHasFreeSpace()
-     && iOwner->IsPredictive())
-        {
-        iOwner->ChangeState(ENextWord);
-        }
-    else
-        {
-        iOwner->PtiEngine()->ClearCurrentWord();
-        iOwner->ChangeState(EInitial);
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCandidateRetroActive::DoCommitItemL
-// Commit a current item
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStateCandidateRetroActive::DoCommitItemL()
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    MAknFepUICtrlCandidatePaneInterface* candidatePane =
-        UIContainer()->CandidatePane(MAknFepUICtrlContainerJapanese::
-                                     EJapaneseCandidatePane);
-    TInt currentIdex = candidatePane->CurrentItemIndexOfCandidate();
-    candidatePane->HideWindow();
-
-    iOwner->ChangeState(EMultiCompletion);
-    CDesCArrayFlat* candidateArray = iOwner->CandidateArray();
-    TPtrC ptr((*candidateArray)[currentIdex]);
-    ptiEngine->HandleCommandL(EPtiCommandUserActionRetroActiveCommit, &ptr);
-    const MPtiEngineCompositionDataInterface* data = ptiEngine->CompositionData();
-    TPtrC text = data->CompletedString();
-    if (text.Length() > 0)
-        {
-        fepMan->CommitInlineEditL(text, text.Length());
-        }
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateChineseBase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,122 +0,0 @@
-/*
-* Copyright (c) 2003 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:            Provides the TAknFepUiInputStateChineseBase methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include <avkon.rsg>
-
-#include "AknFepUiInputStateChineseBase.h"
-#include "AknFepUIManagerStateInterface.h"   //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"        //MAknFepManagerUIInterface
-#include <PtiDefs.h>                //keys
-#include "AknFepGlobalEnums.h"
-#include "AknFepPanic.h"
-
-// CONSTANTS
-
-/**
-*  TAknFepUiInputStateChineseBase class.
-* 
-*/
-
-//============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateChineseBase::TAknFepInputStateChineseBase
-// Constractor
-// ---------------------------------------------------------------------------
-//
-TAknFepInputStateChineseBase::
-TAknFepInputStateChineseBase(MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateBase(aOwner)
-    {
-    iUIContainer = aUIContainer;
-
-    /* UI is not activated at this point yet.
-    if (aOwner)
-        {
-        aOwner->FepMan()->SendUIActivatedNotification();
-        }
-        */
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateChineseBase::operator=
-// 
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateChineseBase::operator=(const TAknFepInputStateBase& aState)
-    {
-    Mem::Copy(this, &aState, sizeof(TAknFepInputStateBase));
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateChineseBase::operator=
-// 
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateChineseBase::operator=(const TAknFepInputStateChineseBase& aState)
-    {
-    Mem::Copy(this, &aState, sizeof(TAknFepInputStateChineseBase));
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateChineseBase::UIContainer()
-// Getting UI container object
-// @return Japanese UI container object
-// ---------------------------------------------------------------------------
-//
-
-MAknFepUICtrlContainerChinese* TAknFepInputStateChineseBase::UIContainer()
-    {
-    return static_cast<MAknFepUICtrlContainerChinese*>(iUIContainer);
-    }
-
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateChineseBase::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateChineseBase::HandleCommandL(TInt aCommandId)
-	{	
-	switch (aCommandId)
-	    {
-		// Handle the event frome command.
-		case EAknSoftkeyCancel:
-	//	case (TUint16)EAknSoftkeyCancel: //the Cancle in soft CBA
-			iOwner->FepMan()->TryCloseUiL();
-			break;  
-		case EAknSoftkeySelect:
-		//case (TUint16)EAknSoftkeySelect: //the Selected in soft CBA
-			break;
-		default:
-			break;
-		}    	
- 	}
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateChineseBaseQwerty.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStateChineseBaseQwerty methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUIInputStateChineseBaseQwerty.h"
-#include "AknFepUIManagerStateInterface.h"      //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"           //MAknFepManagerUIInterface
-#include "AknFepCaseManager.h"
-
-#include <PtiEngine.h>
-#include <PtiDefs.h>
-
-TAknFepInputStateChineseBaseQwerty::TAknFepInputStateChineseBaseQwerty(
-					MAknFepUIManagerStateInterface* aOwner,
-					MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateChineseBase(aOwner,aUIContainer)
-    {
-    }
-
-TBool TAknFepInputStateChineseBaseQwerty::IsQwertyKey(const TInt aKey)
-    {
-    TBool response = EFalse;
-    if ( (aKey >= EPtiKeyQwertyA && aKey <= EPtiKeyQwertyZ) ||
-        IsNumberKey( aKey ) ||
-        aKey == EPtiKeyQwertyPlus ||
-        aKey == EPtiKeyQwertyMinus ||
-        aKey == EPtiKeyQwertyComma ||
-        aKey == EPtiKeyQwertySemicolon ||
-        aKey == EPtiKeyQwertyFullstop ||
-        aKey == EPtiKeyQwertyHash ||
-        aKey == EPtiKeyQwertySlash ||
-        aKey == EPtiKeyQwertyApostrophe)
-        {
-        response = ETrue;
-        }
-    return response;
-    }
-
-TBool TAknFepInputStateChineseBaseQwerty::IsNumberKey(const TInt aKey)
-    {
-    TBool response = EFalse;
-    if (aKey >= EPtiKeyQwerty0 && aKey <= EPtiKeyQwerty9)
-        {
-        response = ETrue;
-        }
-    return response;
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateChineseFindQwerty.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStateChineseFindQwerty methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateChineseFindQwerty.h"
-#include "AknFepUIManagerStateInterface.h"
-#include "AknFepManagerUIInterface.h"
-
-#include <e32keys.h>
-#include <PtiEngine.h>
-#include <PtiDefs.h>                //keys
-
-TAknFepInputStateChineseFindQwerty::TAknFepInputStateChineseFindQwerty(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateChineseBase(aOwner, aUIContainer)
-    {
-    iState = EQwerty;
-    }
-
-TBool TAknFepInputStateChineseFindQwerty::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    TBool ret = ETrue;
-   
-    if(!IsQwertyKey(aKey))
-        {
-        ret = EFalse;
-        }
-    else if (aLength == EShortKeyPress && iOwner->IsValidChineseInputKeyQwerty(aKey)) 
-        {
-        ptiengine->AppendKeyPress((TPtiKey)aKey);
-        TPtrC text = ptiengine->GetPhoneticSpelling(1);
-
-        if(text.Length()) 
-            {
-            fepMan->NewCharacterL(text);
-            fepMan->CommitInlineEditL();
-            ptiengine->ClearCurrentWord();
-            }
-        else
-            {
-            ret = EFalse;
-            }
-        }
-    return ret;
-    }
-
-TBool TAknFepInputStateChineseFindQwerty::IsQwertyKey(const TInt aKey)
-    {
-    TBool response = EFalse;
-    if ( (aKey >= EPtiKeyQwertyA && aKey <= EPtiKeyQwertyZ) ||
-        IsNumberKey( aKey ) ||
-        aKey == EPtiKeyQwertyPlus ||
-        aKey == EPtiKeyQwertyMinus ||
-        aKey == EPtiKeyQwertyComma ||
-        aKey == EPtiKeyQwertySemicolon ||
-        aKey == EPtiKeyQwertyFullstop ||
-        aKey == EPtiKeyQwertyHash ||
-        aKey == EPtiKeyQwertySlash ||
-        aKey == EPtiKeyQwertyApostrophe)
-        {
-        response = ETrue;
-        }
-    return response;
-    }
-
-TBool TAknFepInputStateChineseFindQwerty::IsNumberKey(const TInt aKey)
-    {
-    TBool response = EFalse;
-    if (aKey >= EPtiKeyQwerty0 && aKey <= EPtiKeyQwerty9)
-        {
-        response = ETrue;
-        }
-    return response;
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateCompletionHiraganaKanji.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,220 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the TAknFepUiInputStateCompletionHiraganaKanji methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include "AknFepUiInputStateCompletionHiraganaKanji.h"
-#include "AknFepUIManagerStateInterface.h"   // MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"        // MAknFepManagerUIInterface
-#include "AknFepUICtrlCandidatePaneInterface.h"
-                                        // MAknFepUICtrlCandidatePaneInterface
-#include "AknFepUICtrlContainerJapanese.h"
-#include "AknFepGlobalEnums.h"
-#include "AknFepManager.h"
-
-#include <PtiDefs.h>                     // keys
-#include <PtiEngine.h>
-#include <PtiCompositionDataIF.h>        // MPtiEngineCompositionDataInterface
-
-/**
- *  TAknFepUiInputStateCompletionHiraganaKanji class.
- * 
- */
-//============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCompletionHiraganaKanji::
-//                                  TAknFepUiInputStateCompletionHiraganaKanji
-// C++ default Constructor
-// ---------------------------------------------------------------------------
-//
-TAknFepUiInputStateCompletionHiraganaKanji::
-    TAknFepUiInputStateCompletionHiraganaKanji(
-                                    MAknFepUIManagerStateInterface* aOwner,
-                                    MAknFepUICtrlContainerJapanese* aUIContainer)
-    :TAknFepUiInputStateCompletionJapaneseMultitap(aOwner, aUIContainer)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCompletionHiraganaKanji::HandleNumericShortKeyL
-// Handling short keypress events of the numeric and the star.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateCompletionHiraganaKanji::HandleNumericShortKeyL(TInt aKey)
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    TBool ret = CommitInlineEditingCharacterL();
-    const MPtiEngineCompositionDataInterface* data = ptiEngine->CompositionData();
-    TPtrC text = data->ConvertingString();
-    if (text.Length() > 0)
-        { // for last character is space or line feed
-        iOwner->ChangeState(EInitial);
-        fepMan->SimulateKeyEventL(aKey, ETrue);
-        ret = ETrue;
-        }
-    else
-        {
-        iOwner->ChangeState(EInitial);
-        if (iOwner->IsQwerty())
-            {
-            if (IsQwertyKey(aKey) && aKey != EStdKeySpace)
-                {
-                // Run on aKey if pressing qwerty key.
-                ret = EFalse;
-                }
-            }
-        else
-            {
-            if (IsNumberKey(aKey))
-                {
-                // Run on aKey if pressing number key.
-                ret = EFalse;
-                }
-            }
-        }
-
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCompletionHiraganaKanji::HandleNumericLongKeyL
-// Handling Numeric long keypress event
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateCompletionHiraganaKanji::HandleNumericLongKeyL(TInt aKey)
-    {
-    TBool ret = EFalse;
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    ret = ProcessNumericLongKeyPressL(aKey);
-    if (iOwner->IsPredictive() && fepMan->EditorHasFreeSpace())
-        {
-        iOwner->ChangeState(ENextWord);
-        }
-    else
-        {
-        iOwner->ChangeState(EInitial);
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCompletionHiraganaKanji::HandleAuxKeyL
-// Handling auxiliary keypress events including OK and Backspace
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateCompletionHiraganaKanji::HandleAuxKeyL(TInt aKey,
-                                                                TKeyPressLength aLength)
-    {
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    TPtiEngineCommand ptiCommand = EPtiCommandUserActionAllComplete;
-
-    if (aKey == EKeyOK 
-     || aKey == EStdKeyDevice3          /* 0xA7 */
-     || aKey == EStdKeyEnter
-     || aKey == EStdKeyNkpEnter)
-        {
-        if (aLength == EShortKeyPress)
-            {
-            ptiCommand = EPtiCommandUserActionComplete;
-            }
-        ptiEngine->HandleCommandL(ptiCommand);
-
-        UpdateInlineEditingCharacterL();
-        return ETrue;
-        }
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCompletionHiraganaKanji::UpdateInlineEditingCharacterL
-// Update inline editing string
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateCompletionHiraganaKanji::UpdateInlineEditingCharacterL()
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    TBool ret = EFalse;
-
-    TBool isnextwordchar = !fepMan->IsFlagSet(CAknFepManager::EFlagLineFeedCharacter
-                                    | CAknFepManager::EFlagSpaceCharacter
-                                    | CAknFepManager::EFlagFullWidthSpaceCharacter);
-    
-    if(CommitInlineEditingCharacterL())
-        {
-        const MPtiEngineCompositionDataInterface* data = ptiEngine->CompositionData();
-        TPtrC text = data->ConvertingString();
-        TInt cursorpos = data->CursorPosition();
-        if (text.Length() > 0)
-            {
-            if (fepMan->EditorHasFreeSpace())
-                {
-                if (data->NumberOfPhrase() > 0)
-                    {
-                    TPtrC8 clauseChar = data->LengthOfPhrase();
-                    cursorpos = clauseChar[0];
-                    }
-                iOwner->ChangeState(EConversion);
-                fepMan->StartInlineEditL();
-                fepMan->UpdateInlineEditL(text, cursorpos);
-                }
-            else
-                {
-                iOwner->ChangeState(EInitial);
-                }
-            }
-        else
-            {
-            __ASSERT_DEBUG(text.Length() == 0,
-                RDebug::Print(
-                   _L("In TAknFepUiInputStateCompletionJapaneseMultitap::UpdateInlineEditingCharacterL,\nINVALID DATA: ConvertingString. Roll back to initial State!")));
-            ptiEngine->ClearCurrentWord();
-            if(iOwner->IsPredictive()
-            && (fepMan->EditorHasFreeSpace() && isnextwordchar) )
-                {
-                iOwner->ChangeState(ENextWord);
-                }
-            else
-                {
-                MAknFepUICtrlContainerJapanese* uicontainer = UIContainer();
-                MAknFepUICtrlCandidatePaneInterface* predictivePane =
-                uicontainer->CandidatePane(MAknFepUICtrlContainerJapanese::EJapanesePredictiveCandidatePane);
-                // Closeing candidate pop-up list
-                predictivePane->HideWindow();
-                iOwner->ChangeState(EInitial);
-                }
-            }
-
-        ret = ETrue;
-        }
-    
-    return ret;
-    }
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateCompletionJapaneseMultitap.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,285 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the TAknFepUiInputStateCompletionJapaneseMultitap methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include "AknFepUiInputStateCompletionJapaneseMultitap.h"
-#include "AknFepUIManagerStateInterface.h"   // MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"        // MAknFepManagerUIInterface
-#include "AknFepGlobalEnums.h"
-#include "AknFepPanic.h"
-#include "AknFepManager.h"                   // CAknFepCaseManager
-
-#include <PtiDefs.h>                     // keys
-#include <PtiEngine.h>
-#include <PtiCompositionDataIF.h>        // MPtiEngineCompositionDataInterface
-
-// CONSTANTS
-
-/**
- *  TAknFepUiInputStateCompletionJapaneseMultitap class.
- * 
- */
-//============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCompletionJapaneseMultitap::
-//                              TAknFepUiInputStateCompletionJapaneseMultitap
-// C++ default Constructor
-// ---------------------------------------------------------------------------
-//
-TAknFepUiInputStateCompletionJapaneseMultitap::
-    TAknFepUiInputStateCompletionJapaneseMultitap(
-                                    MAknFepUIManagerStateInterface* aOwner,
-                                    MAknFepUICtrlContainerJapanese* aUIContainer)
-    :TAknFepUiInputStateJapaneseBase(aOwner, aUIContainer)
-    {
-    iState = EMultiCompletion;
-    }
-
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCompletionJapaneseMultitap::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStateCompletionJapaneseMultitap::HandleCommandL(TInt aCommandId)
-    {
-    if (aCommandId == EAknFepAllCompletion)
-        {
-        iOwner->PtiEngine()->HandleCommandL(EPtiCommandUserActionAllComplete);
-        CommitInlineEditingCharacterL();
-        iOwner->ChangeState(EInitial);
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCompletionJapaneseMultitap::HandleNumericShortKeyL
-// Handling short keypress events of the numeric and the star.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateCompletionJapaneseMultitap::HandleNumericShortKeyL(TInt /*aKey*/)
-    {
-    return UpdateInlineEditingCharacterL();
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCompletionJapaneseMultitap::HandleNaviKeyL
-// Handling Navigate keypress event
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateCompletionJapaneseMultitap::HandleNaviKeyL(TInt /*aKey*/,
-                                                                    TKeyPressLength /*aLength*/)
-    {
-    return UpdateInlineEditingCharacterL();
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCompletionJapaneseMultitap::HandleAuxKeyL
-// Handling auxiliary keypress events including OK and Backspace
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateCompletionJapaneseMultitap::HandleAuxKeyL(TInt aKey,
-                                                                   TKeyPressLength aLength)
-    {
-    TBool ret = ETrue;
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-
-    if (aKey == EKeyOK
-     || aKey == EStdKeyDevice3          /* 0xA7 */
-     || aKey == EStdKeyEnter
-     || aKey == EStdKeyNkpEnter)
-        {
-        TPtiEngineCommand ptiCommand = EPtiCommandUserActionComplete;
-        if (aLength == ELongKeyPress)
-            {
-            ptiCommand = EPtiCommandUserActionAllComplete;
-            }
-        ptiEngine->HandleCommandL(ptiCommand);
-        ret = UpdateInlineEditingCharacterL();
-        }
-
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCompletionJapaneseMultitap::HandleNumericLongKeyL
-// Handling Numeric long keypress event
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateCompletionJapaneseMultitap::HandleNumericLongKeyL(TInt aKey)
-    {
-    TBool ret = ProcessNumericLongKeyPressL(aKey);
-    iOwner->ChangeState(EInitial);
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCompletionJapaneseMultitap::UpdateInlineEditingCharacterL
-// Update inline editing string
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateCompletionJapaneseMultitap::UpdateInlineEditingCharacterL()
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    TBool ret = EFalse;
-    
-    if(CommitInlineEditingCharacterL())
-        {
-        const MPtiEngineCompositionDataInterface* data = ptiEngine->CompositionData();
-        TPtrC text = data->ConvertingString();
-        TInt cursorpos = data->CursorPosition();
-        if (text.Length() > 0)
-            {
-            if (data->NumberOfPhrase() > 0)
-                {
-                TPtrC8 clauseChar = data->LengthOfPhrase();
-                cursorpos = clauseChar[0];
-                }
-            iOwner->ChangeState(EEntry);
-            fepMan->StartInlineEditL();
-            fepMan->UpdateInlineEditL(text, cursorpos);
-            }
-        else
-            {
-            __ASSERT_DEBUG(text.Length() == 0,
-                RDebug::Print(
-                   _L("In TAknFepUiInputStateCompletionJapaneseMultitap::UpdateInlineEditingCharacterL,\nINVALID DATA: ConvertingString. Roll back to initial State!")));
-            ptiEngine->ClearCurrentWord();
-            iOwner->ChangeState(EInitial);
-            }
-
-        ret = ETrue;
-        }
-    
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCompletionJapaneseMultitap::CommitInlineEditingCharacterL
-// Commit inline editing string
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateCompletionJapaneseMultitap::CommitInlineEditingCharacterL()
-    {
-    TBool ret = EFalse;
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    const MPtiEngineCompositionDataInterface* data = ptiEngine->CompositionData();
-    TPtrC text = data->CompletedString();
-    if (text.Length() > 0)
-        {
-        fepMan->CommitInlineEditL(text, text.Length());
-        ret = ETrue;
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCompletionJapaneseMultitap::ProcessNumericLongKeyPressL
-// 
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateCompletionJapaneseMultitap::ProcessNumericLongKeyPressL(TInt aKey)
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    TBool ret = EFalse;
-
-    ptiEngine->DeleteKeyPress();
-
-    if (!iOwner->IsQwerty()
-     && fepMan->IsSupportsSecretText()
-     && fepMan->IsFlagSet(CAknFepManager::EFlagInsideMultitapInlineEditingTransaction))
-        {
-        iOwner->PtiEngine()->ClearCurrentWord();
-        TPtiEngineCommand cmd = (TPtiEngineCommand)(EPtiCommandUserActionCompleteHalf0 + (aKey - '0'));
-        ptiEngine->HandleCommandL(cmd);
-        const MPtiEngineCompositionDataInterface* srcretdata = ptiEngine->CompositionData();
-        TPtrC srcrettext = srcretdata->CompletedString();
-        if (srcrettext.Length() > 0)
-            {
-            TBuf<1> buf;
-            buf.Append(srcrettext[0]);
-
-            // if the previous character is the special character (line feed or space),
-            // it is necessary to clear the flag.
-            TInt specialcharFlags = CAknFepManager::EFlagLineFeedCharacter
-                                  | CAknFepManager::EFlagSpaceCharacter
-                                  | CAknFepManager::EFlagFullWidthSpaceCharacter;
-            if (fepMan->IsFlagSet(specialcharFlags))
-                {
-                fepMan->ClearFlag(specialcharFlags);
-                }
-
-            fepMan->NewCharacterL(buf);
-            fepMan->CommitInlineEditL();
-            }
-        ptiEngine->ClearCurrentWord();
-        ret = ETrue;
-        }
-    else
-        {
-    const MPtiEngineCompositionDataInterface* data = ptiEngine->CompositionData();
-    TPtrC text = data->ConvertingString();
-    if (text.Length() > 0)
-        {
-        ptiEngine->HandleCommandL(EPtiCommandUserActionAllComplete);
-            ret = CommitInlineEditingCharacterL();
-            __ASSERT_DEBUG(ret, AknFepPanic(EAknFepPanicCandidatesEmpty));
-            }
-        else
-            {
-            fepMan->CancelInlineEdit();
-            iOwner->PtiEngine()->ClearCurrentWord();
-            }
-    if (fepMan->EditorHasFreeSpace())
-        {
-        TPtiEngineCommand cmd = (TPtiEngineCommand)(EPtiCommandUserActionCompleteHalf0 + (aKey - '0'));
-
-            ptiEngine->HandleCommandL(cmd);
-            fepMan->StartInlineEditL();
-            const MPtiEngineCompositionDataInterface* data = ptiEngine->CompositionData();
-            TPtrC text = data->CompletedString();
-            if (text.Length() > 0)
-                {
-                fepMan->CommitInlineEditL(text, text.Length());
-                ret = ETrue;
-                }
-            else
-                {
-                ptiEngine->ClearCurrentWord();
-                fepMan->CancelInlineEdit();
-                iOwner->ChangeState(EInitial);
-                }
-            }
-        }
-    return ret;
-    }
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateCompletionKatakana.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,196 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the TAknFepInputStateCompletionKatakana methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include "AknFepUiInputStateCompletionKatakana.h"
-#include "AknFepUIManagerStateInterface.h"     // MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"          // MAknFepManagerUIInterface
-#include "AknFepUICtrlContainerJapanese.h"
-
-#include <PtiDefs.h>                    // keys
-#include <PtiEngine.h>
-#include <PtiCompositionDataIF.h>       // MPtiEngineCompositionDataInterface
-
-
-/**
-*  TAknFepUiInputStateCompletionHiraganaKanji class.
-* 
-*/
-
-//============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCompletionKatakana::
-//                                  TAknFepUiInputStateCompletionKatakana
-// C++ default Constructor
-// ---------------------------------------------------------------------------
-//
-TAknFepUiInputStateCompletionKatakana::
-    TAknFepUiInputStateCompletionKatakana(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerJapanese* aUIContainer)
-    :TAknFepUiInputStateCompletionJapaneseMultitap(aOwner, aUIContainer)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCompletionKatakana::
-//                                  HandleNumericShortKeyL
-// Handling short keypress events of the numeric and the star.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateCompletionKatakana::HandleNumericShortKeyL(TInt aKey)
-    {
-    TBool ret = ETrue;
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-
-    CommitInlineEditingCharacterL();
-    const MPtiEngineCompositionDataInterface* data = ptiEngine->CompositionData();
-    TPtrC text = data->ConvertingString();
-    if (text.Length() > 0 && fepMan->EditorHasFreeSpace())
-        { // for last character is space or line feed
-        iOwner->ChangeState(EInitial);
-        iOwner->FepMan()->SimulateKeyEventL(aKey, ETrue);
-        ret = ETrue;
-        }
-    else
-        {
-        ptiEngine->ClearCurrentWord();
-        iOwner->ChangeState(EInitial);
-        }
-
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCompletionJapaneseMultitap::UpdateInlineEditingCharacterL
-// Update inline editing string
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateCompletionKatakana::UpdateInlineEditingCharacterL()
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    TBool ret = EFalse;
-    
-    if(CommitInlineEditingCharacterL())
-        {
-        ptiEngine->ClearCurrentWord();
-        iOwner->ChangeState(EInitial);
-        ret = ETrue;
-        }
-    
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCompletionJapaneseMultitap::CommitInlineEditingCharacterL
-// Commit inline editing string
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateCompletionKatakana::CommitInlineEditingCharacterL()
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    const MPtiEngineCompositionDataInterface* data = ptiEngine->CompositionData();
-    TPtrC text = data->CompletedString();
-    if (text.Length() > 0)
-        {
-        HBufC* buf = HBufC::NewLC(text.Length());
-        TPtr ptr(buf->Des());
-        ptr.Copy(text);
-        if (fepMan->InputMode() == EHiragana)
-        	{
-        	for (TInt index=text.Length()-1; index >= 0; index-- )
-        		{
-        		if (!IsFullHiragana(TChar(text[index])))
-        			{
-        			ptr.Delete(index, 1);
-        			}
-        		}
-        	}
-        	
-        fepMan->CommitInlineEditL(ptr, ptr.Length());
-        CleanupStack::PopAndDestroy(buf);
-        }
-    return ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCompletionKatakana::IsFullHiragana
-// Check a character whether it is Full-width Katakana
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateCompletionKatakana::IsFullHiragana(const TChar aChr)
-	{
-	TBool rtn = EFalse;
-    const TUint KFullHiraganaStart = 0x3041;
-    const TUint KFullHiraganaEnd = 0x3094;
-	
-	if (KFullHiraganaStart <= aChr && aChr <= KFullHiraganaEnd)
-		{
-		rtn = ETrue;
-		}
-	
-	return rtn;
-	}
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCompletionKatakana::HandleAuxKeyL
-// Handling auxiliary keypress events including OK and Backspace
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateCompletionKatakana::HandleAuxKeyL(TInt aKey,
-                                                           TKeyPressLength aLength)
-    {
-    TBool ret = ETrue;
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-
-    if (aKey == EKeyOK
-     || aKey == EStdKeyDevice3          /* 0xA7 */
-     || aKey == EStdKeyEnter
-     || aKey == EStdKeyNkpEnter)
-        {
-        TPtiEngineCommand ptiCommand = EPtiCommandUserActionComplete;
-        if (aLength == ELongKeyPress)
-            {
-            ptiCommand = EPtiCommandUserActionAllComplete;
-            }
-        ptiEngine->HandleCommandL(ptiCommand);
-        UpdateInlineEditingCharacterL();
-        // OK-key or Enter-key shouldn't be consumed in Latin input.
-        // Because OK-key or Enter-key might be used in application side.
-        ret = EFalse;
-        }
-
-    return ret;
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateCompletionLatinJapanese.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,161 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the TAknFepUiInputStateCompletionLatinJapanese methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include "AknFepUiInputStateCompletionLatinJapanese.h"
-#include "AknFepUIManagerStateInterface.h"   // MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"        // MAknFepManagerUIInterface
-#include "AknFepCaseManager.h"               // CAknFepCaseManager
-#include "AknFepGlobalEnums.h"
-
-#include <PtiDefs.h>                     // keys
-#include <PtiEngine.h>
-#include <PtiCompositionDataIF.h>        // MPtiEngineCompositionDataInterface
-
-// CONSTANTS
-
-/**
-*  TAknFepUiInputStateCompletionLatinJapanese class.
-*
-*/
-
-//============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCompletionLatinJapanese::
-//                              TAknFepUiInputStateCompletionLatinJapanese
-// C++ default Constructor
-// ---------------------------------------------------------------------------
-//
-TAknFepUiInputStateCompletionLatinJapanese::TAknFepUiInputStateCompletionLatinJapanese(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerJapanese* aUIContainer)
-    :TAknFepUiInputStateCompletionJapaneseMultitap(aOwner, aUIContainer)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCompletionJapaneseMultitap::HandleNumericShortKeyL
-// Handling short keypress events of the numeric and the star.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateCompletionLatinJapanese::HandleNumericShortKeyL(TInt aKey)
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    TBool ret = ETrue;
-    CommitInlineEditingCharacterL();
-    iOwner->ChangeState(EInitial);
-    if (!iOwner->IsQwerty())
-        {
-        fepMan->SimulateKeyEventL(aKey, ETrue);
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCompletionLatinJapanese::CommitInlineEditingCharacterL
-// Commit inline editing string
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateCompletionLatinJapanese::CommitInlineEditingCharacterL()
-    {
-    TBool ret = EFalse;
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    if (!iOwner->IsQwerty()
-     && iOwner->FepMan()->IsSupportsSecretText()
-     && fepMan->IsFlagSet(CAknFepManager::EFlagInsideMultitapInlineEditingTransaction))
-        {
-        fepMan->CommitInlineEditL();
-        ptiEngine->ClearCurrentWord();
-        iData = 0;
-        ret = ETrue;
-        }
-    else
-        {
-        const MPtiEngineCompositionDataInterface* data = ptiEngine->CompositionData();
-        TPtrC text = data->CompletedString();
-        if (text.Length() > 0)
-            {
-            // Update case without Qwerty
-            if (!iOwner->IsQwerty())
-            {
-            UpdateCase(text);
-            }
-
-        // Commit a character
-        fepMan->CommitInlineEditL(text, text.Length());
-
-        // Update case with Qwerty
-        if (iOwner->IsQwerty())
-            {
-            CAknFepCaseManager* caseMan = iOwner->CaseMan();
-            caseMan->UpdateCase(ENullNaviEvent);
-                }
-
-            ptiEngine->ClearCurrentWord();
-            iData = 0;
-            ret = ETrue;
-            }
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCompletionLatinJapanese::HandleAuxKeyL
-// Handling auxiliary keypress events including OK and Backspace
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateCompletionLatinJapanese::HandleAuxKeyL(TInt aKey,
-                                                                   TKeyPressLength aLength)
-    {
-    TBool ret = ETrue;
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-
-    if (aKey == EKeyOK
-     || aKey == EStdKeyDevice3          /* 0xA7 */
-     || aKey == EStdKeyEnter
-     || aKey == EStdKeyNkpEnter)
-        {
-        TPtiEngineCommand ptiCommand = EPtiCommandUserActionComplete;
-        if (aLength == ELongKeyPress)
-            {
-            ptiCommand = EPtiCommandUserActionAllComplete;
-            }
-        ptiEngine->HandleCommandL(ptiCommand);
-        UpdateInlineEditingCharacterL();
-        // OK-key or Enter-key shouldn't be consumed in Latin input.
-        // Because OK-key or Enter-key might be used in application side.
-        ret = EFalse;
-        }
-
-    return ret;
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateCompletionPredictiveHiraganaKanji.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,154 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the TAknFepUiInputStateCompletionPredictiveHiraganaKanji methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include "AknFepUiInputStateCompletionPredictiveHiraganaKanji.h"
-#include "AknFepUIManagerStateInterface.h"   // MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"        // MAknFepManagerUIInterface
-#include "AknFepUICtrlCandidatePaneInterface.h"
-                                        // MAknFepUICtrlCandidatePaneInterface
-#include "AknFepUICtrlContainerJapanese.h"
-#include "AknFepManager.h"
-#include "AknFepGlobalEnums.h"
-
-#include <PtiDefs.h>                     // keys
-#include <PtiEngine.h>
-#include <PtiCompositionDataIF.h>        // MPtiEngineCompositionDataInterface
-
-/**
- *  TAknFepUiInputStateCompletionPredictiveHiraganaKanji class.
- * 
- */
-//============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCompletionPredictiveHiraganaKanji::
-//                        TAknFepUiInputStateCompletionPredictiveHiraganaKanji
-// C++ default Constructor
-// ---------------------------------------------------------------------------
-//
-TAknFepUiInputStateCompletionPredictiveHiraganaKanji::
-    TAknFepUiInputStateCompletionPredictiveHiraganaKanji(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerJapanese* aUIContainer)
-    :TAknFepUiInputStateCompletionHiraganaKanji(aOwner, aUIContainer)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCompletionPredictiveHiraganaKanji::HandleNumericShortKeyL
-// Handling short keypress events of the numeric and the star.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateCompletionPredictiveHiraganaKanji::HandleNumericShortKeyL(TInt aKey)
-    {
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    TBool ret = CommitInlineEditingCharacterL();
-    const MPtiEngineCompositionDataInterface* data = ptiEngine->CompositionData();
-    TPtrC text = data->ConvertingString();
-    if (text.Length() > 0)
-        {
-        iOwner->ChangeState(EInitial);
-        iOwner->FepMan()->SimulateKeyEventL(aKey, ETrue);
-        ret = ETrue;
-        }
-    else
-        {
-        iOwner->ChangeState(EInitial);
-        if (iOwner->IsQwerty() && IsQwertyKey(aKey) && aKey != EStdKeySpace)
-            {
-            ret = EFalse;
-            }
-        }
-
-    return ret;
-     }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCompletionPredictiveHiraganaKanji::HandleNumericLongKeyL
-// Handling Numeric long keypress event
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateCompletionPredictiveHiraganaKanji::HandleNumericLongKeyL(TInt aKey)
-    {
-    TBool ret = EFalse;
-    
-    ret = ProcessNumericLongKeyPressL(aKey);
-    
-    if (ret && iOwner->FepMan()->EditorHasFreeSpace())
-        {
-        iOwner->ChangeState(ENextWord);
-        }
-    else
-        {
-        MAknFepUICtrlContainerJapanese* uicontainer = UIContainer();
-        MAknFepUICtrlCandidatePaneInterface* predictivePane =
-        uicontainer->CandidatePane(MAknFepUICtrlContainerJapanese::
-                                   EJapanesePredictiveCandidatePane);
-        // Closeing candidate pop-up list
-        predictivePane->HideWindow();
-        iOwner->ChangeState(EInitial);
-        ret = ETrue;
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCompletionPredictiveHiraganaKanji::HandleAuxKeyL
-// Handling auxiliary keypress events including OK and Backspace
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateCompletionPredictiveHiraganaKanji::HandleAuxKeyL(TInt aKey,
-                                                                          TKeyPressLength /*aLength*/)
-    {
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    TBool ret = EFalse;
-
-    if (aKey == EKeyOK 
-     || aKey == EStdKeyDevice3          /* 0xA7 */
-     || aKey == EStdKeyEnter
-     || aKey == EStdKeyNkpEnter)
-        {
-        TInt index = UIContainer()->CandidatePane(MAknFepUICtrlContainerJapanese::
-                                                  EJapanesePredictiveCandidatePane)->CurrentItemIndexOfCandidate();
-        if (index > -1)
-            {
-            ptiEngine->HandleCommandL(EPtiCommandUserActionCompleteCandidate, &index);
-            }
-        else
-            {
-            ptiEngine->HandleCommandL(EPtiCommandUserActionComplete);
-            }
-
-        UpdateInlineEditingCharacterL();
-        ret = ETrue;
-        }
-    return ret;
-    }
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateConversionHiraganaKanji.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,191 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the TAknFepUiInputStateConversionHiraganaKanji methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include "AknFepUiInputStateConversionHiraganaKanji.h"
-#include "AknFepUIManagerStateInterface.h"   // MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"        // MAknFepManagerUIInterface
-#include "AknFepGlobalEnums.h"
-
-#include <PtiDefs.h>                     // keys
-#include <PtiEngine.h>
-#include <PtiCompositionDataIF.h>        // MPtiEngineCompositionDataInterface
-#include <aknfep.rsg>
-
-// CONSTANTS
-
-/**
- *  TAknFepUiInputStateConversionHiraganaKanji class.
- *
- */
-//============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateConversionHiraganaKanji::
-//                                  TAknFepUiInputStateConversionHiraganaKanji
-// C++ default Constructor
-// ---------------------------------------------------------------------------
-//
-TAknFepUiInputStateConversionHiraganaKanji::
-    TAknFepUiInputStateConversionHiraganaKanji(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerJapanese* aUIContainer)
-    :TAknFepUiInputStateEntryJapaneseMultitap(aOwner, aUIContainer)
-    {
-    iData = EStateEventCandidateOn;
-    iState = EConversion;
-
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateConversionHiraganaKanji::InitializeStateL
-// Initialize State
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStateConversionHiraganaKanji::InitializeStateL()
-    {
-    iOwner->SetInlineEditUnderlineVisibility(ETrue);
-
-    // Update of CBA
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    TInt newResource = R_AKNFEP_SOFTKEYS_EMPTY_EMPTY_COMMIT;
-    fepMan->UpdateCbaL(newResource);
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateConversionHiraganaKanji::HandleNumericKeyL
-// Handling short keypress events of the numeric and the star.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateConversionHiraganaKanji::HandleNumericShortKeyL(TInt /*aKey*/)
-    {
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    ptiEngine->HandleCommandL(EPtiCommandUserActionAllComplete);
-    iOwner->ChangeState(EMultiCompletion);
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateInitialJapaneseBase::HandleNaviKeyL
-// Handling Navigate keypress event
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateConversionHiraganaKanji::HandleNaviKeyL(TInt aKey,
-                                                                 TKeyPressLength /*aLength*/)
-    {
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    TPtiEngineCommand ptiCommand = EPtiCommandNone;
-
-    switch(aKey)
-        {
-        case EKeyLeftArrow:
-        case EKeyRightArrow:
-        case EStdKeyLeftArrow:      /* 0x0e */
-        case EStdKeyRightArrow:     /* 0x0f */
-            {
-            ptiCommand = EPtiCommandUserActionShorten;
-            if (aKey == EKeyRightArrow
-             || aKey == EStdKeyRightArrow)
-                ptiCommand = EPtiCommandUserActionLengthen;
-
-            ptiEngine->HandleCommandL(ptiCommand);
-            UpdateInlineEditingCharacterL();
-            iData = EStateEventCandidateOff;
-            }
-            break;
-        case EKeyDownArrow:
-        case EKeyUpArrow:
-        case EStdKeyDownArrow:      /* 0x11 */
-        case EStdKeyUpArrow:        /* 0x10 */
-        case EStdKeySpace:
-            {
-            ptiCommand = EPtiCommandUserActionConvert;
-            if (aKey == EKeyUpArrow
-             || aKey == EStdKeyUpArrow)
-                {
-                ptiCommand = EPtiCommandUserActionPrevious;
-                }
-            ptiEngine->HandleCommandL(ptiCommand);
-            UpdateInlineEditingCharacterL();
-            if(iData == EStateEventCandidateOn)
-                {
-                iOwner->ChangeState(ECandidate);
-                }
-            iData = EStateEventCandidateOn;
-            }
-            break;
-        default:
-             break;
-        }
-
-    return ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateInitialJapaneseBase::HandleAuxKeyL
-// Handling auxiliary keypress events including OK and Backspace
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateConversionHiraganaKanji::HandleAuxKeyL(TInt aKey,
-                                                                TKeyPressLength /*aLength*/)
-    {
-    TBool ret = EFalse;
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-
-    switch(aKey)
-        {
-        case EKeyOK:
-        case EStdKeyDevice3:        /* 0xA7 */
-        case EStdKeyEnter:          /* 0x03 */
-        case EStdKeyNkpEnter:       /* 0x88 */
-            {
-            iOwner->ChangeState(EMultiCompletion);
-            }
-            break;
-        case EKeyBackspace:
-        case EStdKeyBackspace:      /* 0x01 */
-        case EStdKeyEscape:         /* 0x04 */
-            {
-            fepMan->SetInlineEditingCursorVisibilityL(ETrue);
-            ptiEngine->HandleCommandL(EPtiCommandUserActionCancel);
-            iOwner->SetInlineEditUnderlineVisibility(ETrue);
-            UpdateInlineEditingCharacterL();
-            iOwner->ChangeState(EEntry);
-            ret = ETrue;
-            }
-            break;
-        default:
-            break;
-        }
-
-    return ret;
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateEntryArabicHebrewPredictive.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* Copyright (c) 2004 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:           
-*       Provides the TAknFepInputStateEntryArabicHebrewPredictive methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateEntryArabicHebrewPredictive.h"
-
-TAknFepInputStateEntryArabicHebrewPredictive::
-TAknFepInputStateEntryArabicHebrewPredictive(MAknFepUIManagerStateInterface* aOwner)
-    :TAknFepInputStateEntryWesternPredictive(aOwner)
-    {
-    }
-
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateEntryHalfQwertyWesternPredictive.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,887 +0,0 @@
-/*
-* Copyright (c) 2007 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:           
-*       Provides the TAknFepUiInputStateEntryHalfQwertyWesternPredictive methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateEntryHalfQwertyWesternPredictive.h"
-#include "AknFepUIManagerStateInterface.h"      //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"           //MAknFepManagerUIInterface
-#include "AknFepUiManagerWestern.h"
-#include "AknFepManager.h"
-#include "AknFepPanic.h"
-#include "AknFepCaseManager.h"
-
-#include <PtiEngine.h>              //CPtiEngine
-#include <PtiDefs.h>                //keys
-#include <PtiCompositionDataIF.h>   //MPtiEngineCompositionDataInterface
-#include <featmgr.h>                //FeatureManager
-#include <e32keys.h>
-#include <aknfep.rsg>
-#include <PtiUserDicEntry.h>
-// TODO: Remove this include
-#include <AvkonInternalCRKeys.h>
-#include <AknUtils.h>
-
-static const TInt KKeyMappingsLength = 63;
-
-////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-//
-TAknFepUiInputStateEntryHalfQwertyWesternPredictive::TAknFepUiInputStateEntryHalfQwertyWesternPredictive(MAknFepUIManagerStateInterface* aOwner)
-    :TAknFepInputStateBase(aOwner)
-    {
-    //this class insists on the existence of a case manager
-    __ASSERT_DEBUG(iOwner->CaseMan(), AknFepPanic(EAknFepPanicNoCaseManager));
-
-    iState = EEntry;
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    
-    ptiengine->SetInputMode( EPtiEngineHalfQwertyPredictive );
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-
-    TPtiTextCase caseMode = ptiengine->Case();
-
-    ptiengine->SetCase(caseMode);
-    TBool isUnlimitedEditor = EFalse;
-    ptiengine->SetMaxLengthForAutoCompletedCandidates(fepMan->EditorFreeSpaceForAutoWordCompletion(isUnlimitedEditor ));
-    
-	if(fepMan->IsAutoCompleteOn())
-	    {
-	    TRAP_IGNORE( ptiengine->HandleCommandL( EPtiCommandEnableAutoCompletion ) );
-	    }
-	else
-	    {
-	    TRAP_IGNORE( ptiengine->HandleCommandL( EPtiCommandDisableAutoCompletion ) );
-	    }
-	
-//	TPtiErrorCorrectionLevel correctionLevel = (TPtiErrorCorrectionLevel)fepMan->AdvancedPredictiveTypingCorrectionLevel();
-//	TRAP_IGNORE( ptiengine->HandleCommandL( EPtiCommandSetCorrectionLevel, &correctionLevel ) );	
-	
-	TPtiKeyboardType keyboard = fepMan->KeyboardLayout();
-	ptiengine->SetKeyboardType(keyboard);
-	
-
-//	TBool isNumberCandidateShown = fepMan->IsAdvancedPredictiveNumberCandidateShown();
-//	TRAP_IGNORE( ptiengine->HandleCommandL( EPtiCommandSetNumberCandidateStatus, &isNumberCandidateShown ) );
-//	
-//	TBool primaryCandidateState = fepMan->AdvancedPredictivePrimaryCandidate();
-//	TRAP_IGNORE( ptiengine->HandleCommandL( EPtiCommandSetProactiveCorrection, &primaryCandidateState ) );
-    }
-
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-//
-TBool TAknFepUiInputStateEntryHalfQwertyWesternPredictive::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-	
-	CAknFepFnKeyManager::TFnKeyState fnKeyState  = fepMan->FnKeyState();
-	
-	if(fnKeyState  != CAknFepFnKeyManager::EFnKeyNone)
-		{
-		ptiengine->SetCase(EPtiCaseFnLower);
-		}
-
-    // Handle the Chr cycling
-    if ( fepMan->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed) && aKey !=EKeyBackspace)
-        {
-        // if the key has no accented characters mapped to it, then just block the event
-		TBuf<KKeyMappingsLength> keyMappings; 
-    	ptiengine->MappingDataForKey( (TPtiKey)aKey, keyMappings, EPtiCaseChrLower );   
-		if( keyMappings.Length() == 0 )       	
-        	{
-        	return EFalse;
-        	}
-       // if there is a no matches indicator remove it 
-        if ( fepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction) && fepMan->IsFlagSet(CAknFepManager::EFlagNoMatches))
-             {
-             fepMan->TryRemoveNoMatchesIndicatorL();
-             fepMan->UpdateCbaL(NULL);
-             }	
-        // if there is an autocompletion part rip it off
-        fepMan->RemoveSuggestedAdvanceCompletionL();			        
-        
-        // now if the editor has no free space just return
-        if ( !fepMan->EditorHasFreeSpace() )
-            {
-            return EFalse;
-            }
-        // if we are in inline editing, break the word
-		if( fepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction) )
-			{                        
-			TPtrC selectedWord = ptiengine->CurrentWord();
-        	if( ptiengine->CurrentWord() != KNullDesC)
-        		{
-            	fepMan->UpdateInlineEditL( selectedWord, selectedWord.Length() );  //selection.iAnchorPosition
-        		ptiengine->CommitCurrentWord();	
-            	}
-        	fepMan->TryCloseUiL(); 
-			}
-            
-        if ( iData && (iData != aKey) )
-            {
-            // Chr key is still pressed down but character key was changed from previous one
-            // to new one. The previous character is committed and PtiEngine starts 
-            // processing new key.
-            ptiengine->CancelTimerActivity();            
-            }
-        fepMan->SetFlag( CAknFepManager::EFlagInsideMultitapInlineEditingTransaction );
-        }
-
-    TBool response = EFalse;
-
-
-    // Handle dead keys with space or backspace. These keys are not mapped in PtiEngine, so they cannot
-    // be handled there.
-/*    if ( ptiengine->HandleCommandL(EPtiCommandDeadKeyWaiting) == 1 )
-        {
-        if ( aKey == EStdKeyBackspace )
-            {
-            // Pending dead key is removed with backspace. No other characters are removed.
-            ptiengine->HandleCommandL(EPtiCommandGetAndClearDeadKeyRootChar);
-            response = ETrue;
-            }
-        else if ( aKey == EStdKeySpace )
-            {
-            // Dead key followed by space enters the dead key root character
-            TText deadRoot = ptiengine->HandleCommandL(EPtiCommandGetAndClearDeadKeyRootChar);
-            ptiengine->HandleCommandL( EPtiCommandAppendCharacter, &deadRoot );
-            
-            TPtrC newText = ptiengine->CurrentWord();
-            fepMan->UpdateInlineEditL( newText, newText.Length() );
-            iOwner->CaseMan()->UpdateCase(ENullNaviEvent);
-            
-            response = ETrue;
-            }
-        }		    
-*/
-    if (!response) // key not yet handled
-        {
-        switch (aKey)
-            {
-            case EStdKeySpace: 
-            	if( fepMan->FnKeyState() 
-            				== CAknFepFnKeyManager::EFnKeyNone )
-            		{
-            		response = HandleWordBreakingKeysL(aKey);            		
-            		}
-            	else
-            		{
-            		response = HandleQwertyKeysL( aKey, aLength);
-            		}	
-            	break;
-            case EStdKeyFullStop:
-            	if( aLength == ELongKeyPress )
-            		{
-            		// first commit the word if in inline editing
-					if( fepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction))
-						{ 
-						if (fepMan->IsFlagSet(CAknFepManager::EFlagNoMatches))
-							{
-							fepMan->TryRemoveNoMatchesIndicatorL();
-							fepMan->UpdateCbaL(NULL);
-							}
-					
-						TPtrC selectedWord = ptiengine->CurrentWord();
-			        	if( ptiengine->CurrentWord() != KNullDesC)
-			        		{
-			            	fepMan->UpdateInlineEditL( selectedWord, selectedWord.Length() );  //selection.iAnchorPosition			            	
-                            ptiengine->CommitCurrentWord();
-			            	}
-			        	fepMan->TryCloseUiL(); 
-						}
-            		response = EFalse;            		
-            		}
-            	else
-            		{
-            		HandleShiftState(aKey);
-            		response = HandleQwertyKeysL( aKey, aLength);
-            		}	
-            	break;
-            case EStdKeyEnter:
-            case EStdKeyTab:
-            case EStdKeyLeftArrow:
-            case EStdKeyRightArrow:
-            case EStdKeyUpArrow:
-            case EStdKeyDownArrow:
-                response = HandleWordBreakingKeysL(aKey);
-                break;
-                
-            // Long press of shift key start copy event.     
-            // Its should handle by framework.    
-            case EStdKeyF21:
-            case EKeyF21:
-            // Soft key handle by framework
-            // Selection key handle by AknFepManager.
-            case EStdKeyDevice0: // iCode:EKeyCBA1
-            case EStdKeyDevice1: //	iCode:EKeyCBA2
-            case EStdKeyDevice3: // iCode:EKeyOK
-            case EKeyCBA1:
-            case EKeyCBA2:
-            case EKeyOK:
-            	response = EFalse;
-            	break;
-
-            case EKeyUpArrow: 
-                if ( fepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction) )
-                    {
-                    // Select the exact match with the up arrow and lock it.
-                    // Another alternative could be to call function DoPreviousMatchL() from here
-                    
-                    TPtrC exactWord = ptiengine->FirstCandidate();
-                    ptiengine->HandleCommandL( EPtiCommandLockCurrentCandidate, NULL );
-                    
-                    fepMan->UpdateInlineEditL(exactWord, exactWord.Length());
-                    
-                    response = ETrue;
-                    break;
-                    }
-                    // fall through
-            case EKeyDownArrow:
-            case EKeyLeftArrow:
-            case EKeyRightArrow:
-            case EKeyBackspace:
-            	{
-                response = HandleNaviKeysL(aKey, aLength);
-            	}
-                break;
-            
-            case EStdKeyLeftShift:
-            case EStdKeyRightShift:
-            case EStdKeyLeftFunc:
-                {
-                if( EPtiCaseFnLower == fepMan->PtiEngine()->Case() )
-                    {
-                    if ( fepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction) )
-                        {
-                        fepMan->TryRemoveNoMatchesIndicatorL();
-                        }
-                    
-                    fepMan->UpdateCbaL(NULL);
-    
-                    /*if (fepMan->IsFlagSet(CAknFepManager::EFlagCompoundWord))
-                        { 
-                        if (fepMan->IsCursorAtEndOfWord())
-                            {
-                            fepMan->AddCompoundWordToUdbL();                
-                            }
-                        fepMan->ClearFlag(CAknFepManager::EFlagCompoundWord);
-                        }
-                        */
-    
-                    fepMan->RemoveSuggestedAdvanceCompletionL();
-                    ptiengine->CommitCurrentWord();
-                    fepMan->CommitInlineEditL();
-                    fepMan->TryCloseUiL();
-                    response = EFalse;
-                    }
-                }
-                break;
-                
-            default:
-                HandleShiftState(aKey);
-                response = HandleQwertyKeysL(aKey, aLength);
-#ifdef __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-                if ( aLength == ELongKeyPress )
-                    {
-                    // Expire multitap timer after long press. 
-                    ptiengine->CancelTimerActivity();
-                    }
-#endif // __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-                break;
-            }
-        }
-        
-    if ( aKey == EStdKeyEnter)
-        {
-        iData = 0;
-        return 0;
-        }
-        
-    if (!iOwner->PtiEngine()->IsValidKey((TPtiKey)aKey))
-        {     
-        iData = 0;
-        fepMan->ClearFlag(CAknFepManager::EFlagInsideMultitapInlineEditingTransaction);        
-        fepMan->PtiEngine()->CancelTimerActivity();
-                
-        return response;
-        }
-        
-        
-    iData = aKey; // store the pressed key for future reference
-    return response;
-    }
-
-
-//////////////////////////////////////////////////////////////////////////////////
-//
-void TAknFepUiInputStateEntryHalfQwertyWesternPredictive::HandleShiftState( TInt aKey )
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    CAknFepCaseManager* caseMan = iOwner->CaseMan();
-    CAknFepFnKeyManager::TFnKeyState fnKeyState  = fepMan->FnKeyState();
-    TPtiTextCase shiftedCase;
-    if(fnKeyState  != CAknFepFnKeyManager::EFnKeyNone)
-		{
-		shiftedCase = EPtiCaseFnLower;
-		}
-	else
- 		{
- 		shiftedCase= EPtiCaseLower;	
- 		}
-    
-    // Find out if the key is alphabetic
-    TBuf<KKeyMappingsLength> keyMappings; 
-    ptiengine->MappingDataForKey( (TPtiKey)aKey, keyMappings, EPtiCaseUpper );   
-    TBool isAlpha = ( keyMappings.Length() && TChar(keyMappings[0]).IsAlpha() );
-    
-    if (isAlpha && (fnKeyState  == CAknFepFnKeyManager::EFnKeyNone))
-        {
-        switch ( caseMan->CurrentCase() )
-            {
-            case EAknEditorTextCase:
-                {
-                // Alphabetic characters are always capitalized in "Abc" mode 
-                // unless the shift is pressed
-                if ( !fepMan->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode) )
-                    {
-                    shiftedCase = EPtiCaseUpper;
-                    }          
-                }
-            break;
-            
-            case EAknEditorLowerCase:
-                {
-                // Pressing shift enters uppercae letters in the "abc" mode
-                if ( fepMan->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode) )
-                    {
-                    shiftedCase = EPtiCaseUpper;
-                    }                
-                }
-            break;
-            
-            case EAknEditorUpperCase:
-                {
-                // In the "ABC" mode (capslock mode) the letters are uppercased
-                // unless the shift is pressed
-                if ( !fepMan->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode) )
-                    {
-                    shiftedCase = EPtiCaseUpper;
-                    }                
-                }
-            break;
-                
-            default:
-            break;
-            }
-
-        
-        }
-    else
-        {
-        // non-alphabetic keys are shifted if and only if shift is pressed, no matter what is the input state
-        if ( fepMan->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode) && (fnKeyState  == CAknFepFnKeyManager::EFnKeyNone))
-            {
-            shiftedCase = EPtiCaseUpper;
-            }
-        else if ( fepMan->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode) && (fnKeyState  != CAknFepFnKeyManager::EFnKeyNone))
-	        {
-			shiftedCase = EPtiCaseFnUpper;
-	        }    
-        }
-
-    
-    // Handle the Chr key state
-    if ( fepMan->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed) )
-        {
-        // Chr key is pressed down. Chr mode is used.
-        if (shiftedCase == EPtiCaseLower)
-            {
-            shiftedCase = EPtiCaseChrLower;
-            }
-        else if (shiftedCase == EPtiCaseUpper)
-            {
-            shiftedCase = EPtiCaseChrUpper;
-            }
-        }
-    
-    ptiengine->SetCase(shiftedCase);
-    
-    fepMan->ClearFlag(CAknFepManager::EFlagNoActionDuringShiftKeyPress);
-    }
-
-//////////////////////////////////////////////////////////////////////////////////
-//
-
-TBool TAknFepUiInputStateEntryHalfQwertyWesternPredictive::HandleWordBreakingKeysL(TInt aKey)
-    {
-    TBool retVal = EFalse; // in most cases we let also the upper levels handle these key events
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    
-
-    // Up and down arrows break the inline word input only when shift or chr is held down
-    if ( !fepMan->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed) &&
-         !fepMan->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode) &&
-         ( aKey==EStdKeyUpArrow || aKey==EStdKeyDownArrow ) )
-        {
-        return retVal;    
-        }
-
-
-    if ( fepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction) )
-        {
-        TBool rightToLeftLang = fepMan->IsRightToLeftLanguage();
-        TInt tailLength = 0;
-	    ptiengine->HandleCommandL( EPtiCommandGetAutoCompletionTailLength, &tailLength );
-        switch (aKey)
-            {
-            case EStdKeyLeftArrow:
-            case EStdKeyRightArrow:    
-            	// In case the inline editing is ongoing and there is a word completion
-                // currently shown, the first backwards tap will remove the suggested 
-                // completion. 
-                if(tailLength > 0)
-	                {
-	                if ((rightToLeftLang && aKey == EStdKeyLeftArrow) 
-	                	|| (! rightToLeftLang && aKey == EStdKeyRightArrow ))
-	                    {
-					    ptiengine->HandleCommandL( EPtiCommandLockCurrentCandidate);
-					    TPtrC selectedWord = ptiengine->CurrentWord();
-                        fepMan->UpdateInlineEditL( selectedWord, selectedWord.Length() );  //selection.iAnchorPosition
-                        // To fix the bug: STAA-7GYBJC Suggested word is not committed when Arrow right key is pressed.
-                        ptiengine->CommitCurrentWord();
-                        fepMan->TryCloseUiL();
-                        // Asyncronous case update after the editor has handled the key
-                		fepMan->SimulateKeyEventL(EKeyF19); 
-	                    retVal = ETrue;
-	                    }
-	                else if((rightToLeftLang && aKey == EStdKeyRightArrow) 
-	                	|| (! rightToLeftLang && aKey == EStdKeyLeftArrow )) 
-		                {
-	                    fepMan->RemoveSuggestedAdvanceCompletionL();
-	                    retVal = ETrue;
-		                }    	
-	                }
-                else
-	                {
-	                ptiengine->CommitCurrentWord();
-	                retVal = EFalse;
-	                }
-            	break;
-            case EStdKeyUpArrow:
-            case EStdKeyDownArrow:
-            case EStdKeyEnter:
-            case EStdKeySpace:
-            case EStdKeyTab:
-            {
-            	//retVal = ETrue;
-				
-				if ( ( aKey == EStdKeySpace || aKey == EStdKeyEnter ||aKey == EStdKeyTab)
-					 && fepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction) 
-					 && (fepMan->IsFlagSet(CAknFepManager::EFlagNoMatches)) )
-		            {
-		            fepMan->TryRemoveNoMatchesIndicatorL();
-		            fepMan->UpdateCbaL(NULL);
-		            }
-
-            	TBool wasInlineEditing = EFalse;	
-            	wasInlineEditing = fepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction);            	
-                ptiengine->CommitCurrentWord();
-                fepMan->CommitInlineEditL();
-                /* Temporary Fix */
-                //EFlagInsideInlineEditingTransaction flag check is not required
-                //but just to make sure.
-                if(aKey == EStdKeySpace && wasInlineEditing)
-                	{
-                	_LIT(KSpace," ");                
-	                fepMan->StartInlineEditL();
-	                fepMan->UpdateInlineEditL(KSpace,0);
-	                fepMan->CommitInlineEditL();
-                	retVal = ETrue;
-                	}                
-                /* Temporary Fix */
-                fepMan->TryCloseUiL();                
-                // Asyncronous case update after the editor has handled the key
-                fepMan->SimulateKeyEventL(EKeyF19); 
-            	}                
-            break;
-            default:
-                __ASSERT_DEBUG( EFalse, AknFepPanic(EAknFepPanicNotSupportKey) );
-            }
-
-        }
-    else
-        {
-        iOwner->ChangeState( EInitial );
-        }
-
-    return retVal;
-    }
-
-
-/////////////////////////////////////////////////////////////////////////////////
-//
-TBool TAknFepUiInputStateEntryHalfQwertyWesternPredictive::HandleQwertyKeysL(TInt aKey, TKeyPressLength aLength)
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-	TBool retVal = EFalse;
-    CAknFepCaseManager* caseMan = iOwner->CaseMan(); 
-    
-    CAknFepFnKeyManager::TFnKeyState fnKeyState  = fepMan->FnKeyState();
-    
-    // Key is consumed if the PtiEngine maps it to some character
-    TBuf<KKeyMappingsLength> keyMappings; 
-    
-    if(fnKeyState  != CAknFepFnKeyManager::EFnKeyNone)
-		{
-	    ptiengine->MappingDataForKey( (TPtiKey)aKey, keyMappings, EPtiCaseFnLower);
-		}
-	else
- 		{
-	    ptiengine->MappingDataForKey( (TPtiKey)aKey, keyMappings, EPtiCaseLower);   
- 		}
-    //ptiengine->MappingDataForKey( (TPtiKey)aKey, keyMappings, EPtiCaseLower);   
-    //ITI : Pti Engine can be asked to give the proper data for the keys under Fn Key.
-    TBool keyIsMapped = ( keyMappings.Length() > 0 );
-    
-    // The dead key handling inside the PtiDefaultCore assumes that no other key mapping queries
-    // have been made between handling the dead key and the next one (these queries change the
-    // internal state of the key mapping object). For this reason, we must return the key mappings
-    // to their previous state. This is quite dirty hack, but so is the dead key handling code which
-    // forces us to do this.
-    if(fnKeyState  != CAknFepFnKeyManager::EFnKeyNone)
-		{
-	    ptiengine->MappingDataForKey( (TPtiKey)iData, keyMappings, EPtiCaseFnLower);
-		}
-	else
- 		{
- 		ptiengine->MappingDataForKey( (TPtiKey)iData, keyMappings, EPtiCaseLower);
- 		}
- 		
-    if (fepMan->IsFlagSet(CAknFepManager::EFlagNoMatches) && fnKeyState  == CAknFepFnKeyManager::EFnKeyNone )            
-    	{
-    	//no matches, so just play tone
-        fepMan->PlaySound(EAvkonSIDConfirmationTone);   
-        return keyIsMapped;     
-        }  
-    
-    if ( keyIsMapped )
-        {
-       	if( fnKeyState  != CAknFepFnKeyManager::EFnKeyNone ) 
-        	{
-    	    //closing the UI will commit the current word and move to intial state
-	    
-        	// break the word    		
-        	if (fepMan->IsFlagSet(CAknFepManager::EFlagNoMatches))
-        	    {
-        	    fepMan->TryRemoveNoMatchesIndicatorL();
-        	    }
-        	fepMan->RemoveSuggestedAdvanceCompletionL();
-			TPtrC selectedWord = ptiengine->CurrentWord();
-            if( ptiengine->CurrentWord() != KNullDesC)
-            	{
-            	fepMan->UpdateInlineEditL( selectedWord, selectedWord.Length() );  //selection.iAnchorPosition
-        		ptiengine->CommitCurrentWord();	
-            	}
-            fepMan->TryCloseUiL(); 
-            ptiengine->SetCase(EPtiCaseFnLower);
-        	}
-        
-        if ( !(fepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction)) )
-            { // 'new' inline edit                        
-            ptiengine->ClearCurrentWord();
-            if (caseMan->CurrentCase() == EAknEditorTextCase)
-                {
-                ptiengine->MarkAutoCapitalized();    
-                }            
-            
-            fepMan->StartInlineEditL();
-            }
-            
-		TPtrC newText;
-        
-        if( aKey == EStdKeyFullStop )
-        	{
-        	TInt tailLength = 0;
-        	ptiengine->HandleCommandL( EPtiCommandLockCurrentCandidate, &tailLength );
-/*        	if( fepMan->IsAutoCompleteOn() )
-        		{
-                TInt tailLength = 0;
-                ptiengine->HandleCommandL( EPtiCommandGetAutoCompletionTailLength, &tailLength );
-                if( tailLength > 0)
-                    {
-                    // if autoword part is visible update the input sequence
-                    newText.Set(ptiengine->CurrentWord() );
-                    ptiengine->ClearCurrentWord();
-                    ptiengine->SetCurrentWord(newText);
-                    }
-                }*/
-        	}
-        	
-        newText.Set(ptiengine->AppendKeyPress((TPtiKey)aKey));
-        	
-        if ( aLength == EShortKeyPress )
-        	{
-        	SetShortKeyPressText(newText);
-        	}
-        if (ptiengine->NumberOfCandidates() > 0 )
-        	{
-                // more good words coming in from predictive text engine so carry on
-                if(newText.Length() == 1)
-           			{
-	            	TDigitType digittype = fepMan->LocalDigit();
-	                TChar chchar(newText[0]);
-	                if(!chchar.IsDigit() || (chchar.IsDigit() && !digittype))
-	                	{ 	
-	                	fepMan->UpdateInlineEditL(newText, newText.Length());    
-    	            	}
-	                else 
-	                	{
-	                	TBuf<1> tempbuf;
-	                	tempbuf.Append(newText[0]);
-		            	ConvertDigitToDigittype(digittype,tempbuf);
-		                fepMan->UpdateInlineEditL(tempbuf, tempbuf.Length());				                	
-	                	}
-	                if(fnKeyState  != CAknFepFnKeyManager::EFnKeyNone)	
-	                	{
-            			ptiengine->CommitCurrentWord();
-        				fepMan->CommitInlineEditL();	                	
-	                	}
-           			}
-           		else 
-           			{
-           			fepMan->UpdateInlineEditL(newText, newText.Length());	
-           			}
-           			
-        	}
-        	
-        else 
-                {
-                // engine has run out of matches 
-                // we are not in the functionized state
-                fepMan->SetFlag(CAknFepManager::EFlagRemoveMatchesMenuItem);                
-                fepMan->SetFlag(CAknFepManager::EFlagNoMatches);
-                fepMan->UpdateCbaL(R_AKNFEP_SOFTKEYS_SPELL_EMPTY);
-                if(newText.Length() == 1)
-           			{
-	            	TDigitType digittype = fepMan->LocalDigit();
-	                TChar chchar(newText[0]);
-	                if(!chchar.IsDigit() || (chchar.IsDigit() && !digittype))
-	                	{ 	
-	                	fepMan->UpdateInlineEditL(newText, newText.Length());    
-    	            	}
-	                else 
-	                	{
-	                	TBuf<1> tempbuf;
-	                	tempbuf.Append(newText[0]);
-		            	ConvertDigitToDigittype(digittype,tempbuf);
-		                fepMan->UpdateInlineEditL(tempbuf, tempbuf.Length());					                	
-	                	}
-           			}
-           		else 
-           			{
-           			// Remove the autocompletion tail if present
-                    if (fepMan->IsAutoCompleteOn())
-                        {
-                        TInt tailLength = 0;
-                        ptiengine->HandleCommandL( EPtiCommandGetAutoCompletionTailLength, &tailLength );
-                        if(tailLength > 0)
-                            {
-							// To remove the autocompletion part, the below function is used. 
-							// DeleteKeyPress was used earlier. This is removed to fix the bug :
-							// enter characters to show autocompletion part. Now press a 
-							// character so that the no matches character is shown. Now press
-                            // backspace key, last character is not deleted.
-                            fepMan->RemoveSuggestedAdvanceCompletionL();
-                            fepMan->PlaySound(EAvkonSIDConfirmationTone);
-                            return ETrue;
-                            }
-                        }
-           			fepMan->UpdateInlineEditL(newText, newText.Length());	
-           			}
-                fepMan->PlaySound(EAvkonSIDConfirmationTone);
-                }
-
-        // Normally we update the case after key press. However, if Chr key is held down, the case update
-        // must not happen until when the Chr is released or the timer expires (in both of these cases
-        // the function KeyTimerExpired() will get callled).         
-        if ( !fepMan->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed) )
-            {
-       	    iOwner->CaseMan()->UpdateCase(ENullNaviEvent);
-       	    }
-    	else
-            {
-            fepMan->ClearFlag(CAknFepManager::EFlagNoActionDuringChrKeyPress);
-            }
-       	
-        retVal = ETrue;
-        }
-    else
-        {
-        retVal = EFalse;
-        }
-        
-    if(ptiengine->IsValidKey((TPtiKey)aKey))
-       	retVal = ETrue;
-        
-    if( aKey!=EStdKeyBackspace && fnKeyState  != CAknFepFnKeyManager::EFnKeyNone)
-        {
-        retVal = ETrue;        
-        }
-	if( !fepMan->IsFlagSet( CAknFepManager::EFlagLongShiftKeyPress ) &&
-	    fnKeyState  == CAknFepFnKeyManager::EFnKeyNext ) 
-    	{
-       	fepMan->SetFnKeyState(CAknFepFnKeyManager::EFnKeyNone);
-       	}
-       	
-   	return retVal; 
-    }
-    
-
-////////////////////////////////////////////////////////////////////////////////////////////////////////////
-//
-TBool TAknFepUiInputStateEntryHalfQwertyWesternPredictive::HandleNaviKeysL(TInt aKey, TKeyPressLength /*aLength*/)
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-
-    if (!(fepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction)))
-        {
-        TBuf<CAknFepManager::EMaximumFepWordLength> textToUncommit;
-        TBool comsumeKey;
-        if (!(fepMan->TryGetTextToUncommitL(textToUncommit, aKey, comsumeKey)))
-            {
-            // If T9 word length > 32, the navi key is consumed without action.
-            // Maybe should navigate inside word.
-            return comsumeKey;
-            }
-        ptiengine->ClearCurrentWord();
-        ptiengine->SetCurrentWord(textToUncommit); // this set the input sequence of PtiEngine
-        fepMan->StartInlineEditL(fepMan->UncommittedText(), textToUncommit, 
-        						 textToUncommit.Length(), EFalse);
-        }
-
-    if (aKey == EKeyBackspace)
-        {
-        if (fepMan->IsFlagSet(CAknFepManager::EFlagNoMatches))
-            {
-            fepMan->TryRemoveNoMatchesIndicatorL();
-            fepMan->UpdateCbaL(NULL);
-            ptiengine->HandleCommandL(EPtiCommandSetFlagToUpdateCandidates);         
-            // Need to return as DeleteKeyPress should not be passed to ptiengine.
-            // This is because ptiengine does not maintain the input sequence
-            // if the key press does not increase the word length. So when no matches
-            // character is (?) is deleted, no need to pass to ptiengine. This is to done
-            // to solve the bug :enter characters till the no matches character is shown. Now press
-            // backspace, last character is not deleted.
-            return ETrue;
-            }
-        
-        TPtrC newText = ptiengine->DeleteKeyPress();
-        // remove autocompletion part if any
-		// this has to be done before updateinlineedit to avoid flickering
-        TInt tailLength = 0;
-        ptiengine->HandleCommandL( EPtiCommandGetAutoCompletionTailLength, 
-                                            &tailLength );
-        if(tailLength > 0)
-            {
-            fepMan->RemoveSuggestedAdvanceCompletionL();
-            newText.Set(ptiengine->CurrentWord());
-            }
-        fepMan->UpdateInlineEditL(newText, newText.Length());
-
-		fepMan->ClearFlag(CAknFepManager::EFlagRemoveMatchesMenuItem);           
-        if (ptiengine->NumberOfCandidates() <= 1)
-        	{
-			fepMan->SetFlag(CAknFepManager::EFlagRemoveMatchesMenuItem);           	
-        	}
-
-        iOwner->CaseMan()->UpdateCase(EBackspaceEvent);
-        fepMan->ClearFlag(CAknFepManager::EFlagNoActionDuringChrKeyPress);   
-        fepMan->CloseUiIfWordDeletedL();
-        }
-    
-    return ETrue;
-    }
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-void TAknFepUiInputStateEntryHalfQwertyWesternPredictive::LastWordInSelectionList()
-    {
-
-    }
-
-
-//////////////////////////////////////////////////////////////////////////////
-//
-void TAknFepUiInputStateEntryHalfQwertyWesternPredictive::FirstWordInSelectionList()
-    {   
-    }
-
-
-/////////////////////////////////////////////////////////////////
-//
-void TAknFepUiInputStateEntryHalfQwertyWesternPredictive::KeyTimerExpired()
-    {
-    if (iData)
-        {
-        MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-        CAknFepCaseManager* caseMan = iOwner->CaseMan(); 
-        caseMan->UpdateCase(ENullNaviEvent); 
-        fepMan->ClearFlag( CAknFepManager::EFlagInsideMultitapInlineEditingTransaction );
-        iData = 0;
-        }
-    }
-   
-void TAknFepUiInputStateEntryHalfQwertyWesternPredictive::ConvertDigitToDigittype(TDigitType& digittype,TDes& aConvertedNumeral)
-	{
-	TChar chchar(aConvertedNumeral[0]);
-	switch(digittype)
-    	{
-    	case EDigitTypeDevanagari:
-        	{
-        	chchar = (aConvertedNumeral[0] + KLatinToDevanagariDigitsDelta);
-	    	}
-        	break;	
-        case EDigitTypeArabicIndic:
-            {
-        	chchar = (aConvertedNumeral[0] + KLatinToArabicIndicDigitsDelta);
-	        }
-            break;
-    	case EDigitTypeEasternArabicIndic:
-        	{
-        	chchar = (aConvertedNumeral[0] + KLatinToEasternArabicIndicDigitsDelta);
-        	}
-    	}
-    aConvertedNumeral.Zero();
-    aConvertedNumeral.Append(chchar);
-	}
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateEntryHiraganaKanji.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,230 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the TAknFepUiInputStateEntryHiraganaKanji methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include "AknFepUiInputStateEntryHiraganaKanji.h"
-#include "AknFepUIManagerStateInterface.h"   // MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"        // MAknFepManagerUIInterface
-#include "AknFepGlobalEnums.h"
-
-#include <PtiDefs.h>                     // keys
-#include <PtiEngine.h>
-#include <PtiCompositionDataIF.h>        // MPtiEngineCompositionDataInterface
-#include <aknfep.rsg>
-
-// CONSTANTS
-
-/**
- *  TAknFepUiInputStateEntryHiraganaKanji class.
- *
- */
-
-//============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateEntryHiraganaKanji::TAknFepUiInputStateEntryHiraganaKanji
-// Constractor
-// ---------------------------------------------------------------------------
-//
-
-TAknFepUiInputStateEntryHiraganaKanji::TAknFepUiInputStateEntryHiraganaKanji(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerJapanese* aUIContainer)
-    :TAknFepUiInputStateEntryJapaneseMultitap(aOwner, aUIContainer)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateEntryHiraganaKanji::InitializeStateL
-// Initialize State
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStateEntryHiraganaKanji::InitializeStateL()
-    {
-    // Set on Underline visibility in inline editing
-    iOwner->SetInlineEditUnderlineVisibility(ETrue);
-
-    // Update of CBA
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    TInt newResource = R_AKNFEP_SOFTKEYS_PREDICT_OTHER_COMMIT;
-    if(!fepMan->IsAbleToChangePrediction())
-        {
-        newResource = R_AKNFEP_SOFTKEYS_EMPTY_OTHER_COMMIT;
-        }
-
-    fepMan->UpdateCbaL(newResource);
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateEntryHiraganaKanji::HandleNaviKeyL
-// Handling Navigate keypress event
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateEntryHiraganaKanji::HandleNaviKeyL(TInt aKey,
-                                                            TKeyPressLength /*aLength*/)
-    {
-    TBool ret = EFalse;
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    TPtiEngineCommand ptiCommand = EPtiCommandNone;
-
-    switch(aKey)
-        {
-        case EKeyLeftArrow:
-        case EStdKeyLeftArrow:      /* 0x0e */
-            {
-            fepMan->SetInlineEditingCursorVisibilityL(ETrue);
-            ptiCommand = EPtiCommandUserActionLeft;
-            }
-            break;
-        case EKeyRightArrow:
-        case EStdKeyRightArrow:     /* 0x0f */
-            {
-            fepMan->SetInlineEditingCursorVisibilityL(ETrue);
-            ptiCommand = EPtiCommandUserActionRight;
-            }
-            break;
-        case EKeyDownArrow:
-        case EStdKeyDownArrow:      /* 0x11 */
-        case EStdKeySpace:
-            {
-            ptiCommand = EPtiCommandUserActionConvert;
-            }
-            break;
-        case EKeyUpArrow:
-        case EStdKeyUpArrow:        /* 0x10 */
-            {
-            ptiCommand = EPtiCommandUserActionPrevious;
-            }
-            break;
-        default:
-            break;
-        }
-    ptiEngine->HandleCommandL(ptiCommand);
-    UpdateInlineEditingCharacterL();
-    const MPtiEngineCompositionDataInterface* data = ptiEngine->CompositionData();
-    TPtrC text = data->ConvertingString();
-    if (text.Length() > 0)
-        {
-        switch(aKey)
-            {
-            case EKeyDownArrow:
-            case EStdKeyDownArrow:      /* 0x11 */
-            case EKeyUpArrow:
-            case EStdKeyUpArrow:        /* 0x10 */
-            case EStdKeySpace:
-                {
-                iOwner->ChangeState(EConversion);
-                // Set OFF Cursor unvisibility
-                fepMan->SetInlineEditingCursorVisibilityL(EFalse);
-                }
-                break;
-            default:
-                break;
-            }
-        ret = ETrue;
-        }
-
-    return ret;
-    }
-
-
-TBool TAknFepUiInputStateEntryHiraganaKanji::HandleNumericShortKeyL(TInt aKey)
-    {
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    const MPtiEngineCompositionDataInterface* data = ptiEngine->CompositionData();
-    TPtrC text = data->ConvertingString();
-    TBool ret = EFalse;
-
-    if (aKey == EStdKeySpace
-     && text.Length() > 0)
-        {
-        ret = HandleNaviKeyL(aKey, EShortKeyPress);
-        }
-    else
-        {
-        ret = TAknFepUiInputStateEntryJapaneseMultitap::HandleNumericShortKeyL(aKey);
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateEntryHiraganaKanji::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStateEntryHiraganaKanji::
-    HandleCommandL(TInt aCommandId)
-    {
-    switch (aCommandId)
-        {
-        case EAknFepSoftkeyOtherModes:
-            {
-            // Change the status to Retroactive input
-            iOwner->ChangeState(ECandidateRetroActive);
-            }
-            break;
-        case EAknFepSoftkeyPredictiveOn:
-            {
-            MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-            CPtiEngine* ptiEngine = iOwner->PtiEngine();
-
-            // Update of inline editing characters
-            const MPtiEngineCompositionDataInterface* data = ptiEngine->CompositionData();
-            TPtrC text = data->CompletedString();
-            TPtrC text2 = data->ConvertingString();
-            if (text.Length() >0)
-                {
-                iOwner->ChangeState(EMultiCompletion);
-                fepMan->CommitInlineEditL(text, text.Length());
-                if (fepMan->EditorHasFreeSpace())
-                    {
-                    iOwner->ChangeState(ENextWord);
-                    }
-                else
-                    {
-                    CloseUI();
-                    iOwner->ChangeState(EInitial);
-                    }
-                }
-            else if (text2.Length() > 0)
-                {
-                // Change to ConversionState
-                iOwner->ChangeState(EPredictiveInput);
-                fepMan->UpdateInlineEditL(text2, text2.Length());
-                }
-            }
-            break;
-        default:
-            TAknFepUiInputStateEntryJapaneseMultitap::HandleCommandL(aCommandId);
-            break;
-        }
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateEntryIndicPredictive.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:            Provides the TAknFepInputStateEntryIndicPredictive Method.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateEntryIndicPredictive.h"
-#include "AknFepUIManagerStateInterface.h"      //MAknFepUIManagerStateInterface
-#include "AknFepPanic.h"
-#include "AknFepManagerUIInterface.h"
-#include <aknfep.rsg>
-#include <PtiEngine.h>
-#include <PtiDefs.h>
-
-// -----------------------------------------------------------------------------
-// TAknFepInputStateEntryIndicPredictive::TAknFepInputStateEntryIndicPredictive
-
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-
-TAknFepInputStateEntryIndicPredictive::
-TAknFepInputStateEntryIndicPredictive( MAknFepUIManagerStateInterface* aOwner, 
-                                       TLanguage /*aLanguage*/ )
-    :TAknFepInputStateEntryWesternPredictive( aOwner )
-    {
-  	}
-
-void TAknFepInputStateEntryIndicPredictive::LastWordInSelectionList()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-
-    if (iMatchState != EWordMatchAfterLast)
-        {
-        TRAP_IGNORE(fepMan->UpdateCbaL(R_AKNFEP_SOFTKEYS_SPELL_PREVIOUS));
-        iMatchState = EWordMatchLast;
-        }
-    }
-
-// End of File
--- a/fep/aknfep/src/AknFepUiInputStateEntryJapaneseMultitap.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,333 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the TAknFepUiInputStateEntryJapaneseMultitap methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include "AknFepUiInputStateEntryJapaneseMultitap.h"
-#include "AknFepUIManagerStateInterface.h"   // MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"        // MAknFepManagerUIInterface
-#include "AknFepGlobalEnums.h"
-#include "AknFepManager.h"
-#include "AknFepUICtrlCandidatePaneInterface.h" // MAknFepUICtrlCandidatePaneInterface
-
-#include <PtiDefs.h>                    // keys
-#include <PtiEngine.h>
-#include <PtiCompositionDataIF.h>       // MPtiEngineCompositionDataInterface
-
-// CONSTANTS
-const TText KAknFEPLineFeedSymbol = 0x21B2;
-const TText KAknFEPMirroredLineFeedSymbol = 0x21B3;
-
-/**
- *  TAknFepUiInputStateEntryJapaneseMultitap class.
- *
- */
-
-//============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateEntryJapaneseMultitap::
-//                                  TAknFepUiInputStateEntryJapaneseMultitap
-// C++ default Constructor
-// ---------------------------------------------------------------------------
-//
-TAknFepUiInputStateEntryJapaneseMultitap::
-    TAknFepUiInputStateEntryJapaneseMultitap(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerJapanese* aUIContainer)
-    :TAknFepUiInputStateJapaneseBase(aOwner, aUIContainer)
-    {
-    iState = EEntry;
-    }
-
-/**
- * MPtiObserver interface.
- */
-//============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateEntryJapaneseMultitap::KeyTimerExpired
-// Call this function when Multitap timer of PtiEngine was time-out
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStateEntryJapaneseMultitap::KeyTimerExpired()
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    const MPtiEngineCompositionDataInterface* data = ptiEngine->CompositionData();
-    TPtrC text = data->CompletedString();
-
-    if (text.Length() > 0)
-        {
-        iOwner->ChangeState(EMultiCompletion);
-        fepMan->ClearFlag(CAknFepManager::EFlagInsideMultitapInlineEditingTransaction);
-        TRAP_IGNORE(fepMan->CommitInlineEditL());
-        iOwner->ChangeState(EInitial);
-        }
-    else
-        {
-        TPtrC text2 = data->ConvertingString();
-        TInt cursorpos = data->CursorPosition();
-        if (text2.Length() > 0)
-            {
-            if (text2[0] == KAknFEPLineFeedSymbol
-             || text2[0] == KAknFEPMirroredLineFeedSymbol)
-                {
-                iOwner->ChangeState(EInitial);
-                }
-            else
-                {
-                // Set on cursor visibility in inline editing
-                TRAPD(err, fepMan->SetInlineEditingCursorVisibilityL(ETrue));
-                if (err == KErrNone)
-                    {
-                    TRAP(err, fepMan->UpdateInlineEditL(text2, cursorpos));
-                    }
-                if (err != KErrNone)
-                    {
-                    TRAP_IGNORE(iOwner->FepMan()->SimulateKeyEventL(EKeyEscape, ETrue));
-                    }
-                }
-            }
-        }
-    }
-
-/**
- *  TAknFepUiInputStateEntryJapaneseMultitap class.
- *
- */
-//============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateEntryJapaneseMultitap::InitializeStateL
-// Initialize State
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStateEntryJapaneseMultitap::InitializeStateL()
-    {
-    iOwner->SetInlineEditUnderlineVisibility(EFalse);
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateEntryJapaneseMultitap::HandleNumericShortKeyL
-// HHandling short keypress events of the numeric and the star.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateEntryJapaneseMultitap::HandleNumericShortKeyL(TInt aKey)
-    {
-    TBool cursorVisibility = EFalse;
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    TBool ret = EFalse;
-    if (aKey == EPtiKeyStar)
-        {
-        cursorVisibility = ETrue;
-        }
-    fepMan->SetInlineEditingCursorVisibilityL(cursorVisibility);
-    ptiEngine->AppendKeyPress((TPtiKey)aKey);
-    ret = UpdateInlineEditingCharacterL();
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateEntryJapaneseMultitap::HandleNumericLongKeyL
-// Handling Numeric long keypress event
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateEntryJapaneseMultitap::HandleNumericLongKeyL(TInt /*aKey*/)
-    {
-    iOwner->ChangeState(EMultiCompletion);
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateEntryJapaneseMultitap::HandleNaviKeyL
-// Handling navigate keypress event
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateEntryJapaneseMultitap::HandleNaviKeyL(TInt /*aKey*/,
-                                                               TKeyPressLength /*aLength*/)
-    {
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    TBool ret = EFalse;
-
-    ptiEngine->HandleCommandL(EPtiCommandUserActionComplete);
-    ret = UpdateInlineEditingCharacterL();
-
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateEntryJapaneseMultitap::HandleAuxKeyL
-// Handling auxiliary keypress events including OK and Backspace
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateEntryJapaneseMultitap::HandleAuxKeyL(TInt aKey,
-                                                              TKeyPressLength /*aLength*/)
-    {
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    TBool ret = EFalse;
-
-    switch(aKey)
-        {
-        case EKeyBackspace:
-        case EStdKeyBackspace:      /* 0x01 */
-            {
-            MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-            fepMan->SetInlineEditingCursorVisibilityL(ETrue);
-            ptiEngine->DeleteKeyPress();
-            ret = UpdateInlineEditingCharacterL();
-            }
-            break;
-        case EKeyOK:
-        case EStdKeyDevice3:        /* 0xA7 */
-        case EStdKeyEnter:          /* 0x03 */
-        case EStdKeyNkpEnter:       /* 0x88 */
-            {
-            iOwner->ChangeState(EMultiCompletion);
-            }
-            break;
-        default:
-            break;
-        }
-
-
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateEntryJapaneseMultitap::UpdateInlineEditingCharacterL
-// Update inline editing string
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateEntryJapaneseMultitap::UpdateInlineEditingCharacterL()
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    TBool ret = EFalse;
-
-    if (!CommitInlineEditingCharacterL())
-        {
-        const MPtiEngineCompositionDataInterface* data = ptiEngine->CompositionData();
-        TPtrC text = data->ConvertingString();
-        TInt cursorpos = data->CursorPosition();
-        if (text.Length() > 0)
-            {
-            if (State() == EConversion
-             || State() == ECandidate
-             || State() == ECandidateRetroActive
-             || State() == EPredictiveInput)
-            	{
-	            if (data->NumberOfPhrase() > 0)
-	                {
-	                TPtrC8 clauseChar = data->LengthOfPhrase();
-	                cursorpos = clauseChar[0];
-	                }
-            	}
-            fepMan->UpdateInlineEditL(text, cursorpos);
-            }
-        else
-            {
-            __ASSERT_DEBUG(text.Length() == 0,
-                RDebug::Print(
-                   _L("In TAknFepUiInputStateEntryJapaneseMultitap::UpdateInlineEditingCharacterL,\nINVALID DATA: ConvertingString. Roll back to initial State!")));
-            ptiEngine->ClearCurrentWord();
-            fepMan->CancelInlineEdit();
-            iOwner->ChangeState(EInitial);
-            }
-        ret = ETrue;
-        }
-
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateEntryJapaneseMultitap::CommitInlineEditingCharacterL
-// Commit inline editing string
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateEntryJapaneseMultitap::CommitInlineEditingCharacterL()
-    {
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    TBool ret = EFalse;
-    const MPtiEngineCompositionDataInterface* data = ptiEngine->CompositionData();
-    TPtrC text = data->CompletedString();
-    if (text.Length() > 0)
-        {
-        iOwner->ChangeState(EMultiCompletion);
-        ret = ETrue;
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStatePredictiveInputJapanese::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStateEntryJapaneseMultitap::
-    HandleCommandL(TInt aCommandId)
-    {
-    if(aCommandId == EAknFepSoftkeyCommit)
-        {
-        CPtiEngine* ptiEngine = iOwner->PtiEngine();
-        const MPtiEngineCompositionDataInterface* data = ptiEngine->CompositionData();
-        TPtrC textConv = data->ConvertingString();
-        TPtrC textComp = data->CompletedString();
-        MAknFepUICtrlCandidatePaneInterface* candidatePane =
-            UIContainer()->CandidatePane(MAknFepUICtrlContainerJapanese::
-                                         EJapaneseCandidatePane);
-        TInt curr = candidatePane->CurrentItemIndexOfCandidate();
-        if (curr > -1)
-            {
-            TInt old = 0;
-            ptiEngine->HandleCommandL(EPtiCommandUserActionGetCurrentIndexOfCandidates, &old);
-            while(curr > old)
-                {
-                ++old;
-                ptiEngine->HandleCommandL(EPtiCommandUserActionConvert);
-                }
-            while(curr < old)
-                {
-                --old;
-                ptiEngine->HandleCommandL(EPtiCommandUserActionPrevious);
-                }
-            }
-        candidatePane->HideWindow();
-        if (textConv.Length() > 0 || textComp.Length() > 0)
-            {
-            iOwner->ChangeState(EMultiCompletion);
-            }
-        else
-            {
-            iOwner->ChangeState(EInitial);
-            }
-        }
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateEntryKatakana.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the TAknFepUiInputStateEntryKatakana methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include "AknFepUiInputStateEntryKatakana.h"
-#include "AknFepUIManagerStateInterface.h"   // MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"        // MAknFepManagerUIInterface
-#include "AknFepGlobalEnums.h"
-
-#include <PtiDefs.h>                     // keys
-#include <PtiEngine.h>
-#include <PtiCompositionDataIF.h>        // MPtiEngineCompositionDataInterface
-#include <avkon.rsg>
-
-// CONSTANTS
-
-/**
- *  TAknFepUiInputStateEntryKatakana class.
- * 
- */
-//============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateEntryKatakana::
-//                                  TAknFepUiInputStateEntryKatakana
-// C++ default Constructor
-// ---------------------------------------------------------------------------
-//
-TAknFepUiInputStateEntryKatakana::TAknFepUiInputStateEntryKatakana(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerJapanese* aUIContainer)
-    :TAknFepUiInputStateEntryJapaneseMultitap(aOwner, aUIContainer)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateEntryKatakana::InitializeStateL
-// Initialize State
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStateEntryKatakana::InitializeStateL()
-    {
-    // In case of Katakana and Hiragana input, underline and highlight aren't always shown.
-    iOwner->SetInlineEditUnderlineVisibility(EFalse);
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateEntryKatakana::HandleNumericShortKeyL
-// Handling short keypress events of the numeric and the star.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateEntryKatakana::HandleNumericShortKeyL(TInt aKey)
-    {
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    TBool ret = EFalse;
-    if (aKey == EPtiKeyStar)
-        {
-        iOwner->FepMan()->SetInlineEditingCursorVisibilityL(ETrue);
-        }
-    ptiEngine->AppendKeyPress((TPtiKey)aKey);
-
-	if ( iOwner->IsQwerty() )
-		{
-		const MPtiEngineCompositionDataInterface* data = ptiEngine->CompositionData();
-		TPtrC text = data->CompletedString();
-		// In case of Katakana and Hiragana transitory input,
-		// underline and highlight are shown.
-		iOwner->SetInlineEditUnderlineVisibility(
-				(text.Length() > 0)? EFalse : ETrue);
-		}
-	else
-		{
-		// In case of Katakana and Hiragana input, underline and highlight aren't always shown .
-		iOwner->SetInlineEditUnderlineVisibility( EFalse );
-		}
-
-    ret = UpdateInlineEditingCharacterL();
-    return ret;
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateEntryLatinJapanese.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,254 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the TAknFepUiInputStateEntryLatinJapanese methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include "AknFepUiInputStateEntryLatinJapanese.h"
-#include "AknFepUIManagerStateInterface.h"   // MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"        // MAknFepManagerUIInterface
-#include "AknFepCaseManager.h"               // CAknFepCaseManager
-#include "AknFepManager.h"
-#include "AknFepGlobalEnums.h"
-
-#include <PtiEngine.h>
-#include <PtiCompositionDataIF.h>        // MPtiEngineCompositionDataInterface
-
-// CONSTANTS
-
-/**
- *  TAknFepUiInputStateEntryLatinJapanese class.
- *
- */
-//============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateEntryLatinJapanese::
-//                                  TAknFepUiInputStateEntryLatinJapanese
-// Default constructor
-// ---------------------------------------------------------------------------
-//
-TAknFepUiInputStateEntryLatinJapanese::TAknFepUiInputStateEntryLatinJapanese(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerJapanese* aUIContainer)
-    :TAknFepUiInputStateEntryJapaneseMultitap(aOwner, aUIContainer)
-    {
-    }
-
-/**
- * MPtiObserver interface.
- */
-//============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateEntryLatinJapanese::KeyTimerExpired
-// Call this function when Multitap timer of PtiEngine was time-out
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStateEntryLatinJapanese::KeyTimerExpired()
-    {
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    const MPtiEngineCompositionDataInterface* data = ptiEngine->CompositionData();
-    TPtrC text = data->CompletedString();
-    if (text.Length() > 0)
-        {
-        MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-
-        if (fepMan->IsSupportsSecretText()
-         && fepMan->IsFlagSet(CAknFepManager::EFlagInsideMultitapInlineEditingTransaction))
-            {
-            TRAP_IGNORE(fepMan->CommitInlineEditL());
-            // Update case without Qwerty
-            if (!iOwner->IsQwerty())
-                {
-                UpdateCase(text);
-                }
-            }
-        else
-            {
-            iOwner->ChangeState(EMultiCompletion);
-            // Update case without Qwerty
-            if (!iOwner->IsQwerty())
-                {
-                UpdateCase(text);
-                }
-
-            // Commit a character
-            TRAP_IGNORE(iOwner->FepMan()->CommitInlineEditL(text, text.Length()));
-
-            // Update case with Qwerty
-            if (iOwner->IsQwerty())
-                {
-                CAknFepCaseManager* caseMan = iOwner->CaseMan();
-                caseMan->UpdateCase(ENullNaviEvent);
-                }
-            }
-        }
-    iData = 0;
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    ptiengine->ClearCurrentWord();
-    iOwner->ChangeState(EInitial);
-   }
-
-/**
-*  TAknFepUiInputStateEntryLatinJapanese class.
-*
-*/
-//============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateEntryLatinJapanese::HandleNumericShortKeyL
-// Handling short keypress events of the numeric and the star.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateEntryLatinJapanese::HandleNumericShortKeyL(TInt aKey)
-    {
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    TBool ret = EFalse;
-
-    if (iData && iData != aKey)
-        {
-        if (!iOwner->IsQwerty()
-         && iOwner->FepMan()->IsSupportsSecretText()
-         && fepMan->IsFlagSet(CAknFepManager::EFlagInsideMultitapInlineEditingTransaction))
-            {
-            const MPtiEngineCompositionDataInterface* data = ptiEngine->CompositionData();
-            TPtrC text = data->ConvertingString();
-            if (text.Length() > 0)
-                {
-                fepMan->CommitInlineEditL();
-                if (!iOwner->IsQwerty())
-                    {
-                    UpdateCase(text);
-                    }
-                }
-            ptiEngine->ClearCurrentWord();
-            iOwner->ChangeState(EInitial);
-            iData = 0;
-            ret = EFalse;
-            }
-        else
-            {
-            ptiEngine->HandleCommandL(EPtiCommandUserActionComplete);
-            iOwner->ChangeState(EMultiCompletion);
-            }
-        }
-    else
-        {
-        iData = aKey;
-
-        const MPtiEngineCompositionDataInterface* previousData = ptiEngine->CompositionData();
-        TChar previousChar = 0;
-        TPtrC previousText(previousData->ConvertingString());
-        if (previousText.Length() > 0)
-            {
-            previousChar = previousText[0];
-            }
-
-        // Append a key to PtiEngine
-        ptiEngine->AppendKeyPress((TPtiKey)aKey);
-
-        const MPtiEngineCompositionDataInterface* data = ptiEngine->CompositionData();
-        TPtrC text(data->ConvertingString());
-        if (text.Length() > 0)
-            {
-            TChar ch = text[0];
-            TBool validNewCandidate = fepMan->CharIsValidInEditor(ch);
-            // Check if the character is valid for the editor.
-            if ( !validNewCandidate )
-                {
-                TChar firstNewCandidate = ch;
-                TBool goneThroughAllCandidates(EFalse);
-                TPtrC8 sequence = ptiEngine->CurrentInputSequence();
-
-                if ( sequence.Length() )
-                    {
-                    TPtiKey key = (TPtiKey)sequence[0];
-
-                    // Go through candidates and check if valid characters are found.
-                    do  {
-                        TPtrC text = ptiEngine->AppendKeyPress(key);
-                        ch = text[0];
-                        goneThroughAllCandidates = (ch == firstNewCandidate);
-                        validNewCandidate = fepMan->CharIsValidInEditor(ch);
-                        }
-                    while (!validNewCandidate && !goneThroughAllCandidates);
-                    }
-
-                if (!validNewCandidate)
-                    {
-                    // No valid characters at all.
-                    ptiEngine->DeleteKeyPress();
-                    iOwner->ChangeState(EMultiCompletion);
-                    ptiEngine->HandleCommandL(EPtiCommandUserActionComplete);
-                    iOwner->FepMan()->CommitInlineEditL();
-                    ptiEngine->ClearCurrentWord();
-                    iOwner->ChangeState(EInitial);
-                    return ETrue;
-                    }
-                else if (ch == previousChar)
-                    {
-                    // The valid key loop count is 1.
-                    // The current characters are committed, and send the same key again.
-                    iOwner->ChangeState(EMultiCompletion);
-                    ptiEngine->HandleCommandL(EPtiCommandUserActionComplete);
-                    iOwner->FepMan()->CommitInlineEditL();
-                    ptiEngine->ClearCurrentWord();
-                    iOwner->ChangeState(EInitial);
-                    iOwner->FepMan()->SimulateKeyEventL(aKey, ETrue);
-                    return ETrue;
-                    }
-                }
-            }
-
-        ret = UpdateInlineEditingCharacterL();
-        // Qwerty input without Secret input mode is continuing to Comleteion.
-        if (ret && iOwner->IsQwerty())
-            {
-            if (iOwner->FepMan()->IsSupportsSecretText()
-             || iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagPassNextKey))
-                {
-                iOwner->ChangeState(EMultiCompletion);
-                ptiEngine->HandleCommandL(EPtiCommandUserActionComplete);
-                iOwner->FepMan()->CommitInlineEditL();
-                ptiEngine->ClearCurrentWord();
-                iOwner->ChangeState(EInitial);
-                ret = ETrue;
-                }
-            else
-                {
-                // Qwerty need to change status
-                ptiEngine->HandleCommandL(EPtiCommandUserActionComplete);
-                iOwner->ChangeState(EMultiCompletion);
-                ret = EFalse;
-                }
-            }
-        }
-    return ret;
-    }
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateEntryMiniQwertyZhuyinPhrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1010 +0,0 @@
-/*
-* Copyright (c) 2004 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:           
- *       Provides the CAknFepUIInputStateMiniQwertyZhuyinPhrase methods.
- *
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateEntryMiniQwertyZhuyinPhrase.h"
-#include "AknFepUIManagerStateInterface.h"
-
-#include "AknFepUICtrlInputPane.h"
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-#include "AknFepManager.h"                  //FepMan flag
-#include "AknFepUICtrlPinyinPopup.h"		//Pinyin phrase
-#include "aknfepuictrleditpane.h"           //phrase creation
-#include "aknfepinputstateminiqwertyzhuyinkeymap.h"  //phrase creation
-#include <PtiEngine.h>
-#include <e32keys.h>
-#include <PtiDefs.h>    
-#include <avkon.rsg>            //keys
-#include <aknfep.rsg>
-
-const TInt KInputPaneLength = 32;
-_LIT(KSep, "'");
-_LIT(KReplace, "");
-_LIT(KLeftBracket, "(");
-_LIT(KRightBracket, ")");
-const TText KPinyinTone4Valid = 0x02D9;
-const TText KPinyinTone4Invalid = 0x0020;
-const TInt KMaxKeystrokeCount = 31;
-const TInt KKeystrokeMaxLength =5;
-const TInt KKeyBufferMaxLength =150;
-
-const TUint16 KSai = 0x311D;
-const TUint16 KToneMark1 = 0x0020;
-const TUint16 KToneMark2 = 0x02CA;
-const TUint16 KToneMark3 = 0x02c7;
-const TUint16 KToneMark4 = 0x02CB;
-const TUint16 KToneMark5 = 0x02D9;
-
-struct TToneZhuYinMap
-    {
-    TUint16 iValue;
-    TInt iInputTone;
-    };
-const TToneZhuYinMap ZhuyinToneMap[] =
-    {
-        {
-        KToneMark1, 1
-        },
-        {
-        KToneMark2, 2
-        },
-        {
-        KToneMark3, 3
-        },
-        {
-        KToneMark4, 4
-        },
-        {
-        KToneMark5, 5
-        }
-    };
-
-const TInt KMaxPhraseCount = 150;//This should be the same as that in pticpicore. 
-
-_LIT( KZhuyinNote,"\x9020\x65B0\x8BCD" );
-
-TAknFepInputStateEntryMiniQwertyZhuyinPhrase::TAknFepInputStateEntryMiniQwertyZhuyinPhrase(
-    MAknFepUIManagerStateInterface* aOwner,
-    MAknFepUICtrlContainerChinese* aUIContainer ) :
-    TAknFepInputStateEntryQwertyBaseChinesePhrase( aOwner, aUIContainer)
-    {
-    iState = EEntry;
-
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    uiContainer->FocusCandidatePane( EFalse );
-    uiContainer->CandidatePane()->ShowCandidateOrdinals( EFalse );
-    uiContainer->SetLayout( MAknFepUICtrlContainerChinese::ELayoutInput );
-    uiContainer->CandidatePane()->SelectFirstPhrase();
-    uiContainer->ShowVerticalScrollArrows( ETrue );
-    uiContainer->ShowHorizontalScrollArrows( EFalse );
-    uiContainer->InputPane()->SetOverrideFontId( 0 );
-    uiContainer->SetFepMan( iOwner->FepMan() );
-    
-    //For fix bug that the text in input pane could not be shown totally. 
-    if ( iOwner->FepMan()->KeyboardLayout() == EPtiKeyboardQwerty4x10 ||
-        iOwner->FepMan()->KeyboardLayout() == EPtiKeyboardQwerty3x11)
-        {
-        uiContainer->PinyinPopupWindow()->SetInputLayoutMiniQwertyZhuyin();
-        }
-    
-    iOwner->PtiEngine()->SetCandidatePageLength( KMaxPhraseCount );
-    // in the case that we are coming back to the input pane from the candidate pane, 
-    // we need to ensure that the current selection is selected correctly
-    ImplicitlyUpdateSelection();
-    // however we also need to clear the deliberate selection, in case we are not
-    // coming back to the input pane from the candidate pane
-    ClearDeliberateSelection();
-    UpdateIndicator();
-
-    iOwner->PtiEngine()->SetInputMode( EPtiEngineZhuyinPhraseQwerty );
-    iOwner->PtiEngine()->SetCase( EPtiCaseLower );
-    }
-
-TBool TAknFepInputStateEntryMiniQwertyZhuyinPhrase::HandleKeyL( TInt aKey,
-    TKeyPressLength aLength )
-    {
-    if ( iOwner->FepMan()->KeyboardLayout() == EPtiKeyboardQwerty4x10 ||
-        iOwner->FepMan()->KeyboardLayout() == EPtiKeyboardQwerty3x11)
-        {
-        return HandleKeyForMiniQwertyL( aKey, aLength );
-        }
-    else
-        {
-        return HandleKeyForHalfAndCustomQwertyL( aKey, aLength );
-        }
-    }
-
-void TAknFepInputStateEntryMiniQwertyZhuyinPhrase::KeyTimerExpired()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlInputPane* inputPane = uiContainer->InputPane();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* keystroke = editPane->KeystrokeArray();
-
-    // set container's position
-    TPoint baseLine = TPoint( 0, 0 );
-    TInt height = 0;
-    TInt ascent = 0;
-    TRAPD(ret,iOwner->FepMan()->GetScreenCoordinatesL(baseLine,height,ascent))
-    ;
-    if ( ret == KErrNone )
-        {
-        uiContainer->SetContainerPosition( baseLine, height );
-        }
-
-    TInt pinyinCountWithoutToneMarks = ptiengine->PhoneticSpellingCount();
-    if ( editPane->GetEffictiveLength() < keystroke->Count()
-        || pinyinCountWithoutToneMarks == popup->CurrentSelection() )
-        {
-        TBuf<KKeyBufferMaxLength> keystrokeBuf;
-        for (TInt i = 0; i < keystroke->Count(); i++ )
-            {
-            keystrokeBuf.Append( keystroke->MdcaPoint( i ) );
-            }
-        inputPane->SetText( keystrokeBuf );
-        }
-    else
-        {
-        TPtrC ptr = ptiengine->GetPhoneticSpelling( 1 );
-        TBuf<KInputPaneLength> currentText;
-        inputPane->GetText( currentText );
-        if ( ptr.Length() < currentText.Length() )
-            {
-            iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-            }
-        inputPane->SetText( ptr );
-        }
-    }
-
-void TAknFepInputStateEntryMiniQwertyZhuyinPhrase::DeliberatelyUpdateSelection()
-    {
-    TPtr deliberateSelection = iOwner->GetLatestDeliberateSelection();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-
-    TInt selected = popup->CurrentSelection();
-    ptiengine->EnableToneMarks( EFalse );
-    TPtrC spelling = ptiengine->GetPhoneticSpelling( selected + 1 ); // our index is zero based, engine index is one based
-    deliberateSelection
-        = spelling.Left( MAknFepUICtrlInputPane::EMaxInputCharsPinyinPopupNotIncludingToneMark );
-    ptiengine->EnableToneMarks( ETrue );
-    UIContainer()->PinyinPopupWindow()->SetFlag( MAknFepUICtrlPinyinPopup::ESpellingNavigation );
-    RefreshUI( popup->CurrentVisibleSelection() );
-    }
-
-void TAknFepInputStateEntryMiniQwertyZhuyinPhrase::ImplicitlyUpdateSelection()
-    {
-    TPtr oldDeliberateSelection = iOwner->GetLatestDeliberateSelection();
-    TInt oldDeliberateSelectionLength = oldDeliberateSelection.Length();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-
-    // previously selected is compared in turn to each of the new candidates
-    ptiengine->EnableToneMarks( EFalse );
-    TInt pinyinCount = ptiengine->PhoneticSpellingCount();
-    TInt newSelection = 0;
-    for (TInt i = 0; i < pinyinCount; i++ )
-        {
-        TPtrC spelling = ptiengine->GetPhoneticSpelling( i + 1 ); // our index is zero based, engine index is one based
-        TInt spellingLength = spelling.Length();
-
-        // figure out how many characters we are comparing, this depends on the 
-        // direction of the edit
-        TInt compareLength = oldDeliberateSelectionLength <= spellingLength
-            ? oldDeliberateSelectionLength : spellingLength;
-
-        if ( oldDeliberateSelection.Left( compareLength )
-            == spelling.Left( compareLength ) )
-            {
-            // as soon as a substring match is found, the 
-            // highlight position is set to that candidate in the new list. 
-            // note that in the case of the first character entered, the
-            // oldBuf will be empty so it will always match... which is 
-            // fine as we want to select the top one anyway, so we will
-            // quit the loop early.
-            newSelection = i;
-            break;
-            }
-        }
-    ptiengine->EnableToneMarks( ETrue );
-    UIContainer()->PinyinPopupWindow()->SetFlag( MAknFepUICtrlPinyinPopup::ESpellingChanged );
-    RefreshUI( newSelection );
-    }
-
-void TAknFepInputStateEntryMiniQwertyZhuyinPhrase::ClearDeliberateSelection()
-    {
-    // we must have just deleted the last character, 
-    // or we are starting a new zhuyin session, so wipe the last deliberate selection
-    CDesCArrayFlat* keystroke = UIContainer()->EditPaneWindow()->KeystrokeArray();
-    if ( keystroke->Count() == 0 )
-        {
-        TPtr oldDeliberateSelection = iOwner->GetLatestDeliberateSelection();
-        oldDeliberateSelection = KNullDesC;
-        }
-    }
-
-void TAknFepInputStateEntryMiniQwertyZhuyinPhrase::RefreshUI( TInt aSelection )
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    MAknFepUICtrlInputPane* inputPane = uiContainer->InputPane();
-    CDesCArrayFlat* spelling = popup->PhoneticSpellingArray();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* keystroke = editPane->KeystrokeArray();
-    TBuf<KKeyBufferMaxLength> keystrokeBuf;
-
-    // get cursor position
-    TPoint baseLine = TPoint( 0, 0 );
-    TInt height = 0;
-    TInt ascent = 0;
-
-    TRAPD(ret,iOwner->FepMan()->GetScreenCoordinatesL(baseLine,height,ascent));
-    if ( ret == KErrNone )
-        {
-        uiContainer->SetContainerPosition( baseLine, height );
-        }
-
-    TText toneMark;
-    TBool toneMarkEntered = ptiengine->ToneMark( toneMark );
-    TBuf<1> validToneMarkBuf;
-    if ( toneMarkEntered )
-        {
-        // override specific invalid tonemark character only, the others are the same character 
-        // when both valid and invalid
-        if ( toneMark == KPinyinTone4Invalid )
-            toneMark = KPinyinTone4Valid;
-        validToneMarkBuf.Append( toneMark );
-        }
-
-    // to start with, disable the tone marks so we can get the list of all zhuyin matches
-    // later we will figure out which ones are invalid
-    ptiengine->EnableToneMarks( EFalse );
-    TInt pinyinCountWithoutToneMarks = ptiengine->PhoneticSpellingCount();
-
-    for (TInt i = 0; i < keystroke->Count(); i++ )
-        {
-        keystrokeBuf.Append( keystroke->MdcaPoint( i ) );
-        }
-
-    if ( pinyinCountWithoutToneMarks > 0 )
-        {
-        if ( popup->IsFlagSet( MAknFepUICtrlPinyinPopup::ESpellingChanged ) )
-            {
-            if ( editPane->GetEffictiveLength() < keystroke->Count() )
-                {
-                spelling->Reset();
-                spelling->Compress();
-                }
-            else
-                {
-                TRAPD(ignore, ptiengine->GetPhoneticSpellingsL(*spelling));
-                if ( ignore != KErrNone )
-                    {
-                    return;
-                    }
-                }
-
-            TRAPD( retOptimize, spelling->AppendL( keystrokeBuf ) );
-            if ( KErrNone != retOptimize )
-                {
-                return;
-                }
-
-            popup->SplitPhraseSpellingIntoPages();
-            }
-
-        // set display page for delibrate selection
-        popup->SetDisplayPage( aSelection );
-        popup->SetPhraseItemTexts();
-
-        // fill in input pane although it's invisible
-        if ( editPane->GetEffictiveLength() < keystroke->Count()
-            || pinyinCountWithoutToneMarks == popup->CurrentSelection() )
-            {
-            inputPane->SetText( keystrokeBuf );
-            }
-        else
-            {
-            inputPane->SetText( ptiengine->GetPhoneticSpelling( popup->CurrentSelection()
-                + 1 ) );
-            }
-        popup->PopupSizeChanged(); // phrase input
-        }
-    // turn tone marks back on so that we know where we are.
-    ptiengine->EnableToneMarks( ETrue );
-
-    // this is where we start to figure out whether the tonemarks are valid,
-    // whether the selected tonemark is valid, and what is the index of the 
-    // selected candidate in the list of candidates with tonemarks...
-    TBool selectionToneMarkValid = EFalse;
-    TInt selectionIndexAdjustedForToneMarkValidity =
-        popup->CurrentSelection();
-
-    // we only need to deal with tone marks if there is one
-    if ( toneMarkEntered )
-        {
-        if ( pinyinCountWithoutToneMarks > 0 )
-            {
-            for (TInt i = popup->CurrentSelection() + 1; i < pinyinCountWithoutToneMarks; i++ )
-                {
-                TBool valid = EFalse;
-
-                TBuf<MAknFepUICtrlInputPane::EMaxInputCharsPinyinPopupNotIncludingToneMark>
-                    nextCandidateWithoutToneMark;
-                nextCandidateWithoutToneMark.Copy( ptiengine->GetPhoneticSpelling(i + 1).Left( MAknFepUICtrlInputPane::EMaxInputCharsPinyinPopupNotIncludingToneMark ) );
-
-                ptiengine->EnableToneMarks( EFalse );
-                ptiengine->SelectPhoneticSpelling( i + 1 );
-
-                valid = ptiengine->IsToneMarkValidForSpelling();
-                if ( valid )
-                    {
-                    ptiengine->EnableToneMarks( ETrue );
-                    TInt pinyinCountWithToneMarks =
-                        ptiengine->PhoneticSpellingCount();
-
-                    for (TInt j = popup->CurrentSelection() + 1; j < pinyinCountWithToneMarks; j++ )
-                        {
-                        // use j here not i as we are looking at the list with tonemarks
-                        TPtrC nextCandidateWithToneMark =
-                            ptiengine->GetPhoneticSpelling( j + 1 );
-                        if ( nextCandidateWithToneMark
-                            == nextCandidateWithoutToneMark )
-                            {
-                            if ( i == aSelection )
-                                {
-                                selectionToneMarkValid = ETrue;
-
-                                // fill in input pane even if it can't be seen, for when we have to hide popup window
-                                inputPane->SetText( nextCandidateWithoutToneMark );
-                                }
-                            break;
-                            }
-                        }
-                    }
-                }
-            }
-        }
-    ptiengine->EnableToneMarks( EFalse );
-    ptiengine->SelectPhoneticSpelling( popup->CurrentSelection() + 1 );
-    // next two lines are for tonemark validity
-    ptiengine->EnableToneMarks( selectionToneMarkValid );
-    ptiengine->SelectPhoneticSpelling( selectionIndexAdjustedForToneMarkValidity
-        + 1 ); // our index is zero based, engine index is one based
-
-    // update the candidate pane.
-    if ( popup->IsFlagSet( MAknFepUICtrlPinyinPopup::ESpellingChanged )
-        || popup->IsFlagSet( MAknFepUICtrlPinyinPopup::ESpellingNavigation ) )
-        {
-        CDesCArrayFlat* phraseCandidates = uiContainer->CandidatePane()->CandidateArray();
-        if ( editPane->GetEffictiveLength() == keystroke->Count()
-            && pinyinCountWithoutToneMarks > popup->CurrentSelection() )
-            {
-            TRAPD(ignore, ptiengine->GetChinesePhraseCandidatesL(*phraseCandidates));
-            if ( ignore != KErrNone )
-                {
-                return;
-                }
-            }
-        else if ( keystroke->Count() != 0 )
-            {
-            phraseCandidates->Reset();
-            phraseCandidates->Compress();
-            TRAPD( retAddZhuyinNote, phraseCandidates->AppendL( KZhuyinNote ) );
-            if ( KErrNone != retAddZhuyinNote )
-                {
-                return;
-                }
-            }
-
-        uiContainer->CandidatePane()->SplitPhraseCandidatesIntoPages();
-        popup->ClearFlag( MAknFepUICtrlPinyinPopup::ESpellingChanged
-            | MAknFepUICtrlPinyinPopup::ESpellingNavigation );
-        }
-    uiContainer->CandidatePane()->SetCandidateBuffer();
-    uiContainer->Enable( ETrue );
-    // need to enable the pinyin popup after the container so that it is raised to the front
-    popup->Enable( pinyinCountWithoutToneMarks > 0 );
-    UpdateIndicator();
-    }
-
-void TAknFepInputStateEntryMiniQwertyZhuyinPhrase::InitializeStateL( void )
-    {
-    iOwner->FepMan()->UpdateCbaL( R_AKNFEP_SOFTKEYS_OK_SELECT_CANCEL );
-    }
-
-void TAknFepInputStateEntryMiniQwertyZhuyinPhrase::UpdateIndicator()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();        
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* keystroke = editPane->KeystrokeArray();
-    TInt pinyinCountWithoutToneMarks = ptiengine->PhoneticSpellingCount();
-        
-    if (candidatePane->IsFirstPage())
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows(EFalse);    
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows(ETrue);    
-        }
-   
-    if (candidatePane->IsLastPage())
-        {
-        uiContainer->CandidatePane()->ShowDownScrollArrows(EFalse);     
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowDownScrollArrows(ETrue);      
-        }
-    
-    if ( editPane->GetEffictiveLength() < keystroke->Count() ||
-        pinyinCountWithoutToneMarks == popup->CurrentSelection() )
-        {
-        uiContainer->ShowVerticalScrollArrows(EFalse);
-        }
-    else
-        {
-        uiContainer->ShowVerticalScrollArrows(ETrue);
-        }
-    }
-
-TBool TAknFepInputStateEntryMiniQwertyZhuyinPhrase::CheckToneMarkBorderUpon()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* keystroke = editPane->KeystrokeArray();
-    TPtrC ptr = keystroke->MdcaPoint( keystroke->Count() - 1 );
-    TInt num = sizeof(ZhuyinToneMap )/( sizeof(ZhuyinToneMap[0]));
-    for (TInt i = 0; i< num; i++ )
-        {
-        //if ( ptr.Compare( ZhuyinToneMap[i].iValue) == 0 )
-        if ( ptr[0] == ZhuyinToneMap[i].iValue )
-            {
-            return ETrue;
-            }
-        }
-
-    return EFalse;
-    }
-
-TBool TAknFepInputStateEntryMiniQwertyZhuyinPhrase::HandleKeyForMiniQwertyL( TInt aKey,
-    TKeyPressLength aLength )
-    {
-
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlInputPane* inputPane = uiContainer->InputPane();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* keystroke = editPane->KeystrokeArray();
-    RArray<TInt>* keycodeArray = editPane->KeycodeArray();
-    TInt keystrokeLength = keystroke->Count();
-
-    TBool ret = ETrue;
-
-    if ( (aKey == EPtiKeyQwertyE || aKey == EPtiKeyQwertyR || 
-        aKey == EPtiKeyQwertyY || aKey == EPtiKeyQwertyU || aKey == EStdKeySpace)
-        && (aLength == EShortKeyPress) )
-        {
-        if ( keystrokeLength == 0 )
-            {
-            iOwner->FepMan()->TryCloseUiL();
-            CommitToneMarkL( aKey );
-            return ETrue;
-            }
-        
-        if ( keystrokeLength < KMaxKeystrokeCount && 
-            !CheckToneMarkBorderUpon() )
-            {
-            if ( editPane->GetEffictiveLength() == keystrokeLength )
-            	{
-            	TBool isToneValid = ptiengine->SetToneMark(aKey);
-				TInt stringAfterLength =
-						ptiengine->GetPhoneticSpelling(1).Length();
-				TPtrC ptr = ptiengine->GetPhoneticSpelling(1);
-				TInt spellSepLen = 0;
-				TInt keySepLen = 0;
-				for (TInt i = 0; i < stringAfterLength; i++)
-					{
-					if (ptr.Mid(i, 1).Compare(KSep) == 0)
-            		{
-            		spellSepLen++;
-            		}
-            	}
-            for ( TInt j = 0; j < keystrokeLength; j++ )
-            	{
-            	if ( keystroke->MdcaPoint( j ).Compare(KSep) == 0 )
-            		{
-						keySepLen++;
-						}
-					}
-
-				// +1 is for we had add tone mark to engine, perhaps it is legal, but 
-				// We had not add it to keystroke array
-				if ((stringAfterLength - spellSepLen) == (keystrokeLength
-						- keySepLen + 1) && isToneValid)
-					{
-					inputPane->SetFlag(MAknFepUICtrlInputPane::EPhoneticChanged);
-
-					UIContainer()->ShowHorizontalScrollArrows(EFalse);
-					UIContainer()->ShowVerticalScrollArrows(ETrue);
-					SetInputPaneToneMark();
-					editPane->AddEffictiveLength();
-					}
-				}      
-
-            TBuf<KKeystrokeMaxLength> buf;
-            TAknFepInputStateMiniQwertyZhuyinKeyMap::GetKeyStroke(
-            		ptiengine, aKey, buf );
-            keystroke->AppendL( buf );
-            keycodeArray->AppendL( aKey );
-            ImplicitlyUpdateSelection();
-            }
-        else
-            {
-            UpdateIndicator();
-            iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-            }
-
-        }
-    else if ( CAknFepFnKeyManager::EFnKeyNext == iOwner->FepMan()->FnKeyState() || CAknFepFnKeyManager::EFnKeyLock
-        == iOwner->FepMan()->FnKeyState() || CAknFepFnKeyManager::EFnKeyDown
-        == iOwner->FepMan()->FnKeyState() )
-        {
-        iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-        }
-    else if ( iOwner->FepMan()->IsFlagSet( CAknFepManager::EFlagShiftKeyDepressed )
-        || iOwner->FepMan()->IsFlagSet( CAknFepManager::EFlagQwertyChrKeyDepressed )
-        || ((aKey == EStdKeyLeftFunc) && aLength == EShortKeyPress) )
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        ret = EFalse;
-        }
-    else if ( aKey == EKeyLeftShift || aKey ==EKeyLeftCtrl || aKey
-        == EKeyRightCtrl || aKey ==EKeyRightFunc )
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        ret = EFalse;
-        }
-    else if ( aKey == EStdKeyBackspace )
-        {
-        TBool state = ETrue;
-        if ( editPane->IsChangeState() && aLength == ELongKeyPress )
-            {
-            state = EFalse;
-            }
-        else
-            {
-            editPane->SetChangeState( EFalse );
-            }
-        if ( state )
-            {
-            if ( editPane->GetEffictiveLength() == keystrokeLength )
-                {
-                if ( iOwner->PtiEngine()->DeleteKeyPress().Length() && keystrokeLength != 1 )
-                    {
-                    editPane->DecEffictiveLength();
-                    keystroke->Delete( keystrokeLength - 1 );
-                    keycodeArray->Remove( keystrokeLength - 1 );
-                    inputPane->SetFlag( MAknFepUICtrlInputPane::EPhoneticChanged );
-                    ImplicitlyUpdateSelection();
-                    }
-                else
-                    {
-                    ClearDeliberateSelection();
-                    iOwner->FepMan()->TryCloseUiL(); //no more keys, close the UI.
-                    if ( aLength == ELongKeyPress )
-                        {
-                        iOwner->FepMan()->SetLongClearAfterCloseUI( ETrue );
-                        }
-                    }
-                }
-            else
-                {
-                keystroke->Delete( keystrokeLength - 1 );
-                keycodeArray->Remove( keystrokeLength - 1 );
-                ImplicitlyUpdateSelection();
-                }
-            }
-        }
-    else if ( aKey ==EStdKeyDevice1 )//sk2
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        }
-    else if ( aKey == EStdKeyRightArrow )
-        {
-        if ( popup->IsEnabled() )
-            {
-            if ( popup->SelectNextPhrase() )
-                {
-                DeliberatelyUpdateSelection();
-                UpdateIndicator();
-                }
-            }
-        }
-    else if ( aKey == EStdKeyLeftArrow )
-        {
-        if ( popup->IsEnabled() )
-            {
-            if ( popup->SelectPrevPhrase() )
-                {
-                DeliberatelyUpdateSelection();
-                UpdateIndicator();
-                }
-            }
-        }
-    else if ( aKey == EStdKeyDownArrow || aKey == EStdKeyDevice3 || aKey
-        == EStdKeyDevice0 )//selection key
-        {
-        editPane->SetChangeState( ETrue );
-        if ( editPane->GetEffictiveLength() == keystroke->Count()
-            && ptiengine->PhoneticSpellingCount()
-                > popup->CurrentSelection() )
-            {
-            if ( popup->IsEnabled() )
-                {
-                popup->Enable( EFalse );
-                }
-            iOwner->ChangeState( ECandidate );
-            }
-        else
-            {
-            if ( keystrokeLength > 0 && keystroke->MdcaPoint( 0 )[0] == KSai )
-                {
-                UIContainer()->SetControlInVisible( EFalse );
-                iOwner->ChangeState( EMiniQwertyEdit );
-                }
-            else
-                {
-                ClearDeliberateSelection();
-                editPane->SetNeedClearDeliberateSelection( ETrue );
-                iOwner->ChangeState( EZhuyinSpelling );
-                }
-            }
-        }
-    else if ( aKey == EStdKeyEnter )//enter the characters in the entry pane into the editor
-        {
-        TInt currentIndex = uiContainer->PinyinPopupWindow()->CurrentSelection();
-        TBuf<KInputPaneLength> currentText;
-        if ( currentIndex < ptiengine->PhoneticSpellingCount() )
-            {
-            currentText.Copy(ptiengine->GetPhoneticSpelling( currentIndex + 1 ));
-            }
-        else
-            {
-            inputPane->GetText( currentText );
-            }
-        
-
-        while (currentText.Find( KSep )> 0 )
-            {
-            currentText.Replace( currentText.Find( KSep ), 1, KReplace );
-            }
-        while (currentText.Find( KLeftBracket ) >= 0 )
-            {
-            currentText.Replace( currentText.Find( KLeftBracket ), 1,
-                KReplace );
-            }
-        while (currentText.Find( KRightBracket ) >= 0 )
-            {
-            currentText.Replace( currentText.Find( KRightBracket ), 1,
-                KReplace );
-            }
-
-        if ( currentText.Length() )
-            {
-            MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-            fepMan->NewTextL( currentText );
-            fepMan->CommitInlineEditL();
-            if ( fepMan->IsFlagSet( CAknFepManager::EFlagEditorFull ) )
-                {
-                fepMan->ClearFlag( CAknFepManager::EFlagEditorFull );
-                }
-            }
-
-        iOwner->FepMan()->TryCloseUiL();
-
-        }
-    else if ( aLength == EShortKeyPress ) // don't want repeats on these keys
-        {
-        iOwner->FepMan()->SetCcpuFlag( CAknFepManager::ECcpuStateIgnoreStarUp );
-
-        if ( keystroke->Count() < KMaxKeystrokeCount
-            && (iOwner->IsValidChineseInputKeyQwerty( aKey ) || aKey
-                ==EStdKeySpace ) ) //seperator
-            {
-            TInt stringBeforeLength(0);
-            TInt stringAfterLength(0);
-
-            stringBeforeLength = ptiengine->GetPhoneticSpelling(1).Length();
-            stringAfterLength = ptiengine->AppendKeyPress((TPtiKey)aKey).Length();
-
-            if ( stringBeforeLength != stringAfterLength )
-                {
-                if ( ptiengine->GetPhoneticSpelling(1).Length() == 1 )
-                    {
-                    iOwner->FepMan()->UpdateCbaL( R_AKNFEP_SOFTKEYS_OK_SELECT_CANCEL );
-                    }
-                editPane->AddEffictiveLength();
-                }
-
-            TBuf<KKeystrokeMaxLength> buf;
-            TAknFepInputStateMiniQwertyZhuyinKeyMap::GetKeyStroke(
-            		ptiengine, aKey, buf );
-            keystroke->AppendL( buf );
-            keycodeArray->AppendL( aKey );
-
-            ImplicitlyUpdateSelection();
-            }
-        else
-            {
-            iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-            }
-        }
-    return ret;
-    }
-
-TBool TAknFepInputStateEntryMiniQwertyZhuyinPhrase::HandleKeyForHalfAndCustomQwertyL( TInt aKey,
-    TKeyPressLength aLength )
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlInputPane* inputPane = uiContainer->InputPane();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-
-    TBool ret = ETrue;
-
-    if((aKey == EPtiKeyQwertyE || 
-        aKey == EPtiKeyQwertyR || 
-        aKey == EPtiKeyQwertyY || 
-        aKey == EPtiKeyQwertyU ||
-        aKey == EStdKeySpace) && 
-        (aLength == EShortKeyPress))        
-        {
-        if(ptiengine->SetToneMark(aKey))
-            {
-            inputPane->SetFlag(MAknFepUICtrlInputPane::EPhoneticChanged);
-            
-            TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() &&
-                                    uiContainer->CandidatePane()->IsFirstPage());
-            TInt bufLength = ptiengine->CandidatePage().Length();
-            TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-            
-            UIContainer()->ShowHorizontalScrollArrows(showHorizontalScrollArrows);
-            UIContainer()->ShowVerticalScrollArrows(multiplePages);
-            SetInputPaneToneMark();
-            ImplicitlyUpdateSelection();
-            }
-        }
-    if(( aKey == EStdKeyLeftFunc) && aLength == EShortKeyPress)     //chr key to tone mark   
-        {
-        if(ptiengine->IncrementToneMark(ETrue))
-            {
-            ImplicitlyUpdateSelection();
-            }
-        }
-    else if( CAknFepFnKeyManager::EFnKeyNext == iOwner->FepMan()->FnKeyState() ||
-        CAknFepFnKeyManager::EFnKeyLock == iOwner->FepMan()->FnKeyState() ||
-        CAknFepFnKeyManager::EFnKeyDown == iOwner->FepMan()->FnKeyState())
-        {
-        iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-        }                                               
-    else if (iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagShiftKeyDepressed)||
-             iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed))
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        ret = EFalse;
-        }
-    else if (aKey == EKeyLeftShift || aKey ==EKeyLeftCtrl || aKey == EKeyRightCtrl)      
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        ret = EFalse;
-        }
-    else if (aKey ==EKeyRightFunc)//fn
-        {
-        iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-        }        
-    else if(aKey == EStdKeyBackspace )
-        {
-        if (iOwner->PtiEngine()->DeleteKeyPress().Length())
-            {
-            ImplicitlyUpdateSelection();
-            }
-        else
-            {
-            ClearDeliberateSelection();
-            iOwner->FepMan()->TryCloseUiL(); //no more keys, close the UI.
-            if (aLength == ELongKeyPress)
-                {
-                iOwner->FepMan()->SetLongClearAfterCloseUI(ETrue);
-                }
-            }
-        } 
-    else if(aKey ==EStdKeyDevice1)//sk2
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        }
-    else if(aKey == EStdKeyRightArrow)
-        {
-        if(popup->IsEnabled())
-            {
-            if(popup->SelectNextPhrase())
-                {
-                DeliberatelyUpdateSelection();
-                }
-            }
-        }
-    else if(aKey == EStdKeyLeftArrow)
-        {
-        if(popup->IsEnabled())
-            {
-            if(popup->SelectPrevPhrase())
-                {
-                DeliberatelyUpdateSelection();
-                }
-            }
-        }
-    else if (aKey == EStdKeyDownArrow || aKey == EStdKeyDevice3 || aKey == EStdKeyDevice0)//selection key
-        {
-        if(popup->IsEnabled())
-            {
-            popup->Enable(EFalse);
-            }
-        iOwner->ChangeState(ECandidate);
-        }   
-   else if (aKey == EStdKeyEnter)//enter the characters in the entry pane into the editor
-        {
-        TBuf<KInputPaneLength> currentText;
-        inputPane->GetText(currentText);
-        
-        while(currentText.Find(KSep)> 0)
-            {
-            currentText.Replace(currentText.Find(KSep), 1,KReplace);
-            }
-        
-        
-        if(currentText.Length())
-            {            
-            MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-            fepMan->NewTextL(currentText);
-            fepMan->CommitInlineEditL();
-            if (fepMan->IsFlagSet(CAknFepManager::EFlagEditorFull))
-                {
-                fepMan->ClearFlag(CAknFepManager::EFlagEditorFull);
-                }
-            }
-            
-        iOwner->FepMan()->TryCloseUiL();  
-          
-        }
-    else if(aLength == EShortKeyPress) // don't want repeats on these keys
-        {
-        iOwner->FepMan()->SetCcpuFlag(CAknFepManager::ECcpuStateIgnoreStarUp);            
-        
-        if(iOwner->IsValidChineseInputKeyQwerty(aKey) || aKey ==EStdKeySpace ) //seperator
-            {
-            TInt stringBeforeLength(0);
-            TInt stringAfterLength(0);
-        
-            stringBeforeLength = ptiengine->GetPhoneticSpelling(1).Length();
-            stringAfterLength = ptiengine->AppendKeyPress((TPtiKey)aKey).Length();
-            
-            if (stringBeforeLength != stringAfterLength)
-                {
-                if (ptiengine->GetPhoneticSpelling(1).Length() == 1)
-                    {
-                    //iOwner->FepMan()->UpdateCbaL(R_AVKON_SOFTKEYS_EMPTY);                           iOwner->FepMan()->UpdateCbaL(R_AKNFEP_SOFTKEYS_OK_SELECT_CANCEL);
-                    iOwner->FepMan()->UpdateCbaL(R_AKNFEP_SOFTKEYS_OK_SELECT_CANCEL);
-                    }
-                
-                ImplicitlyUpdateSelection();
-                }
-            
-            else
-                {
-                iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-                }            
-            
-            }
-        else
-            {
-            iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-            }
-        }
-    return ret;
-    }
-
-void TAknFepInputStateEntryMiniQwertyZhuyinPhrase::CommitToneMarkL( TInt aKey )
-    {
-    TBuf<1> ToneMarkBuf;
-    switch ( aKey )
-        {
-        case EPtiKeyQwertyE:
-            ToneMarkBuf.Append( KToneMark3 );
-            break;
-
-        case EPtiKeyQwertyR:
-            ToneMarkBuf.Append( KToneMark4 );
-            break;
-
-        case EPtiKeyQwertyY:
-            ToneMarkBuf.Append( KToneMark2 );
-            break;
-
-        case EPtiKeyQwertyU:
-            ToneMarkBuf.Append( KToneMark5 );
-            break;
-        default:
-            break;
-        }
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    fepMan->NewCharacterL(ToneMarkBuf);
-    fepMan->CommitInlineEditL();
-    if (fepMan->IsFlagSet(CAknFepManager::EFlagEditorFull))
-        {
-        fepMan->ClearFlag(CAknFepManager::EFlagEditorFull);
-        iOwner->FepMan()->TryCloseUiL();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryMiniQwertyZhuyinPhrase::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateEntryMiniQwertyZhuyinPhrase::HandleCommandL(
-    TInt aCommandId )
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    switch ( aCommandId )
-        {
-        // Handle the event frome command.
-        case EAknSoftkeySelect:
-            //     case (TUint16)EAknSoftkeySelect: //the Selected in soft CBA
-            if ( popup->IsEnabled() )
-                {
-                popup->Enable( EFalse );
-                }
-            iOwner->ChangeState( ECandidate );
-            break;
-        default:
-            TAknFepInputStateChineseBase::HandleCommandL( aCommandId );
-            break;
-        }
-    }
-// End of file   
-
--- a/fep/aknfep/src/AknFepUiInputStateEntryPinyin.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,452 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the CAknFepUIInputStatePinyin methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepPanic.h"
-#include "AknFepUiInputStateEntryPinyin.h"
-#include "AknFepUIManagerStateInterface.h"      //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"           //MAknFepManagerUIInterface
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUICtrlInputPane.h"
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUICtrlPinyinPopup.h"
-#include "AknFepManager.h"
-
-#include <PtiEngine.h>                          //CPtiEngine
-#include <PtiDefs.h>                            //keys
-#include <avkon.rsg>
-
-const TText KPinyinTone4Valid = 0x0020;
-const TText KPinyinTone4Invalid = 0x02D9;
-
-
-TAknFepInputStateEntryPinyin::TAknFepInputStateEntryPinyin(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateChineseBase(aOwner, aUIContainer)
-    {
-    iState = EEntry;
-
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    uiContainer->FocusCandidatePane(EFalse);
-    uiContainer->CandidatePane()->ShowCandidateOrdinals(EFalse);
-    uiContainer->SetLayout(MAknFepUICtrlContainerChinese::ELayoutInput);
-    uiContainer->CandidatePane()->SelectFirst(); 
-    uiContainer->ShowVerticalScrollArrows(EFalse);
-    uiContainer->ShowHorizontalScrollArrows(EFalse);
-    uiContainer->InputPane()->SetOverrideFontId(0);
-
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    if (ptiengine->InputMode() != EPtiEnginePinyin)
-        {
-        ptiengine->SetInputMode(EPtiEnginePinyin);
-        }
-    ptiengine->SetCandidatePageLength(MAknFepUICtrlContainerChinese::ELayoutInput);
-    ptiengine->EnableToneMarks(ETrue); 
-
-    // in the case that we are coming back to the input pane from the candidate pane, 
-    // we need to ensure that the current selection is selected correctly
-    ImplicitlyUpdateSelection();
-
-    // however we also need to clear the deliberate selection, in case we are not
-    // coming back to the input pane from the candidate pane
-    ClearDeliberateSelection();
-    }
-void TAknFepInputStateEntryPinyin::HandleCommandL(TInt /*aCommandId*/)
-	{	
-    DeliberatelyUpdateSelection();	
- 	}
-
-TBool TAknFepInputStateEntryPinyin::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-
-    if(aKey == EKeyBackspace)
-        {
-		if (iOwner->PtiEngine()->DeleteKeyPress().Length())
-            {
-            ImplicitlyUpdateSelection();
-            }
-        else
-            {
-            ClearDeliberateSelection();
-            iOwner->FepMan()->TryCloseUiL(); // no more keys, close the UI.
-            if (aLength == ELongKeyPress)
-                {
-                iOwner->FepMan()->SetLongClearAfterCloseUI(ETrue);
-                }
-            }
-        }
-    else if(aKey == EKeyRightArrow)
-        {
-        if(popup->IsEnabled())
-            {
-            if(popup->SelectNextPhrase())
-                {
-                DeliberatelyUpdateSelection();
-                }
-            }
-        }
-    else if(aKey == EKeyLeftArrow)
-        {
-        if(popup->IsEnabled())
-            {
-            if(popup->SelectPrevPhrase())
-                {
-                DeliberatelyUpdateSelection();
-                }
-            }
-        }
-    else if(aKey == EKeyOK || aKey == EKeyDownArrow)
-        {
-        if(popup->IsEnabled())
-            {
-            popup->Enable(EFalse);
-            }
-        iOwner->ChangeState(ECandidate);        
-        }
-    else if (aLength == EShortKeyPress) // don't want repeats on these keys
-        {
-     	iOwner->FepMan()->SetCcpuFlag(CAknFepManager::ECcpuStateIgnoreStarUp);        
-        if(iOwner->IsValidChineseInputKey(aKey))
-            {
-            TInt stringBeforeLength(0);
-            TInt stringAfterLength(0);
-        
-            stringBeforeLength = ptiengine->GetPhoneticSpelling(1).Length();
-            stringAfterLength = ptiengine->AppendKeyPress((TPtiKey)aKey).Length();
-            
-            if (stringBeforeLength != stringAfterLength)
-                {
-                if (ptiengine->GetPhoneticSpelling(1).Length() == 1)
-                    {
-                    iOwner->FepMan()->UpdateCbaL(R_AVKON_SOFTKEYS_EMPTY);
-                    }
-                
-                ImplicitlyUpdateSelection();
-                }
-            
-            else
-                {
-                iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-                }           
-            }
-        else if(aKey == EPtiKeyStar) // we increment the tone mark.
-            {
-            if(ptiengine->IncrementToneMark(ETrue))
-                {
-                ImplicitlyUpdateSelection();
-                }
-            }
-        }
-        
-    return ETrue;
-    }
-
-void TAknFepInputStateEntryPinyin::DeliberatelyUpdateSelection()
-    {
-    TPtr deliberateSelection = iOwner->GetLatestDeliberateSelection();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-
-    // the selected is based on whole spelling candidates, not only current display page
-    TInt selected = popup->CurrentSelection(); 
-    ptiengine->EnableToneMarks(EFalse);
-    TPtrC spelling = ptiengine->GetPhoneticSpelling(selected + 1); // our index is zero based, engine index is one based
-    deliberateSelection = spelling.Left(
-                MAknFepUICtrlInputPane::EMaxInputCharsPinyinPopupNotIncludingToneMark);
-    ptiengine->EnableToneMarks(ETrue);
-    
-    RefreshUI(selected);
-    }
-
-void TAknFepInputStateEntryPinyin::ImplicitlyUpdateSelection()
-    {
-    TPtr oldDeliberateSelection = iOwner->GetLatestDeliberateSelection();
-    TInt oldDeliberateSelectionLength = oldDeliberateSelection.Length();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-
-    ptiengine->EnableToneMarks(EFalse);
-    TInt pinyinCount = ptiengine->PhoneticSpellingCount();
-    TInt maxUIPinyinCount = MAknFepUICtrlPinyinPopup::EMaxCandidates;
-    TInt visible = pinyinCount < maxUIPinyinCount ? pinyinCount : maxUIPinyinCount;
-    TInt newSelection = 0;
-    for(TInt i = 0; i < visible; i++)
-        {
-        TPtrC spelling = ptiengine->GetPhoneticSpelling(i + 1);  // our index is zero based, engine index is one based
-        TInt spellingLength = spelling.Length();
-
-        // figure out how many characters we are comparing
-        TInt compareLength = oldDeliberateSelectionLength <= spellingLength ? 
-            oldDeliberateSelectionLength : spellingLength;
-
-        if(oldDeliberateSelection.Left(compareLength) == spelling.Left(compareLength))
-            {
-            // as soon as a substring match is found, the 
-            // highlight position is set to that candidate in the new list. 
-            // note that in the case of the first character entered, the
-            // oldBuf will be empty so it will always match... which is 
-            // fine as we want to select the top one anyway, so we will
-            // quit the loop early.
-            newSelection = i;
-            break;
-            }
-        }
-    ptiengine->EnableToneMarks(ETrue);
-    UIContainer()->PinyinPopupWindow()->SetFlag(MAknFepUICtrlPinyinPopup::ESpellingChanged);
-    RefreshUI(newSelection);
-    }
-
-void TAknFepInputStateEntryPinyin::ClearDeliberateSelection()
-    {
-    // we must have just deleted the last character, 
-    // or we are starting a new pinyin session, so wipe the last deliberate selection
-    TPtr oldDeliberateSelection = iOwner->GetLatestDeliberateSelection();
-    oldDeliberateSelection = KNullDesC;
-    }
-
-void TAknFepInputStateEntryPinyin::RefreshUI(TInt aSelection)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    MAknFepUICtrlInputPane* inputPane = uiContainer->InputPane();
-
-    // get cursor position
-    TPoint baseLine = TPoint(0,0);  
-    TInt height = 0;
-    TInt ascent = 0;
-    TRAPD(ret,iOwner->FepMan()->GetScreenCoordinatesL(baseLine,height,ascent));
-    if (ret == KErrNone)
-        {
-        uiContainer->SetContainerPosition(baseLine, height);    
-        }
-
-    TText toneMark;
-    TBool toneMarkEntered = ptiengine->ToneMark(toneMark);
-    TText invalidToneMark = toneMark;
-    TBuf<1> validToneMarkBuf;
-    TBuf<1> invalidToneMarkBuf;
-    if(toneMarkEntered)
-        {
-        // override specific invalid tonemark character only, the others are the same character 
-        // when both valid and invalid
-        if(toneMark == KPinyinTone4Valid)
-            invalidToneMark = KPinyinTone4Invalid;
-        validToneMarkBuf.Append(invalidToneMark);
-        invalidToneMarkBuf.Append(invalidToneMark);
-        }
-
-    // to start with, disable the tone marks so we can get the list of all pinyin matches
-    // later we will figure out which are invalid
-    ptiengine->EnableToneMarks(EFalse);
-    TInt pinyinCountWithoutToneMarks = ptiengine->PhoneticSpellingCount();
-    TInt maxUIPinyinCount = popup->EMaxCandidates;
-    TInt visible = pinyinCountWithoutToneMarks < maxUIPinyinCount ? 
-            pinyinCountWithoutToneMarks : maxUIPinyinCount;
-    TInt visibleCount = 0;
-    TInt spellingStartIndex = 0;
-    TBool pinyinSpellingChanged = popup->IsFlagSet(MAknFepUICtrlPinyinPopup::ESpellingChanged);
-    TBool pinyinDisplayPageChanged = popup->IsFlagSet(MAknFepUICtrlPinyinPopup::EDispPageChanged);
-
-    if(pinyinCountWithoutToneMarks > 0)
-        {
-        if(pinyinSpellingChanged)
-            {
-            visibleCount = visible;
-            spellingStartIndex = 0;
-            popup->SetVisibleCount(visible);
-            }
-        else if(pinyinDisplayPageChanged) 
-            {
-            visibleCount = popup->VisibleSelectionCount();
-            spellingStartIndex = popup->CurrentPageStartIndex();
-            }
-        if(pinyinDisplayPageChanged || pinyinSpellingChanged)
-            {
-            TInt index;
-            for(TInt i = 0; i < visibleCount; i++)
-                {
-                if(pinyinDisplayPageChanged)
-                    {
-                    index = spellingStartIndex + i;
-                    }
-                else
-                    {
-                    index = i;
-                    }
-                TPtrC spelling = ptiengine->GetPhoneticSpelling(index + 1);  // our index is zero based, engine index is one based
-                popup->SetItemText(i, spelling);
-                popup->SetToneMark(i, validToneMarkBuf); 
-                if(i == aSelection)
-                    {
-                    // fill in input pane even if it can't be seen, for when we have to hide popup window
-                    inputPane->SetText(spelling);
-                    inputPane->SetToneMark(validToneMarkBuf); 
-                    }
-                }
-            popup->ClearFlag(MAknFepUICtrlPinyinPopup::EDispPageChanged);
-            }
-        if(pinyinSpellingChanged)
-            {
-            popup->SplitSpellingIntoPages(visible);
-            }
-        popup->SetDisplayPage(aSelection);
-        
-        if(pinyinSpellingChanged)
-            {
-            popup->ClearFlag(MAknFepUICtrlPinyinPopup::ESpellingChanged);
-            visibleCount = popup->VisibleSelectionCount();
-            spellingStartIndex = popup->CurrentPageStartIndex();
-            TInt index;
-            for(TInt i = 0; i < visibleCount; i++)
-                {
-                index = spellingStartIndex + i;
-                
-                TPtrC spelling = ptiengine->GetPhoneticSpelling(index + 1);  // our index is zero based, engine index is one based
-                popup->SetItemText(i, spelling);
-                popup->SetToneMark(i, validToneMarkBuf); 
-                if(i == aSelection)
-                    {
-                    // fill in input pane even if it can't be seen, for when we have to hide popup window
-                    inputPane->SetText(spelling);
-                    inputPane->SetToneMark(validToneMarkBuf); 
-                    }
-                }
-            }
-        else
-            {
-            inputPane->SetText(ptiengine->GetPhoneticSpelling(aSelection + 1));
-            inputPane->SetToneMark(validToneMarkBuf); 
-            }
-        popup->PopupSizeChanged();
-        }
-
-    // turn tone marks back on so that we know where we are.
-    ptiengine->EnableToneMarks(ETrue);
-
-    // this is where we start to figure out whether the tonemarks are valid,
-    // whether the selected tonemark is valid, and what is the index of the 
-    // selected candidate in the list of candidates with tonemarks...
-    TBool selectionToneMarkValid = EFalse;
-    TInt selectionIndexAdjustedForToneMarkValidity = aSelection;
-
-    // we only need to deal with tone marks if there is one
-    if(toneMarkEntered)
-        {
-        if(pinyinCountWithoutToneMarks > 0)
-            {
-            visibleCount = visible;
-
-            for(TInt i = 0; i < visibleCount; i++)
-                {
-                TBool valid = EFalse;
-                
-                // compare the list of answers with the ones in the UI controls... 
-                // any missing from this list don't support the tone mark
-                TBuf<MAknFepUICtrlInputPane::EMaxInputCharsPinyinPopupNotIncludingToneMark> nextCandidateWithoutToneMark;
-                popup->GetItemText(i, nextCandidateWithoutToneMark);
-
-                // disable tone marks temporarily, as we need to switch the spelling, and it might have 
-                // no valid tonemarks
-                ptiengine->EnableToneMarks(EFalse); 
-
-                // temporarily change the current selection in the engine, so 
-                // that we can see what tonemarks would be valid for it
-                // we will set the real selection later on
-
-                ptiengine->SelectPhoneticSpelling(spellingStartIndex + i + 1);
-                // if it's valid, we need to find it's position in the with tonemark list
-                // as the lists may be ordered differently, and different lengths
-                valid = ptiengine->IsToneMarkValidForSpelling();
-                if(valid)
-                    {
-                    ptiengine->EnableToneMarks(ETrue); 
-                    TInt pinyinCountWithToneMarks = ptiengine->PhoneticSpellingCount();
-
-                    for(TInt j = 0; j < pinyinCountWithToneMarks; j++)
-                        {
-
-                        // use j here not i as we are looking at the list with tonemarks
-                        TPtrC nextCandidateWithToneMark = ptiengine->GetPhoneticSpelling(j + 1);  // our index is zero based, engine index is one based
-
-                        if(nextCandidateWithToneMark == nextCandidateWithoutToneMark)
-                            {
-                            // we are setting the tone mark for the i'th entry in the list without tonemarks
-                            // but if its tonemark is valid, the selection in the engine will have to be relative
-                            // to the list with tonemarks
-                            if( i + spellingStartIndex == aSelection)
-                                {
-                                selectionToneMarkValid = ETrue;
-                                selectionIndexAdjustedForToneMarkValidity =  j;
-
-                                // fill in input pane even if it can't be seen, for when we have to hide popup window
-                                inputPane->SetText(nextCandidateWithoutToneMark);
-                                }
-                            break;
-                            }
-                        }
-                    }
-                popup->SetItemToneMarkValidity(i, valid); 
-                popup->SetToneMark(i, valid ? validToneMarkBuf : invalidToneMarkBuf); 
-
-                // fill in input pane even if it can't be seen, for when we have to hide popup window
-                if(i == aSelection)
-                    {
-                    inputPane->SetToneMarkValidity(valid); 
-                    inputPane->SetToneMark(valid ? validToneMarkBuf : invalidToneMarkBuf); 
-                    }
-                
-                }
-            }
-    }
-    // set the spelling for the selection with no tone mark
-    ptiengine->EnableToneMarks(EFalse); 
-    ptiengine->SelectPhoneticSpelling(popup->CurrentSelection() + 1); // our index is zero based, engine index is one based
-    
-    // now switch the tonemark on only if the selection has a valid tonemark
-    // and then set the spelling to the adjusted tonemark position
-    ptiengine->EnableToneMarks(selectionToneMarkValid); 
-    ptiengine->SelectPhoneticSpelling(selectionIndexAdjustedForToneMarkValidity + 1); // our index is zero based, engine index is one based
-
-    // update the candidate pane.
-    uiContainer->CandidatePane()->SetCandidateBuffer(ptiengine->CandidatePage());
-    uiContainer->Enable(ETrue);
-
-    // need to enable the pinyin popup after the container so that it is raised to the front
-    popup->Enable(pinyinCountWithoutToneMarks > 0);
-    }
-
-void TAknFepInputStateEntryPinyin::InitializeStateL(void)
-    {
-    iOwner->FepMan()->UpdateCbaL(R_AVKON_SOFTKEYS_EMPTY);
-    }
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateEntryPinyinPhrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1463 +0,0 @@
-/*
-* Copyright (c) 2004 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:           
-*       Provides the CAknFepUIInputStatePinyinPhrase methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepPanic.h"
-#include "AknFepUiInputStateEntryPinyinPhrase.h"
-#include "AknFepUIManagerStateInterface.h"      //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"           //MAknFepManagerUIInterface
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUICtrlInputPane.h"
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUICtrlPinyinPopup.h"		//Pinyin phrase
-#include "AknFepManager.h"
-
-#include <PtiEngine.h>                          //CPtiEngine
-#include <PtiDefs.h>                            //keys
-#include <avkon.rsg>
-#include <aknfep.rsg>
-#include <aknnotewrappers.h>
-
-const TText KPinyinTone0Valid = 0x02C9;
-const TText KPinyinTone1Valid = 0x02CA;
-const TText KPinyinTone2Valid = 0x02C7;
-const TText KPinyinTone3Valid = 0x02CB;
-const TText KPinyinTone4Valid = 0x02D9;
-const TText KPinyinTone4Invalid = 0x0020;
-
-const TInt KMaxPhraseCount = 100;
-const TInt KMaxKeystrokeCount = 100;
-const TInt KMaxShowKeystrokeCount = 31;
-
-const TInt KMaxPinyinLength = 60;
-
-const TInt KMaxStarCount = 5;
-
-const TInt KKey0Code = 48;
-const TInt KKey1Code = 49;
-const TInt KKey2Code = 50;
-const TInt KKey3Code = 51;
-const TInt KKey4Code = 52;
-const TInt KKey5Code = 53;
-const TInt KKey6Code = 54;
-const TInt KKey7Code = 55;
-const TInt KKey8Code = 56;
-const TInt KKey9Code = 57;
-
-_LIT( KPinyinListSeparator, "'" );
-_LIT( KPinyinStar, "*" );
-_LIT( KPinyinNote,"\x9020\x65B0\x8BCD" );
-_LIT( KPinyinManualSeparator, "\x002E");
-
-TAknFepInputStateEntryPinyinPhrase::TAknFepInputStateEntryPinyinPhrase(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateChineseBase(aOwner, aUIContainer)
-    {
-    iState = EEntry;
-
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    uiContainer->FocusCandidatePane(EFalse);
-    uiContainer->CandidatePane()->ShowCandidateOrdinals(EFalse);
-    uiContainer->SetLayout(MAknFepUICtrlContainerChinese::ELayoutInput);
-    uiContainer->CandidatePane()->SelectFirstPhrase(); 
-    uiContainer->ShowVerticalScrollArrows(ETrue);
-    uiContainer->ShowHorizontalScrollArrows(EFalse);
-    uiContainer->InputPane()->SetOverrideFontId(0);
-
-    iOwner->PtiEngine()->SetInputMode(EPtiEnginePinyinByPhrase);
-    iOwner->PtiEngine()->SetCandidatePageLength(KMaxPhraseCount);
-    uiContainer->PinyinPopupWindow()->SetTonemarkState( ETrue );
-    // set the state is in input state,
-    // so that it could handle EKeyCBA1
-    iOwner->FepMan()->EntryPhrase( ETrue );
-    uiContainer->SetFepMan( iOwner->FepMan() );
-    
-    ClearKeystrokeBuf();
-    // in the case that we are coming back to the input pane from the candidate pane, 
-    // we need to ensure that the current selection is selected correctly
-    ImplicitlyUpdateSelection();
-    // however we also need to clear the deliberate selection, in case we are not
-    // coming back to the input pane from the candidate pane
-    if ( uiContainer->PinyinPopupWindow()->GetFromCandidateChangeStateFlag() )
-        {
-        uiContainer->PinyinPopupWindow()->SetFromCandidateChangeStateFlag( EFalse );
-        }
-    else
-        {
-        ClearDeliberateSelection();
-        }
-    
-    UpdateIndicator();
-    TRAP_IGNORE( ChangeCbaL() );
-    }
-
-void TAknFepInputStateEntryPinyinPhrase::HandleCommandL( TInt aCommandId)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine( );
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer( );
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow( );
-    CDesCArrayFlat* keystrokeArray = popup->KeystrokeArray( );
-    CDesCArrayFlat* inEffectKeystrokeArray = popup->InEffectKeystrokeArray( );
-    CDesCArrayFlat* showKeystrokeArray = popup->ShowKeystrokeArray( );
-    TInt currentSelect = popup->CurrentSelection( );
-    TInt inEffectSpellingCount = ptiengine->PhoneticSpellingCount( );
-    TBuf<KMaxKeystrokeCount> keystrokeBuf;
-    switch ( aCommandId )
-        {
-        // Handle the event frome command.
-        case EAknSoftkeyCancel:
-            //  case (TUint16)EAknSoftkeyCancel: //the Cancle in soft CBA
-            TAknFepInputStateChineseBase::HandleCommandL( aCommandId );
-            break;
-        case EAknSoftkeySelect:
-            //case (TUint16)EAknSoftkeySelect: //the Selected in soft CBA
-            if ( (currentSelect < inEffectSpellingCount)
-                && (keystrokeArray->Count( )
-                    == inEffectKeystrokeArray->Count( ) )
-                && (popup->GetTonemarkState( ) ) )
-                {
-                if ( popup->IsEnabled( ) )
-                    {
-                    popup->Enable( EFalse );
-                    }
-                iOwner->FepMan()->PinyinPhraseCreation( EFalse );
-                popup->SetChangeState( ETrue );
-                iOwner->ChangeState( ECandidate );
-                }
-            else
-                {
-                GetKeystrokeBuf( *keystrokeArray, keystrokeBuf );
-                iOwner->FepMan()->PinyinPhraseCreation( ETrue );
-                popup->SetChangeState( ETrue );
-                popup->SetPhraseCreationState( ETrue );
-                if ( GetChangeState( ) )
-                    {
-                    ClearDeliberateSelection( );
-                    popup->Enable( EFalse );
-                    iOwner->ChangeState( ESpellingSelection );
-                    }
-                else
-                    {
-                    ClearDeliberateSelection( );
-                    popup->Enable( EFalse );
-                    iOwner->ChangeState( EKeySequenceEdit );
-                    }
-                }
-            break;
-        default:
-            DeliberatelyUpdateSelection( );
-            break;
-        }
-
-    }
-
-TBool TAknFepInputStateEntryPinyinPhrase::HandleKeyL( TInt aKey, TKeyPressLength aLength )
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    CDesCArrayFlat* keystrokeArray = popup->KeystrokeArray();
-    CDesCArrayFlat* inEffectKeystrokeArray = popup->InEffectKeystrokeArray();
-    CDesCArrayFlat* showKeystrokeArray = popup->ShowKeystrokeArray();
-    TInt currentSelect = popup->CurrentSelection();
-    TInt inEffectSpellingCount = ptiengine->PhoneticSpellingCount();
-    TInt offset = 0;
-    
-    TBuf<1> keyBuf;
-    TBuf<1> keyShow;
-    TBuf<KMaxKeystrokeCount> keystrokeBuf;
-    
-    if(aKey == EKeyBackspace)
-        {
-        TBool state = ETrue;
-        if ( popup->IsChangeStatet() && aLength == ELongKeyPress )
-            {
-            state = EFalse;
-            }
-        else
-            {
-            popup->SetChangeState( EFalse );
-            }
-        if ( state )
-            {
-            DeleteCurrentKeystroke();
-            showKeystrokeArray->Delete( showKeystrokeArray->Count() - 1 );
-            showKeystrokeArray->Compress();
-            if ( inEffectKeystrokeArray->Count()> 0 )
-                {
-                ImplicitlyUpdateSelection();
-                }
-            else
-                {
-                ClearDeliberateSelection();
-                iOwner->FepMan()->TryCloseUiL(); //no more keys, close the UI.
-                if (aLength == ELongKeyPress)
-                    {
-                    iOwner->FepMan()->SetLongClearAfterCloseUI(ETrue);
-                    }
-                }
-            }
-        }
-    else if(aKey == EKeyRightArrow)
-        {
-        if(popup->IsEnabled())
-            {
-            if(popup->SelectNextPhrase())
-                {
-                DeliberatelyUpdateSelection();
-                }
-            }
-        }
-    else if(aKey == EKeyLeftArrow)
-        {
-        if(popup->IsEnabled())
-            {
-            if(popup->SelectPrevPhrase())
-                {
-                DeliberatelyUpdateSelection();
-                }
-            }
-        }
-    else if( ( aKey == EKeyOK || aKey == EKeyDownArrow || aKey == EKeyCBA1)
-        && aLength == EShortKeyPress)
-        {
-        if ( ( currentSelect < inEffectSpellingCount) && 
-            ( keystrokeArray->Count() == inEffectKeystrokeArray->Count() ) &&
-            ( popup->GetTonemarkState() ) )
-            {
-            if(popup->IsEnabled())
-                {
-                popup->Enable(EFalse);
-                }
-            iOwner->FepMan()->PinyinPhraseCreation( EFalse );
-            popup->SetChangeState( ETrue );
-            iOwner->ChangeState(ECandidate);              
-            }
-        else
-            {
-            GetKeystrokeBuf( *keystrokeArray, keystrokeBuf );
-            iOwner->FepMan()->PinyinPhraseCreation( ETrue );
-            popup->SetChangeState( ETrue );
-            popup->SetPhraseCreationState( ETrue );
-            if ( GetChangeState() )
-                {
-                ClearDeliberateSelection();
-                popup->Enable( EFalse );
-                iOwner->ChangeState(ESpellingSelection);
-                }
-            else
-                {
-                ClearDeliberateSelection();
-                popup->Enable( EFalse );
-                iOwner->ChangeState(EKeySequenceEdit);
-                }
-            }
-        }
-    else if (aLength == EShortKeyPress) // don't want repeats on these keys
-        {
-    	iOwner->FepMan()->SetCcpuFlag(CAknFepManager::ECcpuStateIgnoreStarUp);            
-        
-        if ( ( iOwner->IsValidChineseInputKey(aKey) ) &&
-             ( CheckKeystroke( aKey, *keystrokeArray ) ) )
-            {
-            TInt stringBeforeLength(0);
-            TInt stringAfterLength(0);
-            GetKeystrokeNum( aKey, keyBuf );
-            keystrokeArray->AppendL( keyBuf );
-            showKeystrokeArray->AppendL( keyBuf );
-            
-            if ( popup->GetTonemarkState() )
-                {
-            stringBeforeLength = ptiengine->GetPhoneticSpelling(1).Length();
-            stringAfterLength = ptiengine->AppendKeyPress((TPtiKey)aKey).Length();
-                if (stringBeforeLength != stringAfterLength)
-                    {
-                    if (ptiengine->GetPhoneticSpelling(1).Length() == 1)
-                        {
-                        iOwner->FepMan()->UpdateCbaL(R_AKNFEP_SOFTKEYS_PHRASE_CREATION_SELECT_CANCEL_SELECT);
-                        }
-                    inEffectKeystrokeArray->AppendL(keyBuf);
-                    ImplicitlyUpdateSelection();
-                    }
-                else
-                    {
-                    ptiengine->EnableToneMarks(ETrue);
-                    UIContainer()->PinyinPopupWindow()->SetFlag(MAknFepUICtrlPinyinPopup::ESpellingChanged);
-                    RefreshUI(0);
-                    } 
-                }
-            else
-                {
-                ImplicitlyUpdateSelection();
-                }
-            }
-        else if ( ( aKey == EPtiKeyStar ) &&  
-                  ( CheckKeystroke( aKey, *keystrokeArray ) ) ) // we increment the tone mark.
-            {
-            keyBuf.Append( EPtiKeyStar );
-            
-            if ( keystrokeArray->Count() == inEffectKeystrokeArray->Count() )
-                {
-                inEffectKeystrokeArray->AppendL(keyBuf);
-                keystrokeArray->AppendL( keyBuf );
-                GetPinyinToneMark( *keystrokeArray, keyShow );
-                ShowKeystrokeAppendL( *showKeystrokeArray, *keystrokeArray, keyShow );
-                CheckTonemarkL();
-                }
-            else
-                {
-                keystrokeArray->AppendL( keyBuf );
-                GetPinyinToneMark( *keystrokeArray, keyShow );
-                ShowKeystrokeAppendL( *showKeystrokeArray, *keystrokeArray, keyShow );
-                for ( TInt i = keystrokeArray->Count() - 1; i >= 0; i-- )
-                    {
-                    if ( 0 == keystrokeArray->MdcaPoint( i ).
-                            Compare( KPinyinStar ) )
-                        {
-                        offset = offset + 1;
-                        }
-                    else
-                        {
-                        break;
-                        }
-                    }
-                if ( offset > KMaxStarCount )
-                    {
-                    for ( TInt j = 0; j < KMaxStarCount; ++j )
-                        {
-                        keystrokeArray->Delete( keystrokeArray->Count() - 1 );
-                        }
-                    keystrokeArray->Compress();
-                    }
-                }
-            ImplicitlyUpdateSelection();
-            }
-        else
-            {
-            iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-            }
-        }
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// Optimize spelling
-// ---------------------------------------------------------
-//
-void TAknFepInputStateEntryPinyinPhrase::OptimizeSpellingL( CDesCArrayFlat& aOptimizeBefore, CDesCArrayFlat& aOptimizeAfter )
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    CDesCArrayFlat* inEffectKeystrokeArray = popup->InEffectKeystrokeArray();
-    TBool checkSeparator = EFalse;
-    TBuf<KMaxPinyinLength> spellingBuf;
-    TInt bufLength = 0;
-    TInt countSeparator = 0;
-
-    TInt countBuf[KMaxPhraseCount];
-    memset( countBuf, 0, sizeof( countBuf ) );
-    
-    TInt position = 0;
-    TInt i = 0;
-    TInt j = 0;
-    
-    if ( 0 == inEffectKeystrokeArray->Count() )
-        {
-        return;
-        }
-    
-    for ( i = 0 ; i < inEffectKeystrokeArray->Count(); ++i )
-        {
-        if ( 0 == inEffectKeystrokeArray->MdcaPoint( i ).Compare( KPinyinListSeparator ) )
-            {
-            checkSeparator = ETrue;
-            countBuf[countSeparator] = j;
-            countSeparator = countSeparator + 1;
-            }
-        else
-            {
-            if (  0 == i  )
-                {
-                j = j + 1;
-                }
-            else
-                {
-                if ( ( 0 == inEffectKeystrokeArray->MdcaPoint( i ).Compare( KPinyinStar ) ) &&
-                    ( 0 != inEffectKeystrokeArray->MdcaPoint( i - 1 ).Compare( KPinyinStar ) ))
-                    {
-                    j = j + 1;
-                    }
-                else if ( 0 != inEffectKeystrokeArray->MdcaPoint( i ).Compare( KPinyinStar ) )
-                    {
-                    j = j + 1;
-                    }
-                }
-            }
-        }
-  
-    j = 0;
-    for ( i = 0; i < aOptimizeBefore.Count(); ++i )
-        {
-        j = 0;
-        bufLength = 0;
-        position = 0;
-        spellingBuf.Size();
-        spellingBuf.Copy( aOptimizeBefore.MdcaPoint( i ) );
-        bufLength = spellingBuf.Length();
-        while( j < bufLength )
-            {
-            position = spellingBuf.Find( KPinyinListSeparator );
-            if ( position != KErrNotFound )
-                {
-                spellingBuf.Replace( position, 1, KPinyinManualSeparator );
-                j = position + 1;
-                }
-            else
-                {
-                break;
-                }
-            }
-        aOptimizeAfter.AppendL( spellingBuf );
-        }    
-    
-    if ( !checkSeparator )
-        {
-        return;
-        }
-    
-    aOptimizeBefore.Reset();
-    aOptimizeBefore.Compress();
-    
-    for ( i = 0; i < aOptimizeAfter.Count(); ++i )
-        {
-        aOptimizeBefore.AppendL( aOptimizeAfter.MdcaPoint( i ) );
-        }
-    
-    aOptimizeAfter.Reset();
-    aOptimizeAfter.Compress();
-    
-
-    for ( TInt k = 0; k < aOptimizeBefore.Count(); ++k )
-        {
-        j = 0;
-        bufLength = 0;
-        position = 0;
-        spellingBuf.Size();
-        spellingBuf.Copy( aOptimizeBefore.MdcaPoint( k ) );
-        bufLength = spellingBuf.Length();
-        for ( TInt kk = 0; kk < bufLength; ++kk )
-            {
-            if ( 0 == spellingBuf.Mid( kk, 1 ).Compare( KPinyinManualSeparator ) )
-                {
-                for ( TInt kkk = 0; kkk < countSeparator; ++kkk)
-                    {
-                    if ( j == countBuf[kkk] )
-                        {
-                        spellingBuf.Replace( kk, 1, KPinyinListSeparator );
-                        }
-                    }
-                }
-            else
-                {
-                j = j + 1;
-                }
-            }
-        aOptimizeAfter.AppendL( spellingBuf );
-        }
-    }
-void TAknFepInputStateEntryPinyinPhrase::DeliberatelyUpdateSelection()
-    {
-    TPtr deliberateSelection = iOwner->GetLatestDeliberateSelection();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-
-    TInt selected = popup->CurrentSelection();
-    ptiengine->EnableToneMarks(EFalse);
-    TPtrC spelling = ptiengine->GetPhoneticSpelling(selected + 1); // our index is zero based, engine index is one based
-    deliberateSelection = spelling.Left(
-                        MAknFepUICtrlInputPane::EMaxInputCharsPinyinPopupNotIncludingToneMark);
-    ptiengine->EnableToneMarks(ETrue);
-    UIContainer()->PinyinPopupWindow()->SetFlag(MAknFepUICtrlPinyinPopup::ESpellingNavigation);    
-    RefreshUI(popup->CurrentVisibleSelection());
-    }
-
-void TAknFepInputStateEntryPinyinPhrase::ImplicitlyUpdateSelection()
-    {
-    TPtr oldDeliberateSelection = iOwner->GetLatestDeliberateSelection();
-    TInt oldDeliberateSelectionLength = oldDeliberateSelection.Length();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-
-    // previously selected is compared in turn to each of the new candidates
-    ptiengine->EnableToneMarks(EFalse);
-    TInt pinyinCount = ptiengine->PhoneticSpellingCount();
-    TInt newSelection = 0;
-    for(TInt i = 0; i < pinyinCount; i++)
-        {
-        TPtrC spelling = ptiengine->GetPhoneticSpelling(i + 1);  // our index is zero based, engine index is one based
-        TInt spellingLength = spelling.Length();
-
-        // figure out how many characters we are comparing, this depends on the 
-        // direction of the edit
-        TInt compareLength = oldDeliberateSelectionLength <= spellingLength ? 
-            oldDeliberateSelectionLength : spellingLength;
-
-        if(oldDeliberateSelection.Left(compareLength) == spelling.Left(compareLength))
-            {
-            // as soon as a substring match is found, the 
-            // highlight position is set to that candidate in the new list. 
-            // note that in the case of the first character entered, the
-            // oldBuf will be empty so it will always match... which is 
-            // fine as we want to select the top one anyway, so we will
-            // quit the loop early.
-            newSelection = i;
-            break;
-            }
-        }
-    
-        ptiengine->EnableToneMarks(ETrue);
-        UIContainer()->PinyinPopupWindow()->SetFlag(MAknFepUICtrlPinyinPopup::ESpellingChanged);
-    	RefreshUI(newSelection);
-    }
-
-void TAknFepInputStateEntryPinyinPhrase::ClearDeliberateSelection()
-    {
-    // we must have just deleted the last character, 
-    // or we are starting a new pinyin session, so wipe the last deliberate selection
-    TPtr oldDeliberateSelection = iOwner->GetLatestDeliberateSelection();
-    oldDeliberateSelection = KNullDesC;
-    }
-
-void TAknFepInputStateEntryPinyinPhrase::RefreshUI(TInt aSelection)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    MAknFepUICtrlInputPane* inputPane = uiContainer->InputPane();
-    CDesCArrayFlat* keystrokeArray = popup->KeystrokeArray();
-    CDesCArrayFlat* inEffectKeystrokeArray = popup->InEffectKeystrokeArray();
-    CDesCArrayFlat* showKeystrokeArray = popup->ShowKeystrokeArray();
-    CDesCArrayFlat* optimizeSpelling = popup->PhoneticSpellingArray();
-    CDesCArrayFlat* spelling = popup->OptimizeSpelling();
-        
-    TBuf<KMaxKeystrokeCount> keystrokeBuf;
-    
-    // get cursor position
-    TPoint baseLine = TPoint(0,0);
-    TInt height = 0;
-    TInt ascent = 0;
-
-    TBool checkTonemark = popup->GetTonemarkState();
-    TRAPD(ret,iOwner->FepMan()->GetScreenCoordinatesL(baseLine,height,ascent));
-    if (ret == KErrNone)
-        {
-        uiContainer->SetContainerPosition(baseLine, height);    
-        }
-
-    TText toneMark;
-    TBool toneMarkEntered = ptiengine->ToneMark(toneMark);
-    TBuf<1> validToneMarkBuf;
-    if(toneMarkEntered)
-        {
-        // override specific invalid tonemark character only, the others are the same character 
-        // when both valid and invalid
-        if(toneMark == KPinyinTone4Invalid)
-            toneMark = KPinyinTone4Valid;
-        validToneMarkBuf.Append(toneMark);
-        }
-
-    // to start with, disable the tone marks so we can get the list of all pinyin matches
-    // later we will figure out which ones are invalid
-    ptiengine->EnableToneMarks(EFalse);
-    TInt pinyinCountWithoutToneMarks = ptiengine->PhoneticSpellingCount();
-    if(pinyinCountWithoutToneMarks > 0)
-        {
-        if(popup->IsFlagSet(MAknFepUICtrlPinyinPopup::ESpellingChanged))
-            {
-            if ( ( inEffectKeystrokeArray->Count() < keystrokeArray->Count() ) ||
-                ( !checkTonemark ) )
-                {
-                spelling->Reset();
-                optimizeSpelling->Reset();
-                spelling->Compress();
-                optimizeSpelling->Compress();
-                }
-            else
-                {
-                spelling->Reset();
-                optimizeSpelling->Reset();
-                spelling->Compress();
-                optimizeSpelling->Compress();
-            TRAPD(ignore, ptiengine->GetPhoneticSpellingsL(*spelling));
-            if (ignore != KErrNone)
-                    {
-                    return;
-                    }
-                
-                TRAPD( iOptimize, OptimizeSpellingL( *spelling, *optimizeSpelling ) );
-                if ( KErrNone != iOptimize )
-                    {
-                    return;
-                    }
-                }
-            
-            GetKeystrokeBuf( *showKeystrokeArray, keystrokeBuf );
-            
-            TRAPD( retOptimize, optimizeSpelling->AppendL( keystrokeBuf ) );
-            if ( KErrNone != retOptimize )
-                {
-                return;
-                }
-            popup->SplitPhraseSpellingIntoPages(); 
-            }
-
-        // set display page for delibrate selection
-        popup->SetDisplayPage(aSelection);
-        popup->SetPhraseItemTexts();
- 
-        // fill in input pane although it's invisible
-        if ( inEffectKeystrokeArray->Count() < keystrokeArray->Count() )
-            {
-            inputPane->SetText( keystrokeBuf );    
-            }
-        else
-            {
-            if ( optimizeSpelling->Count() > popup->CurrentSelection() )
-                {
-                inputPane->SetText( optimizeSpelling->MdcaPoint( popup->CurrentSelection() ) );
-                }
-            else
-                {
-                inputPane->SetText( KNullDesC );
-                }
-            }
-        popup->PopupSizeChanged(); // phrase input
-        }
-    // turn tone marks back on so that we know where we are.
-    ptiengine->EnableToneMarks(ETrue);
-
-    // this is where we start to figure out whether the tonemarks are valid,
-    // whether the selected tonemark is valid, and what is the index of the 
-    // selected candidate in the list of candidates with tonemarks...
-    TBool selectionToneMarkValid = EFalse;
-    TInt selectionIndexAdjustedForToneMarkValidity = popup->CurrentSelection();
-    
-    // we only need to deal with tone marks if there is one
-    if(toneMarkEntered)
-        {
-        if(pinyinCountWithoutToneMarks > 0)
-            {
-            for(TInt i = 0; i < pinyinCountWithoutToneMarks; i++)
-                {
-                TBool valid = EFalse;
-                
-                TBuf<MAknFepUICtrlInputPane::EMaxInputCharsPinyinPopupNotIncludingToneMark> nextCandidateWithoutToneMark;
-                nextCandidateWithoutToneMark.Copy(ptiengine->GetPhoneticSpelling(i + 1).Left(
-                      MAknFepUICtrlInputPane::EMaxInputCharsPinyinPopupNotIncludingToneMark));
-                
-                ptiengine->EnableToneMarks(EFalse); 
-                ptiengine->SelectPhoneticSpelling(i + 1);
-
-                valid = ptiengine->IsToneMarkValidForSpelling();
-                if(valid)
-                    {
-                    ptiengine->EnableToneMarks(ETrue); 
-                    TInt pinyinCountWithToneMarks = ptiengine->PhoneticSpellingCount();
-
-                    for(TInt j = 0; j < pinyinCountWithToneMarks; j++)
-                        {
-                        // use j here not i as we are looking at the list with tonemarks
-                        TPtrC nextCandidateWithToneMark = ptiengine->GetPhoneticSpelling(j + 1);  
-                        if(nextCandidateWithToneMark == nextCandidateWithoutToneMark)
-                            {
-                            if(i == aSelection)
-                                {
-                                selectionToneMarkValid = ETrue;
-                                
-                                // fill in input pane even if it can't be seen, for when we have to hide popup window
-                                inputPane->SetText(nextCandidateWithoutToneMark);
-                                }
-                            break;
-                            }
-                        }
-                    }
-                }
-            }
-        }
-    ptiengine->EnableToneMarks(EFalse); 
-    ptiengine->SelectPhoneticSpelling(popup->CurrentSelection() + 1); 
-    // next two lines are for tonemark validity
-    ptiengine->EnableToneMarks(selectionToneMarkValid); 
-    ptiengine->SelectPhoneticSpelling(selectionIndexAdjustedForToneMarkValidity + 1); // our index is zero based, engine index is one based
-
-    // update the candidate pane.
-    if(popup->IsFlagSet(MAknFepUICtrlPinyinPopup::ESpellingChanged) 
-        || popup->IsFlagSet(MAknFepUICtrlPinyinPopup::ESpellingNavigation))
-        {
-        CDesCArrayFlat* phraseCandidates = uiContainer->CandidatePane()->CandidateArray();
-        if ( ( pinyinCountWithoutToneMarks > popup->CurrentSelection() ) && 
-             ( inEffectKeystrokeArray->Count() == keystrokeArray->Count() ) && 
-             checkTonemark )      
-            {
-            TRAPD(ignore, ptiengine->GetChinesePhraseCandidatesL(*phraseCandidates));
-            if (ignore != KErrNone)
-                {
-                return;
-                }            
-            }        
-        else if ( keystrokeArray->Count() != 0 )
-            {
-            phraseCandidates->Reset();
-            TRAPD( retAddPinyinNote, phraseCandidates->AppendL( KPinyinNote ) );
-            if ( KErrNone != retAddPinyinNote )
-                {
-                return;
-                }
-            }
-        uiContainer->CandidatePane()->SplitPhraseCandidatesIntoPages(); 
-        popup->ClearFlag(MAknFepUICtrlPinyinPopup::ESpellingChanged 
-                        | MAknFepUICtrlPinyinPopup::ESpellingNavigation);
-        }
-    uiContainer->CandidatePane()->SetCandidateBuffer();
-    uiContainer->Enable(ETrue);
-    // need to enable the pinyin popup after the container so that it is raised to the front
-    popup->Enable(pinyinCountWithoutToneMarks > 0);
-    UpdateIndicator();
-    }
-
-void TAknFepInputStateEntryPinyinPhrase::InitializeStateL(void)
-    {
-    iOwner->FepMan()->UpdateCbaL(R_AKNFEP_SOFTKEYS_PHRASE_CREATION_SELECT_CANCEL_SELECT);
-    }
-    
-void TAknFepInputStateEntryPinyinPhrase::UpdateIndicator()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();        
-    TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-        
-    if (candidatePane->IsFirstPage())
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows(EFalse);    
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows(ETrue);    
-        }
-   
-    if (candidatePane->IsLastPage())
-        {
-        uiContainer->CandidatePane()->ShowDownScrollArrows(EFalse);     
-        }
-    else
-   	    {
-   	    uiContainer->CandidatePane()->ShowDownScrollArrows(ETrue);      
-   	    }
-        
-    if (candidatePane->SelectedIndex() == 0 && 
-        candidatePane->IsFirstPage() )
-        {
-        uiContainer->CandidatePane()->ShowLeftScrollArrows(EFalse);
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowLeftScrollArrows(ETrue);
-        }
-        
-    if (candidatePane->IsLastPage() && 
-        (candidatePane->SelectedIndex() == candidatePane->VisibleCandidateCount() - 1))
-        {
-        uiContainer->CandidatePane()->ShowRightScrollArrows(EFalse);        
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowRightScrollArrows(ETrue);
-        }
-    } 
-// ---------------------------------------------------------
-// Delete current keystroke.
-// ---------------------------------------------------------
-//
-void TAknFepInputStateEntryPinyinPhrase::DeleteCurrentKeystroke()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    CDesCArrayFlat* keystrokeArray = popup->KeystrokeArray();
-    CDesCArrayFlat* inEffectKeystrokeArray = popup->InEffectKeystrokeArray();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    TInt i = keystrokeArray->Count() - 1;
-    TInt count = keystrokeArray->Count() - 1;
-    TInt inECTKeystrokeCount = inEffectKeystrokeArray->Count();
-    TInt validCount = 0;
-    
-    if ( keystrokeArray->Count() > inEffectKeystrokeArray->Count() )
-        {
-        for ( i = keystrokeArray->Count() - 1; i >= 0; i-- )
-            {
-            if ( 0 == keystrokeArray->MdcaPoint( i ).Compare( KPinyinStar ) )
-                {
-                keystrokeArray->Delete( i );
-                }
-            else
-                {
-                if ( i == count )
-                    {
-                    keystrokeArray->Delete( i );
-                    break;
-                    }
-                break;
-                }
-           }
-        }
-    else
-        {
-        for ( TInt j = 0; j < inECTKeystrokeCount; ++j )
-            {            
-            if ( 0 != inEffectKeystrokeArray->
-                MdcaPoint( j ).Compare( KPinyinStar ) )
-                 {
-                 validCount = validCount + 1;
-                 }
-            if ( j > 1 )
-                {
-                if ( ( 0 != inEffectKeystrokeArray->MdcaPoint( j ).
-                    Compare( KPinyinStar ) ) && 
-                    ( 0 == inEffectKeystrokeArray->MdcaPoint( j - 1).
-                        Compare( KPinyinStar ) ) )
-                     {
-                     validCount = validCount + 1;
-                     }
-                if  ( ( j == inECTKeystrokeCount - 1 ) && 
-                    ( 0 == inEffectKeystrokeArray->MdcaPoint( j ).
-                        Compare( KPinyinStar ) ) )
-                    {
-                    validCount = validCount + 1;
-                    }
-                }
-            }
-        
-        if ( inEffectKeystrokeArray->Count() > 0 )
-            {
-            if ( 0 == inEffectKeystrokeArray->MdcaPoint( 
-                inEffectKeystrokeArray->Count() - 1 ).Compare( KPinyinStar ) )
-                {
-                popup->SetTonemarkState( ETrue );
-                }
-            }
-        
-        if ( 0 == keystrokeArray->MdcaPoint( keystrokeArray->Count() - 1 ).
-            Compare( KPinyinStar ) )
-            {
-            ptiengine->DeleteKeyPress();
-            for ( i = keystrokeArray->Count() - 1; i >= 0; i-- )
-                {
-                if ( 0 == keystrokeArray->MdcaPoint( i ).Compare( KPinyinStar ) )
-                    {
-                    keystrokeArray->Delete( i );
-                    inEffectKeystrokeArray->Delete(i);
-                    }
-                else
-                    {
-                    break;
-                    }
-                }
-            }
-        else
-            {
-            keystrokeArray->Delete( i );
-            inEffectKeystrokeArray->Delete(i);
-            ptiengine->DeleteKeyPress();
-            }
-        }
-    keystrokeArray->Compress();
-    inEffectKeystrokeArray->Compress();
-    }
-
-// ---------------------------------------------------------
-// Add current keystroke.
-// ---------------------------------------------------------
-void TAknFepInputStateEntryPinyinPhrase::AddCurrentKeystrokeL( const TDesC& keystroke )
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    CDesCArrayFlat* keystrokeArray = popup->KeystrokeArray();
-    CDesCArrayFlat* inEffectKeystrokeArray = popup->InEffectKeystrokeArray();
-    const TInt offsetSize = 4;
-    TInt count = keystrokeArray->Count();
-    TInt offset = 0;
-    TInt i = count - 1;
-    
-    if ( 0 != keystroke.Compare( KPinyinStar ) )
-        {
-        if ( keystrokeArray->Count() > inEffectKeystrokeArray->Count() )
-            {
-            keystrokeArray->AppendL( keystroke );
-            keystrokeArray->Compress();
-            return;
-            }
-        else
-            {
-            keystrokeArray->AppendL( keystroke );
-            keystrokeArray->Compress();
-            inEffectKeystrokeArray->AppendL( keystroke );
-            inEffectKeystrokeArray->Compress();
-            return;
-            }
-        }
-    
-    for ( i = count - 1; i >= 0; i-- )
-        {
-        if ( 0 == keystrokeArray->MdcaPoint( i ).Compare( KPinyinStar ) )
-            {
-            offset = offset + 1;
-            }
-        else
-            {
-            break;
-            }
-        }     
-    if ( ( 0 <= offset ) && ( offset <= offsetSize ) )
-        {
-        if ( keystrokeArray->Count() > inEffectKeystrokeArray->Count() )
-            {
-            keystrokeArray->AppendL( keystroke );
-            keystrokeArray->Compress();
-            }
-        else
-            {
-            keystrokeArray->AppendL( keystroke );
-            keystrokeArray->Compress();
-            inEffectKeystrokeArray->AppendL( keystroke );
-            inEffectKeystrokeArray->Compress();
-            }
-        }
-    else
-        {
-        if ( keystrokeArray->Count() > inEffectKeystrokeArray->Count() )
-            {
-            for ( TInt ii = 0; ii < offsetSize; ++ii )
-            {
-                keystrokeArray->Delete( count - 1 -ii );
-            }
-            keystrokeArray->Compress();
-            }
-        else
-            {
-            for ( TInt ii = 0; ii < offsetSize; ++ii )
-            {
-                keystrokeArray->Delete( count - 1 -ii );
-                inEffectKeystrokeArray->Delete( count - 1 -ii );
-            }
-            keystrokeArray->Compress();
-            inEffectKeystrokeArray->Compress();
-            }
-        }    
-    }
-
-
-// ---------------------------------------------------------
-// Get the keystroke.
-// ---------------------------------------------------------
-//
-void TAknFepInputStateEntryPinyinPhrase::GetKeystrokeNum( TInt aKey, TDes& aKeystroke ) 
-    {
-    switch(aKey)
-        {
-        case KKey0Code:
-            aKeystroke.Append( KPinyinListSeparator );
-            break;
-        case KKey1Code:
-            aKeystroke.Append( KPinyinListSeparator );
-            break;
-        case KKey2Code:
-            aKeystroke.Append(EPtiKey2);
-            break;
-        case KKey3Code:
-            aKeystroke.Append(EPtiKey3);
-            break;
-        case KKey4Code:
-            aKeystroke.Append(EPtiKey4);
-            break;
-        case KKey5Code:
-            aKeystroke.Append(EPtiKey5);
-            break;
-        case KKey6Code:
-            aKeystroke.Append(EPtiKey6);
-            break;
-        case KKey7Code:
-            aKeystroke.Append(EPtiKey7);
-            break;
-        case KKey8Code:
-            aKeystroke.Append(EPtiKey8);
-            break;
-        case KKey9Code:
-            aKeystroke.Append(EPtiKey9);
-            break;
-        default:
-            aKeystroke.Append(EPtiKeyStar);
-            break;
-        }
-    }
-
-// ---------------------------------------------------------
-// Get the keystroke buf.
-// ---------------------------------------------------------
-//
-void TAknFepInputStateEntryPinyinPhrase::GetKeystrokeBuf(const CDesCArrayFlat& aKeystrokeArray, TDes& aKeystrokeBuf )
-    {
-    for ( TInt i = 0; i < aKeystrokeArray.Count(); ++i )
-        {
-        aKeystrokeBuf.Append(aKeystrokeArray.MdcaPoint(i));
-        }
-    }
-
-// ---------------------------------------------------------
-// clear keystroke.
-// ---------------------------------------------------------
-//
-void TAknFepInputStateEntryPinyinPhrase::ClearKeystrokeBuf()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    CDesCArrayFlat* keystrokeArray = popup->KeystrokeArray();
-    CDesCArrayFlat* inEffectKeystrokeArray = popup->InEffectKeystrokeArray();
-    CDesCArrayFlat* showKeystrokeArray = popup->ShowKeystrokeArray();
-    CDesCArrayFlat* chooseChineseArray = popup->ChooseChineseCharacterArray();
-    CDesCArrayFlat* chooseChienseKeystroke = popup->ChooseChineseCharacterArrayKeystroke();
-    
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    TInt pinyinCount = ptiengine->PhoneticSpellingCount();
-    chooseChineseArray->Reset();
-    chooseChienseKeystroke->Reset();
-    
-    if ( 0 == pinyinCount )
-        {
-        keystrokeArray->Reset();
-        inEffectKeystrokeArray->Reset();
-        showKeystrokeArray->Reset();
-        }
-    }
-
-// ---------------------------------------------------------
-// Get tome mark.
-// ---------------------------------------------------------
-//
-void TAknFepInputStateEntryPinyinPhrase::GetPinyinToneMark( const CDesCArrayFlat& aKeystrokeArray, TDes& aPinyinToneMark )
-    {
-    TInt starCount = 0;
-    TInt pinyinToneMark;
-    TBuf<1> buf;
-    TInt count = aKeystrokeArray.Count();
-    const TInt toneMark0 = 0;
-    const TInt toneMark1 = 1;
-    const TInt toneMark2 = 2;
-    const TInt toneMark3 = 3;
-    const TInt toneMark4 = 4;
-    
-    if ( 0 == count )
-        {
-        aPinyinToneMark.Append( KPinyinTone0Valid );
-        return;
-        }
-    
-    for ( TInt i = count - 1; i >= 0; --i )
-        {
-        buf = aKeystrokeArray.MdcaPoint( i );
-        if ( 0 == buf.Compare( KPinyinStar ) )
-            {
-            starCount = starCount + 1; 
-            }
-        else
-            {
-            break;
-            }
-        }
-    
-    if ( 0 == starCount )
-        {
-        aPinyinToneMark.Append( KPinyinTone0Valid );
-        }
-    else
-        {
-        pinyinToneMark = starCount % KMaxStarCount;
-        switch ( pinyinToneMark )
-            {
-            case toneMark0:
-                aPinyinToneMark.Append( KPinyinTone4Valid );
-                break;
-            case toneMark1:
-                aPinyinToneMark.Append( KPinyinTone0Valid );
-                break;
-            case toneMark2:
-                aPinyinToneMark.Append( KPinyinTone1Valid );
-                break;
-            case toneMark3:
-                aPinyinToneMark.Append( KPinyinTone2Valid );
-                break;
-            case toneMark4:
-                aPinyinToneMark.Append( KPinyinTone3Valid );
-                break;
-            default:
-               break;
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// Check keystroke.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputStateEntryPinyinPhrase::CheckKeystroke( TInt aKey, const CDesCArrayFlat& aKeystrokeArray )
-    {
-    CDesCArrayFlat* showKeystrokeArray = UIContainer()->
-        PinyinPopupWindow()->ShowKeystrokeArray();
-    
-    TInt count = showKeystrokeArray->Count();
-    TBuf<1> keyBuf;
-    
-    if ( count >= KMaxShowKeystrokeCount )
-        {
-        if ( ( 0 != aKeystrokeArray.MdcaPoint( aKeystrokeArray.Count() - 1 ).
-            Compare( KPinyinStar ) ) || ( aKey != EPtiKeyStar )  )
-            {
-            return EFalse;
-            }
-        }
-    
-    GetKeystrokeNum( aKey, keyBuf );
-
-    if ( 0 == aKeystrokeArray.Count() )
-        {        
-        if ( ( 0 == keyBuf.Compare ( KPinyinStar ) ) || ( 0 == keyBuf.Compare ( KPinyinListSeparator ) ) )
-            {
-            return EFalse;
-            }        
-        }
-    else
-        {
-        if ( 0 == aKeystrokeArray.MdcaPoint( aKeystrokeArray.Count() - 1 ).Compare( KPinyinStar ) && 
-            ( 0 == keyBuf.Compare ( KPinyinListSeparator ) ) )
-            {
-            return EFalse;
-            }
-        
-        if ( 0 == aKeystrokeArray.MdcaPoint( aKeystrokeArray.Count() - 1 ).Compare( KPinyinListSeparator ) && 
-            ( 0 == keyBuf.Compare ( KPinyinStar ) ) )
-            {
-            return EFalse;
-            }
-        }
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// Check tome mark.
-// ---------------------------------------------------------
-//
-void TAknFepInputStateEntryPinyinPhrase::CheckTonemarkL()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlPinyinPopup* popup = UIContainer()->PinyinPopupWindow();
-    CDesCArrayFlat* keystrokeArray = popup->KeystrokeArray();
-    CDesCArrayFlat* inEffectKeystrokeArray = popup->InEffectKeystrokeArray();
-    CDesCArrayFlat* showKeystrokeArray = popup->ShowKeystrokeArray();
-    CDesCArrayFlat* spelling = popup->OptimizeSpelling();
-
-    TInt tonemarkCount = 0;
-    TInt spellTonemarkCount = 0;
-    TInt keystrokeStarCount = 0;
-
-    TInt offset = 0;
-    TInt i = 0;
-    TBool checkReturn = EFalse;
-    
-    TBuf<1> buf;
-    TBuf<1> lastTonemark;
-    TBuf<1> lastSpellTonemark;
-    TBuf<1> tonmarkBuf0;
-    TBuf<1> tonmarkBuf1;
-    TBuf<1> tonmarkBuf2;
-    TBuf<1> tonmarkBuf3;
-    TBuf<1> tonmarkBuf4;
-    TBuf<KMaxPinyinLength> spellBuf;
-    
-    tonmarkBuf0.Append( KPinyinTone0Valid );
-    tonmarkBuf1.Append( KPinyinTone1Valid );
-    tonmarkBuf2.Append( KPinyinTone2Valid );
-    tonmarkBuf3.Append( KPinyinTone3Valid );
-    tonmarkBuf4.Append( KPinyinTone4Valid );
-    
-    if ( 0 == inEffectKeystrokeArray->Count() )
-        {
-        popup->SetTonemarkState( EFalse );
-        return;
-        }
-    
-    if ( keystrokeArray->Count() > inEffectKeystrokeArray->Count() )
-        {
-        popup->SetTonemarkState( EFalse );
-        return;
-        }
-    
-    for ( i = 0; i < showKeystrokeArray->Count(); ++i )
-        {
-        buf.Copy( showKeystrokeArray->MdcaPoint( i ) );
-        if ( 0 == buf.Compare( tonmarkBuf0 ) )
-            {
-            tonemarkCount = tonemarkCount + 1;
-            lastTonemark.Copy( showKeystrokeArray->MdcaPoint( i ) );
-            }
-        else if ( 0 == buf.Compare( tonmarkBuf1 ) )
-            {
-            tonemarkCount = tonemarkCount + 1;
-            lastTonemark.Copy( showKeystrokeArray->MdcaPoint( i ) );
-            }
-        else if ( 0 == buf.Compare( tonmarkBuf2 ) )
-            {
-            tonemarkCount = tonemarkCount + 1;
-            lastTonemark.Copy( showKeystrokeArray->MdcaPoint( i ) );
-            }
-        else if ( 0 == buf.Compare( tonmarkBuf3 ) )
-            {
-            tonemarkCount = tonemarkCount + 1;
-            lastTonemark.Copy( showKeystrokeArray->MdcaPoint( i ) );
-            }
-        else if ( 0 == buf.Compare( tonmarkBuf4 ) )
-            {
-            tonemarkCount = tonemarkCount + 1;
-            lastTonemark.Copy( showKeystrokeArray->MdcaPoint( i ) );
-            }
-        }
-    
-    if ( 0 == tonemarkCount )
-        {
-        popup->SetTonemarkState( ETrue );
-        return;
-        }
-
-    for( i = 0; i < inEffectKeystrokeArray->Count(); ++i )
-        {
-        if ( 0 == inEffectKeystrokeArray->MdcaPoint( 
-            inEffectKeystrokeArray->Count() - 1 - i ).Compare( KPinyinStar ) )
-            {
-            keystrokeStarCount = keystrokeStarCount + 1;
-            }
-        else
-            {
-            break;
-            }
-        }
-    if ( keystrokeStarCount > 1 )
-        {
-        ptiengine->DeleteKeyPress();
-        }
-    
-    if ( keystrokeStarCount > KMaxStarCount )
-        {
-        offset = 1;
-        for ( i = 0; i < KMaxStarCount; ++i )
-            {
-            keystrokeArray->Delete( keystrokeArray->Count() - 1 );
-            inEffectKeystrokeArray->Delete( inEffectKeystrokeArray->Count() - 1 );
-            }
-        }
-    else
-        {
-        offset = keystrokeStarCount;
-        }
-    
-    if ( 0 == offset )
-        {
-        popup->SetTonemarkState( ETrue );
-        return;
-        }
-    else
-        {
-        for( i = 0; i < offset; ++i )
-            {
-            ptiengine->IncrementToneMark( ETrue );
-            spelling->Reset();
-            spelling->Compress();
-            ptiengine->GetPhoneticSpellingsL(*spelling);
-            for ( TInt j = 0; j < spelling->Count(); ++j )
-                {
-                spellTonemarkCount = 0;
-                spellBuf.Copy( spelling->MdcaPoint( j ) );
-                for ( TInt jj = 0; jj < spellBuf.Length(); ++jj )
-                    {
-                    if ( 0 == spellBuf.Mid( jj, 1 ).Compare( tonmarkBuf0 ) )
-                        {
-                        spellTonemarkCount = spellTonemarkCount + 1;
-                        lastSpellTonemark.Copy( tonmarkBuf0 );
-                        }
-                    else if ( 0 == spellBuf.Mid( jj, 1 ).Compare( tonmarkBuf1 ) )
-                        {
-                        spellTonemarkCount = spellTonemarkCount + 1;
-                        lastSpellTonemark.Copy( tonmarkBuf1 );
-                        }
-                    else if ( 0 == spellBuf.Mid( jj, 1 ).Compare( tonmarkBuf2 ) )
-                        {
-                        spellTonemarkCount = spellTonemarkCount + 1;
-                        lastSpellTonemark.Copy( tonmarkBuf2 );
-                        }
-                    else if ( 0 == spellBuf.Mid( jj, 1 ).Compare( tonmarkBuf3 ) )
-                        {
-                        spellTonemarkCount = spellTonemarkCount + 1;
-                        lastSpellTonemark.Copy( tonmarkBuf3 );
-                        }
-                    else if ( 0 == spellBuf.Mid( jj, 1 ).Compare( tonmarkBuf4 ) )
-                        {
-                        spellTonemarkCount = spellTonemarkCount + 1;
-                        lastSpellTonemark.Copy( tonmarkBuf4 );
-                        }
-                    }
-                
-                if ( ( tonemarkCount != spellTonemarkCount ) ||
-                    ( 0 != lastSpellTonemark.Compare( lastTonemark ) ))
-                    {
-                    checkReturn = EFalse;
-                    break;
-                    }
-                else
-                    {
-                    checkReturn = ETrue;
-                    }
-                }
-            if ( checkReturn )
-                {
-                break;
-                }
-            }
-        }
-    
-    spelling->Reset();
-    spelling->Compress();
-    
-    if ( checkReturn )
-        {
-        popup->SetTonemarkState( ETrue );
-        return;
-        }
-    else
-        {
-        popup->SetTonemarkState( EFalse );
-        return;
-        }
-    
-    }
-
-// ---------------------------------------------------------
-// Get change state.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputStateEntryPinyinPhrase::GetChangeState()
-    {
-    MAknFepUICtrlPinyinPopup* popup = UIContainer()->PinyinPopupWindow();
-    CDesCArrayFlat* KeystrokeArray = popup->KeystrokeArray();
-    CDesCArrayFlat* inEffectKeystrokeArray = popup->InEffectKeystrokeArray();
-    TInt firstIndex = -1;
-    TInt count = inEffectKeystrokeArray->Count() - 1;
-    
-
-    
-    if ( 2 > inEffectKeystrokeArray->Count() )
-        {
-        return ETrue;
-        }
-    
-    for ( TInt i = count; i >= 0; i-- )
-        {
-        if ( 0 != inEffectKeystrokeArray->MdcaPoint( i ).
-            Compare( KPinyinStar ) )
-            {
-            firstIndex = i;
-            break;
-            }
-        }
-    
-    if ( ( 0 == firstIndex ) && ( !popup->GetTonemarkState() ) )
-        {
-        return EFalse;
-        }
-    
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// Append show keystroke.
-// ---------------------------------------------------------
-//
-void TAknFepInputStateEntryPinyinPhrase::ShowKeystrokeAppendL( 
-                                          CDesCArrayFlat& aShowKeystrokeArray, 
-                                          const CDesCArrayFlat& aKeystrokeArray, 
-                                          const TDesC& aPinyinToneMark )
-    {
-    TInt showCount = 0;
-    TInt count = 0;
-    TBuf<1> buf;
-    count = aKeystrokeArray.Count();
-    showCount = aShowKeystrokeArray.Count();
-    
-    if ( ( count > 2 ) && ( showCount > 1 ) )
-        {
-        if ( 0 == aKeystrokeArray.MdcaPoint( count - 2 ).Compare( KPinyinStar ) )
-            {
-            aShowKeystrokeArray.Delete( showCount - 1 );
-            aShowKeystrokeArray.Compress();
-            aShowKeystrokeArray.AppendL( aPinyinToneMark );
-            }
-        else
-            {
-            aShowKeystrokeArray.AppendL( aPinyinToneMark );
-            }
-        }
-    else
-        {
-        aShowKeystrokeArray.AppendL( aPinyinToneMark );
-        }
-    }
-
-// ---------------------------------------------------------
-// change  CBA.
-// ---------------------------------------------------------
-//
-void TAknFepInputStateEntryPinyinPhrase::ChangeCbaL()
-    {
-    MAknFepUICtrlPinyinPopup* popup = UIContainer()->PinyinPopupWindow();
-    TInt lastRes = popup->GetLastResouce();
-    if ( lastRes == R_AKNFEP_SOFTKEYS_PHRASE_CREATION_SELECT_CANCEL_SELECT )
-        {
-        return;
-        }
-    iOwner->FepMan()->UpdateCbaL( R_AKNFEP_SOFTKEYS_PHRASE_CREATION_SELECT_CANCEL_SELECT );
-    popup->SetLastResouce( R_AKNFEP_SOFTKEYS_PHRASE_CREATION_SELECT_CANCEL_SELECT );
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateEntryQwertyBase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,152 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepUIInputStateEntryQwertyBase methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUICtrlInputPane.h"
-#include "AknFepUiInputStateEntryQwertyBase.h"
-
-#include <PtiEngine.h>      //CPtiEngine
-#include <e32keys.h>        //keys  
-#include <avkon.rsg>
-
-const TText KPinyinTone4Valid = 0x02D9;
-const TText KPinyinTone4Invalid = 0x0020;
-
-TAknFepInputStateEntryQwertyBase::TAknFepInputStateEntryQwertyBase(
-                               MAknFepUIManagerStateInterface* aOwner,
-                               MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateCandidateQwerty(aOwner,aUIContainer)                           
-    {
-    iState = EEntry;
-
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    uiContainer->ShowHorizontalScrollArrows(EFalse);
-    uiContainer->FocusCandidatePane(ETrue);
-
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-    candidatePane->SetHighlighted(ETrue);
-    candidatePane->SelectFirst();
-    uiContainer->SetLayout(MAknFepUICtrlContainerChinese::ELayoutInput);
-    }
-
-TBool TAknFepInputStateEntryQwertyBase::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    TBool ret = ETrue;
-    
-    if(aKey == EStdKeyBackspace)
-        {
-		if (iOwner->PtiEngine()->DeleteKeyPress().Length())
-            {
-            TBool multiplePages = ptiengine->MoreCandidatePages();
-            TInt bufLength = ptiengine->CandidatePage().Length();
-            TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-        
-            UIContainer()->ShowHorizontalScrollArrows(showHorizontalScrollArrows);
-            uiContainer->ShowVerticalScrollArrows(ptiengine->MoreCandidatePages());
-            SetInputPaneToneMark();
-            RefreshUI();
-            }
-        else
-            {
-            iOwner->FepMan()->TryCloseUiL();
-            }
-        }
-    else if((aLength == EShortKeyPress) && iOwner->IsValidChineseInputKeyQwerty(aKey))
-        {
-        ptiengine->AppendKeyPress((TPtiKey)aKey);
-
-        TBool multiplePages = ptiengine->MoreCandidatePages();
-        TInt bufLength = ptiengine->CandidatePage().Length();
-        TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-        
-        UIContainer()->ShowHorizontalScrollArrows(showHorizontalScrollArrows);
-        uiContainer->ShowVerticalScrollArrows(ptiengine->MoreCandidatePages());
-        SetInputPaneToneMark();
-        RefreshUI();
-        }
-    else 
-        {
-        ret = TAknFepInputStateCandidateQwertyBase::HandleKeyL(aKey, aLength);
-        }
-    return ret;
-    }
-
-void TAknFepInputStateEntryQwertyBase::RefreshUI()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlInputPane* inputPane = uiContainer->InputPane();
-    
-    // set container's position
-    TPoint baseLine = TPoint(0,0);
-    TInt height = 0;
-    TInt ascent = 0;
-    TRAPD(ret,iOwner->FepMan()->GetScreenCoordinatesL(baseLine,height,ascent));
-    if (ret == KErrNone)
-        {
-        uiContainer->SetContainerPosition(baseLine, height);    
-        }
-    
-    TText toneMark;
-    TBool toneMarkEntered = ptiengine->ToneMark(toneMark);
-    TBuf<1> validToneMarkBuf;
-    if(toneMarkEntered)
-        {
-        // override specific invalid tonemark character only, the others are the same character 
-        // when both valid and invalid
-        if(toneMark == KPinyinTone4Invalid)
-            toneMark = KPinyinTone4Valid;
-        validToneMarkBuf.Append(toneMark);
-        }
-    
-    ptiengine->EnableToneMarks(ETrue);
-    TPtrC candidates = ptiengine->CandidatePage();
-    uiContainer->CandidatePane()->SetCandidateBuffer(candidates);
-    uiContainer->Enable(ETrue);
-    uiContainer->CandidatePane()->SelectFirst();
-    TPtrC ptr = ptiengine->GetPhoneticSpelling(1);
-    inputPane->SetText(ptr);
-    inputPane->SetToneMark(validToneMarkBuf);  
-    }
-
-void TAknFepInputStateEntryQwertyBase::SetInputPaneToneMark()
-    {
-    }
-
-void TAknFepInputStateEntryQwertyBase::InitializeStateL(void)
-    {
-    iOwner->FepMan()->UpdateCbaL(R_AVKON_SOFTKEYS_EMPTY);
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateEntryQwertyBaseChinesePhrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +0,0 @@
-/*
-* 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:            Implementation of entry qwertybase chinese phrase state
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUICtrlInputPane.h"
-#include "AknFepUiInputStateEntryQwertyBaseChinesePhrase.h"
-
-#include <PtiEngine.h>      //CPtiEngine
-#include <e32keys.h>        //keys  
-#include <avkon.rsg>
-
-const TInt KMaxPhraseCount = 50;
-
-TAknFepInputStateEntryQwertyBaseChinesePhrase::TAknFepInputStateEntryQwertyBaseChinesePhrase(
-    MAknFepUIManagerStateInterface* aOwner,
-    MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateCandidateQwertyChinesePhrase(aOwner,aUIContainer)                           
-    {
-    iState = EEntry;
-
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-    TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() &&
-                            uiContainer->CandidatePane()->IsFirstPage());
-    TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-
-    iOwner->PtiEngine()->SetCandidatePageLength(KMaxPhraseCount);
-    uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows); 
-    uiContainer->ShowVerticalScrollArrows(multiplePages);
-    uiContainer->FocusCandidatePane(ETrue);
-    candidatePane->SetHighlighted(ETrue);
-    candidatePane->SelectFirstPhrase();
-    candidatePane->ShowCandidateOrdinals(ETrue);
-    uiContainer->SetLayout(MAknFepUICtrlContainerChinese::ELayoutInput);
-    UpdateIndicator();
-    }
-
-TBool TAknFepInputStateEntryQwertyBaseChinesePhrase::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlInputPane* inputPane = uiContainer->InputPane();
-    
-    TBool ret = ETrue;
-
-    if(aKey == EStdKeyBackspace)
-        {
-        if (iOwner->PtiEngine()->DeleteKeyPress().Length())
-            {
-            uiContainer->ShowVerticalScrollArrows(!(uiContainer->CandidatePane()->IsLastPage() &&
-                                                    uiContainer->CandidatePane()->IsFirstPage()));
-            SetInputPaneToneMark();
-            inputPane->SetFlag(MAknFepUICtrlInputPane::EPhoneticChanged);
-            RefreshUI();
-            }
-        else
-            {
-            iOwner->FepMan()->TryCloseUiL();
-            }
-        }
-    else if(aLength == EShortKeyPress && iOwner->IsValidChineseInputKeyQwerty(aKey) )
-        {
-        ptiengine->AppendKeyPress((TPtiKey)aKey);
-        uiContainer->ShowVerticalScrollArrows(!(uiContainer->CandidatePane()->IsLastPage() &&
-                                                uiContainer->CandidatePane()->IsFirstPage()));
-        SetInputPaneToneMark();
-        inputPane->SetFlag(MAknFepUICtrlInputPane::EPhoneticChanged);
-        RefreshUI();
-        }
-    else
-        {
-        ret = TAknFepInputStateCandidateQwertyBaseChinesePhrase::HandleKeyL(aKey,aLength);
-        }
-
-    return ret;
-    }
-
-void TAknFepInputStateEntryQwertyBaseChinesePhrase::RefreshUI()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlInputPane* inputPane = uiContainer->InputPane();
-    
-    // get cursor position
-    TPoint baseLine = TPoint(0,0);
-    TInt height = 0;
-    TInt ascent = 0;
-    TRAPD(ret,iOwner->FepMan()->GetScreenCoordinatesL(baseLine,height,ascent));
-    if (ret == KErrNone)
-        {
-        uiContainer->SetContainerPosition(baseLine, height);    
-        }
-
-    // layout candidate and fill candidate buffer for first display page
-    TInt candidateCount = 0;
-    if(inputPane->IsFlagSet(MAknFepUICtrlInputPane::EPhoneticChanged))
-        {
-        inputPane->ClearFlag(MAknFepUICtrlInputPane::EPhoneticChanged);
-        TRAPD(ignore,
-              candidateCount = ptiengine->GetChinesePhraseCandidatesL(
-                    *(uiContainer->CandidatePane()->CandidateArray())));
-        if(candidateCount == 0 || ignore != KErrNone)
-            {
-            return;
-            }    
-        uiContainer->CandidatePane()->SplitPhraseCandidatesIntoPages();
-        }
- 
-    uiContainer->Enable(ETrue);
-    uiContainer->CandidatePane()->SetCandidateBuffer();
- 
-    TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() &&
-                            uiContainer->CandidatePane()->IsFirstPage());
-    TInt bufLength = ptiengine->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-        
-    UIContainer()->ShowHorizontalScrollArrows(showHorizontalScrollArrows);
-    UIContainer()->ShowVerticalScrollArrows(multiplePages);
-    uiContainer->CandidatePane()->SelectFirstPhrase();
-    
-    TPtrC ptr = ptiengine->GetPhoneticSpelling(1);
-    inputPane->SetText(ptr);
-    UpdateIndicator();
-    }
-
-void TAknFepInputStateEntryQwertyBaseChinesePhrase::SetInputPaneToneMark()
-    {
-    }
-
-void TAknFepInputStateEntryQwertyBaseChinesePhrase::InitializeStateL(void)
-    {
-    iOwner->FepMan()->UpdateCbaL(R_AVKON_SOFTKEYS_EMPTY);
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateEntryQwertyBasePhrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepUIInputStateEntryQwertyBasePhrase methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUICtrlInputPane.h"
-#include "AknFepUiInputStateEntryQwertyBasePhrase.h"
-
-#include <PtiEngine.h>      //CPtiEngine
-#include <e32keys.h>        //keys  
-#include <avkon.rsg>
-
-TAknFepInputStateEntryQwertyBasePhrase::TAknFepInputStateEntryQwertyBasePhrase(
-                               MAknFepUIManagerStateInterface* aOwner,
-                               MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateCandidateQwertyPhrase(aOwner,aUIContainer)                           
-    {
-    iState = EEntry;
-
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-    TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() &&
-                            uiContainer->CandidatePane()->IsFirstPage());
-    TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-
-    uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows); 
-    uiContainer->ShowVerticalScrollArrows(multiplePages);
-    uiContainer->FocusCandidatePane(ETrue);
-    candidatePane->SetHighlighted(ETrue);
-    candidatePane->SelectFirstPhrase();
-    candidatePane->ShowCandidateOrdinals(ETrue);
-    uiContainer->SetLayout(MAknFepUICtrlContainerChinese::ELayoutInput);
-    }
-
-TBool TAknFepInputStateEntryQwertyBasePhrase::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlInputPane* inputPane = uiContainer->InputPane();
-    
-    TBool ret = ETrue;
-
-    if(aKey == EStdKeyBackspace)
-        {
-        if (iOwner->PtiEngine()->DeleteKeyPress().Length())
-            {
-            uiContainer->ShowVerticalScrollArrows(!(uiContainer->CandidatePane()->IsLastPage() &&
-                                                    uiContainer->CandidatePane()->IsFirstPage()));
-            SetInputPaneToneMark();
-            inputPane->SetFlag(MAknFepUICtrlInputPane::EPhoneticChanged);
-            RefreshUI();
-            }
-        else
-            {
-            iOwner->FepMan()->TryCloseUiL();
-            }
-        }
-    else if(aLength == EShortKeyPress && iOwner->IsValidChineseInputKeyQwerty(aKey) )
-        {
-        ptiengine->AppendKeyPress((TPtiKey)aKey);
-        uiContainer->ShowVerticalScrollArrows(!(uiContainer->CandidatePane()->IsLastPage() &&
-                                                uiContainer->CandidatePane()->IsFirstPage()));
-        SetInputPaneToneMark();
-        inputPane->SetFlag(MAknFepUICtrlInputPane::EPhoneticChanged);
-        RefreshUI();
-        }
-    else
-        {
-        ret = TAknFepInputStateCandidateQwertyBasePhrase::HandleKeyL(aKey,aLength);
-        }
-
-    return ret;
-    }
-
-void TAknFepInputStateEntryQwertyBasePhrase::RefreshUI()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlInputPane* inputPane = uiContainer->InputPane();
-    
-    // get cursor position
-    TPoint baseLine = TPoint(0,0);
-    TInt height = 0;
-    TInt ascent = 0;
-    TRAPD(ret,iOwner->FepMan()->GetScreenCoordinatesL(baseLine,height,ascent));
-    if (ret == KErrNone)
-        {
-        uiContainer->SetContainerPosition(baseLine, height);    
-        }
-
-    // layout candidate and fill candidate buffer for first display page
-    TInt candidateCount = 0;
-    if(inputPane->IsFlagSet(MAknFepUICtrlInputPane::EPhoneticChanged))
-        {
-        inputPane->ClearFlag(MAknFepUICtrlInputPane::EPhoneticChanged);
-        TRAPD(ignore,
-              candidateCount = ptiengine->GetChinesePhraseCandidatesL(
-                   *(uiContainer->CandidatePane()->CandidateArray())));
-        if(candidateCount == 0 || ignore != KErrNone)
-            {
-            return;
-            }    
-        uiContainer->CandidatePane()->SplitPhraseCandidatesIntoPages();
-        }
- 
-    uiContainer->Enable(ETrue);
-    uiContainer->CandidatePane()->SetCandidateBuffer();
- 
-    TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() &&
-                            uiContainer->CandidatePane()->IsFirstPage());
-    TInt bufLength = ptiengine->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-        
-    UIContainer()->ShowHorizontalScrollArrows(showHorizontalScrollArrows);
-    UIContainer()->ShowVerticalScrollArrows(multiplePages);
-    uiContainer->CandidatePane()->SelectFirstPhrase();
-    
-    TPtrC ptr = ptiengine->GetPhoneticSpelling(1);
-    inputPane->SetText(ptr);
-    }
-
-void TAknFepInputStateEntryQwertyBasePhrase::SetInputPaneToneMark()
-    {
-    }
-
-void TAknFepInputStateEntryQwertyBasePhrase::InitializeStateL(void)
-    {
-    iOwner->FepMan()->UpdateCbaL(R_AVKON_SOFTKEYS_EMPTY);
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateEntryQwertyCangJie.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepUIInputStateEntryQwertyCangJie methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-#include "AknFepUiInputStateEntryQwertyCangJie.h"
-#include "AknFepUICtrlCandidatePane.h"
-
-#include <PtiEngine.h>      //CPtiEngine
-#include <e32keys.h>        //keys  
-#include <avkon.hrh>
-
-const TInt KEasyCangJieLengthLimit(2);      // Spelling limit for Easy CangJie is 2 characters
-const TInt KNormalAdvCangJieLengthLimit(5); // Spelling limit for Normal and Advanced CangJie is 5 characters
-
-TAknFepInputStateEntryQwertyCangJie::TAknFepInputStateEntryQwertyCangJie(
-                               MAknFepUIManagerStateInterface* aOwner,
-                               MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateEntryQwertyBase(aOwner,aUIContainer)                           
-    {
-    UIContainer()->CandidatePane()->ShowCandidateOrdinals(ETrue);
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-
-    ptiengine->SetInputMode( ( TPtiEngineInputMode )iOwner->FepMan()->CangJieMode() );
-
-    // This is a must otherwise Engine cannot find keys in KeyMapping
-    ptiengine->SetCase(EPtiCaseLower);
-    ptiengine->SetCandidatePageLength(MAknFepUICtrlContainerChinese::ELayoutInput);
-    }
-
-TBool TAknFepInputStateEntryQwertyCangJie::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    TPtiEngineInputMode currentMode = ptiengine->InputMode();
-
-    TBool processKey = ETrue;
-
-    if (!IsValidCangJieCode(aKey))
-        return TAknFepInputStateEntryQwertyBase::HandleKeyL(aKey, aLength);
-    
-    TInt bufferLength = 0;
-    TInt lengthLimit = 0;
-    // Limit the length of the key append for different CangJie level
-    switch(currentMode)
-        {
-        case EPtiEngineEasyCangjieQwerty:
-            lengthLimit = KEasyCangJieLengthLimit;
-            break;
-        case EPtiEngineNormalCangjieQwerty:
-        case EPtiEngineAdvCangjieQwerty:
-            lengthLimit = KNormalAdvCangJieLengthLimit;
-            break;
-        default:
-            break;
-        }
-        
-    if (ptiengine->PhoneticSpellingCount() > 0)
-        {
-        TPtrC spellingBuf = ptiengine->GetPhoneticSpelling(1);
-        bufferLength = spellingBuf.Length();
-        
-        if (bufferLength >= lengthLimit)
-            {
-            processKey = EFalse;
-            fepMan->PlaySound(EAvkonSIDConfirmationTone);
-            }
-        }    
-
-    return processKey ? TAknFepInputStateEntryQwertyBase::HandleKeyL(aKey, aLength) : ETrue;
-    }
-
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateEntryQwertyPinyin.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,333 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the CAknFepUIInputStateEntryQwertyPinyin methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUICtrlInputPane.h"
-#include "AknFepUiInputStateEntryQwertyPinyin.h"
-#include "AknFepManager.h"                  //FepMan flag
-
-#include <PtiEngine.h>      //CPtiEngine
-#include <e32keys.h>        //keys  
-#include <avkon.rsg>
-
-const TText KPinyinTone4Valid = 0x02D9;
-const TText KPinyinTone4Invalid = 0x0020;
-const TInt KMaxCandidateCountFromCore = 6;
-
-TAknFepInputStateEntryQwertyPinyin::TAknFepInputStateEntryQwertyPinyin(
-                               MAknFepUIManagerStateInterface* aOwner,
-                               MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateEntryQwertyBase(aOwner,aUIContainer)                           
-    {
-    UIContainer()->CandidatePane()->ShowCandidateOrdinals(ETrue);
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    ptiengine->SetInputMode(EPtiEnginePinyinQwerty);
-    ptiengine->SetCase(EPtiCaseLower);
-    ptiengine->SetCandidatePageLength(MAknFepUICtrlContainerChinese::ELayoutInput);
-    UpdateIndicator();
-    }
-
-TBool TAknFepInputStateEntryQwertyPinyin::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();    
-    TBool ret = ETrue;
-
-    if((aKey == EStdKeyLeftFunc) && (aLength == EShortKeyPress))
-        {
-        if(ptiengine->IncrementToneMark(ETrue))
-            {
-            RefreshUI();
-            }
-        }
-    else if(aKey == EStdKeyBackspace)
-        {
-		if (iOwner->PtiEngine()->DeleteKeyPress().Length())
-            {
-            RefreshUI();
-            }
-        else
-            {
-            iOwner->FepMan()->TryCloseUiL();
-            if (aLength == ELongKeyPress)
-                {
-                iOwner->FepMan()->SetLongClearAfterCloseUI(ETrue);
-                }
-            }
-        }        
-    else if((aLength == EShortKeyPress) && iOwner->IsValidChineseInputKeyQwerty(aKey))
-        {
-        TInt stringBeforeLength(0);
-        TInt stringAfterLength(0);
-        
-        stringBeforeLength = ptiengine->GetPhoneticSpelling(1).Length();
-        stringAfterLength = ptiengine->AppendKeyPress((TPtiKey)aKey).Length();
-        
-        if (stringBeforeLength != stringAfterLength)
-            {
-            if (ptiengine->GetPhoneticSpelling(1).Length() == 1)
-            {
-            iOwner->FepMan()->UpdateCbaL(R_AVKON_SOFTKEYS_EMPTY);
-            }            
-            RefreshUI();
-            }
-	    else
-	        {
-	        iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-	        }            
-        
-        if (ptiengine->GetPhoneticSpelling(1).Length() == 0)
-            {
-            iOwner->FepMan()->UpdateCbaL(NULL);
-            }
-        }        
-    else if(aKey == EStdKeyDevice1)
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        }
-    else if(!( HandleVerticalNavigation(aKey) || HandleHorizontalNavigation(aKey) ))
-        {
-        // it may be one of the 'valid' numbers..
-        TInt index = MapKeyToIndex(aKey);
-        MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-
-        if(candidatePane->SelectIndex(index) || aKey == EStdKeyDevice3 || aKey == EStdKeyEnter)
-            {
-            TPtrC text = candidatePane->CurrentCandidate();
-            if(text.Length())
-                {            
-                MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-                iOwner->FepMan()->NewCharacterL(text);
-                iOwner->FepMan()->CommitInlineEditL();
-                if (iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagEditorFull))
-                    {
-                    iOwner->FepMan()->ClearFlag(CAknFepManager::EFlagEditorFull);
-                    iOwner->FepMan()->TryCloseUiL();
-                    }
-                else
-                    {
-                    iOwner->ChangeState(EPredictiveInput);
-                    }
-                }
-            else
-                {
-                // No candidates available. Back to Entry state.
-                iOwner->ChangeState(EEntry);
-                }
-            }
-        }
-    return ret;
-    }
-
-void TAknFepInputStateEntryQwertyPinyin::RefreshUI()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlInputPane* inputPane = uiContainer->InputPane();
-    
-    SetInputPaneToneMark();    
-
-    TPtrC ptr = ptiengine->GetPhoneticSpelling(1);
-    TBool multiplePages = ptiengine->MoreCandidatePages();
-    TInt bufLength = ptiengine->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-            
-    UIContainer()->ShowHorizontalScrollArrows(showHorizontalScrollArrows); 
-    UIContainer()->ShowVerticalScrollArrows(multiplePages);
-    
-    // set container's position
-    TPoint baseLine = TPoint(0,0);
-    TInt height = 0;
-    TInt ascent = 0;
-    TRAPD(ret,iOwner->FepMan()->GetScreenCoordinatesL(baseLine,height,ascent));
-    if (ret == KErrNone)
-        {
-        uiContainer->SetContainerPosition(baseLine, height);    
-        }
-  
-    TText toneMark;
-    TBool toneMarkEntered = ptiengine->ToneMark(toneMark);
-    TBuf<1> validToneMarkBuf;
-    if(toneMarkEntered)
-        {
-        // override specific invalid tonemark character only, the others are the same character 
-        // when both valid and invalid
-        if(toneMark == KPinyinTone4Invalid)
-            toneMark = KPinyinTone4Valid;
-        validToneMarkBuf.Append(toneMark);
-        }
-
-    ptiengine->EnableToneMarks(ETrue);
- 
-    if (ptr.Length() > 0)
-        {
-        TPtrC candidates = ptiengine->CandidatePage();
-        uiContainer->CandidatePane()->SetCandidateBuffer(candidates);
-        uiContainer->Enable(ETrue);
-        uiContainer->CandidatePane()->SelectFirst();
-        
-        inputPane->SetText(ptr);
-        inputPane->SetToneMark(validToneMarkBuf);  
-     
-        UpdateIndicator();
-        }
-    }
-    
-TBool TAknFepInputStateEntryQwertyPinyin::HandleHorizontalNavigation(TInt aKey)
-    {
-    MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    TBool response = EFalse;
-
-    // Do navigation...
-    if (aKey == EStdKeyLeftArrow)
-        {
-        if (candidatePane->SelectedIndex() == 0 && 
-            ptiengine->NumberOfCandidates() == 0)
-            {
-            return ETrue;
-            }
-        
-        if(!candidatePane->SelectPrev())
-            {
-            ptiengine->PreviousCandidatePage();
-            candidatePane->SetCandidateBuffer(ptiengine->CandidatePage());
-            candidatePane->SelectLast();
-            }
-        UpdateIndicator();            
-        response = ETrue;
-        }
-    else if (aKey == EStdKeyRightArrow)
-        {
-        TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-        
-        if (bufLength != KMaxCandidateCountFromCore &&
-            candidatePane->SelectedIndex() == (bufLength -1))
-            {
-			return ETrue;
-            }
-        
-        if(!candidatePane->SelectNext())
-            {
-            ptiengine->NextCandidatePage();
-            candidatePane->SetCandidateBuffer(ptiengine->CandidatePage());
-            candidatePane->SelectFirst();
-            }
-        UpdateIndicator();    
-        response = ETrue;
-        }
-    return response;
-    }
-
-TBool TAknFepInputStateEntryQwertyPinyin::HandleVerticalNavigation(TInt aKey)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-
-    if (aKey == EStdKeyDownArrow || aKey == EStdKeySpace)
-        {
-        if (iOwner->PtiEngine()->CandidatePage().Length() != 
-            KMaxCandidateCountFromCore)
-            {
-            return ETrue;
-            }
-        ptiengine->NextCandidatePage();
-        }
-    else if (aKey == EStdKeyUpArrow)
-        {
-        if (ptiengine->NumberOfCandidates() == 0)
-            {								 
-            return ETrue;
-            }
-        ptiengine->PreviousCandidatePage();
-        }
-    else
-        {
-        return EFalse;
-        }
-
-    MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-    candidatePane->SelectFirst();
-    candidatePane->SetCandidateBuffer(ptiengine->CandidatePage());
-    UpdateIndicator();
-    return ETrue;
-    }
- 
- void TAknFepInputStateEntryQwertyPinyin::UpdateIndicator()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();        
-    TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-        
-    if (ptiengine->NumberOfCandidates() == 0)
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows(EFalse);    
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows(ETrue);    
-        }
-    
-    uiContainer->CandidatePane()->ShowDownScrollArrows
-        (bufLength == KMaxCandidateCountFromCore ? ETrue : EFalse);
-        
-    if (candidatePane->SelectedIndex() == 0 && 
-        ptiengine->NumberOfCandidates() == 0)
-        {
-        uiContainer->CandidatePane()->ShowLeftScrollArrows(EFalse);
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowLeftScrollArrows(ETrue);
-        }
-        
-    if (bufLength != KMaxCandidateCountFromCore &&
-        candidatePane->SelectedIndex() == (bufLength -1))
-        {
-        uiContainer->CandidatePane()->ShowRightScrollArrows(EFalse);        
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowRightScrollArrows(ETrue);
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryQwertyPinyin::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
- void TAknFepInputStateEntryQwertyPinyin::HandleCommandL( TInt aCommandId )
-    {
-    TAknFepInputStateChineseBase::HandleCommandL( aCommandId );
-    }
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateEntryQwertyPinyinPhrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,214 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the CAknFepUIInputStateEntryQwertyPinyinPhrase methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUICtrlInputPane.h"
-#include "AknFepUiInputStateEntryQwertyPinyinPhrase.h"
-#include "AknFepManager.h"  
-
-#include <PtiEngine.h>      //CPtiEngine
-#include <e32keys.h>        //keys  
-#include <avkon.rsg>
-
-const TInt KInputPaneLength = 32;
-_LIT(KSep, "'");
-_LIT(KReplace, "");
-
-TAknFepInputStateEntryQwertyPinyinPhrase::TAknFepInputStateEntryQwertyPinyinPhrase(
-                               MAknFepUIManagerStateInterface* aOwner,
-                               MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateEntryQwertyBaseChinesePhrase(aOwner,aUIContainer)                           
-    {
-    iOwner->PtiEngine()->SetInputMode(EPtiEnginePinyinPhraseQwerty);
-    iOwner->PtiEngine()->SetCase(EPtiCaseLower);
-    }
-
-TBool TAknFepInputStateEntryQwertyPinyinPhrase::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    TBool ret = ETrue;
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlInputPane* inputPane = uiContainer->InputPane();
-
-    if(aKey == EStdKeyLeftFunc && aLength == EShortKeyPress)
-        {
-        if(ptiengine->IncrementToneMark(ETrue))
-            {
-            TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() &&
-                                    uiContainer->CandidatePane()->IsFirstPage());
-            TInt bufLength = ptiengine->CandidatePage().Length();
-            TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-            
-            uiContainer->ShowVerticalScrollArrows(!(uiContainer->CandidatePane()->IsLastPage() &&
-                                                    uiContainer->CandidatePane()->IsFirstPage()));
-            uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows); 
-            uiContainer->InputPane()->SetFlag(MAknFepUICtrlInputPane::EPhoneticChanged);
-            SetInputPaneToneMark();
-            RefreshUI();
-            }
-        }
-    else if (iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagShiftKeyDepressed) ||
-             iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed))
-        {
-        ret = ETrue;
-        }        
-    else if(aLength == EShortKeyPress && iOwner->IsValidChineseInputKeyQwerty(aKey) )
-        {
-        if (!uiContainer->IsEnabled() && 
-            (aKey == EPtiKeyQwertyI || aKey == EPtiKeyQwertyU || aKey == EPtiKeyQwertyV))
-            {
-            iOwner->FepMan()->UpdateCbaL(NULL);
-            iOwner->ChangeState(EQwerty);
-            iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-            return ret;     
-            }
-
-        TInt stringBeforeLength(0);
-        TInt stringAfterLength(0);
-        
-        stringBeforeLength = ptiengine->GetPhoneticSpelling(1).Length();
-        stringAfterLength = ptiengine->AppendKeyPress((TPtiKey)aKey).Length();
-        
-        if (stringBeforeLength != stringAfterLength)
-            {
-            if (ptiengine->GetPhoneticSpelling(1).Length() == 1)
-                {
-                iOwner->FepMan()->UpdateCbaL(R_AVKON_SOFTKEYS_EMPTY);
-                }
-            
-            TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() &&
-                                    uiContainer->CandidatePane()->IsFirstPage());
-            TInt bufLength = ptiengine->CandidatePage().Length();
-            TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-        
-            uiContainer->ShowVerticalScrollArrows(!(uiContainer->CandidatePane()->IsLastPage() &&
-                                                    uiContainer->CandidatePane()->IsFirstPage()));
-            uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows);         
-            SetInputPaneToneMark();
-            uiContainer->InputPane()->SetFlag(MAknFepUICtrlInputPane::EPhoneticChanged);
-
-            RefreshUI();
-            }
-        else
-            {
-            iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-            }
-            
-        if (ptiengine->GetPhoneticSpelling(1).Length() == 0)
-            {
-            iOwner->FepMan()->UpdateCbaL(NULL);
-            }
-        }
-    else if(aKey == EStdKeyBackspace)
-        {
-        if (iOwner->PtiEngine()->DeleteKeyPress().Length())
-            {
-            MAknFepUICtrlInputPane* inputPane = uiContainer->InputPane();
-            uiContainer->ShowVerticalScrollArrows(!(uiContainer->CandidatePane()->IsLastPage() &&
-                                                    uiContainer->CandidatePane()->IsFirstPage()));
-            SetInputPaneToneMark();
-            inputPane->SetFlag(MAknFepUICtrlInputPane::EPhoneticChanged);
-            RefreshUI();
-            }
-        else
-            {
-            iOwner->FepMan()->TryCloseUiL();
-            if (aLength == ELongKeyPress)
-                {
-                iOwner->FepMan()->SetLongClearAfterCloseUI(ETrue);
-                }
-            }
-        }
-   else if (aKey == EStdKeyEnter)
-        {
-        TBuf<KInputPaneLength> currentText;
-        inputPane->GetText(currentText);
-        
-        while(currentText.Find(KSep)> 0)
-            {
-            currentText.Replace(currentText.Find(KSep), 1,KReplace);
-            }
-        
-        
-        if(currentText.Length())
-            {            
-            MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-            fepMan->NewTextL(currentText);
-            fepMan->CommitInlineEditL();
-            if (fepMan->IsFlagSet(CAknFepManager::EFlagEditorFull))
-                {
-                fepMan->ClearFlag(CAknFepManager::EFlagEditorFull);
-                iOwner->FepMan()->TryCloseUiL();
-                }
-            else
-                {
-                iOwner->FepMan()->TryCloseUiL();                
-                }
-            }
-        }
-    else if (aKey == EStdKeySpace)
-        {
-        TInt index = MapKeyToIndex(EStdKeyDevice3);
-        MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-
-        TPtrC text = candidatePane->CurrentPhraseCandidate();
-        if(text.Length())
-            {            
-            MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-            fepMan->NewTextL(text);
-            fepMan->CommitInlineEditL();
-            iOwner->PtiEngine()->SetPredictiveChineseChar(text);
-            if (fepMan->IsFlagSet(CAknFepManager::EFlagEditorFull))
-                {
-                fepMan->ClearFlag(CAknFepManager::EFlagEditorFull);
-                iOwner->FepMan()->TryCloseUiL();
-                }
-            else
-                {
-                iOwner->ChangeState(EPredictiveInput);
-                }
-            }
-        else
-            {
-            // No candidates available. Back to Entry state.
-            iOwner->ChangeState(EEntry);
-            }
-        }
-    else 
-        {
-        ret = TAknFepInputStateEntryQwertyBaseChinesePhrase::HandleKeyL(aKey, aLength);
-        }
-        
-    return ret;
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateEntryQwertyStroke.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,299 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the CAknFepUIInputStateEntryQwertyStroke methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-#include "AknFepUiInputStateEntryQwertyStroke.h"
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUICtrlInputPane.h"
-#include "AknFepManager.h"                  //FepMan flag
-
-#include <PtiEngine.h>      //CPtiEngine
-#include <e32keys.h>        //keys  
-
-const TInt KMaxCandidateCountFromCore = 6;
-
-TAknFepInputStateEntryQwertyStroke::TAknFepInputStateEntryQwertyStroke(
-                               MAknFepUIManagerStateInterface* aOwner,
-                               MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateEntryQwertyBase(aOwner,aUIContainer)                           
-    {
-    UIContainer()->CandidatePane()->ShowCandidateOrdinals(ETrue);
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    if (ptiengine->InputMode() != EPtiEngineStrokeQwerty)
-        {
-        ptiengine->SetInputMode(EPtiEngineStrokeQwerty);
-        }
-    
-    ptiengine->SetCase(EPtiCaseLower);
-    ptiengine->SetCandidatePageLength(MAknFepUICtrlContainerChinese::ELayoutInput);
-    }
-
-TBool TAknFepInputStateEntryQwertyStroke::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    TBool ret = ETrue;
-    
-    if((aLength == EShortKeyPress) && iOwner->IsValidChineseInputKeyQwerty(aKey))
-        {
-        TInt stringBeforeLength(0);
-        TInt stringAfterLength(0);
-        
-        stringBeforeLength = ptiengine->GetPhoneticSpelling(1).Length();
-        stringAfterLength = ptiengine->AppendKeyPress((TPtiKey)aKey).Length();
-        
-        if (stringBeforeLength != stringAfterLength)
-            {
-            RefreshUI();
-            }
-        else
-            {
-            iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-            }            
-        }
-    else if(aKey == EStdKeyBackspace)
-        {
-		if (iOwner->PtiEngine()->DeleteKeyPress().Length())
-            {
-            RefreshUI();
-            }
-        else
-            {
-            iOwner->FepMan()->TryCloseUiL();
-            if (aLength == ELongKeyPress)
-                {
-                iOwner->FepMan()->SetLongClearAfterCloseUI(ETrue);
-                }
-            }
-        }
-    else if(aKey == EStdKeyDevice1)
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        }
-    else if(!( HandleVerticalNavigation(aKey) || HandleHorizontalNavigation(aKey) ))
-        {
-        // it may be one of the 'valid' numbers..
-        TInt index = MapKeyToIndex(aKey);
-        MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-
-        if(candidatePane->SelectIndex(index) || aKey == EStdKeyDevice3 || aKey == EStdKeyEnter)
-            {
-            TPtrC text = candidatePane->CurrentCandidate();
-            if(text.Length())
-                {            
-                MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-                fepMan->NewCharacterL(text);
-                fepMan->CommitInlineEditL();
-                if (fepMan->IsFlagSet(CAknFepManager::EFlagEditorFull))
-                    {
-                    fepMan->ClearFlag(CAknFepManager::EFlagEditorFull);
-                    iOwner->FepMan()->TryCloseUiL();
-                    }
-                else
-                    {
-                    iOwner->ChangeState(EPredictiveInput);
-                    }
-                }
-            else
-                {
-                // No candidates available. Back to Entry state.
-                iOwner->ChangeState(EEntry);
-                }
-            }
-        }
-    else if (!iOwner->IsValidChineseInputKeyQwerty(aKey))
-        {
-        iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-        }
-        
-    return ret;
-    }
-
-void TAknFepInputStateEntryQwertyStroke::RefreshUI()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlInputPane* inputPane = uiContainer->InputPane();
-    
-    TBool multiplePages = ptiengine->MoreCandidatePages();
-    TInt bufLength = ptiengine->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-        
-    UIContainer()->ShowHorizontalScrollArrows(showHorizontalScrollArrows);
-    UIContainer()->ShowVerticalScrollArrows(multiplePages);
-    // set container's position
-    TPoint baseLine = TPoint(0,0);
-    TInt height = 0;
-    TInt ascent = 0;
-    TRAPD(ret,iOwner->FepMan()->GetScreenCoordinatesL(baseLine,height,ascent));
-    if (ret == KErrNone)
-        {
-        uiContainer->SetContainerPosition(baseLine, height);    
-        }
-    
-    TPtrC candidates = ptiengine->CandidatePage();
-    uiContainer->CandidatePane()->SetCandidateBuffer(candidates);
-    
-    uiContainer->Enable(ETrue);
-    uiContainer->CandidatePane()->SelectFirst();
-    TPtrC ptr = ptiengine->GetPhoneticSpelling(1);
-    inputPane->SetText(ptr);
-    UpdateIndicator();
-    }
-
-TBool TAknFepInputStateEntryQwertyStroke::HandleHorizontalNavigation(TInt aKey)
-    {
-    MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    TBool response = EFalse;
-
-    // Do navigation...
-    if (aKey == EStdKeyLeftArrow)
-        {
-        if (candidatePane->SelectedIndex() == 0 && 
-            ptiengine->NumberOfCandidates() == 0)
-            {
-            return ETrue;
-            }
-        
-        if(!candidatePane->SelectPrev())
-            {
-            ptiengine->PreviousCandidatePage();
-            candidatePane->SetCandidateBuffer(ptiengine->CandidatePage());
-            candidatePane->SelectLast();
-            }
-        UpdateIndicator();            
-        response = ETrue;
-        }
-    else if (aKey == EStdKeyRightArrow)
-        {
-        TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-        
-        if (bufLength != KMaxCandidateCountFromCore &&
-            candidatePane->SelectedIndex() == (bufLength -1))
-            {
-			return ETrue;
-            }
-        
-        if(!candidatePane->SelectNext())
-            {
-            ptiengine->NextCandidatePage();
-            candidatePane->SetCandidateBuffer(ptiengine->CandidatePage());
-            candidatePane->SelectFirst();
-            }
-        UpdateIndicator();    
-        response = ETrue;
-        }
-    return response;
-    }
-
-TBool TAknFepInputStateEntryQwertyStroke::HandleVerticalNavigation(TInt aKey)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-
-    if (aKey == EStdKeyDownArrow || aKey == EStdKeySpace)
-        {
-        if (iOwner->PtiEngine()->CandidatePage().Length() != 
-            KMaxCandidateCountFromCore)
-            {
-            return ETrue;
-            }
-        ptiengine->NextCandidatePage();
-        }
-    else if (aKey == EStdKeyUpArrow)
-        {
-        if (ptiengine->NumberOfCandidates() == 0)
-            {								 
-            return ETrue;
-            }
-        ptiengine->PreviousCandidatePage();
-        }
-    else
-        {
-        return EFalse;
-        }
-
-    MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-    candidatePane->SelectFirst();
-    candidatePane->SetCandidateBuffer(ptiengine->CandidatePage());
-    UpdateIndicator();
-    return ETrue;
-    }
- 
-void TAknFepInputStateEntryQwertyStroke::UpdateIndicator()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();        
-    TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-        
-    if (ptiengine->NumberOfCandidates() == 0)
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows(EFalse);    
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows(ETrue);    
-        }
-    
-    uiContainer->CandidatePane()->ShowDownScrollArrows
-        (bufLength == KMaxCandidateCountFromCore ? ETrue : EFalse);
-        
-    if (candidatePane->SelectedIndex() == 0 && 
-        ptiengine->NumberOfCandidates() == 0)
-        {
-        uiContainer->CandidatePane()->ShowLeftScrollArrows(EFalse);
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowLeftScrollArrows(ETrue);
-        }
-        
-    if (bufLength != KMaxCandidateCountFromCore &&
-        candidatePane->SelectedIndex() == (bufLength -1))
-        {
-        uiContainer->CandidatePane()->ShowRightScrollArrows(EFalse);        
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowRightScrollArrows(ETrue);
-        }
-    }
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryQwertyStroke::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-
-void TAknFepInputStateEntryQwertyStroke::HandleCommandL( TInt aCommandId )
-    {
-    TAknFepInputStateChineseBase::HandleCommandL( aCommandId );
-    }
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateEntryQwertyStrokePhrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,177 +0,0 @@
-/*
-* 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:            Implementation of Stroke phrase Qwerty entry state
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// System includes
-#include <PtiEngine.h>
-
-// User includes
-#include "AknFepUiInputStateEntryQwertyStrokePhrase.h"
-#include "AknFepUIManagerStateInterface.h"
-#include "AknFepUICtrlInputPane.h"
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepManagerUIInterface.h"      
-#include "AknFepManager.h"                 
-
-// Constant definition
-const TInt KMinCnadidateCount = 1;
-const TInt KEnginePhoneticIndex = 1;
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryQwertyStrokePhrase::
-// TAknFepInputStateEntryQwertyStrokePhrase
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-TAknFepInputStateEntryQwertyStrokePhrase::TAknFepInputStateEntryQwertyStrokePhrase(
-    MAknFepUIManagerStateInterface* aOwner,
-    MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateEntryQwertyBaseChinesePhrase(aOwner, aUIContainer)
-    {
-    UIContainer()->CandidatePane()->ShowCandidateOrdinals(ETrue);
-    
-    if (EPtiEngineStrokePhraseQwerty != iOwner->PtiEngine()->InputMode())
-        {
-        iOwner->PtiEngine()->SetInputMode(EPtiEngineStrokePhraseQwerty);
-        }
-    iOwner->PtiEngine()->SetCase(EPtiCaseLower);
-    }
-    
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryQwertyStrokePhrase::HandleKeyL
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputStateEntryQwertyStrokePhrase::HandleKeyL(TInt aKey, 
-                                                           TKeyPressLength aLength)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlInputPane* inputPane = uiContainer->InputPane();
-    TBool ret = ETrue;
-    
-
-
-    if (iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagShiftKeyDepressed) ||
-             iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed))
-        {
-        ret = ETrue;
-        } 
-    else if((aLength == EShortKeyPress) && iOwner->IsValidChineseInputKeyQwerty(aKey))
-        {
-        TInt stringBeforeLength(0);
-        TInt stringAfterLength(0);
-        
-        stringBeforeLength = ptiengine->GetPhoneticSpelling(KEnginePhoneticIndex).Length();
-        stringAfterLength = ptiengine->AppendKeyPress((TPtiKey)aKey).Length();
-        
-        if (stringBeforeLength != stringAfterLength)
-            {
-            RefreshUI();
-            }
-        else
-            {
-            iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-            }            
-        }
-    else if(aKey == EStdKeyBackspace)
-        {
-        if (iOwner->PtiEngine()->DeleteKeyPress().Length())
-            {
-            RefreshUI();
-            }
-        else
-            {
-            iOwner->FepMan()->TryCloseUiL();
-            if (aLength == ELongKeyPress)
-                {
-                iOwner->FepMan()->SetLongClearAfterCloseUI(ETrue);
-                }
-            }
-        }
-   else if (aKey == EStdKeyEnter)
-        {
-        return ret;
-        }
-    else
-        { 
-        ret = TAknFepInputStateEntryQwertyBaseChinesePhrase::HandleKeyL(aKey, aLength);
-        }
-        
-    return ret;
-    }
-    
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryQwertyStrokePhrase::RefreshUI
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateEntryQwertyStrokePhrase::RefreshUI()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlInputPane* inputPane = uiContainer->InputPane();
-    
-    // get cursor position
-    TPoint baseLine;
-    TInt height(0);
-    TInt ascent(0);
-    TRAPD(ret,iOwner->FepMan()->GetScreenCoordinatesL(baseLine,height,ascent));
-    if (ret == KErrNone)
-        {
-        uiContainer->SetContainerPosition(baseLine, height);
-        }
-
-    // layout candidate and fill candidate buffer for first display page
-    TInt candidateCount(0);
-    TRAP(ret,
-         candidateCount = ptiengine->GetChinesePhraseCandidatesL(
-               *(uiContainer->CandidatePane()->CandidateArray())));
-    if(candidateCount == 0 || ret != KErrNone)
-        {
-        return;
-        }  
-          
-    uiContainer->CandidatePane()->SplitPhraseCandidatesIntoPages();
-    uiContainer->CandidatePane()->SetCandidateBuffer(); 
-
-    TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() &&
-                            uiContainer->CandidatePane()->IsFirstPage());
-    TInt bufLength = ptiengine->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength > KMinCnadidateCount;
-        
-    uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows);
-    uiContainer->ShowVerticalScrollArrows(multiplePages);
-
-    uiContainer->Enable(ETrue);
-    uiContainer->CandidatePane()->SelectFirstPhrase();
-    TPtrC ptr = ptiengine->GetPhoneticSpelling(KEnginePhoneticIndex);
-    inputPane->SetText(ptr);
-    UpdateIndicator();
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateEntryQwertyWesternPredictive.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,673 +0,0 @@
-/*
-* Copyright (c) 2007 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:           
-*       Provides the TAknFepInputStateEntryQwertyWesternPredictive methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateEntryQwertyWesternPredictive.h"
-#include "AknFepUIManagerStateInterface.h"      //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"           //MAknFepManagerUIInterface
-#include "AknFepUiManagerWestern.h"
-#include "AknFepManager.h"
-#include "AknFepPanic.h"
-#include "AknFepCaseManager.h"
-#include "AknFepPluginManager.h"
-
-#include <PtiEngine.h>              //CPtiEngine
-#include <PtiDefs.h>                //keys
-#include <PtiCompositionDataIF.h>   //MPtiEngineCompositionDataInterface
-#include <featmgr.h>                //FeatureManager
-#include <e32keys.h>
-#include <aknfep.rsg>
-
-
-static const TInt KKeyMappingsLength = 63;
-
-////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-//
-TAknFepInputStateEntryQwertyWesternPredictive::
-TAknFepInputStateEntryQwertyWesternPredictive(MAknFepUIManagerStateInterface* aOwner)
-    :TAknFepInputStateBase(aOwner)
-    {
-    //this class insists on the existence of a case manager
-    __ASSERT_DEBUG(iOwner->CaseMan(), AknFepPanic(EAknFepPanicNoCaseManager));
-
-    iState = EEntry;
-    iMatchState = EWordMatchNone;
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-
-    TPtiTextCase caseMode = ptiengine->Case();
-
-    ptiengine->SetInputMode(EPtiEngineQwertyPredictive );    
-    ptiengine->SetCase(caseMode);
-    TBool isUnlimitedEditor = EFalse;
-    ptiengine->SetMaxLengthForAutoCompletedCandidates(
-              fepMan->EditorFreeSpaceForAutoWordCompletion(isUnlimitedEditor ));
-    
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    if(fepMan->IsAutoCompleteOn())
-    {
-	    TRAP_IGNORE(ptiengine->HandleCommandL( EPtiCommandEnableAutoCompletion ));
-    }
-    else
-    {
-	    TRAP_IGNORE(ptiengine->HandleCommandL( EPtiCommandDisableAutoCompletion ));
-    }
-    TPtiErrorCorrectionLevel correctionLevel = 
-                    (TPtiErrorCorrectionLevel)fepMan->AdvancedPredictiveTypingCorrectionLevel();
-    TRAP_IGNORE(ptiengine->HandleCommandL( EPtiCommandSetCorrectionLevel, 
-                                          &correctionLevel ));	
-	
-    TPtiKeyboardType keyboard = fepMan->KeyboardLayout();
-    ptiengine->SetKeyboardType(keyboard);
-	
-    TBool isNumberCandidateShown = fepMan->IsAdvancedPredictiveNumberCandidateShown();
-    TRAP_IGNORE(ptiengine->HandleCommandL( EPtiCommandSetNumberCandidateStatus, 
-                                          &isNumberCandidateShown ));
-	
-    TBool primaryCandidateState = fepMan->AdvancedPredictivePrimaryCandidate();
-    TRAP_IGNORE(ptiengine->HandleCommandL( EPtiCommandSetProactiveCorrection, 
-                                          &primaryCandidateState ));
-#endif //RD_INTELLIGENT_TEXT_INPUT
-    }
-
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-//
-TBool TAknFepInputStateEntryQwertyWesternPredictive::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    CAknFepFnKeyManager::TFnKeyState fnKeyState  = fepMan->FnKeyState();
-	if(fnKeyState  != CAknFepFnKeyManager::EFnKeyNone)
-		{
-		ptiengine->SetCase(EPtiCaseFnLower);
-		}
-
-    // Handle the Chr cycling
-    if ( fepMan->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed) )
-        {
-        if ( iData && (iData != aKey) )
-            {
-            // Chr key is still pressed down but character key was changed from previous one
-            // to new one. The previous character is committed and PtiEngine starts 
-            // prosessing new key.
-            ptiengine->CancelTimerActivity();
-            
-            if ( !fepMan->EditorHasFreeSpace() )
-                {
-                return EFalse;
-                }
-            }
-        fepMan->SetFlag( CAknFepManager::EFlagInsideMultitapInlineEditingTransaction );
-        }
-
-    TBool response = EFalse;
-
-
-    // Handle dead keys with space or backspace. These keys are not mapped in PtiEngine, so they cannot
-    // be handled there.
-    if ( ptiengine->HandleCommandL(EPtiCommandDeadKeyWaiting) == 1 )
-        {
-        if ( aKey == EStdKeyBackspace )
-            {
-            // Pending dead key is removed with backspace. No other characters are removed.
-            ptiengine->HandleCommandL(EPtiCommandGetAndClearDeadKeyRootChar);
-            response = ETrue;
-            }
-        else if ( aKey == EStdKeySpace )
-            {
-            // Dead key followed by space enters the dead key root character
-            TText deadRoot = ptiengine->HandleCommandL(EPtiCommandGetAndClearDeadKeyRootChar);
-            ptiengine->HandleCommandL( EPtiCommandAppendCharacter, &deadRoot );
-            
-            TPtrC newText = ptiengine->CurrentWord();
-            fepMan->UpdateInlineEditL( newText, newText.Length() );
-            iOwner->CaseMan()->UpdateCase(ENullNaviEvent);
-            
-            response = ETrue;
-            }
-        }		    
-
-    if (!response) // key not yet handled
-        {
-        switch (aKey)
-            {
-            case EStdKeySpace: //fall through
-            case EStdKeyEnter:
-            case EStdKeyTab:
-            case EStdKeyLeftArrow:
-            case EStdKeyRightArrow:
-            case EStdKeyUpArrow:
-            case EStdKeyDownArrow:
-                response = HandleWordBreakingKeysL(aKey);
-                break;
-                
-            // Long press of shift key start copy event.     
-            // Its should handle by framework.    
-            case EStdKeyF21:
-            case EKeyF21:
-            // Soft key handle by framework
-            // Selection key handle by AknFepManeger.
-            case EStdKeyDevice0: // iCode:EKeyCBA1
-            case EStdKeyDevice1: //	iCode:EKeyCBA2
-            case EStdKeyDevice3: // iCode:EKeyOK
-            case EKeyCBA1:
-            case EKeyCBA2:
-            case EKeyOK:
-            	response = EFalse;
-            	break;
-
-            case EKeyUpArrow: 
-                if ( fepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction) )
-                    {
-#ifdef RD_INTELLIGENT_TEXT_INPUT                    
-                    //fepMan->HideExactWordPopUp();
-                    // Select the exact match with the up arrow and lock it.
-                    // Another alternative could be to call function DoPreviousMatchL() from here
-                    TBool primaryCandidateState = fepMan->AdvancedPredictivePrimaryCandidate(); 
-                    TInt wordIndexToSelect = 0;
-            		if (EFalse == primaryCandidateState)
-            			{
-            			ptiengine->HandleCommandL( EPtiCommandUserActionGetIndexOfSecondaryCandidate, 
-        							&wordIndexToSelect );
-            			}
-            			
-            			if (fepMan->IsExactWordPopUpShown())
-            			{
-            			    fepMan->HideExactWordPopUp();			
-				        	ptiengine->HandleCommandL( 
-	                               EPtiCommandUserActionSetCurrentIndexOfCandidates, 
-	                			   &wordIndexToSelect );
-	                    	ptiengine->HandleCommandL( EPtiCommandLockCurrentCandidate );
-	                    	TPtrC selectedWord = ptiengine->CurrentWord();
-	                    	fepMan->UpdateInlineEditL( selectedWord, selectedWord.Length() ); 
-	                    	response = ETrue;        							
-	            			break;	
-            			}
-						else
-						{
-							fepMan->LaunchCandidatePopupListL( wordIndexToSelect );
-						    response = ETrue;        							
-	            			break;                 
-						}
-
-#endif // RD_INTELLIGENT_TEXT_INPUT            			
-                    }
-                    // fall through
-            case EKeyDownArrow:
-            case EKeyLeftArrow:
-            case EKeyRightArrow:
-            case EKeyBackspace:
-                response = HandleNaviKeysL(aKey, aLength);
-                break;
-            
-            
-            default:
-                HandleShiftState(aKey);
-                response = HandleQwertyKeysL(aKey);
-#ifdef __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-                if ( aLength == ELongKeyPress )
-                    {
-                    // Expire multitap timer after long press. 
-                    ptiengine->CancelTimerActivity();
-                    }
-#endif // RD_INTELLIGENT_TEXT_INPUT
-#endif // __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-                break;
-            }
-        }
-    
-    iData = aKey; // store the pressed key for future reference
-    return response;
-    }
-
-
-//////////////////////////////////////////////////////////////////////////////////
-//
-void TAknFepInputStateEntryQwertyWesternPredictive::HandleShiftState( TInt aKey )
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    CAknFepCaseManager* caseMan = iOwner->CaseMan();
-    CAknFepFnKeyManager::TFnKeyState fnKeyState  = fepMan->FnKeyState();
-    TPtiTextCase shiftedCase;
-    if(fnKeyState  != CAknFepFnKeyManager::EFnKeyNone)
-		{
-		shiftedCase = EPtiCaseFnLower;
-		}
-	else
- 		{
- 		shiftedCase= EPtiCaseLower;	
- 		}
-    
-    // For addition of ITI features. 
-    // When FSQ is opened wiht ITI features enabled,
-    // after pressing keys, don't need to re-set current text case by editor's text or FN key state.
-    // Because FSQ's case doesn't obey editor's case and there is no fn key on FSQ.
-    if ( fepMan->PluginUIManager() 
-         && fepMan->PluginUIManager()->PluginInputMode() == EPluginInputModeFSQ
-         && fepMan->WesternPredictive() )
-        {
-        return;
-        }
-        
-    // Find out if the key is alphabetic
-    TBuf<KKeyMappingsLength> keyMappings; 
-    ptiengine->MappingDataForKey( (TPtiKey)aKey, keyMappings, EPtiCaseUpper );   
-    TBool isAlpha = ( keyMappings.Length() && TChar(keyMappings[0]).IsAlpha() );
-    
-    if (isAlpha && (fnKeyState  == CAknFepFnKeyManager::EFnKeyNone))
-        {
-        switch ( caseMan->CurrentCase() )
-            {
-            case EAknEditorTextCase:
-                {
-                // Alphabetic characters are always capitalized in "Abc" mode 
-                // unless the shift is pressed 
-                // Thai language should not go to automatic capitalization in text case
-                // mode and predictive input. This is because it would lead to the character 
-                // mapped to upper case being displayed instead of the intended character.
-                // So below is what is essentially a XNOR condition - 
-                // 1) no-shiftkey and language with case    => upper case
-                // 2) no-shiftkey and language without case => lower case
-                // 3) shiftkey and language with case       => lower case
-                // 4) shiftkey and language without case    => upper case
-                TInt inputLang = ptiengine->CurrentLanguage()->LanguageCode();
-                if ( ( fepMan->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode) ||
-                       fepMan->IsFlagSet(CAknFepManager::EFlagLongShiftKeyPress) )  
-                      == ( inputLang == ELangThai ||
-					  	   inputLang == ELangArabic ||
-                           inputLang == ELangFarsi ||
-                           inputLang == ELangHebrew ||
-                           inputLang == ELangUrdu ||
-                           inputLang == ELangHindi ) )
-                    {
-                    shiftedCase = EPtiCaseUpper;
-                    }          
-                }
-            break;
-            
-            case EAknEditorLowerCase:
-                {
-                // Pressing shift enters uppercae letters in the "abc" mode
-                if ( fepMan->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode) ||
-                     fepMan->IsFlagSet(CAknFepManager::EFlagLongShiftKeyPress) )
-                    {
-                    shiftedCase = EPtiCaseUpper;
-                    }                
-                }
-            break;
-            
-            case EAknEditorUpperCase:
-                {
-                // In the "ABC" mode (capslock mode) the letters are uppercased
-                // unless the shift is pressed
-                if ( !(fepMan->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode)||
-                      fepMan->IsFlagSet(CAknFepManager::EFlagLongShiftKeyPress)) )
-                    {
-                    shiftedCase = EPtiCaseUpper;
-                    }                
-                }
-            break;
-                
-            default:
-            break;
-            }
-
-        
-        }
-    else
-        {
-        // non-alphabetic keys are shifted if and only if shift is pressed, no matter what is the input state
-        if ( (fnKeyState  == CAknFepFnKeyManager::EFnKeyNone) &&
-             ( fepMan->IsFlagSet(CAknFepManager::EFlagLongShiftKeyPress) ||
-               fepMan->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode) ) )
-            {
-            shiftedCase = EPtiCaseUpper;
-            }
-        else if( (fnKeyState  == CAknFepFnKeyManager::EFnKeyNext) &&
-                 (caseMan->CurrentCase() == EAknEditorTextCase ||
-                  caseMan->CurrentCase() == EAknEditorUpperCase ||
-                  fepMan->IsFlagSet(CAknFepManager::EFlagLongShiftKeyPress) || 
-                  fepMan->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode)))
-            {
-            shiftedCase = EPtiCaseFnUpper;  
-            }
-        else if (( fepMan->IsFlagSet(CAknFepManager::EFlagLongShiftKeyPress) || 
-        		  fepMan->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode)) && 
-        		  (fnKeyState  != CAknFepFnKeyManager::EFnKeyNone))
-	        {
-			shiftedCase = EPtiCaseFnUpper;
-	        }    
-        }
-
-    
-    // Handle the Chr key state
-    if ( fepMan->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed) )
-        {
-        // Chr key is pressed down. Chr mode is used.
-        if (shiftedCase == EPtiCaseLower)
-            {
-            shiftedCase = EPtiCaseChrLower;
-            }
-        else if (shiftedCase == EPtiCaseUpper)
-            {
-            shiftedCase = EPtiCaseChrUpper;
-            }
-        }
-    
-    ptiengine->SetCase(shiftedCase);
-    
-    fepMan->ClearFlag(CAknFepManager::EFlagNoActionDuringShiftKeyPress);
-    }
-
-
-//////////////////////////////////////////////////////////////////////////////////
-//
-
-TBool TAknFepInputStateEntryQwertyWesternPredictive::HandleWordBreakingKeysL(TInt aKey)
-    {
-    TBool retVal = EFalse; // in most cases we let also the upper levels handle these key events
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    CAknFepFnKeyManager::TFnKeyState fnKeyState  = fepMan->FnKeyState();
-    
-
-    // Up and down arrows break the inline word input only when shift or chr is held down
-    if ( !fepMan->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed) &&
-         !fepMan->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode) &&
-         ( aKey==EStdKeyUpArrow || aKey==EStdKeyDownArrow ) )
-        {
-        return retVal;    
-        }
-
-
-    if ( fepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction) )
-        {
-        TBool rightToLeftLang = fepMan->IsRightToLeftLanguage();
-        TInt tailLength = 0;
-	    ptiengine->HandleCommandL( EPtiCommandGetAutoCompletionTailLength, &tailLength );
-        switch (aKey)
-            {
-            case EStdKeyLeftArrow:
-            case EStdKeyRightArrow:    
-            	// In case the inline editing is ongoing and there is a word completion
-                // currently shown, the first backwards tap will remove the suggested 
-                // completion. 
-                if(tailLength > 0)
-	                {
-	                if ((rightToLeftLang && aKey == EStdKeyLeftArrow) 
-	                	|| (! rightToLeftLang && aKey == EStdKeyRightArrow ))
-	                    {
-					    ptiengine->HandleCommandL( EPtiCommandLockCurrentCandidate);
-					    TPtrC selectedWord = ptiengine->CurrentWord();
-                        fepMan->UpdateInlineEditL( selectedWord, selectedWord.Length() );  //selection.iAnchorPosition
-                        // To fix the bug: STAA-7GYBJC Suggested word is not committed when Arrow right key is pressed.
-                        ptiengine->CommitCurrentWord();
-                        fepMan->TryCloseUiL();
-                        // Asyncronous case update after the editor has handled the key
-                		fepMan->SimulateKeyEventL(EKeyF19); 
-	                    retVal = ETrue;
-	                    }
-	                else if((rightToLeftLang && aKey == EStdKeyRightArrow) 
-	                	|| (! rightToLeftLang && aKey == EStdKeyLeftArrow )) 
-		                {
-	                    fepMan->RemoveSuggestedAdvanceCompletionL();
-	                    retVal = ETrue;
-		                }    	
-	                }
-                else
-	                {
-	                ptiengine->CommitCurrentWord();
-	                retVal = EFalse;
-	                }
-            break;  
-            case EStdKeyUpArrow:
-            case EStdKeyDownArrow:
-            case EStdKeyEnter:
-            case EStdKeySpace:
-            case EStdKeyTab:
-            {  
-            	//retVal = ETrue;
-            	TBool wasInlineEditing = EFalse;	
-            	wasInlineEditing = 
-                          fepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction);
-            	ptiengine->CommitCurrentWord();
-                fepMan->CommitInlineEditL();
-                /* Temporary Fix */
-                //EFlagInsideInlineEditingTransaction flag check is not required
-                //but just to make sure.
-                if (aKey == EStdKeySpace && fnKeyState == CAknFepFnKeyManager::EFnKeyDown)
-                    fepMan->LaunchSelectModeMenuL();
-                else if(aKey == EStdKeySpace && wasInlineEditing)
-                	{
-                	_LIT(KSpace," ");                
-	                fepMan->StartInlineEditL();
-	                fepMan->UpdateInlineEditL(KSpace,0);
-	                fepMan->CommitInlineEditL();
-                	retVal = ETrue;
-                	}                
-                /* Temporary Fix */
-                fepMan->TryCloseUiL();                
-                // Asyncronous case update after the editor has handled the key
-                fepMan->SimulateKeyEventL(EKeyF19); 
-            	}                
-            break;
-            default:
-                __ASSERT_DEBUG( EFalse, AknFepPanic(EAknFepPanicNotSupportKey) );
-            }
-
-        }
-    else
-        {
-        iOwner->ChangeState( EInitial );
-        }
-
-    return retVal;
-    }
-
-
-/////////////////////////////////////////////////////////////////////////////////
-//
-TBool TAknFepInputStateEntryQwertyWesternPredictive::HandleQwertyKeysL(TInt aKey)
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    
-    CAknFepCaseManager* caseMan = iOwner->CaseMan(); 
-    CAknFepFnKeyManager::TFnKeyState fnKeyState  = fepMan->FnKeyState();
-    
-    // Key is consumed if the PtiEngine maps it to some character
-    TBuf<KKeyMappingsLength> keyMappings; 
-    
-    if(fnKeyState  != CAknFepFnKeyManager::EFnKeyNone)
-		{
-		
-		// Try to know is there any mapping for function upper
-		// char. For user point of view this changes has been made.
-		if( ptiengine->Case() == EPtiCaseFnUpper )
-			{
-	    	ptiengine->MappingDataForKey( (TPtiKey)aKey, keyMappings, EPtiCaseFnUpper);
-			}
-		else
-			{
-		   	ptiengine->MappingDataForKey( (TPtiKey)aKey, keyMappings, EPtiCaseFnLower);			
-			}
-		}
-	else
- 		{
-	    ptiengine->MappingDataForKey( (TPtiKey)aKey, keyMappings, EPtiCaseLower);   
- 		}
-    //ITI : Pti Engine can be asked to give the proper data for the keys under Fn Key.
-    TBool keyIsMapped = ( keyMappings.Length() > 0 );
-    
-    // The dead key handling inside the PtiDefaultCore assumes that no other key mapping queries
-    // have been made between handling the dead key and the next one (these queries change the
-    // internal state of the key mapping object). For this reason, we must return the key mappings
-    // to their previous state. This is quite dirty hack, but so is the dead key handling code which
-    // forces us to do this.
-    if(fnKeyState  != CAknFepFnKeyManager::EFnKeyNone)
-		{
-	    ptiengine->MappingDataForKey( (TPtiKey)iData, keyMappings, EPtiCaseFnLower);
-		}
-	else
- 		{
- 		ptiengine->MappingDataForKey( (TPtiKey)iData, keyMappings, EPtiCaseLower);
- 		}
- 		
- 	// For user point of view this changes has been made.
- 	// If key does not map to function upper char, then try to insert
- 	// functionized char.
-	if( (EPtiCaseFnUpper == ptiengine->Case()) && !keyIsMapped )
-  		{
-        ptiengine->SetCase((TPtiTextCase)EPtiCaseFnLower);
-       	ptiengine->MappingDataForKey( (TPtiKey)aKey, keyMappings, EPtiCaseFnLower);
-        keyIsMapped = ( keyMappings.Length() > 0 );
- 		}
-
-    if ( keyIsMapped )
-        {
-        if ( !(fepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction)) )
-            { // 'new' inline edit                        
-            ptiengine->ClearCurrentWord();
-            if (caseMan->CurrentCase() == EAknEditorTextCase)
-                {
-                ptiengine->MarkAutoCapitalized();    
-                }            
-            
-            fepMan->StartInlineEditL();
-            }
-                       
-        TPtrC newText = ptiengine->AppendKeyPress((TPtiKey)aKey);
-        fepMan->UpdateInlineEditL(newText, newText.Length());
-        
-        // Normally we update the case after key press. However, if Chr key is held down, the case update
-        // must not happen until when the Chr is released or the timer expires (in both of these cases
-        // the function KeyTimerExpired() will get callled).         
-        if ( !fepMan->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed) )
-            {
-       	    iOwner->CaseMan()->UpdateCase(ENullNaviEvent);
-       	    }
-    	else
-            {
-            fepMan->ClearFlag(CAknFepManager::EFlagNoActionDuringChrKeyPress);
-            }
-           
-        return ETrue;
-        }
-        // MT error fixing : If any key does not map any functionized char, 
-        // its should not display any char fn mode, other behaviour as usual.
-        // If the Fn key stae indicate that fn key pres & we are looking for functionnized
-        // char, if its not availble it will do nothing. So we have to block the event
-        // go to framework.
-        if( aKey!=EStdKeyBackspace && fnKeyState  != CAknFepFnKeyManager::EFnKeyNone)
-        	return ETrue;
-        
-        // Framework will handle the key event.
-       	return EFalse;
-    }
-    
-
-////////////////////////////////////////////////////////////////////////////////////////////////////////////
-//
-TBool TAknFepInputStateEntryQwertyWesternPredictive::HandleNaviKeysL(TInt aKey, TKeyPressLength /*aLength*/)
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-
-    if (!(fepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction)))
-        {
-        TBuf<CAknFepManager::EMaximumFepWordLength> textToUncommit;
-        TBool comsumeKey;
-        if (!(fepMan->TryGetTextToUncommitL(textToUncommit, aKey, comsumeKey)))
-            {
-            // If T9 word length > 32, the navi key is consumed without action.
-            // Maybe should navigate inside word.
-            return comsumeKey;
-            }
-        ptiengine->ClearCurrentWord();
-        ptiengine->SetCurrentWord(textToUncommit); // this set the input sequence of PtiEngine
-        fepMan->StartInlineEditL(fepMan->UncommittedText(), textToUncommit, 
-        						 textToUncommit.Length(), EFalse);
-        }
-
-    if (aKey == EKeyBackspace)
-        {
-        TInt activeIdx = KErrNone;
-        TPtrC newText = ptiengine->DeleteKeyPress();
-        // To fix the Backspace Key issue in which focused word needs to be present in the editor.
-        ptiengine->HandleCommandL( EPtiCommandUserActionSetCurrentIndexOfCandidates, &activeIdx );
-        TPtrC selectedWord = ptiengine->CurrentWord();
-        fepMan->UpdateInlineEditL(selectedWord, selectedWord.Length());
-
-		fepMan->ClearFlag(CAknFepManager::EFlagRemoveMatchesMenuItem);           
-        if (ptiengine->NumberOfCandidates() <= 1)
-        	{
-			fepMan->SetFlag(CAknFepManager::EFlagRemoveMatchesMenuItem);           	
-        	}
-
-        iOwner->CaseMan()->UpdateCase(EBackspaceEvent);
-        fepMan->CloseUiIfWordDeletedL();
-        }
-    
-    return ETrue;
-    }
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-void TAknFepInputStateEntryQwertyWesternPredictive::LastWordInSelectionList()
-    {
-
-    }
-
-
-//////////////////////////////////////////////////////////////////////////////
-//
-void TAknFepInputStateEntryQwertyWesternPredictive::FirstWordInSelectionList()
-    {   
-    }
-
-
-/////////////////////////////////////////////////////////////////
-//
-void TAknFepInputStateEntryQwertyWesternPredictive::KeyTimerExpired()
-    {
-    if (iData)
-        {
-        MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-        CAknFepCaseManager* caseMan = iOwner->CaseMan(); 
-        caseMan->UpdateCase(ENullNaviEvent); 
-        fepMan->ClearFlag( CAknFepManager::EFlagInsideMultitapInlineEditingTransaction );
-        iData = 0;
-        }
-    }
-   
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateEntryQwertyZhuyin.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,312 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the CAknFepUIInputStateEntryQwertyZhuyin methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateEntryQwertyZhuyin.h"
-#include "AknFepUIManagerStateInterface.h"
-
-#include <PtiEngine.h>
-#include <e32keys.h>
-#include <PtiDefs.h>                //keys
-
-#include "AknFepUICtrlInputPane.h"
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-#include "AknFepManager.h"                  //FepMan flag
-
-const TInt KMaxCandidateCountFromCore = 6;
-
-TAknFepInputStateEntryQwertyZhuyin::TAknFepInputStateEntryQwertyZhuyin(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateEntryQwertyBase(aOwner, aUIContainer)
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlInputPane* inputPane = uiContainer->InputPane();
-    
-    uiContainer->CandidatePane()->ShowCandidateOrdinals(EFalse);
-    
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    if (EPtiEngineZhuyinQwerty != ptiengine->InputMode())
-        {
-        ptiengine->SetInputMode(EPtiEngineZhuyinQwerty);
-        }
-    TBool multiplePages = iOwner->PtiEngine()->MoreCandidatePages();
-    TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-
-    uiContainer->CandidatePane()->ShowHorizontalScrollArrows(showHorizontalScrollArrows); 
-    uiContainer->CandidatePane()->ShowVerticalScrollArrows(multiplePages);
-        
-    ptiengine->SetCandidatePageLength(MAknFepUICtrlContainerChinese::ELayoutInput);
-    iOwner->PtiEngine()->SetCase(EPtiCaseLower);
-    _LIT(KToneNoneZhuyin, "");
-    inputPane->SetToneMark(KToneNoneZhuyin);
-
-    UpdateIndicator();
-    }
-
-TBool TAknFepInputStateEntryQwertyZhuyin::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    
-    TBool ret = ETrue;
-    
-    if((aKey == EPtiKey3 || 
-        aKey == EPtiKey4 || 
-        aKey == EPtiKey6 || 
-        aKey == EPtiKey7 ||
-        aKey == EStdKeySpace) && 
-        (aLength == EShortKeyPress))
-        {
-        ptiengine->CancelTimerActivity();
-        if(ptiengine->SetToneMark(aKey))
-            {
-            TBool multiplePages = ptiengine->MoreCandidatePages();
-            TInt bufLength = ptiengine->CandidatePage().Length();
-            TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-            
-            UIContainer()->ShowHorizontalScrollArrows(showHorizontalScrollArrows);
-            UIContainer()->ShowVerticalScrollArrows(ptiengine->MoreCandidatePages());
-            SetInputPaneToneMark();
-            RefreshUI();
-            }
-        }
-    else if(aKey == EStdKeyBackspace)
-        {
-		if (iOwner->PtiEngine()->DeleteKeyPress().Length())
-            {
-            TBool multiplePages = ptiengine->MoreCandidatePages();
-            TInt bufLength = ptiengine->CandidatePage().Length();
-            TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-            
-            UIContainer()->ShowHorizontalScrollArrows(showHorizontalScrollArrows);
-            uiContainer->ShowVerticalScrollArrows(ptiengine->MoreCandidatePages());
-            SetInputPaneToneMark();
-            RefreshUI();
-            }
-        else
-            {
-            iOwner->FepMan()->TryCloseUiL();
-            if (aLength == ELongKeyPress)
-                {
-                iOwner->FepMan()->SetLongClearAfterCloseUI(ETrue);
-                }
-            }
-        }
-    else if((aLength == EShortKeyPress) && iOwner->IsValidChineseInputKeyQwerty(aKey))
-        {
-        ptiengine->CancelTimerActivity();
-        ptiengine->AppendKeyPress((TPtiKey)aKey);
-        
-        TBool multiplePages = ptiengine->MoreCandidatePages();
-        TInt bufLength = ptiengine->CandidatePage().Length();
-        TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-        
-        UIContainer()->ShowHorizontalScrollArrows(showHorizontalScrollArrows);
-        uiContainer->ShowVerticalScrollArrows(ptiengine->MoreCandidatePages());
-        SetInputPaneToneMark();
-        RefreshUI();
-        }
-    else if(aKey == EStdKeyRightArrow || aKey == EStdKeyLeftArrow) 
-        {
-        ptiengine->CancelTimerActivity();
-        iOwner->ChangeState(ECandidate);
-        ret = EFalse;
-        }
-    else if(aKey == EStdKeyDevice1)
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        }
-    else if(!HandleVerticalNavigation(aKey))
-        {
-        // it may be one of the 'valid' numbers..
-        TInt index = MapKeyToIndex(aKey);
-        MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-
-        if(candidatePane->SelectIndex(index) || aKey == EStdKeyDevice3 || aKey == EStdKeyEnter)
-            {
-            TPtrC text = candidatePane->CurrentCandidate();
-            if(text.Length())
-                {            
-                MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-                fepMan->NewCharacterL(text);
-                fepMan->CommitInlineEditL();
-                iOwner->PtiEngine()->SetPredictiveChineseChar(text);
-                if (fepMan->IsFlagSet(CAknFepManager::EFlagEditorFull))
-                    {
-                    fepMan->ClearFlag(CAknFepManager::EFlagEditorFull);
-                    iOwner->FepMan()->TryCloseUiL();
-                    }
-                else
-                    {
-                    iOwner->ChangeState(EPredictiveCandidate);
-                    }
-                }
-            else
-                {
-                // No candidates available. Back to Entry state.
-                iOwner->ChangeState(EEntry);
-                }
-            }
-        }
-    return ret;
-    }
-
-void TAknFepInputStateEntryQwertyZhuyin::KeyTimerExpired()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    TPtrC candidates = ptiengine->CandidatePage();
-    TText toneMark;
-    TBool toneMarkEntered = ptiengine->ToneMark(toneMark);
-    TBool toneMarkValid = ptiengine->IsToneMarkValidForSpelling();
-    if(!candidates.Length() || (toneMarkEntered && !toneMarkValid))
-        {
-        MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-        ptiengine->DeleteKeyPress();
-        SetInputPaneToneMark();
-
-        TBool multiplePages = ptiengine->MoreCandidatePages();
-        TInt bufLength = ptiengine->CandidatePage().Length();
-        TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-        
-        UIContainer()->ShowHorizontalScrollArrows(showHorizontalScrollArrows);
-        uiContainer->ShowVerticalScrollArrows(ptiengine->MoreCandidatePages());
-        RefreshUI();
-        }
-    }
-    
-void TAknFepInputStateEntryQwertyZhuyin::RefreshUI()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlInputPane* inputPane = uiContainer->InputPane();
-    
-    // set container's position
-    TPoint baseLine = TPoint(0,0);
-    TInt height = 0;
-    TInt ascent = 0;
-    TRAPD(ret,iOwner->FepMan()->GetScreenCoordinatesL(baseLine,height,ascent));
-    if (ret == KErrNone)
-        {
-        uiContainer->SetContainerPosition(baseLine, height);    
-        }
- 
-    TPtrC candidates = ptiengine->CandidatePage();
-    uiContainer->CandidatePane()->SetCandidateBuffer(candidates);
-    uiContainer->Enable(ETrue);
-    uiContainer->CandidatePane()->SelectFirst();
-    TPtrC ptr = ptiengine->GetPhoneticSpelling(1);
-    inputPane->SetText(ptr);
-    UpdateIndicator();
-   }
-
-void TAknFepInputStateEntryQwertyZhuyin::UpdateIndicator()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();        
-    TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-        
-    if (ptiengine->NumberOfCandidates() == 0)
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows(EFalse);    
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows(ETrue);    
-        }
-    
-    uiContainer->CandidatePane()->ShowDownScrollArrows
-        (bufLength == KMaxCandidateCountFromCore ? ETrue : EFalse);
-        
-    if (candidatePane->SelectedIndex() == 0 && 
-        ptiengine->NumberOfCandidates() == 0)
-        {
-        uiContainer->CandidatePane()->ShowLeftScrollArrows(EFalse);
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowLeftScrollArrows(ETrue);
-        }
-        
-    if (bufLength != KMaxCandidateCountFromCore &&
-        candidatePane->SelectedIndex() == (bufLength -1))
-        {
-        uiContainer->CandidatePane()->ShowRightScrollArrows(EFalse);        
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowRightScrollArrows(ETrue);
-        }
-    }
-
-TBool TAknFepInputStateEntryQwertyZhuyin::HandleVerticalNavigation(TInt aKey)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-
-    if (aKey == EStdKeyDownArrow || aKey == EStdKeySpace)
-        {
-        if (iOwner->PtiEngine()->CandidatePage().Length() != 
-            KMaxCandidateCountFromCore)
-            {
-            return ETrue;
-            }
-        ptiengine->NextCandidatePage();
-        }
-    else if (aKey == EStdKeyUpArrow)
-        {
-        if (ptiengine->NumberOfCandidates() == 0)
-            {								 
-            return ETrue;
-            }
-        ptiengine->PreviousCandidatePage();
-        }
-    else
-        {
-        return EFalse;
-        }
-
-    MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-    candidatePane->SelectFirst();
-    candidatePane->SetCandidateBuffer(ptiengine->CandidatePage());
-    UpdateIndicator();    
-    return ETrue;
-    }
-        
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryQwertyZhuyin::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateEntryQwertyZhuyin::HandleCommandL( TInt aCommandId )
-    {
-    TAknFepInputStateChineseBase::HandleCommandL( aCommandId );
-    }
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateEntryQwertyZhuyinPhrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,227 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the CAknFepUIInputStateQwertyZhuyinPhrase methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateEntryQwertyZhuyinPhrase.h"
-#include "AknFepUIManagerStateInterface.h"
-
-#include "AknFepUICtrlInputPane.h"
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-#include "AknFepManager.h"                  //FepMan flag
-
-#include <PtiEngine.h>
-#include <e32keys.h>
-#include <PtiDefs.h>                //keys
-
-const TInt KInputPaneLength = 32;
-_LIT(KSep, "'");
-_LIT(KReplace, "");
- 
-
-TAknFepInputStateEntryQwertyZhuyinPhrase::TAknFepInputStateEntryQwertyZhuyinPhrase(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateEntryQwertyBaseChinesePhrase(aOwner, aUIContainer)
-    {
-    UIContainer()->CandidatePane()->ShowCandidateOrdinals(EFalse);
-    iOwner->PtiEngine()->SetInputMode(EPtiEngineZhuyinPhraseQwerty);
-    iOwner->PtiEngine()->SetCase(EPtiCaseLower);
-    }
-
-TBool TAknFepInputStateEntryQwertyZhuyinPhrase::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlInputPane* inputPane = uiContainer->InputPane();
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-    TBool ret = ETrue;
-
-    if (iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagShiftKeyDepressed) ||
-        iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed))
-        {
-        return ret;
-        }
-    
-    if((aKey == EPtiKey3 || 
-        aKey == EPtiKey4 || 
-        aKey == EPtiKey6 || 
-        aKey == EPtiKey7 ||
-        aKey == EStdKeySpace) && 
-        (aLength == EShortKeyPress))        
-        {
-        if(ptiengine->SetToneMark(aKey))
-            {
-            inputPane->SetFlag(MAknFepUICtrlInputPane::EPhoneticChanged);
-            
-            TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() &&
-                                    uiContainer->CandidatePane()->IsFirstPage());
-            TInt bufLength = ptiengine->CandidatePage().Length();
-            TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-            
-            UIContainer()->ShowHorizontalScrollArrows(showHorizontalScrollArrows);
-            UIContainer()->ShowVerticalScrollArrows(multiplePages);
-            SetInputPaneToneMark();
-            RefreshUI();
-            }
-        }
-    else if(aKey == EStdKeyBackspace)
-        {
-		if (iOwner->PtiEngine()->DeleteKeyPress().Length())
-            {
-            uiContainer->ShowVerticalScrollArrows(!(uiContainer->CandidatePane()->IsLastPage() &&
-                                                    uiContainer->CandidatePane()->IsFirstPage()));
-            inputPane->SetFlag(MAknFepUICtrlInputPane::EPhoneticChanged);
-            SetInputPaneToneMark();
-            RefreshUI();
-            }
-        else
-            {
-            iOwner->FepMan()->TryCloseUiL();
-            if (aLength == ELongKeyPress)
-                {
-                iOwner->FepMan()->SetLongClearAfterCloseUI(ETrue);
-                }
-            }
-        }
-    else if((aLength == EShortKeyPress) && iOwner->IsValidChineseInputKeyQwerty(aKey))
-        {
-        ptiengine->AppendKeyPress((TPtiKey)aKey);
-        inputPane->SetFlag(MAknFepUICtrlInputPane::EPhoneticChanged);
-        uiContainer->ShowVerticalScrollArrows(!(uiContainer->CandidatePane()->IsLastPage() &&
-                                                uiContainer->CandidatePane()->IsFirstPage()));
-        SetInputPaneToneMark();
-        RefreshUI();
-        }
-    else if (aKey == EStdKeyLeftArrow )  
-        {
-        if (candidatePane->SelectedIndex() == 0 && 
-            candidatePane->IsFirstPage())
-            {
-            return ETrue;    
-            }
-        else
-            {
-            iOwner->ChangeState(ECandidate);
-            return EFalse;
-            }
-        }
-    else if (aKey == EStdKeyRightArrow)
-        {
-        if (candidatePane->IsLastPage() && 
-           (candidatePane->SelectedIndex() == candidatePane->VisibleCandidateCount() - 1))
-            {
-            return ETrue;    
-            }
-        else
-            {
-            iOwner->ChangeState(ECandidate);
-            return EFalse;
-            }
-        }
-    else if(aKey == EStdKeyDevice3)
-        {
-        TInt index = MapKeyToIndex(aKey);
-
-        candidatePane->SelectIndex(index);
-        TPtrC text = candidatePane->CurrentPhraseCandidate();
-        if(text.Length())
-            {            
-            MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-            fepMan->NewTextL(text);
-            fepMan->CommitInlineEditL();
-            iOwner->PtiEngine()->SetPredictiveChineseChar(text);
-            iOwner->ChangeState(EPredictiveCandidate);
-            }
-        else
-            {
-            // No candidates available. Back to Entry state.
-            iOwner->ChangeState(EEntry);
-            }
-        }
-   else if (aKey == EStdKeyEnter)
-        {
-        TBuf<KInputPaneLength> currentText;
-        inputPane->GetText(currentText);
-        
-        while(currentText.Find(KSep)> 0)
-            {
-            currentText.Replace(currentText.Find(KSep), 1,KReplace);
-            }
-        
-        
-        if(currentText.Length())
-            {            
-            MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-            fepMan->NewTextL(currentText);
-            fepMan->CommitInlineEditL();
-            if (fepMan->IsFlagSet(CAknFepManager::EFlagEditorFull))
-                {
-                fepMan->ClearFlag(CAknFepManager::EFlagEditorFull);
-                iOwner->FepMan()->TryCloseUiL();
-                }
-            else
-                {
-                iOwner->FepMan()->TryCloseUiL();                
-                }
-            }
-        }
-    else
-        {
-        ret = TAknFepInputStateEntryQwertyBaseChinesePhrase::HandleKeyL(aKey, aLength);
-        }
-    return ret;
-    }
-    
-void TAknFepInputStateEntryQwertyZhuyinPhrase::KeyTimerExpired()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlInputPane* inputPane = uiContainer->InputPane();
-    
-    // set container's position
-    TPoint baseLine = TPoint(0,0);
-    TInt height = 0;
-    TInt ascent = 0;
-    TRAPD(ret,iOwner->FepMan()->GetScreenCoordinatesL(baseLine,height,ascent));
-    if (ret == KErrNone)
-        {
-        uiContainer->SetContainerPosition(baseLine, height);    
-        }
- 
-    TPtrC ptr = ptiengine->GetPhoneticSpelling(1);
-    TBuf<KInputPaneLength> currentText;
-    inputPane->GetText(currentText);
-    if (ptr.Length() < currentText.Length())
-        {
-        iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-        }
-    inputPane->SetText(ptr);
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateEntryStroke.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,197 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the TAknFepInputStateEntryStroke methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include <fontids.hrh>
-#include <PtiEngine.h>
-
-#include "AknFepUiInputStateEntryStroke.h"
-
-#include "AknFepUIManagerStateInterface.h"
-
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUICtrlInputPane.h"
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-#include "AknFepManager.h"
-
-const TInt KMaxCandidateCountFromCore = 6;
-
-TAknFepInputStateEntryStroke::TAknFepInputStateEntryStroke(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateEntryZhuyinStrokeBase(aOwner, aUIContainer)
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    uiContainer->SetLayout(MAknFepUICtrlContainerChinese::ELayoutInput);
-    uiContainer->CandidatePane()->SelectFirst(); 
-    uiContainer->InputPane()->SetOverrideFontId(KScreenFontUidStrokes);
-    uiContainer->CandidatePane()->ShowCandidateOrdinals(EFalse);
-
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    if ( EPtiEngineStroke != ptiengine->InputMode() )
-    {
-    ptiengine->SetInputMode(EPtiEngineStroke);
-    }
-    ptiengine->SetCandidatePageLength(MAknFepUICtrlContainerChinese::ELayoutInput);
-    }
-
-void TAknFepInputStateEntryStroke::HandleCommandL(TInt /*aCommandId*/)
-	{	
-    RefreshUI();	
- 	}
-
-TBool TAknFepInputStateEntryStroke::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-
-    if(aKey == EKeyBackspace)
-        {
-        if (iOwner->PtiEngine()->DeleteKeyPress().Length())
-            {
-            RefreshUI();
-            SetInputPaneToneMark();
-            }
-        else
-            {
-            iOwner->FepMan()->TryCloseUiL();
-            if (aLength == ELongKeyPress)
-                {
-                iOwner->FepMan()->SetLongClearAfterCloseUI(ETrue);
-                }
-            }
-        }
-    else if((aLength == EShortKeyPress) && iOwner->IsValidChineseInputKey(aKey))
-        {
-    	iOwner->FepMan()->SetCcpuFlag(CAknFepManager::ECcpuStateIgnoreStarUp);        
-       
-        TInt stringBeforeLength(0);
-        TInt stringAfterLength(0);
-        
-        stringBeforeLength = ptiengine->GetPhoneticSpelling(1).Length();
-        stringAfterLength = ptiengine->AppendKeyPress((TPtiKey)aKey).Length();
-        
-        if (stringBeforeLength != stringAfterLength)
-            {
-            TBool multiplePages = ptiengine->MoreCandidatePages();
-            TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-            TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-
-            uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows); 
-            uiContainer->ShowVerticalScrollArrows(multiplePages);
-            SetInputPaneToneMark();
-            RefreshUI();
-            }
-        else
-            {            
-            iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-            }
-        }
-    else if(aKey == EKeyDownArrow)
-        {
-        if (iOwner->PtiEngine()->CandidatePage().Length() == 
-            KMaxCandidateCountFromCore)
-            {
-            ptiengine->NextCandidatePage();
-            RefreshUI();
-            }
-        }
-    else if(aKey == EKeyUpArrow)
-        {
-        if (ptiengine->NumberOfCandidates() != 0)
-            {
-            ptiengine->PreviousCandidatePage();
-            RefreshUI();
-            }
-        }   
-    else if(aKey == EKeyOK || aKey == EKeyRightArrow || aKey == EKeyLeftArrow)
-        {
-        iOwner->ChangeState(ECandidate);
-        return EFalse;
-        }
-        
-    else if(aKey == EPtiKeyStar)
-    	{
-    	return ETrue;
-    	}
-    	
-    else if (!iOwner->IsValidChineseInputKey(aKey))
-        {
-        iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-        }
-        
-    return ETrue;
-    }
-
-void TAknFepInputStateEntryStroke::RefreshUI()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlInputPane* inputPane = uiContainer->InputPane();
- 
-    TBool multiplePages = ptiengine->MoreCandidatePages();
-    TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-
-    uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows); 
-    uiContainer->ShowVerticalScrollArrows(multiplePages);
-
-    // Universal layout 
-    TPoint baseLine = TPoint(0,0);
-    TInt height = 0;
-    TInt ascent = 0;
-    
-    TRAPD(ret,iOwner->FepMan()->GetScreenCoordinatesL(baseLine,height,ascent));
-    if (ret == KErrNone)
-        {
-        uiContainer->SetContainerPosition(baseLine, height);    
-        }
-    TPtrC candidates = ptiengine->CandidatePage();
-    uiContainer->CandidatePane()->SetCandidateBuffer(candidates);
-    uiContainer->Enable(ETrue);
-
-    TPtrC ptr = ptiengine->GetPhoneticSpelling(1);
-    inputPane->SetText(ptr);
-    if (ptiengine->NumberOfCandidates() == 0)
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows(EFalse);    
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows(ETrue);    
-        }
-    
-    uiContainer->CandidatePane()->ShowDownScrollArrows
-        (bufLength == KMaxCandidateCountFromCore ? ETrue : EFalse);
-    uiContainer->CandidatePane()->ShowLeftScrollArrows(EFalse);
-    uiContainer->CandidatePane()->ShowRightScrollArrows(bufLength ? ETrue : EFalse);
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateEntryStrokePhrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,815 +0,0 @@
-/*
-* 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:            Implementation of Stroke phrase entry state
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// System includes
-#include <PtiEngine.h>
-#include <aknnotewrappers.h> //CAknWarningNote 
-
-// User includes
-#include "AknFepUiInputStateEntryStrokePhrase.h"
-#include "AknFepUIManagerStateInterface.h"
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUICtrlPinyinPopup.h"
-#include "AknFepUICtrlInputPane.h"
-#include "aknfepuictrleditpane.h" 
-#include "AknFepManager.h"
-
-// const param
-const TInt KMinCnadidateCount = 1;
-const TInt KMaxKeystrokeCount = 31;
-const TInt KMaxPhraseCreationCount = 7;
-const TInt KManualChangeState = 0; 
-const TInt KChangeStatebyBackSpce = 0x1000;//set popup flag for change state.
-//const TUint16 KSegment = 0x0020;
-_LIT( KMaxPhraseNote,"\x8BCD\x7EC4\x6700\x957F\x4E3A\x4E03\x5B57" );
-_LIT( KDelimiter, "\x2022");
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryStrokePhrase::
-// TAknFepInputStateEntryStrokePhrase
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-TAknFepInputStateEntryStrokePhrase::TAknFepInputStateEntryStrokePhrase(
-    MAknFepUIManagerStateInterface* aOwner,
-    MAknFepUICtrlContainerChinese* aUIContainer) :
-    TAknFepInputStateStrokePhraseBase( aOwner, aUIContainer)
-    {  
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-    
-    iState = EEntry;
-    uiContainer->SetLayout( MAknFepUICtrlContainerChinese::ELayoutKeystroke );
-    TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() &&
-                            uiContainer->CandidatePane()->IsFirstPage());
-    TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-
-    uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows); 
-    uiContainer->ShowVerticalScrollArrows(multiplePages);
-    uiContainer->FocusCandidatePane(ETrue);
-    candidatePane->SetHighlighted(ETrue);
-    candidatePane->ShowCandidateOrdinals(EFalse);
-    candidatePane->SelectFirstPhrase();
-    uiContainer->InputPane()->SetOverrideFontId( 0 );
-    iOwner->FepMan()->EntryPhrase( ETrue );
-
-    RefreshUI( ETrue );
- 	}
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryStrokePhrase::HandleKeyL
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputStateEntryStrokePhrase::HandleKeyL( 
-                                                    TInt aKey,
-                                                    TKeyPressLength aLength )
-    {
-    TBool ret = ETrue;
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    switch ( aKey )
-        {
-        case EPtiKeyStar:
-            {
-            break;
-            }
-        case EKeyUpArrow:
-            {
-            if ( !candidatePane->IsFirstPage() )
-                {
-                candidatePane->PreviousCandidatePage();  
-                RefreshCandidate();
-                }
-            else
-                {
-                popup->SetState( EFalse );
-                popup->SetState( KManualChangeState );
-                popup->SetChangeState( ETrue );
-                //change state to sequence edit
-                iOwner->ChangeState( EStrokeSequenceEdit );
-                }
-            break;
-            }
-        case EKeyDownArrow:
-            {
-            if ( CheckKeyNeedRepeat( aLength ) )
-                {
-                if ( candidatePane->IsLastPage( ) )
-                    {
-                    return ETrue;
-                    }
-                if ( candidatePane->NeedGetNewCandidatePage( ) )
-                    {
-                    if ( !iOwner->PtiEngine()->NextCandidatePage( ) )
-                        {
-                        if ( candidatePane->IsLastPage( ) )
-                            {
-                            iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-                            return ETrue;
-                            }
-                        }
-                    else
-                        {
-                        CDesCArrayFlat* phraseCandidates =
-                            candidatePane->CandidateArray( );
-                        RPointerArray<HBufC> list;
-                        GetNewCandidatesL( iOwner->PtiEngine()->CandidatePage( ), list );
-                        for (TInt i = 0; i < list.Count( ); ++i )
-                            {
-                            phraseCandidates->AppendL( *(list[i]) );
-                            }
-                        list.ResetAndDestroy();
-                        }
-                    }
-                candidatePane->NextCandidatePage();
-                candidatePane->SetCandidateBuffer();
-                candidatePane->SelectFirstPhrase();
-                RefreshCandidate();
-                }
-            else
-                {
-                iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-                }
-            break;
-            }
-        case EKeyLeftArrow:
-        case EKeyRightArrow:
-            {
-            popup->SetChangeState( ETrue );
-            iOwner->ChangeState( ECandidate );
-            ret = EFalse;
-            break;
-            }
-        case EKeyCBA1:
-        case EKeyOK:
-            {
-            if ( CheckKeyNeedRepeat( aLength ) )
-                {
-                popup->SetChangeState( ETrue );
-                iOwner->ChangeState( ECandidate );
-                ret = EFalse;
-                }
-            else
-                {
-                iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-                }
-            break;
-            }
-        default:
-            return TAknFepInputStateStrokePhraseBase::HandleKeyL( aKey, aLength );
-        }
-    
-    return ret;
-    }
-
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryStrokePhrase::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateEntryStrokePhrase::HandleCommandL( TInt aCommandId )
-    {
-    switch ( aCommandId )
-        {
-        // Handle the event frome command.
-        case EAknSoftkeySelect:
-            HandleCommitL();
-            break;
-        default:
-            TAknFepInputStateChineseBase::HandleCommandL( aCommandId );
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryStrokePhrase::HandleCommit 
-// Handle CBA1,ok and select candidate phrase key press.
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateEntryStrokePhrase::HandleCommitL()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* keystrokeArray = popup->KeystrokeArrayForStroke();
-    CDesCArrayFlat* phrase = popup->ChooseChineseCharacterArrayForStroke();
-    TPtrC text = candidatePane->CurrentPhraseCandidate();
-    if( text.Length() ) 
-        {
-        if ( CommitInlineEEPL( text ) )
-            {
-            if ( phrase->Count() >= KMaxPhraseCreationCount )
-                {
-                if ( keystrokeArray->Count() != 0 )
-                    {
-                    CAknWarningNote* errnote = new( ELeave ) CAknWarningNote();
-                    errnote->SetTone( CAknNoteDialog::EWarningTone );
-                    errnote->ExecuteLD( KMaxPhraseNote );
-                    }
-                else
-                    {
-                    iOwner->FepMan()->PhraseCreation( EFalse );
-                    iOwner->FepMan()->EntryPhrase( EFalse );
-                    iOwner->FepMan()->PinyinPhraseCreation( EFalse );
-                    iOwner->FepMan()->EnableKeyStar( ETrue );
-                    iOwner->FepMan()->TryCloseUiL(); //no more keys, close the UI.
-                    }
-                }
-            else
-                {
-                if ( !iOwner->FepMan()->IsPhraseCreation() )
-                    {
-                    if (iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagEditorFull))
-                        {
-                        iOwner->FepMan()->ClearFlag(CAknFepManager::EFlagEditorFull);
-                        iOwner->FepMan()->TryCloseUiL();
-                        }
-                    else
-                        {
-                        iOwner->ChangeState( EPredictiveCandidate );
-                        }
-                    }
-                else
-                    {
-                    iOwner->FepMan()->PhraseCreation( EFalse );
-                    iOwner->FepMan()->EntryPhrase( EFalse );
-                    iOwner->FepMan()->PinyinPhraseCreation( EFalse );
-                    iOwner->FepMan()->EnableKeyStar( ETrue );
-                    iOwner->FepMan()->TryCloseUiL(); //no more keys, close the UI.
-                    }
-                }
-            popup->ResetStrokeArray();
-            }
-        else
-            {
-            editPane->SetCursorIndexOfKeystroke( 0 );
-            if ( CheckFirstGroupStroke() )
-                {
-                popup->SetState( ETrue );
-                iOwner->ChangeState( EEntry );
-                }
-            else
-                {
-                popup->SetState( ETrue );
-                //change state to sequence edit
-                iOwner->ChangeState( EStrokeSequenceEdit );
-                }
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryStrokePhrase::CommitInlineEEPL 
-// Commit phrase to the EEP ctrl.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputStateEntryStrokePhrase::CommitInlineEEPL( 
-                                                        const TDesC& aText )
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    CDesCArrayFlat* keystrokeArray = popup->KeystrokeArrayForStroke();
-    CDesCArrayFlat* phrase = popup->ChooseChineseCharacterArrayForStroke();
-    CDesCArrayFlat* phraseKeystroke = 
-        popup->ChooseChineseCharacterArrayKeystrokeForStroke();
-    
-    TBuf<KMaxPhraseCreationCount> phraseCreated;
-    
-    TInt textCount = aText.Length();
-    TInt allTextCount = 0;
-    TInt i = 0;
-    TInt j = 0;
-    // append character to chinese array
-    for ( i = 0; i < textCount; i++ )
-        {
-        phrase->AppendL( aText.Mid( i, 1 ) );
-        }
-    
-    TInt characterCount = phrase->Count();
-    
-    // if chinese character is more than 7 or not
-    // if more than 7 show a warning not
-    if ( characterCount >= KMaxPhraseCreationCount )
-        {
-        for ( i = 0; i < KMaxPhraseCreationCount; ++i )
-            {
-            phraseCreated.Append( phrase->MdcaPoint(i) );
-            }
-        AddPhraseToDB( phraseCreated );
-        iOwner->FepMan()->NewTextL( phraseCreated );
-        iOwner->FepMan()->CommitInlineEditL();
-        }
-    
-    // calculate the total number of character according to stroke
-    for ( i = 0; i < keystrokeArray->Count(); i++ )
-        {
-        if ( keystrokeArray->MdcaPoint( i ) == KDelimiter )
-            {
-            allTextCount = allTextCount + 1;
-            }
-        }
-    
-    allTextCount = allTextCount + 1;
-    if ( keystrokeArray->MdcaPoint( keystrokeArray->Count() - 1 ) ==  
-        KDelimiter )
-        {
-        allTextCount--;
-        }
-    
-    // if total number is less than the character's count which user has selected
-    // commit the character to editor and user db   
-    if ( allTextCount <= textCount && characterCount < KMaxPhraseCreationCount )
-        {
-        for ( i = 0; i < characterCount; ++i )
-            {
-            phraseCreated.Append( phrase->MdcaPoint(i) );
-            } 
-        iOwner->FepMan()->NewTextL( phraseCreated );
-        iOwner->FepMan()->CommitInlineEditL();
-        AddPhraseToDB( phraseCreated );
-        return ETrue;
-        }
-    
-    // add the stroke to chosen character array
-    // delete key stroke which charactor is corresponding
-    for ( j = 0; j < textCount; j++ )
-        {
-        TInt keyCount = 0;
-        TInt ret = keystrokeArray->Find( KDelimiter , 
-                                         keyCount, 
-                                         ECmpFolded );
-        
-        if ( ret != 0)
-            {
-            keyCount = keystrokeArray->Count();
-            j = textCount;
-            }
-        else
-            {
-            keyCount++;
-            }
-
-        TBuf<KMaxKeystrokeCount> keystroke;
-        for ( i = 0; i < keyCount; i++ )
-            {
-            keystroke.Append( keystrokeArray->MdcaPoint( 0 ) );
-            keystrokeArray->Delete( 0 );
-            }
-        phraseKeystroke->AppendL( keystroke );
-        }    
-    if ( keystrokeArray->Count() > 0 )
-        {
-        iOwner->FepMan()->PhraseCreation( ETrue );
-        }
-    if ( characterCount >= KMaxPhraseCreationCount )
-        {
-        return ETrue;
-        }
-
-    return EFalse;
-    }
-
-// End of file
-
-// ---------------------------------------------------------
-// C++ constructor
-// ---------------------------------------------------------
-//
-TAknFepInputStateEditStrokePhrase::TAknFepInputStateEditStrokePhrase(
-    MAknFepUIManagerStateInterface* aOwner,
-    MAknFepUICtrlContainerChinese* aUIContainer ) :
-    TAknFepInputStateStrokePhraseBase( aOwner, aUIContainer)
-    {
-    iState = EStrokeSequenceEdit;
-
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    uiContainer->FocusCandidatePane( EFalse );
-    uiContainer->CandidatePane()->ShowCandidateOrdinals( EFalse );
-    uiContainer->SetLayout( MAknFepUICtrlContainerChinese::ELayoutKeystroke );
-    uiContainer->CandidatePane()->SelectFirstPhrase();
-    uiContainer->ShowVerticalScrollArrows( ETrue );
-    uiContainer->ShowHorizontalScrollArrows( EFalse );
-    uiContainer->InputPane()->SetOverrideFontId( 0 );
-
-    RefreshUI();
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEditStrokePhrase::HandleKeyL
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputStateEditStrokePhrase::HandleKeyL( 
-                                                    TInt aKey,
-                                                    TKeyPressLength aLength )
-    {
-    return TAknFepInputStateStrokePhraseBase::HandleKeyL( 
-                                                   aKey, 
-                                                   aLength );
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryStrokePhraseCreation::
-// TAknFepInputStateEntryStrokePhraseCreation
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-TAknFepInputStateCandidateStrokePhrase::TAknFepInputStateCandidateStrokePhrase(
-    MAknFepUIManagerStateInterface* aOwner,
-    MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateStrokePhraseBase(aOwner, aUIContainer)
-    {
-    iState = ECandidate;
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    
-    TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() &&
-                            uiContainer->CandidatePane()->IsFirstPage());
-    TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength > KMinCnadidateCount;
-
-    uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows); 
-    uiContainer->ShowVerticalScrollArrows(multiplePages);
-    uiContainer->FocusCandidatePane(ETrue);
-    uiContainer->CandidatePane()->ShowCandidateOrdinals(ETrue);
-    uiContainer->CandidatePane()->SelectFirstPhrase();
-    uiContainer->EditPaneWindow()->DisableCursor();
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateCandidateStrokePhrase::HandleKeyL
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputStateCandidateStrokePhrase::HandleKeyL( 
-                                        TInt aKey, 
-                                        TKeyPressLength /*aLength*/ )
-    {
-    TBool ret = ETrue;
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    // it may be one of the 'valid' numbers..
-    TInt index = MapKeyToIndex(aKey);
-
-    switch( aKey )
-        {
-        case EKeyBackspace:
-            {
-            editPane->EnableCursor();
-            popup->SetChangeState( ETrue );
-            iOwner->ChangeState( EEntry );
-            popup->SetFlag( KChangeStatebyBackSpce );
-            break;
-            }
-        case EKeyDownArrow:
-            {
-            if ( candidatePane->IsLastPage() )
-                {
-                return ETrue;
-                }
-            if ( candidatePane->NeedGetNewCandidatePage( ) )
-                {
-                if ( !iOwner->PtiEngine()->NextCandidatePage( ) )
-                    {
-                    if ( candidatePane->IsLastPage() )
-                        {
-                        iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-                        return ETrue;
-                        }
-                    }
-                else
-                    {
-                    CDesCArrayFlat* phraseCandidates =
-                        candidatePane->CandidateArray( );
-                    RPointerArray<HBufC> list;
-                    GetNewCandidatesL( iOwner->PtiEngine()->CandidatePage( ), list );
-                    for (TInt i = 0; i < list.Count( ); ++i )
-                        {
-                        phraseCandidates->AppendL( *(list[i]) );
-                        }
-                    list.ResetAndDestroy();
-                    }
-                }
-            candidatePane->NextCandidatePage( );
-            RefreshCandidate( );
-            break;
-            }
-        case EKeyUpArrow:
-            {
-            if( !candidatePane->IsFirstPage() )
-                {
-                candidatePane->PreviousCandidatePage();
-                RefreshCandidate();
-                }
-            else
-                {
-                popup->SetChangeState( ETrue );
-                popup->SetState( EFalse );
-                iOwner->ChangeState( EStrokeSequenceEdit );
-                }
-            break;
-            }
-        case EKeyLeftArrow:
-        case EKeyRightArrow:
-            {
-            HandleHorizontalNavigation( aKey );
-            break;
-            }
-        case EPtiKeyStar:
-            {
-            break;
-            }
-        case EKeyCBA2:
-            {
-            popup->ResetStrokeArray();
-            iOwner->FepMan()->EntryPhrase( EFalse );
-            iOwner->FepMan()->PhraseCreation( EFalse );
-            iOwner->FepMan()->TryCloseUiL();
-            break;
-            }
-        default:
-            {
-            if ( ( aKey == EKeyOK ) || aKey == EKeyCBA1 ||
-                        candidatePane->SelectIndex( index,EFalse ) )
-                {
-                HandleCommitL();
-                }
-            else
-                {
-                iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-                }
-            break;
-            }
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateCandidateStrokePhrase::HandleHorizontalNavigation 
-// Handle Horizontal Navigation.
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateCandidateStrokePhrase::HandleHorizontalNavigation(
-                                                                   TInt aKey )
-    {
-    MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-    // Do navigation...
-    if (aKey == EKeyLeftArrow)
-        {        
-        if(!candidatePane->SelectPrev())
-            {
-            candidatePane->SetCandidateBuffer();
-            candidatePane->SelectLastPhrase();
-            }
-        }
-    else if (aKey == EKeyRightArrow)
-        {              
-        if(!candidatePane->SelectNext())
-            {
-            candidatePane->SetCandidateBuffer();
-            candidatePane->SelectFirstPhrase();
-            }        
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateCandidateStrokePhrase::HandleCommit 
-// Handle CBA1,ok and select candidate phrase key press.
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateCandidateStrokePhrase::HandleCommitL()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* keystrokeArray = popup->KeystrokeArrayForStroke();
-    CDesCArrayFlat* phrase = popup->ChooseChineseCharacterArrayForStroke();
-    TPtrC text = candidatePane->CurrentPhraseCandidate();
-    if( text.Length() ) 
-        {
-        if ( CommitInlineEEPL( text ) )
-            {
-            if ( phrase->Count() <= KMaxPhraseCreationCount && !iOwner->FepMan()->IsPhraseCreation() )
-                {
-                if ( !iOwner->FepMan()->IsPhraseCreation( ) )
-                    {
-                    if ( iOwner->FepMan()->IsFlagSet( CAknFepManager::EFlagEditorFull ) )
-                        {
-                        iOwner->FepMan()->ClearFlag( CAknFepManager::EFlagEditorFull );
-                        iOwner->FepMan()->TryCloseUiL( );
-                        }
-                    else
-                        {
-                        iOwner->ChangeState( EPredictiveCandidate );
-                        }
-                    }
-                else
-                    {
-                    iOwner->FepMan()->PhraseCreation( EFalse );
-                    iOwner->FepMan()->EntryPhrase( EFalse );
-                    iOwner->FepMan()->PinyinPhraseCreation( EFalse );
-                    iOwner->FepMan()->EnableKeyStar( ETrue );
-                    iOwner->FepMan()->TryCloseUiL(); //no more keys, close the UI.
-                    }
-                }
-            else
-                {
-                if ( keystrokeArray->Count() != 0 && phrase->Count() >= KMaxPhraseCreationCount )
-                    {
-                    CAknWarningNote* errnote = new( ELeave ) CAknWarningNote();
-                    errnote->SetTone( CAknNoteDialog::EWarningTone );
-                    errnote->ExecuteLD( KMaxPhraseNote );
-                    }
-                else
-                    {
-                    iOwner->FepMan()->PhraseCreation( EFalse );
-                    iOwner->FepMan()->EntryPhrase( EFalse );
-                    iOwner->FepMan()->PinyinPhraseCreation( EFalse );
-                    iOwner->FepMan()->EnableKeyStar( ETrue );
-                    iOwner->FepMan()->TryCloseUiL(); //no more keys, close the UI.
-                    }
-                }
-            popup->ResetStrokeArray();
-            }
-        else
-            {
-            editPane->SetCursorIndexOfKeystroke( 0 );
-            if ( CheckFirstGroupStroke() )
-                {
-                popup->SetState( ETrue );
-                iOwner->ChangeState( EEntry );
-                }
-            else
-                {
-                popup->SetState( ETrue );
-                //change state to sequence edit
-                iOwner->ChangeState( EStrokeSequenceEdit );
-                }
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateCandidateStrokePhrase::CommitInlineEEPL 
-// Commit phrase to the EEP ctrl.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputStateCandidateStrokePhrase::CommitInlineEEPL( 
-                                                        const TDesC& aText )
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    CDesCArrayFlat* keystrokeArray = popup->KeystrokeArrayForStroke();
-    CDesCArrayFlat* phrase = popup->ChooseChineseCharacterArrayForStroke();
-    CDesCArrayFlat* phraseKeystroke = 
-        popup->ChooseChineseCharacterArrayKeystrokeForStroke();
-    
-    TBuf<KMaxPhraseCreationCount> phraseCreated;
-    
-    TInt textCount = aText.Length();
-    TInt allTextCount = 0;
-    TInt i = 0;
-    TInt j = 0;
-    // append character to chinese array
-    for ( i = 0; i < textCount; i++ )
-        {
-        phrase->AppendL( aText.Mid( i, 1 ) );
-        }
-    
-    TInt characterCount = phrase->Count();
-    
-    // if chinese character is more than 7 or not
-    // if more than 7 show a warning not
-    if ( characterCount >= KMaxPhraseCreationCount )
-        {
-        for ( i = 0; i < KMaxPhraseCreationCount; ++i )
-            {
-            phraseCreated.Append( phrase->MdcaPoint(i) );
-            }
-        AddPhraseToDB( phraseCreated );
-        iOwner->FepMan()->NewTextL( phraseCreated );
-        iOwner->FepMan()->CommitInlineEditL();
-        }
-    
-    // calculate the total number of character according to stroke
-    for ( i = 0; i < keystrokeArray->Count(); i++ )
-        {
-        if ( keystrokeArray->MdcaPoint( i ) == KDelimiter )
-            {
-            allTextCount = allTextCount + 1;
-            }
-        }
-    
-    allTextCount = allTextCount + 1;
-    if ( keystrokeArray->MdcaPoint( keystrokeArray->Count() - 1 ) ==  
-        KDelimiter )
-        {
-        allTextCount--;
-        }
-    
-    // if total number is less than the character's count which user has selected
-    // commit the character to editor and user db   
-    if ( allTextCount <= textCount && characterCount < KMaxPhraseCreationCount )
-        {
-        for ( i = 0; i < characterCount; ++i )
-            {
-            phraseCreated.Append( phrase->MdcaPoint(i) );
-            } 
-        iOwner->FepMan()->NewTextL( phraseCreated );
-        iOwner->FepMan()->CommitInlineEditL();
-        AddPhraseToDB( phraseCreated );
-        return ETrue;
-        }
-    
-    // add the stroke to chosen character array
-    // delete key stroke which charactor is corresponding
-    for ( j = 0; j < textCount; j++ )
-        {
-        TInt keyCount = 0;
-        TInt ret = keystrokeArray->Find( KDelimiter , 
-                                         keyCount, 
-                                         ECmpFolded );
-        
-        if ( ret != 0)
-            {
-            keyCount = keystrokeArray->Count();
-            j = textCount;
-            }
-        else
-            {
-            keyCount++;
-            }
-
-        TBuf<KMaxKeystrokeCount> keystroke;
-        for ( i = 0; i < keyCount; i++ )
-            {
-            keystroke.Append( keystrokeArray->MdcaPoint( 0 ) );
-            keystrokeArray->Delete( 0 );
-            }
-        phraseKeystroke->AppendL( keystroke );
-        }    
-    if ( keystrokeArray->Count() > 0 )
-        {
-        iOwner->FepMan()->PhraseCreation( ETrue );
-        }    
-    
-    if ( characterCount >= KMaxPhraseCreationCount )
-        {
-        return ETrue;
-        }
-
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateCandidateStrokePhrase::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateCandidateStrokePhrase::HandleCommandL( TInt aCommandId )
-    {
-    switch ( aCommandId )
-        {
-        // Handle the event frome command.
-        case EAknSoftkeySelect:
-            //    case (TUint16)EAknSoftkeySelect: //the Selected in soft CBA
-            HandleCommitL();
-            break;
-        default:
-            TAknFepInputStateChineseBase::HandleCommandL( aCommandId );
-            break;
-        }
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateEntryThaiPredictive.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,212 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the TAknFepInputStateEntryThaiPredictive methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateEntryThaiPredictive.h"
-#include "AknFepUIManagerStateInterface.h"      //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"           //MAknFepManagerUIInterface
-#include "AknFepManager.h"
-#include "AknFepPanic.h"
-#include "AknFepCaseManager.h"
-
-#include <PtiEngine.h>                             //CPtiEngine
-#include <PtiDefs.h>                            //keys
-#include <e32keys.h>
-#include <aknfep.rsg>
-
-TAknFepInputStateEntryThaiPredictive::
-TAknFepInputStateEntryThaiPredictive(MAknFepUIManagerStateInterface* aOwner)
-    :TAknFepInputStateEntryWesternPredictive(aOwner)
-    {
-    //this class insists on the existence of a case manager
-    __ASSERT_DEBUG(iOwner->CaseMan(), AknFepPanic(EAknFepPanicNoCaseManager));
-
-    iState = EEntry;
-    iMatchState = EWordMatchNone;
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    ptiengine->SetInputMode(EPtiEnginePredictive);
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    TBool isUnlimitedEditor = EFalse;
-    ptiengine->SetMaxLengthForAutoCompletedCandidates(fepMan->EditorFreeSpaceForAutoWordCompletion(isUnlimitedEditor ));
-    // To set the input mode
-    if(fepMan->IsAutoCompleteOn())
-        {
-		TRAP_IGNORE(ptiengine->HandleCommandL(EPtiCommandEnableAutoCompletion));
-        }
-    else
-        {
-		TRAP_IGNORE(ptiengine->HandleCommandL(EPtiCommandDisableAutoCompletion));
-        }
-    
-    TPtiKeyboardType keyboard = fepMan->KeyboardLayout();
-    ptiengine->SetKeyboardType(keyboard);
-    TBool isNumberCandidateShown = fepMan->IsAdvancedPredictiveNumberCandidateShown();
-	TRAP_IGNORE(ptiengine->HandleCommandL( EPtiCommandSetNumberCandidateStatus, &isNumberCandidateShown ));
-#else
-    ptiengine->ClearCurrentWord();
-#ifdef RD_PRED_AW_COMPLETION
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    // To set the input mode
-    if(fepMan->IsAutoCompleteOn())
-        {
-        ptiengine->SetInputMode(EPtiEngineWordCompletion);
-        }
-    else
-#endif // RD_PRED_AW_COMPLETION
-        {
-        ptiengine->SetInputMode(EPtiEnginePredictive);
-        }
-#endif // RD_INTELLIGENT_TEXT_INPUT
-    ptiengine->SetCase(EPtiCaseLower);
-    }
-
-TBool TAknFepInputStateEntryThaiPredictive::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    TBool response = ETrue;
-
-    switch (aKey)
-        {
-    case EPtiKey1: //fall through
-    case EPtiKey2:
-    case EPtiKey3:
-    case EPtiKey4:
-    case EPtiKey5:
-    case EPtiKey6:
-    case EPtiKey7:
-    case EPtiKey8:
-    case EPtiKey9:
-    case EPtiKey0:
-    case EPtiKeyStar:
-        response = HandleStandardNumericKeysL(aKey, aLength);
-        break;
-    case EKeyDownArrow:
-        response = HandleDownKeyL();
-        break;
-    case EKeyUpArrow:
-        response = HandleUpKeyL();
-        break;
-    case EKeyRightArrow: // fall through
-    case EKeyLeftArrow: 
-    case EKeyBackspace:
-        response = HandleNaviKeysL(aKey, aLength);
-        break;
-    default:
-        response = EFalse;
-        break;
-        }
-    return response;
-    }
-
-TBool TAknFepInputStateEntryThaiPredictive::HandleDownKeyL()
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    
-    if (!(fepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction)))
-        {
-        return EFalse;
-        }
-    else
-        {
-        if (fepMan->IsFlagSet(CAknFepManager::EFlagNoMatches))
-            {
-            //no more matches
-            fepMan->PlaySound(EAvkonSIDWarningTone);
-            }
-        else if (ptiengine->NumberOfCandidates()<=1)
-            { 
-            // only one match
-            if (iMatchState == EWordMatchFirst || iMatchState == EWordMatchNone)
-                {
-                fepMan->UpdateCbaL(R_AKNFEP_SOFTKEYS_SPELL_EMPTY);
-                iMatchState = EWordMatchLast;
-                }
-            }
-        else
-            { 
-            // > 1 match
-            if (iMatchState == EWordMatchLast && !(ptiengine->LastEnteredKey() == EPtiKey1))
-                {
-                fepMan->UpdateCbaL(R_AKNFEP_SOFTKEYS_SPELL_PREVIOUS);
-                }
-            else if (iMatchState == EWordMatchFirst || iMatchState == EWordMatchNone)
-                {
-                fepMan->UpdateCbaL(R_AKNFEP_SOFTKEYS_EMPTY_PREVIOUS);
-                iMatchState = EWordMatchStd;
-                }
-            TPtrC newText = ptiengine->NextCandidate();
-            fepMan->UpdateInlineEditL(newText, 0);
-            }
-        }
-    return ETrue;
-    }
-
-TBool TAknFepInputStateEntryThaiPredictive::HandleUpKeyL()
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    if (!(fepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction)))
-        {
-        return EFalse;
-        }    
-    
-#ifdef RD_INTELLIGENT_TEXT_INPUT    
-    TInt lastCandidateIndex = ptiengine->NumberOfCandidates() -1;
-    if(lastCandidateIndex >= 0)
-        {
-        // Get last word on list
-        fepMan->LaunchCandidatePopupListL( lastCandidateIndex );        
-        }
-    else
-        {
-        TInt wordIndexToSelect = 0;
-        // Get next word on list (wrap around if at end)
-        ptiengine->HandleCommandL( EPtiCommandUserActionGetCurrentIndexOfCandidates, 
-			&wordIndexToSelect );
-        wordIndexToSelect < lastCandidateIndex ? wordIndexToSelect++ : wordIndexToSelect = 0;
-        fepMan->LaunchCandidatePopupListL( wordIndexToSelect );        
-        }                        	                        	    
-	   
-#else      
-    if (!( (iMatchState == EWordMatchFirst) || !(fepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction))))
-        {
-        if (iMatchState == EWordMatchLast || iMatchState == EWordMatchAfterLast)
-            {
-            fepMan->UpdateCbaL(R_AKNFEP_SOFTKEYS_EMPTY_PREVIOUS);
-            }
-        iMatchState = EWordMatchStd; 
-        TPtrC prevText = ptiengine->PreviousCandidate();
-        fepMan->UpdateInlineEditL(prevText, 0);
-        }
-        
-#endif //RD_INTELLIGENT_TEXT_INPUT
-    return ETrue;
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateEntryVietnamesePredictive.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,370 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the TAknFepUiInputStateEntryVietnamesePredictive methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateEntryVietnamesePredictive.h"
-#include "AknFepUIInputStateInitialVietnameseMultitap.h"
-#include "AknFepUIManagerStateInterface.h"      //MAknFepUIManagerStateInterface
-#include "AknFepCaseManager.h"
-#include "AknFepVietnameseToneManager.h"
-
-#include <uikon.hrh>
-#include <PtiEngine.h>                          //CPtiEngine
-#include <PtiDefs.h>                            //keys
-#include <aknSctDialog.h>
-#include <avkon.rsg>
-#include <aknfep.rsg>
-
-#include "AknFepUiManagerWestern.h"
-TAknFepInputStateEntryVietnamesePredictive::
-TAknFepInputStateEntryVietnamesePredictive(MAknFepUIManagerStateInterface* aOwner)
-: TAknFepInputStateEntryWesternPredictive(aOwner)   
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    if (ptiengine->CurrentLanguage()->LanguageCode() != ELangVietnamese)
-        {
-        TRAP_IGNORE(ptiengine->ActivateLanguageL(ELangVietnamese));
-        }
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-        MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-        if(fepMan->IsAutoCompleteOn())
-    	{
-    	   ptiengine->SetInputMode(EPtiEngineWordCompletion);
-    	}
-    	else
-#endif
-        {
-        ptiengine->SetInputMode(EPtiEnginePredictive);
-        }
-    }
-
-TBool TAknFepInputStateEntryVietnamesePredictive::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-
-    TBool response = ETrue;
-
-    switch (aKey)
-        {
-    case EPtiKey1: //fall through
-    case EPtiKey2:
-    case EPtiKey3:
-    case EPtiKey4:
-    case EPtiKey5:
-    case EPtiKey6:
-    case EPtiKey7:
-    case EPtiKey8:
-    case EPtiKey9:
-        response = HandleStandardNumericKeysL(aKey, aLength);
-        break;
-    case EPtiKey0:
-        if ( fepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction) )
-            {
-            fepMan->TryRemoveNoMatchesIndicatorL();
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-            if(fepMan->IsAutoCompleteOn())
-					{
-					fepMan->RemoveSuggestedCompletionL();
-					}
-#endif
-            }
-        fepMan->UpdateCbaL(NULL);
-        if (fepMan->IsFlagSet(CAknFepManager::EFlagCompoundWord))
-            { 
-            if (fepMan->IsCursorAtEndOfWord())
-                {            
-                fepMan->AddCompoundWordToUdbL();
-                }
-            fepMan->ClearFlag(CAknFepManager::EFlagCompoundWord);
-            }
-        ptiengine->CommitCurrentWord();  // commit word after calling TryCloseUiL().
-        fepMan->TryCloseUiL();
-        response = EFalse;  //pass to initial state to handle key
-        break;
-    case EKeyLeftArrow: // fall through
-    case EKeyRightArrow:
-        response = HandleNaviKeysL(aKey, aLength);
-        break;    
-    case EKeyBackspace:
-        response = HandleDeleteKeysL(aKey, aLength);
-        break;
-    case EPtiKeyStar:
-        response = HandleStarKeyL(aLength);
-        break;
-    case EKeyDownArrow: // Japanese input required
-        if (fepMan->IsAbleScrollLatinPredictive())
-            {
-            if (fepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction))
-                {
-                DoNextMatch();
-                }
-            else
-                {
-                response = EFalse;
-                }
-            }
-        else
-            {
-            response = EFalse;
-            }
-        break;
-    case EKeyUpArrow: // Japanese input required
-        if (fepMan->IsAbleScrollLatinPredictive())
-            {
-            if (fepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction))
-                {
-                DoPreviousMatchL();
-                }
-            else
-                {
-                response = EFalse;
-                }
-            }
-        else
-            {
-            response = EFalse;
-            }
-        break;
-    default:
-        response = EFalse;
-        break;
-        }
-    return response;
-    }
-
-TBool TAknFepInputStateEntryVietnamesePredictive::HandleStarKeyL(TKeyPressLength aLength)
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-
-    if (aLength == ELongKeyPress)
-        { 
-        if (fepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction))
-            {
-            // replace with previous match
-            fepMan->TryRemoveNoMatchesIndicatorL();
-            iMatchState = EWordMatchStd;
-            TPtrC newText = ptiengine->PreviousCandidate();
-            fepMan->UpdateInlineEditL(newText, newText.Length());
-            }
-            
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-        	// to rip off suggested completion when SCT is launched
-		if(fepMan->IsAutoCompleteOn()) 
-			{
-			fepMan->RemoveSuggestedCompletionL();	
-			}
-#endif
-       	if (!fepMan->EditSubmenuInUse())
-        	{
-        	fepMan->LaunchSpecialCharacterTableL();
-        	}            
-        }
-    else 
-        {
-        if (fepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction))
-            {
-            if (fepMan->IsFlagSet(CAknFepManager::EFlagNoMatches))
-                {
-                //no more matches
-                fepMan->PlaySound(EAvkonSIDWarningTone);
-                }
-            else if (ptiengine->NumberOfCandidates()<=1)
-                { 
-                // only one match
-                if (iMatchState == EWordMatchFirst || iMatchState == EWordMatchNone)
-                    {
-                    fepMan->UpdateCbaL(R_AKNFEP_SOFTKEYS_SPELL_EMPTY);
-                    iMatchState = EWordMatchLast;
-                    }
-                }
-            else
-                { 
-                // > 1 match
-                if (iMatchState == EWordMatchLast && !(ptiengine->LastEnteredKey() == EPtiKey1))
-                    {
-                    fepMan->UpdateCbaL(R_AKNFEP_SOFTKEYS_SPELL_PREVIOUS);
-                    }
-                else if (iMatchState == EWordMatchFirst || iMatchState == EWordMatchNone)
-                    {
-                    fepMan->UpdateCbaL(R_AKNFEP_SOFTKEYS_EMPTY_PREVIOUS);
-                    iMatchState = EWordMatchStd;
-                    }
-                TPtrC newText = ptiengine->NextCandidate();
-           		if(newText.Length() == 1)
-           			{
-	            	TDigitType digittype = fepMan->LocalDigit();
-	                TChar chchar(newText[0]);
-	                if(!chchar.IsDigit() || (chchar.IsDigit() && !digittype))
-	                	{ 	
-	                	fepMan->UpdateInlineEditL(newText, newText.Length());    
-    	            	}
-	                else 
-	                	{
-	                	TBuf<1> tempbuf;
-	                	switch(digittype)
-		                	{
-		                	case EDigitTypeDevanagari:
-			                	{
-			                	chchar = (newText[0] + KLatinToDevanagariDigitsDelta);
-	            		    	}
-			                	break;	
-			                case EDigitTypeArabicIndic:
-				                {
-			                	chchar = (newText[0] + KLatinToArabicIndicDigitsDelta);
-	            		        }
-				                break;
-		                	case EDigitTypeEasternArabicIndic:
-			                	{
-			                	chchar = (newText[0] + KLatinToEasternArabicIndicDigitsDelta);
-			                	}
-		                	}
-	            		tempbuf.Append(chchar);				                	
-		                fepMan->UpdateInlineEditL(tempbuf, tempbuf.Length());	
-	                	}
-           			}
-           		else 
-           			{
-           			fepMan->UpdateInlineEditL(newText, newText.Length());	
-           			}
-                }
-            }
-        else
-            {
-  			if (!fepMan->EditSubmenuInUse())
-        		{
-        		fepMan->LaunchSpecialCharacterTableL();
-        		}
-            }
-        }
-    return ETrue;
-    }
-
-TBool TAknFepInputStateEntryVietnamesePredictive::HandleDeleteKeysL(TInt aKey, TKeyPressLength /*aLength*/)
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-
-    if (!(fepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction)))
-        {
-        if(fepMan->PreviousChar() == TText(0x0020))      // 0x0020 is space 
-        {
-        	return EFalse;
-        }
-        TBuf<CAknFepManager::EMaximumFepWordLength> textToUncommit;
-        TBool comsumeKey;
-        if (!(fepMan->TryGetTextToUncommitL(textToUncommit, aKey, comsumeKey)))
-            {
-            // If T9 word length > 32, the navi key is consumed without action.
-            // Maybe should navigate inside word.
-            return comsumeKey;
-            }
-        ptiengine->SetCurrentWord(textToUncommit);
-		fepMan->ClearFlag(CAknFepManager::EFlagRemoveMatchesMenuItem);           
-        if (ptiengine->NumberOfCandidates() <= 1)
-        	{
-			fepMan->SetFlag(CAknFepManager::EFlagRemoveMatchesMenuItem);           	
-        	}        
-        fepMan->StartInlineEditL(fepMan->UncommittedText(), textToUncommit, 
-                                 textToUncommit.Length(), EFalse);
-        }
-  
-    if (aKey == EKeyBackspace)
-        {
-        if (fepMan->IsFlagSet(CAknFepManager::EFlagNoMatches))
-            {
-            fepMan->TryRemoveNoMatchesIndicatorL();
-            fepMan->UpdateCbaL(NULL);
-            return ETrue;
-            }
-        else if (iMatchState != EWordMatchFirst)
-            {
-            //let FirstWordInSelectionList() reset the CBA
-            iMatchState = EWordMatchNone;
-            }
-        
-        TBuf<2> newText;
-        // Get the last character from the current editor
-        TText prevChar = fepMan->PreviousChar();
-        TBool vowelList = EFalse;
-        for (TInt index = 0; index < KNumberOfToneMarks; index ++)
-            {
-            if (VietToneMatrix[0][index] == prevChar)
-                {
-                vowelList = ETrue;
-                break;
-                }
-            }
-        
-        if (vowelList)
-            {
-                ((CAknFepManager*)fepMan)->RemovePreviousCharacterL();
-            }
-        else
-            {
-            if (prevChar <= 0)
-                {
-                return EFalse;
-                }
-            
-            // Judge if the last character needs to be converted
-            if ( TAknFepInputStateInitialVietnameseMultitap::NeedsVietnameseBkDelSupport(prevChar,
-                                                                                         newText) )
-                {
-                ((CAknFepManager*)fepMan)->RemovePreviousCharacterL();
-                }
-            else
-                {
-                TPtrC  updatedText = ptiengine->DeleteKeyPress();
-                if(ptiengine->InputMode() != EPtiEngineWordCompletion && newText.Length())
-                	{
-                	fepMan->UpdateInlineEditL(updatedText, newText.Length());
-                	}
-                else
-                	{
-                	fepMan->UpdateInlineEditL(updatedText, updatedText.Length());	
-                	}
-                }
-            }
-
-		fepMan->ClearFlag(CAknFepManager::EFlagRemoveMatchesMenuItem);           
-        if (ptiengine->NumberOfCandidates() <= 1)
-        	{
-			fepMan->SetFlag(CAknFepManager::EFlagRemoveMatchesMenuItem);           	
-        	}
-
-        iOwner->CaseMan()->UpdateCase(EBackspaceEvent);
-        fepMan->CloseUiIfWordDeletedL();
-        }
-        
-    return ETrue;
-    }
-
-// End of file    
--- a/fep/aknfep/src/AknFepUiInputStateEntryWesternPredictive.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,938 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the TAknFepInputStateEntryWesternPredictive methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateEntryWesternPredictive.h"
-#include "AknFepUIManagerStateInterface.h"      //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"           //MAknFepManagerUIInterface
-#include "AknFepManager.h"
-#include "AknFepPanic.h"
-#include "AknFepCaseManager.h"
-#include "AknFepPluginManager.h"
-#include "AknFepManagerInterface.h" // MAknFepManagerInterface
-
-#include <aknedsts.h> 
-#include <PtiEngine.h>                             //CPtiEngine
-#include <PtiDefs.h>                            //keys
-#include <featmgr.h>                //FeatureManager
-#include <e32keys.h>
-#include <aknfep.rsg>
-#include <PtiUserDicEntry.h>
-
-// The Maximum world size
-const TInt KMaxWordSize = 63;
-TAknFepInputStateEntryWesternPredictive::
-TAknFepInputStateEntryWesternPredictive(MAknFepUIManagerStateInterface* aOwner)
-    :TAknFepInputStateBase(aOwner)
-    {
-    //this class insists on the existence of a case manager
-    __ASSERT_DEBUG(iOwner->CaseMan(), AknFepPanic(EAknFepPanicNoCaseManager));
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    iState = EEntry;
-    iMatchState = EWordMatchNone;
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-
-    TPtiTextCase caseMode = ptiengine->Case();
-	ptiengine->SetInputMode(EPtiEnginePredictive);  
-
-#ifdef RD_SCALABLE_UI_V2
-
-    if (fepMan->PluginUIManager()->MatchCandidateList().Count() > 0)
-        {
-        fepMan->PluginUIManager()->ResetCandidateList();
-        }
-    
-        iIsLastWord = EFalse;        
-/*
-    if (fepMan->PluginUIManager()->GetSpellText())
-        {
-        TBuf<CAknFepManager::EMaximumFepWordLength> textToUncommit;
-        textToUncommit.Zero();
-        textToUncommit.Copy(*fepMan->PluginUIManager()->GetSpellText());
-        ptiengine->SetCurrentWord(textToUncommit); 
-        }
-*/        
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    	ptiengine->SetInputMode(EPtiEnginePredictive);  
-        TBool isUnlimitedEditor = EFalse;
-        ptiengine->SetMaxLengthForAutoCompletedCandidates(
-                          fepMan->EditorFreeSpaceForAutoWordCompletion(isUnlimitedEditor ));
-        // To set the input mode
-        if(fepMan->IsAutoCompleteOn())
-        	{
-        	TRAP_IGNORE(ptiengine->HandleCommandL(EPtiCommandEnableAutoCompletion));
-        	}
-        else
-        	{
-        	TRAP_IGNORE(ptiengine->HandleCommandL(EPtiCommandDisableAutoCompletion));
-        	}
-
-        TPtiKeyboardType keyboard = fepMan->KeyboardLayout();
-    	ptiengine->SetKeyboardType(keyboard);
-
-    	TBool isNumberCandidateShown = fepMan->IsAdvancedPredictiveNumberCandidateShown();
-    	TRAP_IGNORE(ptiengine->HandleCommandL( EPtiCommandSetNumberCandidateStatus, 
-                 &isNumberCandidateShown ));
-#endif
-
-#else
-
-    ptiengine->ClearCurrentWord();
-        
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-
-    // To set the input mode
-    if(fepMan->IsAutoCompleteOn())
-    	{
-    	   ptiengine->SetInputMode(EPtiEngineWordCompletion);
-    	}
-#endif // RD_PRED_AW_COMPLETION
-#endif //RD_SCALABLE_UI_V2
-    ptiengine->SetCase(caseMode);
-    }
-
-TBool TAknFepInputStateEntryWesternPredictive::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-
-#ifdef RD_SCALABLE_UI_V2
-
-    if (fepMan->PluginUIManager()->GetSpellText())
-        {
-        fepMan->PluginUIManager()->SpellText(NULL);
-        }    
-#endif //
-
-    TBool response = ETrue;
-
-    switch (aKey)
-        {
-    case EPtiKey1: //fall through
-    case EPtiKey2:
-    case EPtiKey3:
-    case EPtiKey4:
-    case EPtiKey5:
-    case EPtiKey6:
-    case EPtiKey7:
-    case EPtiKey8:
-    case EPtiKey9:
-#ifdef RD_SCALABLE_UI_V2
-        fepMan->PluginUIManager()->SetFingerMatchSelectionState(EFalse);    
-#endif //RD_SCALABLE_UI_V2
-        
-        response = HandleStandardNumericKeysL(aKey, aLength);
-        break;
-    case EPtiKey0:
-        if ( fepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction) )
-            {
-            fepMan->TryRemoveNoMatchesIndicatorL();
-#ifndef RD_INTELLIGENT_TEXT_INPUT
- 	    			// To rip off suggested word completion when user presses SPACE
-				if(fepMan->IsAutoCompleteOn())
-					{
-					fepMan->RemoveSuggestedCompletionL();
-					}
-#endif
-            }
-        fepMan->UpdateCbaL(NULL);
-        if (fepMan->IsFlagSet(CAknFepManager::EFlagCompoundWord))
-            { 
-            if (fepMan->IsCursorAtEndOfWord())
-                {
-                fepMan->AddCompoundWordToUdbL();                
-                }
-            fepMan->ClearFlag(CAknFepManager::EFlagCompoundWord);
-            }		            
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        if ( fepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction) )
-            {
-            ptiengine->CommitCurrentWord();
-			fepMan->CommitInlineEditL();
-            fepMan->TryCloseUiL();
-            response = EFalse;
-            }
-        else
-        	{
-#endif
-		fepMan->SetDelayedCommit(); // Delayed 'commit'. 				                                        	
-	    fepMan->TryCloseUiL();	                                
-        response = EFalse;  //pass to initial state to handle key
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        	}
-#endif        	
-#ifdef RD_SCALABLE_UI_V2
-        fepMan->PluginUIManager()->SetFingerMatchSelectionState(EFalse);    
-#endif //RD_SCALABLE_UI_V2
-        break;
-    case EKeyLeftArrow: // fall through
-    case EKeyRightArrow:
-    case EKeyBackspace:
-        response = HandleNaviKeysL(aKey, aLength);
-#ifdef RD_SCALABLE_UI_V2
-        fepMan->PluginUIManager()->SetFingerMatchSelectionState(EFalse);    
-#endif //RD_SCALABLE_UI_V2
-        break;
-    case EPtiKeyStar:
-            {
-            response = HandleStarKeyL(aLength);    
-            }
-        break;
-    case EKeyDownArrow: // Japanese input required
-        if (fepMan->IsAbleScrollLatinPredictive())
-            {
-            if (fepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction))
-                {
-                DoNextMatch();
-                }
-            else
-                {
-                response = EFalse;
-                }
-            }
-        else
-            {
-            response = EFalse;
-            }
-        break;
-    case EKeyUpArrow: // Japanese input required
-        if (fepMan->IsAbleScrollLatinPredictive())
-            {
-            if (fepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction))
-                {
-                DoPreviousMatchL();
-                }
-            else
-                {
-                response = EFalse;
-                }
-            }
-        else
-            {
-            response = EFalse;
-            }
-        break;
-    default:
-        response = EFalse;
-#ifdef RD_SCALABLE_UI_V2
-        fepMan->PluginUIManager()->SetFingerMatchSelectionState(EFalse);            
-#endif //RD_SCALABLE_UI_V2
-        break;
-        }
-    return response;
-    }
-
-void TAknFepInputStateEntryWesternPredictive::HandleCommandL(TInt aCommandId)
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();    
-    if (aCommandId == EAknFepSoftkeyPrevious)
-        {
-        CPtiEngine* ptiengine = iOwner->PtiEngine();
-        
-        __ASSERT_DEBUG(fepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction), 
-                       AknFepPanic(EAknFepPanicNotInsideInlineEdit));   
-
-        if (iMatchState == EWordMatchLast || iMatchState == EWordMatchAfterLast)
-            {
-            fepMan->UpdateCbaL(R_AKNFEP_SOFTKEYS_EMPTY_PREVIOUS);
-            }
-        iMatchState = EWordMatchStd; 
-        TPtrC prevText = ptiengine->PreviousCandidate();
-        if(prevText.Length() == 1)
-   			{
-        	TDigitType digittype = fepMan->LocalDigit();
-            TChar chchar(prevText[0]);
-            if(!chchar.IsDigit() || (chchar.IsDigit() && !digittype))
-            	{ 	
-            	fepMan->UpdateInlineEditL(prevText, prevText.Length());    
-            	}
-            else 
-            	{
-            	TBuf<1> tempbuf;
-	            tempbuf.Append(prevText[0]);
-            	ConvertDigitToDigittype(digittype,tempbuf);
-                fepMan->UpdateInlineEditL(tempbuf, tempbuf.Length());	
-            	}
-   			}
-   		else 
-   			{        
-			fepMan->UpdateInlineEditL(prevText, prevText.Length());
-   			}
-        }
-    else if (aCommandId == ESignalSelectMatchSelectionText)
-        {
-        //fepMan->UpdateCbaL(R_AKNFEP_SOFTKEYS_FINGER);
-#ifdef RD_SCALABLE_UI_V2
-        fepMan->PluginUIManager()->SetFingerMatchSelectionState(EFalse);
-#endif //RD_SCALABLE_UI_V2
-        iOwner->ChangeState(EInitial);
-        }
-    else if (aCommandId == ESignalNaviLeftMatchSelectionText)
-        {
-        //fepMan->UpdateCbaL(R_AKNFEP_SOFTKEYS_FINGER);
-#ifdef RD_SCALABLE_UI_V2
-        fepMan->PluginUIManager()->SetFingerMatchSelectionState(EFalse);
-#endif //RD_SCALABLE_UI_V2
-        iOwner->ChangeState(EEntry);
-
-        TRawEvent event;
-        event.Set(TRawEvent::EKeyDown, EStdKeyLeftArrow);
-        CCoeEnv::Static()->WsSession().SimulateRawEvent(event);
-        
-        event.Set(TRawEvent::EKeyUp, EStdKeyLeftArrow);
-        CCoeEnv::Static()->WsSession().SimulateRawEvent(event);
-        }
-    else if (aCommandId == ESignalNaviRightMatchSelectionText)
-        {
-        //fepMan->UpdateCbaL(R_AKNFEP_SOFTKEYS_FINGER);
-#ifdef RD_SCALABLE_UI_V2
-        fepMan->PluginUIManager()->SetFingerMatchSelectionState(EFalse);
-#endif //RD_SCALABLE_UI_V2
-        iOwner->ChangeState(EEntry);
-
-        TRawEvent event;
-        event.Set(TRawEvent::EKeyDown, EStdKeyRightArrow);
-        CCoeEnv::Static()->WsSession().SimulateRawEvent(event);
-        
-        event.Set(TRawEvent::EKeyUp, EStdKeyRightArrow);
-        CCoeEnv::Static()->WsSession().SimulateRawEvent(event);
-        }        
-    }
-
-TBool TAknFepInputStateEntryWesternPredictive::HandleStandardNumericKeysL(TInt aKey, 
-                                                                          TKeyPressLength aLength)
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-
-    TBool response = ETrue;
-
-    if (aLength == ELongKeyPress)
-        {
-        if (!fepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction))
-        	{
-        	// No edit transaction going on, we have ended here because of long
-        	// key press created editor on UI or some other similar non-standard situation.
-        	// We can't handle key press, so just consume it.
-        	return ETrue;	
-        	}
-                        
-        // try and insert a digit
-        if (!fepMan->TryRemoveNoMatchesIndicatorL())
-            { 
-            // remove last character
-            TPtrC newText = ptiengine->DeleteKeyPress();
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-            if(ptiengine->InputMode() == EPtiEngineWordCompletion 
-           && (newText.Length() > ptiengine->CurrentInputSequence().Length()))
-            	{
-            	    	fepMan->RemoveSuggestedCompletionL();
-            	}
-       		else
-#endif
-	       		{
-            fepMan->UpdateInlineEditL(newText, newText.Length());
-	            }
-            }
-        //closing the UI will commit the current word and move to intial state
-        fepMan->TryCloseUiL();
-        //this flag to ensures that initial state does not send us back 
-        //to this state as it would normally do for numeric keys
-        fepMan->SetFlag(CAknFepManager::EFlagSuppressInputStateChange);
-        response = EFalse;
-        }
-    else  // short keypress 
-        {
-        //To restrict up to 32 character..
-        
-        if(ptiengine->CurrentInputSequence().Length() >= KMaxWordSize)
-        	{
-            fepMan->SetFlag(CAknFepManager::EFlagNoMatches);
-            
-            // Enter word reach to max inline edit state
-            // if we call upadte inline edit, it will insert '?' mark
-            // which would be the 64th/33rd character
-           
-            // Not need to call appedkeypress/ updateinlineedit
-            // ignore the current key press
-            
-            //fepMan->UpdateCbaL(R_AKNFEP_SOFTKEYS_SPELL_EMPTY);
-            //TPtrC newText = ptiengine->CurrentWord();
-			//fepMan->UpdateInlineEditL(newText, newText.Length());
-            }
-        if (fepMan->IsFlagSet(CAknFepManager::EFlagNoMatches))
-            {
-            //no matches, so just play tone
-            fepMan->PlaySound(EAvkonSIDConfirmationTone);
-            }           
-        else //insert a letter
-            {
-            fepMan->SetCcpuFlag(CAknFepManager::ECcpuStateIgnoreStarUp |
-                                CAknFepManager::ECcpuStateNewPredictiveWord);
-            if (iMatchState == EWordMatchLast || iMatchState == EWordMatchAfterLast)
-                {
-                iMatchState = EWordMatchNone;
-                }
-            if (!(fepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction)))
-                { // 'new' inline edit
-                ptiengine->ClearCurrentWord();
-                fepMan->StartInlineEditL();
-                fepMan->TryStartCompoundWord();
-                }
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-  			TInt prevSeqLength = ptiengine->CurrentInputSequence().Length();
-#endif 
-            TPtrC newText = ptiengine->AppendKeyPress((TPtiKey)aKey);
-
- 			fepMan->ClearFlag(CAknFepManager::EFlagRemoveMatchesMenuItem);   
- 			
-#ifdef RD_INTELLIGENT_TEXT_INPUT
- 			if (ptiengine->NumberOfCandidates() > 0)
-#else
-           if ((fepMan->IsMoreGoodWordsComing(newText.Length())
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-				&& (ptiengine->InputMode() != EPtiEngineWordCompletion))
-                || fepMan->IsMoreGoodAutoCompleteWordsComing(ptiengine->InputMode(), 
-                										  prevSeqLength, ptiengine->CurrentInputSequence().Length()
-#endif
-		))
-#endif
-                {
-                // more good words coming in from predictive text engine so carry on
-                if(newText.Length() == 1)
-           			{
-	            	TDigitType digittype = fepMan->LocalDigit();
-	                TChar chchar(newText[0]);
-	                if(!chchar.IsDigit() || (chchar.IsDigit() && !digittype))
-	                	{ 	
-	                	fepMan->UpdateInlineEditL(newText, newText.Length());    
-    	            	}
-	                else 
-	                	{
-	                	TBuf<1> tempbuf;
-	                	tempbuf.Append(newText[0]);
-		            	ConvertDigitToDigittype(digittype,tempbuf);
-		                fepMan->UpdateInlineEditL(tempbuf, tempbuf.Length());				                	
-	                	}
-           			}
-           		else 
-           			{
-           			fepMan->UpdateInlineEditL(newText, newText.Length());	
-           			}
-           			
-                TBool lastEnteredDigitOne = (ptiengine->LastEnteredKey() == EPtiKey1);
-                if (!lastEnteredDigitOne)
-                    {
-                    iOwner->CaseMan()->UpdateCase(ENullNaviEvent);
-                    }
-                fepMan->ClearFlag(CAknFepManager::EFlagRemoveMatchesMenuItem);
-				if (ptiengine->NumberOfCandidates() <= 1)                    
-					{
-	                fepMan->SetFlag(CAknFepManager::EFlagRemoveMatchesMenuItem);                					
-					}
-                }
-            else 
-                {
-                // engine has run out of matches
-                fepMan->SetFlag(CAknFepManager::EFlagRemoveMatchesMenuItem);                
-                fepMan->SetFlag(CAknFepManager::EFlagNoMatches);
-                fepMan->UpdateCbaL(R_AKNFEP_SOFTKEYS_SPELL_EMPTY);
-                if(newText.Length() == 1)
-           			{
-	            	TDigitType digittype = fepMan->LocalDigit();
-	                TChar chchar(newText[0]);
-	                if(!chchar.IsDigit() || (chchar.IsDigit() && !digittype))
-	                	{ 	
-	                	fepMan->UpdateInlineEditL(newText, newText.Length());    
-    	            	}
-	                else 
-	                	{
-	                	TBuf<1> tempbuf;
-	                	tempbuf.Append(newText[0]);
-		            	ConvertDigitToDigittype(digittype,tempbuf);
-		                fepMan->UpdateInlineEditL(tempbuf, tempbuf.Length());					                	
-	                	}
-           			}
-           		else 
-           			{
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-           			// Remove the autocompletion tail if present
-                    if (fepMan->IsAutoCompleteOn())
-                        {
-                        TInt tailLength = 0;
-                        ptiengine->HandleCommandL( EPtiCommandGetAutoCompletionTailLength, 
-                                                  &tailLength );
-                        if(tailLength > 0)
-                            {
-                            // To remove the autocompletion part, the below function is used. 
-                            // DeleteKeyPress was used earlier. This is removed to fix the bug :
-                            // enter characters to show autocompletion part. Now press a 
-                            // character so that the no matches character is shown. Now press
-                            // backspace key, last character is not deleted.
-                            fepMan->RemoveSuggestedAdvanceCompletionL();
-                            fepMan->PlaySound(EAvkonSIDConfirmationTone);
-                            return response;
-                            }
-                        }
-#endif
-           			fepMan->UpdateInlineEditL(newText, newText.Length());	
-           			}
-                fepMan->PlaySound(EAvkonSIDConfirmationTone);
-                }
-            }
-        }
-    return response;
-    }
-
-TBool TAknFepInputStateEntryWesternPredictive::HandleNaviKeysL(TInt aKey, TKeyPressLength /*aLength*/)
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-
-    if (!(fepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction)))
-        {
-        TBuf<CAknFepManager::EMaximumFepWordLength> textToUncommit;
-        TBool comsumeKey;
-        if (!(fepMan->TryGetTextToUncommitL(textToUncommit, aKey, comsumeKey)))
-            {
-            // If T9 word length > 32, the navi key is consumed without action.
-            // Maybe should navigate inside word.
-            return comsumeKey;
-            }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        ptiengine->ClearCurrentWord(); // Clear the buffer or setting input may fail
-#endif
-        ptiengine->SetCurrentWord(textToUncommit);
-        if( ptiengine->CurrentWord().Length() != textToUncommit.Length())
-        	{
-        	TPtiUserDictionaryEntry newUdbEntry(textToUncommit);
-        	ptiengine->AddUserDictionaryEntry(newUdbEntry);
-        	ptiengine->SetCurrentWord(textToUncommit);
-        	}
-
-#ifdef   __ITI_VIRTUAL_TOUCH_FIRST_GENERATION_SUPPORT__ 
-		// First generation ITUT support loops through candidate list on star key press. When we bring
-		// a word in inline edit by navigating with arrow keys, we need to fetch the candidate list in order
-		// to navigate through the predictive list if any or get spell CBA.
-        CDesCArrayFlat* matchesList=new(ELeave)CDesCArrayFlat(1);
-        CleanupStack::PushL(matchesList);
-        ptiengine->GetCandidateListL(*matchesList);
-        CleanupStack::PopAndDestroy();//matchesList
-#endif        
-        	
-		fepMan->ClearFlag(CAknFepManager::EFlagRemoveMatchesMenuItem);           
-        if (ptiengine->NumberOfCandidates() <= 1)
-        	{
-			fepMan->SetFlag(CAknFepManager::EFlagRemoveMatchesMenuItem);           	
-        	}        
-        if (ptiengine->NumberOfCandidates() < 1)
-        	{
-            fepMan->SetFlag(CAknFepManager::EFlagNoMatches);
-            fepMan->UpdateCbaL(R_AKNFEP_SOFTKEYS_SPELL_EMPTY);           	
-        	}
-			
-        fepMan->StartInlineEditL(fepMan->UncommittedText(), textToUncommit, 
-                                 textToUncommit.Length(), EFalse);
-        }
-    
-    if (aKey == EKeyBackspace)
-        {
-        if (fepMan->IsFlagSet(CAknFepManager::EFlagNoMatches))
-            {
-            fepMan->TryRemoveNoMatchesIndicatorL();
-            fepMan->UpdateCbaL(NULL);
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-            ptiengine->HandleCommandL(EPtiCommandSetFlagToUpdateCandidates);
-#endif //RD_INTELLIGENT_TEXT_INPUT
-            // Need to return as DeleteKeyPress should not be passed to ptiengine.
-            // This is because ptiengine does not maintain the input sequence
-            // if the key press does not increase the word length. So when no matches
-            // character is (?) is deleted, no need to pass to ptiengine. This is to done
-            // to solve the bug :enter characters till the no matches character is shown. Now press
-            // backspace, last character is not deleted.
-            return ETrue;
-            }
-        else if (iMatchState != EWordMatchFirst)
-            {
-            //let FirstWordInSelectionList() reset the CBA
-            iMatchState = EWordMatchNone;
-            }
-        
-        TPtrC newText = ptiengine->DeleteKeyPress();
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        TPtiEngineInputMode inputMode = ptiengine->InputMode();
-        if((inputMode != EPtiEngineWordCompletion && inputMode != EPtiEnginePredictive )
-        	&& newText.Length() != ptiengine->CurrentInputSequence().Length())
-#else
-        if((ptiengine->InputMode() != EPtiEngineWordCompletion )
-            	&& newText.Length() != ptiengine->CurrentInputSequence().Length())
-#endif
-        {
-        	TBuf<CAknFepManager::EMaximumFepWordLength> textToUncommit;
-        	TBool comsumeKey;
-        	fepMan->TryGetTextToUncommitL(textToUncommit, aKey, comsumeKey);
-           	textToUncommit.SetLength(textToUncommit.Length() - 1);
-           	ptiengine->SetCurrentWord(textToUncommit);
-           	newText.Set(textToUncommit);
-        }
-        
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        if (!fepMan->IsAutoCompleteOn())
-            {
-			// rip-off the autocompletion part if any, do this before updating the editor content
-			// this is done to avoid any flickering
-    	    TInt tailLength = 0;
-        	ptiengine->HandleCommandL( EPtiCommandGetAutoCompletionTailLength, 
-                                            &tailLength );
-	        if(tailLength > 0)
-    	        {
-        	    fepMan->RemoveSuggestedAdvanceCompletionL();
-				// text would have changed after ripping off the autocompletion part
-	            newText.Set(ptiengine->CurrentWord());
-    	        }
-            }
-#endif            
-            
-        fepMan->UpdateInlineEditL(newText, newText.Length());                    
-		fepMan->ClearFlag(CAknFepManager::EFlagRemoveMatchesMenuItem);           
-        if (ptiengine->NumberOfCandidates() <= 1)
-        	{
-			fepMan->SetFlag(CAknFepManager::EFlagRemoveMatchesMenuItem);           	
-        	}
-
-        iOwner->CaseMan()->UpdateCase(EBackspaceEvent);
-        fepMan->CloseUiIfWordDeletedL();
-        }
-    return ETrue;
-    }
-
-TBool TAknFepInputStateEntryWesternPredictive::HandleStarKeyL(TKeyPressLength aLength)
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-
-    if (aLength == ELongKeyPress)
-        { 
-// Fix for BSAN-7G5944. 
-// In non-ITI mode, during long star key press, initially it is treated as short key press 
-// and the next candidate word is shown. So before displaying the SCT, we revert to
-// the previous candidate. In ITI, long star key press does not result in showing the next
-// candidate, as short key press only launches the candidate list.
-// So reverting to the previous candidate is not needed in ITI mode.        
-#ifndef RD_INTELLIGENT_TEXT_INPUT        
-        if (fepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction))
-            {
-            // replace with previous match
-            fepMan->TryRemoveNoMatchesIndicatorL();
-            iMatchState = EWordMatchStd;
-            TPtrC newText = ptiengine->PreviousCandidate();
-            fepMan->UpdateInlineEditL(newText, newText.Length());
-            }
-		// to rip off suggested completion when SCT is launched
-		if(fepMan->IsAutoCompleteOn()) 
-			{
-			fepMan->RemoveSuggestedCompletionL();	
-			}
-#endif
-            
-       	fepMan->LaunchSpecialCharacterTableL();
-        }
-    else 
-        {
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-#ifndef FF_ITI_VIRTUAL_TOUCH_FIRST_GENERATION_SUPPORT
-        // Short key presses get filtered in AknFepKeyCatcher, so that short star
-        // key press only gets through when the key is lifted. This means we can
-        // launch the candidate popup without worrying about long keypress
-        if (fepMan->WesternPredictive() && aLength == EShortKeyPress && !fepMan->IsQwerty()
-        	&& fepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction)
-        	&& ptiengine->NumberOfCandidates() > 0 
-        	&& fepMan->PluginUIManager()->PluginInputMode() == EPluginInputModeNone )
-        	{
-    		// With short * key press and candidates remaining, override normal behaviour
-        	// and function like arrow down
-        	TInt wordIndexToSelect = 0;
-        	TInt lastCandidateIndex = ptiengine->NumberOfCandidates()-1;
-    		ptiengine->HandleCommandL( EPtiCommandUserActionGetCurrentIndexOfCandidates, 
-					&wordIndexToSelect );
-    		wordIndexToSelect < lastCandidateIndex ? wordIndexToSelect++ : wordIndexToSelect = 0;
-    		fepMan->LaunchCandidatePopupListL( wordIndexToSelect );
-    		return ETrue;
-        	}
-#endif // FF_ITI_VIRTUAL_TOUCH_FIRST_GENERATION_SUPPORT  
-#endif // RD_INTELLIGENT_TEXT_INPUT          
-        if (fepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction))
-            {
-#ifdef RD_SCALABLE_UI_V2
-        	if ( (iIsLastWord || ptiengine->NumberOfCandidates() == 1) 
-       	         && ( fepMan->PluginUIManager()->PluginInputMode() == EPluginInputModeItut ) )
-        	    {
-                fepMan->PluginUIManager()->SetFingerMatchSelectionState(ETrue);
-        	    fepMan->PluginUIManager()->ShowAllCandidates();
-        	    iMatchState = EWordMatchNone;
-        	    iIsLastWord = EFalse;
-        	    return ETrue;
-        	    }
-            
-#endif //RD_SCALABLE_UI_V2
-            
-            if (fepMan->IsFlagSet(CAknFepManager::EFlagNoMatches))
-                {
-                CAknFepManager* fepMgr = static_cast<CAknFepManager*>(fepMan);
-                if(( fepMgr->EditorState()->Flags() & EAknEditorFlagEnablePartialScreen ) &&
-                   ( fepMgr->PluginUIManager()->PluginInputMode() == EPluginInputModeItut ))
-                    {
-                    // launch full screen query for split itut
-                    fepMgr->LaunchEditWordQueryL();
-                    }
-                else
-                    {
-                    //no more matches
-                    fepMan->PlaySound(EAvkonSIDWarningTone);
-                    }
-                }
-            else if (ptiengine->NumberOfCandidates() <= 1) //1
-                { 
-                // only one match
-                if (iMatchState == EWordMatchFirst || iMatchState == EWordMatchNone)
-                    {
-                    fepMan->UpdateCbaL(R_AKNFEP_SOFTKEYS_SPELL_EMPTY);
-                    iMatchState = EWordMatchLast;
-                    }
-                }
-            else
-                {
-                if (iMatchState == EWordMatchLast && !(ptiengine->LastEnteredKey() == EPtiKey1))
-                    {
-                    fepMan->UpdateCbaL(R_AKNFEP_SOFTKEYS_SPELL_PREVIOUS);
-                    }
-                else if (iMatchState == EWordMatchFirst || iMatchState == EWordMatchNone)
-                    {
-                    fepMan->UpdateCbaL(R_AKNFEP_SOFTKEYS_EMPTY_PREVIOUS);
-                    iMatchState = EWordMatchStd;
-                    }
-                    
-                TPtrC newText = ptiengine->NextCandidate();
-           		if(newText.Length() == 1)
-           			{
-	            	TDigitType digittype = fepMan->LocalDigit();
-	                TChar chchar(newText[0]);
-	                if(!chchar.IsDigit() || (chchar.IsDigit() && !digittype))
-	                	{ 	
-	                	fepMan->UpdateInlineEditL(newText, newText.Length());    
-    	            	}
-	                else 
-	                	{
-	                	TBuf<1> tempbuf;
-	                	tempbuf.Append(newText[0]);
-		            	ConvertDigitToDigittype(digittype,tempbuf);
-		                fepMan->UpdateInlineEditL(tempbuf, tempbuf.Length());	
-	                	}
-           			}
-           		else 
-           			{
-           			fepMan->UpdateInlineEditL(newText, newText.Length());	
-           			}
-                }
-            }
-        else
-            {
-  			if (!fepMan->EditSubmenuInUse())
-        		{
-        		fepMan->LaunchSpecialCharacterTableL();
-        		}
-            }          
-        }
-    return ETrue;
-    }
-
-void TAknFepInputStateEntryWesternPredictive::LastWordInSelectionList()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    
-    iIsLastWord = ETrue;
-    
-    if (iMatchState != EWordMatchAfterLast)
-        {
-        TInt newResource = R_AKNFEP_SOFTKEYS_SPELL_PREVIOUS;
-        if (ptiengine->LastEnteredKey() == EPtiKey1)
-            {
-            newResource=R_AKNFEP_SOFTKEYS_SYMBOL_PREVIOUS;
-            }
-        TRAP_IGNORE(fepMan->UpdateCbaL(newResource));
-        iMatchState = EWordMatchLast;
-        }
-    }
-
-void TAknFepInputStateEntryWesternPredictive::FirstWordInSelectionList()
-    {   
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-
-    iIsLastWord = EFalse;
-
-    if (iMatchState == EWordMatchLast)
-        {
-        //have cycled past the last word back to the beginning
-        iMatchState = EWordMatchAfterLast;
-        }
-    else if (iMatchState == EWordMatchNone || iMatchState == EWordMatchStd) // called on every new keypress so checked to stop constant update
-        {
-        //have started/restarted a word or
-        //have got back to the beginning using previous
-        TRAP_IGNORE(fepMan->UpdateCbaL(NULL));
-        iMatchState = EWordMatchFirst;
-        }
-    }
-
-void TAknFepInputStateEntryWesternPredictive::DoPreviousMatchL()
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    
-    if (fepMan->IsFlagSet(CAknFepManager::EFlagNoMatches))
-        {
-        //no more matches
-        fepMan->PlaySound(EAvkonSIDWarningTone);
-        }
-    else if (ptiengine->NumberOfCandidates()<=1)
-        { 
-        // only one match
-        if (iMatchState == EWordMatchFirst || iMatchState == EWordMatchNone)
-            {
-            fepMan->UpdateCbaL(R_AKNFEP_SOFTKEYS_SPELL_EMPTY);
-            iMatchState = EWordMatchLast;
-            }
-        }
-    else
-        { 
-        // > 1 match
-        if (iMatchState == EWordMatchLast || iMatchState == EWordMatchAfterLast)
-            {
-            fepMan->UpdateCbaL(R_AKNFEP_SOFTKEYS_EMPTY_PREVIOUS);
-            }
-        else if (iMatchState == EWordMatchFirst || iMatchState == EWordMatchNone)
-            {
-            fepMan->UpdateCbaL(R_AKNFEP_SOFTKEYS_EMPTY_PREVIOUS);
-            }
-        iMatchState = EWordMatchStd;
-        TPtrC newText = ptiengine->PreviousCandidate();
-        fepMan->UpdateInlineEditL(newText, newText.Length());
-        }
-    }
-
-void TAknFepInputStateEntryWesternPredictive::DoNextMatch()
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    
-    if (fepMan->IsFlagSet(CAknFepManager::EFlagNoMatches))
-        {
-        //no more matches
-        fepMan->PlaySound(EAvkonSIDWarningTone);
-        }
-    else if (ptiengine->NumberOfCandidates()<=1)
-        { 
-        // only one match
-        if (iMatchState == EWordMatchFirst || iMatchState == EWordMatchNone)
-            {
-            TRAP_IGNORE(fepMan->UpdateCbaL(R_AKNFEP_SOFTKEYS_SPELL_EMPTY));
-            iMatchState = EWordMatchLast;
-            }
-        }
-    else
-        { 
-        // > 1 match
-        if (iMatchState == EWordMatchLast && !(ptiengine->LastEnteredKey() == EPtiKey1))
-            {
-            TRAP_IGNORE(fepMan->UpdateCbaL(R_AKNFEP_SOFTKEYS_SPELL_PREVIOUS));
-            }
-        else if (iMatchState == EWordMatchFirst || iMatchState == EWordMatchNone)
-            {
-            TRAP_IGNORE(fepMan->UpdateCbaL(R_AKNFEP_SOFTKEYS_EMPTY_PREVIOUS));
-            iMatchState = EWordMatchStd;
-            }
-        TPtrC newText = ptiengine->NextCandidate();
-        TRAP_IGNORE(fepMan->UpdateInlineEditL(newText, newText.Length()));
-        }
-    }
-
-void TAknFepInputStateEntryWesternPredictive::ConvertDigitToDigittype(TDigitType& digittype,
-                                                                      TDes& aConvertedNumeral)
-	{
-	TChar chchar(aConvertedNumeral[0]);
-	switch(digittype)
-    	{
-    	case EDigitTypeDevanagari:
-        	{
-        	chchar = (aConvertedNumeral[0] + KLatinToDevanagariDigitsDelta);
-	    	}
-        	break;	
-        case EDigitTypeArabicIndic:
-            {
-        	chchar = (aConvertedNumeral[0] + KLatinToArabicIndicDigitsDelta);
-	        }
-            break;
-    	case EDigitTypeEasternArabicIndic:
-        	{
-        	chchar = (aConvertedNumeral[0] + KLatinToEasternArabicIndicDigitsDelta);
-        	}
-    	}
-    aConvertedNumeral.Zero();
-    aConvertedNumeral.Append(chchar);
-	}
-
-TBool TAknFepInputStateEntryWesternPredictive::IsMoreCandidate()
-    {
-    TBool ret = ETrue;
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();    
-    
-    if (fepMan->IsFlagSet(CAknFepManager::EFlagNoMatches))
-        {
-        ret = EFalse;
-        }
-
-    if (ptiengine->NumberOfCandidates() < 1)
-        { 
-        ret = EFalse;
-        }
-    else if (ptiengine->NextCandidate().Length() == 0)
-        {
-        ret = EFalse;
-        }
-    else
-        {
-        ptiengine->PreviousCandidate();    
-        }    
-    
-    return ret;
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateEntryWesternPredictiveJp.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,118 +0,0 @@
-/*
-* Copyright (c) 2002-2006 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:            Provides the TAknFepInputStateEntryWesternPredictiveJp methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateEntryWesternPredictiveJp.h"
-#include "AknFepUIManagerStateInterface.h"      //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"           //MAknFepManagerUIInterface
-#include "AknFepManager.h"
-#include "AknFepPanic.h"
-#include "AknFepCaseManager.h"
-
-#include <PtiEngine.h>                             //CPtiEngine
-#include <PtiDefs.h>                            //keys
-#include <featmgr.h>                //FeatureManager
-#include <e32keys.h>
-#include <aknfep.rsg>
-
-TAknFepInputStateEntryWesternPredictiveJp::
-TAknFepInputStateEntryWesternPredictiveJp(MAknFepUIManagerStateInterface* aOwner)
-    :TAknFepInputStateEntryWesternPredictive(aOwner)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Handle Star-key event
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputStateEntryWesternPredictiveJp::HandleStarKeyL(TKeyPressLength aLength)
-    {
-    if (aLength == ELongKeyPress)
-        {
-        // Call the parent function
-        return TAknFepInputStateEntryWesternPredictive::HandleStarKeyL(aLength);
-        }
-
-    // Check whether it is possible to change other cases.
-    if (!iOwner->CaseMan()->IsAbleChangeCase())
-        {
-        return ETrue;
-        }
-
-    // Change next case mode (Lower->Upper->Text->Lower)
-    TInt oldCase = iOwner->CaseMan()->CurrentCase();
-    TInt newCase;
-    switch (oldCase)
-        {
-        default:
-        case EAknEditorLowerCase:
-            newCase = EAknEditorUpperCase;
-            break;
-        case EAknEditorUpperCase:
-            newCase = EAknEditorTextCase;
-            break;
-        case EAknEditorTextCase:
-            newCase = EAknEditorLowerCase;
-            break;
-        }
-    iOwner->CaseMan()->SetCurrentCase(newCase);
-    newCase = iOwner->CaseMan()->CurrentCase();
-    if (oldCase != newCase)
-        {
-        MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-        CPtiEngine* ptiengine = iOwner->PtiEngine();
-        TPtiTextCase caseMode = ptiengine->Case();
-        TPtrC text = ptiengine->CurrentWord();
-        HBufC* newText = HBufC::NewLC(text.Length());
-        TPtr newPtr(newText->Des());
-        newPtr.Copy(text);
-        switch (newCase)
-            {
-            default:
-            case EAknEditorLowerCase:    // For Japanese, T9 lower mode(abc)
-                newPtr.LowerCase();
-                caseMode = EPtiCaseLower;
-                break;
-            case EAknEditorUpperCase:   // For Japanese, T9 upper mode(ABC)
-                newPtr.UpperCase();
-                caseMode = EPtiCaseUpper;
-                break;
-            case EAknEditorTextCase:    // For Japanese, T9 capitalize mode(Abc)
-                newPtr.Capitalize();
-                caseMode = (newPtr.Length() > 1)?
-                            EPtiCaseUpper : EPtiCaseLower;
-                break;
-            }
-        fepMan->UpdateInlineEditL(newPtr, newPtr.Length());
-        ptiengine->SetCurrentWord(newPtr);
-        ptiengine->SetCase(caseMode);
-        CleanupStack::PopAndDestroy(newText); // newText
-        }
-    return ETrue;
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateEntryZhuyin.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,257 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the CAknFepUIInputStateZhuyin methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateEntryZhuyin.h"
-#include "AknFepUIManagerStateInterface.h"
-
-#include <PtiEngine.h>
-
-#include <e32keys.h>
-#include <PtiDefs.h>                //keys
-
-#include "AknFepUICtrlInputPane.h"
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepManager.h"
-
-const TInt KMaxCandidateCountFromCore = 6;
-
-TAknFepInputStateEntryZhuyin::TAknFepInputStateEntryZhuyin(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateEntryZhuyinStrokeBase(aOwner, aUIContainer)
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    uiContainer->SetLayout(MAknFepUICtrlContainerChinese::ELayoutInput);
-    uiContainer->CandidatePane()->SelectFirst(); 
-    uiContainer->InputPane()->SetOverrideFontId(0);
-
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    if (EPtiEngineZhuyin != ptiengine->InputMode())
-        {
-        ptiengine->SetInputMode(EPtiEngineZhuyin);
-        }
-    ptiengine->SetCandidatePageLength(MAknFepUICtrlContainerChinese::ELayoutInput);
-    
-    if (ptiengine->NumberOfCandidates() == 0)
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows(EFalse);    
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows(ETrue);    
-        }
- 
-    TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-    uiContainer->CandidatePane()->ShowDownScrollArrows
-        (bufLength == KMaxCandidateCountFromCore ? ETrue : EFalse);
-    uiContainer->CandidatePane()->ShowLeftScrollArrows(EFalse);
-    uiContainer->CandidatePane()->ShowRightScrollArrows(bufLength ? ETrue : EFalse);
-    
-    iUseforResourcechange = EFalse;
-    }
-void TAknFepInputStateEntryZhuyin::HandleCommandL(TInt /*aCommandId*/)
-	{	
-    RefreshUI(iUseforResourcechange);	
- 	}
-TBool TAknFepInputStateEntryZhuyin::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-   	iOwner->FepMan()->SetCcpuFlag(CAknFepManager::ECcpuStateIgnoreStarUp);        
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-            
-    if((aKey == EPtiKeyStar) && (aLength == EShortKeyPress))
-        {
-        ptiengine->CancelTimerActivity();
-
-        if(ptiengine->IncrementToneMark(ETrue))
-            {
-            uiContainer->ShowVerticalScrollArrows(ptiengine->MoreCandidatePages());
-            SetInputPaneToneMark();
-            iUseforResourcechange = EFalse;
-            RefreshUI(EFalse);
-            }
-        return ETrue;
-        }
-    else if(aKey == EKeyBackspace)
-        {
-		if (iOwner->PtiEngine()->DeleteKeyPress().Length())
-            {
-            TBool multiplePages = ptiengine->MoreCandidatePages();
-            TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-            TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-
-            uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows); 
-            uiContainer->ShowVerticalScrollArrows(multiplePages);
-            iUseforResourcechange = EFalse;
-            RefreshUI(EFalse);
-            SetInputPaneToneMark();
-            }
-        else
-            {
-            iOwner->FepMan()->TryCloseUiL();
-            if (aLength == ELongKeyPress)
-                {
-                iOwner->FepMan()->SetLongClearAfterCloseUI(ETrue);
-                }
-            }
-        return ETrue;    
-        }
-    else if((aLength == EShortKeyPress) && iOwner->IsValidChineseInputKey(aKey))
-        {
-     	iOwner->FepMan()->SetCcpuFlag(CAknFepManager::ECcpuStateIgnoreStarUp);        
-
-        ptiengine->AppendKeyPress((TPtiKey)aKey);
-        
-        TBool multiplePages = ptiengine->MoreCandidatePages();
-        TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-        TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-
-        uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows); 
-        uiContainer->ShowVerticalScrollArrows(multiplePages);
-        SetInputPaneToneMark();
-        iUseforResourcechange = EFalse;
-        RefreshUI(EFalse);
-        return ETrue;
-        }
-    else if(aKey == EKeyDownArrow)
-        {
-        if (iOwner->PtiEngine()->CandidatePage().Length() == 
-            KMaxCandidateCountFromCore)
-            {
-            ptiengine->CancelTimerActivity();
-            ptiengine->NextCandidatePage();
-            iUseforResourcechange = ETrue;
-            RefreshUI(ETrue);
-            }
-        return ETrue;
-        }
-    else if(aKey == EKeyUpArrow)
-        {
-        if (ptiengine->NumberOfCandidates() != 0)
-            {
-            ptiengine->CancelTimerActivity();
-            ptiengine->PreviousCandidatePage();
-            iUseforResourcechange = ETrue;
-            RefreshUI(ETrue);
-            }
-        return ETrue;
-        }   
-    else if(aKey == EKeyOK || aKey == EKeyRightArrow || aKey == EKeyLeftArrow)
-        {
-        ptiengine->CancelTimerActivity();        
-        iOwner->ChangeState(ECandidate);
-        return EFalse;
-        }
-
-    return TAknFepInputStateEntryZhuyinStrokeBase::HandleKeyL(aKey, aLength);
-    }
-
-void TAknFepInputStateEntryZhuyin::KeyTimerExpired()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    TPtrC candidates = ptiengine->CandidatePage();
-    TText toneMark;
-    TBool toneMarkEntered = ptiengine->ToneMark(toneMark);
-    TBool toneMarkValid = ptiengine->IsToneMarkValidForSpelling();
-    if(!candidates.Length() || (toneMarkEntered && !toneMarkValid))
-        {
-        MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-        if(toneMarkEntered)
-            {
-            ptiengine->ResetToneMark();
-            if( !candidates.Length() )  
-            	{
-            	ptiengine->DeleteKeyPress();
-            	}
-            }
-        else
-            {
-            ptiengine->DeleteKeyPress();
-            }
-        SetInputPaneToneMark();
- 
-        TBool multiplePages = ptiengine->MoreCandidatePages();
-        TInt bufLength = ptiengine->CandidatePage().Length();
-        TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-        
-        uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows);
-        uiContainer->ShowVerticalScrollArrows(ptiengine->MoreCandidatePages());
-        RefreshUI(EFalse);
-        }
-    }
-
-void TAknFepInputStateEntryZhuyin::RefreshUI(TBool aOrdinals)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlInputPane* inputPane = uiContainer->InputPane();
-
-    // Universal layout 
-    TPoint baseLine = TPoint(0,0);
-    TInt height = 0;
-    TInt ascent = 0;
-    
-    TRAPD(ret,iOwner->FepMan()->GetScreenCoordinatesL(baseLine,height,ascent));
-    if (ret == KErrNone)
-        {
-        uiContainer->SetContainerPosition(baseLine, height);    
-        }
-
-    TPtrC candidates = ptiengine->CandidatePage();
-    uiContainer->CandidatePane()->SetCandidateBuffer(candidates);
-    uiContainer->Enable(ETrue);
-    if (aOrdinals)
-        {
-        uiContainer->CandidatePane()->ShowCandidateOrdinals(ETrue);
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowCandidateOrdinals(EFalse);
-        }
-
-    TPtrC ptr = ptiengine->GetPhoneticSpelling(1);
-    inputPane->SetText(ptr);
-
-    if (ptiengine->NumberOfCandidates() == 0)
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows(EFalse);    
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows(ETrue);    
-        }
- 
-    TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-    uiContainer->CandidatePane()->ShowDownScrollArrows
-        (bufLength == KMaxCandidateCountFromCore ? ETrue : EFalse);
-    uiContainer->CandidatePane()->ShowLeftScrollArrows(EFalse);
-    uiContainer->CandidatePane()->ShowRightScrollArrows(bufLength ? ETrue : EFalse);
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateEntryZhuyinPhrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,470 +0,0 @@
-/*
-* Copyright (c) 2004 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:           
-*       Provides the CAknFepUIInputStateZhuyinPhrase methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateEntryZhuyinPhrase.h"
-#include "AknFepUIManagerStateInterface.h"
-#include <PtiEngine.h>
-
-#include <e32keys.h>
-#include <PtiDefs.h>                //keys
-#include <aknnotewrappers.h>
-#include "AknFepUICtrlInputPane.h"
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepManager.h"
-#include "aknfepuictrleditpane.h"
-#include "AknFepUICtrlPinyinPopup.h"
-#include "aknfepzhuyinconvertion.h"
-#include "aknfepzhuyinkeyhandlerinterface.h"
-#include "AknFepZhuyinAnalyserDb.h"
-#include "AknFepZhuyinAnalyser.h"
-#include <PtiUserDicEntry.h>
-
-const TInt KMaxPhraseCount = 50;
-const TInt KInputPaneLength = 32;
-const TUint16 KSegment = 0x0020;
-
-const TInt KMaxBufLen = 100;
-const TInt KInputPhraseMaxLength = 7;
-_LIT( KMaxPhraseNote,"\x8BCD\x7EC4\x6700\x957F\x4E3A\x4E03\x5B57" );
-
-TAknFepInputStateEntryZhuyinPhrase::TAknFepInputStateEntryZhuyinPhrase(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateZhuyinPhraseCreationBase(aOwner, aUIContainer)
-    {
-    iState = EEntry;
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    uiContainer->SetLayout(MAknFepUICtrlContainerChinese::ELayoutKeystroke);
-    uiContainer->CandidatePane()->SelectFirstPhrase(); 
-    uiContainer->InputPane()->SetOverrideFontId(0);
-
-    if (iOwner->PtiEngine()->InputMode() != EPtiEngineZhuyinByPhrase)
-        {
-        iOwner->PtiEngine()->SetInputMode(EPtiEngineZhuyinByPhrase);
-        }
-    iOwner->PtiEngine()->SetCandidatePageLength(KMaxPhraseCount);
-    iOwner->FepMan()->EntryPhrase(ETrue);
-    uiContainer->SetFepMan(iOwner->FepMan());
-    uiContainer->EditPaneWindow()->DeactiveCursor();
-    UpdateEEPContent();
-    RefreshUI();
-    UpdateIndicator();
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryZhuyinPhrase::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateEntryZhuyinPhrase::HandleCommandL( TInt aCommandId )
-    {
-    switch ( aCommandId )
-        {
-        // Handle the event frome command.
-        case EAknSoftkeyCancel:
-            //  case (TUint16)EAknSoftkeyCancel: //the Cancle in soft CBA
-            TAknFepInputStateChineseBase::HandleCommandL( aCommandId );
-            break;
-        case EAknSoftkeySelect:
-            //case (TUint16)EAknSoftkeySelect: //the Selected in soft CBA
-            HandleCommitL();
-            break;
-        default:
-            TAknFepInputStateZhuyinPhraseCreationBase::HandleCommandL(
-                aCommandId );
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryZhuyinPhrase::HandleCommit 
-// Handle CBA1,ok and select candidate phrase key press.
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateEntryZhuyinPhrase::HandleCommitL()
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-
-    CDesCArrayFlat* zhuyinSymbols =
-        uiContainer->PinyinPopupWindow()->ZhuyinSymbols();
-    CDesCArrayFlat* chineseDisped =
-        uiContainer->PinyinPopupWindow()->ChineseCharsDisped();
-    CDesCArrayFlat
-        * zhuyinSymbolsForChinese =
-            uiContainer->PinyinPopupWindow()->ZhuyinSymbolsForChineseCharsDisped();
-    CDesCArrayFlat* candidateList =
-        uiContainer->CandidatePane()->CandidateArray();
-    MZhuyinKeyHandler* zhuyinKeyHandler = iOwner->ZhuyinKeyHandler();
-
-    TPtrC text = candidatePane->CurrentPhraseCandidate();
-    if ( text.Length() == 0 )
-        {
-        return;
-        }
-    TBuf<KMaxBufLen> pinyinshown =
-        UIContainer()->PinyinPopupWindow()->GetEEPContent();
-    TInt count = TZhuyinSymbolsMethods::GetChineseCount( pinyinshown );
-    if ( count > text.Length() )
-        {
-        fepMan->PhraseCreation( ETrue );
-        }
-    if ( fepMan->IsPhraseCreation() )
-        {
-        TBuf<KMaxBufLen> buf;
-        buf.Copy( text );
-        TBool commit = TZhuyinSymbolsMethods::AppendChineseChar( buf,
-            fepMan->ZhuyinAnalyser(), zhuyinSymbols, chineseDisped,
-            zhuyinSymbolsForChinese );
-        TBool changeState = UpdateEEPContent();
-        if ( commit )
-            {
-            TBuf<KMaxBufLen> commitbuf;
-            TZhuyinSymbolsMethods::Convert2Des( chineseDisped, commitbuf );
-            fepMan->NewTextL( commitbuf );
-            fepMan->CommitInlineEditL();
-            AddPhraseToDB( commitbuf );
-            if ( chineseDisped->Count() < KInputPhraseMaxLength
-                || zhuyinSymbols->Count() == 0 )
-                {
-                iOwner->FepMan()->TryCloseUiL();
-                }
-            else
-                {
-                CAknWarningNote* errnote = new (ELeave) CAknWarningNote();
-                errnote->SetTone( CAknNoteDialog::EWarningTone );
-                errnote->ExecuteLD( KMaxPhraseNote );
-                fepMan->TryCloseUiL();
-                }
-            popup->ResetStrokeArray();
-            }
-        else
-            {
-            editPane->SetCursorIndexOfKeystroke( 0 );
-            if ( changeState )
-                {
-                for (TInt i = 0; i < candidateList->Count(); i++ )
-                    {
-                    if ( TZhuyinSymbolsMethods::IsZhuyinSymbol(
-                        candidateList->MdcaPoint( i ) ) )
-                        {
-                        candidateList->Delete( i, 1 );
-                        break;
-                        }
-                    }
-                if ( candidateList->Count() > 0 )
-                    {
-                    popup->SetChangeState( ETrue );
-                    iOwner->ChangeState( EEntry );
-                    }
-                else
-                    {
-                    popup->SetChangeState( ETrue );
-                    iOwner->ChangeState( EZhuyinSequenceEdit );
-                    }
-                }
-            else
-                {
-                popup->SetChangeState( ETrue );
-                iOwner->ChangeState( EZhuyinSequenceEdit );
-                }
-            }
-        }
-    else
-        {
-        TBuf<KMaxBufLen> textbuf;
-        for (TInt i = 0; i < chineseDisped->Count(); i++ )
-            {
-            textbuf.Append( chineseDisped->MdcaPoint( i ) );
-            }
-        textbuf.Append( text );
-        fepMan->NewTextL( textbuf );
-        fepMan->CommitInlineEditL();
-        AddPhraseToDB( textbuf );
-        popup->ResetStrokeArray();
-        if ( text.Length() <= KInputPhraseMaxLength
-            && !fepMan->IsPhraseCreation() )
-            {
-            if ( fepMan->IsFlagSet( CAknFepManager::EFlagEditorFull ) )
-                {
-                fepMan->ClearFlag( CAknFepManager::EFlagEditorFull );
-                iOwner->FepMan()->TryCloseUiL();
-                }
-            else
-                {
-                iOwner->ChangeState( EPredictiveCandidate );
-                }
-            }
-        else
-            {
-            fepMan->TryCloseUiL();
-            }
-        }
-    }
-
-void TAknFepInputStateEntryZhuyinPhrase::AddPhraseToDB( TDes& aPhrase )
-    {
-    TPtiUserDictionaryEntry addUdbEntry( aPhrase );
-    //Add the phrase to the DB by PTI Engine
-    iOwner->PtiEngine()->AddUserDictionaryEntry( addUdbEntry );
-    }
-
-TBool TAknFepInputStateEntryZhuyinPhrase::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    MZhuyinKeyHandler* zhuyinKeyHandler = iOwner->ZhuyinKeyHandler();
-    
-    CDesCArrayFlat* zhuyinSymbols = uiContainer->PinyinPopupWindow()->ZhuyinSymbols();
-    CDesCArrayFlat* chineseDisped = uiContainer->PinyinPopupWindow()->ChineseCharsDisped();
-
-    iOwner->FepMan()->SetCcpuFlag(CAknFepManager::ECcpuStateIgnoreStarUp);            
-    
-    if((aKey == EPtiKeyStar) && (aLength == EShortKeyPress))
-        {
-        AddToneMarkL();
-        if ( !UpdateEEPContent( ) )
-            {
-            RefreshUI();
-            ChangeCbaL();
-            popup->SetChangeState( ETrue );
-            iOwner->ZhuyinKeyHandler()->SetState(1);
-            iOwner->ChangeState(EZhuyinSequenceEdit);
-            return ETrue;
-            }
-        RefreshUI();
-        ChangeCbaL();
-        return ETrue;
-        }
-    else if (aKey == EKeyLeftArrow )
-        {
-        iOwner->ChangeState(ECandidate);
-        return EFalse;
-        }
-    else if (aKey == EKeyRightArrow)
-        {
-        iOwner->ChangeState(ECandidate);
-        return EFalse;
-        }
-    else 
-        {
-        if(aKey == EKeyBackspace)
-            {
-            if ( aLength == ELongKeyPress
-                && zhuyinKeyHandler->GetStatusChgFlag() == MZhuyinKeyHandler::EFromCandidateToEntry )
-                {
-                return ETrue;
-                }
-            else
-                {
-                zhuyinKeyHandler->SetStatusChgFlag(MZhuyinKeyHandler::EInit);
-                }
-            
-            DeleteZhuyinSymbolOrChinese();
-            
-            if ( !UpdateEEPContent( ) )
-                {
-                RefreshUI();
-                popup->SetChangeState( ETrue );
-                iOwner->ZhuyinKeyHandler()->SetState(1);
-                ChangeCbaL();
-                iOwner->ChangeState(EZhuyinSequenceEdit);
-                if ( zhuyinSymbols->Count() == 0
-                    && chineseDisped->Count() == 0 )
-                    {
-                    iOwner->FepMan()->TryCloseUiL();
-                    if (aLength == ELongKeyPress)
-                        {
-                        iOwner->FepMan()->SetLongClearAfterCloseUI(ETrue);
-                        }
-                    }
-                if ( 0 == chineseDisped->Count() )
-                    {
-                    iOwner->FepMan()->PhraseCreation( EFalse );
-                    }
-                return ETrue;
-                }
-            ChangeCbaL();
-            RefreshUI();
-            if ( zhuyinSymbols->Count() == 0
-                && chineseDisped->Count() == 0 )
-                {
-                iOwner->FepMan()->TryCloseUiL();
-                if (aLength == ELongKeyPress)
-                    {
-                    iOwner->FepMan()->SetLongClearAfterCloseUI(ETrue);
-                    }
-                }
-            if ( 0 == chineseDisped->Count() )
-                {
-                iOwner->FepMan()->PhraseCreation( EFalse );
-                }
-            }
-        else if((aLength == EShortKeyPress) && iOwner->IsValidChineseInputKey(aKey))
-            {
-            if ( AddKeystrokeL( aKey ) )
-                {
-                if ( !UpdateEEPContent( ) )
-                    {
-                    RefreshUI();
-                    popup->SetChangeState( ETrue );
-                    iOwner->ZhuyinKeyHandler()->SetState(1);
-                    iOwner->ChangeState(EZhuyinSequenceEdit);
-                    return ETrue;
-                    }
-                RefreshUI();
-                ChangeCbaL();
-                }
-            else
-                {
-                iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-                }
-            return ETrue;
-            }
-        else if(aKey == EKeyDownArrow)
-            {
-            if ( aLength == ELongKeyPress
-                && zhuyinKeyHandler->GetStatusChgFlag() == MZhuyinKeyHandler::EFromSpellingEditingToEntry )
-                {
-                return ETrue;
-                }
-            else if (!candidatePane->IsLastPage())
-               {
-               zhuyinKeyHandler->SetStatusChgFlag(MZhuyinKeyHandler::EInit);
-               if ( candidatePane->NeedGetNewCandidatePage() )
-                   {
-                   if ( !iOwner->PtiEngine()->NextCandidatePage( ) )
-                       {
-                       if ( candidatePane->IsLastPage() )
-                           {
-                           iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-                           return ETrue;
-                           }
-                       }
-                   else
-                       {
-                       CDesCArrayFlat* phraseCandidates = candidatePane->CandidateArray();
-                       RPointerArray<HBufC> list;
-                       GetNewCandidatesL( iOwner->PtiEngine()->CandidatePage( ), list );
-                       for (TInt i = 0; i < list.Count( ); ++i )
-                           {
-                           phraseCandidates->AppendL( *(list[i]) );
-                           }
-                       list.ResetAndDestroy();
-                       }
-                   }           
-               candidatePane->NextCandidatePage();
-               RefreshUI();
-               }
-            }
-        else if(aKey == EKeyUpArrow)
-            {
-            if(!candidatePane->IsFirstPage())
-                {
-                candidatePane->PreviousCandidatePage();
-                RefreshUI();
-                }
-            else
-                {
-                iOwner->ZhuyinKeyHandler()->SetState(0);
-                popup->SetState( EFalse );
-                iOwner->ChangeState(EZhuyinSequenceEdit);
-                return EFalse;
-                }
-            }   
-        else if ( (aKey == EKeyOK || aKey == EKeyCBA1 || aKey == EKeyRightArrow || aKey == EKeyLeftArrow)
-            && aLength == EShortKeyPress )
-            {
-            iOwner->ChangeState(ECandidate);
-            return EFalse;
-            }
-        return ETrue;
-        }
-    }
-
-void TAknFepInputStateEntryZhuyinPhrase::KeyTimerExpired()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlInputPane* inputPane = uiContainer->InputPane();
-    
-    // set container's position
-    TPoint baseLine = TPoint(0,0);
-    TInt height = 0;
-    TInt ascent = 0;
-    TRAPD(ret,iOwner->FepMan()->GetScreenCoordinatesL(baseLine,height,ascent));
-    if (ret == KErrNone)
-        {
-        uiContainer->SetContainerPosition(baseLine, height);    
-        }
-
-    TPtrC ptr = ptiengine->GetPhoneticSpelling(1);
-    inputPane->SetText(ptr);
-    TBuf<KInputPaneLength> currentText;
-    inputPane->GetText(currentText);
-    if (ptr.Length() < currentText.Length())
-        {
-        iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-        }
-    UpdateIndicator();
-    }
-
-void TAknFepInputStateEntryZhuyinPhrase::GetNewCandidatesL(const TDesC& aSource, 
-                                                    RPointerArray<HBufC>& aList)
-    {
-    TInt start = 0;
-    TInt length = 0;
-
-    for (TInt ii = 0; ii < aSource.Length(); ii++)
-        {
-        if (aSource[ii] == KSegment)
-            {
-            TPtrC segment(aSource.Ptr() + start, length);
-            aList.AppendL(segment.AllocL());
-            start += (length + 1);
-            length = 0;
-            }
-        else
-            {
-            length++;
-            }
-        }
-
-    if (length)
-        {
-        TPtrC segm(aSource.Ptr() + start, length);
-        aList.AppendL(segm.AllocL());
-        }
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateEntryZhuyinStrokeBase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,189 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the TAknFepInputStateEntryZhuyinStrokeBase methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateEntryZhuyinStrokeBase.h"
-
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUICtrlInputPane.h"
-#include "AknFepManager.h"
-
-#include <PtiEngine.h>      //CPtiEngine
-#include <e32keys.h>        //keys  
-#include <avkon.rsg>
-
-TAknFepInputStateEntryZhuyinStrokeBase::TAknFepInputStateEntryZhuyinStrokeBase(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateChineseBase(aOwner, aUIContainer)
-    {
-    iState = EEntry;
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-    TBool multiplePages = ptiengine->MoreCandidatePages();
-    TInt bufLength = ptiengine->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength > 1;
-            
-    uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows); 
-    uiContainer->ShowVerticalScrollArrows(multiplePages);
-    uiContainer->FocusCandidatePane(EFalse);
-    uiContainer->FocusCandidatePane(ETrue);
-    candidatePane->SetHighlighted(ETrue);
-    candidatePane->ShowCandidateOrdinals(EFalse);//
-    candidatePane->SelectFirst();
-    iUseforResourcechange = EFalse;
-    }
-void TAknFepInputStateEntryZhuyinStrokeBase::HandleCommandL(TInt /*aCommandId*/)
-	{	
-    RefreshUI(iUseforResourcechange);	
- 	}
-
-TBool TAknFepInputStateEntryZhuyinStrokeBase::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-
-    if(aKey == EKeyBackspace)
-        {
-		if (iOwner->PtiEngine()->DeleteKeyPress().Length())
-            {
-            TBool multiplePages = ptiengine->MoreCandidatePages();
-            TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-            TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-
-            uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows); 
-            uiContainer->ShowVerticalScrollArrows(multiplePages);
-            iUseforResourcechange = EFalse;
-            RefreshUI(EFalse);
-            SetInputPaneToneMark();
-            }
-        else
-            {
-            iOwner->FepMan()->TryCloseUiL();
-            if (aLength == ELongKeyPress)
-                {
-                iOwner->FepMan()->SetLongClearAfterCloseUI(ETrue);
-                }
-            }
-        }
-    else if((aLength == EShortKeyPress) && iOwner->IsValidChineseInputKey(aKey))
-        {
-     	iOwner->FepMan()->SetCcpuFlag(CAknFepManager::ECcpuStateIgnoreStarUp);        
-        
-        ptiengine->AppendKeyPress((TPtiKey)aKey);
-        
-        TBool multiplePages = ptiengine->MoreCandidatePages();
-        TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-        TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-
-        uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows); 
-        uiContainer->ShowVerticalScrollArrows(multiplePages);
-        SetInputPaneToneMark();
-        iUseforResourcechange = EFalse;
-        RefreshUI(EFalse);
-        }
-    else if(aKey == EKeyDownArrow)
-        {
-        ptiengine->NextCandidatePage();
-        iUseforResourcechange = EFalse;
-        RefreshUI(EFalse);
-        }
-    else if(aKey == EKeyUpArrow)
-        {
-        ptiengine->PreviousCandidatePage();
-        iUseforResourcechange = EFalse;
-        RefreshUI(EFalse);
-        }   
-    else if(aKey == EKeyOK || aKey == EKeyRightArrow || aKey == EKeyLeftArrow)
-        {
-        iOwner->ChangeState(ECandidate);
-        return EFalse;
-        }
-    return ETrue;
-    }
-
-void TAknFepInputStateEntryZhuyinStrokeBase::RefreshUI(TBool aOrdinals)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlInputPane* inputPane = uiContainer->InputPane();
-
-    // Universal layout 
-    TPoint baseLine = TPoint(0,0);
-    TInt height = 0;
-    TInt ascent = 0;
-    
-    TRAPD(ret,iOwner->FepMan()->GetScreenCoordinatesL(baseLine,height,ascent));
-    if (ret == KErrNone)
-        {
-        uiContainer->SetContainerPosition(baseLine, height);    
-        }
-    TPtrC candidates = ptiengine->CandidatePage();
-    uiContainer->CandidatePane()->SetCandidateBuffer(candidates);
-    uiContainer->Enable(ETrue);
-    if (aOrdinals)
-        {
-        uiContainer->CandidatePane()->ShowCandidateOrdinals(ETrue);
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowCandidateOrdinals(EFalse);
-        }
-
-    TPtrC ptr = ptiengine->GetPhoneticSpelling(1);
-    inputPane->SetText(ptr);
-    }
-
-void TAknFepInputStateEntryZhuyinStrokeBase::SetInputPaneToneMark()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlInputPane* inputPane = UIContainer()->InputPane();
-
-    TText toneMark;
-    TBool toneMarkEntered = ptiengine->ToneMark(toneMark);
-    TBuf<1> buf;
-    if(toneMarkEntered)
-        {
-        buf.Append(toneMark);
-        }
-    inputPane->SetToneMark(buf);
-    }
-
-void TAknFepInputStateEntryZhuyinStrokeBase::KeyTimerExpired()
-    {
-    }
-
-void TAknFepInputStateEntryZhuyinStrokeBase::InitializeStateL(void)
-    {
-    iOwner->FepMan()->UpdateCbaL(R_AVKON_SOFTKEYS_EMPTY);
-    }
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateEntryZhuyinStrokeBasePhrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,220 +0,0 @@
-/*
-* Copyright (c) 2004 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:           
-*       Provides the TAknFepInputStateEntryZhuyinStrokeBasePhrase methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateEntryZhuyinStrokeBasePhrase.h"
-
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUICtrlInputPane.h"
-
-#include <PtiEngine.h>      //CPtiEngine
-#include <e32keys.h>        //keys  
-#include <avkon.rsg>
-#include <aknfep.rsg>
-
-TAknFepInputStateEntryZhuyinStrokeBasePhrase::TAknFepInputStateEntryZhuyinStrokeBasePhrase(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateChineseBase(aOwner, aUIContainer)
-    {
-    iState = EEntry;
-
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-
-    uiContainer->FocusCandidatePane(EFalse);
-    
-    TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() &&
-                            uiContainer->CandidatePane()->IsFirstPage());
-    TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-
-    uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows); 
-    uiContainer->ShowVerticalScrollArrows(multiplePages);
-    uiContainer->FocusCandidatePane(ETrue);
-    candidatePane->SetHighlighted(ETrue);
-    candidatePane->ShowCandidateOrdinals(EFalse);
-    candidatePane->SelectFirstPhrase();
-    }
-void TAknFepInputStateEntryZhuyinStrokeBasePhrase::HandleCommandL(TInt /*aCommandId*/)
-	{	
-    RefreshUI();	
- 	}
-
-TBool TAknFepInputStateEntryZhuyinStrokeBasePhrase::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-    MAknFepUICtrlInputPane* inputPane = uiContainer->InputPane();
-
-    if(aKey == EKeyBackspace)
-        {
-		if (iOwner->PtiEngine()->DeleteKeyPress().Length())
-            {
-            inputPane->SetFlag(MAknFepUICtrlInputPane::EPhoneticChanged);
-            RefreshUI();
-            SetInputPaneToneMark();
-            }
-        else
-            {
-            iOwner->FepMan()->TryCloseUiL();
-            if (aLength == ELongKeyPress)
-                {
-                iOwner->FepMan()->SetLongClearAfterCloseUI(ETrue);
-                }
-            }
-        }
-    else if((aLength == EShortKeyPress) && iOwner->IsValidChineseInputKey(aKey))
-        {
-        ptiengine->AppendKeyPress((TPtiKey)aKey);
-        SetInputPaneToneMark();
-        inputPane->SetFlag(MAknFepUICtrlInputPane::EPhoneticChanged);
-        RefreshUI();
-        }
-    else if(aKey == EKeyDownArrow)
-        {
-        if (!candidatePane->IsLastPage())
-            {
-            candidatePane->NextCandidatePage();
-            RefreshUI();
-            }
-        }
-    else if(aKey == EKeyUpArrow)
-        {
-        if(!candidatePane->IsFirstPage())
-            {
-            candidatePane->PreviousCandidatePage();
-            RefreshUI();
-            }
-        }   
-    else if(aKey == EKeyOK || aKey == EKeyRightArrow || aKey == EKeyLeftArrow)
-        {
-        iOwner->ChangeState(ECandidate);
-        return EFalse;
-        }
-    return ETrue;
-    }
-
-void TAknFepInputStateEntryZhuyinStrokeBasePhrase::RefreshUI()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlInputPane* inputPane = uiContainer->InputPane();
-    
-    // get cursor position
-    TPoint baseLine = TPoint(0,0);
-    TInt height = 0;
-    TInt ascent = 0;
-    TRAPD(ret,iOwner->FepMan()->GetScreenCoordinatesL(baseLine,height,ascent));
-    if (ret == KErrNone)
-        {
-        uiContainer->SetContainerPosition(baseLine, height);    
-        }
-
-    // layout candidate and fill candidate buffer for first display page
-    TInt candidateCount = 0;
-    if(inputPane->IsFlagSet(MAknFepUICtrlInputPane::EPhoneticChanged))
-        {
-        inputPane->ClearFlag(MAknFepUICtrlInputPane::EPhoneticChanged);
-        TRAPD(ignore,candidateCount = ptiengine->GetChinesePhraseCandidatesL(
-                           *(uiContainer->CandidatePane()->CandidateArray())));
-        if(candidateCount == 0 || ignore != KErrNone)
-            {
-            return;
-            }    
-        uiContainer->CandidatePane()->SplitPhraseCandidatesIntoPages();
-        }
-    TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() &&
-                            uiContainer->CandidatePane()->IsFirstPage());
-    TInt bufLength = ptiengine->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-            
-    uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows); 
-    uiContainer->ShowVerticalScrollArrows(multiplePages);
-
-    uiContainer->CandidatePane()->SetCandidateBuffer();
-    uiContainer->Enable(ETrue);
-    TPtrC ptr = ptiengine->GetPhoneticSpelling(1);
-    inputPane->SetText(ptr);
-    UpdateIndicator();
-    }
-
-void TAknFepInputStateEntryZhuyinStrokeBasePhrase::SetInputPaneToneMark()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlInputPane* inputPane = UIContainer()->InputPane();
-
-    TText toneMark;
-    TBool toneMarkEntered = ptiengine->ToneMark(toneMark);
-    TBuf<1> buf;
-    if(toneMarkEntered)
-        {
-        buf.Append(toneMark);
-        }
-    inputPane->SetToneMark(buf);
-    }
-
-void TAknFepInputStateEntryZhuyinStrokeBasePhrase::KeyTimerExpired()
-    {
-    }
-
-void TAknFepInputStateEntryZhuyinStrokeBasePhrase::InitializeStateL(void)
-    {
-    iOwner->FepMan()->UpdateCbaL(R_AKNFEP_SOFTKEYS_PHRASE_CREATION_SELECT_CANCEL_SELECT);
-    }
-    
-void TAknFepInputStateEntryZhuyinStrokeBasePhrase::UpdateIndicator()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();        
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-    TInt candidateCount = candidatePane->CandidateArray()->Count();
-        
-    if ( candidatePane->IsFirstPage() || candidateCount== 0 )
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows( EFalse );
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows( ETrue );
-        }
-
-    if ( candidatePane->IsLastPage() || candidateCount== 0 )
-        {
-        uiContainer->CandidatePane()->ShowDownScrollArrows( EFalse );
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowDownScrollArrows( ETrue );
-        }
-    }
-    
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateHalfQwerty.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,668 +0,0 @@
-/*
-* Copyright (c) 2007 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:           
-*       Provides the TAknFepInputStateHalfQwerty methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateHalfQwerty.h"
-#include "AknFepUIManagerStateInterface.h"      //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"           //MAknFepManagerUIInterface
-#include "AknFepCaseManager.h"
-
-#include <PtiEngine.h>
-#include <PtiDefs.h>
-#include <PtiKeyMappings.h>
-#include <centralrepository.h> 
-#include <AknFepInternalCRKeys.h>       
-  
-
-TAknFepInputStateHalfQwerty::TAknFepInputStateHalfQwerty(MAknFepUIManagerStateInterface* aOwner)
-    :TAknFepInputStateBase(aOwner)
-    {
-    iState = EInitial;
-    iData = 0;
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    ptiengine->ClearCurrentWord();
-    ptiengine->SetInputMode(EPtiEngineHalfQwerty);
-    }
-
-TBool TAknFepInputStateHalfQwerty::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    TBool ret = EFalse;
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    if( ptiengine == NULL || aKey == EStdKeyNull || 
-    		aKey == EStdKeyF21 || aKey == EKeyF21 || aKey == EKeyF20 || aKey == EKeyF19 ||
-		aKey == EStdKeyLeftArrow || aKey == EStdKeyRightArrow || aKey == EStdKeyDownArrow || aKey == EStdKeyUpArrow )
-        return ret;
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CAknFepFnKeyManager::TFnKeyState fnKeyState  = fepMan->FnKeyState();    
-    TPtiTextCase CurCase = ptiengine->Case();
-
-    if (iData && (iData != aKey) )
-        {
-        ptiengine->CancelTimerActivity();        
-        fepMan->CommitInlineEditL();      
-        ptiengine->ClearCurrentWord();        
-        fepMan->ClearFlag(CAknFepManager::EFlagInsideMultitapInlineEditingTransaction);
-        iData = 0;
-        }
-    // if it is a long key press of the punctuation key,
-		 
-	  if( aLength == ELongKeyPress && aKey == EStdKeyFullStop)
-	  	{
-	  	// Commit the current word and then do the usual stuff
-	  	ptiengine->CancelTimerActivity();	  		  	
-	  	}
-	if( !fepMan->EditorHasFreeSpace() && !iData )
-		{
-		// Do not proceed as we have reached max limit and timer has expired
-		ptiengine->CancelTimerActivity();
-		ptiengine->ClearCurrentWord();        
-        fepMan->ClearFlag(CAknFepManager::EFlagInsideMultitapInlineEditingTransaction);
-        return 0;
-        }
-    
-    if( EStdKeyEnter == aKey )
-		{
-		// Asynchronous case update.
-		fepMan->SimulateKeyEventL(EKeyF19);
-		return 0;
-		}
-		
-    if (!iOwner->PtiEngine()->IsValidKey((TPtiKey)aKey))
-        {     
-        iData = 0;
-        ChrKeyTimerExpired();
-        fepMan->ClearFlag(CAknFepManager::EFlagInsideMultitapInlineEditingTransaction);        
-        ptiengine->CancelTimerActivity();		                
-        return ret;
-        }
-  TPtrC text;
-  /*
-        if ( fepMan->IsOnlyNumericPermitted() )    
-            {
-            ptiengine->CancelTimerActivity();       
-            text.Set(ptiengine->AppendKeyPress((TPtiKey)aKey)); 
-            TPtrC numericChars(KAllAllowedNumericChars, KNumAllowedIdleNumericChars);   
-            if (text.Length() && numericChars.Locate(text[0]) != KErrNotFound)
-                {
-                TBuf<1> chr;    
-                chr.Append(text[0]);
-                fepMan->NewCharacterL(chr);             
-                ptiengine->CancelTimerActivity();        
-                fepMan->CommitInlineEditL();      
-                ptiengine->ClearCurrentWord();                                      
-                }
-            
-            return ETrue;
-            }
- */
-#ifdef __REVERSE_FN_KEY_SUPPORTED
-	TInt origLanguage = ptiengine->CurrentLanguage()->LanguageCode();
-    TPtiEngineInputMode origInputMode = ptiengine->InputMode();
-    TBool languageChanged = EFalse;
-		
-    // In reverse fn key mapping filter the char applicable for
-    // Numeric editor.
-    if( fepMan->IsOnlyNumericPermitted() )
-        {
-        
-        if( EStdKeyLeftFunc == aKey )
-            {
-            TCallBack timerExpire(TimerExpire, this);
-            fepMan->MultitapThroughSCTCharL(timerExpire); 
-            return ETrue;
-            }
-        else 
-            {
-            ChrKeyTimerExpired();
-            }
-        if( !fepMan->IsValidCharForNumericInFnReverseL( aKey, iOwner->PtiEngine()->Case() ) )
-            {
-            if(CheckHasValidNumerKeyMappedL(aKey,languageChanged))
-                return ETrue;
-            }
-        }
-    
-#endif //__REVERSE_FN_KEY_SUPPORTED
-
-
-//    if( aLength == EShortKeyPress )
-        {
-        /*
-        if (aKey == EStdKeySpace && (fnKeyState == CAknFepFnKeyManager::EFnKeyNone))
-            {
-            _LIT(KSpaceCharacter, " ");
-            text.Set(KSpaceCharacter);        
-            }        
-        else*/ 
-   if( aKey == EStdKeySpace && fepMan->FnKeyState() == CAknFepFnKeyManager::EFnKeyNone)
-    		{
-    		_LIT(KSpace," "); 
-			fepMan->StartInlineEditL();
-            fepMan->UpdateInlineEditL(KSpace,0);
-            fepMan->CommitInlineEditL();
-        	return ETrue;        		
-    		}    
-        else
-            {
-            TBool isCharacter = ETrue;
-            if (!iData)
-                {
-                isCharacter = IsCharacterKey(aKey);
-                }
-            HandleCaseChange(aKey, isCharacter);        
-            CurCase = ptiengine->Case();
-
-            if(( (fepMan->IsHybridAplhaEditor() && !fepMan->IsHybridAlphaModeChangedtoAplhanumeric())
-                    || fepMan->IsPhoneNumberEditor() )
-                    && fepMan->FnKeyState() != CAknFepFnKeyManager::EFnKeyNone)
-            {            
-            if( EStdKeyLeftFunc == aKey )
-                {
-                TCallBack timerExpire(TimerExpire, this);
-                fepMan->MultitapThroughSCTCharL(timerExpire); 
-                return ETrue;
-                }
-            else
-                { 
-                ChrKeyTimerExpired();
-                }	
-
-            if(!fepMan->IsPhoneNumberEditor())
-			{
-				TChar validchr;
-				if(!CheckHasValidNumerKeyMappedL(aKey,languageChanged))
-					ptiengine->SetCase((TPtiTextCase)EPtiCaseLower);
-				else
-					return ETrue;
-			}
-            }
-            if(!iData)
-            	{
-            	// this should be called after case change 
-            	// so that the shift state is taken care of
-            	#ifdef __HALF_QWERTY_PREVIEW_PANE
-                	fepMan->PreparePreviewPaneL((TPtiKey)aKey);
-				#endif //__HALF_QWERTY_PREVIEW_PANE
-            	}
-
-            // Over ride the case changes, force to fnLower for 
-            // long key press.
-            if( aLength == ELongKeyPress && aKey == EStdKeyFullStop)
-            	{
-            	iOwner->PtiEngine()->SetCase( EPtiCaseFnLower );
-            	}
-            	            
-            // Get keymapping from PtiEngine.                
-            text.Set(ptiengine->AppendKeyPress((TPtiKey)aKey));
-
-            // send the text to be highlighted here
-            #ifdef __HALF_QWERTY_PREVIEW_PANE
-            	fepMan->ShowPaneL();
-			#endif //__HALF_QWERTY_PREVIEW_PANE            	
-            }
-            
-        if (text.Length() > 0)        
-             {               
-            TBuf<1> chr;    
-            chr.Append(text[0]);
-            if( fepMan->IsOnlyNumericPermitted() 
-            	&& !iOwner->FepMan()->IsValidCharInNumericEditorL(text[0]) )
-            	{
-            	ptiengine->CancelTimerActivity(); 
-            	
-#ifdef __REVERSE_FN_KEY_SUPPORTED            	
-	            if(languageChanged)
-    	            {
-        	        ptiengine->ActivateLanguageL(origLanguage);
-            	    ptiengine->SetInputMode(origInputMode );            		
-                	}            
-#endif                		
-	            if(fepMan->IsHybridAplhaEditor() && !fepMan->IsHybridAlphaModeChangedtoAplhanumeric())
-					ptiengine->SetCase(CurCase);      		
-            	return ETrue;
-            	}            
-            if(fepMan->IsHybridAplhaEditor() && !fepMan->IsHybridAlphaModeChangedtoAplhanumeric()
-                                            && fepMan->FnKeyState() != CAknFepFnKeyManager::EFnKeyNone)
-                {
-                if(!iOwner->FepMan()->IsValidCharInNumericEditorL(text[0]) )
-                    {
-                    ptiengine->CancelTimerActivity(); 
-                                    
-#ifdef __REVERSE_FN_KEY_SUPPORTED               
-                    if(languageChanged)
-                        {
-                        ptiengine->ActivateLanguageL(origLanguage);
-                        ptiengine->SetInputMode(origInputMode );                    
-                        }            
-#endif  
-                    }
-            	}
-            fepMan->NewCharacterL(chr);
-            
-           // if ( aKey == EStdKeyEnter)
-           //     {
-           //     fepMan->CommitInlineEditL();      
-           //     ptiengine->ClearCurrentWord();                
-           //     iData = 0;
-           //     }
-           // else            
-           //     {    
-                iData = aKey;            
-                fepMan->SetFlag(CAknFepManager::EFlagInsideMultitapInlineEditingTransaction);                   
-            //    }
-                                  
-            }
-        if((text.Length() > 0) || (IsKeymapped(aKey)))
-            {
-            ret = ETrue;
-            }
-        TBuf<32> mappedCharacters;
-        iOwner->PtiEngine()->MappingDataForKey((TPtiKey)aKey, mappedCharacters, iOwner->PtiEngine()->Case());
-        if( mappedCharacters.Length() < 2 )
-            {
-            ptiengine->CancelTimerActivity(); 
-            if( aLength == EShortKeyPress )
-            	{            	
-            	SetShortKeyPressText(text);
-            	}
-            }
-		if(fepMan->IsHybridAplhaEditor() && !fepMan->IsHybridAlphaModeChangedtoAplhanumeric())
-			ptiengine->SetCase(CurCase);
-    }
-    
-// else
-// //Long key press
-//    {
-//        if (aKey == EStdKeyEnter)
-//            {
-            // PtiEngine does not have mapping for the enter key.
-//            const TText KAknFEPLineFeedSymbol = 0x21B2;
-//            TBuf<1> lineFeed;
-//            lineFeed.Zero();
-//            lineFeed.Append(KAknFEPLineFeedSymbol);
-//            text.Set(lineFeed);
-//            }
-//        else
-//            {
-//            TBool isCharacter = ETrue;
-//            if (!iData)
-//            {
-//            isCharacter = IsCharacterKey(aKey);
-//            }
-//            //HandleCaseChange(aKey, isCharacter);
-//            //Forcing Fn mode for long key press
-//            
-//            /*
-//            //Start of Option-1
-//            ptiengine->SetCase(EPtiCaseFnLower);
-//            text.Set(ptiengine->AppendKeyPress((TPtiKey)aKey));
-//            // End of Option-1
-//            */
-//
-//            //Start of Option-2
-//            //To do: Space key lower case being mapped and removing 
-//            //hard coding of space in UI State.
-//            TBuf<5> allFnMappedCharacters;
-//            ptiengine->MappingDataForKey((TPtiKey)aKey, allFnMappedCharacters, EPtiCaseFnLower);
-//            text.Set(allFnMappedCharacters);
-//            // End of Option-2
-//
-//            }
-//        #ifdef __HALF_QWERTY_PREVIEW_PANE
-//        // in any case hide the preview pane
-//        	fepMan->HidePane();
-//		#endif //__HALF_QWERTY_PREVIEW_PANE
-//            
-//        if (text.Length() > 0)        
-//            {               
-//            TBuf<1> chr;    
-//            chr.Append(text[0]);
-//            fepMan->NewCharacterL(chr);
-//            fepMan->CommitInlineEditL();      
-//            ptiengine->ClearCurrentWord();                
-//            iData = 0;
-//            /*
-//            if (aKey == EStdKeyEnter)
-//                {
-//                fepMan->CommitInlineEditL();      
-//          ptiengine->ClearCurrentWord();                
-//          iLastKey = 0;
-//                }
-//            else            
-//                {    
-//                iLastKey = aKey;            
-//                fepMan->SetFlag(CAknFepManager::EFlagInsideMultitapInlineEditingTransaction);                   
-//                }
-//            */
-//                                  
-//            ret = ETrue;
-//            }
-//        else
-//            {
-//            // text.Length is zero. Handle long key.
-//            if( aKey == EStdKeyFullStop )
-//                {
-//                ptiengine->CancelTimerActivity();
-//                }
-//            }
-//        }
-    if( aKey!=EStdKeyBackspace && fnKeyState  != CAknFepFnKeyManager::EFnKeyNone)
-    	return ETrue;
-        
-    if(ptiengine->IsValidKey((TPtiKey)aKey))
-       	ret = ETrue;
-        
-#ifdef __REVERSE_FN_KEY_SUPPORTED
-	if(languageChanged)
-    	{
-        ptiengine->ActivateLanguageL(origLanguage);
-        ptiengine->SetInputMode(origInputMode );            		
-        }    
-#endif  
-  
-    return ret;
-    }
-
-// Functions from MPtiObserver interface
-void TAknFepInputStateHalfQwerty::KeyTimerExpired()
-    {
-    if (iData)
-        {
-        MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-        TRAP_IGNORE(fepMan->CommitInlineEditL())
-
-        CPtiEngine* ptiengine = iOwner->PtiEngine();
-        ptiengine->ClearCurrentWord();
-        #ifdef __HALF_QWERTY_PREVIEW_PANE
-        	fepMan->HidePane();
-		#endif //__HALF_QWERTY_PREVIEW_PANE
-        iData = 0;
-        fepMan->ClearFlag(CAknFepManager::EFlagInsideMultitapInlineEditingTransaction);
-        CAknFepFnKeyManager::TFnKeyState fnKeyState  = fepMan->FnKeyState();    
-        if( !fepMan->IsFlagSet( CAknFepManager::EFlagLongShiftKeyPress ) )
-            {
-            if(fnKeyState == CAknFepFnKeyManager::EFnKeyNext)
-                fepMan->SetFnKeyState(CAknFepFnKeyManager::EFnKeyNone);
-            }
-        }  
-    }
-    
-void TAknFepInputStateHalfQwerty::HandleCaseChange(TInt /*aKey*/, TBool aIsCharacter)
-    {
-    // Punctuation key multitapping should not change case
-    if( iData )
-        return;
-    
-    TPtiTextCase caseMode = EPtiCaseLower;
-
-    if (aIsCharacter)
-        {
-        if( iData == 0 || !( iOwner->FepMan()->IsOnlyNumericPermitted()  ) )
-            {
-            // use the Edwin case only when timer expires
-            // To handle cases like insert fn character empty editor
-            // followed by alpa character
-            switch(iOwner->CaseMan()->CurrentCase())
-               {
-                case EAknEditorLowerCase:
-                    caseMode = EPtiCaseLower;
-                    break;            
-                case EAknEditorTextCase:
-                case EAknEditorUpperCase:
-                   caseMode = EPtiCaseUpper;
-               default:
-                   break;
-               }
-            }
-        else
-            {
-            // user is still multitapping, use the existing PtiEngine case
-            caseMode = iOwner->PtiEngine()->Case();
-            }
-        }
-        
-    TPtiTextCase shiftedCase = caseMode;
-    
-    TPtiTextCase curCase = iOwner->PtiEngine()->Case();
-    if(curCase == EPtiCaseFnUpper || curCase == EPtiCaseFnLower)
-        return;
-
-    if ( iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode) && 
-        ( !aIsCharacter|| iOwner->CaseMan()->IsAbleChangeCase() ) )
-        {
-        // Case mode is changed to opposite because shift key is/was pressed and
-        // in case of character key case changes are allowed. In case of
-        // number or special key, shift mode is used always when 
-        // shift key is pressed
-        
-                
-        // clear this flag so that the shift key mode gets reset 
-        // when shift key up event is received
-        
-        iOwner->FepMan()->ClearFlag(CAknFepManager::EFlagNoActionDuringShiftKeyPress);
-        
-		// Do not toggle case while multitapping
-        if( !iData )
-        	{
-        	switch ( caseMode )
-	            {
-	            case EPtiCaseUpper:
-	                shiftedCase = EPtiCaseLower;
-	                break;
-	            case EPtiCaseLower:
-	                shiftedCase = EPtiCaseUpper;
-	                break;
-	            default:
-	                break;
-	            }
-        	}
-        }
-        
-    if ( iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed) )
-        {
-        // Chr key is pressed down. Chr mode is used.
-        if (shiftedCase == EPtiCaseLower)
-            {
-            shiftedCase = EPtiCaseChrLower;
-            }
-        else if (shiftedCase == EPtiCaseUpper)
-            {
-            shiftedCase = EPtiCaseChrUpper;
-            }
-        }
-    iOwner->FepMan()->ClearFlag( CAknFepManager::EFlagNoActionDuringChrKeyPress );
-    iOwner->PtiEngine()->SetCase(shiftedCase);
-    
-    }
-
-TBool TAknFepInputStateHalfQwerty::IsCharacterKey(const TInt aKey)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();       
-    // Max length doesn't matter because we'll need only the first character.    
-    TBuf<KMaxName> lowerdata;   
-    
-    ptiengine->MappingDataForKey((TPtiKey)aKey, lowerdata, EPtiCaseLower);        
-    if (lowerdata.Length() > 0)
-        {
-        TChar lower = lowerdata[0];        
-        TUint upper = lower.GetUpperCase();
-    
-        if ( TUint(lower) != upper )
-            {
-            return ETrue;   
-            }
-        }
-   
-     return EFalse;
-    }       
-TBool TAknFepInputStateHalfQwerty::TryGetValidCharForKey(const TInt& aKey, TChar& aChar)
-    {    
-    if( ! TryGetValidCharForKeyAndCase( aKey, aChar, EPtiCaseFnLower) )
-        {
-        if(! TryGetValidCharForKeyAndCase( aKey, aChar, EPtiCaseUpper))
-            {
-            if(! TryGetValidCharForKeyAndCase( aKey, aChar, EPtiCaseLower))
-                {
-                return EFalse;
-                }
-            }
-        }
-    return ETrue;
-    }
-TBool TAknFepInputStateHalfQwerty::TryGetValidCharForKeyAndCase(const TInt& aKey, TChar& aChar, TPtiTextCase aCase)
-    {
-    TBuf<KMaxName> mappedCharacters;
-
-    iOwner->PtiEngine()->MappingDataForKey((TPtiKey)aKey, mappedCharacters, aCase);        
-    TRAP_IGNORE(
-    for (TInt i = 0; i < mappedCharacters.Length(); i++ )
-        {
-        if( iOwner->FepMan()->IsValidCharInNumericEditorL( mappedCharacters[i] ) )
-            {
-            aChar = mappedCharacters[i];
-            return ETrue;
-            } 
-        }); 
-    return EFalse;
-    }
-TInt TAknFepInputStateHalfQwerty::TimerExpire(TAny* aPtr)
-    {
-    reinterpret_cast<TAknFepInputStateHalfQwerty*>(aPtr)->ChrKeyTimerExpired();
-    return 1;
-    }
-TInt TAknFepInputStateHalfQwerty::ChrKeyTimerExpired()
-    {
-    if(iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagInsideMultitapInlineEditingTransaction))
-        {
-        // this function is only called for number only editors 
-
-        TRAP_IGNORE(iOwner->FepMan()->CommitInlineEditL());
-        }    
-    return 1;
-    }
-
-
-TBool TAknFepInputStateHalfQwerty::IsKeymapped(TInt aKey)
-    {
-    TBuf<20> mapData;
-    TBool ret = EFalse;
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    for(TInt count=0;count<EPtiCaseMax;count++)
-        {
-        ptiengine->MappingDataForKey(static_cast<TPtiKey>(aKey), mapData, static_cast<TPtiTextCase> (count)); 
-        if(mapData.Length())
-            {
-            ret = ETrue;
-            break;
-            }
-        }
-    return ret;
-    }
-
-TBool TAknFepInputStateHalfQwerty::CheckHasValidNumerKeyMappedL(TInt aKey, TBool &aLangChanged)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    TInt origLanguage = ptiengine->CurrentLanguage()->LanguageCode();
-    TPtiEngineInputMode origInputMode = ptiengine->InputMode();
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    
-    //TBool languageChanged = EFalse;
-    
-                TChar chr;
-
-                if( ! TryGetValidCharForKey(aKey, chr) )
-                    {
-                    // If the key in not valid char in the current input language in Fn reverse mode,
-                    // then we will check if against English language. And if its valid then we will
-                    // insert the char based out of key for English input language and revert back 
-                    // the change in input language at the end.
-
-                    if(ptiengine->CurrentLanguage()->LanguageCode() == ELangEnglish)
-                        {
-                        if(fepMan->IsOnlyNumericPermitted())
-                            return ETrue;
-                        else
-                            return EFalse;
-                        }
-
-                    aLangChanged = ETrue;
-                    ptiengine->ActivateLanguageL(ELangEnglish);
-                    ptiengine->SetInputMode(EPtiEngineHalfQwerty); 
-
-                    if( !fepMan->IsValidCharForNumericInFnReverseL(aKey, iOwner->PtiEngine()->Case()) )
-                        {
-                        if( ! TryGetValidCharForKey(aKey, chr) )
-                            {
-                            ptiengine->ActivateLanguageL(origLanguage);
-                            ptiengine->SetInputMode(origInputMode );  
-                            if(fepMan->IsHybridAplhaEditor() && !fepMan->IsHybridAlphaModeChangedtoAplhanumeric())    
-                                return EFalse;
-                            else
-                                return ETrue;
-                            }
-                        else
-                            {
-                            if(aLangChanged)
-                                {
-                                ptiengine->ActivateLanguageL(origLanguage);
-                                ptiengine->SetInputMode(origInputMode );                    
-                                }
-
-                            TBuf<1> buf;    
-                            buf.Append(chr);
-                            fepMan->NewCharacterL(buf);
-                            fepMan->CommitInlineEditL();      
-                            ptiengine->ClearCurrentWord();                
-                            iData = 0;
-                            ptiengine->CancelTimerActivity();
-                            return ETrue;                       
-                            }
-                        }
-                    }
-                else
-                    {
-                    if(aLangChanged)
-                        {
-                        ptiengine->ActivateLanguageL(origLanguage);
-                        ptiengine->SetInputMode(origInputMode );                    
-                        }
-
-                    TBuf<1> buf;    
-                    buf.Append(chr);
-                    fepMan->NewCharacterL(buf);
-                    fepMan->CommitInlineEditL();      
-                    ptiengine->ClearCurrentWord();                
-                    iData = 0;
-                    ptiengine->CancelTimerActivity();
-                    return ETrue;
-                    }
-                
-    
-    return EFalse;
-    }	
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateInitialArabicHebrewMultitap.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-/*
-* Copyright (c) 2003 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:           
-*       Provides the TAknFepInputStateInitialArabicHebrewMultitap methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateInitialArabicHebrewMultitap.h"
-#include "AknFepUIManagerStateInterface.h"      //MAknFepUIManagerStateInterface
-
-#include "AknFepCaseManager.h"
-#include <uikon.hrh>
-
-#include <PtiEngine.h>
-
-TAknFepInputStateInitialArabicHebrewMultitap::
-TAknFepInputStateInitialArabicHebrewMultitap(MAknFepUIManagerStateInterface* aOwner)
-:TAknFepInputStateInitialLatinMultitap(aOwner)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-
-    // This can be removed now because the PTI engine is in use?
-    TPtiTextCase caseMode = ptiengine->Case();
-
-    ptiengine->ClearCurrentWord();
-    ptiengine->SetInputMode(EPtiEngineMultitapping);
-
-    ptiengine->SetCase(caseMode);
-    }
-
-TBool TAknFepInputStateInitialArabicHebrewMultitap::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    TBool ret = ETrue;
-
-    if(iData && (iData != aKey))
-        {
-        fepMan->CommitInlineEditL();
-        ptiengine->ClearCurrentWord();
-        CAknFepCaseManager* caseMan = iOwner->CaseMan(); 
-        caseMan->UpdateCase(ENullNaviEvent); 
-        }
-
-    iData = aKey;
-    if(aLength == EShortKeyPress)
-        {
-        if (aKey == EPtiKeyStar)
-            {
-  			if (!fepMan->EditSubmenuInUse() && fepMan->IsAbleToLaunchSCT())
-        		{
-        		fepMan->LaunchSpecialCharacterTableL();
-        		}                        
-            }
-        else
-            {
-            TPtrC text = ptiengine->AppendKeyPress((TPtiKey)aKey);
-            if (text.Length())
-                {
-                fepMan->NewCharacterL(text);
-                }
-            }
-        }
-    else // long keypress
-        {
-	     if (aKey == EPtiKeyStar && fepMan->EditSubmenuInUse())
-            {
-       		fepMan->LaunchSpecialCharacterTableL();                
-            }
-		else
-			{					                    
-        	TChar ch(aKey);
-
-        	TBuf<1> buf;
-        	buf.Append(ch);
-        	fepMan->NewCharacterL(buf);
-        	fepMan->CommitInlineEditL();
-        	ptiengine->ClearCurrentWord();
-			}
-        }
-
-    return ret;
-    }
-
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateInitialArabicHebrewPredictive.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-/*
-* Copyright (c) 2004 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:           
-*       Provides the TAknFepInputStateInitialArabicHebrewPredictive methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateInitialArabicHebrewPredictive.h"
-#include "AknFepUIManagerStateInterface.h"      //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"           //MAknFepManagerUIInterface
-#include "AknFepManager.h"
-#include "AknFepCaseManager.h"                  //CAknFepCaseManager
-
-#include <PtiDefs.h>
-
-TAknFepInputStateInitialArabicHebrewPredictive::
-TAknFepInputStateInitialArabicHebrewPredictive(MAknFepUIManagerStateInterface* aOwner)
-    :TAknFepInputStateInitialWesternPredictive(aOwner)
-    {
-    }
-
-TBool TAknFepInputStateInitialArabicHebrewPredictive::HandleKeyL(TInt aKey, 
-                                                                 TKeyPressLength aLength)
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    TBool ret = ETrue;
-
-    if (aKey == EPtiKey0)
-        {
-        TAknFepInputStateInitialWesternPredictive::HandleKeyL(aKey, aLength);
-        }
-    else if (aKey == EPtiKeyStar)
-        {
-  		if (aLength == EShortKeyPress)
-			{	
-		    if (fepMan->IsFlagSet(CAknFepManager::EFlagLineFeedCharacter) && 
-			    fepMan->IsFlagSet(CAknFepManager::EFlagInsideMultitapInlineEditingTransaction))
-			    {
-			    // User is interrupting multitap timer with star key, but there
-			    // is line feed event waiting. Make sure that it is handled first.
-			    fepMan->CommitInlineEditL();
-			    }			
-							        
-        	if (!fepMan->EditSubmenuInUse())
-        		{
-        		if (fepMan->IsAbleToLaunchSCT())
-        			{
-	        		fepMan->LaunchSpecialCharacterTableL();        			
-        			}
-        		}
-			else
-				{
-				fepMan->ClearCcpuFlag(CAknFepManager::ECcpuStateIgnoreStarUp);				
-				}        		               	        		
-        	}        	
-		else	        	
-			{
-			if (fepMan->EditSubmenuInUse())
-				{										
-				fepMan->LaunchSpecialCharacterTableL();           			
-				}
-			}               
-        }   
-    else 
-        {
-        if (fepMan->IsFlagSet(CAknFepManager::EFlagSuppressInputStateChange))
-            {
-            // Long keypress of numeric keypress, we want to simply return EFalse
-            // to enter a number into the editor, rather than move back to 
-            // entry state, so just clear the flag
-            fepMan->ClearFlag(CAknFepManager::EFlagSuppressInputStateChange);
-            // Asyncronous case update is not needed in Arabic and Hebrew.
-            // Arabic indic digits are handled in FepManager.
-            }
-        else
-            {
-            fepMan->TryCloseUiL(); //expires the multitap timer
-            iOwner->ChangeState(EEntry);
-            fepMan->SendUIActivatedNotification();
-            }
-        ret = EFalse;
-        }
-    return ret;
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateInitialChineseGeneric.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,165 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the TAknFepInputStateInitialChineseGeneric methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateInitialChineseGeneric.h"
-#include "AknFepUIManagerStateInterface.h"
-#include "AknFepManagerUIInterface.h"
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUICtrlPinyinPopup.h"
-#include "AknFepManager.h"
-
-#include <PtiEngine.h>
-#include <e32keys.h>
-#include <PtiDefs.h>                //keys
-#include <uikon.hrh>
-
-TAknFepInputStateInitialChineseGeneric::TAknFepInputStateInitialChineseGeneric(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateInitialChineseMultitapBase(aOwner, aUIContainer)
-    {
-    }
-
-TBool TAknFepInputStateInitialChineseGeneric::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-
-    TBool ret = ETrue;
-
-    if(iData && (iData != aKey))
-        {
-        fepMan->CommitInlineEditL();
-        ptiengine->ClearCurrentWord();
-        }
-    
-    //7,8,9 are not multitap in EStroke, so commit
-    if ((fepMan->InputMode() == EStroke) &&
-         (iData == EPtiKey7 || iData == EPtiKey8 || iData == EPtiKey9 ))
-    	{
-        fepMan->CommitInlineEditL();
-        ptiengine->ClearCurrentWord();
-    	}
-    
-    iData = aKey;
-
-    if(iOwner->IsValidChineseInputKey(aKey))
-        {
-        if ( aLength == EShortKeyPress )
-        	{
-            ptiengine->ClearCurrentWord();
-            ptiengine->ResetToneMark();
-
-            if(iOwner->ChangeState(EEntry) == EEntry)
-                {
-                iOwner->FepMan()->SendUIActivatedNotification();
-                }
-            ret = EFalse; //indicate we can't handle the key...
-        	}
-        else
-        	{
-        	return ETrue;
-        	}
-
-        }
-    else if(aKey == EPtiKey0 || aKey == EPtiKey1) // do multitap on zero key...
-        {
-        if(aLength == EShortKeyPress)
-            {
-            const TPtiTextCase oldCase = ptiengine->Case();
-            if (fepMan->InputMode() == EStroke)
-            	{
-            	ptiengine->SetCase(EPtiCaseUpper);
-            	}
-            TPtrC aText = ptiengine->AppendKeyPress((TPtiKey)aKey);
-            fepMan->NewCharacterL(aText);
-            ptiengine->SetCase(oldCase);
-            }
-        else
-            {
-            //don't want long keypresses to result in numbers as this would be inconsistent in
-            //Chinese modes, so commit the current character
-            fepMan->CommitInlineEditL();
-            ptiengine->ClearCurrentWord();
-            }
-        }
-    //do multitap on 7-9 key
-    else if ((fepMan->InputMode() == EStroke) &&
-             (aKey == EPtiKey7 || aKey == EPtiKey8 ||
-              aKey == EPtiKey9 ))    		   
-    	{
-    	if(aLength == EShortKeyPress)
-            {
-            const TPtiTextCase oldCase = ptiengine->Case();
-            ptiengine->SetCase(EPtiCaseUpper);            
-            
-            TPtrC text = ptiengine->AppendKeyPress((TPtiKey)aKey);
-            fepMan->NewCharacterL(text);
-            ptiengine->SetCase(oldCase);
-            }
-        else
-            {
-            //don't want long keypresses to result in numbers as this would be inconsistent in
-            //Chinese modes, so commit the current character
-            fepMan->CommitInlineEditL();
-            ptiengine->ClearCurrentWord();
-            }
-    	}
-    else if (aKey == EPtiKeyStar)
-        {
-        if (aLength == EShortKeyPress)
-        	{
-       		if (fepMan->EditSubmenuInUse())
-        		{
-				fepMan->ClearCcpuFlag(CAknFepManager::ECcpuStateIgnoreStarUp);
-        		return ret;
-        		}                        
-            else if (fepMan->IsAbleToLaunchSCT())
-                {
-                fepMan->LaunchSpecialCharacterTableL();
-                }    	
-        	}
-        else
-        	{
-       		if (fepMan->EditSubmenuInUse())
-            	{
-       			fepMan->LaunchSpecialCharacterTableL();                
-        	    }        	
-            }
-        }
-    else if (aKey == EKeyOK)
-        {
-        ret = EFalse;   //don't consume OK key in initial state 
-        }
-
-    return ret;
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateInitialChineseGenericQwerty.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,410 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStateInitialChineseGenericQwerty methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateInitialChineseGenericQwerty.h"
-#include "AknFepUIManagerStateInterface.h"
-#include "AknFepManagerUIInterface.h"
-
-#include "AknFepManager.h"         //FepMan flag
-
-#include <PtiEngine.h>
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-#include <AknFepFnKeyManager.h>
-#endif
-const TText KZhuyinTone2 = 0x02CA; // qwerty key6
-const TText KZhuyinTone3 = 0x02C7; // qwerty key3
-const TText KZhuyinTone4 = 0x02CB; // qwerty key4
-const TText KZhuyinTone5 = 0x02D9; // qwerty key7
-
-TAknFepInputStateInitialChineseGenericQwerty::
-TAknFepInputStateInitialChineseGenericQwerty(MAknFepUIManagerStateInterface* aOwner, TInt aMode)
-    :TAknFepInputStateQwerty(aOwner)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    MPtiLanguage* ptilang = ptiengine->CurrentLanguage(); 
-#endif
-    
-    switch( aMode )
-        {
-        case EPinyin:
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-            if (ptilang->HasInputMode(EPtiEnginePinyinPhraseQwerty))
-                {         
-                ptiengine->SetInputMode(EPtiEnginePinyinPhraseQwerty);
-                }
-            else
-#endif
-            ptiengine->SetInputMode(EPtiEnginePinyinQwerty);
-            break;
-        case EStroke:
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-            if (ptilang->HasInputMode(EPtiEngineStrokePhraseQwerty))         
-                ptiengine->SetInputMode(EPtiEngineStrokePhraseQwerty);
-            else
-#endif
-            ptiengine->SetInputMode(EPtiEngineStrokeQwerty);
-            break;
-        case EZhuyin:
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-            if (ptilang->HasInputMode(EPtiEngineZhuyinPhraseQwerty))         
-                ptiengine->SetInputMode(EPtiEngineZhuyinPhraseQwerty);
-            else
-#endif
-            ptiengine->SetInputMode(EPtiEngineZhuyinQwerty);
-            break;
-        case ECangJie:
-            ptiengine->SetInputMode(EPtiEngineNormalCangjieQwerty);
-            break;
-        default:
-            break;
-        }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    ptiengine->SetKeyboardType(iOwner->FepMan()->KeyboardLayout());        
-#endif
-    }
-
-TBool TAknFepInputStateInitialChineseGenericQwerty::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-
-    TBool ret = EFalse;
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-	CAknFepFnKeyManager::TFnKeyState fnKeyState  = fepMan->FnKeyState();
-	const TPtiKeyboardType keyboardType = ptiengine->KeyboardType();
-#endif
-
-    if(iData)
-        {
-        iData = 0;
-        }
-    
-    if(aKey == EStdKeyLeftFunc && aLength == EShortKeyPress) 
-        {
-        if (fepMan->IsAbleToLaunchSCT())
-            {
-            fepMan->LaunchSpecialCharacterTableL();
-            }
-        }
-    else if(iOwner->IsQwertyZhuyinToneMarkKey(aKey) &&
-        aLength == EShortKeyPress
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        && !fnKeyState   
-#endif
-        && !fepMan->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode)
-        && !fepMan->IsFlagSet(CAknFepManager::EFlagShiftKeyDepressed)
-        && !fepMan->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed))
-        {
-        TBuf<1> ToneMarkBuf;
-#ifdef RD_INTELLIGENT_TEXT_INPUT 
-        if( keyboardType == EPtiKeyboardQwerty4x12)
-            {
-#endif
-        switch(aKey)
-            {
-            case EPtiKeyQwerty3:
-                ToneMarkBuf.Append(KZhuyinTone3);
-                break;
-
-            case EPtiKeyQwerty4:
-                ToneMarkBuf.Append(KZhuyinTone4);
-                break;
-
-            case EPtiKeyQwerty6:
-                ToneMarkBuf.Append(KZhuyinTone2);
-                break;
-
-            case EPtiKeyQwerty7:
-                ToneMarkBuf.Append(KZhuyinTone5);
-                break;
-            default:
-                break;
-            }
-#ifdef RD_INTELLIGENT_TEXT_INPUT 
-                }
-            else
-                if (keyboardType == EPtiKeyboardQwerty4x10 || keyboardType
-                        == EPtiKeyboardQwerty3x11)
-                    {
-                    switch (aKey)
-                        {
-                        case EPtiKeyQwertyE:
-                            ToneMarkBuf.Append(KZhuyinTone3);
-                            break;
-
-                        case EPtiKeyQwertyR:
-                            ToneMarkBuf.Append(KZhuyinTone4);
-                            break;
-
-                        case EPtiKeyQwertyY:
-                            ToneMarkBuf.Append(KZhuyinTone2);
-                            break;
-
-                        case EPtiKeyQwertyU:
-                            ToneMarkBuf.Append(KZhuyinTone5);
-                            break;
-                        default:
-                            break;
-                        }
-                    }
-#endif
-        
-        MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-        fepMan->NewCharacterL(ToneMarkBuf);
-        fepMan->CommitInlineEditL();
-        if (fepMan->IsFlagSet(CAknFepManager::EFlagEditorFull))
-            {
-            fepMan->ClearFlag(CAknFepManager::EFlagEditorFull);
-            iOwner->FepMan()->TryCloseUiL();
-            }
-        ret = ETrue;
-        }
-    else if(iOwner->IsValidChineseInputKeyQwerty(aKey) && 
-            !fepMan->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed) && 
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-            !fepMan->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode) &&
-            !fepMan->IsFlagSet(CAknFepManager::EFlagShiftKeyDepressed) &&
-            !fnKeyState)
-#else
-            !fepMan->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode))
-#endif
-        {
-        if ( aLength == EShortKeyPress )
-        	{
-            ptiengine->ClearCurrentWord();
-            ptiengine->ResetToneMark();
-            
-            if(iOwner->ChangeState(EEntry) == EEntry)
-                {
-                iOwner->FepMan()->SendUIActivatedNotification();
-                }
-        	}
-        else
-        	{
-        	return ETrue;
-        	}
-        }
-    else if (fepMan->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode) && 
-             fepMan->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed))
-        {
-        ret = ETrue;
-        }
-    else if (IsCharacter(aKey) || IsSCTKey(aKey))
-        {
-        HandleKeyByShiftOrCharPressed(aKey,aLength);
-        if (fepMan->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed))
-            {
-            fepMan->ClearFlag(CAknFepManager::EFlagNoActionDuringChrKeyPress);        
-            }
-        ret = ETrue;
-        }
-    else if ((IsCharacter(aKey) || aKey == EPtiKeyQwertySpace) 
-           && fepMan->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed))
-        {
-        fepMan->ClearFlag(CAknFepManager::EFlagQwertyChrKeyDepressed);
-        fepMan->ClearFlag(CAknFepManager::EFlagNoActionDuringChrKeyPress);
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        if((aKey == EPtiKeyQwertySpace) &&EPtiKeyboardQwerty4x12 != ptiengine->KeyboardType())
-            {
-            TPtrC text;
-            _LIT(KSpaceCharacter, " ");
-            text.Set(KSpaceCharacter);        
-                
-            if (text.Length())
-                {
-                TBuf<1> chr;            
-                for (TInt jj = 0; jj < text.Length(); jj++)
-                   	{
-                   	chr.Zero();
-                   	chr.Append(text[jj]);
-                    fepMan->NewCharacterL(chr);               	         	                        
-               	    fepMan->CommitInlineEditL();
-                   	}
-                ret = ETrue;
-                }                
-            }
-#endif
-        }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    else if(aKey == EPtiKeyQwertySpace)
-        {
-        if (fnKeyState == CAknFepFnKeyManager::EFnKeyDown)
-            {
-            fepMan->LaunchSelectModeMenuL();
-            ret = ETrue;
-            }
-        else
-            {
-	        TPtrC text;
-	        _LIT(KSpaceCharacter, " ");
-	        text.Set(KSpaceCharacter);        
-	            
-	        if (text.Length())
-	            {
-	            TBuf<1> chr;            
-	            for (TInt jj = 0; jj < text.Length(); jj++)
-	               	{
-	               	chr.Zero();
-	               	chr.Append(text[jj]);
-	                fepMan->NewCharacterL(chr);               	         	                        
-	           	    fepMan->CommitInlineEditL();
-	           	    //ptiengine->ClearCurrentWord();
-	               	}
-	            ret = ETrue;
-	            } 
-            }
-        }
-#endif
-    return ret;
-    }
-
-TBool TAknFepInputStateInitialChineseGenericQwerty::IsSCTKey(TInt aKey)
-    {
-    TBool response = EFalse;
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    CPtiEngine* ptiengine = iOwner->PtiEngine();   
-    if(EPtiKeyboardQwerty4x12 == ptiengine->KeyboardType()) 
-        {
-#endif
-    if (IsNumberKey( aKey ) ||
-        aKey == EPtiKeyQwertyPlus ||
-        aKey == EPtiKeyQwertyMinus ||
-        aKey == EPtiKeyQwertyComma ||
-        aKey == EPtiKeyQwertySemicolon ||
-        aKey == EPtiKeyQwertyFullstop ||
-        aKey == EPtiKeyQwertyHash ||
-        aKey == EPtiKeyQwertySlash ||
-        aKey == EPtiKeyQwertyApostrophe)
-        {
-        response = ETrue;
-        }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        }
-    else if(EPtiKeyboardQwerty4x10 == ptiengine->KeyboardType())
-        {
-        if(aKey == EPtiKeyQwertyComma ||
-           aKey == EPtiKeyQwertyFullstop ||
-           aKey == EPtiKeyQwertySlash ||
-           aKey == EStdKeySingleQuote ||
-           aKey == EStdKeySquareBracketRight ||
-           aKey == EStdKeySquareBracketLeft)
-            {
-            response = ETrue;
-            }
-        }
-    else if(EPtiKeyboardQwerty3x11 == ptiengine->KeyboardType())
-    	{
-    	 if(aKey == EPtiKeyQwertyComma ||
-    		aKey == EPtiKeyQwertyFullstop ||
-    	    aKey == EPtiKeyQwertySlash ||
-    	    aKey == EStdKeySingleQuote ||
-    	    aKey == EStdKeySquareBracketRight ||
-    	    aKey == EPtiKeyQwertyAtCharacter )
-    		 {
-    		 response = ETrue;
-    		 }
-    	}
-#endif
-    return response;
-    }
-
-TBool TAknFepInputStateInitialChineseGenericQwerty::IsCharacter(TInt aKey)
-    {
-    TBool response = EFalse;
-    if (aKey >= EPtiKeyQwertyA && aKey <= EPtiKeyQwertyZ)
-        {
-        response = ETrue;
-        }
-    return response;
-    }
-    
-TBool TAknFepInputStateInitialChineseGenericQwerty::HandleKeyByShiftOrCharPressed(TInt aKey, 
-                                                                                  TKeyPressLength /*aLength*/)
-    {
-    TBool ret = EFalse;
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CAknFepCaseManager* caseMan = iOwner->CaseMan(); 
-
-    fepMan->ClearFlag(CAknFepManager::EFlagNoActionDuringShiftKeyPress);
-    
-    TPtiTextCase caseMode = EPtiCaseLower;
-    if (fepMan->IsOnlyNumericPermitted())
-        {
-        return ret;
-        }
-    TPtiTextCase shiftedCase = caseMode;
-    if (fepMan->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode | CAknFepManager::EFlagShiftKeyDepressed)) 
-        {
-        shiftedCase = EPtiCaseUpper;
-        } 
-    
-    if (fepMan->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed) )
-        {
-        shiftedCase = EPtiCaseChrLower;
-        }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    if (fepMan->FnKeyState())
-        {
-        shiftedCase = EPtiCaseFnLower;
-        }
-#endif
-    
-    ptiengine->SetCase(shiftedCase);
-    
-
-    TPtrC text;
-    text.Set(ptiengine->AppendKeyPress((TPtiKey)aKey));
-        
-    if (text.Length())
-        {
-        TBuf<1> chr;            
-        for (TInt jj = 0; jj < text.Length(); jj++)
-           	{
-           	chr.Zero();
-           	chr.Append(text[jj]);
-           	TRAP_IGNORE(fepMan->NewCharacterL(chr));
-           	TRAP_IGNORE(fepMan->CommitInlineEditL());
-       	    ptiengine->ClearCurrentWord();
-           	}
-        ret = ETrue;
-        }
-
-    return ret;
-    }
-
-void TAknFepInputStateInitialChineseGenericQwerty::KeyTimerExpired()
-    {
-    
-    }    
-    
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateInitialChineseMultitapBase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,128 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the TAknFepInputStateInitialChineseMultitapBase methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateInitialChineseMultitapBase.h"
-#include "AknFepUIManagerStateInterface.h"      //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"           //MAknFepManagerUIInterface
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepCaseManager.h"
-
-#include <PtiEngine.h>
-#include <PtiDefs.h>
-
-TAknFepInputStateInitialChineseMultitapBase::TAknFepInputStateInitialChineseMultitapBase(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateChineseBase(aOwner, aUIContainer)
-    {
-    iState = EInitial;
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-
-    TPtiTextCase caseMode = ptiengine->Case();
-
-    ptiengine->ClearCurrentWord();
-    ptiengine->SetInputMode(EPtiEngineMultitapping);
-
-    ptiengine->SetCase(caseMode);
-    }
-
-TBool TAknFepInputStateInitialChineseMultitapBase::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    TBool ret = ETrue;
-
-    if(iData && (iData != aKey))
-        {
-        fepMan->CommitInlineEditL();
-        ptiengine->ClearCurrentWord();
-        CAknFepCaseManager* caseMan = iOwner->CaseMan(); 
-        caseMan->UpdateCase(ENullNaviEvent); 
-        }
-
-    iData = aKey;
-    if(aLength == EShortKeyPress)
-        {
-        if (aKey == EPtiKeyStar)
-            {
-            if (fepMan->EditSubmenuInUse())
-        		{
-     		    fepMan->ClearCcpuFlag(CAknFepManager::ECcpuStateIgnoreStarUp);                    
-        		return ret;
-        		}            
-            else if (fepMan->IsAbleToLaunchSCT())
-                {
-                fepMan->LaunchSpecialCharacterTableL();
-                }
-            }
-        else
-            {
-            TPtrC text = ptiengine->AppendKeyPress((TPtiKey)aKey);
-            if (text.Length())
-                {
-                fepMan->NewCharacterL(text);
-                }
-            }
-        }
-    else // long keypress
-        {
-        if (aKey == EPtiKeyStar)
-            {
-            if (fepMan->EditSubmenuInUse())
-            	{
-       			fepMan->LaunchSpecialCharacterTableL();                
-        	    } 
-            }        
-        }
-
-    return ret;
-    }
-
-// Functions from MPtiObserver interface
-void TAknFepInputStateInitialChineseMultitapBase::KeyTimerExpired()
-    {
-    if (iData)
-        {
-        MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-        //Changing the below line from "TRAPD(err," to TRAP_IGNORE 
-        //to remove compiler warning
-        TRAP_IGNORE(fepMan->CommitInlineEditL())
-        //do something if error??
-
-        CPtiEngine* ptiengine = iOwner->PtiEngine();
-        ptiengine->ClearCurrentWord();
-
-        CAknFepCaseManager* caseMan = iOwner->CaseMan(); 
-        caseMan->UpdateCase(ENullNaviEvent); 
-
-        iData = 0;
-        }
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateInitialFullNumber.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,356 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:            Provides the TAknFepUiInputStateInitialFullNumber methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include "AknFepUiInputStateInitialFullNumber.h"
-#include "AknFepUIManagerStateInterface.h"   // MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"        // MAknFepManagerUIInterface
-#include "AknFepManager.h"
-
-#include <PtiEngine.h>
-#include <featmgr.h>                //FeatureManager
-#include <PtiCompositionDataIF.h>        // MPtiEngineCompositionDataInterface
-#include <jplangutil.h>
-
-// CONSTANTS
-const TInt KNumAllowedIdleNumericChars = 21;
-
-_LIT(KAknFepPlainNumbers, "1234567890");
-const TUint16 KAllAllowedNumericChars[] =
-    {'*','+','p','w','#','1','2','3','4','5','6','7','8','9','0', ';','.',',','-','E','?'};
-const TKeyEvent KEventsForSecondPass[]  =
-    {
-        {42, EStdKeyNkpAsterisk, 3, 0},
-        {43, EStdKeyNkpPlus, 3, 0},
-        {112, 80, EModifierAutorepeatable, 0},
-        {119, 87, EModifierAutorepeatable, 0},
-        {35, EStdKeyHash, EModifierAutorepeatable, 0},
-        {EPtiKey1, EPtiKey1, EModifierAutorepeatable, 0},
-        {EPtiKey2, EPtiKey2, EModifierAutorepeatable, 0},
-        {EPtiKey3, EPtiKey3, EModifierAutorepeatable, 0},
-        {EPtiKey4, EPtiKey4, EModifierAutorepeatable, 0},
-        {EPtiKey5, EPtiKey5, EModifierAutorepeatable, 0},
-        {EPtiKey6, EPtiKey6, EModifierAutorepeatable, 0},
-        {EPtiKey7, EPtiKey7, EModifierAutorepeatable, 0},
-        {EPtiKey8, EPtiKey8, EModifierAutorepeatable, 0},
-        {EPtiKey9, EPtiKey9, EModifierAutorepeatable, 0},
-        {EPtiKey0, EPtiKey0, EModifierAutorepeatable, 0},
-        {59,       EStdKeySemiColon, EModifierAutorepeatable, 0},
-        {46,       122, EModifierAutorepeatable, 0},
-        {44,       121, EModifierAutorepeatable, 0},
-        {45,       130, EModifierAutorepeatable, 0},
-        {101,      69,  EModifierAutorepeatable|EModifierLeftShift, 0},
-        {63,       EStdKeyForwardSlash, EModifierAutorepeatable|EModifierLeftShift, 0}
-    };
-
-/**
- *  AknFepUiInputStateInitialFullNumber class.
- *
- */
-//============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateInitialFullNumber::TAknFepUiInputStateInitialFullNumber
-// C++ default Constructor
-// ---------------------------------------------------------------------------
-//
-TAknFepUiInputStateInitialFullNumber::TAknFepUiInputStateInitialFullNumber(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerJapanese* aUIContainer)
-    :TAknFepUiInputStateInitialJapaneseBase(aOwner, aUIContainer)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateInitialFullNumber::InitializeStateL
-// Initialize State
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStateInitialFullNumber::InitializeStateL()
-    {
-    TAknFepUiInputStateInitialJapaneseBase::InitializeStateL();
-
-    // Setup PtiEngine
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    const TWidthChar width = iOwner->FepMan()->CharacterWidth();
-    TPtiEngineInputMode inputmode = EPtiEngineInputModeNone;
-    switch(width)
-        {
-        case EHalfWidthChar:
-            inputmode = (iOwner->IsQwerty())?
-                            EPtiEngineQwerty
-                            : EPtiEngineNumeric;
-            break;
-
-        case EFullWidthChar:
-            inputmode = (iOwner->IsQwerty())?
-                            EPtiEngineFullWidthNumericQwerty
-                            : EPtiEngineFullWidthNumeric;
-            break;
-
-        default: // no operation
-            break;
-        }
-    if (inputmode != EPtiEngineInputModeNone)
-        {
-        ptiEngine->SetInputMode(inputmode);
-
-        if (inputmode == EPtiEngineNumeric)
-            {
-            TRAP_IGNORE(ptiEngine->SetExternalKeyMapL(EPtiEngineNumeric, EPtiKeyStar, 
-                                                     (TDesC&)iOwner->NumberModeKeyMapping(), 
-                                                      EPtiCaseLower))
-            }
-        }
-
-    ptiEngine->ClearCurrentWord();
-    }
-
-TBool TAknFepUiInputStateInitialFullNumber::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    TBool rtn = EFalse;
-
-    switch(ptiengine->InputMode())
-        {
-        case EPtiEngineNumeric:         // non-Qwerty number input
-            rtn = HandleOwnKeyL(aKey, aLength);
-            break;
-        case EPtiEngineQwerty:                  // Qwerty number input
-        case EPtiEngineFullWidthNumericQwerty:  // Qwerty full-width number input
-            rtn = HandleQwertyKeyL(aKey, aLength, fepMan->CharacterWidth());
-            break;
-        case EPtiEngineFullWidthNumeric:    // non-Qwerty full-width number input
-            rtn = TAknFepUiInputStateInitialJapaneseBase::HandleKeyL(aKey, aLength);
-            break;
-        default:
-            break;
-        }
-    return rtn;
-    }
-
-TBool TAknFepUiInputStateInitialFullNumber::HandleOwnKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-
-    if (aLength == ELongKeyPress)
-        {
-        switch (aKey)
-            {
-        case EKeyRightArrow:
-        case EKeyLeftArrow:
-        case EKeyDownArrow:
-        case EKeyUpArrow:
-        case EKeyBackspace:
-            return EFalse;
-        case EPtiKeyStar:
-             if (!fepMan->HashKeySelectionInUse()
-              && fepMan->EditSubmenuInUse())
-                {
-                fepMan->LaunchSpecialCharacterTableL();
-                }
-        default:
-            return ETrue;
-            }
-        }
-
-    if(aKey == EPtiKeyStar)
-        {
-        TBool append = EFalse;
-        if (aLength == EShortKeyPress)
-            {
-            if (fepMan->EditSubmenuInUse())
-                {
-                if (fepMan->IsOnlyNumericPermitted())
-                    {
-                    append = ETrue;
-                    }
-                else
-                    {
-                    fepMan->ClearCcpuFlag(CAknFepManager::ECcpuStateIgnoreStarUp);
-                    }
-                }
-            else
-                {
-                if (fepMan->IsAbleToLaunchSCT())
-                    {
-                    fepMan->LaunchSpecialCharacterTableL();
-                    }
-                else
-                    {
-                    append = ETrue;
-                    }
-                }
-            }
-        else
-            {
-            if (fepMan->EditSubmenuInUse() && fepMan->IsAbleToLaunchSCT())
-                {
-                fepMan->LaunchSpecialCharacterTableL();
-                }
-            }
-        if (append)
-            {
-            iData = aKey;
-            TPtrC text = ptiengine->AppendKeyPress((TPtiKey)aKey);
-
-            // star key is inactive if keymapping is empty.
-            if (text.Length() > 0 && text[0] != 0)
-                {
-                fepMan->NewCharacterL(text);
-
-                // Commit immediately if there is only one character associated to the key.
-                TBuf<CAknFepManager::EMaximumFepWordLength> mapdata;
-                ptiengine->MappingDataForKey((TPtiKey)aKey, mapdata, ptiengine->Case());
-                if (mapdata.Length() <= 1)
-                    {
-                    fepMan->CommitInlineEditL();
-                    ptiengine->ClearCurrentWord();
-                    iData = 0;
-                    }
-                }
-            }
-
-        return ETrue;
-        }
-
-    if(iData)
-        {
-        fepMan->CommitInlineEditL();
-        ptiengine->ClearCurrentWord();
-
-        iData = 0;
-        }
-    return EFalse;
-    }
-
-TBool TAknFepUiInputStateInitialFullNumber::HandleQwertyKeyL(TInt aKey, 
-                                            TKeyPressLength /*aLength*/, const TWidthChar aWidth)
-    {
-    TBool rtn = EFalse;
-
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CAknFepCaseManager* caseMan = iOwner->CaseMan();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-
-    fepMan->ClearFlag(CAknFepManager::EFlagNoActionDuringShiftKeyPress);
-
-    if ( fepMan->IsOnlyNumericPermitted() )
-        {
-        if (aKey == EStdKeySpace || aKey == EStdKeyEnter)
-            {
-            // return Consumed
-            return ETrue;
-            }
-        if (!IsQwertyKey(aKey))
-            {
-            // return Not Consumed
-            return EFalse;
-            }
-
-        TChar chr(0);
-        TKeyEvent numKey;
-
-        ptiengine->AppendKeyPress((TPtiKey)aKey);
-        const MPtiEngineCompositionDataInterface* data = ptiengine->CompositionData();
-        TPtrC text = data->CompletedString();
-        if (text.Length() > 0 && text[0] != 0)
-            {
-            TChar compchar = text[0];
-            if (aWidth == EFullWidthChar)
-                {
-                TBuf<2> halfstring;
-                TInt convlen = JPLangUtil::ConvertFullToHalfWidth(
-                                text.Left(1), halfstring);
-                if (convlen > 0)
-                    {
-                    compchar = halfstring[0];
-                    }
-                }
-            for (TInt i = 0; i < KNumAllowedIdleNumericChars; i++)
-                {
-
-                if (compchar == KAllAllowedNumericChars[i])
-                    {
-                    numKey = KEventsForSecondPass[i];
-                    chr = KAllAllowedNumericChars[i];
-                    break;
-                    }
-                }
-            }
-
-        if ((chr != 0) &&
-            ((iOwner->NumberModeKeyMapping().Locate(chr) != KErrNotFound) ||
-             (KAknFepPlainNumbers().Locate(chr) != KErrNotFound)) ||
-             fepMan->IsAllowedKeymappingForNumberMode(chr))
-            {
-            if (aWidth == EFullWidthChar)
-                {
-                // Full-width characters are committed immediately.
-                fepMan->NewCharacterL(text);
-                fepMan->CommitInlineEditL();
-                }
-            else
-                {
-                // If editor is in number mode and incoming key press would produce
-                // any of the allowed number mode characters,
-                // resend suitable key event let it pass through FEP. That way phone idle
-                // receives the event too. This also takes care of remapping
-                // different qwerty keymap layouts to edwin events.
-                fepMan->SetFlag(CAknFepManager::EFlagPassNextKey);
-                CCoeEnv::Static()->SimulateKeyEventL(numKey, EEventKey);
-                }
-            }
-        ptiengine->ClearCurrentWord();
-
-        return ETrue;
-        }
-
-    return rtn;
-    }
-
-
-
-// Functions from MPtiObserver interface
-void TAknFepUiInputStateInitialFullNumber::KeyTimerExpired()
-    {
-    if (iData)
-        {
-        MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-        TRAP_IGNORE(fepMan->CommitInlineEditL())
-
-        CPtiEngine* ptiengine = iOwner->PtiEngine();
-        ptiengine->ClearCurrentWord();
-
-        iData = 0;
-        }
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateInitialHalfQwertyWesternPredictive.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,357 +0,0 @@
-/*
-* Copyright (c) 2002 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:            
-*       Provides the TAknFepInputStateInitialHalfQwertyWesternPredictive methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateInitialHalfQwertyWesternPredictive.h"
-#include "AknFepUIManagerStateInterface.h"      //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"           //MAknFepManagerUIInterface
-#include "AknFepManager.h"
-#include "AknFepCaseManager.h"                  //CAknFepCaseManager
-
-#include <PtiDefs.h>
-#include <PtiEngine.h>
-
-// TODO: Remove this include
-#include <AvkonInternalCRKeys.h>
-static const TInt KKeyMappingsLength = 32;
-TAknFepUiInputStateInitialHalfQwertyWesternPredictive::TAknFepUiInputStateInitialHalfQwertyWesternPredictive(MAknFepUIManagerStateInterface* aOwner)
-    //:TAknFepInputStateBase(aOwner),
-    :TAknFepInputStateInitialMultitapBase(aOwner)
-    {
-    iData = 0;
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-	// this is already being done in the base constructor
-	// should not be done again
-//    TPtiTextCase caseMode = ptiengine->Case();
-//    ptiengine->ClearCurrentWord();
-//    ptiengine->SetCase(caseMode);
-    ptiengine->SetInputMode( EPtiEngineHalfQwerty );
-    }
-
-TBool TAknFepUiInputStateInitialHalfQwertyWesternPredictive::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    
-    TBool retVal = EFalse;
-    TBuf<KKeyMappingsLength> mappedCharacters;
-    if (iData && (iData != aKey) && fepMan->IsFlagSet(CAknFepManager::EFlagInsideMultitapInlineEditingTransaction))
-        {
-        iOwner->PtiEngine()->CancelTimerActivity();        
-        fepMan->CommitInlineEditL();      
-        iOwner->PtiEngine()->ClearCurrentWord();        
-        fepMan->ClearFlag(CAknFepManager::EFlagInsideMultitapInlineEditingTransaction);             
-        iData = 0;
-        // if the current fn key state is FnNext, then clear it.
-        if( !fepMan->IsFlagSet( CAknFepManager::EFlagLongShiftKeyPress ) )
-            {
-            if( CAknFepFnKeyManager::EFnKeyNext == fepMan->FnKeyState())
-                {
-                fepMan->SetFnKeyState( CAknFepFnKeyManager::EFnKeyNone );
-                }
-            }
-        }
-    HandleShiftState(aKey);
-    if((fepMan->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed))&& (aKey !=EStdKeyBackspace) && (aKey!=EKeyBackspace))
-        {
-        if ( fepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction) )
-            {
-            fepMan->TryRemoveNoMatchesIndicatorL();
-            }      
-        if (fepMan->IsAutoCompleteOn())
-            {
-            TInt tailLength = 0;
-            iOwner->PtiEngine()->HandleCommandL( EPtiCommandGetAutoCompletionTailLength, &tailLength );
-            if(tailLength > 0)
-                {
-				// To remove the autocompletion part, the below function is used. 
-				// DeleteKeyPress was used earlier. This is removed to fix the bug :
-				// enter characters to show autocompletion part. Now press a 
-				// character so that the no matches character is shown. Now press
-                // backspace key, last character is not deleted.
-                fepMan->RemoveSuggestedAdvanceCompletionL();                
-                return ETrue;
-                }
-            }
-        // for long key press do not go to multitap base
-        if( EShortKeyPress == aLength )
-        	{
-        	TAknFepInputStateInitialMultitapBase::HandleKeyL(aKey, aLength);
-        	}        	
-        else
-        	{		
-        	mappedCharacters.Zero();	
-	        iOwner->PtiEngine()->MappingDataForKey((TPtiKey)aKey
-	        					, mappedCharacters, iOwner->PtiEngine()->Case());
-	        fepMan->NewCharacterL(mappedCharacters);
-	        fepMan->CommitInlineEditL();        
-        	}
-     // cancel the multitap timer if only one character is mapped to it   
-		mappedCharacters.Zero();
-		
-        iOwner->PtiEngine()->MappingDataForKey((TPtiKey)aKey, mappedCharacters, iOwner->PtiEngine()->Case());
-        
-        if( mappedCharacters.Length() < 2 )
-            {
-            iOwner->PtiEngine()->CancelTimerActivity(); 
-            }
-            
-        iData = aKey;
-        fepMan->ClearFlag(CAknFepManager::EFlagNoActionDuringChrKeyPress);
-        return ETrue;
-        }
-	// for long press of punct key, a stream of characters mapped to 
-	// that case should be shown both in predictive and non-predictive mode	
-    if ( aLength == ELongKeyPress && aKey == EStdKeyFullStop )    
-    	{
-    	// Long press should always input fnlower character
-    	iOwner->PtiEngine()->SetCase( EPtiCaseFnLower);
-    	
-    	mappedCharacters.Zero();
-        iOwner->PtiEngine()->MappingDataForKey((TPtiKey)aKey
-        					, mappedCharacters, iOwner->PtiEngine()->Case());
-        fepMan->NewCharacterL(mappedCharacters);
-        fepMan->CommitInlineEditL();        
-        return ETrue;
-   		}
-    switch (aKey)
-        {
-        case EStdKeyLeftShift:
-        case EStdKeyRightShift:
-        case EStdKeyLeftFunc:
-            {
-            // Handle shift key seperately only if fn state is set.
-            if( CAknFepFnKeyManager::EFnKeyPressed == fepMan->FnKeyState() ||
-                      CAknFepFnKeyManager::EFnKeyDown == fepMan->FnKeyState() ||
-                      CAknFepFnKeyManager::EFnKeyForced == fepMan->FnKeyState() || 
-                      CAknFepFnKeyManager::EFnKeyNext == fepMan->FnKeyState() || 
-                      CAknFepFnKeyManager::EFnKeyPressedAgain == fepMan->FnKeyState() ||
-                      CAknFepFnKeyManager::EFnKeyLock == fepMan->FnKeyState())
-                {
-                fepMan->PtiEngine()->SetCase( EPtiCaseFnLower );
-                TAknFepInputStateInitialMultitapBase::HandleKeyL(aKey, aLength);
-				// cancel the multitap timer if only one character is mapped to it   
-				mappedCharacters.Zero();
-        		iOwner->PtiEngine()->MappingDataForKey((TPtiKey)aKey, mappedCharacters, iOwner->PtiEngine()->Case());
-        
-        		if( mappedCharacters.Length() < 2 )
-            		{
-            		iOwner->PtiEngine()->CancelTimerActivity(); 
-            		}
-                }
-            }
-            break;
-            
-        case EStdKeyNull:
-            // Take no action if simulated key ends up here
-            break;
-            
-        case EStdKeySpace: //fall through
-            {
-        	_LIT(KSpace," "); 
-        	if( fepMan->FnKeyState() == CAknFepFnKeyManager::EFnKeyNone)               
-        		{
-				fepMan->StartInlineEditL();
-	            fepMan->UpdateInlineEditL(KSpace,0);
-	            fepMan->CommitInlineEditL();
-	        	return ETrue;        		
-        		}
-        	else
-	        	{
-	            // Most keys activate the entry state and are handled there
-	            fepMan->TryCloseUiL(); //expires the multitap timer
-	            iOwner->ChangeState(EEntry);
-	            fepMan->SendUIActivatedNotification();
-	            }
-        	break;	
-	        }
-        case EStdKeyEnter:
-        case EStdKeyTab:
-        case EStdKeyBackspace:
-        case EStdKeyLeftArrow:
-        case EStdKeyRightArrow:
-        case EStdKeyUpArrow:
-        case EStdKeyDownArrow:
-            {
-            // Navigation keys do not activate the entry state. Instead they are handled by the editor directly.
-            
-            // Asyncronous case update is needed after the editor has handled the key
-            fepMan->SimulateKeyEventL(EKeyF19); 
-            if (((aKey == EStdKeyBackspace) || (aKey == EKeyBackspace)) &&  (fepMan->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed)))
-                fepMan->ClearFlag(CAknFepManager::EFlagNoActionDuringChrKeyPress);
-            }
-            break;
-        default:        
-            {
-            // Most keys activate the entry state and are handled there
-            fepMan->TryCloseUiL(); //expires the multitap timer
-            iOwner->ChangeState(EEntry);
-            fepMan->SendUIActivatedNotification();
-            }
-        }
-    
-    if ( aKey == EStdKeyEnter)
-        {
-        iData = 0;
-        return 0;
-        }
-    if( !iOwner->PtiEngine()->IsValidKey((TPtiKey)aKey))
-    	{
-    	iData = 0;
-        fepMan->ClearFlag(CAknFepManager::EFlagInsideMultitapInlineEditingTransaction);        
-        fepMan->PtiEngine()->CancelTimerActivity();
-                
-        return retVal;
-    	}
-    
-    iData = aKey;
-    
-    return retVal;
-    }
-
-void TAknFepUiInputStateInitialHalfQwertyWesternPredictive::KeyTimerExpired()
-    {
-    if (iData)
-        {
-        MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-        CAknFepCaseManager* caseMan = iOwner->CaseMan();
-        
-        TAknFepInputStateInitialMultitapBase::KeyTimerExpired();
-        
-        caseMan->UpdateCase(ENullNaviEvent); 
-        fepMan->ClearFlag( CAknFepManager::EFlagInsideMultitapInlineEditingTransaction );
-        
-        iData = 0;
-        
-        // if the current fn key state is FnNext, then clear it.
-        if( !fepMan->IsFlagSet( CAknFepManager::EFlagLongShiftKeyPress ) )
-            {
-            if( CAknFepFnKeyManager::EFnKeyNext == fepMan->FnKeyState())
-                {
-                // This cannot be done in fn manager. It should happen only
-                // on timer expiry -> for shift key multitapping in fn mode 
-                // when prediction is ON.
-                fepMan->SetFnKeyState( CAknFepFnKeyManager::EFnKeyNone );
-                }
-            }
-        }
-    }
-void TAknFepUiInputStateInitialHalfQwertyWesternPredictive::HandleShiftState( TInt aKey )
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    CAknFepCaseManager* caseMan = iOwner->CaseMan();
-    CAknFepFnKeyManager::TFnKeyState fnKeyState  = fepMan->FnKeyState();
-    TPtiTextCase shiftedCase;
-    if(fnKeyState  != CAknFepFnKeyManager::EFnKeyNone)
-        {
-        shiftedCase = EPtiCaseFnLower;
-        }
-    else
-        {
-        shiftedCase= EPtiCaseLower; 
-        }
-    
-    // Find out if the key is alphabetic
-    TBuf<KKeyMappingsLength> keyMappings; 
-    ptiengine->MappingDataForKey( (TPtiKey)aKey, keyMappings, EPtiCaseUpper );   
-    TBool isAlpha = ( keyMappings.Length() && TChar(keyMappings[0]).IsAlpha() );
-    
-    if (isAlpha && (fnKeyState  == CAknFepFnKeyManager::EFnKeyNone))
-        {
-        switch ( caseMan->CurrentCase() )
-            {
-            case EAknEditorTextCase:
-                {
-                // Alphabetic characters are always capitalized in "Abc" mode 
-                // unless the shift is pressed
-                if ( !fepMan->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode) )
-                    {
-                    shiftedCase = EPtiCaseUpper;
-                    }          
-                }
-            break;
-            
-            case EAknEditorLowerCase:
-                {
-                // Pressing shift enters uppercae letters in the "abc" mode
-                if ( fepMan->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode) )
-                    {
-                    shiftedCase = EPtiCaseUpper;
-                    }                
-                }
-            break;
-            
-            case EAknEditorUpperCase:
-                {
-                // In the "ABC" mode (capslock mode) the letters are uppercased
-                // unless the shift is pressed
-                if ( !fepMan->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode) )
-                    {
-                    shiftedCase = EPtiCaseUpper;
-                    }                
-                }
-            break;
-                
-            default:
-            break;
-            }
-
-        
-        }
-    else
-        {
-        // non-alphabetic keys are shifted if and only if shift is pressed, no matter what is the input state
-        if ( fepMan->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode) && (fnKeyState  == CAknFepFnKeyManager::EFnKeyNone))
-            {
-            shiftedCase = EPtiCaseUpper;
-            }
-        else if ( fepMan->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode) && (fnKeyState  != CAknFepFnKeyManager::EFnKeyNone))
-            {
-            shiftedCase = EPtiCaseFnUpper;
-            }    
-        }
-
-    
-    // Handle the Chr key state
-    if ( fepMan->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed) )
-        {
-        // Chr key is pressed down. Chr mode is used.
-        if (shiftedCase == EPtiCaseLower)
-            {
-            shiftedCase = EPtiCaseChrLower;
-            }
-        else if (shiftedCase == EPtiCaseUpper)
-            {
-            shiftedCase = EPtiCaseChrUpper;
-            }
-        }
-    
-    ptiengine->SetCase(shiftedCase);
-    
-    fepMan->ClearFlag(CAknFepManager::EFlagNoActionDuringShiftKeyPress);
-    }// End of file
--- a/fep/aknfep/src/AknFepUiInputStateInitialHiragana.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:            Provides the TAknFepUiInputStateInitialHiragana methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include "AknFepUiInputStateInitialHiragana.h"
-#include "AknFepUIManagerStateInterface.h"   // MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"        // MAknFepManagerUIInterface
-
-#include <PtiDefs.h>                // keys
-#include <PtiEngine.h>
-
-// CONSTANTS
-
-/**
- *  TAknFepUiInputStateInitialHiragana class.
- * 
- */
-//============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateInitialHiragana::TAknFepUiInputStateInitialHiragana
-// C++ default Constructor
-// ---------------------------------------------------------------------------
-//
-TAknFepUiInputStateInitialHiragana::TAknFepUiInputStateInitialHiragana(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerJapanese* aUIContainer)
-    :TAknFepUiInputStateInitialJapaneseBase(aOwner, aUIContainer)
-    {
-    
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateInitialHiragana::InitializeStateL
-// Initialize State
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStateInitialHiragana::InitializeStateL()
-    {
-    TAknFepUiInputStateInitialJapaneseBase::InitializeStateL();
-
-    // Setup PtiEngine
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    ptiEngine->ClearCurrentWord();
-    ptiEngine->SetInputMode( (iOwner->IsQwerty())? 
-                            EPtiEngineHiraganaQwerty
-                            : EPtiEngineHiragana);
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateInitialHiragana::HandleNumericShortKeyL
-// Handling short keypress events of the numeric and the star.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateInitialHiragana::HandleNumericShortKeyL(TInt aKey)
-    {
-    TBool ret = EFalse;
-    if (aKey == EPtiKeyStar)
-        {
-        ret = ETrue;
-        }
-    else
-        {
-        iOwner->FepMan()->StartInlineEditL();
-        iOwner->ChangeState(EEntry);
-        }
-    return ret;
-    }
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateInitialHiraganaKanji.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,133 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:            Provides the TAknFepUiInputStateInitialHiraganaKanji methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include "AknFepUiInputStateInitialHiraganaKanji.h"
-#include "AknFepUIManagerStateInterface.h"  // MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"       // MAknFepManagerUIInterface
-#include "AknFepGlobalEnums.h"
-
-#include <PtiDefs.h>                // keys
-#include <PtiEngine.h>
-
-// CONSTANTS
-
-/**
- *  TAknFepUiInputStateInitialHiraganaKanji class.
- * 
- */
-//============================ MEMBER FUNCTIONS ==============================
-
-// -----------------------------------------------------------------------------
-// TAknFepUiInputStateInitialHiraganaKanji::TAknFepUiInputStateInitialHiraganaKanji
-// C++ default Constructor
-// -----------------------------------------------------------------------------
-//
-TAknFepUiInputStateInitialHiraganaKanji::TAknFepUiInputStateInitialHiraganaKanji(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerJapanese* aUIContainer)
-    :TAknFepUiInputStateInitialJapaneseBase(aOwner, aUIContainer)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateInitialHiraganaKanji::InitializeStateL
-// Initialize State
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStateInitialHiraganaKanji::InitializeStateL()
-    {
-    TAknFepUiInputStateInitialJapaneseBase::InitializeStateL();
-
-    // Setup of PtiEngine
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    TPtiEngineInputMode inputmode;
-    if(iOwner->IsPredictive())
-        {
-        inputmode = (iOwner->IsQwerty())? 
-                        EPtiEngineHiraganaKanjiPredictiveQwerty
-                        : EPtiEngineHiraganaKanjiPredictive;
-        }
-    else
-        {
-        inputmode = (iOwner->IsQwerty())? 
-                        EPtiEngineHiraganaKanjiQwerty
-                        : EPtiEngineHiraganaKanji;
-        }
-    ptiEngine->SetInputMode(inputmode);
-    ptiEngine->ClearCurrentWord();
-    }
-
-// -----------------------------------------------------------------------------
-// TAknFepUiInputStateInitialHiraganaKanji::HandleNumericShortKeyL
-// Handling numeric short keypress event
-// -----------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateInitialHiraganaKanji::
-    HandleNumericShortKeyL(TInt aKey)
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    TBool ret = EFalse;
-    if (aKey == EPtiKeyStar)
-        { // Handling of launch special character table
-        if (!fepMan->HashKeySelectionInUse())
-            {
-            if (fepMan->EditSubmenuInUse())
-                {
-                fepMan->LaunchSelectModeMenuL();
-                }
-            else if (fepMan->IsAbleToLaunchSCT())
-                {
-                fepMan->LaunchSpecialCharacterTableL();
-                }
-            }
-        ret = ETrue;
-        }
-    else
-        {
-        iOwner->FepMan()->StartInlineEditL();
-
-        // Clear RetroActive buffer on PtiEngine
-        CPtiEngine* ptiEngine = iOwner->PtiEngine();
-        ptiEngine->HandleCommandL(EPtiCommandUserActionRetroActiveClear);
-
-        // The numeric key will be handled by HandleNumericKeyL of
-        // EntryState or PredictiveInputState
-        if(iOwner->IsPredictive())
-            {
-            iOwner->ChangeState(EPredictiveInput);
-            }
-        else
-            {
-            iOwner->ChangeState(EEntry);
-            }
-        }
-
-    return ret;
-    }
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateInitialIndicMultitap.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,712 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:            Provides the TAknFepInputStateInitialIndicMultitap methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUIInputStateInitialIndicMultitap.h"
-#include "AknFepUIManagerStateInterface.h"      //MAknFepUIManagerStateInterface
-#include "AknFepUiManagerWestern.h"
-#include "AknFepUiIndicEnums.h"
-#include "AknFepCaseManager.h"
-#include "AknFepUiIndicInputManager.h"
-
-#include <uikon.hrh>
-#include <PtiEngine.h>
-#include <PtiDefs.h>
-#include <aknSctDialog.h>
-#include <avkon.rsg>
-#include <aknfep.rsg>
-#include <eikenv.h>
-
-#define PTI_CLEAR_CURRENTWORD( A, B ) \
-		( A )->ClearCurrentWord(); \
-		( B ) = ETrue; \
-
-	
-// -----------------------------------------------------------------------------
-// TAknFepInputStateInitialIndicMultitap::TAknFepInputStateInitialIndicMultitap
-
-// C++ default constructor can NOT contain any code, that
-// might leave or if it is absolutely necessary then MUST be trapped.
-// -----------------------------------------------------------------------------
-
-TAknFepInputStateInitialIndicMultitap::
-TAknFepInputStateInitialIndicMultitap( MAknFepUIManagerStateInterface* aOwner,
-																			TLanguage aLanguage )
-																			:TAknFepInputStateInitialMultitapBase( aOwner )
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    iIsStarKeyPressed = EFalse;
-    iIsKeyTimerExpired = ETrue;
-    iIndicLanguage = aLanguage;
-    iIsHalantAllowed = EFalse;
-    iZWSPresent = EFalse;
-    iRephaPresent = EFalse;
-    iRakarPresent = EFalse;
-    iResponseInsertZWS = EFalse;
-    iLigaturePresent = EFalse;
-#ifdef RD_MARATHI
-	iPreviousCommittedChar 		= 0;
-	iEyeLashRaPresent 	        = EFalse;
-	iChandraAPresent 	        = EFalse;
-#endif // RD_MARATHI
-    TRAP_IGNORE( ptiengine->ActivateLanguageL( aLanguage ) )
-    ptiengine->SetCase( EPtiCaseLower );
-    }
-
-// -----------------------------------------------------------------------------
-// TAknFepInputStateInitialIndicMultitap::HandleKeyL
-
-// Handles the logic of Indic multitap input. This function first checks the validity
-// of the inputed text and then enters it.
-// -----------------------------------------------------------------------------
-
-TBool TAknFepInputStateInitialIndicMultitap::HandleKeyL( TInt aKey, TKeyPressLength aLength )
-	{
-	TBool                      result       	= ETrue;
-	MAknFepManagerUIInterface* fepMan       	= iOwner->FepMan();
-	CPtiEngine* 			   ptiengine 		= iOwner->PtiEngine();
-
-#ifdef RD_MARATHI
-	if( iIsKeyTimerExpired )
-		{
-		iPreviousCommittedChar = fepMan->PreviousChar( ETrue );
-		
-		if( iIndicLanguage == ELangMarathi )
-			{
-			HandleKeyMarathiL();
-			}
-		}
-#endif // RD_MARATHI
-
-	if(aKey == EPtiKey1)
-		{
-		iKey1Pressed = ETrue;	
-		}
-	else 
-		{
-		iKey1Pressed = EFalse;	
-		}	
-	if ( iData && ( iData != aKey ) )
-    	{
-#ifdef RD_MARATHI
-        iPreviousCommittedChar = fepMan->PreviousChar( ETrue );
-
-        if( iPreviousCommittedChar == ZERO_WIDTH_SPACE &&
-            aKey == EPtiKey2 )
-            {
-            // This is a scenario where the timer is forcefully
-            // expired by quickly pressing a different key.
-            // Should remove the ZWS from the editor.
-            fepMan->RemovePreviousCharacterL();
-            iZWSPresent = EFalse;
-            
-            // Reset the previous committed character.
-            iPreviousCommittedChar = fepMan->PreviousChar( ETrue );
-            }
-
-		if( iIndicLanguage == ELangMarathi )
-		    {
-		    HandleKeyMarathiL();
-		    }
-#endif // RD_MARATHI
-
-	    fepMan->CommitInlineEditL();
-	    PTI_CLEAR_CURRENTWORD( ptiengine, iIsKeyTimerExpired )
-
-	    if( iRephaPresent )
-	    	{
-	    	fepMan->AlignLogicalAndVisualCursorL( TTmDocPosSpec::ELeading, EFalse );
-	    	iRephaPresent = EFalse;
-	    	}
-	    if( iRakarPresent )
-	    	{
-	    	iRakarPresent = EFalse;
-	    	}
-
-#ifdef RD_MARATHI
-        // This check should be done only after the text is committed.
-	    if( iEyeLashRaPresent )
-            {
-            // Calls the overloaded method which used find doc pos.
-            // Reason: Unlike Repha, EyeLash Ra can be inserted in
-            // an empty editor. GetNextVisualCursorPosition would
-            // result in incorrect cursor alignment in this case.
-            fepMan->AlignLogicalAndVisualCursorL();
-            iEyeLashRaPresent = EFalse;
-            }
-#endif
-
-   		}
-
-	if ( aLength == EShortKeyPress )
-		{
-	    if ( aKey == EPtiKeyStar ) // Overriding Key
-            {
-            iIsStarKeyPressed = ETrue;
-            fepMan->RemoveZWSCharacterL( iKey1Pressed, EFalse, EFalse, iLigaturePresent );	
-    		}
-		else
-			{
-			TPtiTextCase newCase = ptiengine->Case();
-			
-			TIndicInputResponse keyResponse = 
-				TAknFepUiIndicInputManager::ValidateInput( aKey,
-														fepMan->PreviousChar( ETrue ),
-														NULL,NULL,
-														iIsHalantAllowed,
-														iIsStarKeyPressed,
-														iIsKeyTimerExpired,
-														newCase,
-														aLength,
-														iIndicLanguage
-#ifdef RD_MARATHI
-														, EFalse, EFalse, iChandraAPresent
-
-#endif // RD_MARATHI
-														 );
-				
-			ptiengine->SetCase( newCase );
-			TPtrC ptiText = ptiengine->AppendKeyPress( ( TPtiKey )aKey );
-			
-			if ( ptiText.Length() )
-				{
-				do
-					{
-					TText prChar;
-					// For Repha, use the Previous to Previous character
-					// only if multitap timer hasn't expired. This will
-					// handle cases like Matra attached to the consonant.
-					// Here, repha is not allowed and the character to 
-					// to checked is Matra. In cases like a consonant with
-					// Virama, all the characters should be skipped including
-					// repha. In this this case the timer is set to expired.
-					// So the previous character is Virama. And as per the 
-					// language rules, repha is not allowed after Virama.
-					if( TAknFepUiIndicInputManager::IsCharRepha( 
-						ptiText[0], iIndicLanguage ) && !iIsKeyTimerExpired )
-						{
-						prChar = fepMan->PreviousToPreviousChar( ETrue );
-#ifdef RD_MARATHI
-                        prChar = iPreviousCommittedChar;
-#endif // RD_MARATHI
-						}
-					else
-						{
-						prChar = fepMan->PreviousChar( ETrue );
-						}
-
-					// When a base consonant is already entered and the
-					// user starts multitapping, the second modifier in the
-					// key map will not be allowed if the previous character 
-					// is considered. The base consonant has to be used
-					// instead. This change had to be added after the new
-					// function, IsModifierAllowed was added.
-					if( TAknFepUiIndicInputManager::IsCharModifier(
-						ptiText[0], iIndicLanguage ) && !iIsKeyTimerExpired )
-						{
-						prChar = fepMan->PreviousToPreviousChar( ETrue );
-						}
-
-					if( TAknFepUiIndicInputManager::IsCharLigature( 
-						ptiText[0], iIndicLanguage ) && !iIsKeyTimerExpired )
-						{
-						if( fepMan->IsZWSCharacterPresent( ETrue ) )
-							{
-							iZWSPresent = ETrue;
-							}
-						iLigaturePresent = ETrue;
-						prChar = fepMan->PreviousToPreviousChar( ETrue );
-						}
-					else
-						{
-						iLigaturePresent = EFalse;
-						}
-
-#ifdef RD_MARATHI
-
-					// While multitapping after inserting a base consonant,
-					// modifiers will get inserted first, followed by the
-					// Nukta character. Hence, use Prev to prev char which 
-					// will be a base consonant.
-					if( TAknFepUiIndicInputManager::IsCharNukta(
-						ptiText[0], iIndicLanguage ) && !iIsKeyTimerExpired )
-						{
-						prChar = fepMan->PreviousToPreviousChar( ETrue );
-						}
-#endif // RD_MARATHI
-
-					keyResponse = 
-						TAknFepUiIndicInputManager::ValidateInput( aKey,
-        														prChar,
-																ptiText[0],
-        														NULL,
-        														iIsHalantAllowed,
-        														iIsStarKeyPressed,
-																iIsKeyTimerExpired,
-																newCase,
-																aLength,
-        														iIndicLanguage,
-        														iRakarPresent,
-        														iZWSPresent
-#ifdef RD_MARATHI
-										  						, iChandraAPresent 
-#endif // RD_MARATHI
-        														 );	
-
-					if( !IsFreeSpaceAvailable( keyResponse ) )
-						{
-						keyResponse = EIndicInputResponseInvalid;
-						}
-
-					if( keyResponse == EIndicInputResponseInvalid )
-						{
-						ptiText.Set( ptiengine->AppendKeyPress( ( TPtiKey )aKey ) );
-						}
-						
-					if( !ptiText.Length() )
-						{
-						break;
-						}
-						
-					}while( keyResponse == EIndicInputResponseInvalid );
-
-				if( iIsStarKeyPressed && 
-					aKey == EPtiKey0 && 
-					TAknFepUiIndicInputManager::IsCharOther( 
-						ptiText[0], iIndicLanguage ) )
-					{
-					// Forcefully keep the star key flag to true. Else when
-					// the ligatures are entered, this flag will be false 
-					// thus preventing the ligature formation.
-					iIsStarKeyPressed = ETrue;
-					}
-				else
-					{
-					iIsStarKeyPressed = EFalse;
-					}
-
-				result = HandleIndicKeyResponseL( aKey, keyResponse, ptiText );
-				}
-			}
-		}
-   	else
-    	{
-        /* Long press of a Key */
-        if ( aKey == EPtiKeyStar )
-	        {
-            /* Launch the SCT For Indic */
-   			if( fepMan->EditorHasFreeSpace() )
-				{
-				if (fepMan->IsAbleToLaunchSCT() && !fepMan->EditSubmenuInUse())
-        			{
-	            	fepMan->LaunchSpecialCharacterTableL();	
-	            	}
-				}
-		    }
-        else
-	        {
-	        TUint prevchar = fepMan->PreviousChar(ETrue);
-            if(!((aKey == EPtiKey1) && ((0x0031 == prevchar) || (0x0967 == prevchar)) ))
-		        {
-		        TChar ch( aKey );
-		        TBuf<1> buf;
-		        buf.Append( ch );
-		        fepMan->NewCharacterSequenceL( buf, EIndicInputResponseNumber );
-		        fepMan->CommitInlineEditL();			
-		        PTI_CLEAR_CURRENTWORD( ptiengine, iIsKeyTimerExpired )				
-				}
-	        }
-    	}
-    iData = aKey;
-    return( result );
-	}
-
-// -----------------------------------------------------------------------------
-// TAknFepInputStateInitialIndicMultitap::KeyTimerExpired
-
-// Handles the logic of post keytimerexpired event. This function commits 
-// the inline editing text to the editor.
-// -----------------------------------------------------------------------------
-
-void TAknFepInputStateInitialIndicMultitap::KeyTimerExpired()
-	{
-	iIsKeyTimerExpired = ETrue;
-	
-	if( iRakarPresent )
-		{
-		iRakarPresent = EFalse;
-		}
-		
-	if( iRephaPresent 
-#ifdef RD_MARATHI
-	|| ( iEyeLashRaPresent && 
-			TAknFepUiIndicInputManager::
-				IsCharBaseConsonant( iOwner->FepMan()->NextChar(), 
-									iIndicLanguage ) )
-#endif // RD_MARATHI
-	    )
-		{
-		TRAP_IGNORE( iOwner->FepMan()->AlignLogicalAndVisualCursorL( TTmDocPosSpec::ELeading, EFalse ) )
-		iRephaPresent = EFalse;
-		}
-
-#ifdef RD_MARATHI
-		iEyeLashRaPresent = EFalse;
-#endif // RD_MARATHI
-
-	if( iResponseInsertZWS || iZWSPresent )
-		{
-		iZWSPresent = EFalse;
-		iResponseInsertZWS = EFalse;
-		TRAP_IGNORE( iOwner->FepMan()->RemoveZWSCharacterL( iKey1Pressed, EFalse, 
-                                                        EFalse, iLigaturePresent ) )
-		}
-	iLigaturePresent = EFalse;
-
-#ifdef RD_MARATHI
-	iChandraAPresent = EFalse;
-#endif // RD_MARATHI
-
-	TAknFepInputStateInitialMultitapBase::KeyTimerExpired();
-	}
-
-TBool TAknFepInputStateInitialIndicMultitap::
-    HandleIndicKeyResponseL( TInt aKey, TIndicInputResponse aKeyResponse, TPtrC aPtiText )
-    {
-    TBool result = ETrue;
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-
-    switch( aKeyResponse )
-        {
-        case EIndicInputResponseNone:
-        	{
-        	if ( aPtiText.Length() && ( !iIsKeyTimerExpired || fepMan->EditorHasFreeSpace() ) )
-        		{
-            	if ( iIsKeyTimerExpired )
-            		{
-            		if ( iZWSPresent )
-            			{
-            			fepMan->RemoveZWSCharacterL( iKey1Pressed,EFalse, 
-                        TAknFepUiIndicInputManager::IsCharModifier(aPtiText[0], iIndicLanguage));
-            			iZWSPresent = EFalse;
-            			}
-            		
-            		fepMan->NewCharacterSequenceL( aPtiText, EIndicInputResponseNone );
-            		
-            		if ( fepMan->IsZWSCharacterPresent() )
-            			{
-            			iZWSPresent = ETrue;
-            			}
-            		}
-            	else
-            		{
-            		if ( aKey == EPtiKey1 )
-            			{
-            			if( iRephaPresent )
-            				{
-            				fepMan->RemoveRephaCharacterL();
-            				iRephaPresent = EFalse;
-            				}
-            			if( iZWSPresent )
-            				{						    				
-            				fepMan->RemoveZWSCharacterL( iKey1Pressed, ETrue );
-            				iZWSPresent = EFalse;
-            				}
-        				if( iRakarPresent )
-            				{
-            				// This is to handle the case when only
-            				// two spaces are left in the editor.
-            				fepMan->RemoveRakarCharacterL();
-            				iRakarPresent = EFalse;
-            				}
-#ifdef RD_MARATHI
-            			iEyeLashRaPresent = EFalse;
-#endif // RD_MARATHI
-            			}
-            		else if( aKey == EPtiKey2 )
-            			{
-#ifdef RD_MARATHI
-                        iChandraAPresent = EFalse;
-#endif // RD_MARATHI
-            			}
-            		fepMan->NewCharacterSequenceL( aPtiText, EIndicInputResponseNone );
-        			}
-        		}
-        	iIsKeyTimerExpired = EFalse;	
-        	}
-        	break;
-
-        case EIndicInputResponseZWSandCharacter:
-        	{
-        	if( fepMan->EditorHasFreeSpace( 2 ) )
-        		{
-        		fepMan->NewCharacterSequenceL( aPtiText, EIndicInputResponseZWSandCharacter );
-              	iZWSPresent = ETrue;
-              	iIsKeyTimerExpired = EFalse;
-        		}
-        	}
-        	break;
-        case EIndicInputResponseInsertZWS: 
-        	{
-        	//Already in multitapping so we need to check wheather 
-        	//there is additional single space for ZWS
-        	if( !iIsKeyTimerExpired || fepMan->EditorHasFreeSpace( 1 ) ) 
-        		{
-                fepMan->NewCharacterSequenceL( aPtiText, EIndicInputResponseInsertZWS );
-        		
-        		// Using a seperate flag here. Cannot use the flag
-        		// iZWSPresent. Consider the scenario:- User enters 
-        		// a consonant, then multitaps key-1 to insert halant.
-        		// Now consider that we set the flag to ETrue.
-        		// But before the key timer expires, key-5 is 
-        		// multitapped to insert another consonant.
-        		// In this case the code flow will go to the case
-        		// EIndicInputResponseNone. Here the condition, 
-        		// if ( iZWSPresent ) succeeds and ZWS is removed.
-        		// This causes direct ligature formation. It should
-        		// actually show the ligature formation after the timeout.
-        		iResponseInsertZWS = ETrue;
-        		}
-        	else // Remove already entered Modifier "Visarga" if there is no space
-        		{
-        		fepMan->RemovePreviousCharacterL();	
-        		}
-        	iIsKeyTimerExpired = EFalse;		
-        	}
-        	break;
-        case EIndicInputResponseInsertZWSandLigature:
-        	{
-        	if( fepMan->EditorHasFreeSpace( 3 )  )
-        		{
-        		if ( iIsKeyTimerExpired )
-            		{
-        			fepMan->RemoveZWSCharacterL( iKey1Pressed );
-        			}
-        		fepMan->NewCharacterSequenceL( aPtiText, EIndicInputResponseInsertZWSandLigature );
-               	}
-        	iIsKeyTimerExpired = EFalse;
-        	iZWSPresent = ETrue;	
-        	}
-        	break;
-        case EIndicInputResponseIgnore:	
-        	break;
-
-        case EIndicInputResponseInsertRepha:
-        	{
-        	if( !iIsKeyTimerExpired )
-        		{
-        		if( iRakarPresent )
-        			{
-        			fepMan->RemoveRakarCharacterL();
-        			iRakarPresent = EFalse;
-        			}
-#ifdef RD_MARATHI
-        		else if( iEyeLashRaPresent )
-        			{
-        			// Remove eye lash ra
-        			TBuf<3>buf;
-
-        			// Get the EyeLashRa string.
-        			TAknFepUiIndicInputManager::
-        					GetEyeLashRa( buf, iIndicLanguage );
-        									
-        			fepMan->RemoveTextFromEditorL( buf.Length(), 0, ETrue );
-        			iEyeLashRaPresent = EFalse;
-        			}
-#endif // RD_MARATHI
-        		else if( TAknFepUiIndicInputManager::IsCharMatra( 
-                             fepMan->PreviousToPreviousChar( ETrue ), iIndicLanguage ) )
-        			{
-        			// Consider that a matra is applied to any base 
-        			// consonant and two nore spaces are left in the editor.
-        			// On multitapping, user will get the first four modifiers.
-        			// After that, rakar should be inserted which requires two
-        			// spaces. But since the modifier is present, only one
-        			// space is available. Here we need to free up the space 
-        			// by removing the previous character which is a modifier.
-        			// For inserting repha, the existing inline text needs to
-        			// be first committed and then removed.
-
-        			fepMan->RemovePreviousCharacterL();
-        			}
-
-        		fepMan->NewCharacterSequenceL( aPtiText, EIndicInputResponseInsertRepha );
-        		iRephaPresent = ETrue;
-        		}
-        	}
-        	break;
-
-        case EIndicInputResponseInsertRakar:
-        	{
-        	if( !iIsKeyTimerExpired )
-        		{
-        		// RemoveZWS is not invoked here as we are in inline 
-        		// editing state and we can as well overwrite the previous
-        		// characters. Hence directly invoke NewCharacterSequenceL.
-        		// Secondly, the flag iZWSPresent is not reset here since
-        		// it will happen anyways after timeout.
-        		
-        		fepMan->NewCharacterSequenceL( aPtiText, EIndicInputResponseInsertRakar );
-        		iRakarPresent = ETrue;
-        		
-#ifdef RD_MARATHI
-        		// This check assumes that Rakar comes after EyelashRa in 
-        		// Key map order.
-        		iEyeLashRaPresent = EFalse;
-#endif
-        		}
-        	}
-        	break;
-        	
-        case EIndicInputResponseInsertDirectLigature:
-        	{
-        	if( !iIsKeyTimerExpired )
-        		{
-        		TBuf<3> ligature;
-        		ligature.Zero();
-        		TAknFepUiIndicInputManager::
-        			GetLigature( ligature, aPtiText[0], 
-        						iIndicLanguage );
-
-        		fepMan->NewCharacterSequenceL( ligature, 
-        			EIndicInputResponseInsertDirectLigature );
-        		}
-        	}
-        	break;
-
-        case EIndicInputResponseInsertViramaZWSandDirectLigature:
-        	{
-        	if( fepMan->EditorHasFreeSpace( 5 )  )
-        		{
-        		if ( iIsKeyTimerExpired )
-            		{
-        			fepMan->RemoveZWSCharacterL( iKey1Pressed );
-        			}
-
-        		TBuf<3> ligature;
-        		ligature.Zero();
-        		TAknFepUiIndicInputManager::
-        			GetLigature( ligature, aPtiText[0], 
-        						iIndicLanguage );
-        		fepMan->NewCharacterSequenceL( ligature, 
-        			EIndicInputResponseInsertViramaZWSandDirectLigature );
-               	}
-        	iIsKeyTimerExpired = EFalse;
-        	iZWSPresent = ETrue;	
-        	}
-        	break;
-
-        case EIndicInputResponseZWSandDirectLigature:
-        	{
-        	if( fepMan->EditorHasFreeSpace( 4 ) )
-        		{
-        		TBuf<3> ligature;
-        		ligature.Zero();
-        		TAknFepUiIndicInputManager::
-        			GetLigature( ligature, aPtiText[0], 
-        						iIndicLanguage );
-
-        		fepMan->NewCharacterSequenceL( ligature, 
-        			EIndicInputResponseZWSandDirectLigature );
-              	iZWSPresent = ETrue;
-              	iIsKeyTimerExpired = EFalse;
-        		}
-        	}
-        	break;
-
-#ifdef RD_MARATHI
-        case EIndicInputResponseInsertEyeLashRa:
-        	{
-        	fepMan->NewCharacterSequenceL( aPtiText, EIndicInputResponseInsertEyeLashRa );
-        	iIsKeyTimerExpired = EFalse;
-        	iEyeLashRaPresent = ETrue;
-        	}
-        	break;
-
-        case EIndicInputResponseInsertChandraA:
-        	{
-        	fepMan->NewCharacterSequenceL( aPtiText, EIndicInputResponseInsertChandraA );
-        	iChandraAPresent = ETrue;
-        	}
-        	break;
-#endif // RD_MARATHI
-
-        case EindicInputResponseLast:
-        	break;
-        default: 
-            {
-            }
-        	break;
-        }
-    return result;
-    }
-
-TBool TAknFepInputStateInitialIndicMultitap::IsFreeSpaceAvailable( 
-                                TIndicInputResponse aKeyResponse )
-    {
-    TBool result = ETrue;
-
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-
-    TBool isUnlimitedSpaceEditor;
-
-	TInt freeSpaceLeft = 
-        fepMan->EditorFreeSpace( isUnlimitedSpaceEditor, ETrue );
-
-	// Check if space is available.
-	if( ( !isUnlimitedSpaceEditor ) && 
-		( ( ( aKeyResponse == EIndicInputResponseInsertRepha ||
-			aKeyResponse == EIndicInputResponseInsertRakar ) && ( freeSpaceLeft < 2 ) ) ||
-		( ( aKeyResponse == EIndicInputResponseInsertDirectLigature ) && ( freeSpaceLeft < 3 ) ) 
-#ifdef RD_MARATHI
-		|| ( ( aKeyResponse == EIndicInputResponseInsertEyeLashRa ) && ( freeSpaceLeft < 3 ) ) 
-		|| ( ( aKeyResponse == EIndicInputResponseInsertChandraA ) && ( freeSpaceLeft < 2 ) ) 
-#endif // RD_MARATHI
-		) )
-	    {
-        result = EFalse;
-	    }
-	    return result;
-    }
-
-#ifdef RD_MARATHI
-
-void TAknFepInputStateInitialIndicMultitap::HandleKeyMarathiL()
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-
-    if( fepMan )
-        {
-        if( fepMan->IsChandraAPresentL() )
-            {
-            TBuf<1> buf;
-            TAknFepUiIndicInputManager::GetChandraA( buf, ETrue );
-        	iPreviousCommittedChar = buf[0];
-            }
-        }
-    }
-#endif // RD_MARATHI
-//End of File
--- a/fep/aknfep/src/AknFepUiInputStateInitialIndicPredictive.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,123 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:            Provides the TAknFepInputStateInitialIndicPredictive Method.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateInitialIndicPredictive.h"
-#include "AknFepUIManagerStateInterface.h"      //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"           //MAknFepManagerUIInterface
-#include "AknFepManager.h"
-#include "AknFepCaseManager.h"                  //CAknFepCaseManager
-
-#include <PtiEngine.h>
-#include <PtiDefs.h>
-
-// -----------------------------------------------------------------------------
-// TAknFepInputStateInitialIndicPredictive::TAknFepInputStateInitialIndicPredictive
-
-// C++ default constructor can NOT contain any code, that
-// might leave or if it is absolutely necessary then MUST be trapped.
-// -----------------------------------------------------------------------------
-
-TAknFepInputStateInitialIndicPredictive::
-TAknFepInputStateInitialIndicPredictive( MAknFepUIManagerStateInterface* aOwner,
-                                         TLanguage aLanguage )
-    :TAknFepInputStateInitialMultitapBase( aOwner )
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    ptiengine->ClearCurrentWord();
-    TRAP_IGNORE( ptiengine->ActivateLanguageL( aLanguage ) )
-    }
-
-// -----------------------------------------------------------------------------
-// TAknFepInputStateInitialIndicPredictive::HandleKeyL
-
-// Handles the logic of Intial state Predictive Indic  input.
-// -----------------------------------------------------------------------------
-    
-TBool TAknFepInputStateInitialIndicPredictive::HandleKeyL( TInt aKey, TKeyPressLength aLength )
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    TBool ret = ETrue;
-	
-	if ( aKey == EPtiKey0 )
-        {
-        TAknFepInputStateInitialMultitapBase::HandleKeyL( aKey, aLength );
-        }
-    else if ( aKey == EPtiKeyStar  )
-        {
-		if (aLength == EShortKeyPress)
-			{   
-            if (fepMan->IsFlagSet(CAknFepManager::EFlagLineFeedCharacter) && 
-			    fepMan->IsFlagSet(CAknFepManager::EFlagInsideMultitapInlineEditingTransaction))
-			    {
-			    // User is interrupting multitap timer with star key, but there
-			    // is line feed event waiting. Make sure that it is handled first.
-			    fepMan->CommitInlineEditL();
-			    }				
-			     
-       		if (!fepMan->EditSubmenuInUse())
-        		{        		        	
-        		if (fepMan->IsAbleToLaunchSCT())
-        			{
-        			fepMan->LaunchSpecialCharacterTableL();
- 					return ( ETrue );        			
-        			}               	        		        		
-        		}     
-			else
-				{
-				fepMan->ClearCcpuFlag(CAknFepManager::ECcpuStateIgnoreStarUp);
-				}            		   						
-			}
-		else
-			{
-			if (fepMan->EditSubmenuInUse() && fepMan->IsAbleToLaunchSCT())
-				{										
-				fepMan->LaunchSpecialCharacterTableL();           			
-				}			
-			}			        
-        }
-    else 
-        {
-        if ( fepMan->IsFlagSet( CAknFepManager::EFlagSuppressInputStateChange ) )
-            {
-            // Long keypress of numeric keypress, we want to simply return EFalse
-            // to enter a number into the editor, rather than move back to 
-            // entry state, so just clear the flag
-            fepMan->ClearFlag( CAknFepManager::EFlagSuppressInputStateChange );
-            }
-        else
-            {
-            fepMan->TryCloseUiL(); //expires the multitap timer
-            iOwner->ChangeState( EEntry );
-            fepMan->SendUIActivatedNotification();
-            }
-        ret = EFalse;
-        }
-    return ret;
-    }    
-
-// End of File
--- a/fep/aknfep/src/AknFepUiInputStateInitialJapaneseBase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:            Provides the TAknFepUiInputStateInitialJapaneseBase methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include "AknFepUiInputStateInitialJapaneseBase.h"
-#include "AknFepUIManagerStateInterface.h"  // MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"       // MAknFepManagerUIInterface
-#include "AknFepGlobalEnums.h"
-
-#include <PtiDefs.h>                // keys
-#include <PtiEngine.h>
-
-
-// CONSTANTS
-
-/**
- *  AknFepUIInputStateInitialJapanesBase class.
- * 
- */
-//============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateInitialJapaneseBase::
-//                                    TAknFepUiInputStateInitialJapaneseBase
-// C++ default Constructor
-// ---------------------------------------------------------------------------
-//
-TAknFepUiInputStateInitialJapaneseBase::TAknFepUiInputStateInitialJapaneseBase(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerJapanese* aUIContainer)
-    :TAknFepUiInputStateJapaneseBase(aOwner, aUIContainer)
-    {
-    iState = EInitial;
-
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateInitialJapaneseBase::InitializeStateL
-// Initialize State
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStateInitialJapaneseBase::InitializeStateL()
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    fepMan->SendUIDeActivatedNotification();
-    TRAP_IGNORE(fepMan->UpdateCbaL(NULL));
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateInitialJapaneseBase::HandleNumericShortKeyL
-// Handling numeric short keypress event
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateInitialJapaneseBase::
-    HandleNumericShortKeyL(TInt aKey)
-    {
-    TBool ret = EFalse;
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    if(aKey == EPtiKeyStar)
-        { // Handling of launch special character table
-        if (!fepMan->HashKeySelectionInUse())
-            {
-            if (fepMan->EditSubmenuInUse())
-                {
-                fepMan->LaunchSelectModeMenuL();
-                }
-            else if (fepMan->IsAbleToLaunchSCT())
-                {
-                fepMan->LaunchSpecialCharacterTableL();
-                }
-            }
-        ret = ETrue;
-        }
-    else
-        {
-        fepMan->StartInlineEditL();
-        iOwner->ChangeState(EEntry);
-        }
-    // All number keypress event must be handled by InputStateEntry.
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateInitialJapaneseBase::HandleAuxKeyL
-// Handling OK and Backspace keypress event
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateInitialJapaneseBase::
-    HandleAuxKeyL(TInt /*aKey*/,TKeyPressLength /*aLength*/)
-    {
-    TBool ret = EFalse;
-    return ret;
-    }
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateInitialKatakana.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:            Provides the TAknFepUiInputStateInitialKatakana methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include "AknFepUiInputStateInitialKatakana.h"
-#include "AknFepUIManagerStateInterface.h"   // MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"        // MAknFepManagerUIInterface
-#include "AknFepGlobalEnums.h"
-
-#include <PtiDefs.h>                // keys
-#include <PtiEngine.h>
-
-// CONSTANTS
-
-/**
- *  TAknFepUiInputStateInitialKatakana class.
- * 
- */
-//============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateInitialKatakana::TAknFepUiInputStateInitialKatakana
-// C++ default Constructor
-// ---------------------------------------------------------------------------
-//
-TAknFepUiInputStateInitialKatakana::TAknFepUiInputStateInitialKatakana(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerJapanese* aUIContainer)
-    :TAknFepUiInputStateInitialJapaneseBase(aOwner, aUIContainer)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateInitialKatakana::InitializeStateL
-// Initialize State
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStateInitialKatakana::InitializeStateL()
-    {
-    TAknFepUiInputStateInitialJapaneseBase::InitializeStateL();
-
-    // Setup PtiEngine
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    ptiEngine->ClearCurrentWord();
-    // Set Character Mode
-    SetInputMode(iOwner->FepMan()->CharacterWidth());
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateInitialKatakana::HandleCommandL
-// Handling command
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStateInitialKatakana::HandleCommandL(TInt aCommandId)
-    {
-    if (aCommandId == EJapanFepCmdModeFullWidth
-        || aCommandId == EJapanFepCmdModeHalfWidth)
-        {
-        // Set Character Mode
-        SetInputMode(iOwner->FepMan()->CharacterWidth());
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateInitialKatakana::SetInputMode
-// Setting input mode to PtiEngine
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStateInitialKatakana::SetInputMode(const TWidthChar aWidth)
-    {
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    TPtiEngineInputMode inputmode = EPtiEngineInputModeNone;
-    switch(aWidth)
-        {
-        case EHalfWidthChar:
-            inputmode = (iOwner->IsQwerty())? 
-                            EPtiEngineKatakanaQwerty
-                            : EPtiEngineKatakana;
-            break;
-        
-        case EFullWidthChar:
-            inputmode = (iOwner->IsQwerty())? 
-                            EPtiEngineFullWidthKatakanaQwerty
-                            : EPtiEngineFullWidthKatakana;
-            break;
-        
-        default: // no operation
-            break;
-        }
-    if (inputmode != EPtiEngineInputModeNone)
-        {
-        ptiEngine->SetInputMode(inputmode);
-        }
-    }
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateInitialKoreanMultitap.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,213 +0,0 @@
-/*
-* Copyright (c) 2004 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:           
-*       Provides the TAknFepInputStateInitialKoreanMultitap methods.
-*
-*/
-
-#include "AknFepUiInputStateInitialKoreanMultitap.h"
-#include "AknFepUIManagerStateInterface.h"      //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"           //MAknFepManagerUIInterface
-#include "AknFepCaseManager.h"
-#include "AknFepUiIndicInputManager.h"
-#include "AknFepManager.h"
-
-#include <PtiEngine.h>
-#include <PtiDefs.h>
-
-TAknFepInputStateInitialKoreanMultitap::TAknFepInputStateInitialKoreanMultitap(MAknFepUIManagerStateInterface* aOwner)
-    :TAknFepInputStateInitialMultitapBase(aOwner)
-    {
-    iState = EInitial; 
-    
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-
-    TPtiTextCase caseMode = ptiengine->Case();
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-     TRAP_IGNORE(ptiengine->ActivateLanguageL(ELangKorean, EPtiEngineMultitappingKorean))
-    ptiengine->SetInputMode(EPtiEngineMultitappingKorean);
-#else
-     TRAP_IGNORE(ptiengine->ActivateLanguageL(ELangKorean, EPtiEngineMultitapping))
-    ptiengine->SetInputMode(EPtiEngineMultitapping);
-#endif //RD_INTELLIGENT_TEXT_INPUT
-
-    ptiengine->SetCase(caseMode);
-    }
-
-TBool TAknFepInputStateInitialKoreanMultitap::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    TBool ret = ETrue;
-       
-    if(aLength == EShortKeyPress)
-        {
-                     
-       	if(aKey == EKeyBackspace)
-        	{
-        	// Narat Geul engine tries first to disassemble hangul to jamos. if disassembly is not possible,
-        	// then clear character. 
-        	if (fepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction))
-        		{
-        		TPtrC newText = ptiengine->DeleteKeyPress();
-       			fepMan->UpdateInlineEditL(newText, newText.Length());
-       			
-        		if (newText.Length() == 0)
-        			{
-	        		fepMan->CancelInlineEdit();
-   		     		ptiengine->ClearCurrentWord();
-        			}	      	
-        		}
-        	else
-        		{
-        		ret = EFalse;	
-        		}
-        	}
-        else
-            {
-	
-            if(aKey == EKeyLeftArrow ||
-            	aKey == EKeyRightArrow ||
-            	aKey == EKeyDownArrow ||
-            	aKey == EKeyUpArrow)
-            	{
-               	ret = EFalse;            
-            	}
-            else
-            	{
-            	if (!(fepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction)))
-                	{ // 'new' inline edit
-             	  	ptiengine->ClearCurrentWord();
-                	fepMan->StartInlineEditL();
-                	fepMan->SetInlineEditingCursorVisibilityL(ETrue);
-                	}
-                      	   	             
-            	TPtrC aText = ptiengine->AppendKeyPress((TPtiKey)aKey);
-            	fepMan->UpdateInlineEditL(aText, aText.Length());	
-   						
-            	// Force commit	when buffer length is 511. Needs to be commited in order to 
-            	// prevent ptiengines iTextBuffer overflow. Even though it is very unlikely
-            	// case
-            	if(aText.Length() >= 254)
-            		{
-            		if (CommitOrNot(aText.Right(CAknFepManager::ESingleCharacter), aKey))
-            			{
-            			TPtrC text = ptiengine->DeleteKeyPress();
-            			fepMan->UpdateInlineEditL(text, text.Length());
-            			fepMan->CommitInlineEditL();
-            			
-            			ptiengine->ClearCurrentWord();
-            			
-            			TPtrC newText = ptiengine->AppendKeyPress((TPtiKey)aKey);			
-            			fepMan->StartInlineEditL();
-            			fepMan->UpdateInlineEditL(newText, newText.Length());	
-            			}
-            		else if(aText.Length() >= 255)
-            			{// force commit 
-            			fepMan->CommitInlineEditL();	
-            			}
-            		}
-				else
-					{
-					fepMan->UpdateInlineEditL(aText, aText.Length());	
-					}           		
-            	}                                                              	  	                    				
-          	}    
-        }
-    else // long keypress
-        {  
-          
- 	    if (aKey == EPtiKeyStar)
-            {
-
-           	ptiengine->DeleteKeyPress();
-            TPtrC text = ptiengine->PreviousCandidate();
-            fepMan->UpdateInlineEditL(text, text.Length());
-            fepMan->CommitInlineEditL();
-            ptiengine->ClearCurrentWord();
-
-            fepMan->LaunchSelectModeMenuL();               
-            }
-		else
-			{
-			// Insert number through long key press.			                  
-        	if (aKey != EKeyBackspace)
-        		{
-        		if (!fepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction))
-        			{
-        			// No edit transaction going on, we have ended here because of long
-        			// key press created editor on UI or some other similar non-standard situation.
-        			// We can't handle key press, so just consume it.
-        			return ETrue; 			
-        			}
-				
-			 	TPtrC text = ptiengine->PreviousCandidate();
-           	 	fepMan->UpdateInlineEditL(text, text.Length());
-               	fepMan->CommitInlineEditL();
-               	ptiengine->ClearCurrentWord();
-       			ret = EFalse;
-        		}
-        	else if (aKey == EKeyBackspace)
-        		{
-        		if (fepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction))
-        			{
-					fepMan->CommitInlineEditL();
-					ptiengine->ClearCurrentWord();
-					fepMan->TryCloseUiL();
-        			}
-        		ret = EFalse;	
-        		}
-        	else
-        		{
-        		ret = EFalse;
-        		}       		
-			}
-		
-        } 
-    return ret;
-    } 
-     
-// Decides wheather text should be commited or not. Makes comparison between latest key input
-// and "seed" jamos. if latest input match with one of "seed" jamos and star or hash key cannot make
-// any changes to input, then commit.
-// NOTE; the "seed" jamos are characters that are printed on keymat. Narat geul engine compiles all
-// the hanguls from 12 jamos.  
-TBool TAknFepInputStateInitialKoreanMultitap::CommitOrNot(TPtrC aData, TInt aKey)
-	{
-	TBool commit = EFalse;
-	TBuf<CAknFepManager::EMaximumFepWordLength> mappings;
-	TInt len;
-	
-	CPtiEngine* ptiengine = iOwner->PtiEngine();	
-	MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-	
-	ptiengine->MappingDataForKey((TPtiKey)aKey, mappings, ptiengine->Case());
-	len = mappings.Length();
-	
-	for (TInt i = 0; i < len; i++ )
-		{
-		if(aData.Compare(mappings.Left(i + 1)) == 0)
-			{
-			commit = ETrue;
-			break;
-			}
-		}
-		
-	return commit;
-	}
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateInitialLatinJapanese.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,177 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:            Provides the TAknFepUiInputStateInitialLatinJapanese methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include "AknFepUiInputStateInitialLatinJapanese.h"
-#include "AknFepUIManagerStateInterface.h"   // MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"        // MAknFepManagerUIInterface
-#include "AknFepCaseManager.h"               // CAknFepCaseManager
-#include "AknFepManager.h"
-
-#include <PtiDefs.h>                //keys
-#include <PtiEngine.h>
-
-// CONSTANTS
-
-/**
- *  TAknFepUiInputStateInitialLatinJapanese class.
- * 
- */
-//============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateInitialLatinJapanese::TAknFepUiInputStateInitialLatinJapanese
-// Default constructor
-// ---------------------------------------------------------------------------
-//
-TAknFepUiInputStateInitialLatinJapanese::TAknFepUiInputStateInitialLatinJapanese(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerJapanese* aUIContainer)
-    :TAknFepUiInputStateInitialJapaneseBase(aOwner, aUIContainer)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateInitialLatinJapanese::InitializeStateL
-// Initialize State
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStateInitialLatinJapanese::InitializeStateL()
-    {
-    TAknFepUiInputStateInitialJapaneseBase::InitializeStateL();
-    
-    // Setup PtiEngine
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    TPtiEngineInputMode ptiInputMode = (iOwner->IsQwerty())? 
-                                        EPtiEngineQwerty
-                                        : EPtiEngineMultitapping;
-    if (iOwner->FepMan()->CharacterWidth() == EFullWidthChar)
-        {
-        ptiInputMode = (iOwner->IsQwerty())? 
-                            EPtiEngineFullWidthAlphabetQwerty
-                            : EPtiEngineFullWidthAlphabet;
-        }
-    ptiEngine->SetInputMode(ptiInputMode);
-    ptiEngine->ClearCurrentWord();
-
-    // Setup Case
-    CAknFepCaseManager* caseMan = iOwner->CaseMan();
-    TInt currentCase = caseMan->CurrentCase();
-    TPtiTextCase ptiCase = EPtiCaseUpper;
-    if (currentCase == EAknEditorLowerCase)
-        {
-        ptiCase = EPtiCaseLower;
-        }
-    ptiEngine->SetCase(ptiCase);
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateInitialLatinJapanese::HandleNumericShortKeyL
-// Handling numeric short keypress event
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateInitialLatinJapanese::
-HandleNumericShortKeyL(TInt aKey)
-    {
-    TBool ret = EFalse;
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    if(aKey == EPtiKeyStar)
-        { // Handling of launch special character table
-        if (!fepMan->HashKeySelectionInUse())
-            {
-            if (fepMan->EditSubmenuInUse())
-                {
-                fepMan->LaunchSelectModeMenuL();
-                }
-            else if (fepMan->IsAbleToLaunchSCT())
-                {
-                fepMan->LaunchSpecialCharacterTableL();
-                }
-            }
-        ret = ETrue;
-        }
-    else
-        {
-        fepMan->StartInlineEditL();
-        iOwner->ChangeState(EEntry);
-        }
-    // Setup Case without Qwerty
-	if (!iOwner->IsQwerty())
-		{
-	    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-	    CAknFepCaseManager* caseMan = iOwner->CaseMan();
-	    TInt currentCase = caseMan->CurrentCase();
-	    TPtiTextCase ptiCase = EPtiCaseUpper;
-	    if (currentCase == EAknEditorLowerCase)
-	        {
-	        ptiCase = EPtiCaseLower;
-	        }
-	    ptiEngine->SetCase(ptiCase);
-		}
-
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateInitialJapaneseBase::HandleAuxKeyL
-// Handling OK and Backspace keypress event
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateInitialLatinJapanese::
-    HandleAuxKeyL(TInt aKey,TKeyPressLength /*aLength*/)
-    {
-    TBool ret = EFalse;
-
-    if (iOwner->IsQwerty())
-        {
-        switch (aKey)
-            {
-            case EStdKeyEnter:          /* 0x03 */
-            case EStdKeyNkpEnter:       /* 0x88 */
-                {
-                // PtiEngine does not have mapping for the enter key.
-                MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-                const TText KAknFEPLineFeedSymbol = 0x21B2;
-                TBuf<1> lineFeed;
-                lineFeed.Zero();
-                lineFeed.Append(KAknFEPLineFeedSymbol);
-                fepMan->NewCharacterL(lineFeed);
-                // Commit the character if chr key is not pressed.
-                fepMan->CommitInlineEditL();
-
-                ret = ETrue;
-                }
-                break;
-            default:
-                break;
-            }
-        }
-    return ret;
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateInitialLatinMultitap.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2003 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:           
-*       Provides the TAknFepInputStateInitialLatinMultitap methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateInitialLatinMultitap.h"
-#include "AknFepUIManagerStateInterface.h"      //MAknFepUIManagerStateInterface
-
-#include "AknFepCaseManager.h"
-#include <uikon.hrh>
-
-#include <PtiEngine.h>
-
-TAknFepInputStateInitialLatinMultitap::
-TAknFepInputStateInitialLatinMultitap(MAknFepUIManagerStateInterface* aOwner)
-:TAknFepInputStateInitialMultitapBase(aOwner)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    TPtiTextCase caseMode = ptiengine->Case();
-    ptiengine->SetCase(caseMode);
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateInitialMultitapBase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,184 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the TAknFepInputStateInitialMultitapBase methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateInitialMultitapBase.h"
-#include "AknFepUIManagerStateInterface.h"      //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"           //MAknFepManagerUIInterface
-#include "AknFepCaseManager.h"
-#include "AknFepUiIndicInputManager.h"
-
-#include <PtiEngine.h>
-#include <PtiDefs.h>
-
-TAknFepInputStateInitialMultitapBase::
-TAknFepInputStateInitialMultitapBase(MAknFepUIManagerStateInterface* aOwner)
-    :TAknFepInputStateBase(aOwner)
-    {
-    iState = EInitial;
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-
-    TPtiTextCase caseMode = ptiengine->Case();
-#ifdef RD_INTELLIGENT_TEXT_INPUT  
-    // This part of code TSW error fixing  
-    // In case of ITU-T, whenever word is displaying along with autocompletion
-    // part and if some how editor will lose focus [example: launch candidate list, 
-    // launch option menu] word along with auto completion part get locked and come to inline editing.
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    TBool clearCurrentword(ETrue);
-    TRAP_IGNORE(    
-	if( fepMan->WesternPredictive() )
-		{
-		TInt tailLength = 0;
-		ptiengine->HandleCommandL( EPtiCommandGetAutoCompletionTailLength, &tailLength );
-		 if( tailLength > 0 )
-			 {
-			 clearCurrentword = EFalse;
-			 }
-		});
-
-	if( clearCurrentword )
-		{
-#endif	
-    ptiengine->ClearCurrentWord();
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT 
-    	}
-#endif	
-    ptiengine->SetInputMode(EPtiEngineMultitapping);
-
-    ptiengine->SetCase(caseMode);
-    }
-
-TBool TAknFepInputStateInitialMultitapBase::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    TBool ret = ETrue;
-
-    if(iData && (iData != aKey))
-        {
-        fepMan->CommitInlineEditL();
-        ptiengine->ClearCurrentWord();
-        }
-
-    iData = aKey;
-    if(aLength == EShortKeyPress)
-        {
-        if (aKey == EPtiKeyStar)
-            {
- 			if (fepMan->EditSubmenuInUse())
-        		{
-        		return ret;
-        		}                        
-            else if (fepMan->IsAbleToLaunchSCT())
-                {
-                fepMan->LaunchSpecialCharacterTableL();
-                }
-            }
-        else
-            {
-            TPtrC text = ptiengine->AppendKeyPress((TPtiKey)aKey);
-
-            if( aKey == EPtiKey0 && text.Length())
-            	{
-            	MPtiLanguage* ptilang = ptiengine->CurrentLanguage();
-        		TInt currentPtiLang = ( ptilang )? ptilang->LanguageCode() : 0;
-            	if( TAknFepUiIndicInputManager::IsCharLigature( text[0], 
-                                                            ( TLanguage )currentPtiLang ) )
-            		{
-            		ptiengine->ClearCurrentWord();
-            		text.Set( ptiengine->AppendKeyPress( ( TPtiKey )aKey ) );
-            		}
-            	}
-
-            if (text.Length())
-                {
-                fepMan->NewCharacterL(text);
-                }
-            }
-        }
-    else // long keypress
-        {
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        if (aKey == EPtiKeyStar)
-            {
-            if(fepMan->EditSubmenuInUse() && fepMan->IsAbleToLaunchSCT())
-                {
-                fepMan->LaunchSpecialCharacterTableL();
-                }
-            }
-#else
-        if (aKey == EPtiKeyStar && fepMan->EditSubmenuInUse())
-            {
-            fepMan->LaunchSpecialCharacterTableL();                
-            }    
-#endif
-		else
-			{			                  
-        	if (aKey != EKeyBackspace)
-        		{
-                TChar ch(aKey);
-
-                TBuf<1> buf;
-                buf.Append(ch);
-        	    fepMan->NewCharacterL(buf);
-        	    fepMan->CommitInlineEditL();
-        	    ptiengine->ClearCurrentWord();
-        		}
-        	else
-        		{
-        		ret = EFalse;
-        		}
-			}
-        }
-
-    return ret;
-    }
-
-// Functions from MPtiObserver interface
-void TAknFepInputStateInitialMultitapBase::KeyTimerExpired()
-    {
-    if (iData)
-        {
-        MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-        TRAP_IGNORE(fepMan->CommitInlineEditL())
-
-        CPtiEngine* ptiengine = iOwner->PtiEngine();
-        ptiengine->ClearCurrentWord();
-
-        iData = 0;
-        }
-    }
-
-// Set the Star Key flag.    
-void TAknFepInputStateInitialMultitapBase::SetStarKeyFlag( TBool aSet)
-	{
-	TAknFepInputStateBase::SetStarKeyFlag( aSet );
-	}
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateInitialNumber.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,190 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the TAknFepInputStateInitialNumber methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateInitialNumber.h"
-#include "AknFepUIManagerStateInterface.h"
-#include "AknFepManagerUIInterface.h"
-#include "AknFepManager.h"
-
-#include <PtiEngine.h>
-#include <PtiDefs.h>
-#include <featmgr.h>                //FeatureManager
-
-TAknFepInputStateInitialNumber::
-TAknFepInputStateInitialNumber(MAknFepUIManagerStateInterface* aOwner)
-    :TAknFepInputStateInitialMultitapBase(aOwner)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    ptiengine->SetInputMode(EPtiEngineNumeric);
-
-    TRAP_IGNORE(ptiengine->SetExternalKeyMapL(EPtiEngineNumeric, EPtiKeyStar, 
-                       (TDesC&)iOwner->NumberModeKeyMapping(), EPtiCaseLower))
-    }
-
-TBool TAknFepInputStateInitialNumber::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    
-    if (aLength == ELongKeyPress)
-        {
-        switch (aKey)
-            {
-        case EKeyRightArrow:
-        case EKeyLeftArrow:
-        case EKeyDownArrow:
-        case EKeyUpArrow:
-        case EKeyBackspace:
-            return EFalse;
-       	case EPtiKeyStar:
-       		 if (fepMan->EditSubmenuInUse() && fepMan->IsAbleToLaunchSCT())
-       		 	{       		 
-       		 	if (ptiengine->CurrentLanguage()->LanguageCode() == ELangKorean)
-       		 		{
-       		 		fepMan->LaunchSelectModeMenuL();      		 
-       		 		}
-				else
-					{
-				 	fepMan->LaunchSpecialCharacterTableL();       
-					}
-       		 	}       	     
-        default:
-            return ETrue;
-            }
-        }
-   
-    if(aKey == EPtiKeyStar)
-        {
-        TBool append = EFalse;
-        if (aLength == EShortKeyPress)
-            {
-            if (fepMan->EditSubmenuInUse())
-                {
-                if (fepMan->IsOnlyNumericPermitted())   
-                    {
-                    append = ETrue;
-                    }
-                else
-                    {
-                    fepMan->ClearCcpuFlag(CAknFepManager::ECcpuStateIgnoreStarUp);
-                    }   
-                }               
-            else
-                {
-                if (fepMan->IsAbleToLaunchSCT())            
-                    {
-                    fepMan->LaunchSpecialCharacterTableL();
-                    }
-                else
-                    {           
-                    append = ETrue;                         
-                    }
-                }
-            }
-        else
-            {
-            if (fepMan->EditSubmenuInUse() && fepMan->IsAbleToLaunchSCT())
-                {                                       
-                fepMan->LaunchSpecialCharacterTableL();             
-                }
-            }   
-        if (append)
-            {
-#ifdef RD_INTELLIGENT_TEXT_INPUT            
-
-	    // check editor is phonenumber editor or not.	    
-            TBool phoneNumberEditor = (fepMan->EditorType() == CAknExtendedInputCapabilities::EPhoneNumberEditor);
-
-            if( (fepMan->IsOnlyNumericPermitted()|| phoneNumberEditor ) && fepMan->GetNumericSCTResID())
-            	{
-            	TCallBack timerExpire(NumericResourceTimerTimeoutL, this);
-            	fepMan->MultitapThroughSCTCharL(timerExpire); 
-            	return ETrue;
-            	}
-           	else
-           		{
-           		NumericResourceKeyTimerTimeoutL();
-           		}
-
-#else           	
-            iData = aKey;
-            TPtrC text = ptiengine->AppendKeyPress((TPtiKey)aKey);
-
-            // star key is inactive if keymapping is empty.
-            if (text.Length() > 0 && text[0] != 0)
-                {
-                fepMan->NewCharacterL(text);                   
-                
-                // Commit immediately if there is only one character associated to the key.
-                TBuf<CAknFepManager::EMaximumFepWordLength> mapdata;
-                ptiengine->MappingDataForKey((TPtiKey)aKey, mapdata, ptiengine->Case());
-                if (mapdata.Length() <= 1)
-                    {
-                    fepMan->CommitInlineEditL();
-                    ptiengine->ClearCurrentWord();
-                    iData = 0;                                          
-                    }                   
-	            } 
-#endif
-            }
- 
-        return ETrue;
-        }
-
-    if(iData)
-        {
-        fepMan->CommitInlineEditL();
-        ptiengine->ClearCurrentWord();
-
-        iData = 0;
-        }
-    return EFalse;
-    }
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-
-TInt TAknFepInputStateInitialNumber::NumericResourceTimerTimeoutL(TAny* aPtr)
-    {
-    reinterpret_cast<TAknFepInputStateInitialNumber*>(aPtr)->NumericResourceKeyTimerTimeoutL();
-    return 1;
-    }
-TInt TAknFepInputStateInitialNumber::NumericResourceKeyTimerTimeoutL()
-    {
-    if(iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagInsideMultitapInlineEditingTransaction))
-        {
-        // this function is only called for number only editors 
-
-        iOwner->FepMan()->CommitInlineEditL();
-        }    
-    return 1;
-    }
-    
-#endif //RD_INTELLIGENT_TEXT_INPUT
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateInitialQwertyWesternPredictive.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-/*
-* Copyright (c) 2002 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:            
-*       Provides the TAknFepInputStateInitialQwertyWesternPredictive methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateInitialQwertyWesternPredictive.h"
-#include "AknFepUIManagerStateInterface.h"      //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"           //MAknFepManagerUIInterface
-#include "AknFepManager.h"
-#include "AknFepCaseManager.h"                  //CAknFepCaseManager
-
-#include <PtiDefs.h>
-
-TAknFepInputStateInitialQwertyWesternPredictive::
-TAknFepInputStateInitialQwertyWesternPredictive(MAknFepUIManagerStateInterface* aOwner)
-    :TAknFepInputStateBase(aOwner)
-    {
-    }
-
-TBool TAknFepInputStateInitialQwertyWesternPredictive::HandleKeyL(TInt aKey, TKeyPressLength /*aLength*/)
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CAknFepFnKeyManager::TFnKeyState fnKeyState  = fepMan->FnKeyState();
-    
-    switch (aKey)
-        {
-        case EStdKeyNull:
-            // Take no action if simulated key ends up here
-            break;
-            
-        case EStdKeySpace: //fall through
-            {     
-            if (fnKeyState == CAknFepFnKeyManager::EFnKeyDown)
-                {
-                fepMan->LaunchSelectModeMenuL();
-                }
-			else
-				{
-				_LIT(KSpace," ");                
-				fepMan->StartInlineEditL();
-				fepMan->UpdateInlineEditL(KSpace,0);
-				fepMan->CommitInlineEditL();
-        		return ETrue;
-            	}   
-            }
-        case EStdKeyEnter:
-        case EStdKeyTab:
-        case EStdKeyBackspace:
-        case EStdKeyLeftArrow:
-        case EStdKeyRightArrow:
-        case EStdKeyUpArrow:
-        case EStdKeyDownArrow:
-            {
-            // Navigation keys do not activate the entry state. Instead they are handled by the editor directly.
-            
-            // Asyncronous case update is needed after the editor has handled the key
-            fepMan->SimulateKeyEventL(EKeyF19); 
-            }
-            break;
-        // In case of Forward Deletion, we should not be doing anything        
-        case EStdKeyF21:
-        case EKeyLeftShift:
-            break;
-        default:        
-            {
-            // Most keys activate the entry state and are handled there
-            fepMan->TryCloseUiL(); //expires the multitap timer
-            iOwner->ChangeState(EEntry);
-            fepMan->SendUIActivatedNotification();
-            }
-        }
-
-    return EFalse;
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateInitialThaiMultitap.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-/*
-* Copyright (c) 2003 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:           
-*       Provides the TAknFepInputStateInitialThaiMultitap methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUIInputStateInitialThaiMultitap.h"
-#include "AknFepUIManagerStateInterface.h"      //MAknFepUIManagerStateInterface
-
-#include "AknFepCaseManager.h"
-#include <uikon.hrh>
-
-#include <PtiEngine.h>
-#include <PtiDefs.h>
-#include <aknSctDialog.h>
-#include <avkon.rsg>
-#include <aknfep.rsg>
-
-
-TAknFepInputStateInitialThaiMultitap::
-TAknFepInputStateInitialThaiMultitap(MAknFepUIManagerStateInterface* aOwner)
-:TAknFepInputStateInitialMultitapBase(aOwner)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    TPtiTextCase caseMode = ptiengine->Case();
-    TRAP_IGNORE(ptiengine->ActivateLanguageL(ELangThai))
-    ptiengine->SetCase(caseMode);
-    }
-
-TBool TAknFepInputStateInitialThaiMultitap::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-
-    if(aLength == EShortKeyPress)
-        {
-        if (aKey == EPtiKey0 && fepMan->IsAbleToLaunchSCT())
-        	{			
-            fepMan->LaunchSpecialCharacterTableL(
-                     iOwner->ThaiSCTResourceId(fepMan->PreviousChar(),aKey));
-            return (ETrue);                    	
-        	}
-		else if (aKey == EPtiKeyStar)        	
-			{
-			if (!fepMan->EditSubmenuInUse())		
-				{
-				if (fepMan->IsAbleToLaunchSCT())
-        			{
-              		fepMan->LaunchSpecialCharacterTableL(
-              		   iOwner->ThaiSCTResourceId(fepMan->PreviousChar(),aKey));
-               		return (ETrue); 
-               		}        	
-				}
-			else
-				{
-				fepMan->ClearCcpuFlag(CAknFepManager::ECcpuStateIgnoreStarUp);				
-				}							
-			}                        
-        }
-	else
-		{
-		if (aKey == EPtiKeyStar && fepMan->EditSubmenuInUse() && fepMan->IsAbleToLaunchSCT())
-			{
-            fepMan->LaunchSpecialCharacterTableL(
-                     iOwner->ThaiSCTResourceId(fepMan->PreviousChar(),aKey));
-            return (ETrue);			
-			}		
-		}        
-
-    return (TAknFepInputStateInitialMultitapBase::HandleKeyL(aKey, aLength));
-    }
-
-
-void TAknFepInputStateInitialThaiMultitap::HandleCommandL(TInt aCommandId)
-    {
-    if (aCommandId == EAknCmdEditInsertSymbol)
-        {
-        MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-        fepMan->LaunchSpecialCharacterTableL(
-                     iOwner->ThaiSCTResourceId(fepMan->PreviousChar(),EPtiKeyStar));
-        }
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateInitialThaiPredictive.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-/*
-* Copyright (c) 2002-2007 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:           
-*       Provides the TAknFepInputStateInitialThaiPredictive methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateInitialThaiPredictive.h"
-#include "AknFepUIManagerStateInterface.h"      //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"           //MAknFepManagerUIInterface
-#include "AknFepManager.h"
-#include "AknFepCaseManager.h"                  //CAknFepCaseManager
-
-#include <PtiDefs.h>
-
-
-TAknFepInputStateInitialThaiPredictive::
-TAknFepInputStateInitialThaiPredictive(MAknFepUIManagerStateInterface* aOwner)
-    :TAknFepInputStateInitialMultitapBase(aOwner)
-    {
-    }
-
-TBool TAknFepInputStateInitialThaiPredictive::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    TBool ret = ETrue;
-
-    if (aKey == EPtiKeyStar )
-        {
-        if (aLength == EShortKeyPress)
-            {
-            if (!fepMan->EditSubmenuInUse())
-                {
-                if (fepMan->IsAbleToLaunchSCT())
-                    {
-                    fepMan->LaunchSpecialCharacterTableL(iOwner->ThaiSCTResourceId(0x0020,aKey));
-                    return (ETrue);
-                    }
-                }
-            else
-                {
-                fepMan->ClearCcpuFlag(CAknFepManager::ECcpuStateIgnoreStarUp);
-                }
-            }
-        else                
-            {
-            if (fepMan->EditSubmenuInUse())
-                {                                       
-                fepMan->LaunchSpecialCharacterTableL(iOwner->ThaiSCTResourceId(0x0020,aKey));
-                return (ETrue); 
-                }
-            }
-        }                        
-    else 
-        {
-        if (fepMan->IsFlagSet(CAknFepManager::EFlagSuppressInputStateChange))
-            {
-            // Long keypress of numeric keypress, we want to simply return EFalse
-            // to enter a number into the editor, rather than move back to 
-            // entry state, so just clear the flag
-            fepMan->ClearFlag(CAknFepManager::EFlagSuppressInputStateChange);
-            }
-        else
-            {
-            fepMan->TryCloseUiL(); //expires the multitap timer
-            iOwner->ChangeState(EEntry);
-            fepMan->SendUIActivatedNotification();
-            }
-        ret = EFalse;
-        }
-    return ret;
-    }
-
-void TAknFepInputStateInitialThaiPredictive::HandleCommandL(TInt aCommandId)
-    {
-    if (aCommandId == EAknCmdEditInsertSymbol)
-        {
-        MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-        fepMan->LaunchSpecialCharacterTableL(
-                           iOwner->ThaiSCTResourceId(fepMan->PreviousChar(),EPtiKeyStar));
-        }
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateInitialVietnameseMultitap.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,228 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStateInitialVietnameseMultitap methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUIInputStateInitialVietnameseMultitap.h"
-#include "AknFepUIManagerStateInterface.h"      //MAknFepUIManagerStateInterface
-
-#include "AknFepCaseManager.h"
-#include "AknFepVietnameseToneManager.h"
-
-#include <uikon.hrh>
-
-#include <PtiEngine.h>
-#include <PtiDefs.h>
-#include <aknSctDialog.h>
-#include <avkon.rsg>
-#include <aknfep.rsg>
-
-#include "AknFepUiManagerWestern.h"
-
-TAknFepInputStateInitialVietnameseMultitap::
-TAknFepInputStateInitialVietnameseMultitap(MAknFepUIManagerStateInterface* aOwner)
-:TAknFepInputStateInitialMultitapBase(aOwner)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    TPtiTextCase caseMode = ptiengine->Case();
-    ptiengine->SetCase(caseMode);
-    }
-
-TBool TAknFepInputStateInitialVietnameseMultitap::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    TBool bHandled = EFalse;
-
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CAknFepUIManagerWestern* uiMan = static_cast<CAknFepUIManagerWestern*>(iOwner);
-    CAknFepVietnameseToneManager* toneMgr = uiMan->VietnameseToneManager();
-    CPtiEngine* ptiEng = fepMan->PtiEngine();
-
-    toneMgr->SetFepManager(fepMan);
-
-    if (aKey == EPtiKeyStar)
-        {
-        if (aLength == EShortKeyPress)
-            {
-            if (!toneMgr->IsLooping())
-                {
-                // Start looping status
-                if (toneMgr->StartToneMarkLooping())
-                    {
-                    // Save the vowel for undo back deletion
-                    toneMgr->SetDeletedVowel(fepMan->PreviousChar());
-                    
-                    ((CAknFepManager*)fepMan)->RemovePreviousCharacterL();    // remove previous char
-                    }
-                }
-            
-            // Process the interim looping state
-            if (toneMgr->IsLooping())
-                {
-                // Get current tone mark
-                TText toneVowel = toneMgr->GetVowelWithToneMark();
-                toneMgr->IncrementToneMark();
-
-                TBuf<CAknFepManager::ESingleCharacter> aChr;
-                aChr.Append(toneVowel);
-
-                // Update inline character(s)
-                fepMan->CancelInlineEdit();
-                fepMan->NewCharacterL(aChr);
-
-                // Reset the engine timer so that we can get timer expired message
-                // We send the * key, and clear it in the next loop
-                ptiEng->ClearCurrentWord();
-                ptiEng->AppendKeyPress((TPtiKey)aKey);
-
-                bHandled = ETrue;
-                
-                if (fepMan->EditSubmenuInUse())
-                    {
-                    // Looping tone marks, supress edit-menu.
-                    fepMan->SetCcpuFlag(CAknFepManager::ECcpuStateIgnoreStarUp);
-                    }
-                }
-            }
-        else if (aLength == ELongKeyPress)
-            {
-            // Reset the key event so that the TAknFepInputStateInitialMultitapBase will
-            // parse this event as a short key event, default reaction is to launch SCT
-            aLength = EShortKeyPress;
-
-            if (toneMgr->IsLooping())
-                {
-                // Remove the previous EShortKeyPress message
-                fepMan->CancelInlineEdit();
-                toneMgr->StopToneMarkLooping();
-
-                // Undo the backdeletion
-                TText bkChr = toneMgr->GetDeletedVowel();
-
-                TBuf<CAknFepManager::ESingleCharacter> aChr;
-                aChr.Append(bkChr);
-
-                fepMan->NewCharacterL(aChr);
-                fepMan->CommitInlineEditL();
-                
-               	if (fepMan->EditSubmenuInUse() && fepMan->IsAbleToLaunchSCT())
-        		    {
-        		    fepMan->LaunchSpecialCharacterTableL();
-        		    return ETrue;
-        		    }                         
-                }
-			else if (fepMan->EditSubmenuInUse())
-				{
-				aLength = ELongKeyPress;
-				}
-            }
-        }
-    
-    // Implementation for the Vietnamese back deletion
-    if (aKey == EKeyBackspace)
-        {
-        TBuf<2> newText;
-        // Get the last character from the current editor
-        TText prevChar = fepMan->PreviousChar();
-        
-        // Judge if the last character needs to be converted
-        if ( NeedsVietnameseBkDelSupport(prevChar, newText) )
-            {
-            // Delete the prev character and send the new character to editor
-            ((CAknFepManager*)fepMan)->RemovePreviousCharacterL();
-            fepMan->NewCharacterL(newText);
-            fepMan->CommitInlineEditL();
-			// Stop looping for backspace operation
-			if( toneMgr->IsLooping() )
-			    {
-				toneMgr->StopToneMarkLooping();
-				}
-            return ETrue;
-            }
-        else
-            {
-            if ( prevChar )
-                {
-                ((CAknFepManager*)fepMan)->RemovePreviousCharacterL();
-                }
-            else
-                {
-                return EFalse;
-                }
-                
-            bHandled = EFalse;
-            }
-        }
-    
-    if(!bHandled && toneMgr->IsLooping())
-    	{
-    	toneMgr->StopToneMarkLooping();
-    	}
-    
-    return bHandled ? ETrue : TAknFepInputStateInitialMultitapBase::HandleKeyL(aKey, aLength);
-    }
-
-void TAknFepInputStateInitialVietnameseMultitap::KeyTimerExpired()
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CAknFepUIManagerWestern* uiMan = static_cast<CAknFepUIManagerWestern*>(iOwner);
-    CAknFepVietnameseToneManager* toneMgr = uiMan->VietnameseToneManager();  
-    CPtiEngine* ptiEng = fepMan->PtiEngine();
-
-    // Try commit inline editting and clean up for future input attemps
-    TRAP_IGNORE(fepMan->CommitInlineEditL());
-
-    toneMgr->StopToneMarkLooping();
-    ptiEng->ClearCurrentWord();
-    }
-    
-TBool TAknFepInputStateInitialVietnameseMultitap::NeedsVietnameseBkDelSupport(
-                                         TText aGlyphToDelete, TDes& aNewText)
-    {
-    TBool needBkDelSupport(EFalse);
-
-    const TInt KMatrixColumn = sizeof(VietToneMatrix) / sizeof(TText) / KNumberOfToneMarks;
-
-    aNewText.Zero();
-
-    // Loop of the ToneMatrix columns starts from 1 because the first column of the ToneMatrix stores the vowels 
-    for (TUint i = 1; (i < KMatrixColumn) && (!needBkDelSupport); ++i)
-        {
-        for (TUint j = 0; j < KNumberOfToneMarks; ++j)
-            {
-            if (VietToneMatrix[i][j] == aGlyphToDelete)
-                {
-                needBkDelSupport = ETrue;
-                aNewText.Append(VietVowelList[i - 1]);
-                break;
-                }
-            }
-        }
-
-    return needBkDelSupport;
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateInitialWesternPredictive.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the TAknFepInputStateInitialWesternPredictive methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateInitialWesternPredictive.h"
-#include "AknFepUIManagerStateInterface.h"      //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"           //MAknFepManagerUIInterface
-#include "AknFepManager.h"
-#include "AknFepCaseManager.h"                  //CAknFepCaseManager
-#include "AknFepUiIndicInputManager.h"
-
-#include <PtiEngine.h>
-#include <PtiDefs.h>
-
-TAknFepInputStateInitialWesternPredictive::
-TAknFepInputStateInitialWesternPredictive(MAknFepUIManagerStateInterface* aOwner)
-    :TAknFepInputStateInitialMultitapBase(aOwner)
-    {
-    }
-
-TBool TAknFepInputStateInitialWesternPredictive::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    TBool ret = ETrue;
-
-    if (aKey == EPtiKey0)
-        {
-        TAknFepInputStateInitialMultitapBase::HandleKeyL(aKey, aLength);
-        }
-    else if (aKey == EPtiKeyStar)
-        {     
-		if (aLength == EShortKeyPress)
-			{			
-			if (fepMan->IsFlagSet(CAknFepManager::EFlagLineFeedCharacter) && 
-			    fepMan->IsFlagSet(CAknFepManager::EFlagInsideMultitapInlineEditingTransaction))
-			    {
-			    // User is interrupting multitap timer with star key, but there
-			    // is line feed event waiting. Make sure that it is handled first.
-			    fepMan->CommitInlineEditL();
-			    }
-					        
-        	if (!fepMan->EditSubmenuInUse())
-        		{        		        	
-        		if (fepMan->IsAbleToLaunchSCT())
-        			{
-        			fepMan->LaunchSpecialCharacterTableL();
-        			}               	        		        		
-        		}        	        	
-			else
-				{
-				fepMan->ClearCcpuFlag(CAknFepManager::ECcpuStateIgnoreStarUp);
-				}        		
-			}
-		else	        	
-			{
-			if (fepMan->EditSubmenuInUse() && fepMan->IsAbleToLaunchSCT())
-				{										
-				fepMan->LaunchSpecialCharacterTableL();           			
-				}
-			}
-        }   
-    else 
-        {
-        if (fepMan->IsFlagSet(CAknFepManager::EFlagSuppressInputStateChange))
-            {
-            // Long keypress of numeric keypress, we want to simply return EFalse
-            // to enter a number into the editor, rather than move back to 
-            // entry state, so just clear the flag
-            fepMan->ClearFlag(CAknFepManager::EFlagSuppressInputStateChange);
-
-            // Asyncronous case update after the number has been entered to the editor.
-            fepMan->SimulateKeyEventL(EKeyF19); 
-            }
-        else
-            {
-            fepMan->TryCloseUiL(); //expires the multitap timer
-            iOwner->ChangeState(EEntry);
-            fepMan->SendUIActivatedNotification();
-            }
-        ret = EFalse;
-        }
-    return ret;
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateInitialZhuyinFind.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the TAknFepInputStateInitialZhuyinFind methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateInitialZhuyinFind.h"
-#include "AknFepUIManagerStateInterface.h"
-
-#include <PtiEngine.h>
-
-TAknFepInputStateInitialZhuyinFind::TAknFepInputStateInitialZhuyinFind(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateInitialChineseMultitapBase(aOwner, aUIContainer)
-    {
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateJapaneseBase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,459 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:            Provides the TAknFepUiInputStateJapaneseBase methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include "AknFepUiInputStateJapaneseBase.h"
-#include "AknFepUIManagerStateInterface.h"   //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"        //MAknFepManagerUIInterface
-#include "AknFepCaseManager.h"               // CAknFepCaseManager
-#include "AknFepGlobalEnums.h"
-#include "AknFepPanic.h"
-
-#include <PtiDefs.h>                // keys
-#include <avkon.rsg>
-
-// CONSTANTS
-#define EFirstHalfUpperChar  0x0041
-#define ELastHalfUpperChar   0x005A
-#define EFirstFullUpperChar  0xff21
-#define ELastFullUpperChar   0xff3A
-#define EFirstHalfLowerChar  0x0061
-#define ELastHalfLowerChar   0x007A
-#define EFirstFullLowerChar  0xff41
-#define ELastFullLowerChar   0xff5A
-
-/**
- *  TAknFepUiInputStateJapaneseBase class.
- *
- */
-//============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateJapaneseBase::TAknFepUiInputStateJapaneseBase
-// C++ default Constructor
-// ---------------------------------------------------------------------------
-//
-TAknFepUiInputStateJapaneseBase::
-TAknFepUiInputStateJapaneseBase(MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerJapanese* aUIContainer)
-    :TAknFepInputStateBase(aOwner)
-    {
-    iUIContainer = aUIContainer;
-    if (aOwner)
-        {
-        aOwner->FepMan()->SendUIActivatedNotification();
-        }
-    }
-
-/**
- * MPtiObserver interface.
- */
-//============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateJapaneseBase::KeyTimerExpired
-// Call this function when Multitap timer of PtiEngine was time-out
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStateJapaneseBase::KeyTimerExpired()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateJapaneseBase::LastWordInSelectionList
-// not-use Japanese state
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStateJapaneseBase::LastWordInSelectionList()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateJapaneseBase::FirstWordInSelectionList
-// not-use Japanese state
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStateJapaneseBase::FirstWordInSelectionList()
-    {
-    }
-
-/**
- *  TAknFepUiInputStateJapaneseBase class.
- *
- */
-//============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateJapaneseBase::HandleKeyL
-// Hnadling Keypress events. This Method is called by CAknFepUIManagerJapanese
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateJapaneseBase::
-    HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    TBool ret = ETrue;
-    if(iState == EInitial)
-        {
-        ret = EFalse;
-        }
-
-    if (iOwner->IsQwerty())
-        {
-        switch(aKey)
-            {
-            case EStdKeyLeftArrow:      /* 0x0e */
-            case EStdKeyRightArrow:     /* 0x0f */
-            case EStdKeyUpArrow:        /* 0x10 */
-            case EStdKeyDownArrow:      /* 0x11 */
-                {
-                // Long and short keypress is same Handling
-                ret = HandleNaviKeyL(aKey, aLength);
-                }
-                break;
-            case EKeyOK:
-            case EStdKeyEnter:          /* 0x03 */
-            case EStdKeyNkpEnter:       /* 0x88 */
-            case EStdKeyDevice3:        /* 0xA7 */
-                {
-                ret = HandleAuxKeyL(aKey, aLength);
-                }
-                break;
-            case EStdKeyBackspace:      /* 0x01 */
-            case EStdKeyEscape:         /* 0x04 */
-                {
-                // Long and short keypress is same Handling
-                ret = HandleAuxKeyL(aKey, aLength);
-                }
-                break;
-            case EStdKeySpace:
-                if( iState == EConversion
-                 || iState == ECandidate
-                 || iState == ECandidateRetroActive )
-                    {
-                    ret = HandleNaviKeyL(aKey, aLength);
-                    }
-                else
-                    {
-                    ret = HandleNumericShortKeyL(aKey);
-                    }
-                break;
-            default:
-                // for Qwerty
-                if (aLength == EShortKeyPress
-                 && IsQwertyKey(aKey))
-                    {
-                    ret = HandleNumericShortKeyL(aKey);
-                    }
-                break;
-            }
-        }
-    else
-        {
-        switch(aKey)
-            {
-            case EPtiKey0:
-            case EPtiKey1:
-            case EPtiKey2:
-            case EPtiKey3:
-            case EPtiKey4:
-            case EPtiKey5:
-            case EPtiKey6:
-            case EPtiKey7:
-            case EPtiKey8:
-            case EPtiKey9:
-            case EPtiKeyStar:
-                {
-                if(aLength == ELongKeyPress)
-                    {
-                    if (aKey != EPtiKeyStar)
-                        {
-                        ret = HandleNumericLongKeyL(aKey);
-                        }
-                    else
-                        {
-                        MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-                        if (fepMan->HashKeySelectionInUse())
-                            {
-                            ret = ETrue;
-                            }
-                        }
-                    }
-                else if (aLength == EShortKeyPress)
-                    {
-                    ret = HandleNumericShortKeyL(aKey);
-                    }
-                }
-                break;
-            case EKeyLeftArrow:
-            case EKeyRightArrow:
-            case EKeyDownArrow:
-            case EKeyUpArrow:
-                {
-                // Long and short keypress is same Handling
-                ret = HandleNaviKeyL(aKey, aLength);
-                }
-                break;
-            case EKeyOK:
-                {
-                ret = HandleAuxKeyL(aKey, aLength);
-                }
-                break;
-            case EKeyBackspace:
-                {
-                // Long and short keypress is same Handling
-                ret = HandleAuxKeyL(aKey, aLength);
-                }
-                break;
-            default:
-                {
-                AknFepPanic(EAknFepPanicNotSupportKey);
-                }
-                break;
-            }
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateJapaneseBase::HandleCommandL
-// Handling Command events. This Method is called by CAknFepUIManagerJapanese.
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStateJapaneseBase::HandleCommandL(TInt /*aCommandId*/)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateJapaneseBase::operator=
-// A patch to force the vtable to be copied during an assignment.
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStateJapaneseBase::operator=(const TAknFepInputStateBase& aState)
-    {
-    Mem::Copy(this, &aState, sizeof(TAknFepUiInputStateJapaneseBase));
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateJapaneseBase::HandleNumericKeyL
-// Handling short keypress events of the numeric and the star.
-// HandleKeyEventL() call this method.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateJapaneseBase::HandleNumericShortKeyL(TInt /*aKey*/)
-    {
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateJapaneseBase::HandleNumericLongKeyL
-// Handling Numeric long keypress event. HandleKeyEventL() call this method.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateJapaneseBase::HandleNumericLongKeyL(TInt /*aKey*/)
-    {
-    iOwner->ChangeState(EMultiCompletion);
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateJapaneseBase::HandleNaviKeyL
-// Handling navigate keypress event. HandleKeyEventL() call this method.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateJapaneseBase::HandleNaviKeyL(TInt /*aKey*/,
-                                                      TKeyPressLength /*aLength*/)
-    {
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateJapaneseBase::HandleAuxKeyL
-// Handling auxiliary keypress events including OK and Backspace.
-// HandleKeyEventL() call this method.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateJapaneseBase::HandleAuxKeyL(TInt /*aKey*/,
-                                                     TKeyPressLength /*aLength*/)
-    {
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateJapaneseBase::UpdateInlineEditingCharacterL
-// Update inline editing string
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateJapaneseBase::UpdateInlineEditingCharacterL()
-    {
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateJapaneseBase::CommitInlineEditingCharacterL
-// Commit inline editing string
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateJapaneseBase::CommitInlineEditingCharacterL()
-    {
-    return EFalse;
-    }
-
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateJapaneseBase::UIContainer()
-// Getting UI container object
-// ---------------------------------------------------------------------------
-//
-
-MAknFepUICtrlContainerJapanese* TAknFepUiInputStateJapaneseBase::UIContainer()
-    {
-    return static_cast<MAknFepUICtrlContainerJapanese*>(iUIContainer);
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateJapaneseBase::UpdateCase
-// Update character case
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStateJapaneseBase::UpdateCase(TPtrC& aChar)
-    {
-    CAknFepCaseManager* caseMan = iOwner->CaseMan();
-    if (IsDiffrentCase(aChar))
-        {
-        caseMan->ManualCaseUpdate();
-        }
-    else
-        {
-        caseMan->UpdateCase(ENullNaviEvent);
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateJapaneseBase::IsDiffrentCase
-// Check whether last catacter case and current catacter case is same
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateJapaneseBase::IsDiffrentCase(TPtrC& aChar) const
-    {
-    TBool ret = EFalse;
-    CAknFepCaseManager* caseMan = iOwner->CaseMan();
-    TInt currentCase = caseMan->CurrentCase();
-    switch(currentCase)
-        {
-        case EAknEditorUpperCase:
-            {
-            if (IsLowerCase(aChar))
-                {
-                ret = ETrue;
-                }
-            }
-            break;
-        case EAknEditorLowerCase:
-            {
-            if (IsUpperCase(aChar))
-                {
-                ret = ETrue;
-                }
-            }
-        case EAknEditorTextCase:
-            break;
-        default: // Panic
-            {
-            AknFepPanic(EAknFepPanicBadCase);
-            }
-            break;
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateJapaneseBase::IsUpperCase
-// Check a caracter case is upper
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateJapaneseBase::IsUpperCase(TPtrC& aChar) const
-    {
-    if ((EFirstHalfUpperChar <= aChar[0] && aChar[0] <= ELastHalfUpperChar)
-     || (EFirstFullUpperChar <= aChar[0] && aChar[0] <= ELastFullUpperChar))
-        {
-        return ETrue;
-        }
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateJapaneseBase::IsLowerCase
-// Check a caracter case is lower
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateJapaneseBase::IsLowerCase(TPtrC& aChar) const
-    {
-    if ((EFirstHalfLowerChar <= aChar[0] && aChar[0] <= ELastHalfLowerChar)
-     || (EFirstFullLowerChar <= aChar[0] && aChar[0] <= ELastFullLowerChar))
-        {
-        return ETrue;
-        }
-    return EFalse;
-    }
-
-TBool TAknFepUiInputStateJapaneseBase::HandleQwertyShortKeyL(TInt /*aKey*/)
-    {
-    return EFalse;
-    }
-
-TBool TAknFepUiInputStateJapaneseBase::IsNumberKey(const TInt aKey)
-    {
-    TBool response = EFalse;
-    if (aKey >= EPtiKeyQwerty0 && aKey <= EPtiKeyQwerty9)
-        {
-        response = ETrue;
-        }
-    return response;
-    }
-
-TBool TAknFepUiInputStateJapaneseBase::IsQwertyKey(const TInt aKey)
-    {
-    TBool response = EFalse;
-    if ( (aKey >= EPtiKeyQwertyA && aKey <= EPtiKeyQwertyZ) ||
-        IsNumberKey( aKey ) ||
-        aKey == EStdKeySpace ||
-        aKey == EPtiKeyQwertyPlus ||
-        aKey == EPtiKeyQwertyMinus ||
-        aKey == EPtiKeyQwertyComma ||
-        aKey == EPtiKeyQwertySemicolon ||
-        aKey == EPtiKeyQwertyFullstop ||
-        aKey == EPtiKeyQwertyHash ||
-        aKey == EPtiKeyQwertySlash ||
-        aKey == EPtiKeyQwertyApostrophe)
-        {
-        response = ETrue;
-        }
-    return response;
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateJapanesePredictiveBase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,234 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:            Provides the
-*                TAknFepUiInputStateJapanesePredictiveBase methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include "AknFepUiInputStateJapanesePredictiveBase.h"
-#include "AknFepUIManagerStateInterface.h"  // MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"       // MAknFepManagerUIInterface
-#include "AknFepUICtrlContainerJapanese.h"  // MAknFepUICtrlContainerJapanese
-#include "AknFepUICtrlCandidatePaneInterface.h"
-                                        // MAknFepUICtrlCandidatePaneInterface
-#include "AknFepGlobalEnums.h"
-#include "AknFepPanic.h"                                       
-#include <PtiDefs.h>                    // keys
-#include <PtiEngine.h>
-#include <PtiCompositionDataIF.h>       // MPtiEngineCompositionDataInterface
-#include <aknfep.rsg>
-
-
-// CONSTANTS
-
-/**
- *  TAknFepUiInputStateJapanesePredictiveBase class.
- * 
- */
-//============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateJapanesePredictiveBase::
-//                      TAknFepUiInputStateJapanesePredictiveBase
-// C++ default Constructor
-// ---------------------------------------------------------------------------
-//
-TAknFepUiInputStateJapanesePredictiveBase::
-    TAknFepUiInputStateJapanesePredictiveBase(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerJapanese* aUIContainer)
-    :TAknFepUiInputStateJapaneseBase(aOwner, aUIContainer)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateJapanesePredictiveBase::CloseUI
-// Closing UI
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStateJapanesePredictiveBase::CloseUI()
-    {
-    MAknFepUICtrlContainerJapanese* uicontainer = UIContainer();
-    MAknFepUICtrlCandidatePaneInterface* predictivePane =
-        uicontainer->CandidatePane(MAknFepUICtrlContainerJapanese::
-                                   EJapanesePredictiveCandidatePane);
-    // Closeing candidate pop-up list
-    predictivePane->HideWindow();
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateJapanesePredictiveBase::HandleNumericLongKeyL
-// Handling Numeric long keypress event
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateJapanesePredictiveBase::HandleNumericLongKeyL(TInt /*aKey*/)
-    {
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    const MPtiEngineCompositionDataInterface* data = ptiEngine->CompositionData();
-    // Not handling long keypress events if exist transitory input string
-    TPtrC text = data->ConvertingString();
-    if (text.Length() > 1)
-        {
-        return ETrue;
-        }
-    // Long keypress events are handled by HandleNumericLongKeyL of
-    // CompletionState
-    iOwner->ChangeState(EMultiCompletion);
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateJapanesePredictiveBase::HandleNaviKeyL
-// Handling Navigate keypress event
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateJapanesePredictiveBase::
-  HandleNaviKeyL(TInt aKey, TKeyPressLength /*aLength*/)
-    {
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerJapanese* uicontainer = UIContainer();
-    MAknFepUICtrlCandidatePaneInterface* predictivePane =
-        uicontainer->CandidatePane(MAknFepUICtrlContainerJapanese::
-                                   EJapanesePredictiveCandidatePane);
-    TBool ret = EFalse;
-	if (predictivePane->CurrentItemIndexOfCandidate() > -1)
-		{
-	    TAknFepUICtrlScroll direction = EScrollNone;
-
-	    // move hightlight of candidate in cadidate pop-up list
-	    switch(aKey)
-	        {
-	        case EKeyLeftArrow:
-	        case EStdKeyLeftArrow:      /* 0x0e */
-	            {
-	            direction = EScrollLeft;
-	            }
-	            break;
-	        case EKeyRightArrow:
-	        case EStdKeyRightArrow:     /* 0x0f */
-	            {
-	            direction = EScrollRight;
-	            }
-	            break;
-	        case EKeyDownArrow:
-	        case EStdKeyDownArrow:      /* 0x11 */
-	            {
-	            direction = EScrollDown;
-	            }
-	            break;
-	        case EKeyUpArrow:
-	        case EStdKeyUpArrow:        /* 0x10 */
-	            {
-	            direction = EScrollUp;
-	            }
-	            break;
-	        default:
-	            break;
-	        }
-	    
-	    predictivePane->MoveItem(direction);
-	    TInt index = predictivePane->CurrentItemIndexOfCandidate();
-	    ptiEngine->HandleCommandL(EPtiCommandUserActionSetCurrentIndexOfCandidates ,&index);
-	    ret = ETrue;
-		}
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateJapanesePredictiveBase::UpdateInlineEditingCharacterL
-// Update inline editing string
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateJapanesePredictiveBase::UpdateInlineEditingCharacterL()
-    {
-    TBool ret = EFalse;
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    const MPtiEngineCompositionDataInterface* data = ptiEngine->CompositionData();
-    // Check ComposirionData
-    __ASSERT_DEBUG(data->CompletedString().Length() <= 0,
-        RDebug::Print(_L("In TAknFepUiInputStateJapanesePredictiveBase::UpdateInlineEditingCharacterL,\nINVALID DATA: CompletedString. CompletedString was not OperaOperated!")));
-    
-    TPtrC text = data->ConvertingString();
-
-    if (text.Length() > 0)
-        {
-        // Update of inline editing characters
-        fepMan->UpdateInlineEditL(text, text.Length());
-        ret = ETrue;
-        }
-    else
-        {
-        // Check ConvertingString length
-        __ASSERT_DEBUG(text.Length() == 0,
-            RDebug::Print(
-               _L("In TAknFepUiInputStateJapanesePredictiveBase::UpdateInlineEditingCharacterL,\nINVALID DATA: ConvertingString. Roll back to initial State!")));
-        
-        MAknFepUICtrlContainerJapanese* uicontainer = UIContainer();
-        MAknFepUICtrlCandidatePaneInterface* predictivePane =
-            uicontainer->CandidatePane(MAknFepUICtrlContainerJapanese::
-                                       EJapanesePredictiveCandidatePane);
-        ptiEngine->ClearCurrentWord();
-        fepMan->CancelInlineEdit();
-        predictivePane->HideWindow();
-        iOwner->ChangeState(EInitial);
-        
-        }
-    
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateJapanesePredictiveBase::UpdateCandidateListL
-// 
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateJapanesePredictiveBase::UpdateCandidateListL(TInt aIndex /*= 0*/)
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    CDesCArrayFlat* candidateArray = iOwner->CandidateArray();
-    MAknFepUICtrlContainerJapanese* uicontainer = UIContainer();
-    MAknFepUICtrlCandidatePaneInterface* predictivePane =
-        uicontainer->CandidatePane(MAknFepUICtrlContainerJapanese::
-                                   EJapanesePredictiveCandidatePane);
-    const MPtiEngineCompositionDataInterface* data = ptiEngine->CompositionData();
-    // Get coordinate of input area
-    TPoint  leftSideOfBaseLine;
-    TInt    height;
-    TInt    ascent;
-    TInt    documentOffset = data->CursorPosition() > 0 ? data->CursorPosition() : 0;
-    
-    fepMan->GetScreenCoordinatesL(leftSideOfBaseLine,
-                                  height,
-                                  ascent,
-                                  documentOffset);
-    // show candidate pop-up list
-    predictivePane->SetWindowPosition(leftSideOfBaseLine, height, ascent);            
-    predictivePane->ShowCandidateListL(candidateArray, aIndex, iCbaResourceID);
-    return ETrue;
-    }
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateNextWordJapanesePredictive.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,183 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the TAknFepUiInputStateNextWordJapanesePredictive methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include "AknFepUiInputStateNextWordJapanesePredictive.h"
-#include "AknFepUIManagerStateInterface.h"  // MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"       // MAknFepManagerUIInterface
-#include "AknFepUICtrlContainerJapanese.h"  // MAknFepUICtrlContainerJapanese
-#include "AknFepUICtrlCandidatePaneInterface.h"
-                                       // MAknFepUICtrlCandidatePaneInterface
-#include "AknFepGlobalEnums.h"
-#include "AknFepPanic.h"
-
-#include <PtiDefs.h>                    // keys
-#include <PtiEngine.h>
-#include <PtiCompositionDataIF.h>       // MPtiEngineCompositionDataInterface
-#include <aknfep.rsg>
-
-
-// CONSTANTS
-
-/**
- *  TAknFepUiInputStateNextWordJapanesePredictive class.
- *
- */
-//============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateNextWordJapanesePredictive::
-//                              TAknFepUiInputStateNextWordJapanesePredictive
-// C++ default Constructor
-// ---------------------------------------------------------------------------
-//
-TAknFepUiInputStateNextWordJapanesePredictive::
-    TAknFepUiInputStateNextWordJapanesePredictive(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerJapanese* aUIContainer)
-    :TAknFepUiInputStateJapanesePredictiveBase(aOwner, aUIContainer)
-    {
-    iState = ENextWord;
-    iCbaResourceID = R_AKNFEP_SOFTKEYS_EMPTY_CANCEL_SELECT;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateNextWordJapanesePredictive::InitializeStateL
-// Initialize State
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStateNextWordJapanesePredictive::InitializeStateL()
-    {
-    CDesCArrayFlat* candidateArray = iOwner->CandidateArray();
-    iOwner->PtiEngine()->GetNextWordCandidateListL(*candidateArray);
-    UpdateCandidateListL();
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateNextWordJapanesePredictive::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStateNextWordJapanesePredictive::HandleCommandL(TInt aCommandId)
-    {
-    if (aCommandId == EAknFepAllCompletion)
-        {
-        iOwner->PtiEngine()->ClearCurrentWord();
-        iOwner->ChangeState(EInitial);
-        }
-    else if (aCommandId == EAknFepSoftkeyCloseWindow)
-        {
-        CloseUI();
-        iOwner->ChangeState(EInitial);
-        }
-    else if(aCommandId == EAknFepSoftkeySelectCandidate)
-        {
-        MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-        fepMan->StartInlineEditL();
-        iOwner->ChangeState(EMultiCompletion);
-        }
-    else if(aCommandId == EAknFepResourceChanged)
-        {
-        MAknFepUICtrlContainerJapanese* uicontainer = UIContainer();
-        MAknFepUICtrlCandidatePaneInterface* predictivePane =
-            uicontainer->CandidatePane(MAknFepUICtrlContainerJapanese::
-                                       EJapanesePredictiveCandidatePane);
-        TInt index = predictivePane->CurrentItemIndexOfCandidate();
-        predictivePane->HideWindow();
-        UpdateCandidateListL(index);
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateNextWordJapanesePredictive::HandleNumericKeyL
-// Handling short keypress events of the numeric and the star.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateNextWordJapanesePredictive::HandleNumericShortKeyL(TInt /*aKey*/)
-    {
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerJapanese* uicontainer = UIContainer();
-    MAknFepUICtrlCandidatePaneInterface* predictivePane =
-        uicontainer->CandidatePane(MAknFepUICtrlContainerJapanese::
-                                   EJapanesePredictiveCandidatePane);
-
-    ptiEngine->ClearCurrentWord();
-    predictivePane->HideWindow();
-    iOwner->ChangeState(EInitial);
-    // This State doesn't Handle numeric key, always return false.
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateNextWordJapanesePredictive::HandleAuxKeyL
-// Handling auxiliary keypress events including OK and Backspace
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateNextWordJapanesePredictive::HandleAuxKeyL(TInt aKey,
-                                                                   TKeyPressLength /*aLength*/)
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerJapanese* uicontainer = UIContainer();
-    MAknFepUICtrlCandidatePaneInterface* predictivePane =
-        uicontainer->CandidatePane(MAknFepUICtrlContainerJapanese::
-                                   EJapanesePredictiveCandidatePane);
-    TBool ret = EFalse;
-
-    switch(aKey)
-        {
-        case EKeyOK:
-        case EStdKeyDevice3:        /* 0xA7 */
-        case EStdKeyEnter:          /* 0x03 */
-        case EStdKeyNkpEnter:       /* 0x88 */
-            {
-            fepMan->StartInlineEditL();
-            iOwner->ChangeState(EMultiCompletion);
-            }
-            break;
-        case EKeyBackspace:
-        case EStdKeyBackspace:      /* 0x01 */
-        case EStdKeyEscape:         /* 0x04 */
-            {
-            ptiEngine->ClearCurrentWord();
-            predictivePane->HideWindow();
-            iOwner->ChangeState(EInitial);
-            ret = ETrue;
-            }
-            break;
-        default: // Panic
-            {
-            AknFepPanic(EAknFepPanicNotSupportKey);
-            }
-            break;
-        }
-
-    return ret;
-    }
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStatePredictiveCandidate.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the TAknFepInputStatePredictiveCandidate methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStatePredictiveCandidate.h"
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-
-#include <PtiEngine.h>                      //CPtiEngine
-
-TAknFepInputStatePredictiveCandidate::TAknFepInputStatePredictiveCandidate(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateCandidateBase(aOwner, aUIContainer)
-    {
-    iState = EPredictiveCandidate;
-    
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    
-    // set container window position to follow cursor
-    TPoint baseLine = TPoint(0,0);
-    TInt height = 0;
-    TInt ascent = 0;
-    TRAPD(ret,iOwner->FepMan()->GetScreenCoordinatesL(baseLine,height,ascent));
-    if (ret == KErrNone)
-        {
-        uiContainer->SetContainerPosition(baseLine, height);    
-        }
-
-    uiContainer->FocusCandidatePane(ETrue);
-    uiContainer->SetLayout(MAknFepUICtrlContainerChinese::ELayoutCandidate);
-
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    ptiengine->SetCandidatePageLength(MAknFepUICtrlContainerChinese::ELayoutInput);
-
-    // for some reason needs to feed back to ptiengine current Chinese char just before get the prediction
-    TPtrC text = uiContainer->CandidatePane()->CurrentCandidate();
-    uiContainer->CandidatePane()->SelectFirst(); 
-    ptiengine->SetPredictiveChineseChar(text);
-    
-    uiContainer->CandidatePane()->SetCandidateBuffer(ptiengine->CandidatePage());
-
-    TBool multiplePages = ptiengine->MoreCandidatePages();
-    TInt bufLength = ptiengine->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-    
-    uiContainer->ShowVerticalScrollArrows(multiplePages);
-    uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows);
-    uiContainer->CandidatePane()->ShowCandidateOrdinals(EFalse);
-//  Do standard candidate pane init...
-    }
-
-
-TBool TAknFepInputStatePredictiveCandidate::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    TBool ret = ETrue;
-    if(aLength == ELongKeyPress) 
-        {
-        return ret;
-        }
-    if(iOwner->IsValidChineseInputKey(aKey))
-        {
-        CPtiEngine* ptiengine = iOwner->PtiEngine();
-        // it is needed when we use phrase input engine, otherwise it seems not cleared
-        ptiengine->ClearCurrentWord(); 
-        ptiengine->ResetToneMark();
-
-        iOwner->ChangeState(EEntry);
-        ret = EFalse; //passes to entry state to handle the key
-        }
-    if(!HandleVerticalNavigation(aKey))
-        {
-        if (aKey == EKeyLeftArrow || aKey == EKeyRightArrow || aKey == EKeyOK)
-            {
-            iOwner->ChangeState(EPredictiveInput);
-            ret = EFalse; //passes to predictive input state to handle the key
-            }
-        else if(aKey == EKeyBackspace)
-            {
-            iOwner->FepMan()->TryCloseUiL();
-            }
-        else if (aKey == EPtiKeyStar)
-            {
-            ret = TAknFepInputStateCandidateBase::HandleKeyL(aKey, aLength);
-            }   
-        }
-    return ret;
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStatePredictiveCandidateChinesePhrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,146 +0,0 @@
-/*
-* 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:            Implementation of predictive candidate chinese phrase state
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStatePredictiveCandidateChinesePhrase.h"
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-
-#include <PtiEngine.h>                      //CPtiEngine
-
-TAknFepInputStatePredictiveCandidateChinesePhrase::
-TAknFepInputStatePredictiveCandidateChinesePhrase(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateCandidateBaseChinesePhrase(aOwner, aUIContainer)
-    {
-    iState = EPredictiveCandidate;
-    
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-
-    // set container window position to follow cursor
-    TPoint baseLine = TPoint(0,0);
-    TInt height = 0;
-    TInt ascent = 0;
-    TRAPD(ret,iOwner->FepMan()->GetScreenCoordinatesL(baseLine,height,ascent));
-    if (ret == KErrNone)
-        {
-        uiContainer->SetContainerPosition(baseLine, height);    
-        }
-    uiContainer->FocusCandidatePane(ETrue);
-
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-    // for some reason needs to feed back to ptiengine current Chinese phrase just before get the prediction
-    TPtrC text = candidatePane->CurrentPhraseCandidate();
-    candidatePane->SelectFirstPhrase(); 
-    ptiengine->SetPredictiveChineseChar(text);
-    
-    TRAPD(ignore,ptiengine->GetChinesePhraseCandidatesL(*(candidatePane->CandidateArray())));
-    if (ignore == KErrNone)
-        {
-        candidatePane->SplitPhraseCandidatesIntoPages(); 
-        uiContainer->SetLayout(MAknFepUICtrlContainerChinese::ELayoutCandidate);
-        candidatePane->SetCandidateBuffer();
-
-        TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() &&
-                                uiContainer->CandidatePane()->IsFirstPage());
-        TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-        TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-
-        uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows); 
-        uiContainer->ShowVerticalScrollArrows(multiplePages);
-        candidatePane->ShowCandidateOrdinals(EFalse);
-        UpdateIndicator();
-        }
-    }
-
-TBool TAknFepInputStatePredictiveCandidateChinesePhrase::HandleKeyL(TInt aKey, 
-                                                                    TKeyPressLength aLength)
-    {
-    TBool ret = ETrue;
-
-    if(iOwner->IsValidChineseInputKey(aKey) && aLength != ELongKeyPress)
-        {
-        CPtiEngine* ptiengine = iOwner->PtiEngine();
-        // needs to clear current word for current engine, otherwise buffer is not cleared
-        ptiengine->ClearCurrentWord(); 
-        ptiengine->ResetToneMark();
-
-        iOwner->ChangeState(EEntry);
-        ret = EFalse; //passes to entry state to handle the key
-        }
-    if(!HandleVerticalNavigation(aKey))
-        {
-        MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-        // Do navigation...
-        if (aKey == EKeyLeftArrow && aLength != ELongKeyPress)
-            {
-//            if (candidatePane->SelectedIndex() == 0 && 
-//                candidatePane->IsFirstPage() )
-//                {
-//                return ETrue;
-//                }
-//            else 
-                {
-                iOwner->ChangeState(EPredictiveInput);
-                ret = EFalse; //passes to predictive input state to handle the key
-                } 
-            }
-        else if (aKey == EKeyRightArrow && aLength != ELongKeyPress)
-            {
-            if (candidatePane->IsLastPage() && 
-               (candidatePane->SelectedIndex() == candidatePane->VisibleCandidateCount() - 1))
-                {
-                return ETrue;    
-                }
-            else
-                {
-                iOwner->ChangeState(EPredictiveInput);
-                return EFalse;
-                }
-            }
-        else if ( ( aKey == EKeyOK || aKey == EKeyCBA1 ) && aLength != ELongKeyPress)
-            {
-            iOwner->ChangeState(EPredictiveInput);
-            ret = EFalse; //passes to predictive input state to handle the key
-            }
-        else if(aKey == EKeyBackspace && aLength != ELongKeyPress)
-            {
-            iOwner->FepMan()->TryCloseUiL();
-            }
-        else if (aKey == EPtiKeyStar && aLength != ELongKeyPress)
-            {
-            ret = TAknFepInputStateCandidateBaseChinesePhrase::HandleKeyL(aKey, aLength);
-            }   
-        }
-    return ret;
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStatePredictiveCandidateHalfQwertyChinesePhrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,297 +0,0 @@
-/*
-* Copyright (c) 2007 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:            Implementation of Pinyin phrase predictive candidate MiniQwerty state
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// System includes
-#include <PtiEngine.h>                      
-
-// User includes
-#include "AknFepUiInputStatePredictiveCandidateHalfQwertyChinesePhrase.h"
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUIManagerStateInterface.h"  
-#include "AknFepManagerUIInterface.h" 
-#include "AknFepManager.h"      
-#include "AknFepUICtrlCandidatePane.h"
-#include "aknfepuictrleditpane.h"
-#include "AknFepUICtrlPinyinPopup.h"
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStatePredictiveCandidateMiniQwertyChinesePhrase::
-// TAknFepInputStatePredictiveCandidateMiniQwertyChinesePhrase
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-TAknFepInputStatePredictiveCandidateHalfQwertyChinesePhrase::
-TAknFepInputStatePredictiveCandidateHalfQwertyChinesePhrase(
-    MAknFepUIManagerStateInterface* aOwner,
-    MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStatePredictiveInputQwertyChinesePhrase(aOwner, aUIContainer)
-    {
-    iState = EPredictiveCandidate;
-    UIContainer()->CandidatePane()->ShowCandidateOrdinals(EFalse);
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStatePredictiveCandidateMiniQwertyChinesePhrase::HandleKeyL
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputStatePredictiveCandidateHalfQwertyChinesePhrase::HandleKeyL(
-    TInt aKey, TKeyPressLength aLength )
-    {
-    MAknFepUICtrlPinyinPopup* popup = UIContainer()->PinyinPopupWindow();
-    TBool ret = ETrue;
-
-    if ( aKey == EPtiKeyQwertyComma || aKey == EStdKeyForwardSlash|| aKey
-        == EStdKeySquareBracketRight )
-        {
-        iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-        ret = ETrue;
-        }
-    else if ( aKey == EStdKeyFullStop )
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        ret = EFalse;
-        }
-    else if ( aKey == EStdKeyLeftFunc )
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        iOwner->FepMan()->LaunchSelectModeMenuL();
-        }
-    else if ( iOwner->FepMan()->IsFlagSet( CAknFepManager::EFlagQwertyShiftMode )
-        || iOwner->FepMan()->IsFlagSet( CAknFepManager::EFlagQwertyChrKeyDepressed )
-        || iOwner->FepMan()->IsFlagSet( CAknFepManager::EFlagShiftKeyDepressed ) )
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        ret = EFalse;
-        }
-    else if ( CAknFepFnKeyManager::EFnKeyNext == iOwner->FepMan()->FnKeyState() || CAknFepFnKeyManager::EFnKeyLock
-        == iOwner->FepMan()->FnKeyState() || CAknFepFnKeyManager::EFnKeyDown
-        == iOwner->FepMan()->FnKeyState() ) // for fn + a character
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        ret = EFalse;
-        }
-    else if ( aKey ==EKeyLeftCtrl || aKey == EKeyRightCtrl )
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        ret = EFalse;
-        }
-    else if ( aKey == EStdKeyBackspace )
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        }
-    else if ( aKey ==EKeyRightFunc )//fn key
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        ret = EFalse;
-        }
-    else if ( aKey ==EStdKeySpace )
-        {
-        if ( ECangJie ==iOwner->FepMan()->InputMode() )
-            {
-            TPtrC text = UIContainer()->CandidatePane()->CurrentPhraseCandidate();
-            if ( text.Length() )
-                {
-                MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-                fepMan->NewTextL( text );
-                fepMan->CommitInlineEditL();
-                iOwner->PtiEngine()->SetPredictiveChineseChar( text );
-                if ( fepMan->IsFlagSet( CAknFepManager::EFlagEditorFull ) )
-                    {
-                    fepMan->ClearFlag( CAknFepManager::EFlagEditorFull );
-                    iOwner->FepMan()->TryCloseUiL();
-                    }
-                else
-                    {
-                    iOwner->ChangeState( EPredictiveCandidate );
-                    }
-                }
-            return ETrue;
-            }
-        else if ( EZhuyin ==iOwner->FepMan()->InputMode()&&
-        EPtiKeyboardHalfQwerty == iOwner->FepMan()->KeyboardLayout() )
-            {
-            popup->SetPreStateIsPredictive( ETrue );
-            iOwner->ChangeState( EEntry );
-            ret = EFalse;
-            }
-        else
-            {
-            iOwner->FepMan()->TryCloseUiL();
-            ret = EFalse;
-            }
-        }
-    else if ( aKey == EStdKeyDevice0 || aKey == EStdKeyDevice3 || aKey
-        == EStdKeyEnter ) // Add for SK1, selection,enter
-        {
-        TBool state = ETrue;
-        if ( UIContainer()->EditPaneWindow()->IsChangeState() && aLength == ELongKeyPress )
-            {
-            state = EFalse;
-            }
-        else
-            {
-            UIContainer()->EditPaneWindow()->SetChangeState( EFalse );
-            }
-        if ( state )
-            {
-            TPtrC text = UIContainer()->CandidatePane()->CurrentPhraseCandidate();
-            if ( text.Length() )
-                {
-                MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-                fepMan->NewTextL( text );
-                fepMan->CommitInlineEditL();
-                iOwner->PtiEngine()->SetPredictiveChineseChar( text );
-                if ( fepMan->IsFlagSet( CAknFepManager::EFlagEditorFull ) )
-                    {
-                    fepMan->ClearFlag( CAknFepManager::EFlagEditorFull );
-                    iOwner->FepMan()->TryCloseUiL();
-                    }
-                else
-                    {
-                    iOwner->ChangeState( EPredictiveCandidate );
-                    }
-                }
-            }
-        }
-    else if ( aKey == EStdKeyRightArrow )
-        {
-        iOwner->ChangeState( EPredictiveInput );
-        UIContainer()->CandidatePane()->SelectNext();
-        }
-    else if ( aKey == EStdKeyLeftArrow )
-        {
-        iOwner->ChangeState( EPredictiveInput );
-        UIContainer()->CandidatePane()->SelectLastPhrase();
-        }
-    else if ( iOwner->IsValidChineseInputKeyQwerty( aKey ) )
-        {
-        if ( aLength == ELongKeyPress )
-            {
-            TBool state = ETrue;
-            if ( popup->IsChangeStatet() )
-                {
-                state = EFalse;
-                }
-            else
-                {
-                popup->SetChangeState( EFalse );
-                }
-            if ( state )
-                {
-                iOwner->FepMan()->TryCloseUiL();
-                return EFalse;
-                }
-            else
-                {
-                iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-                return ETrue;
-                }
-            }
-
-        if ( EPinyin ==iOwner->FepMan()->InputMode() )
-            {
-            CPtiEngine* ptiengine = iOwner->PtiEngine();
-            // it is needed when we use phrase input engine, otherwise it seems not cleared
-            ptiengine->ClearCurrentWord();
-            ptiengine->ResetToneMark();
-
-            popup->SetPreStateIsPredictive( ETrue );
-            iOwner->ChangeState( EEntry );
-            ret = EFalse; //passes to entry state to handle the key
-            }
-        else if ( EZhuyin ==iOwner->FepMan()->InputMode() ||
-        ECangJie ==iOwner->FepMan()->InputMode() ||
-        EStroke ==iOwner->FepMan()->InputMode() )
-            {
-            if ( EZhuyin ==iOwner->FepMan()->InputMode() &&
-            ( aKey == EPtiKeyQwertyQ ||
-                aKey == EPtiKeyQwertyA ||
-                aKey == EPtiKeyQwertyO ||
-                aKey == EPtiKeyQwertyL ||
-                aKey == EPtiKeyQwertyZ ) )
-                {
-                iOwner->FepMan()->TryCloseUiL();
-                return EFalse;
-                }
-            CPtiEngine* ptiengine = iOwner->PtiEngine();
-            // it is needed when we use phrase input engine, otherwise it seems not cleared
-            ptiengine->ClearCurrentWord();
-            ptiengine->ResetToneMark();
-
-            popup->SetPreStateIsPredictive( ETrue );
-            iOwner->ChangeState( EEntry );
-            ret = EFalse; //passes to entry state to handle the key
-            }
-        }
-    else if ( aKey == EStdKeyDevice2 )//sk2
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        }
-    else if ( aKey == EPtiKeyQwertyQ ||
-            aKey == EPtiKeyQwertyW ||
-            aKey == EPtiKeyQwertyO ||
-            aKey == EPtiKeyQwertyP ||
-            aKey == EPtiKeyQwertyA ||
-            aKey == EPtiKeyQwertyS ||
-            aKey == EPtiKeyQwertyL ||
-            aKey == EPtiKeyQwertyZ ||
-            aKey == EPtiKeyQwertyX ||
-            aKey == EPtiKeyQwertyC ||
-            aKey == EPtiKeyQwertyV ||
-            aKey == EPtiKeyQwertyB ||
-            aKey == EPtiKeyQwertyN ||
-            aKey == EPtiKeyQwertyM )
-        {
-        if ( EStroke ==iOwner->FepMan()->InputMode() )
-            {
-            iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-            iOwner->FepMan()->TryCloseUiL();
-            return EFalse;
-            }
-        }
-    else if ( (aKey == EPtiKeyQwerty7 ||
-    		aKey == EPtiKeyQwerty8 ||
-    		aKey == EPtiKeyQwerty9) &&
-    		iOwner->FepMan()->InputMode() == EStroke )
-    	{
-    	if ( aLength == EShortKeyPress )
-    		{
-            iOwner->FepMan()->TryCloseUiL();
-            ret = EFalse;
-            }
-    	}
-    else
-        {
-        ret = TAknFepInputStateCandidateQwertyBaseChinesePhrase::HandleKeyL(
-            aKey, aLength );
-        }
-    return ret;
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStatePredictiveCandidateMiniQwertyChinesePhrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,284 +0,0 @@
-/*
-* Copyright (c) 2007 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:            Implementation of Pinyin phrase predictive candidate MiniQwerty state
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// System includes
-#include <PtiEngine.h>                      
-
-// User includes
-#include "AknFepUiInputStatePredictiveCandidateMiniQwertyChinesePhrase.h"
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUIManagerStateInterface.h"  
-#include "AknFepManagerUIInterface.h" 
-#include "AknFepManager.h"      
-#include "AknFepUICtrlCandidatePane.h"
-#include "aknfepuictrleditpane.h"
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStatePredictiveCandidateMiniQwertyChinesePhrase::
-// TAknFepInputStatePredictiveCandidateMiniQwertyChinesePhrase
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-TAknFepInputStatePredictiveCandidateMiniQwertyChinesePhrase::
-TAknFepInputStatePredictiveCandidateMiniQwertyChinesePhrase(
-    MAknFepUIManagerStateInterface* aOwner,
-    MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStatePredictiveInputQwertyChinesePhrase(aOwner, aUIContainer)
-    {
-    iState = EPredictiveCandidate;
-    UIContainer()->CandidatePane()->ShowCandidateOrdinals(EFalse);
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStatePredictiveCandidateMiniQwertyChinesePhrase::HandleKeyL
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputStatePredictiveCandidateMiniQwertyChinesePhrase::HandleKeyL(
-                                           TInt aKey, TKeyPressLength aLength)
-    {
-    TBool ret = ETrue;
-
-    if(iOwner->IsValidChineseSymbol(aKey))
-    	{
-        iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-        ret = ETrue;
-        }
-    else if (iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode) ||
-        iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed)||
-        iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagShiftKeyDepressed))
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        ret = EFalse;
-        }
-    else if ( CAknFepFnKeyManager::EFnKeyNext == iOwner->FepMan()->FnKeyState() ||
-              CAknFepFnKeyManager::EFnKeyLock == iOwner->FepMan()->FnKeyState() ||
-              CAknFepFnKeyManager::EFnKeyDown == iOwner->FepMan()->FnKeyState()) // for fn + a character
-        {
-    	iOwner->FepMan()->TryCloseUiL();
-        ret = EFalse;
-        }
-   else if ( aKey ==EKeyLeftCtrl || aKey == EKeyRightCtrl)      
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        ret = EFalse;
-        }
-    else if (aKey == EStdKeyEnter)
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        ret = EFalse;
-        }
-    else if (aKey == EStdKeyBackspace) 
-        {
-    	iOwner->FepMan()->TryCloseUiL();
-        }
-    else if (aKey ==EKeyRightFunc)//fn key
-    	{
-    	iOwner->FepMan()->TryCloseUiL();
-    	ret = EFalse;
-    	}
-    else if ( aKey ==EStdKeySpace)
-    	{
-    	if (ECangJie ==iOwner->FepMan()->InputMode())
-    		{
-    		TPtrC text = UIContainer()->CandidatePane()->CurrentPhraseCandidate();
-	        if(text.Length())
-	            {            
-	            MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-	            fepMan->NewTextL(text);
-	            fepMan->CommitInlineEditL();
-	            iOwner->PtiEngine()->SetPredictiveChineseChar(text);
-	            if (fepMan->IsFlagSet(CAknFepManager::EFlagEditorFull))
-	                {
-	                fepMan->ClearFlag(CAknFepManager::EFlagEditorFull);
-	                iOwner->FepMan()->TryCloseUiL();
-	                }
-	            else
-	                {
-	                iOwner->ChangeState(EPredictiveCandidate);
-	                }
-	            }
-	        return ETrue;
-    		}
-    	else 
-    		{
-             iOwner->FepMan()->TryCloseUiL();
-             ret = EFalse; 
-    		}
-    	}	    
-   else if ( aKey == EStdKeyDevice0 || aKey == EStdKeyDevice3 ) // Add for SK1 and selection 
-        {
-        TBool state = ETrue;
-        if ( UIContainer()->EditPaneWindow()->IsChangeState() && aLength == ELongKeyPress )
-            {
-            state = EFalse;
-            }
-        else
-            {
-            UIContainer()->EditPaneWindow()->SetChangeState( EFalse );
-            }
-        if ( state )
-            {
-            TPtrC text = UIContainer()->CandidatePane()->CurrentPhraseCandidate();
-            if(text.Length())
-                {            
-                MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-                fepMan->NewTextL(text);
-                fepMan->CommitInlineEditL();
-                iOwner->PtiEngine()->SetPredictiveChineseChar(text);
-                if (fepMan->IsFlagSet(CAknFepManager::EFlagEditorFull))
-                    {
-                    fepMan->ClearFlag(CAknFepManager::EFlagEditorFull);
-                    iOwner->FepMan()->TryCloseUiL();
-                    }
-                else
-                    {
-                    iOwner->ChangeState(EPredictiveCandidate);
-                    }           
-                }
-            }
-        }
-    else if(aKey == EStdKeyRightArrow )
-        {
-    	iOwner->ChangeState(EPredictiveInput);  
-    	UIContainer()->CandidatePane()->SelectNext(); 
-        }
-    else if (aKey == EStdKeyLeftArrow)  
-    	{
-    	iOwner->ChangeState(EPredictiveInput);  
-        UIContainer()->CandidatePane()->SelectLastPhrase();
-    	}    
-    else if(iOwner->IsValidChineseInputKeyQwerty(aKey))
-        {
-        if ( aLength == ELongKeyPress )
-            {
-            return ETrue;
-            }
-        
-        if(EPinyin ==iOwner->FepMan()->InputMode())
-    		{
-			CPtiEngine* ptiengine = iOwner->PtiEngine();
-			// it is needed when we use phrase input engine, otherwise it seems not cleared
-    		ptiengine->ClearCurrentWord(); 
-			ptiengine->ResetToneMark();
-
-			iOwner->ChangeState(EEntry);
-			ret = EFalse; //passes to entry state to handle the key
-    		}
-    	else if(EZhuyin  ==iOwner->FepMan()->InputMode() || 
-    	        ECangJie ==iOwner->FepMan()->InputMode() ||
-    	        EStroke  ==iOwner->FepMan()->InputMode() )	
-    		{
-    	 	CPtiEngine* ptiengine = iOwner->PtiEngine();
-			// it is needed when we use phrase input engine, otherwise it seems not cleared
-        	ptiengine->ClearCurrentWord(); 
-			ptiengine->ResetToneMark();
-
-			iOwner->ChangeState(EEntry);
-			ret = EFalse; //passes to entry state to handle the key
-    		}
-
-    	}
-    else if(    aKey == EPtiKeyQwertyQ ||
-    		    aKey == EPtiKeyQwertyW ||
-    		    aKey == EPtiKeyQwertyO ||
-    		    aKey == EPtiKeyQwertyP ||
-    		    aKey == EPtiKeyQwertyA ||
-    		    aKey == EPtiKeyQwertyS ||
-    		    aKey == EPtiKeyQwertyL ||
-    		    aKey == EPtiKeyQwertyZ ||
-    		    aKey == EPtiKeyQwertyX ||
-    		    aKey == EPtiKeyQwertyC ||
-    		    aKey == EPtiKeyQwertyV ||
-    		    aKey == EPtiKeyQwertyB ||
-    		    aKey == EPtiKeyQwertyN ||
-    		    aKey == EPtiKeyQwertyM )
-    	{
-    	 if(EStroke ==iOwner->FepMan()->InputMode())
-    	 	{
-    	 	iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-    		//iOwner->FepMan()->TryCloseUiL();
-    	 	}	
-    	}
-    else
-    {
-    ret = TAknFepInputStateCandidateQwertyBaseChinesePhrase::HandleKeyL(aKey, aLength);
-    }        		    
-      
-    return ret;
- }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStatePredictiveCandidateMiniQwertyChinesePhrase::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStatePredictiveCandidateMiniQwertyChinesePhrase::HandleCommandL(
-    TInt aCommandId )
-    {
-    TBool state = ETrue;
-    switch ( aCommandId )
-        {
-        // Handle the event frome command.
-        case EAknSoftkeySelect:
-            // case (TUint16)EAknSoftkeySelect: //the Selected in soft CBA
-            if ( UIContainer()->EditPaneWindow()->IsChangeState( ) )
-                {
-                state = EFalse;
-                }
-            else
-                {
-                UIContainer()->EditPaneWindow()->SetChangeState( EFalse );
-                }
-            if ( state )
-                {
-                TPtrC text = UIContainer()->CandidatePane()->CurrentPhraseCandidate( );
-                if ( text.Length( ) )
-                    {
-                    MAknFepManagerUIInterface* fepMan = iOwner->FepMan( );
-                    fepMan->NewTextL( text );
-                    fepMan->CommitInlineEditL( );
-                    iOwner->PtiEngine()->SetPredictiveChineseChar( text );
-                    if ( fepMan->IsFlagSet( CAknFepManager::EFlagEditorFull ) )
-                        {
-                        fepMan->ClearFlag( CAknFepManager::EFlagEditorFull );
-                        iOwner->FepMan()->TryCloseUiL( );
-                        }
-                    else
-                        {
-                        iOwner->ChangeState( EPredictiveCandidate );
-                        }
-                    }
-                }
-            break;
-        default:
-            TAknFepInputStateChineseBase::HandleCommandL( aCommandId );
-            break;
-        }
-    }
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStatePredictiveCandidatePhrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-/*
-* Copyright (c) 2004 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:           
-*       Provides the TAknFepInputStatePredictiveCandidatePhrase methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStatePredictiveCandidatePhrase.h"
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-
-#include <PtiEngine.h>                      //CPtiEngine
-
-TAknFepInputStatePredictiveCandidatePhrase::TAknFepInputStatePredictiveCandidatePhrase(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateCandidateBasePhrase(aOwner, aUIContainer)
-    {
-    iState = EPredictiveCandidate;
-    
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-
-    // set container window position to follow cursor
-    TPoint baseLine = TPoint(0,0);
-    TInt height = 0;
-    TInt ascent = 0;
-    TRAPD(ret,iOwner->FepMan()->GetScreenCoordinatesL(baseLine,height,ascent));
-    if (ret == KErrNone)
-        {
-        uiContainer->SetContainerPosition(baseLine, height);    
-        }
-    uiContainer->FocusCandidatePane(ETrue);
-
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-    // for some reason needs to feed back to ptiengine current Chinese phrase just before get the prediction
-    TPtrC text = candidatePane->CurrentPhraseCandidate();
-    candidatePane->SelectFirstPhrase(); 
-    ptiengine->SetPredictiveChineseChar(text);
-    
-    TRAPD(ignore,ptiengine->GetChinesePhraseCandidatesL(*(candidatePane->CandidateArray())));
-    if (ignore == KErrNone)
-        {
-        candidatePane->SplitPhraseCandidatesIntoPages(); 
-        uiContainer->SetLayout(MAknFepUICtrlContainerChinese::ELayoutCandidate);
-        candidatePane->SetCandidateBuffer();
-
-        TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() &&
-                                uiContainer->CandidatePane()->IsFirstPage());
-        TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-        TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-
-        uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows); 
-        uiContainer->ShowVerticalScrollArrows(multiplePages);
-        candidatePane->ShowCandidateOrdinals(EFalse);
-        }
-    }
-
-TBool TAknFepInputStatePredictiveCandidatePhrase::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    TBool ret = ETrue;
-
-    if(aLength == ELongKeyPress) 
-        {
-        return ret;
-        }
-    if(iOwner->IsValidChineseInputKey(aKey))
-        {
-        CPtiEngine* ptiengine = iOwner->PtiEngine();
-        // needs to clear current word for current engine, otherwise buffer is not cleared
-        ptiengine->ClearCurrentWord(); 
-        ptiengine->ResetToneMark();
-
-        iOwner->ChangeState(EEntry);
-        ret = EFalse; //passes to entry state to handle the key
-        }
-    if(!HandleVerticalNavigation(aKey))
-        {
-        if (aKey == EKeyLeftArrow || aKey == EKeyRightArrow || aKey == EKeyOK)
-            {
-            iOwner->ChangeState(EPredictiveInput);
-            ret = EFalse; //passes to predictive input state to handle the key
-            }
-        else if(aKey == EKeyBackspace)
-            {
-            iOwner->FepMan()->TryCloseUiL();
-            }
-        else if (aKey == EPtiKeyStar)
-            {
-            ret = TAknFepInputStateCandidateBasePhrase::HandleKeyL(aKey, aLength);
-            }   
-        }
-    return ret;
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStatePredictiveCandidatePinyin.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the TAknFepInputStatePredictiveCandidatePinyin methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStatePredictiveCandidatePinyin.h"
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-
-TAknFepInputStatePredictiveCandidatePinyin::TAknFepInputStatePredictiveCandidatePinyin(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStatePredictiveCandidate(aOwner, aUIContainer)
-    {
-    }
-
-TBool TAknFepInputStatePredictiveCandidatePinyin::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    if ((aKey == EPtiKey0) || (aKey == EPtiKey1))
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        return EFalse;
-        }
-    else
-        {
-        return TAknFepInputStatePredictiveCandidate::HandleKeyL(aKey, aLength);
-        }
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStatePredictiveCandidatePinyinPhrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
-* Copyright (c) 2004 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:           
-*       Provides the TAknFepInputStatePredictiveCandidatePinyinPhrase methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStatePredictiveCandidatePinyinPhrase.h"
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUICtrlCandidatePane.h"
-
-#include <PtiEngine.h>                      //CPtiEngine
-
-TAknFepInputStatePredictiveCandidatePinyinPhrase::TAknFepInputStatePredictiveCandidatePinyinPhrase(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStatePredictiveCandidateChinesePhrase(aOwner, aUIContainer)
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-     
-    uiContainer->FocusCandidatePane(ETrue);
-    uiContainer->SetLayout(MAknFepUICtrlContainerChinese::ELayoutCandidate);
-
-    TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() &&
-                            uiContainer->CandidatePane()->IsFirstPage());
-    TInt bufLength = ptiengine->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-            
-    UIContainer()->ShowHorizontalScrollArrows(showHorizontalScrollArrows); 
-    UIContainer()->ShowVerticalScrollArrows(multiplePages);
-    UpdateIndicator();
-    }
-
-TBool TAknFepInputStatePredictiveCandidatePinyinPhrase::HandleKeyL(TInt aKey, 
-                                                                   TKeyPressLength aLength)
-    {
-    if(((aKey == EPtiKey0) || (aKey == EPtiKey1)) && aLength == EShortKeyPress )
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        return EFalse;
-        }
-    else
-        {
-        return TAknFepInputStatePredictiveCandidateChinesePhrase::HandleKeyL(aKey, aLength);
-        }
-    }
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStatePredictiveCandidateQwertyZhuyin.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStatePredictiveCandidateQwertyZhuyin methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStatePredictiveCandidateQwertyZhuyin.h"
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepManager.h"                  //FepMan flag
-
-#include <PtiEngine.h>                      //CPtiEngine
-
-TAknFepInputStatePredictiveCandidateQwertyZhuyin::TAknFepInputStatePredictiveCandidateQwertyZhuyin(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateCandidateQwertyChinese(aOwner, aUIContainer)
-    {
-    iState = EPredictiveCandidate;
-    
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    // set container window position to follow cursor
-    TPoint baseLine = TPoint(0,0);
-    TInt height = 0;
-    TInt ascent = 0;
-    TRAPD(ret,iOwner->FepMan()->GetScreenCoordinatesL(baseLine,height,ascent));
-    if (ret == KErrNone)
-        {
-        uiContainer->SetContainerPosition(baseLine, height);    
-        }
-
-    uiContainer->FocusCandidatePane(ETrue);
-    uiContainer->SetLayout(MAknFepUICtrlContainerChinese::ELayoutCandidate);
-
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    uiContainer->CandidatePane()->SelectFirst(); 
-    uiContainer->CandidatePane()->SetCandidateBuffer(ptiengine->CandidatePage());
-
-    TBool multiplePages = ptiengine->MoreCandidatePages();
-    TInt bufLength = ptiengine->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-    
-    uiContainer->ShowVerticalScrollArrows(multiplePages);
-    uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows);
-    uiContainer->CandidatePane()->ShowCandidateOrdinals(EFalse);
-    UpdateIndicator();
-    }
-
-TBool TAknFepInputStatePredictiveCandidateQwertyZhuyin::HandleKeyL(TInt aKey, 
-                                                                   TKeyPressLength aLength)
-    {
-    TBool ret = ETrue;
-    
-    if(aKey == EStdKeyBackspace)
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        }
-    else if(aKey == EStdKeyLeftFunc && aLength == EShortKeyPress)
-        {
-        MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-        if (fepMan->IsAbleToLaunchSCT())
-            {
-            fepMan->LaunchSpecialCharacterTableL();
-            }
-        }
-    else if(iOwner->IsQwertyZhuyinToneMarkKey(aKey))
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        return EFalse;
-        }
-    else if(iOwner->IsValidChineseInputKeyQwerty(aKey))
-        {
-        CPtiEngine* ptiengine = iOwner->PtiEngine();
-        // it is needed when we use phrase input engine, otherwise it seems not cleared
-        ptiengine->ClearCurrentWord(); 
-        ptiengine->ResetToneMark();
-
-        iOwner->ChangeState(EEntry);
-        ret = EFalse; //passes to entry state to handle the key
-        }
-    else if(!HandleVerticalNavigation(aKey))
-        {
-        if (aKey == EStdKeyLeftArrow || aKey == EStdKeyRightArrow)
-            {
-            iOwner->ChangeState(EPredictiveInput);
-            ret = EFalse; //passes to predictive input state to handle the key
-            }
-        else
-            {
-            ret = TAknFepInputStateCandidateQwertyChinese::HandleKeyL(aKey, aLength);
-            }
-        }
-    return ret;
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStatePredictiveCandidateQwertyZhuyinPhrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,165 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStatePredictiveCandidateQwertyZhuyinPhrase methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStatePredictiveCandidateQwertyZhuyinPhrase.h"
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepManager.h"                  //FepMan flag
-
-#include <PtiEngine.h>                      //CPtiEngine
-
-TAknFepInputStatePredictiveCandidateQwertyZhuyinPhrase::
-TAknFepInputStatePredictiveCandidateQwertyZhuyinPhrase(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateCandidateQwertyChinesePhrase(aOwner, aUIContainer)
-    {
-    iState = EPredictiveCandidate;
-    
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    // set container window position to follow cursor
-    TPoint baseLine = TPoint(0,0);
-    TInt height = 0;
-    TInt ascent = 0;
-    TRAPD(ret,iOwner->FepMan()->GetScreenCoordinatesL(baseLine,height,ascent));
-    if (ret == KErrNone)
-        {
-        uiContainer->SetContainerPosition(baseLine, height);    
-        }
-    uiContainer->FocusCandidatePane(ETrue);
-
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-    // for some reason needs to feed back to ptiengine current Chinese phrase just before get the prediction
-    candidatePane->SelectFirstPhrase(); 
-    
-    TRAPD(ignore,ptiengine->GetChinesePhraseCandidatesL(*(candidatePane->CandidateArray())));
-    if (ignore == KErrNone)
-        {
-        candidatePane->SplitPhraseCandidatesIntoPages(); 
-        uiContainer->SetLayout(MAknFepUICtrlContainerChinese::ELayoutCandidate);
-        candidatePane->SetCandidateBuffer();
-    
-        TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() &&
-                                uiContainer->CandidatePane()->IsFirstPage());
-        TInt bufLength = ptiengine->CandidatePage().Length();
-        TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-    
-        uiContainer->ShowVerticalScrollArrows(multiplePages);
-        uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows);
-        candidatePane->ShowCandidateOrdinals(EFalse);
-        UpdateIndicator();    
-        }
-    }
-
-TBool TAknFepInputStatePredictiveCandidateQwertyZhuyinPhrase::HandleKeyL(TInt aKey, 
-                                                                         TKeyPressLength aLength)
-    {
-    TBool ret = ETrue;
-
-    if (iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode) ||
-        iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed))
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        return  EFalse;
-        }    
-    if(aKey == EStdKeyBackspace)
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        }
-    else if(aKey == EStdKeyLeftFunc && aLength == EShortKeyPress)
-        {
-        MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-        if (fepMan->IsAbleToLaunchSCT())
-            {
-            fepMan->LaunchSpecialCharacterTableL();
-            }
-        }
-    else if(iOwner->IsQwertyZhuyinToneMarkKey(aKey))
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        return EFalse;
-        }
-    else if(iOwner->IsValidChineseInputKeyQwerty(aKey))
-        {
-        CPtiEngine* ptiengine = iOwner->PtiEngine();
-        // it is needed when we use phrase input engine, otherwise it seems not cleared
-        ptiengine->ClearCurrentWord(); 
-        ptiengine->ResetToneMark();
-
-        iOwner->ChangeState(EEntry);
-        ret = EFalse; //passes to entry state to handle the key
-        }
-    else if (aKey == EStdKeyEnter || aKey == EStdKeySpace)
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        iOwner->ChangeState(EQwerty);
-        return EFalse;
-        }
-    else if(!HandleVerticalNavigation(aKey))
-        {
-        MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-      
-        if (aKey == EStdKeyLeftArrow )
-            {
-            if (candidatePane->SelectedIndex() == 0 && 
-                candidatePane->IsFirstPage())
-                {
-                return ETrue;    
-                }
-            else
-                {
-                iOwner->ChangeState(EPredictiveInput);
-                return EFalse;
-                }
-            }				
-        else if (aKey == EStdKeyRightArrow)
-            {
-            if (candidatePane->IsLastPage() && 
-               (candidatePane->SelectedIndex() == candidatePane->VisibleCandidateCount() - 1))
-                {
-                return ETrue;    
-                }
-            else
-                {
-                iOwner->ChangeState(EPredictiveInput);
-                return EFalse;
-                }
-            }
-        else
-            {
-            ret = TAknFepInputStateCandidateQwertyChinesePhrase::HandleKeyL(aKey, aLength);
-            }
-        }
-        
-    return ret;
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStatePredictiveCandidateStroke.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the TAknFepInputStatePredictiveCandidateStroke methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStatePredictiveCandidateStroke.h"
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-#include "AknFepUICtrlCandidatePane.h"      //MAknFepUICtrlCandidatePane
-#include <PtiEngine.h>                      //CPtiEngine
-
-TAknFepInputStatePredictiveCandidateStroke::TAknFepInputStatePredictiveCandidateStroke(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateCandidateChinese(aOwner, aUIContainer)
-    {
-    iState = EPredictiveCandidate;
-    
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    
-    // set container window position to follow cursor
-    TPoint baseLine = TPoint(0,0);
-    TInt height = 0;
-    TInt ascent = 0;
-    TRAPD(ret,iOwner->FepMan()->GetScreenCoordinatesL(baseLine,height,ascent));
-    if (ret == KErrNone)
-        {
-        uiContainer->SetContainerPosition(baseLine, height);    
-        }
-
-    uiContainer->FocusCandidatePane(ETrue);
-    uiContainer->SetLayout(MAknFepUICtrlContainerChinese::ELayoutCandidate);
-
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    ptiengine->SetCandidatePageLength(MAknFepUICtrlContainerChinese::ELayoutInput);
-
-    // for some reason needs to feed back to ptiengine current Chinese char just before get the prediction
-    TPtrC text = uiContainer->CandidatePane()->CurrentCandidate();
-    uiContainer->CandidatePane()->SelectFirst(); 
-    ptiengine->SetPredictiveChineseChar(text);
-    
-    uiContainer->CandidatePane()->SetCandidateBuffer(ptiengine->CandidatePage());
-
-    TBool multiplePages = ptiengine->MoreCandidatePages();
-    TInt bufLength = ptiengine->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-    
-    uiContainer->ShowVerticalScrollArrows(multiplePages);
-    uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows);
-    uiContainer->CandidatePane()->ShowCandidateOrdinals(EFalse);    
-    }
-
-TBool TAknFepInputStatePredictiveCandidateStroke::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    if (aKey == EPtiKey0 || aKey == EPtiKey7 ||
-        aKey == EPtiKey8 || aKey == EPtiKey9)
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        return EFalse;
-        }
-        
-    TBool ret = ETrue;
-    if(aLength == ELongKeyPress) 
-        {
-        return ret;
-        }
-    if(iOwner->IsValidChineseInputKey(aKey))
-        {
-        CPtiEngine* ptiengine = iOwner->PtiEngine();
-        // it is needed when we use phrase input engine, otherwise it seems not cleared
-        ptiengine->ClearCurrentWord(); 
-        ptiengine->ResetToneMark();
-
-        iOwner->ChangeState(EEntry);
-        ret = EFalse; //passes to entry state to handle the key
-        }
-        
-    if(!HandleVerticalNavigation(aKey))
-        {
-        if (aKey == EKeyLeftArrow || aKey == EKeyRightArrow || aKey == EKeyOK)
-            {
-            iOwner->ChangeState(EPredictiveInput);
-            ret = EFalse; //passes to predictive input state to handle the key
-            }
-        else if(aKey == EKeyBackspace)
-            {
-            iOwner->FepMan()->TryCloseUiL();
-            }
-        else if (aKey == EPtiKeyStar)
-            {
-            ret = TAknFepInputStateCandidateChinese::HandleKeyL(aKey, aLength);
-            }   
-        }
-    return ret;
-    }
--- a/fep/aknfep/src/AknFepUiInputStatePredictiveCandidateStrokePhrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-/*
-* 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:            Implementation of Stroke phrase predictive candidate state
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// System includes
-#include <PtiEngine.h>                      
-
-// User includes
-#include "AknFepUiInputStatePredictiveCandidateStrokePhrase.h"
-#include "AknFepUIManagerStateInterface.h"  
-#include "AknFepManagerUIInterface.h"       
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUICtrlCandidatePane.h"
-
-// Constant definition
-const TInt KMinCnadidateCount = 1;
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStatePredictiveCandidateStrokePhrase::
-// TAknFepInputStatePredictiveCandidateStrokePhrase
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-TAknFepInputStatePredictiveCandidateStrokePhrase::TAknFepInputStatePredictiveCandidateStrokePhrase(
-    MAknFepUIManagerStateInterface* aOwner,
-    MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStatePredictiveCandidateChinesePhrase(aOwner, aUIContainer)
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    
-    uiContainer->FocusCandidatePane(ETrue);
-    uiContainer->SetLayout(MAknFepUICtrlContainerChinese::ELayoutCandidate);
-
-    TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() &&
-                            uiContainer->CandidatePane()->IsFirstPage());
-    TInt bufLength = ptiengine->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength > KMinCnadidateCount;
-            
-    uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows); 
-    uiContainer->ShowVerticalScrollArrows(multiplePages);
-    UpdateIndicator();
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStatePredictiveCandidateStrokePhrase::HandleKeyL
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputStatePredictiveCandidateStrokePhrase::HandleKeyL(TInt aKey, 
-                                                                   TKeyPressLength aLength)
-    {
-    if(aKey == EPtiKey0 || aKey == EPtiKey7 ||
-       aKey == EPtiKey8 || aKey == EPtiKey9)
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        return EFalse;
-        }
-
-    return TAknFepInputStatePredictiveCandidateChinesePhrase::HandleKeyL(aKey, aLength);
-    }
-    
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStatePredictiveInput.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the TAknFepInputStatePredictiveInput methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUiInputStatePredictiveInput.h"
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-
-#include <PtiEngine.h>                      //CPtiEngine
-
-TAknFepInputStatePredictiveInput::TAknFepInputStatePredictiveInput(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateCandidateBase(aOwner, aUIContainer)
-    {
-    iState = EPredictiveInput;
-
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    
-    uiContainer->CandidatePane()->SelectFirst(); 
-
-    TBool multiplePages = iOwner->PtiEngine()->MoreCandidatePages();
-    TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-
-    uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows); 
-    uiContainer->FocusCandidatePane(ETrue);
-    uiContainer->CandidatePane()->ShowCandidateOrdinals(ETrue);
-    }
-
-TBool TAknFepInputStatePredictiveInput::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    TBool response = ETrue;
-     
-    switch (aKey)
-        {
-    case EKeyOK:        //fall through
-    case EPtiKey0:
-    case EPtiKey1:
-    case EPtiKey2:
-    case EPtiKey3:
-    case EPtiKey4:
-    case EPtiKey5:
-    case EPtiKey6:
-    case EPtiKey7:
-    case EPtiKey8:
-    case EPtiKey9:
-        TAknFepInputStateCandidateBase::HandleKeyL(aKey, aLength);
-        break;
-    case EKeyBackspace: //fall through
-        iOwner->FepMan()->TryCloseUiL();
-        break;
-    default:
-        response = TAknFepInputStateCandidateBase::HandleKeyL(aKey, aLength);
-        break;
-        }
-    return response;
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStatePredictiveInputChinese.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-/*
-* 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:            Implementation of ITUT preditive input state
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// System includes
-#include <PtiEngine.h>                      //CPtiEngine
-
-// User includes
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUiInputStatePredictiveInputChinese.h"
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStatePredictiveInputChinese::
-// TAknFepInputStatePredictiveInputChinese
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-TAknFepInputStatePredictiveInputChinese::TAknFepInputStatePredictiveInputChinese(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateCandidateChinese(aOwner, aUIContainer)
-    {
-    iState = EPredictiveInput;
-
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    uiContainer->CandidatePane()->SelectFirst(); 
-
-    TBool multiplePages = iOwner->PtiEngine()->MoreCandidatePages();
-    TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength > 1;
-
-    uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows); 
-    uiContainer->FocusCandidatePane(ETrue);
-    uiContainer->CandidatePane()->ShowCandidateOrdinals(ETrue);
-    }
-    
-// ---------------------------------------------------------------------------
-// TAknFepInputStatePredictiveInputChinese::
-// HandleKeyL
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputStatePredictiveInputChinese::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    TBool response = ETrue;
-     
-    switch (aKey)
-        {
-        case EKeyOK:        //fall through
-        case EPtiKey0:
-        case EPtiKey1:
-        case EPtiKey2:
-        case EPtiKey3:
-        case EPtiKey4:
-        case EPtiKey5:
-        case EPtiKey6:
-        case EPtiKey7:
-        case EPtiKey8:
-        case EPtiKey9:
-            TAknFepInputStateCandidateChinese::HandleKeyL(aKey, aLength);
-            break;
-        case EKeyBackspace: //fall through
-            iOwner->FepMan()->TryCloseUiL();
-        break;
-        default:
-            response = TAknFepInputStateCandidateChinese::HandleKeyL(aKey, aLength);
-        break;
-        }
-        
-    return response;
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStatePredictiveInputChinesePhrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-/*
-* 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:            Implementation of predictive input phrase state
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUiInputStatePredictiveInputChinesePhrase.h"
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-
-#include <PtiEngine.h>                      //CPtiEngine
-
-TAknFepInputStatePredictiveInputChinesePhrase::TAknFepInputStatePredictiveInputChinesePhrase(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateCandidateBaseChinesePhrase(aOwner, aUIContainer)
-    {
-    iState = EPredictiveInput;
-
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-
-    candidatePane->SelectFirstPhrase(); 
-
-    TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() &&
-                            uiContainer->CandidatePane()->IsFirstPage());
-    TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-
-    UIContainer()->ShowHorizontalScrollArrows(showHorizontalScrollArrows); 
-    UIContainer()->ShowVerticalScrollArrows(multiplePages);
-    uiContainer->FocusCandidatePane(ETrue);
-    candidatePane->ShowCandidateOrdinals(ETrue);
-    UpdateIndicator();
-    }
-
-TBool TAknFepInputStatePredictiveInputChinesePhrase::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    TBool response = ETrue;
-     
-    switch (aKey)
-        {
-    case EKeyOK:        //fall through
-    case EPtiKey0:
-    case EPtiKey1:
-    case EPtiKey2:
-    case EPtiKey3:
-    case EPtiKey4:
-    case EPtiKey5:
-    case EPtiKey6:
-    case EPtiKey7:
-    case EPtiKey8:
-    case EPtiKey9:
-        TAknFepInputStateCandidateBaseChinesePhrase::HandleKeyL(aKey, aLength);
-        break;
-    case EKeyBackspace: //fall through
-        iOwner->FepMan()->TryCloseUiL();
-        break;
-    default:
-        response = TAknFepInputStateCandidateBaseChinesePhrase::HandleKeyL(aKey, aLength);
-        break;
-        }
-    return response;
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStatePredictiveInputJapanese.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,497 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:            Provides the
-*                TAknFepUiInputStatePredictiveInputJapanese methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include "AknFepUiInputStatePredictiveInputJapanese.h"
-#include "AknFepUIManagerStateInterface.h"  // MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"       // MAknFepManagerUIInterface
-#include "AknFepUICtrlContainerJapanese.h"  // MAknFepUICtrlContainerJapanese
-#include "AknFepUICtrlCandidatePaneInterface.h"
-                                       // MAknFepUICtrlCandidatePaneInterface
-#include "AknFepGlobalEnums.h"
-#include "AknFepPanic.h"
-
-#include <PtiDefs.h>                    // keys
-#include <PtiEngine.h>
-#include <PtiCompositionDataIF.h>       // MPtiEngineCompositionDataInterface
-#include <aknfep.rsg>
-#include <avkon.rsg>
-
-// CONSTANTS
-const TText KAknFEPLineFeedSymbol = 0x21B2;
-const TText KAknFEPMirroredLineFeedSymbol = 0x21B3;
-
-/**
- *  TAknFepUiInputStatePredictiveInputJapanese class.
- *
- */
-//============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStatePredictiveInputJapanese::
-//                      TAknFepUiInputStatePredictiveInputJapanese
-// C++ default Constructor
-// ---------------------------------------------------------------------------
-//
-TAknFepUiInputStatePredictiveInputJapanese::
-    TAknFepUiInputStatePredictiveInputJapanese(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerJapanese* aUIContainer)
-    :TAknFepUiInputStateJapanesePredictiveBase(aOwner, aUIContainer)
-    {
-    iState = EPredictiveInput;
-    iCbaResourceID = R_AKNFEP_SOFTKEYS_CONVERT_OTHER_SELECT;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStatePredictiveInputJapanese::KeyTimerExpired
-// Call this function when Multitap timer of PtiEngine was time-out
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStatePredictiveInputJapanese::KeyTimerExpired()
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    const MPtiEngineCompositionDataInterface* data = ptiEngine->CompositionData();
-
-    TPtrC text = data->ConvertingString();
-    TInt cursorpos = data->CursorPosition();
-    if (text.Length() > 0)
-        {
-        if (text[0] == KAknFEPLineFeedSymbol
-         || text[0] == KAknFEPMirroredLineFeedSymbol)
-            {
-            iOwner->ChangeState(EInitial);
-            }
-        else
-            {
-            // Set on cursor visibility in inline editing
-            TRAPD(err, fepMan->SetInlineEditingCursorVisibilityL(ETrue));
-            if (err == KErrNone)
-                {
-                TRAP(err, fepMan->UpdateInlineEditL(text, cursorpos));
-                }
-            if (err != KErrNone)
-                {
-                TRAP_IGNORE(iOwner->FepMan()->SimulateKeyEventL(EKeyEscape, ETrue));
-                }
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStatePredictiveInputJapanese::InitializeStateL
-// Initialize State
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStatePredictiveInputJapanese::InitializeStateL()
-    {
-    iOwner->SetInlineEditUnderlineVisibility(ETrue);
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStatePredictiveInputJapanese::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStatePredictiveInputJapanese::
-    HandleCommandL(TInt aCommandId)
-    {
-    switch (aCommandId)
-        {
-        case EAknFepSoftkeySelectCandidate:
-            {
-            iOwner->FepMan()->UpdateCbaL(NULL);
-            CPtiEngine* ptiEngine = iOwner->PtiEngine();
-            const MPtiEngineCompositionDataInterface* data = ptiEngine->CompositionData();
-            TPtrC textConv = data->ConvertingString();
-            TPtrC textComp = data->CompletedString();
-            if (textConv.Length() > 0 || textComp.Length() > 0)
-                {
-                iOwner->ChangeState(EMultiCompletion);
-                }
-            else
-                {
-                iOwner->ChangeState(EInitial);
-                }
-            }
-            break;
-        case EAknFepSoftkeyConvert:
-            {
-            // change state to conversion
-            ChangeStateToConversionL();
-            }
-            break;
-        case EAknFepSoftkeyOtherModes:
-            {
-            MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-            CPtiEngine* ptiEngine = iOwner->PtiEngine();
-            MAknFepUICtrlContainerJapanese* uicontainer = UIContainer();
-            MAknFepUICtrlCandidatePaneInterface* predictivePane =
-                uicontainer->CandidatePane(MAknFepUICtrlContainerJapanese::
-                                           EJapanesePredictiveCandidatePane);
-            // Closeing candidate pop-up list
-            predictivePane->HideWindow();
-            // Update of CBA
-            iOwner->FepMan()->UpdateCbaL(NULL);
-            // Delete Cursor
-            fepMan->SetInlineEditingCursorVisibilityL(EFalse);
-            // Change the status to Retroactive input
-            iOwner->ChangeState(ECandidateRetroActive);
-            }
-            break;
-        case EAknFepSoftkeyPredictiveOn:
-            {
-            CPtiEngine* ptiEngine = iOwner->PtiEngine();
-            // normal operation
-            if (UpdateInlineEditingCharacterL())
-                {
-                CDesCArrayFlat* candidateArray = iOwner->CandidateArray();
-                ptiEngine->GetCandidateListL(*candidateArray);
-                UpdateCandidateListL();
-                }
-            }
-            break;
-        case EAknFepResourceChanged:
-            {
-            MAknFepUICtrlContainerJapanese* uicontainer = UIContainer();
-            MAknFepUICtrlCandidatePaneInterface* predictivePane =
-                uicontainer->CandidatePane(MAknFepUICtrlContainerJapanese::
-                                           EJapanesePredictiveCandidatePane);
-            TInt index = predictivePane->CurrentItemIndexOfCandidate();
-            predictivePane->HideWindow();
-            UpdateCandidateListL(index);
-            }
-            break;
-        default:
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStatePredictiveInputJapanese::HandleNumericShortKeyL
-// Handling numeric keypress event
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStatePredictiveInputJapanese::
-    HandleNumericShortKeyL(TInt aKey)
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    TBool cursornisibility = EFalse;
-    TBool inputcontinue = ETrue;
-
-    if (aKey == EStdKeySpace)
-        {
-        const MPtiEngineCompositionDataInterface* data = ptiEngine->CompositionData();
-        TPtrC text = data->ConvertingString();
-        if (text.Length() > 0)
-            {
-            HandleCommandL(EAknFepSoftkeyConvert);
-            inputcontinue = EFalse;
-            }
-        }
-
-    if (inputcontinue)
-        {
-        if (aKey == EPtiKeyStar)
-            {
-            cursornisibility = ETrue;
-            }
-        // Setting Cursor visibility
-        fepMan->SetInlineEditingCursorVisibilityL(cursornisibility);
-
-        // To send a key to PtiEngine
-        // Notice: AppendKeyPress() must be called after SetInlineEditingCursorVisibilityL().
-        ptiEngine->AppendKeyPress((TPtiKey)aKey);
-
-        // this process run if completion character (line feed or space) exist.
-        const MPtiEngineCompositionDataInterface* data = ptiEngine->CompositionData();
-        TPtrC text = data->CompletedString();
-        if (text.Length() > 0)
-            {
-            CloseUI();
-            return ETrue;
-            }
-        // normal operation
-        if (UpdateInlineEditingCharacterL())
-            {
-            // for Qwerty input, if including latin characters,
-            // close candidate list.
-            if (!iOwner->IsQwerty()
-             || !IsFullWidthAlphaChar(data->ConvertingString()))
-                {
-                CDesCArrayFlat* candidateArray = iOwner->CandidateArray();
-                ptiEngine->GetCandidateListL(*candidateArray);
-                UpdateCandidateListL();
-                }
-            }
-        }
-    return ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStatePredictiveInputJapanese::HandleAuxKeyL
-// Handling auxiliary keypress events including OK and Backspace
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStatePredictiveInputJapanese::HandleAuxKeyL(TInt aKey,
-                                                                TKeyPressLength /*aLength*/)
-    {
-    TBool ret = EFalse;
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-
-    switch(aKey)
-        {
-        case EKeyOK:
-        case EStdKeyDevice3:        /* 0xA7 */
-        case EStdKeyEnter:          /* 0x03 */
-        case EStdKeyNkpEnter:       /* 0x88 */
-            {
-            iOwner->FepMan()->UpdateCbaL(NULL);
-            iOwner->ChangeState(EMultiCompletion);
-            ret = EFalse;
-            }
-            break;
-        case EKeyBackspace:
-        case EStdKeyBackspace:      /* 0x01 */
-        case EStdKeyEscape:         /* 0x04 */
-            {
-            fepMan->SetInlineEditingCursorVisibilityL(ETrue);
-            ptiEngine->DeleteKeyPress();
-
-            if (UpdateInlineEditingCharacterL())
-                {
-                // get composition data.
-                const MPtiEngineCompositionDataInterface* data = ptiEngine->CompositionData();
-                // for Qwerty input, if including latin characters,
-                // close candidate list.
-                if (!iOwner->IsQwerty()
-                 || !IsFullWidthAlphaChar(data->ConvertingString()))
-                    {
-                    CDesCArrayFlat* candidateArray = iOwner->CandidateArray();
-                    ptiEngine->GetCandidateListL(*candidateArray);
-                    UpdateCandidateListL();
-                    }
-                else
-                    {
-                    // Update of CBA
-                    TInt newResource = R_AVKON_SOFTKEYS_EMPTY;
-                    fepMan->UpdateCbaL(newResource);
-                    }
-                }
-            ret = ETrue;
-            }
-            break;
-        default: // Panic
-            {
-            AknFepPanic(EAknFepPanicNotSupportKey);
-            }
-            break;
-        }
-
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateJapanesePredictiveBase::HandleNaviKeyL
-// Handling Navigate keypress event
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStatePredictiveInputJapanese::
-  HandleNaviKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    TBool ret = EFalse;
-    switch(aKey)
-        {
-        case EKeyDownArrow:
-        case EStdKeyDownArrow:      /* 0x11 */
-        case EKeyUpArrow:
-        case EStdKeyUpArrow:        /* 0x10 */
-        case EKeyLeftArrow:
-        case EStdKeyLeftArrow:      /* 0x0e */
-            {
-            CPtiEngine* ptiEngine = iOwner->PtiEngine();
-            MAknFepUICtrlContainerJapanese* uicontainer = UIContainer();
-            MAknFepUICtrlCandidatePaneInterface* predictivePane =
-                uicontainer->CandidatePane(MAknFepUICtrlContainerJapanese::
-                                           EJapanesePredictiveCandidatePane);
-            if (predictivePane->CurrentItemIndexOfCandidate() == 0
-             && ptiEngine->NumberOfCandidates() == 1)
-                {
-                // change state to entry
-                ChangeStateToEntryL();
-                // go through the key event.
-                return EFalse;
-                }
-            }
-            break;
-        default:
-            break;
-        }
-    if (!ret)
-        {
-        ret = TAknFepUiInputStateJapanesePredictiveBase::HandleNaviKeyL(aKey, aLength);
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStatePredictiveInputJapanese::IsFullWidthAlphaChar
-// Check full-width alphabet character
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStatePredictiveInputJapanese::IsFullWidthAlphaChar(TPtrC aPtr)
-    {
-    const TUint KFullAlphaLargeA = 0xFF21;
-    const TUint KFullAlphaLargeZ = 0xFF3A;
-    const TUint KFullAlphaSmallA = 0xFF41;
-    const TUint KFullAlphaSmallZ = 0xFF5A;
-
-    TBool isAlpha = EFalse;
-    for (TInt i=aPtr.Length()-1; i >= 0 && !isAlpha; i--)
-        {
-        TUint ch = aPtr[i];
-        isAlpha = (KFullAlphaLargeA <= ch && ch <= KFullAlphaLargeZ)
-                 || (KFullAlphaSmallA <= ch && ch <= KFullAlphaSmallZ);
-        }
-    return isAlpha;
-    }
-
-/**
- * TAknFepUiInputStatePredictiveInputJapanese::ChangeStateToConversionL();
- * Change state to conversion
- */
-void TAknFepUiInputStatePredictiveInputJapanese::ChangeStateToConversionL()
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerJapanese* uicontainer = UIContainer();
-    MAknFepUICtrlCandidatePaneInterface* predictivePane =
-        uicontainer->CandidatePane(MAknFepUICtrlContainerJapanese::
-                                   EJapanesePredictiveCandidatePane);
-    // Closeing candidate pop-up list
-    predictivePane->HideWindow();
-    // Update of CBA
-    iOwner->FepMan()->UpdateCbaL(NULL);
-    // Delete Cursor
-    fepMan->SetInlineEditingCursorVisibilityL(EFalse);
-
-    // Update of inline editing characters
-    ptiEngine->HandleCommandL(EPtiCommandUserActionConvert);
-    const MPtiEngineCompositionDataInterface* data = ptiEngine->CompositionData();
-    TPtrC text = data->CompletedString();
-    TPtrC text2 = data->ConvertingString();
-    if (text.Length() >0)
-        {
-        iOwner->ChangeState(EMultiCompletion);
-        fepMan->CommitInlineEditL(text, text.Length());
-        if (fepMan->EditorHasFreeSpace())
-            {
-            iOwner->ChangeState(ENextWord);
-            }
-        else
-            {
-            CloseUI();
-            }
-        }
-    else if (text2.Length() > 0)
-        {
-        // Change to ConversionState
-        iOwner->ChangeState(EConversion);
-        fepMan->UpdateInlineEditL(text2, text2.Length());
-        }
-    }
-
-/**
- * TAknFepUiInputStatePredictiveInputJapanese::ChangeStateToEntryL();
- * Change state to Entry
- */
-void TAknFepUiInputStatePredictiveInputJapanese::ChangeStateToEntryL()
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerJapanese* uicontainer = UIContainer();
-    MAknFepUICtrlCandidatePaneInterface* predictivePane =
-        uicontainer->CandidatePane(MAknFepUICtrlContainerJapanese::
-                                   EJapanesePredictiveCandidatePane);
-    // Closeing candidate pop-up list
-    predictivePane->HideWindow();
-    // Update of CBA
-    iOwner->FepMan()->UpdateCbaL(NULL);
-    // Delete Cursor
-    fepMan->SetInlineEditingCursorVisibilityL(EFalse);
-
-    // Change to EntryState
-    iOwner->ChangeState(EEntry);
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStatePredictiveInputJapanese::CloseUI
-// Closing UI
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStatePredictiveInputJapanese::CloseUI()
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerJapanese* uicontainer = UIContainer();
-    MAknFepUICtrlCandidatePaneInterface* predictivePane =
-        uicontainer->CandidatePane(MAknFepUICtrlContainerJapanese::
-                                   EJapanesePredictiveCandidatePane);
-
-    const MPtiEngineCompositionDataInterface* currentdata = ptiEngine->CompositionData();
-    if (currentdata->ConvertingString().Length() >0)
-        {
-        TInt index = predictivePane->CurrentItemIndexOfCandidate();
-        if (index > -1)
-            {
-            TRAP_IGNORE( ptiEngine->HandleCommandL(EPtiCommandUserActionCompleteCandidate, &index));
-            }
-        else
-            {
-            TRAP_IGNORE( ptiEngine->HandleCommandL(EPtiCommandUserActionComplete));
-            }
-        }
-    const MPtiEngineCompositionDataInterface* commitdata = ptiEngine->CompositionData();
-    TPtrC text = commitdata->CompletedString();
-    if (text.Length() >0)
-        {
-        iOwner->ChangeState(EMultiCompletion);
-        TRAP_IGNORE( fepMan->CommitInlineEditL(text, text.Length()));
-        }
-
-    ptiEngine->ClearCurrentWord();
-    // Closing candidate pop-up list
-    predictivePane->HideWindow();
-    iOwner->ChangeState(EInitial);
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStatePredictiveInputPhrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/*
-* Copyright (c) 2004 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:           
-*       Provides the TAknFepInputStatePredictiveInputPhrase methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUiInputStatePredictiveInputPhrase.h"
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-
-#include <PtiEngine.h>                      //CPtiEngine
-
-TAknFepInputStatePredictiveInputPhrase::TAknFepInputStatePredictiveInputPhrase(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateCandidateBasePhrase(aOwner, aUIContainer)
-    {
-    iState = EPredictiveInput;
-
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-
-    candidatePane->SelectFirstPhrase(); 
-
-    TBool multiplePages = iOwner->PtiEngine()->MoreCandidatePages();
-    TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-
-    UIContainer()->ShowHorizontalScrollArrows(showHorizontalScrollArrows); 
-    UIContainer()->ShowVerticalScrollArrows(multiplePages);
-    uiContainer->FocusCandidatePane(ETrue);
-    candidatePane->ShowCandidateOrdinals(ETrue);
-    }
-
-TBool TAknFepInputStatePredictiveInputPhrase::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    TBool response = ETrue;
-     
-    switch (aKey)
-        {
-    case EKeyOK:        //fall through
-    case EPtiKey0:
-    case EPtiKey1:
-    case EPtiKey2:
-    case EPtiKey3:
-    case EPtiKey4:
-    case EPtiKey5:
-    case EPtiKey6:
-    case EPtiKey7:
-    case EPtiKey8:
-    case EPtiKey9:
-        TAknFepInputStateCandidateBasePhrase::HandleKeyL(aKey, aLength);
-        break;
-    case EKeyBackspace: //fall through
-        iOwner->FepMan()->TryCloseUiL();
-        break;
-    default:
-        response = TAknFepInputStateCandidateBasePhrase::HandleKeyL(aKey, aLength);
-        break;
-        }
-    return response;
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStatePredictiveInputQwerty.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,124 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStatePredictiveInputQwerty methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStatePredictiveInputQwerty.h"
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-#include "AknFepManager.h"                  //FepMan flag
-
-#include <PtiEngine.h>                      //CPtiEngine
-
-TAknFepInputStatePredictiveInputQwerty::TAknFepInputStatePredictiveInputQwerty(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateCandidateQwertyChineseBase(aOwner, aUIContainer)
-    {
-    iState = EPredictiveInput;
-    
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    // set container window position to follow cursor
-    TPoint baseLine = TPoint(0,0);
-    TInt height = 0;
-    TInt ascent = 0;
-    TRAPD(ret,iOwner->FepMan()->GetScreenCoordinatesL(baseLine,height,ascent));
-    if (ret == KErrNone)
-        {
-        uiContainer->SetContainerPosition(baseLine, height);    
-        }
-    uiContainer->FocusCandidatePane(ETrue);
-    uiContainer->SetLayout(MAknFepUICtrlContainerChinese::ELayoutCandidate);
-
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    ptiengine->SetCandidatePageLength(MAknFepUICtrlContainerChinese::ELayoutInput);
-
-    // for some reason needs to feed back to ptiengine current Chinese char just before get the prediction
-    TPtrC text = uiContainer->CandidatePane()->CurrentCandidate();
-    uiContainer->CandidatePane()->SelectFirst(); 
-    ptiengine->SetPredictiveChineseChar(text);
-    uiContainer->CandidatePane()->SetCandidateBuffer(ptiengine->CandidatePage());
-
-    TBool multiplePages = ptiengine->MoreCandidatePages();
-    TInt bufLength = ptiengine->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-    
-    uiContainer->ShowVerticalScrollArrows(multiplePages);
-    uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows);
-    uiContainer->CandidatePane()->ShowCandidateOrdinals(ETrue);
-    UpdateIndicator();
-    }
-
-TBool TAknFepInputStatePredictiveInputQwerty::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    TBool ret = ETrue;
-    
-    if(aKey == EStdKeyBackspace)
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        }
-    else if(aKey == EStdKeyLeftFunc && aLength == EShortKeyPress)
-        {
-        MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-        if (fepMan->IsAbleToLaunchSCT())
-            {
-            fepMan->LaunchSpecialCharacterTableL();
-            }
-        }
-    else if(iOwner->IsValidChineseInputKeyQwerty(aKey))
-        {
-        CPtiEngine* ptiengine = iOwner->PtiEngine();
-        // it is needed when we use phrase input engine, otherwise it seems not cleared
-        ptiengine->ClearCurrentWord(); 
-        ptiengine->ResetToneMark();
-
-        iOwner->ChangeState(EEntry);
-        ret = EFalse; //passes to entry state to handle the key
-        }
-    else if(aKey == EStdKeyDevice1)
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        }
-    else 
-        {
-        ret = TAknFepInputStateCandidateQwertyChineseBase::HandleKeyL(aKey, aLength);
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStatePredictiveInputQwerty::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStatePredictiveInputQwerty::HandleCommandL( TInt aCommandId )
-    {
-    TAknFepInputStateChineseBase::HandleCommandL( aCommandId );
-    }
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStatePredictiveInputQwertyChinesePhrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +0,0 @@
-/*
-* 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:            Implementation of predictive input qwerty chinese phrase state
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStatePredictiveInputQwertyChinesePhrase.h"
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-#include "AknFepManager.h"                  //FepMan flag
-
-#include <PtiEngine.h>                      //CPtiEngine
-
-TAknFepInputStatePredictiveInputQwertyChinesePhrase::
-TAknFepInputStatePredictiveInputQwertyChinesePhrase(
-    MAknFepUIManagerStateInterface* aOwner,
-    MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateCandidateQwertyBaseChinesePhrase(aOwner, aUIContainer)
-    {
-    iState = EPredictiveInput;
-    
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    // set container window position to follow cursor
-    TPoint baseLine = TPoint(0,0);
-    TInt height = 0;
-    TInt ascent = 0;
-    TRAPD(ret,iOwner->FepMan()->GetScreenCoordinatesL(baseLine,height,ascent));
-    if (ret == KErrNone)
-        {
-        uiContainer->SetContainerPosition(baseLine, height);    
-        }
-
-    uiContainer->FocusCandidatePane(ETrue);
-    uiContainer->SetLayout(MAknFepUICtrlContainerChinese::ELayoutCandidate);
-
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-    
-    // for some reason needs to feed back to ptiengine current Chinese phrase just before get the prediction
-    candidatePane->SelectFirstPhrase();
-    if(iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction) ||
-       iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagInsideMultitapInlineEditingTransaction))
-    	{// SetPredictiveChineseChar() should be called just after call fepMan->CommitInlineEditL() usually at some where
-    	TPtrC text = candidatePane->CurrentPhraseCandidate();
-    	ptiengine->SetPredictiveChineseChar(text);
-    	}
-    
-    
-    TRAPD(ignore,ptiengine->GetChinesePhraseCandidatesL(*(candidatePane->CandidateArray())));
-    if (ignore == KErrNone)
-        {
-        candidatePane->SplitPhraseCandidatesIntoPages(); 
-        uiContainer->SetLayout(MAknFepUICtrlContainerChinese::ELayoutCandidate);
-        candidatePane->SetCandidateBuffer();
-
-        TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() &&
-                                uiContainer->CandidatePane()->IsFirstPage());
-        TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-        TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-
-        uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows); 
-        uiContainer->ShowVerticalScrollArrows(multiplePages);
-        uiContainer->CandidatePane()->ShowCandidateOrdinals(ETrue);
-        UpdateIndicator();
-        }
-    }
-
-TBool TAknFepInputStatePredictiveInputQwertyChinesePhrase::HandleKeyL(TInt aKey, 
-                                                                      TKeyPressLength aLength)
-    {
-    TBool ret = ETrue;
-    
-    if(aKey == EStdKeyBackspace)
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        }
-    else if(aKey == EStdKeyLeftFunc && aLength == EShortKeyPress) // launch sct table
-        {
-        MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-        if (fepMan->IsAbleToLaunchSCT())
-            {
-            fepMan->LaunchSpecialCharacterTableL();
-            }
-        }
-    else if(iOwner->IsValidChineseInputKeyQwerty(aKey))
-        {
-        CPtiEngine* ptiengine = iOwner->PtiEngine();
-        // it is needed when we use phrase input engine, otherwise it seems not cleared
-        ptiengine->ClearCurrentWord(); 
-        ptiengine->ResetToneMark();
-
-        iOwner->ChangeState(EEntry);
-        ret = EFalse; //passes to entry state to handle the key
-        }
-    else 
-        {
-        ret = TAknFepInputStateCandidateQwertyBaseChinesePhrase::HandleKeyL(aKey, aLength);
-        }
-    return ret;
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStatePredictiveInputQwertyPhrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,118 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStatePredictiveInputQwertyPhrase methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStatePredictiveInputQwertyPhrase.h"
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-#include "AknFepManager.h"                  //FepMan flag
-
-#include <PtiEngine.h>                      //CPtiEngine
-
-TAknFepInputStatePredictiveInputQwertyPhrase::TAknFepInputStatePredictiveInputQwertyPhrase(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateCandidateQwertyBasePhrase(aOwner, aUIContainer)
-    {
-    iState = EPredictiveInput;
-    
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    // set container window position to follow cursor
-    TPoint baseLine = TPoint(0,0);
-    TInt height = 0;
-    TInt ascent = 0;
-    TRAPD(ret,iOwner->FepMan()->GetScreenCoordinatesL(baseLine,height,ascent));
-    if (ret == KErrNone)
-        {
-        uiContainer->SetContainerPosition(baseLine, height);    
-        }
-
-    uiContainer->FocusCandidatePane(ETrue);
-    uiContainer->SetLayout(MAknFepUICtrlContainerChinese::ELayoutCandidate);
-
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-    // for some reason needs to feed back to ptiengine current Chinese phrase just before get the prediction
-    TPtrC text = candidatePane->CurrentPhraseCandidate();
-    candidatePane->SelectFirstPhrase(); 
-    ptiengine->SetPredictiveChineseChar(text);
-    
-    TRAPD(ignore,ptiengine->GetChinesePhraseCandidatesL(*(candidatePane->CandidateArray())));
-    if (ignore == KErrNone)
-        {
-        candidatePane->SplitPhraseCandidatesIntoPages(); 
-        uiContainer->SetLayout(MAknFepUICtrlContainerChinese::ELayoutCandidate);
-        candidatePane->SetCandidateBuffer();
-
-        TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() &&
-                                uiContainer->CandidatePane()->IsFirstPage());
-        TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-        TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-
-        uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows); 
-        uiContainer->ShowVerticalScrollArrows(multiplePages);
-        uiContainer->CandidatePane()->ShowCandidateOrdinals(ETrue);
-        }
-    }
-
-TBool TAknFepInputStatePredictiveInputQwertyPhrase::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    TBool ret = ETrue;
-    
-    if(aKey == EStdKeyBackspace)
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        }
-    else if(aKey == EStdKeyLeftFunc && aLength == EShortKeyPress) // launch sct table
-        {
-        MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-        if (fepMan->IsAbleToLaunchSCT())
-            {
-            fepMan->LaunchSpecialCharacterTableL();
-            }
-        }
-    else if(iOwner->IsValidChineseInputKeyQwerty(aKey))
-        {
-        CPtiEngine* ptiengine = iOwner->PtiEngine();
-        // it is needed when we use phrase input engine, otherwise it seems not cleared
-        ptiengine->ClearCurrentWord(); 
-        ptiengine->ResetToneMark();
-
-        iOwner->ChangeState(EEntry);
-        ret = EFalse; //passes to entry state to handle the key
-        }
-    else 
-        {
-        ret = TAknFepInputStateCandidateQwertyBasePhrase::HandleKeyL(aKey, aLength);
-        }
-    return ret;
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStatePredictiveInputQwertyPinyin.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,154 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStatePredictiveInputQwerty methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStatePredictiveInputQwertyPinyin.h"
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-#include "AknFepManager.h"                  //FepMan flag
-
-#include <PtiEngine.h>                      //CPtiEngine
-
-TAknFepInputStatePredictiveInputQwertyPinyin::TAknFepInputStatePredictiveInputQwertyPinyin(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateCandidateQwertyChineseBase(aOwner, aUIContainer)
-    {
-    iState = EPredictiveInput;
-    
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    // set container window position to follow cursor
-    TPoint baseLine = TPoint(0,0);
-    TInt height = 0;
-    TInt ascent = 0;
-    TRAPD(ret,iOwner->FepMan()->GetScreenCoordinatesL(baseLine,height,ascent));
-    if (ret == KErrNone)
-        {
-        uiContainer->SetContainerPosition(baseLine, height);    
-        }
-    uiContainer->FocusCandidatePane(ETrue);
-    uiContainer->SetLayout(MAknFepUICtrlContainerChinese::ELayoutCandidate);
-
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    ptiengine->SetCandidatePageLength(MAknFepUICtrlContainerChinese::ELayoutInput);
-
-    // for some reason needs to feed back to ptiengine current Chinese char just before get the prediction
-    TPtrC text = uiContainer->CandidatePane()->CurrentCandidate();
-    uiContainer->CandidatePane()->SelectFirst(); 
-    ptiengine->SetPredictiveChineseChar(text);
-    uiContainer->CandidatePane()->SetCandidateBuffer(ptiengine->CandidatePage());
-
-    TBool multiplePages = ptiengine->MoreCandidatePages();
-    TInt bufLength = ptiengine->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-    
-    uiContainer->ShowVerticalScrollArrows(multiplePages);
-    uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows);
-    uiContainer->CandidatePane()->ShowCandidateOrdinals(ETrue);
-    UpdateIndicator();
-    }
-
-TBool TAknFepInputStatePredictiveInputQwertyPinyin::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    TBool ret = ETrue;
-    if (iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode) ||
-        iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed))
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        ret = EFalse;
-        }
-    else if (IsValidEntryKey(aKey))
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        ret = EFalse;
-        }
-    else if(aKey == EStdKeyBackspace)
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        }
-    else if(aKey == EStdKeyLeftFunc && aLength == EShortKeyPress)
-        {
-        MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-        if (fepMan->IsAbleToLaunchSCT())
-            {
-            fepMan->LaunchSpecialCharacterTableL();
-            }
-        }
-    else if(iOwner->IsValidChineseInputKeyQwerty(aKey))
-        {
-        if (IsValidPinyinKey(aKey))
-            {
-            CPtiEngine* ptiengine = iOwner->PtiEngine();
-            // it is needed when we use phrase input engine, otherwise it seems not cleared
-            ptiengine->ClearCurrentWord(); 
-            ptiengine->ResetToneMark();
-
-            iOwner->ChangeState(EEntry);
-            ret = EFalse; //passes to entry state to handle the key
-            }
-        }
-    else 
-        {
-        ret = TAknFepInputStateCandidateQwertyChineseBase::HandleKeyL(aKey, aLength);
-        }
-    return ret;
-    }
-
-TBool  TAknFepInputStatePredictiveInputQwertyPinyin::IsValidPinyinKey(TInt aKey)
-    {
-    TBool response = ETrue;
-
-    if (aKey == EPtiKeyQwertyU || aKey == EPtiKeyQwertyV ||
-        aKey == EPtiKeyQwertyI )
-        {
-        iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-        response = EFalse;
-        }
-
-    return response;
-    }
-    
-TBool  TAknFepInputStatePredictiveInputQwertyPinyin::IsValidEntryKey(TInt aKey)
-    {
-    TBool response = ETrue;
-
-    if ((aKey >= EPtiKeyQwertyA && aKey <= EPtiKeyQwertyZ) ||
-        (aKey >= EStdKeyLeftArrow && aKey <= EStdKeyDownArrow) ||
-        (aKey >= EPtiKeyQwerty0 && aKey <= EPtiKeyQwerty9) ||
-         aKey == EStdKeyBackspace || aKey == EStdKeyLeftFunc ||
-         aKey == EStdKeyDevice1)
-        {
-        response = EFalse;
-        }
-
-    return response;
-    }    
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStatePredictiveInputQwertyPinyinPhrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,213 +0,0 @@
-/*
-* 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:            Implementation of Pinyin phrase predictive Qwerty state
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// System includes
-#include <PtiEngine.h>                      
-
-// User includes
-#include "AknFepUiInputStatePredictiveInputQwertyPinyinPhrase.h"
-#include "AknFepUiInputStatePredictiveInputQwertyPhrase.h"
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUIManagerStateInterface.h"  
-#include "AknFepManagerUIInterface.h" 
-#include "AknFepManager.h"      
-#include "AknFepUICtrlCandidatePane.h"
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStatePredictiveInputQwertyPinyinPhrase::
-// TAknFepInputStatePredictiveInputQwertyPinyinPhrase
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-TAknFepInputStatePredictiveInputQwertyPinyinPhrase::
-TAknFepInputStatePredictiveInputQwertyPinyinPhrase(
-    MAknFepUIManagerStateInterface* aOwner,
-    MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStatePredictiveInputQwertyChinesePhrase(aOwner, aUIContainer)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStatePredictiveInputQwertyPinyinPhrase::HandleKeyL
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputStatePredictiveInputQwertyPinyinPhrase::HandleKeyL(TInt aKey, 
-                                                                     TKeyPressLength aLength)
-    {
-    TBool ret = ETrue;
-
-    if (iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode) ||
-        iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed))
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        ret = EFalse;
-        }
-    else if (aKey == EStdKeyEnter)
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        iOwner->ChangeState(EQwerty);
-        return EFalse;
-        }
-    else if (IsValidEntryKey(aKey))
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        ret = EFalse;
-        }
-    else if(iOwner->IsValidChineseInputKeyQwerty(aKey))
-        {
-        if (IsValidPinyinKey(aKey))
-            {
-            CPtiEngine* ptiengine = iOwner->PtiEngine();
-            // it is needed when we use phrase input engine, otherwise it seems not cleared
-            ptiengine->ClearCurrentWord(); 
-            ptiengine->ResetToneMark();
-
-            iOwner->ChangeState(EEntry);
-            ret = EFalse; //passes to entry state to handle the key
-            }
-         else
-            {
-            iOwner->FepMan()->PlaySound(EAvkonSIDWarningTone);
-            }
-        }
-    else if (aKey == EStdKeySpace)
-        {
-        TInt index = MapKeyToIndex(EStdKeyDevice3);
-        MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-
-        candidatePane->SelectIndex(index);
-        TPtrC text = candidatePane->CurrentPhraseCandidate();
-        if(text.Length())
-            {            
-            MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-            fepMan->NewTextL(text);
-            fepMan->CommitInlineEditL();
-            iOwner->PtiEngine()->SetPredictiveChineseChar(text);
-            if (fepMan->IsFlagSet(CAknFepManager::EFlagEditorFull))
-                {
-                fepMan->ClearFlag(CAknFepManager::EFlagEditorFull);
-                iOwner->FepMan()->TryCloseUiL();
-                }
-            else
-                {
-                iOwner->ChangeState(EPredictiveInput);
-                }
-            }
-        else
-            {
-            // No candidates available. Back to Entry state.
-            iOwner->ChangeState(EEntry);
-            }
-        }
-    else 
-        {
-        ret = TAknFepInputStatePredictiveInputQwertyChinesePhrase::HandleKeyL(aKey, aLength);
-        }
-        
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStatePredictiveInputQwertyPinyinPhrase::IsValidPinyinKey
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//    
-TBool  TAknFepInputStatePredictiveInputQwertyPinyinPhrase::IsValidPinyinKey(TInt aKey)
-    {
-    TBool response = ETrue;
-
-    if (aKey == EPtiKeyQwertyU || aKey == EPtiKeyQwertyV ||
-        aKey == EPtiKeyQwertyI )
-        {
-        iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-        response = EFalse;
-        }
-
-    return response;
-    }
-    
-// ---------------------------------------------------------------------------
-// TAknFepInputStatePredictiveInputQwertyPinyinPhrase::IsValidEntryKey
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//    
-TBool  TAknFepInputStatePredictiveInputQwertyPinyinPhrase::IsValidEntryKey(TInt aKey)
-    {
-    TBool response = ETrue;
-
-    if ((aKey >= EPtiKeyQwertyA && aKey <= EPtiKeyQwertyZ) ||
-        (aKey >= EStdKeyLeftArrow && aKey <= EStdKeyDownArrow) ||
-        (aKey >= EPtiKeyQwerty0 && aKey <= EPtiKeyQwerty9) ||
-         aKey == EStdKeyBackspace || aKey == EStdKeyLeftFunc ||
-         aKey == EStdKeyDevice1 || aKey == EStdKeySpace || 
-         aKey == EStdKeyDevice0 ||aKey == EStdKeyDevice3)
-        {
-        response = EFalse;
-        }
-
-    return response;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStatePredictiveInputQwertyPinyinPhrase::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStatePredictiveInputQwertyPinyinPhrase::HandleCommandL(
-    TInt aCommandId )
-    {
-    TPtrC text = UIContainer()->CandidatePane()->CurrentPhraseCandidate( );
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan( );
-    switch ( aCommandId )
-        {
-        // Handle the event frome command.
-        case EAknSoftkeySelect:
-    //    case (TUint16)EAknSoftkeySelect: //the Selected in soft CBA
-            if ( text.Length( ) )
-                {
-                fepMan->NewTextL( text );
-                fepMan->CommitInlineEditL( );
-                iOwner->PtiEngine()->SetPredictiveChineseChar( text );
-                if ( fepMan->IsFlagSet( CAknFepManager::EFlagEditorFull ) )
-                    {
-                    fepMan->ClearFlag( CAknFepManager::EFlagEditorFull );
-                    iOwner->FepMan()->TryCloseUiL( );
-                    }
-                else
-                    {
-                    iOwner->ChangeState( EPredictiveCandidate );
-                    }
-                }
-            break;
-        default:
-            TAknFepInputStateChineseBase::HandleCommandL( aCommandId );
-            break;
-        }
-    }
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStatePredictiveInputQwertyStroke.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,151 +0,0 @@
-/*
-* 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:            Implementation of predictive input qwertystroke state
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStatePredictiveInputQwertyStroke.h"
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-#include "AknFepManager.h"                  //FepMan flag
-
-#include <PtiEngine.h>                      //CPtiEngine
-
-TAknFepInputStatePredictiveInputQwertyStroke::TAknFepInputStatePredictiveInputQwertyStroke(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateCandidateQwertyChineseBase(aOwner, aUIContainer)
-    {
-    iState = EPredictiveInput;
-    
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    // set container window position to follow cursor
-    TPoint baseLine = TPoint(0,0);
-    TInt height = 0;
-    TInt ascent = 0;
-    TRAPD(ret,iOwner->FepMan()->GetScreenCoordinatesL(baseLine,height,ascent));
-    if (ret == KErrNone)
-        {
-        uiContainer->SetContainerPosition(baseLine, height);    
-        }
-    uiContainer->FocusCandidatePane(ETrue);
-    uiContainer->SetLayout(MAknFepUICtrlContainerChinese::ELayoutCandidate);
-
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    ptiengine->SetCandidatePageLength(MAknFepUICtrlContainerChinese::ELayoutInput);
-
-    // for some reason needs to feed back to ptiengine current Chinese char just before get the prediction
-    TPtrC text = uiContainer->CandidatePane()->CurrentCandidate();
-    uiContainer->CandidatePane()->SelectFirst(); 
-    ptiengine->SetPredictiveChineseChar(text);
-    uiContainer->CandidatePane()->SetCandidateBuffer(ptiengine->CandidatePage());
-
-    TBool multiplePages = ptiengine->MoreCandidatePages();
-    TInt bufLength = ptiengine->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-    
-    uiContainer->ShowVerticalScrollArrows(multiplePages);
-    uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows);
-    uiContainer->CandidatePane()->ShowCandidateOrdinals(ETrue);
-    UpdateIndicator();
-    }
-
-TBool TAknFepInputStatePredictiveInputQwertyStroke::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    TBool ret = ETrue;
-
-    if (iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode) ||
-        iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed))
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        ret = EFalse;
-        }
-    else if (IsValidEntryKey(aKey))
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        ret = EFalse;
-        }
-    else if(aKey == EStdKeyBackspace)
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        }
-    else if(aKey == EStdKeyLeftFunc && aLength == EShortKeyPress)
-        {
-        MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-        if (fepMan->IsAbleToLaunchSCT())
-            {
-            fepMan->LaunchSpecialCharacterTableL();
-            }
-        }
-    else if(iOwner->IsValidChineseInputKeyQwerty(aKey))
-        {
-        CPtiEngine* ptiengine = iOwner->PtiEngine();
-        // it is needed when we use phrase input engine, otherwise it seems not cleared
-        ptiengine->ClearCurrentWord(); 
-        ptiengine->ResetToneMark();
-
-        iOwner->ChangeState(EEntry);
-        ret = EFalse; //passes to entry state to handle the key
-        }
-    else if(aKey == EStdKeyDevice1)
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        }
-    else
-        {
-        ret = TAknFepInputStateCandidateQwertyChineseBase::HandleKeyL(aKey, aLength);
-        }
-    return ret;
-    }
-
-TBool  TAknFepInputStatePredictiveInputQwertyStroke::IsValidEntryKey(TInt aKey)
-    {
-    TBool response = ETrue;
-
-    if ((aKey >= EPtiKeyQwertyA && aKey <= EPtiKeyQwertyZ) ||
-        (aKey >= EStdKeyLeftArrow && aKey <= EStdKeyDownArrow) ||
-        (aKey >= EPtiKeyQwerty0 && aKey <= EPtiKeyQwerty9) ||
-         aKey == EStdKeyBackspace || aKey == EStdKeyLeftFunc ||
-         aKey == EStdKeyDevice1)
-        {
-        response = EFalse;
-        }
-
-    return response;
-    }    
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStatePredictiveInputQwertyStroke::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStatePredictiveInputQwertyStroke::HandleCommandL(
-    TInt aCommandId )
-    {
-    TAknFepInputStateChineseBase::HandleCommandL( aCommandId );
-    }
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStatePredictiveInputQwertyStrokePhrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,190 +0,0 @@
-/*
-* 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:            Implementation of predictive input qwertystroke phrase state
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStatePredictiveInputQwertyStrokePhrase.h"
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-#include "AknFepManager.h"                  //FepMan flag
-
-#include <PtiEngine.h>                      //CPtiEngine
-
-TAknFepInputStatePredictiveInputQwertyStrokePhrase::
-TAknFepInputStatePredictiveInputQwertyStrokePhrase(
-    MAknFepUIManagerStateInterface* aOwner,
-    MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateCandidateQwertyBaseChinesePhrase(aOwner, aUIContainer)
-    {
-    iState = EPredictiveInput;
-    
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    // set container window position to follow cursor
-    TPoint baseLine = TPoint(0,0);
-    TInt height = 0;
-    TInt ascent = 0;
-    TRAPD(ret,iOwner->FepMan()->GetScreenCoordinatesL(baseLine,height,ascent));
-    if (ret == KErrNone)
-        {
-        uiContainer->SetContainerPosition(baseLine, height);    
-        }
-
-    uiContainer->FocusCandidatePane(ETrue);
-    uiContainer->SetLayout(MAknFepUICtrlContainerChinese::ELayoutCandidate);
-
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-    // for some reason needs to feed back to ptiengine current Chinese phrase just before get the prediction
-    TPtrC text = candidatePane->CurrentPhraseCandidate();
-    candidatePane->SelectFirstPhrase(); 
-    ptiengine->SetPredictiveChineseChar(text);
-    
-    TRAPD(ignore,ptiengine->GetChinesePhraseCandidatesL(*(candidatePane->CandidateArray())));
-    if (ignore == KErrNone)
-        {
-        candidatePane->SplitPhraseCandidatesIntoPages(); 
-        uiContainer->SetLayout(MAknFepUICtrlContainerChinese::ELayoutCandidate);
-        candidatePane->SetCandidateBuffer();
-
-        TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() &&
-                                uiContainer->CandidatePane()->IsFirstPage());
-        TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-        TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-
-        UIContainer()->ShowHorizontalScrollArrows(showHorizontalScrollArrows); 
-        UIContainer()->ShowVerticalScrollArrows(multiplePages);
-        uiContainer->CandidatePane()->ShowCandidateOrdinals(ETrue);
-        UpdateIndicator();
-        }
-    }
-
-TBool TAknFepInputStatePredictiveInputQwertyStrokePhrase::HandleKeyL(TInt aKey, 
-                                                                     TKeyPressLength aLength)
-    {
-    TBool ret = ETrue;
-
-    if (iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode) ||
-        iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed))
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        ret = EFalse;
-        }
-    else if (IsValidEntryKey(aKey))
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        ret = EFalse;
-        }
-    else if(aKey == EStdKeyBackspace)
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        }
-    else if(aKey == EStdKeyLeftFunc && aLength == EShortKeyPress) // launch sct table
-        {
-        MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-        if (fepMan->IsAbleToLaunchSCT())
-            {
-            fepMan->LaunchSpecialCharacterTableL();
-            }
-        }
-    else if (aKey == EStdKeyEnter)
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        iOwner->ChangeState(EQwerty);
-        return EFalse;
-        }
-    else if(iOwner->IsValidChineseInputKeyQwerty(aKey))
-        {
-        CPtiEngine* ptiengine = iOwner->PtiEngine();
-        // it is needed when we use phrase input engine, otherwise it seems not cleared
-        ptiengine->ClearCurrentWord(); 
-        ptiengine->ResetToneMark();
-
-        iOwner->ChangeState(EEntry);
-        ret = EFalse; //passes to entry state to handle the key
-        }
-    else 
-        {
-        ret = TAknFepInputStateCandidateQwertyBaseChinesePhrase::HandleKeyL(aKey, aLength);
-        }
-    
-    return ret;
-    }
-    
-TBool  TAknFepInputStatePredictiveInputQwertyStrokePhrase::IsValidEntryKey(TInt aKey)
-    {
-    TBool response = ETrue;
-
-    if ((aKey >= EPtiKeyQwertyA && aKey <= EPtiKeyQwertyZ) ||
-        (aKey >= EStdKeyLeftArrow && aKey <= EStdKeyDownArrow) ||
-        (aKey >= EPtiKeyQwerty0 && aKey <= EPtiKeyQwerty9) ||
-         aKey == EStdKeyBackspace || aKey == EStdKeyLeftFunc ||
-         aKey == EStdKeyDevice1 || aKey == EStdKeyDevice3 ||
-         aKey == EStdKeyDevice0)
-        {
-        response = EFalse;
-        }
-
-    return response;
-    }    
-// ---------------------------------------------------------------------------
-// TAknFepInputStatePredictiveInputQwertyStrokePhrase::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStatePredictiveInputQwertyStrokePhrase::HandleCommandL(
-    TInt aCommandId )
-    {
-    TPtrC text = UIContainer()->CandidatePane()->CurrentPhraseCandidate( );
-    switch ( aCommandId )
-        {
-        // Handle the event frome command.
-        case EAknSoftkeySelect:
-     //   case (TUint16)EAknSoftkeySelect: //the Selected in soft CBA
-            if ( text.Length( ) )
-                {
-                MAknFepManagerUIInterface* fepMan = iOwner->FepMan( );
-                fepMan->NewTextL( text );
-                fepMan->CommitInlineEditL( );
-                iOwner->PtiEngine()->SetPredictiveChineseChar( text );
-                if ( fepMan->IsFlagSet( CAknFepManager::EFlagEditorFull ) )
-                    {
-                    fepMan->ClearFlag( CAknFepManager::EFlagEditorFull );
-                    iOwner->FepMan()->TryCloseUiL( );
-                    }
-                else
-                    {
-                    iOwner->ChangeState( EPredictiveCandidate );
-                    }
-                }
-            break;
-        default:
-            TAknFepInputStateChineseBase::HandleCommandL( aCommandId );
-            break;
-        }
-    }
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStatePredictiveInputQwertyZhuyin.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStatePredictiveInputQwerty methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStatePredictiveInputQwertyZhuyin.h"
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-#include "AknFepManager.h"                  //FepMan flag
-#include "AknFepManagerUIInterface.h"
-
-#include <PtiEngine.h>                      //CPtiEngine
-
-TAknFepInputStatePredictiveInputQwertyZhuyin::TAknFepInputStatePredictiveInputQwertyZhuyin(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateCandidateQwertyChinese(aOwner, aUIContainer)
-    {
-    iState = EPredictiveInput;
-    
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    
-    uiContainer->CandidatePane()->SelectFirst(); 
-
-    TBool multiplePages = ptiengine->MoreCandidatePages();
-    TInt bufLength = ptiengine->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-    
-    uiContainer->ShowVerticalScrollArrows(multiplePages);
-    uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows);
-    uiContainer->CandidatePane()->ShowCandidateOrdinals(ETrue);    
-    UpdateIndicator();
-    }
-
-TBool TAknFepInputStatePredictiveInputQwertyZhuyin::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    TBool ret = ETrue;
-
-    if (iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode) ||
-        iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed))
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        ret = EFalse;
-        }
-    else if(aKey == EStdKeyBackspace)
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        }
-    else if(aKey == EStdKeyLeftFunc && aLength == EShortKeyPress)
-        {
-        MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-        if (fepMan->IsAbleToLaunchSCT())
-            {
-            fepMan->LaunchSpecialCharacterTableL();
-            }
-        }
-    else if(iOwner->IsValidChineseInputKeyQwerty(aKey) && 
-            !(aKey >= EPtiKeyQwerty0 && aKey <= EPtiKeyQwerty9))
-        {
-        CPtiEngine* ptiengine = iOwner->PtiEngine();
-        // it is needed when we use phrase input engine, otherwise it seems not cleared
-        ptiengine->ClearCurrentWord(); 
-        ptiengine->ResetToneMark();
-
-        iOwner->ChangeState(EEntry);
-        ret = EFalse; //passes to entry state to handle the key
-        }
-    else 
-        {
-        ret = TAknFepInputStateCandidateQwertyChinese::HandleKeyL(aKey, aLength);
-        }
-    return ret;
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStatePredictiveInputQwertyZhuyinPhrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStatePredictiveInputQwertyPhrase methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStatePredictiveInputQwertyZhuyinPhrase.h"
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-#include "AknFepManager.h"                  //FepMan flag
-#include "AknFepManagerUIInterface.h"
-
-#include <PtiEngine.h>                      //CPtiEngine
-
-TAknFepInputStatePredictiveInputQwertyZhuyinPhrase::
-TAknFepInputStatePredictiveInputQwertyZhuyinPhrase(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateCandidateQwertyChinesePhrase(aOwner, aUIContainer)
-    {
-    iState = EPredictiveInput;
-    
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    uiContainer->CandidatePane()->SelectFirstPhrase(); 
-
-    TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() &&
-                            uiContainer->CandidatePane()->IsFirstPage());
-    TInt bufLength = ptiengine->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-    
-    uiContainer->ShowVerticalScrollArrows(multiplePages);
-    uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows);
-    uiContainer->CandidatePane()->ShowCandidateOrdinals(ETrue); 
-    UpdateIndicator();   
-    }
-
-TBool TAknFepInputStatePredictiveInputQwertyZhuyinPhrase::HandleKeyL(TInt aKey, 
-                                                                     TKeyPressLength aLength)
-    {
-    TBool ret = ETrue;
-
-    if (iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode))
-        {
-        return ret;
-        }
-        
-    if(aKey == EStdKeyBackspace)
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        }
-    else if(aKey == EStdKeyLeftFunc && aLength == EShortKeyPress &&
-            iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagNoActionDuringChrKeyPress)) 
-        {
-        MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-        if (fepMan->IsAbleToLaunchSCT())
-            {
-            fepMan->LaunchSpecialCharacterTableL();
-            }
-        }
-    else if (iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed))
-        {
-        iOwner->FepMan()->ClearFlag(CAknFepManager::EFlagNoActionDuringChrKeyPress);
-        return ret;
-        }
-    else if(iOwner->IsValidChineseInputKeyQwerty(aKey) &&
-        !(aKey >= EPtiKeyQwerty0 && aKey <= EPtiKeyQwerty9))
-        {
-        ret = ret; //passes to entry state to handle the key
-        }
-    else if (aKey == EStdKeyEnter || aKey == EStdKeySpace)
-        {
-        return ret;
-        }
-    else 
-        {
-        ret = TAknFepInputStateCandidateQwertyChinesePhrase::HandleKeyL(aKey, aLength);
-        }
-    return ret;
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateQwerty.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1221 +0,0 @@
-/*
-* Copyright (c) 2004 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:           
-*       Provides the TAknFepInputStateQwerty methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateQwerty.h"
-#include "AknFepUIManagerStateInterface.h"      //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"           //MAknFepManagerUIInterface
-#include "AknFepCaseManager.h"
-#include "AknFepUiIndicInputManager.h"
-
-
-#include <PtiEngine.h>
-#include <PtiDefs.h>
-#include <PtiKeyMappings.h>
-#include <PtiDefs.h>        
-#include <centralrepository.h> 
-#include <AknFepInternalCRKeys.h>       
-#ifdef RD_HINDI_PHONETIC_INPUT	
-#include <PtiIndicDefs.h>       
-#endif
-const TInt KEventIndexForW = 3;
-const TInt KEventIndexForP = 2;
-const TInt KPtiCapitalEIndex = 19;
-const TInt KPtiStarIndex = 0;
-const TInt KPtiPlusIndex = 1;
-const TInt KPtiMinusIndex = 18;
-const TInt KPtiCommaIndex = 17;
-const TInt KPtiHashIndex = 4;
-const TInt KMaxOutputSizeForAKeyPress = 10;
-
-_LIT(KAknFepPlainNumbers, "1234567890");
-const TInt KNumAllowedIdleNumericChars = 22;    
-const TUint16 KAllAllowedNumericChars[] =
- 	{'*','+','p','w','#','1','2','3','4','5','6','7','8','9','0', ';','.',',','-','E','?','/'};
-const TKeyEvent KEventsForSecondPass[]  = 
-	{
-		{42, EStdKeyNkpAsterisk, 3, 0}, 
-    	{43, EStdKeyNkpPlus, 3, 0},
-        {112, 80, EModifierAutorepeatable, 0},
-        {119, 87, EModifierAutorepeatable, 0},                                           
-        {35, EStdKeyHash, EModifierAutorepeatable, 0},
-        {EPtiKey1, EPtiKey1, EModifierAutorepeatable, 0},
-        {EPtiKey2, EPtiKey2, EModifierAutorepeatable, 0},
-        {EPtiKey3, EPtiKey3, EModifierAutorepeatable, 0},
-        {EPtiKey4, EPtiKey4, EModifierAutorepeatable, 0},
-        {EPtiKey5, EPtiKey5, EModifierAutorepeatable, 0},
-        {EPtiKey6, EPtiKey6, EModifierAutorepeatable, 0},
-        {EPtiKey7, EPtiKey7, EModifierAutorepeatable, 0},
-        {EPtiKey8, EPtiKey8, EModifierAutorepeatable, 0},
-        {EPtiKey9, EPtiKey9, EModifierAutorepeatable, 0},
-        {EPtiKey0, EPtiKey0, EModifierAutorepeatable, 0},
-        {59,       EStdKeySemiColon, EModifierAutorepeatable, 0},        
-        {46,       122, EModifierAutorepeatable, 0},
-        {44,       121, EModifierAutorepeatable, 0},
-   		{45,       130, EModifierAutorepeatable, 0},
-   		{101,      69,  EModifierAutorepeatable|EModifierLeftShift, 0}, 
-   		{63,       EStdKeyForwardSlash, EModifierAutorepeatable|EModifierLeftShift, 0},
-        {47,       123, EModifierAutorepeatable, 0} 
-    };
-
-const TInt KFull_SimpleSymbolMapNumber = 8;
-const TUint16 KFull_SimpleSymbolMaps[KFull_SimpleSymbolMapNumber][2] = 
-      { {0xFF0A,'*'},{0xFF0B,'+'},{0xFF0D,'-'},{0xFF03,'#'},
-        {0xFF1B,';'},{0xFF0E,'.'},{0xFF0C,','},{0x3002, '.'}};
-
-const TInt KNumCharKeyExceptions = 14;
-const TUint16 CharKeyExceptions[] = {0x00f2, 0x00e0, 0x00e8, 0x00e9, 0x00e7, 0x00f9,
-                                     0x0161, 0x010d, 0x017e, 0x00fd, 0x00e1, 0x00ed,
-                                     0x00e9, 0x00ec};
-
-TAknFepInputStateQwerty::TAknFepInputStateQwerty(MAknFepUIManagerStateInterface* aOwner)
-    :TAknFepInputStateBase(aOwner)
-    {
-    iState = EInitial;
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    // Predictive QWERTY (XT9) changes ---->
-    // The order of the following two commands has been swapped. This way the Xt9 core will keep its
-    // internal state while a dialog with no prediction is opened on top (like the "Edit word" query).
-    ptiengine->SetInputMode(EPtiEngineQwerty);
-    ptiengine->ClearCurrentWord();
-    // Predictive QWERTY (XT9) changes <----
-
-    MAknFepManagerUIInterface *fepMan = iOwner->FepMan();
-    TPtiKeyboardType keyLayout  = fepMan->KeyboardLayout();
-    ptiengine->SetKeyboardType(keyLayout);
-    if (keyLayout == EPtiKeyboardHalfQwerty)
-        {
-        ptiengine->SetInputMode(EPtiEngineHalfQwerty);        
-        }    
-#else 
-    ptiengine->ClearCurrentWord();
-    ptiengine->SetInputMode(EPtiEngineQwerty);
-#endif //RD_INTELLIGENT_TEXT_INPUT
-    }
-
-TBool TAknFepInputStateQwerty::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    TBool ret = EFalse;
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CAknFepFnKeyManager::TFnKeyState fnKeyState  = fepMan->FnKeyState();
-#endif
-    const TInt KDeleteKeyScanCode = 1;
-
-	if (aKey == KDeleteKeyScanCode 
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-	        || CAknFepFnKeyManager::EFnKeyNone != fnKeyState
-#endif
-	        ) 
-		{
-		// Pending dead key is handled as a special case.
-		if (ptiengine->HandleCommandL(EPtiCommandDeadKeyWaiting, NULL) == 1)
-			{
-			ptiengine->HandleCommandL(EPtiCommandGetAndClearDeadKeyRootChar, NULL);
-			return ETrue;
-			}			
-		if (iFakeDelete)
-			{
-			ptiengine->HandleCommandL(EPtiCommandClearVowelSeq, NULL);
-			ptiengine->HandleCommandL(EPtiCommandGetAndClearLastVietnameseChar, NULL);						
-			}
-		else
-			{
-			ptiengine->HandleCommandL(EPtiCommandResetVietnameseVowelSeqAndToneMark, NULL);										
-			}
-		}
-	else if (aKey == EPtiKeyQwertySpace
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-	         && (fnKeyState == CAknFepFnKeyManager::EFnKeyNone)
-#endif
-	        )
-		{
-		// Space clears vietnamese vowels and tones.
-		ptiengine->HandleCommandL(EPtiCommandResetVietnameseVowelSeqAndToneMark, NULL);								
-		}
-	if( aLength == ELongKeyPress )
-		{
-		// the vowel seq tone mark of the short key press should be reset
-		ptiengine->HandleCommandL(EPtiCommandResetVietnameseVowelSeqAndToneMark, NULL);
-		}
-	iFakeDelete = EFalse;	
-	iCharKeyException = EFalse;		
-	
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-	CPtiCoreLanguage* langCur = static_cast<CPtiCoreLanguage*>(ptiengine->CurrentLanguage());	
-	TBool chinese = EFalse;
-	if(langCur->LanguageCode()==ELangPrcChinese ||
-	        langCur->LanguageCode()==ELangHongKongChinese ||
-	        langCur->LanguageCode()==ELangTaiwanChinese )
-	    {
-	    chinese = ETrue;
-	    }
-    if (chinese && fepMan->IsOnlyNumericPermitted())
-        {
-        ptiengine->ActivateLanguageL(ELangEnglish);
-        ptiengine->SetInputMode(EPtiEngineQwerty);
-        ptiengine->SetKeyboardType( iOwner->FepMan()->KeyboardLayout());
-        }
-    const TBool isQwertyKey = ptiengine->IsValidKey((TPtiKey)aKey);
-#else	
-	const TBool isQwertyKey = IsQwertyKey(aKey);
-#endif	
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    if (aKey == EStdKeyEnter)
-		{
-		fepMan->SimulateKeyEventL(EKeyF19); // Asynchronous case update.
-		}
-#endif	
-    
-    if ( !isQwertyKey )
-        {
-        return EFalse;
-        }
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-#endif
-    CAknFepCaseManager* caseMan = iOwner->CaseMan(); 
-
-    fepMan->ClearFlag(CAknFepManager::EFlagNoActionDuringShiftKeyPress);
-    
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-#ifdef __REVERSE_FN_KEY_SUPPORTED
-	//Reverse Fn key mapping needs to be checked.
-	if ( fepMan->IsOnlyNumericPermitted() && !fepMan->IsReverseFnkeyInput())    
-#else
-	if ( fepMan->IsOnlyNumericPermitted() )    
-#endif //__REVERSE_FN_KEY_SUPPORTED
-		{
-		if ((fnKeyState == CAknFepFnKeyManager::EFnKeyNone) && 
-		    (aKey == EStdKeySpace || aKey == EStdKeyEnter))
-#else
-	if ( fepMan->IsOnlyNumericPermitted() )    
-		{ 
-		if (aKey == EStdKeyEnter)
-			{
-			return EFalse;
-			}
-		if (aKey == EStdKeySpace)
-#endif
-			{
-			return ETrue;
-			}
-		
-		return CheckForValidNumberEntryForqwerty(aKey);
-		}    
-    
-    if (fepMan->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed) &&
-        iData && (iData != aKey) )
-        {
-        // Chr key is still pressed down but character key was changed from previous one
-        // to new one. The previous character is committed to the editor and we continue 
-        // prosessing new key.
-        fepMan->CommitInlineEditL();
-        ptiengine->ClearCurrentWord();
-        iData = 0;
-        caseMan->UpdateCase(ENullNaviEvent); 
-        }
-
-    TBool isCharacter = ETrue;
-    if (!iData)
-        {
-        isCharacter = IsCharacterKey(aKey);
-        }
-
-	HandleCaseChange(aKey, isCharacter);
-	    
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-#ifdef __REVERSE_FN_KEY_SUPPORTED
-	
-	TInt origLanguage = ptiengine->CurrentLanguage()->LanguageCode();
-	TPtiEngineInputMode origInputMode = ptiengine->InputMode();
-	TBool languageChanged = EFalse;
-    // In reverse fn key mapping filter the char applicable for
-    // Numeric editor.
-    if( fepMan->IsOnlyNumericPermitted() &&  fepMan->IsReverseFnkeyInput())
-        {
-        if( !fepMan->IsValidCharForNumericInFnReverseL(aKey, iOwner->PtiEngine()->Case()) )
-            {
-             TChar chr;
-
-            if( ! TryGetValidCharForKey(aKey, chr) )
-                {
-                // If the key in not valid char in the current input language in Fn reverse mode,
-                // then we will check if against English language. And if its valid then we will
-                // insert the char based out of key for English input language and revert back 
-                // the change in input language at the end.
-
-                if(ptiengine->CurrentLanguage()->LanguageCode() == ELangEnglish)
-                    {
-                    return ETrue;
-                    }
-
-                languageChanged = ETrue;
-                ptiengine->ActivateLanguageL(ELangEnglish);
-       		    ptiengine->SetInputMode(EPtiEngineQwerty);            		
-
-                if( !fepMan->IsValidCharForNumericInFnReverseL(aKey, iOwner->PtiEngine()->Case()) )
-                    {
-                    if( ! TryGetValidCharForKey(aKey, chr) )
-	                    {
-	                    ptiengine->ActivateLanguageL(origLanguage);
-    	                ptiengine->SetInputMode(origInputMode );  
-	
-    	                return ETrue;
-    	                }
-    	            else
-    	            	{
-    	            	if(languageChanged)
-    	            		{
-        	        		ptiengine->ActivateLanguageL(origLanguage);
-            	    		ptiengine->SetInputMode(origInputMode );            		
-                			}
-
-	            		TBuf<1> buf;    
-	    	        	buf.Append(chr);
-    	    	    	fepMan->NewCharacterL(buf);
-        	    		fepMan->CommitInlineEditL();      
-	        	    	ptiengine->ClearCurrentWord();                
-    	        		iData = 0;
-        	    		ptiengine->CancelTimerActivity();
-            			return ETrue;    	                
-    	            	}
-                    }
-                }
-			else
-            	{
-	            if(languageChanged)
-    	            {
-        	        ptiengine->ActivateLanguageL(origLanguage);
-            	    ptiengine->SetInputMode(origInputMode );            		
-                	}
-
-	            TBuf<1> buf;    
-    	        buf.Append(chr);
-        	    fepMan->NewCharacterL(buf);
-            	fepMan->CommitInlineEditL();      
-	            ptiengine->ClearCurrentWord();                
-    	        iData = 0;
-        	    ptiengine->CancelTimerActivity();
-            	return ETrue;
-            	}
-            }
-        }
-    
-#endif //__REVERSE_FN_KEY_SUPPORTED
-#endif //RD_INTELLIGENT_TEXT_INPUT
-
-    iData = aKey;
-
-    TBool keyEventHandledByFep = ETrue;
-    TInt languageCode = 0;
-    MPtiLanguage* curlang = ptiengine->CurrentLanguage();
-    if (curlang)
-        {
-        languageCode = curlang->LanguageCode();
-        }
-
-   TBuf<KMaxOutputSizeForAKeyPress> filtered;   
-    if ( keyEventHandledByFep &&
-        (isCharacter || isQwertyKey) )
-        {        
-        TPtrC text;
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-#ifdef __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-        TBool fnCaseActive = (ptiengine->Case()==EPtiCaseFnLower || ptiengine->Case()==EPtiCaseFnUpper);
-        if (aKey == EStdKeySpace && !fnCaseActive /*(fnKeyState == CAknFepFnKeyManager::EFnKeyNone)*/)
-
-#else
-        if (aKey == EStdKeySpace && (fnKeyState == CAknFepFnKeyManager::EFnKeyNone))
-#endif // __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__       
-#else 
-        if (aKey == EStdKeySpace)
-#endif
-            {
-            // PtiEngine does not have mapping for the space key.
-            TUint16 deadRoot = ptiengine->HandleCommandL(EPtiCommandGetAndClearDeadKeyRootChar);
-            if (deadRoot)
-            	{
-            	// There was a dead key press waiting. Space will cancel it and
-            	// insert the root char.
-            	TBuf<1> dbuf;
-            	dbuf.Append(deadRoot);
-            	text.Set(dbuf);
-            	}
-            else
-            	{
-                _LIT(KSpaceCharacter, " ");
-            	text.Set(KSpaceCharacter);
-            	}
-            }
-        else if (aKey == EStdKeyEnter)
-            {
-            // PtiEngine does not have mapping for the enter key.
-            const TText KAknFEPLineFeedSymbol = 0x21B2;
-            TBuf<1> lineFeed;
-            lineFeed.Zero();
-            lineFeed.Append(KAknFEPLineFeedSymbol);
-            text.Set(lineFeed);
-            }
-        else
-            {
-            TPtiTextCase CurCase = ptiengine->Case();
-            if(fepMan->IsHybridAplhaEditor() && !fepMan->IsHybridAlphaModeChangedtoAplhanumeric())
-                {
-                if(CheckForValidNumberEntryForqwerty(aKey))
-                    ptiengine->SetCase((TPtiTextCase)EPtiCaseFnLower);
-                else
-                    ptiengine->SetCase((TPtiTextCase)EPtiCaseLower);
-                } 
-            // Get keymapping from PtiEngine.                
-            text.Set(ptiengine->AppendKeyPress((TPtiKey)aKey));
-            // Handle all exception cases.
-            CustomFilter(text, filtered, languageCode, caseMan->CurrentCase(), 
-                    ( fepMan->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode)|| 
-                      fepMan->IsFlagSet(CAknFepManager::EFlagLongShiftKeyPress)));                        
-            text.Set(filtered);
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-			SetShortKeyPressText(text);
-            if( text.Length() == 0 ) // no mapping available
-                {
-                if( ( EStdKeySpace == aKey || EKeySpace == aKey ))
-                    {
-					// Launching the Edit menu on press of Fn key and space
-					if(fnKeyState == CAknFepFnKeyManager::EFnKeyDown)
-						fepMan->LaunchSelectModeMenuL();
-					else
-						{
-						// Editor should insert space when function key is in 
-						// locked state and space key is pressed.
-						_LIT(KSpaceCharacter, " ");
-            			text.Set(KSpaceCharacter);
-						}
-					}
-                }
-#endif
-            if(fepMan->IsHybridAplhaEditor() && !fepMan->IsHybridAlphaModeChangedtoAplhanumeric())
-                ptiengine->SetCase(CurCase);
-            }
-        
-        TBuf<5> replacedText;
-        if (text.Length())
-            {
-            MPtiLanguage* lang = ptiengine->CurrentLanguage();
-            if (lang->LanguageCode() == ELangVietnamese)
-            	{
-            	 if (ptiengine->HandleCommandL(EPtiCommandGetAndClearVowelSequence, NULL) > 0)
-            	 	{
-            	 	// This key press produced Vietnamese vowel sequence.
-            	 	// Delete previous char, it will be replaced with accented char.
-            	 	// This is done by sending delete event before accented character is
-            	 	// added to buffer.
-            	 	TInt lastChar = ptiengine->HandleCommandL(EPtiCommandGetAndClearLastVietnameseChar,
-            	 	                                          NULL);
-            	 	iFakeDelete = ETrue;            	 	
-            	 	TKeyEvent delKey = {8, EStdKeyBackspace, 1, 0};        
-        	 		CCoeEnv::Static()->SimulateKeyEventL(delKey, EEventKey);				 		
-        	 		// Restore last char.
-					ptiengine->HandleCommandL(EPtiCommandSetVietnameseLastChar, (TAny*)lastChar);        	 		
-            	 	}  
-            	 else 
-            	 	{            	 
-            	 	TUint16 replaced = ptiengine->HandleCommandL(EPtiCommandQueryReplacePrevious, NULL);
-            	 	if (replaced)            	 	
-            	 		{
-            	 		// Remember last key press, since delete will destroy it.
-						TInt last = ptiengine->HandleCommandL(EPtiCommandGetVietnameseLastKey, NULL);            	 		
-    					if(!fepMan->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed))
-    					    iFakeDelete = ETrue;
- 						TKeyEvent delKey = {8, EStdKeyBackspace, 1, 0};        
-        	 			CCoeEnv::Static()->SimulateKeyEventL(delKey, EEventKey);  
-        	 			replacedText.Append(replaced);
-        	 			replacedText.Append(text);
-        	 			text.Set(replacedText);   	       	 			
-        	 			// Restore last key.
-        	 			ptiengine->HandleCommandL(EPtiCommandSetLastKeyForVietnamese, (TAny*)last);
-            	 		}            	 	
-            	 	}            	
-            	}
-            
-            // Because of dead key functionality there may be several characters waiting.
-            TBuf<1> chr;            
-            for (TInt jj = 0; jj < text.Length(); jj++)
-              	{
-              	chr.Zero();
-               	chr.Append(text[jj]);
-	            fepMan->NewCharacterL(chr);               	         	                        
-            	if ( !fepMan->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed) ||
-            	     (ELongKeyPress == aLength) )
-            	    {
-               		// Commit the character if chr key is not pressed.
-               	    fepMan->CommitInlineEditL();
-               	    ptiengine->ClearCurrentWord();
-               	    iData = 0;
-                	}
-            	else
-                   {
-                   fepMan->ClearFlag(CAknFepManager::EFlagNoActionDuringChrKeyPress);
-                   }
-              	}
-            ret = ETrue;
-            }
-        else
-            {
-            if (ptiengine->HandleCommandL(EPtiCommandDeadKeyWaiting, NULL) == 1)
-            {
-            if (caseMan->CurrentCase() == EAknEditorTextCase
-             || caseMan->CurrentCase() == EAknEditorUpperCase)
-            	{
-            	ptiengine->SetCase(EPtiCaseUpper);	            	
-            	}            
-            else if (fepMan->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode) || 
-                    fepMan->IsFlagSet(CAknFepManager::EFlagLongShiftKeyPress))
-            	{
-            	ptiengine->SetCase(EPtiCaseLower);	
-            	}
-           	}
-#ifdef RD_INTELLIGENT_TEXT_INPUT           	
-           	else
-           	    {
-                fepMan->SimulateKeyEventL(EKeyF19); 
-           	    }
-#endif            	
-            ret = ETrue;
-            }
-        }
-    
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-#ifdef __REVERSE_FN_KEY_SUPPORTED
-	
-    if(languageChanged)
-        {
-       	ptiengine->ActivateLanguageL(origLanguage);
-     	ptiengine->SetInputMode(origInputMode );            		
-        }
-    
-#endif //__REVERSE_FN_KEY_SUPPORTED
-#endif //RD_INTELLIGENT_TEXT_INPUT    
-
-    return ret;
-    }
-
-// Functions from MPtiObserver interface
-void TAknFepInputStateQwerty::KeyTimerExpired()
-    {
-    if (iData)
-        {
-        MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-        TRAP_IGNORE(fepMan->CommitInlineEditL())
-        //do something if error??
-
-        CPtiEngine* ptiengine = iOwner->PtiEngine();
-        ptiengine->ClearCurrentWord();
-
-        CAknFepCaseManager* caseMan = iOwner->CaseMan(); 
-        caseMan->UpdateCase(ENullNaviEvent); 
-
-        iData = 0;
-        }
-    }
-
-
-
-TBool TAknFepInputStateQwerty::IsExceptionChar(TUint16 aChar)
-	{
-    for (TInt i = 0; i < KNumCharKeyExceptions; i++)
-      	{
-       	if (CharKeyExceptions[i] == aChar)	
-       		{ 		
-       		return ETrue;
-       		}
-   		} 	
-	
-	return EFalse;		
-	}
-
-
-TBool TAknFepInputStateQwerty::IsCharacterKey(const TInt aKey)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    // Max length doesn't matter because we'll need only the first character.    
-    TBuf<KMaxName> lowerdata;   
-    
-    ptiengine->MappingDataForKey((TPtiKey)aKey, lowerdata, EPtiCaseLower);        
-    if (lowerdata.Length() > 0)
-    	{
-        TChar lower = lowerdata[0];
-        
-        if (IsExceptionChar(lower))
-       	    {
-       	    TBuf<KMaxName> upperdata; 
-			ptiengine->MappingDataForKey((TPtiKey)aKey, upperdata, EPtiCaseUpper);                   	    
-			if (upperdata.Length() > 0)
-				{
-				TChar upperchr = upperdata[0];
-				upperchr.LowerCase();
-				if (upperchr != lower)
-					{
-		        	iCharKeyException = ETrue;       		
-	    	    	return EFalse;        													
-					}								
-				}       	    
-       		} 
-        
-    	TUint upper = lower.GetUpperCase();
-    
-	    if ( TUint(lower) != upper )
-    	    {
-   			return ETrue; 	
-       		}
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-	    //Characters from languages without case changes like Arabic/Urdu 
-	    //cannot be identified with above logic. Hence, a special check below:
-	    else if ( IsLanguageWithoutCaseChanges() && fepMan->IsOnlyNumericPermitted() && lower.IsAlpha() )
-	        {
-	        return ETrue;
-	        }
-#endif
-     	}
-    
-    return EFalse;
-    }
-
-TBool TAknFepInputStateQwerty::IsNumberKey(const TInt aKey)
-    {
-    TBool response = EFalse;
-    if (aKey >= EPtiKeyQwerty0 && aKey <= EPtiKeyQwerty9)
-        {
-        response = ETrue;
-        }
-    return response;
-    }
-
-TBool TAknFepInputStateQwerty::IsQwertyKey(const TInt aKey)
-    {
-    TBool response = EFalse;
-    if ( (aKey >= EPtiKeyQwertyA && aKey <= EPtiKeyQwertyZ) ||
-        IsNumberKey( aKey ) ||
-        aKey == EStdKeySpace ||
-        aKey == EStdKeyEnter ||
-        aKey == EPtiKeyQwertyPlus ||
-        aKey == EPtiKeyQwertyMinus ||
-        aKey == EPtiKeyQwertyComma ||
-        aKey == EPtiKeyQwertySemicolon ||
-        aKey == EPtiKeyQwertyFullstop ||
-        aKey == EPtiKeyQwertyHash ||
-        aKey == EPtiKeyQwertySlash ||
-        aKey == EPtiKeyQwertyApostrophe
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-        || aKey == EPtiKeyQwertyAtCharacter
-#endif 
-        )
-        {
-        response = ETrue;
-        }
-    return response;
-    }
-
-
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-TBool TAknFepInputStateQwerty::IsCharacterNumber(TChar aChar)
-    {
-    TBool isNumber;
-    isNumber =     (iOwner->NumberModeKeyMapping().Locate(aChar) != KErrNotFound) || 
-        (KAknFepPlainNumbers().Locate(aChar) != KErrNotFound) || 
-        iOwner->FepMan()->IsAllowedKeymappingForNumberMode(aChar);
-    return isNumber;
-    }
-#endif
-        
-void TAknFepInputStateQwerty::NumericCharacterForQwertyKey(TInt aInScanCode,
-                                                           TKeyEvent& aEvent,
-                                                           TBool aShifted, TChar& aResult)
-	{  
- 	CPtiEngine* ptiengine = iOwner->PtiEngine();	
-#ifdef RD_INTELLIGENT_TEXT_INPUT
- 	MAknFepManagerUIInterface *fepMan = iOwner->FepMan();			
-#endif
-	aResult = 0;
-	TUint16 firstChar;
-	
-	const TInt KMaxNumCharsPerCase = 50;
-	TBuf<KMaxNumCharsPerCase> keys;	
-	TInt langCode = 0;
-	
-	CPtiCoreLanguage* lang = static_cast<CPtiCoreLanguage*>(ptiengine->CurrentLanguage());		
-	if (lang)
-		{
-		langCode = lang->LanguageCode();
-		if (langCode == ELangFarsi || langCode == ELangUrdu || langCode == ELangHindi 
-		 || langCode == ELangPrcChinese || langCode == ELangHongKongChinese 
-		 || langCode == ELangTaiwanChinese || langCode == ELangArabic
-		 || TAknFepUiIndicInputManager :: IsIndicLangauge((TLanguage) langCode )
-#ifdef RD_HINDI_PHONETIC_INPUT	
-		 || TAknFepUiIndicInputManager :: IsIndicPhoneticLanguage( (TLanguage)langCode )
-#endif
-		)
-			{
-			lang = static_cast<CPtiCoreLanguage*>(ptiengine->GetLanguage(ELangEnglish));			
-			}				
-		}
-	
-	if (lang)
-		{
-		
-		// If the key have scancode EPtiKeyQwertyW, EPtiKeyQwertyP map to any valid
-		// numeric character that valid numeric character never be inserted.
-		// Earlier this was not happening, because key map with numeric key always
-
-		
-		CPtiQwertyKeyMappings* maps = static_cast<CPtiQwertyKeyMappings*>(lang->GetQwertyKeymappings());
-        TBool keyNotMapToNumeric(ETrue);
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        if(maps)
-            {
-            maps->GetDataForKey((TPtiKey)aInScanCode, keys, EPtiCaseFnLower);
-            keyNotMapToNumeric = !(keys.Length() && IsCharacterNumber(keys[0]));
-            }
-#endif
-		
-		if (keyNotMapToNumeric && langCode == ELangVietnamese && aInScanCode == EPtiKeyQwertyW &&
-			!aShifted)
-			{
-			// This is handled as a special case because 'w' is normally produced by double press
-			// of w-key in Vitenamese but in number mode that can't be done.
-			aResult = 'w';
-			aEvent = KEventsForSecondPass[KEventIndexForW];
-			return;
-			}
-			
-		if (langCode == ELangHindi 
-#ifdef RD_MARATHI
-		|| langCode == ELangMarathi
-#endif // RD_MARATHI
-		    )
-			{
-			if (aInScanCode == EPtiKeyQwertyPlus && aShifted)
-				{
-				aResult = '-';
-				aEvent = KEventsForSecondPass[KPtiMinusIndex];
-				return;													
-				}
-			else if (aInScanCode == EPtiKeyQwertyMinus && !aShifted)
-				{
-				return;
-				}				
-			}
-			
-		if (langCode == ELangArabic)
-			{				
-			if (aInScanCode == EPtiKeyQwertyComma && !aShifted)			
-				{
-				aResult = ',';
-				aEvent = KEventsForSecondPass[KPtiCommaIndex];
-				return;					
-				}				
-			else if (aInScanCode == EPtiKeyQwertyE && aShifted)	
-				{				
-				aResult = 'E';
-				aEvent = KEventsForSecondPass[KPtiCapitalEIndex];
-				return;									
-				}				
-			}
-			
-		if (langCode == ELangFarsi)	
-			{
-			// Farsi uses english numeric keymappings with following exceptions.
-			if ((aInScanCode == EPtiKeyQwertyPlus && !aShifted) ||
-			    (aInScanCode == EPtiKeyQwertyComma && !aShifted))
-				{
-				return;   // Block
-				}
-			
-			if (aInScanCode == EPtiKeyQwerty7 && aShifted)
-				{
-				aResult = '*';
-				aEvent = KEventsForSecondPass[KPtiStarIndex];
-				return;					
-				}
-			if (aInScanCode == EPtiKeyQwerty8 && aShifted)
-				{
-				aResult = '-';
-				aEvent = KEventsForSecondPass[KPtiMinusIndex];
-				return;					
-				}				
-			if (aInScanCode == EPtiKeyQwerty9 && aShifted)
-				{
-				aResult = '+';
-				aEvent = KEventsForSecondPass[KPtiPlusIndex];
-				return;									
-				}				
-			if (aInScanCode == EPtiKeyQwerty2 && aShifted)
-				{
-				aResult = ',';
-				aEvent = KEventsForSecondPass[KPtiCommaIndex];
-				return;									
-				}								
-			}
-		else if (langCode == ELangUrdu)	
-			{
-			// urdu uses english numeric keymappings with following exceptions.	
-			if (aInScanCode == EPtiKeyQwerty0 && aShifted)
-				{
-				aResult = '+';
-				aEvent = KEventsForSecondPass[KPtiPlusIndex];
-				return;					
-				}			
-			if (aInScanCode == EPtiKeyQwerty3 && aShifted)
-				{
-				aResult = '#';
-				aEvent = KEventsForSecondPass[KPtiHashIndex];
-				return;					
-				}			
-			if (aInScanCode == EPtiKeyQwertyP)
-				{
-				if (iOwner->NumberModeKeyMapping().Locate('p') == KErrNotFound)
-					{
-					if (!aShifted)
-						{
-						aResult = '-';
-						aEvent = KEventsForSecondPass[KPtiMinusIndex];
-						return;											
-						}
-					else
-						{											
-						return;																	
-						}
-					}
-				else
-					{
-					if (aShifted)
-						{
-						aResult = '-';
-						aEvent = KEventsForSecondPass[KPtiMinusIndex];
-						return;															
-						}
-					else
-						{
-						aResult = 'p';
-						aEvent = KEventsForSecondPass[KEventIndexForP];
-						return;					
-						
-						}					
-					}									
-				}							
-			}
-		
-		// Handle other languages, which don't have 'p' and 'w' in normal keymapping data.		
-		
-        if( keyNotMapToNumeric &&
-		    (langCode == ELangGreek || langCode == ELangRussian ||
-		    langCode == ELangArabic || langCode == ELangHebrew || 
-		    langCode == ELangBulgarian || langCode == ELangThai ||
-		    langCode == ELangUkrainian) && !aShifted)	
-		   {
-		   if (aInScanCode == EPtiKeyQwertyW)
-		   	   {
-		   	   aResult = 'w';
-			   aEvent = KEventsForSecondPass[KEventIndexForW];
-			   return;
-		   	   }
-		   else if (aInScanCode == EPtiKeyQwertyP)
-		       {
-	   	   	   aResult = 'p';
-			   aEvent = KEventsForSecondPass[KEventIndexForP];
-			   return;		   		
-		   	   }		   		   
-		   }
-							
-
-		if (maps)
-			{
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-            if(aShifted)
-                {
-                maps->GetDataForKey((TPtiKey)aInScanCode, keys, EPtiCaseUpper);
-                }
-            else
-                {            
-                maps->GetDataForKey((TPtiKey)aInScanCode, keys, EPtiCaseFnLower);
-                if( !(keys.Length() && IsCharacterNumber(keys[0])))
-                    maps->GetDataForKey((TPtiKey)aInScanCode, keys, EPtiCaseFnUpper);
-                if( !(keys.Length() && IsCharacterNumber(keys[0])))
-                    maps->GetDataForKey((TPtiKey)aInScanCode, keys, EPtiCaseLower);
-                if( !(keys.Length() && IsCharacterNumber(keys[0])))
-                    maps->GetDataForKey((TPtiKey)aInScanCode, keys, EPtiCaseUpper);                
-                if( !(keys.Length() && IsCharacterNumber(keys[0])))
-                    keys.SetLength(0);
-                }
-                          
-#else 
-			if (aShifted)
-				{
-				maps->GetDataForKey((TPtiKey)aInScanCode, keys, EPtiCaseUpper);				
-				}
-			else
-				{
-				maps->GetDataForKey((TPtiKey)aInScanCode, keys, EPtiCaseLower);				
-				}
-#endif
-			if ( keys.Length() > 0 )
-			    {
-        		switch (keys[0])		
-        			{
-        			case KPtiPinyinMarker:
-        			case KPtiStrokeMarker:
-        			case KPtiZhuyinMarker:
-        			case KPtiCangjieMarker:
-					case KPtiGetAllMarker:        			
-        			     if (keys.Length() > 1)
-        			        firstChar = keys[1];
-        			     else
-        			        firstChar = 0;
-        			     break;
-        			default:			     
-        				 firstChar =  keys[0];			     
-        			}
-        						
-                for (TInt j = 0; j < KFull_SimpleSymbolMapNumber; j++)
-                    {
-                    if (firstChar == KFull_SimpleSymbolMaps[j][0])
-                        {
-                        firstChar = KFull_SimpleSymbolMaps[j][1];
-                        break;
-                        }             
-                    }  
-                    										
-			for (TInt i = 0; i < KNumAllowedIdleNumericChars; i++)
-				{			
-				if (firstChar == KAllAllowedNumericChars[i])								
-					{
-					aEvent = KEventsForSecondPass[i];
-					aResult = KAllAllowedNumericChars[i];																					
-					break;						
-						}									
-					}						
-			    }			    
-			}
-		}			
-	}    
-        
-           
-    
-void TAknFepInputStateQwerty::CustomFilter(TPtrC aInput, TDes& aOutput, TInt /*aLanguage*/, 
-                                           TInt aCurrentCase, TBool /*aShiftDown*/)
-    {   
-    aOutput.Zero();
-    
-    if (aInput.Length() && aInput.Length() <= aOutput.MaxLength())
-        {
-        aOutput.Copy(aInput);       
-        }
-
-    if (aOutput.Length())       
-        {      
-        if (aCurrentCase == EAknEditorTextCase || aCurrentCase == EAknEditorUpperCase)
-            {                                  
-            if (iCharKeyException && IsExceptionChar(aOutput[0]))
-            	{           
-            	TChar chr = aOutput[0];
-            	chr.UpperCase();
-            	aOutput[0] = chr;            	
-            	}
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-            else if (aLanguage == ELangCzech)	
-            	{
-            	if (aOutput[0] == '/' && !aShiftDown)
-            		{
-            		aOutput[0] = 0x00c4;
-            		}				   			            		            		            	            	
-            	}                                                  
-#endif // RD_INTELLIGENT_TEXT_INPUT
-            }
-        }       
-    }
-    
-void TAknFepInputStateQwerty::HandleCaseChange(TInt aKey, TBool aIsCharacter)
-	{
-    TPtiTextCase caseMode = EPtiCaseLower;
-
-    if (aIsCharacter)
-        {
-        if( !( iOwner->FepMan()->IsOnlyNumericPermitted() && !IsNumberKey(aKey) ) )
-        	{
-        	switch(iOwner->CaseMan()->CurrentCase())
-           		{
-            	case EAknEditorLowerCase:
-                	caseMode = EPtiCaseLower;
-	                break;            
-    	        case EAknEditorTextCase:
-        	    case EAknEditorUpperCase:
-            	   caseMode = EPtiCaseUpper;
-	            default:
-    	           break;
-        	    }
-        	}
-        else
-        	{
-        	caseMode = iOwner->PtiEngine()->Case();
-        	}
-       	}
- 
-    TPtiTextCase shiftedCase = caseMode;
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    
-    // If Fn key state is EFnKeyNone, Synchronise PtiEngine Textcase 
-    if( CAknFepFnKeyManager::EFnKeyNone == iOwner->FepMan()->FnKeyState() )
-        {
-        iOwner->PtiEngine()->SetCase((TPtiTextCase)EPtiCaseLower);
-        }
-    else
-        {
-        if( (iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode)||
-             iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagLongShiftKeyPress) ))
-            {
-            iOwner->PtiEngine()->SetCase((TPtiTextCase)EPtiCaseFnUpper);
-            }        
-            
-        TPtiTextCase curCase = iOwner->PtiEngine()->Case();
-        if( EPtiCaseFnUpper  == curCase || EPtiCaseFnLower  == curCase )
-    	    {    	    
-    		if( EPtiCaseFnUpper == curCase )
-    			{
-    	    	TBuf<32> keyMappings;
-    	    	iOwner->PtiEngine()->MappingDataForKey( (TPtiKey)aKey, keyMappings, EPtiCaseFnUpper);
-    			
-    			if( keyMappings.Length() == 0)	
-    				{
-    		    	iOwner->PtiEngine()->SetCase((TPtiTextCase)EPtiCaseFnLower);
-    				}
-    			}    	    
-    	    return;	      	
-    	    }
-        }
-#endif
-    if ( (iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode)||
-          iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagLongShiftKeyPress) )&& 
-       ( !aIsCharacter || iOwner->CaseMan()->IsAbleChangeCase() ) )
-        {
-        // Case mode is changed to opposite because shift key is/was pressed and
-        // in case of character key case changes are allowed. In case of
-        // number or special key, shift mode is used always when 
-        // shift key is pressed
-        switch ( caseMode )
-            {
-            case EPtiCaseUpper:
-                shiftedCase = EPtiCaseLower;
-                break;
-            case EPtiCaseLower:
-                shiftedCase = EPtiCaseUpper;
-                break;
-            default:
-                break;
-            }
-        }
-    
-    if ( iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed) )
-        {
-        // Chr key is pressed down. Chr mode is used.
-        if (shiftedCase == EPtiCaseLower)
-            {
-            shiftedCase = EPtiCaseChrLower;
-            }
-        else if (shiftedCase == EPtiCaseUpper)
-            {
-            shiftedCase = EPtiCaseChrUpper;
-            }
-        }
-    
-    iOwner->PtiEngine()->SetCase(shiftedCase);
-	
-	}
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-TBool TAknFepInputStateQwerty::TryGetValidCharForKey(const TInt& aKey, TChar& aChar)
-    {    
-    if( ! TryGetValidCharForKeyAndCase( aKey, aChar, EPtiCaseLower) )
-        {
-        if(! TryGetValidCharForKeyAndCase( aKey, aChar, EPtiCaseUpper))
-            {
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-            //Do not check for FnUpper and FnLower case for Greek/Cyrillic/Hebrew script.
-            //This is for handling special characters in numeric editors.
-            if ( IsSpecialNonLatinScript() )
-                {
-                return EFalse;
-                }
-#endif
-            if(! TryGetValidCharForKeyAndCase( aKey, aChar, EPtiCaseFnLower))
-                {
-                if(! TryGetValidCharForKeyAndCase( aKey, aChar, EPtiCaseFnUpper))
-                	{
-                	return EFalse;	
-                	}
-                }
-            }
-        }
-    return ETrue;
-    }
-    
-TBool TAknFepInputStateQwerty::TryGetValidCharForKeyAndCase(const TInt& aKey, TChar& aChar, TPtiTextCase aCase)
-    {
-    TBuf<KMaxName> mappedCharacters;
-
-    iOwner->PtiEngine()->MappingDataForKey((TPtiKey)aKey, mappedCharacters, aCase);        
-    for (TInt i = 0; i < mappedCharacters.Length(); i++ )
-        {
-        if( iOwner->FepMan()->IsValidCharInNumericEditorL( mappedCharacters[i] ) )
-            {
-            aChar = mappedCharacters[i];
-            return ETrue;
-            }
-        }    
-    return EFalse;
-    }	
-
-TBool TAknFepInputStateQwerty::IsLanguageWithoutCaseChanges()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    TInt currLanguageCode = ptiengine->CurrentLanguage()->LanguageCode();
-    //update below list as and when required.
-    if (    ELangArabic == currLanguageCode ||
-            ELangFarsi == currLanguageCode ||
-            ELangHebrew == currLanguageCode ||
-            ELangHindi == currLanguageCode ||
-            ELangUrdu == currLanguageCode
-        )
-        {
-        return ETrue;
-        }
-    return EFalse;        
-    }
-
-TBool TAknFepInputStateQwerty::IsSpecialNonLatinScript()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    TInt currLanguageCode = ptiengine->CurrentLanguage()->LanguageCode();
-    //update below list as and when required.
-    if (    ELangGreek == currLanguageCode ||
-            ELangRussian == currLanguageCode ||
-            ELangUkrainian == currLanguageCode ||
-            ELangBulgarian == currLanguageCode ||
-            ELangHebrew == currLanguageCode 
-        )
-        {
-        return ETrue;
-        }
-    return EFalse;    
-    }
-#endif
-
-TBool TAknFepInputStateQwerty::CheckForValidNumberEntryForqwerty(TInt aKey)
-    {
-    TChar chr;							
-    TKeyEvent numKey;
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-
-    NumericCharacterForQwertyKey(aKey, numKey,
-                                 ( fepMan->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode)|| 
-                                       fepMan->IsFlagSet(CAknFepManager::EFlagLongShiftKeyPress) ), chr);																							 	
-    if ((chr != 0) &&
-        ((iOwner->NumberModeKeyMapping().Locate(chr) != KErrNotFound) ||
-         (KAknFepPlainNumbers().Locate(chr) != KErrNotFound)) ||
-         fepMan->IsAllowedKeymappingForNumberMode(chr)) 
-        {					
-        if (chr == 'E')
-            {
-            TBuf<1> chrTmp;
-            chrTmp.Append(chr);
-            fepMan->NewCharacterL(chrTmp);               	         	                        
-            fepMan->CommitInlineEditL();			
-            }
-        else
-            {							
-            // If editor is in number mode and incoming key press would produce
-            // any of the allowed number mode characters, 
-            // resend suitable key event let it pass through FEP. That way phone idle
-            // receives the event too. This also takes care of remapping
-            // different qwerty keymap layouts to edwin events.
-            if(!(fepMan->IsHybridAplhaEditor() && !fepMan->IsHybridAlphaModeChangedtoAplhanumeric()))
-                fepMan->SetFlag(CAknFepManager::EFlagPassNextKey);   						 			
-            CPtiEngine* ptiengine = iOwner->PtiEngine();
-            CPtiCoreLanguage* lang = static_cast<CPtiCoreLanguage*>(ptiengine->CurrentLanguage());
-            
-            if (lang && (numKey.iScanCode >= EPtiKeyQwerty0 && numKey.iScanCode <= EPtiKeyQwerty9))
-                {
-                const TInt langCode = lang->LanguageCode();
-                    
-                if(langCode == ELangUrdu || langCode == ELangFarsi)
-                    {
-                    numKey.iCode += KLatinToEasternArabicIndicDigitsDelta;
-                    numKey.iModifiers = numKey.iModifiers|EModifierSpecial;	
-                    }
-                else if (langCode == ELangArabic && fepMan->ArabicIndicDigitsInUse())
-                    {
-                    numKey.iCode += KLatinToArabicIndicDigitsDelta;
-                    numKey.iModifiers = numKey.iModifiers|EModifierSpecial;
-                    }
-                else if(TAknFepUiIndicInputManager::IsIndicLangauge(TLanguage(langCode))
-#ifdef RD_HINDI_PHONETIC_INPUT
-                || TAknFepUiIndicInputManager::IsIndicPhoneticLanguage(TLanguage(langCode))
-#endif
-                )
-                    {
-                    numKey.iCode += KLatinToDevanagariDigitsDelta;							
-                    numKey.iModifiers = numKey.iModifiers|EModifierSpecial;							
-                    }
-                }
-            // Disable UI framewroks's qwerty iCode conversion for simulated event.	
-            numKey.iModifiers |= EModifierSpecial;					
-            if(!(fepMan->IsHybridAplhaEditor() && !fepMan->IsHybridAlphaModeChangedtoAplhanumeric()))
-                {
-                CCoeEnv::Static()->SimulateKeyEventL(numKey, EEventKey);                        
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-                CCoeEnv::Static()->SimulateKeyEventL(numKey, EEventKeyUp);
-#endif
-                }
-            }
-        }										  						 	                                  
-						
-    if((fepMan->IsHybridAplhaEditor() && !fepMan->IsHybridAlphaModeChangedtoAplhanumeric())
-                &&(numKey.iCode == 112 /*p*/ || numKey.iCode == 119/*w*/))
-        return EFalse;    
-    else if(!fepMan->IsHybridAplhaEditor() || fepMan->IsHybridAlphaModeChangedtoAplhanumeric())
-        return ETrue;
-    else if(!fepMan->IsHybridAlphaModeChangedtoAplhanumeric() && 
-            (chr !=0 || (chr==0 && fepMan->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode))))
-        return ETrue;
-    else
-        return EFalse; 
-    }
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateStrokeFindQwerty.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,183 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStateStrokeFindQwerty methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStatelStrokeFindQwerty.h"
-#include "AknFepUIManagerStateInterface.h"
-#include "AknFepManagerUIInterface.h"
-
-#include <e32keys.h>
-#include <PtiEngine.h>
-#include <PtiDefs.h>                //keys
-
-TAknFepInputStateStrokeFindQwerty::TAknFepInputStateStrokeFindQwerty(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateChineseFindQwerty(aOwner, aUIContainer)
-    {
-    iOwner->PtiEngine()->SetInputMode(EPtiEngineStrokeQwerty);
-    }
-                                
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-TAknFepInputStateStrokeFindMiniQwerty::TAknFepInputStateStrokeFindMiniQwerty(
-        MAknFepUIManagerStateInterface* aOwner, TInt aMode) :
-    TAknFepInputStateInitialChineseGenericQwerty(aOwner, aMode)
-    {
-    iOwner->PtiEngine()->SetInputMode(EPtiEngineStrokePhraseQwerty);
-
-    iOwner->PtiEngine()->SetKeyboardType(iOwner->FepMan()->KeyboardLayout());
-
-    }
-
-TBool TAknFepInputStateStrokeFindMiniQwerty::HandleKeyL(TInt aKey,
-        TKeyPressLength aLength)
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    CAknFepFnKeyManager::TFnKeyState fnKeyState  = fepMan->FnKeyState();
-    TBool ret = EFalse;
-
-    if (aLength == EShortKeyPress && CAknFepFnKeyManager::EFnKeyNone
-            == iOwner->FepMan()->FnKeyState()
-            && iOwner->IsValidChineseInputKeyQwerty(aKey))
-        {
-        HandleCaseChange(aKey, ETrue);
-        ptiengine->AppendKeyPress((TPtiKey)aKey);
-        TPtrC text = ptiengine->GetPhoneticSpelling(1);
-
-        if (text.Length())
-            {
-            fepMan->NewCharacterL(text);
-            fepMan->CommitInlineEditL();
-            ptiengine->ClearCurrentWord();
-            ret = ETrue;
-            }
-        }
-    else if ( CAknFepFnKeyManager::EFnKeyNone == fnKeyState 
-    		&& (aLength == EShortKeyPress && aKey >=EPtiKeyQwertyA && aKey <= EPtiKeyQwertyZ ))
-    	{
-    	ret = ETrue;
-    	}
-    else if ( fnKeyState != CAknFepFnKeyManager::EFnKeyNone 
-    		&& aKey >=EPtiKeyQwertyA 
-    		&& aKey <= EPtiKeyQwertyZ )
-    	{
-    	ret = TAknFepInputStateQwerty::HandleKeyL( aKey, aLength );
-    	}
-    else
-        {
-        return TAknFepInputStateInitialChineseGenericQwerty::HandleKeyL(aKey,
-                aLength);
-        }
-    return ret;
-    } 
-
-
-
-#ifdef __HALF_QWERTY_KEYPAD
-TAknFepInputStateStrokeFindHalfQwerty::TAknFepInputStateStrokeFindHalfQwerty(
-        MAknFepUIManagerStateInterface* aOwner, TInt aMode) :
-    TAknFepInputStateInitialChineseGenericHalfQwerty(aOwner, aMode)
-    {
-    iOwner->PtiEngine()->SetInputMode(EPtiEngineStrokePhraseHalfQwerty);
-
-    iOwner->PtiEngine()->SetKeyboardType(iOwner->FepMan()->KeyboardLayout());
-
-    }
-
-TBool TAknFepInputStateStrokeFindHalfQwerty::HandleKeyL(TInt aKey,
-        TKeyPressLength aLength)
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    TBool ret = EFalse;
-
-    if (iOwner->IsValidChineseInputKeyQwerty(aKey)
-            && CAknFepFnKeyManager::EFnKeyNone == iOwner->FepMan()->FnKeyState() && aLength == EShortKeyPress)
-        {
-
-        ptiengine->SetCase(EPtiCaseLower);
-        ptiengine->SetInputMode(EPtiEngineStrokePhraseHalfQwerty);
-
-        ptiengine->AppendKeyPress((TPtiKey)aKey);
-        TPtrC text = ptiengine->GetPhoneticSpelling(1);
-
-        if (text.Length())
-            {
-			fepMan->StartInlineEditL();
-			fepMan->UpdateInlineEditL(text,0);
-			fepMan->CommitInlineEditL();
-//            fepMan->NewCharacterL(aText);
-//            fepMan->CommitInlineEditL();
-//            ptiengine->ClearCurrentWord();
-            ret = ETrue;
-            }
-        }
-    else if( iOwner->IsValidChineseInputKeyQwerty(aKey) && aLength == ELongKeyPress )
-    	{   	
-    	TPtrC text;
-        TBuf<5> allFnMappedCharacters;
-        ptiengine->MappingDataForKey((TPtiKey)aKey, allFnMappedCharacters, EPtiCaseFnLower);
-        text.Set(allFnMappedCharacters);
-        if (text.Length())
-        	{
-        	TBuf<1> chr;   
-            chr.Append( text[0] );
-            fepMan->RemovePreviousCharacterL();
-            fepMan->NewCharacterL(chr);
-            fepMan->CommitInlineEditL();      
-            ptiengine->ClearCurrentWord();                
-            iData = 0;
-        	}                                 
-        ret = ETrue;
-    	}
-    else
-        {
-        TPtiTextCase caseMode = ptiengine->Case();
-        if (ptiengine->InputMode()!=EPtiEngineHalfQwerty)
-            {
-            ptiengine->ClearCurrentWord();
-            ptiengine->SetInputMode(EPtiEngineHalfQwerty);
-            }
-        ptiengine->SetCase(caseMode);
-        
-        return TAknFepInputStateInitialChineseGenericHalfQwerty::HandleKeyL(
-                aKey, aLength);
-                
-                
-        /*if (fepMan->FnKeyState() == CAknFepFnKeyManager::EFnKeyNext)
-                    fepMan->SetFnKeyState(CAknFepFnKeyManager::EFnKeyNone);*/
-        }
-
-    return ret;
-    }
-#endif
-
-#endif 
-// End of file
--- a/fep/aknfep/src/AknFepUiInputStateZhuyinFindQwerty.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,352 +0,0 @@
-/*
-* Copyright (c) 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:           
-*       Provides the TAknFepInputStateZhuyinFindQwerty methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateZhuyinFindQwerty.h"
-#include "AknFepUIManagerStateInterface.h"
-#include "AknFepCaseManager.h"
-
-#include <e32keys.h>
-#include <PtiEngine.h>
-#include <PtiDefs.h>                //keys
-
-TAknFepInputStateZhuyinFindQwerty::TAknFepInputStateZhuyinFindQwerty(
-        MAknFepUIManagerStateInterface* aOwner,
-        MAknFepUICtrlContainerChinese* aUIContainer) :
-    TAknFepInputStateChineseFindQwerty(aOwner, aUIContainer)
-    {
-    iOwner->PtiEngine()->SetInputMode(EPtiEngineZhuyinQwerty);
-    }
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-TAknFepInputStateZhuyinFindMiniQwerty::TAknFepInputStateZhuyinFindMiniQwerty(
-        MAknFepUIManagerStateInterface* aOwner, TInt aMode) :
-    TAknFepInputStateInitialChineseGenericQwerty(aOwner, aMode)
-    {
-    iState = EInitial;
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-
-    ptiengine->SetInputMode(EPtiEngineInputModeZhuyinMiniQwertyFind);
-    ptiengine->SetKeyboardType(iOwner->FepMan()->KeyboardLayout());
-
-    }
-
-TBool TAknFepInputStateZhuyinFindMiniQwerty::HandleKeyL(TInt aKey,
-        TKeyPressLength aLength)
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    TBool ret = EFalse;
-
-    if (iData != aKey)
-        {
-        fepMan->CommitInlineEditL();
-        ptiengine->ClearCurrentWord();
-        CAknFepCaseManager* caseMan = iOwner->CaseMan();
-        caseMan->UpdateCase(ENullNaviEvent);
-        }
-
-    iData = aKey;
-    if ( aLength == EShortKeyPress && CAknFepFnKeyManager::EFnKeyNone
-        == iOwner->FepMan()->FnKeyState() && (!fepMan->IsFlagSet(
-        CAknFepManager::EFlagQwertyShiftMode
-            | CAknFepManager::EFlagShiftKeyDepressed )) )
-        {
-        if (ptiengine->InputMode()!= EPtiEngineInputModeZhuyinMiniQwertyFind)
-            {
-            ptiengine->SetInputMode(EPtiEngineInputModeZhuyinMiniQwertyFind);
-            }
-        switch (aKey)
-            {
-            case EPtiKeyQwerty1:
-                aKey = EPtiKeyQwertyQ;
-                break;
-            case EPtiKeyQwerty2:
-                aKey = EPtiKeyQwertyW;
-                break;
-            case EPtiKeyQwerty3:
-                aKey = EPtiKeyQwertyE;
-                break;
-            case EPtiKeyQwerty4:
-                aKey = EPtiKeyQwertyR;
-                break;
-            case EPtiKeyQwerty5:
-                aKey = EPtiKeyQwertyT;
-                break;
-            case EPtiKeyQwerty6:
-                aKey = EPtiKeyQwertyY;
-                break;
-            case EPtiKeyQwerty7:
-                aKey = EPtiKeyQwertyU;
-                break;
-            case EPtiKeyQwerty8:
-                aKey = EPtiKeyQwertyI;
-                break;
-            case EPtiKeyQwerty9:
-                aKey = EPtiKeyQwertyO;
-                break;
-            case EPtiKeyQwerty0:
-                aKey = EPtiKeyQwertyP;
-                break;
-            default:
-                break;
-            }
-
-        if (aKey == EPtiKeyQwertyE || aKey == EPtiKeyQwertyR || aKey
-                == EPtiKeyQwertyY || aKey == EPtiKeyQwertyU)
-            {
-            ret= ETrue;
-            }
-        else if (iOwner->IsValidChineseInputKeyQwerty(aKey) )
-            {
-        	HandleCaseChange(aKey, ETrue);
-            TPtrC text = ptiengine->AppendKeyPress((TPtiKey)aKey);
-            if (text.Length())
-                {
-                fepMan->NewCharacterL(text);
-                ret = ETrue;
-                }
-            }
-        else if (aKey == EStdKeyBackspace)
-            {
-            iOwner->PtiEngine()->DeleteKeyPress();
-            }
-        else if ( EPtiKeyQwertyComma == aKey )
-        	{
-        		//show the width comma 
-            TPtrC text = ptiengine->AppendKeyPress((TPtiKey)aKey);
-            if (text.Length())
-                {
-                fepMan->NewCharacterL(text);
-                ret = ETrue;
-                }
-        	}
-        }
-    else
-        {
-        ptiengine->SetInputMode( EPtiEngineZhuyinPhraseQwerty );
-        ptiengine->ClearCurrentWord();        
-        if ( !fepMan->IsFlagSet( CAknFepManager::EFlagQwertyShiftMode
-            | CAknFepManager::EFlagShiftKeyDepressed ) )
-            {
-            // the case for Fn mode
-            fepMan->SetFnKeyState( CAknFepFnKeyManager::EFnKeyNext );
-            }
-        ret = TAknFepInputStateInitialChineseGenericQwerty::HandleKeyL( aKey,
-            aLength );
-        }
-    return ret;
-    }
-
-void TAknFepInputStateZhuyinFindMiniQwerty::KeyTimerExpired()
-    {
-
-    if (iData)
-        {
-        MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-        TRAP_IGNORE(fepMan->CommitInlineEditL())
-
-        CPtiEngine* ptiengine = iOwner->PtiEngine();
-        ptiengine->ClearCurrentWord();
-
-        fepMan->ClearFlag(CAknFepManager::EFlagInsideMultitapInlineEditingTransaction);
-        }
-
-    }
-
-#ifdef __HALF_QWERTY_KEYPAD
-
-TAknFepInputStateZhuyinFindHalfQwerty::TAknFepInputStateZhuyinFindHalfQwerty(
-        MAknFepUIManagerStateInterface* aOwner, TInt aMode) :
-    TAknFepInputStateInitialChineseGenericHalfQwerty(aOwner, aMode)
-    {
-    iState = EInitial;
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-
-    ptiengine->SetInputMode(EPtiEngineZhuyinPhraseHalfQwerty);
-    ptiengine->SetKeyboardType(iOwner->FepMan()->KeyboardLayout());
-
-    }
-
-TBool TAknFepInputStateZhuyinFindHalfQwerty::HandleKeyL(TInt aKey,
-        TKeyPressLength aLength)
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    TBool ret = EFalse;
-
-    if (iData && (iData != aKey))
-        {
-        fepMan->CommitInlineEditL();
-        ptiengine->ClearCurrentWord();
-        fepMan->ClearFlag(
-                CAknFepManager::EFlagInsideMultitapInlineEditingTransaction);
-        iOwner->CaseMan()->UpdateCase(ENullNaviEvent);
-        }
-
-    iData = aKey;
-    
-    if (IsValidZhuyinKey(aKey) && CAknFepFnKeyManager::EFnKeyNone
-			== iOwner->FepMan()->FnKeyState() && aLength == EShortKeyPress )
-		{
-		TPtrC text;
-		switch (aKey)
-			{
-			case EPtiKeyQwertyE:
-				aKey = EPtiKey1;
-				break;
-			case EPtiKeyQwertyT:
-                aKey = EPtiKey2;
-                break;
-            case EPtiKeyQwertyU:
-                aKey = EPtiKey3;
-                break;
-            case EPtiKeyQwertyD:
-                aKey = EPtiKey4;
-                break;
-            case EPtiKeyQwertyG:
-                aKey = EPtiKey5;
-                break;
-            case EPtiKeyQwertyJ:
-                aKey = EPtiKey6;
-                break;
-            case EPtiKeyQwertyC:
-                aKey = EPtiKey7;
-                break;
-            case EPtiKeyQwertyB:
-                aKey = EPtiKey8;
-                break;
-            case EPtiKeyQwertyM:
-                aKey = EPtiKey9;
-                break;
-            case EPtiKeyQwertySpace:
-                aKey = EPtiKey0;
-                break;
-			default:
-				break;
-			}
-			ptiengine->SetCase(EPtiCaseLower);
-			ptiengine->SetInputMode(EPtiEngineZhuyinPhraseHalfQwerty);
-			text.Set(ptiengine->AppendKeyPress((TPtiKey)aKey));
-			if (text.Length())
-				{
-				fepMan->StartInlineEditL();
-				fepMan->UpdateInlineEditL(text,0);
-				fepMan->CommitInlineEditL();
-				ret = ETrue;
-				}
-			}
-    else if ( IsValidZhuyinKey(aKey) && aLength == ELongKeyPress)
-    	{
-    	TPtrC text;
-        TBuf<5> allFnMappedCharacters;
-        ptiengine->MappingDataForKey((TPtiKey)aKey, allFnMappedCharacters, EPtiCaseFnLower);
-        text.Set(allFnMappedCharacters);
-        if (text.Length())
-        	{
-        	TBuf<1> chr;   
-            chr.Append( text[0] );
-            fepMan->RemovePreviousCharacterL();
-            fepMan->NewCharacterL(chr);
-            fepMan->CommitInlineEditL();      
-            ptiengine->ClearCurrentWord();                
-            iData = 0;
-        	}                                 
-        ret = ETrue;
-    	}
-    else if (IsValidZhuyinKey(aKey) && aLength == ELongKeyPress
-            && CAknFepFnKeyManager::EFnKeyLock
-                    != iOwner->FepMan()->FnKeyState())
-        {
-        ret = EFalse;
-        }
-    else if (fepMan->EditorHasFreeSpace())
-        {
-        TPtiTextCase caseMode = ptiengine->Case();
-        if (ptiengine->InputMode() != EPtiEngineHalfQwerty)
-            {
-            ptiengine->ClearCurrentWord();
-            ptiengine->SetInputMode(EPtiEngineHalfQwerty);
-            }
-        ptiengine->SetCase(caseMode);
-
-        ret = TAknFepInputStateInitialChineseGenericHalfQwerty::HandleKeyL(
-                aKey, aLength);          
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateZhuyinFindHalfQwerty::KeyTimerExpired
-// 
-// Functions from MPtiObserver interface
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateZhuyinFindHalfQwerty::KeyTimerExpired()
-    {
-    if (iData)
-        {
-        MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-        if (fepMan->EditorHasFreeSpace())
-            {
-                TRAP_IGNORE(fepMan->CommitInlineEditL())
-            }
-        CPtiEngine* ptiengine = iOwner->PtiEngine();
-        ptiengine->ClearCurrentWord();
-
-        fepMan->ClearFlag(
-                CAknFepManager::EFlagInsideMultitapInlineEditingTransaction);
-        CAknFepFnKeyManager::TFnKeyState fnKeyState = fepMan->FnKeyState();
-        if ( !fepMan->IsFlagSet(CAknFepManager::EFlagLongShiftKeyPress) )
-            {
-            if (fnKeyState == CAknFepFnKeyManager::EFnKeyNext)
-                fepMan->SetFnKeyState(CAknFepFnKeyManager::EFnKeyNone);
-            }
-        }
-    }
-
-TBool TAknFepInputStateZhuyinFindHalfQwerty::IsValidZhuyinKey(TInt aKey)
-    {
-    if (aKey == EPtiKeyQwertyE|| aKey == EPtiKeyQwertyT|| aKey
-            == EPtiKeyQwertyU|| aKey == EPtiKeyQwertyD|| aKey
-            == EPtiKeyQwertyG|| aKey == EPtiKeyQwertyJ|| aKey
-            == EPtiKeyQwertyC|| aKey == EPtiKeyQwertyB|| aKey
-            == EPtiKeyQwertyM|| aKey == EPtiKeyQwertySpace)
-        {
-        return ETrue;
-        }
-    else
-        {
-        return EFalse;
-        }
-
-    }
-#endif //__HALF_QWERTY_KEYPAD
-
-#endif //RD_INTELLIGENT_TEXT_INPUT
-// End of file
--- a/fep/aknfep/src/AknFepUiInputstateInitialStrokeFind.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-/*
-* Copyright (c) 2002 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:           
-*       Provides the TAknFepInputStateInitialStrokeFind methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUiInputStateInitialStrokeFind.h"
-#include "AknFepUIManagerStateInterface.h"
-#include "AknFepManagerUIInterface.h"
-
-#include <e32keys.h>
-#include <PtiEngine.h>
-#include <PtiDefs.h>                //keys
-
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUICtrlCandidatePane.h"
-
-TAknFepInputStateInitialStrokeFind::TAknFepInputStateInitialStrokeFind(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateChineseBase(aOwner, aUIContainer)
-    {
-    iState = EInitial;
-    iOwner->PtiEngine()->SetInputMode(EPtiEngineStroke);
-    }
-
-TBool TAknFepInputStateInitialStrokeFind::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    TBool ret = ETrue;
-    
-    if (aKey == EKeyBackspace || aKey == EKeyOK)
-        {
-        ret = EFalse;
-        }
-    
-    else if (aLength == EShortKeyPress) 
-        {
-        if (aKey == EPtiKeyStar)
-            {
-       	    if (fepMan->EditSubmenuInUse())
-        	    {
-				fepMan->ClearCcpuFlag(CAknFepManager::ECcpuStateIgnoreStarUp);
-        	    return ret;
-        	    }                        
-            else if (fepMan->IsAbleToLaunchSCT())
-                {
-                fepMan->LaunchSpecialCharacterTableL();
-                }    
-            }   
-        else if (iOwner->IsValidChineseInputKey(aKey))
-            {
-            ptiengine->AppendKeyPress((TPtiKey)aKey);
-            TPtrC text = ptiengine->GetPhoneticSpelling(1);
-
-            if(text.Length()) 
-                {
-                fepMan->NewCharacterL(text);
-                fepMan->CommitInlineEditL();
-                ptiengine->ClearCurrentWord();
-                }
-            else
-                {
-                ret = EFalse;
-                }
-            }
-        }
-    else
-        {
-        if (aKey == EPtiKeyStar)
-            {
-            if (fepMan->EditSubmenuInUse())
-            	{
-       			fepMan->LaunchSpecialCharacterTableL();                
-        	    } 
-            }
-        }
-    return ret;
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiManagerBase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1020 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the CAknFepUIManagerBase methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include <e32keys.h>
-#include <e32svr.h> // RDebug stuff...
-
-#include "AknFepGlobalEnums.h"
-#include "AknFepUiManagerBase.h"
-
-// Western input
-#include "AknFepUiInputStateInitialLatinMultitap.h"
-#include "AknFepUiInputStateInitialNumber.h"
-#include "AknFepUiInputStateInitialWesternPredictive.h"
-#include "AknFepUiInputStateEntryWesternPredictive.h"
-
-#include "AknFepCaseManager.h"
-#include "AknFepPanic.h"
-
-#include <aknfep.rsg>
-#include <AknIndicatorContainer.h>  // CAknIndicatorContainer::TIndicatorContext
-#include <PtiEngine.h> 
-#include <PtiDefs.h>
-
-// CONSTANTS
-const TInt KNumberOfKeymapResources = 8;
-const TInt KNumericKeymapResourceIds[KNumberOfKeymapResources] = 
-    {
-    R_AKNFEP_NUMBER_MODE_KEYMAP_STANDARD,
-    R_AKNFEP_NUMBER_MODE_KEYMAP_PLAIN,
-    R_AKNFEP_NUMBER_MODE_KEYMAP_CALCULATOR,
-    R_AKNFEP_NUMBER_MODE_KEYMAP_CONVERTER,
-    R_AKNFEP_NUMBER_MODE_KEYMAP_TO_FIELD,
-    R_AKNFEP_NUMBER_MODE_KEYMAP_FIXED_DIALLING,
-    R_AKNFEP_NUMBER_MODE_KEYMAP_SAT,
-    R_AKNFEP_NUMBER_MODE_KEYMAP_SAT_HIDDEN
-    };
-
-#define EAknEditorNativeKeysNumberModeKeymap EAknEditorReservedInternalUseKeymap
-
-/**
-*  CAknFepUIManagerBase class.
-* 
-*/
-
-//============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::NewL
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-CAknFepUIManagerBase* CAknFepUIManagerBase::NewL(MAknFepManagerUIInterface* aFepMan, 
-                                                 CAknFepCaseManager* aCaseMan, TLanguage aLanguage)
-    {   
-    CAknFepUIManagerBase* self = new(ELeave)CAknFepUIManagerBase(aFepMan, aCaseMan);
-    CleanupStack::PushL(self);
-    self->ConstructL(aLanguage);
-    CleanupStack::Pop();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::~CAknFepUIManagerBase
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-CAknFepUIManagerBase::~CAknFepUIManagerBase()
-    {
-    CloseUI();
-    delete iNumericKeymapBuffer;
-    }
-
-/**
- *  MAknFepManagerInterface class.
- * 
- */
-//============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::SetMode
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-void CAknFepUIManagerBase::SetMode(TInt aMode, 
-									TBool aPredictive, 
-									TBool aQwertyInputMode, 
-									TInt aKeyboardType)
-#else
-void CAknFepUIManagerBase::SetMode(TInt aMode, TBool aPredictive, TBool aQwertyInputMode)
-#endif
-    {
-    iMode=aMode;
-    iPredictive = aPredictive;
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    iQwertyInputMode = aQwertyInputMode; // predictive QWERTY changes (e.g. XT9)
-#endif //RD_INTELLIGENT_TEXT_INPUT
-    if (aQwertyInputMode 
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    && !aPredictive // predictive QWERTY changes (e.g. XT9): added second condition
-#endif //RD_INTELLIGENT_TEXT_INPUT
-	) 
-        {
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-        if (aKeyboardType == EPtiKeyboardHalfQwerty)
-            {
-            ChangeState(EHalfQwerty);                        
-            }
-        else
-            {
-#endif            
-        ChangeState(EQwerty);
-#ifdef RD_INTELLIGENT_TEXT_INPUT                                
-            }                       
-#endif            
-        }
-    else
-        {
-        ChangeState(EInitial);
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::SetCase
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-void CAknFepUIManagerBase::SetCase(TCase aCase)
-    {
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    TPtiTextCase newCase = EPtiCaseLower;
-    
-    TBool noResetCase = EFalse;
-    
-    switch( aCase )
-        {
-        case EUpperCase:
-            {
-            newCase = EPtiCaseUpper;
-            }
-            break;
-        case ELowerCase:
-            {
-            newCase = EPtiCaseLower;
-            }
-            break;    
-        case EFnKeyLowerCase:
-            {
-            newCase = EPtiCaseFnLower;
-            }
-            break;
-            
-        case EFnKeyUpperCase:
-            {
-            newCase = EPtiCaseFnUpper;
-            noResetCase = ETrue;
-            }
-            break;
-            
-        default:
-        break;
-        }
-
-    CAknFepFnKeyManager::TFnKeyState fnKeyState = iFepMan->FnKeyState();
-#ifdef __REVERSE_FN_KEY_SUPPORTED
-    // For Reverse Fn key mapping
-    if(!iFepMan->IsReverseFnkeyInput())
-    	{
-#endif //__REVERSE_FN_KEY_SUPPORTED
-    switch (fnKeyState)
-        {
-        case CAknFepFnKeyManager::EFnKeyLock:
-        case CAknFepFnKeyManager::EFnKeyForced:
-        case CAknFepFnKeyManager::EFnKeyDown:
-            if( !noResetCase )
-            newCase = EPtiCaseFnLower;
-            break;
-        case CAknFepFnKeyManager::EFnKeyNone:
-        case CAknFepFnKeyManager::EFnKeyPressed:
-        case CAknFepFnKeyManager::EFnKeyNext:
-        case CAknFepFnKeyManager::EFnKeyPressedAgain:
-        default:
-            break;
-        }
-#ifdef __REVERSE_FN_KEY_SUPPORTED
-        }
-#endif //__REVERSE_FN_KEY_SUPPORTED
-    PtiEngine()->SetCase( newCase );
-#else 
-    PtiEngine()->SetCase((aCase == EUpperCase)? EPtiCaseUpper : EPtiCaseLower);
-#endif
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::SetNumberModeKeyMappingL
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-void CAknFepUIManagerBase::SetNumberModeKeyMappingL(
-     TAknEditorNumericKeymap aAknEditorNumericKeymap)
-    {
-    __ASSERT_DEBUG(
-        (aAknEditorNumericKeymap >= 0 && aAknEditorNumericKeymap < KNumberOfKeymapResources) ||
-        (aAknEditorNumericKeymap == EAknEditorAlphanumericNumberModeKeymap) ||
-        (aAknEditorNumericKeymap == EAknEditorNativeKeysNumberModeKeymap), 
-        AknFepPanic(EAknFepPanicIllegalNumberModeKeymapping));
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-    if (aAknEditorNumericKeymap == EAknEditorAlphanumericNumberModeKeymap && iNumericKeymapBuffer)
-        {
-        delete iNumericKeymapBuffer;
-        iNumericKeymapBuffer = NULL;
-        return;
-        }
-#endif
-    
-    // Fep does not handle keys when EAknEditorNativeKeysNumberModeKeymap is used.
-    if (aAknEditorNumericKeymap != EAknEditorNativeKeysNumberModeKeymap && 
-        aAknEditorNumericKeymap != EAknEditorAlphanumericNumberModeKeymap)
-        {
-        TInt keymapResourceId = KNumericKeymapResourceIds[aAknEditorNumericKeymap];
-        if (iNumericKeymapResourceId != keymapResourceId || !iNumericKeymapBuffer)
-            {
-            delete iNumericKeymapBuffer;
-            iNumericKeymapBuffer = NULL;
-            iNumericKeymapBuffer = CCoeEnv::Static()->AllocReadResourceL( keymapResourceId );
-            iNumericKeymapResourceId = keymapResourceId;
-            }
-        }
-    }
-
-const TDesC& CAknFepUIManagerBase::NumberModeKeyMapping() const
-    {
-    if (iNumericKeymapBuffer)
-        {
-        return *iNumericKeymapBuffer;
-        }
-    return KNullDesC;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::HandleKeyL
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CAknFepUIManagerBase::HandleKeyL(TInt aKey, TKeyPressLength aLength, TEventCode /*aEventCode*/)
-    {
-    if (!iStatePtr)
-        {
-        return EFalse;
-        }
-    
-    TUIState currentState = iStatePtr->State();
-    if (aLength == EShortKeyPress)
-        {
-        iInitialFepUIState = currentState;
-        }
-#ifdef __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__        
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    // Calculate and store the number of characters now and the delta with 
-    // the last key press to be used when long press substitutes the initial
-    // character.
-    
-    // This change is done for fixing the error :- Long keypress 
-    // inputs the alphabet as well along with number/special character 
-    // when candidate list is open.
-    
-    TInt curInputSeqLen = 0;
-    TInt curEditorTextLen = 0;
-    TInt curWordLen = 0;
-    if (aLength == EShortKeyPress)
-    	{
-        curInputSeqLen = PtiEngine()->CurrentInputSequence().Length();
-        curWordLen =  PtiEngine()->CurrentWord().Length();
-        curEditorTextLen = FepMan()->DocumentLength();
-    	iCaseBeforeLongKey = CaseMan()->CurrentCase();
-    	}
-
-    if ( aLength == ELongKeyPress )
-        {
-        if ( HandleLongKeyL( aKey ) )
-            {
-            return ETrue;
-            }
-        }
-        
-    TInt retVal = ETrue;
-    TBool handledKey = iStatePtr->HandleKeyL(aKey, aLength);
-    if(!handledKey)
-        {
-        if(currentState != iStatePtr->State()) //Check to see if we've changed state.
-            {
-            retVal = iStatePtr->HandleKeyL(aKey, aLength);
-            }
-        else
-            {
-            retVal = EFalse; // we've failed to handle it..
-            }
-        }
-	
-	// The delta is calculated after the short key press character is entered.
-	// The check with EStdKeyF21 is done to fix the bug :
-	// When prediction is off, keep shift key pressed down. 
-	// Just before the editor enters the selection mode, 
-	// do a long press of a number key. Along with the number 
-	// even the alphabet is entered.
-    if (aLength == EShortKeyPress && (handledKey || retVal) && (aKey!=EStdKeyF21))
-   	    {
-		// for the punctuation key, the autocompletion part is accepted, 
-		// because of which the delta has to be calculated 
-		// based on the current word length
-    	if( aKey == EStdKeyFullStop && EPtiKeyboardHalfQwerty == FepMan()->KeyboardLayout())	
-    	    {
-    	    iInputSeqLenDeltaWithLastKey = PtiEngine()->CurrentWord().Length() - curWordLen;
-    	    }
-    	else
-    	    {
-    	    iInputSeqLenDeltaWithLastKey = PtiEngine()->CurrentInputSequence().Length() - curInputSeqLen;
-    	    }
-    	iEditorTextLenDeltaWithLastKey = FepMan()->DocumentLength() - curEditorTextLen;
-    	// This change is done to fix the bug : Select the text
-    	// using shift key. Do a long press of a key. Along 
-    	// with the number even the alphabet is entered.
-    	if(iEditorTextLenDeltaWithLastKey <= 0)
-    		{
-    		iEditorTextLenDeltaWithLastKey = iStatePtr->GetShortKeyPressTxtLength();
-    		}
-        }
-    
-    else if ( aLength == EShortKeyPress && 
-            EPtiKeyboardHalfQwerty == FepMan()->KeyboardLayout() && 
-            EFalse == retVal && PtiEngine()->IsValidKey((TPtiKey)aKey))
-        {
-        // reset the two deltas
-        iInputSeqLenDeltaWithLastKey = 0;
-        iEditorTextLenDeltaWithLastKey = 0;
-        }
-
-    return retVal;
-#endif // RD_INTELLIGENT_TEXT_INPUT  
-#else 
-
-    if(!iStatePtr->HandleKeyL(aKey, aLength))
-        {
-        if(currentState != iStatePtr->State()) //Check to see if we've changed state.
-            {
-            return iStatePtr->HandleKeyL(aKey, aLength);
-            }
-        return EFalse; // we've failed to handle it..
-        }
-    return ETrue; //we're ok.
-#endif // __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-    
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::HandleCommandL
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-void CAknFepUIManagerBase::HandleCommandL(TInt aCommandId)
-    {
-    iStatePtr->HandleCommandL(aCommandId);
-    }
-
-void CAknFepUIManagerBase::HandleCommandL(TInt aCommandId, TInt /*aParam*/)
-    {
-    iStatePtr->HandleCommandL(aCommandId);
-    }
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::CloseUI
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-void CAknFepUIManagerBase::CloseUI()
-    {
-    ChangeState(EInitial);
-    }
-
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::ExpireMultitapTimer
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-void CAknFepUIManagerBase::ExpireMultitapTimer()
-    {
-    PtiEngine()->CancelTimerActivity();
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::IsValidNumericLongKeyPress
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CAknFepUIManagerBase::IsValidNumericLongKeyPress(TInt aKey) const
-    {
-    TBool response = EFalse;
-
-    switch(aKey)
-        {
-        case EPtiKey0:
-        case EPtiKey1:
-        case EPtiKey2:
-        case EPtiKey3:
-        case EPtiKey4:
-        case EPtiKey5:
-        case EPtiKey6:
-        case EPtiKey7:
-        case EPtiKey8:
-        case EPtiKey9:            
-            if (iInitialFepUIState == EInitial || 
-                iInitialFepUIState == EPredictiveCandidate)
-                {
-                response = ETrue;
-                }
-            break;
-        default:
-            break;
-        }
-    return response;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::AddTextToUserDictionaryL
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-void CAknFepUIManagerBase::AddTextToUserDictionaryL(const TDesC& /*aText*/)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::GetFormatOfFepInlineText
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-void CAknFepUIManagerBase::GetFormatOfFepInlineText(TCharFormat& /*aFormat*/, TInt& /*aNumberOfCharactersWithSameFormat*/, TInt /*aPositionOfCharacter*/) const
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::SupportLanguage
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CAknFepUIManagerBase::SupportLanguage(TInt /*aMode*/) const
-    {
-    return iLanguage;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::SetInputLanguageL
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-void CAknFepUIManagerBase::SetInputLanguageL(TLanguage aLanguage)
-    {
-    iLanguage = aLanguage;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::IsValidShiftKeyPress
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CAknFepUIManagerBase::IsValidShiftKeyPress() const
-    {
-    return ETrue;
-    }
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-TBool CAknFepUIManagerBase::IsValidFnKeyPress() const
-    {
-    return ETrue;
-    }
-
-
-TBool CAknFepUIManagerBase::IsValidLongChrKeyPress() const
-    {
-    return ETrue;
-    }
-
-#endif
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::SetEditorContext
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-void CAknFepUIManagerBase::SetEditorContext(TInt /*aContext*/)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::ActivateUI
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-void CAknFepUIManagerBase::ActivateUI()
-    {
-    }
-
-/**
- *  MAknFepUIManagerStateInterface class.
- * 
- */
-//============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::State
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-TUIState CAknFepUIManagerBase::State() const
-    {
-    return iStatePtr->State();
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::ChangeState
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-TUIState CAknFepUIManagerBase::ChangeState(TUIState aState)
-    {
-//    iFepUiState = TAknFepInputStateBase(this);
-#ifdef _DEBUG
-    RDebug::Print(_L("UI Manager: New State: %d"), iStatePtr->State());
-#endif
-    return aState;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::FepMan
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-MAknFepManagerUIInterface* CAknFepUIManagerBase::FepMan() const
-    {
-    return iFepMan;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::PtiEngine
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-CPtiEngine* CAknFepUIManagerBase::PtiEngine() const
-    {
-    return iPtiEngine;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::IsValidChineseInputKey
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CAknFepUIManagerBase::IsValidChineseInputKey(TInt /*aKey*/) const
-    {
-    return ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::IsValidChineseInputKeyQwerty
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CAknFepUIManagerBase::IsValidChineseInputKeyQwerty(TInt /*aKey*/) const
-    {
-    return ETrue;
-    }
-    
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::UpdateCangJieState
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-void CAknFepUIManagerBase::UpdateCangJieState()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::IsValidChineseSymbol
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CAknFepUIManagerBase::IsValidChineseSymbol(TInt /*akey*/) const
-	{
-	return ETrue;
-	}
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::IsQwertyZhuyinToneMarkKey
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CAknFepUIManagerBase::IsQwertyZhuyinToneMarkKey(TInt /*aKey*/) const
-    {
-    return ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::GetLanguage
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-TLanguage CAknFepUIManagerBase::GetLanguage() const
-    {
-    return iLanguage;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::CaseMan
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-CAknFepCaseManager* CAknFepUIManagerBase::CaseMan() const
-    {
-    return iCaseMan;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::GetLatestDeliberateSelection
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-TPtr CAknFepUIManagerBase::GetLatestDeliberateSelection() const
-    {
-    return TPtr(NULL, 0, 0);
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::ThaiSCTResourceId
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CAknFepUIManagerBase::ThaiSCTResourceId(TUint /*aPrewChar*/,TInt /*aKey*/)
-    {
-    return 0;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::CandidateArray
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-CDesCArrayFlat* CAknFepUIManagerBase::CandidateArray()
-    {
-    return NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::IsPredictive
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CAknFepUIManagerBase::IsPredictive() const
-    {
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::SetInlineEditUnderlineVisibility
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-void CAknFepUIManagerBase::SetInlineEditUnderlineVisibility(TBool /*aFlag*/)
-    {
-    }
-
-/**
- *  CAknFepUIManagerBase class.
- * 
- */
-//============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::CAknFepUIManagerBase
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-CAknFepUIManagerBase::CAknFepUIManagerBase(MAknFepManagerUIInterface* aFepMan, 
-                                           CAknFepCaseManager* aCaseMan)
-    :iMode(ENumber), 
-    iFepMan(aFepMan),
-    iCaseMan(aCaseMan)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::ConstructL
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-void CAknFepUIManagerBase::ConstructL(TLanguage aLanguage)
-    {   
-    iPtiEngine = iFepMan->PtiEngine(); // Get PtiEngine
-    iLanguage = aLanguage;
-    iStatePtr = FepUIState();
-    SetNumberModeKeyMappingL(EAknEditorStandardNumberModeKeymap);
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::FepUIState
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-TAknFepInputStateBase* CAknFepUIManagerBase::FepUIState()
-    {
-    return NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::IsQwerty
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CAknFepUIManagerBase::IsQwerty() const
-    {
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::SetFepAwareEditorText
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-void CAknFepUIManagerBase::SetFepAwareEditorText(const TFepInputContextFieldData& /*aIcfData*/)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::EditorMaxLength
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CAknFepUIManagerBase::EditorMaxLength()
-    {
-    return 0;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::SizeChanged
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-const TInt KResourceChanged =  1;
-void CAknFepUIManagerBase::ResourceChanged(TInt /*aType*/)
-    {
-    if ( !iStatePtr )
-        {
-        return;
-        }
-
-    TRAP_IGNORE(iStatePtr->HandleCommandL(KResourceChanged));	
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::SetNextFepUI
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-void CAknFepUIManagerBase::SetNextFepUI(MAknFepManagerInterface* /*aNextUi*/)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::SetStarKeyFlag
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-void CAknFepUIManagerBase::SetStarKeyFlag( TBool aSet )
-	{
-	if ( iStatePtr )
-        {
-        iStatePtr->SetStarKeyFlag( aSet );
-        }
-	}
-#ifdef __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::HandleLongKeyL
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CAknFepUIManagerBase::HandleLongKeyL( TInt aKey )
-    {
-#ifdef _DEBUG
-    RDebug::Print( _L("HandleLongKeyL(%c)"), aKey );
-#endif
-    
-    TBool consume = EFalse;
-    
-    if ( iQwertyInputMode &&                                         // Long press implementation for non-QWERTY modes is elsewhere
-         iFepMan->LongPressNumberEntryOnQwerty() &&                  // Is long press number entry supported
-         iFepMan->FnKeyState() == CAknFepFnKeyManager::EFnKeyNone && // Long press is handled differently only in non-Fn modes
-         iFepMan->KeyMapsDifferentCharacterWithFn( (TPtiKey)aKey ) ) // Does the given key have a different character in Fn mode 
-        {
-        TBool charRemoved = RollbackPreviousCharL();
-        
-        // Continue only if there's space left in the editor field after the rollback.
-        // In case of secret editor, the removal of the initial character is asynchronous.
-        // In that case the editor may still seem to be filled up although we have already
-        // queued the rollback event.
-        if ( iFepMan->EditorHasFreeSpace() || charRemoved )
-            {
-            // Long key press load, if editor in textcase mode reload the 
-            // text case mode, because shrot key press reset textcase mode.
-            CaseMan()->SetCurrentCase(iCaseBeforeLongKey);
-            
-            iFepMan->SetFnKeyState( CAknFepFnKeyManager::EFnKeyNext );
-
-            // Figure out the used case (upper/lower)
-            TPtiTextCase ptiCase = EPtiCaseFnLower;
-            
-            if ( CaseMan()->CurrentCase() == EAknEditorTextCase ||
-                 CaseMan()->CurrentCase() == EAknEditorUpperCase )
-                {
-                ptiCase = EPtiCaseFnUpper;
-                }
-
-            if ( iFepMan->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode) &&
-                 CaseMan()->IsAbleChangeCase() )
-                {
-                // QWERTY shift mode => swap the case
-                if ( ptiCase == EPtiCaseFnLower ) 
-                    ptiCase = EPtiCaseFnUpper;
-                else 
-                    ptiCase = EPtiCaseFnLower;
-                }
-
-            // In case we are in uppercase mode but there's no characters mapped to that mode,
-            // use the lower case instead.
-            if ( ptiCase == EPtiCaseFnUpper )
-                {
-                TBuf<1> upperFnMapping;
-                iPtiEngine->MappingDataForKey( (TPtiKey)aKey, upperFnMapping, EPtiCaseFnUpper );
-                if ( !upperFnMapping.Length() )
-                    {
-                    ptiCase = EPtiCaseFnLower;
-                    }
-                }
-
-            iPtiEngine->SetCase( ptiCase );
-            }
-        else
-            {
-            consume = ETrue;
-            }
-        }
-    return consume;    
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::RollbackPreviousCharL
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CAknFepUIManagerBase::RollbackPreviousCharL()
-    {
-    TBool characterRemoved = ETrue;
-    
-    if( iFepMan->KeyboardLayout() == EPtiKeyboardHalfQwerty )
-    	{
-        if (iFepMan->IsFlagSet(CAknFepManager::EFlagNoMatches))
-            {
-            iFepMan->TryRemoveNoMatchesIndicatorL();
-            iFepMan->UpdateCbaL(NULL);
-            // make sure that the candidates 
-            // will be updated the next time
-            iPtiEngine->HandleCommandL(EPtiCommandSetFlagToUpdateCandidates);
-            // Need to return as DeleteKeyPress should not be passed to ptiengine.
-            // This is because ptiengine does not maintain the input sequence
-            // if the key press does not increase the word length. So when no matches
-            // character is (?) is deleted, no need to pass to ptiengine. This is to done
-            // to solve the bug :enter characters till the no matches character is shown. Now press
-            // backspace, last character is not deleted.
-            return ETrue;
-            }
-    	}
-    
-    // It depends on the editor type and input mode, how the previous character
-    // can be rolled back.
-    if ( iPtiEngine->HandleCommandL(EPtiCommandDeadKeyWaiting) > 0 )
-        {
-        // The previous key entered a dead character
-        iPtiEngine->HandleCommandL(EPtiCommandGetAndClearDeadKeyRootChar);
-        }
-    else if ( iInputSeqLenDeltaWithLastKey > 0 )
-        {
-        // The previous key entered chracter(s) to input sequence of PtiEngine
-        for ( TInt i=0 ; i<iInputSeqLenDeltaWithLastKey ; ++i )
-            {
-            iPtiEngine->DeleteKeyPress();
-            }
-        if ( iFepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction) )
-            {
-            TPtrC curWord = iPtiEngine->CurrentWord();
-            iFepMan->UpdateInlineEditL( curWord, curWord.Length() );
-            }
-		if ( iFepMan->IsSupportsSecretText() )
-        	{
-            // Fep communicates with secret text editors using simulated events.
-            iFepMan->SimulateKeyEventL(EKeyF20);
-            iFepMan->ClearFlag( CAknFepManager::EFlagInsideMultitapInlineEditingTransaction);
-            }    
-    
-        }
-    else if ( iEditorTextLenDeltaWithLastKey > 0 )
-        {
-        // The previous key entered character(s) directly to the editor
-        for ( TInt i=0 ; i<iEditorTextLenDeltaWithLastKey ; ++i )
-            {
-            if ( iFepMan->IsSupportsSecretText() )
-                {
-                // Fep communicates with secret text editors using simulated events.
-                iFepMan->SimulateKeyEventL(EKeyF20);
-                iFepMan->ClearFlag(CAknFepManager::EFlagInsideMultitapInlineEditingTransaction);
-                }
-            else
-                {
-                // In normal editors, the character can be removed directly
-                iFepMan->RemovePreviousCharacterL();
-                }
-            }
-        }
-    else
-        {
-        // The previous key press produced no characters => do nothing
-        characterRemoved = EFalse;
-        }
-        
-    return characterRemoved;   
-    }
-#endif // RD_INTELLIGENT_TEXT_INPUT
-#endif // __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__	
-
-// add for phrase creation
-MZhuyinKeyHandler* CAknFepUIManagerBase::ZhuyinKeyHandler()
-    {
-    return iFepMan->ZhuyinKeyHandler();
-    }
-//add for phrase creation
-CAknFepZhuyinAnalyser* CAknFepUIManagerBase::ZhuyinAnalyser()
-    {
-    return iFepMan->ZhuyinAnalyser();
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiManagerChinese.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1744 +0,0 @@
-/*
-* Copyright (c) 2003-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:           
-*       Provides the CAknFepUIManagerChinese methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include <e32svr.h> // RDebug stuff...
-#include <e32keys.h>
-
-#include "AknFepUiManagerBase.h"
-#include "AknFepUiManagerChinese.h"
-#include "AknFepManagerUIInterface.h"
-#include "AknFepGlobalEnums.h"
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUICtrlInputPane.h"
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUICtrlPinyinPopup.h"
-#include "AknFepUiInputStateCandidate.h"
-#include "AknFepUiInputStateCandidateChinese.h"
-#include "AknFepUiInputStatePredictiveCandidate.h"
-#include "AknFepUiInputStatePredictiveInput.h"
-#include "AknFepUiInputStatePredictiveInputChinese.h"
-#include "AknFepUiInputStateInitialChineseGeneric.h"
-#include "AknFepUiInputStateInitialLatinMultitap.h"
-#include "AknFepUiInputStateInitialNumber.h"
-#include "AknFepUiInputStateEntryPinyin.h"
-#include "AknFepUiInputStateEntryZhuyin.h"
-#include "AknFepUiInputStateInitialZhuyinFind.h"
-#include "AknFepUiInputStateInitialStrokeFind.h"
-#include "AknFepUiInputStateEntryStroke.h"
-#include "AknFepUiInputStateInitialWesternPredictive.h"
-#include "AknFepUiInputStateEntryWesternPredictive.h"
-#include "AknFepUiInputStatePredictiveCandidatePinyin.h"
-#include "AknFepUiInputStatePredictiveCandidateStroke.h"
-#include "AknFepCaseManager.h"
-#include "AknFepPanic.h"
-
-#include "AknFepUiCtrlContainerChinese.h"				// phrase input container
-#include "AknFepUiInputStateEntryPinyinPhrase.h"		// phrase pinyin entry state class
-#include "aknfepuiinputstateentrypinyinphrasecreation.h"   // pinyin phrase creation
-#include "aknfepinputstatespellingpinyinphrasecreation.h"  // pinyin phrase creation
-#include "aknfepinputstatecandidatepinyinphrasecreation.h" // pinyin phrase creation
-#include "aknfepuiinputstateentryzhuyinphrasecreation.h"     // zhuyin phrase creation
-#include "AknFepUiInputStateEntryZhuyinPhrase.h"		// phrase zhuyin entry state class
-#include "AknFepUiInputStateEntryStrokePhrase.h"		// phrase Stroke entry state class
-#include "AknFepUiInputStateCandidateChinesePhrase.h"          // phrase candidate state class
-#include "aknfepuictrleditpane.h"           //phrase EEP control
-#include "AknFepUiInputStateCandidatePinyinAndStrokePhrase.h"
-#include "AknFepUiInputStatePredictiveInputPhrase.h"
-#include "AknFepUiInputStatePredictiveInputChinesePhrase.h"
-// Qwerty input
-#include "AknFepUiInputStateInitialChineseGenericQwerty.h"
-#include "AknFepUiInputStateEntryQwertyPinyin.h"
-#include "AknFepUiInputStateEntryQwertyStroke.h"
-#include "AknFepUiInputStateEntryQwertyCangJie.h"
-#include "AknFepUiInputStateEntryQwertyZhuyin.h"
-#include "AknFepUiInputStateCandidateQwertyZhuyin.h"
-#include "AknFepUiInputStatePredictiveCandidateQwertyZhuyin.h"
-#include "AknFepUiInputStatePredictiveInputQwerty.h"
-#include "AknFepUiInputStatePredictiveInputQwertyPinyin.h"
-#include "AknFepUiInputStatePredictiveInputQwertyZhuyin.h"
-#include "AknFepUiInputStatePredictiveCandidatePinyinPhrase.h"
-#include "AknFepUiInputStatePredictiveCandidateStrokePhrase.h"
-#include "AknFepUiInputStatePredictiveCandidatePhrase.h"
-#include "AknFepUiInputStatePredictiveInputQwertyStroke.h"
-// Qwerty phrase input
-#include "AknFepUiInputStateEntryQwertyStrokePhrase.h"
-#include "AknFepUiInputStateEntryQwertyPinyinPhrase.h"
-#include "AknFepUiInputStatePredictiveInputQwertyChinesePhrase.h"
-#include "AknFepUiInputStatePredictiveInputQwertyPinyinPhrase.h"
-#include "AknFepUiInputStateEntryQwertyZhuyinPhrase.h"
-#include "AknFepUiInputStateCandidateQwertyZhuyinPhrase.h"
-#include "AknFepUiInputStatePredictiveCandidateQwertyZhuyinPhrase.h"
-#include "AknFepUiInputStatePredictiveInputQwertyZhuyinPhrase.h"
-#include "AknFepUiInputStatePredictiveInputQwertyStrokePhrase.h"
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-#include "AknFepUIInputStateEntryMiniQwertyPinyinPhrase.h"
-#include "AknFepUiInputStateCandidateMiniQwertyPinyinAndStrokePhrase.h"
-#include "AknFepUiInputStatePredictiveInputMiniQwertyChinesePhrase.h"
-#include "AknFepUiInputStatePredictiveCandidateMiniQwertyChinesePhrase.h"
-#include "AknFepUiInputStateEntryMiniQwertyZhuyinPhrase.h"
-#include "AknFepUiInputStateCandidateMiniQwertyZhuyinPhrase.h"
-#include "aknfepuiinputstateminiqwertyzhuyinphrase.h"//phrase creation for mini qwerty zhuyin
-#include "aknfepuiinputstateminiqwertystrokephrase.h"
-#include "AknFepUIInputStateEntryMiniQwertyCangJie.h"
-#include "aknfepuiinputstateentryhalfqwertyphrase.h"
-#include "AknFepUiInputStateCandidateHalfQwertyChinesePhrase.h"
-#include "AknFepUiInputStateInitialChineseGenericHalfQwerty.h"
-#include "AknFepUiInputStatePredictiveCandidateHalfQwertyChinesePhrase.h"
-#endif
-// Qwerty Chinese find
-#include "AknFepUiInputStatelStrokeFindQwerty.h"
-#include "AknFepUiInputStateZhuyinFindQwerty.h"
-#include <AknIndicatorContainer.h>  
-
-#include <PtiEngine.h> 
-#include <PtiDefs.h>
-
-#include <avkon.rsg>        //phrase creation
-#include <aknfep.rsg>
-
-// CONSTANTS
-const TInt16 KStrokeHorizontalValue = 0x4e00; 
-const TInt16 KStrokeVerticalValue = 0x4e28;
-const TInt16 KStrokeDownToLeftValue = 0x4e3f;
-const TInt16 KStrokeDownToRightValue = 0x4e36;
-const TInt16 KStrokeBendingValue = 0x4e5b;
-const TInt16 KStrokeQuestionValue = 0x003f;
-const TInt16 KStrokeUnicode = 0x2461;
-const TInt16 KZhuyinIndicator = 0x2462;
-/**
-*  CAknFepUIManagerChinese class.
-* 
-*/
-
-//============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerChinese::NewL
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-CAknFepUIManagerChinese* CAknFepUIManagerChinese::NewL(MAknFepManagerUIInterface* aFepMan, 
-                                       CAknFepCaseManager* aCaseMan, TLanguage aLanguage)
-    {   
-    CAknFepUIManagerChinese* self = new(ELeave)CAknFepUIManagerChinese(aFepMan, aCaseMan);
-    CleanupStack::PushL(self);
-    self->ConstructL(aLanguage);
-    CleanupStack::Pop();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerChinese::~CAknFepUIManagerChinese
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-CAknFepUIManagerChinese::~CAknFepUIManagerChinese()
-    {
-    delete iContainerPane;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerChinese::HandleKeyL
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CAknFepUIManagerChinese::HandleKeyL(TInt aKey, TKeyPressLength aLength, TEventCode aEventCode)
-    {
-#ifdef __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-#ifdef RD_INTELLIGENT_TEXT_INPUT    
-    // In the initial state, use the base implementation which support long
-    // press number entry on QWERTY. In other states the long press is not
-    // handled.
-    if ( (aLength == EShortKeyPress && iFepUiState.State() == EInitial) ||
-         (aLength == ELongKeyPress && iInitialFepUIState == EInitial) )
-        {
-        return CAknFepUIManagerBase::HandleKeyL( aKey, aLength );
-        }
-    else if ( iFepMan->EditorHasFreeSpace() )
-        {
-#endif // RD_INTELLIGENT_TEXT_INPUT
-#endif // __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-    TUIState currentState = iFepUiState.State();
-    
-    //when the state is EEntry and input mode is pinyin or zhuyin and akey = starkey
-    //just handles EEventKey
-    if( EPtiKeyStar == aKey && currentState == EEntry 
-    		&& ( iFepMan->InputMode() == EPinyin || iFepMan->InputMode() == EZhuyin )
-    		&& aEventCode != EEventKey )
-    	{
-    	return EFalse;
-    	}
-    if (aLength == EShortKeyPress)
-        {
-        iInitialFepUIState = currentState;
-        }
-
-    if(!iStatePtr->HandleKeyL(aKey, aLength))
-        {
-        if(currentState != iStatePtr->State()) //Check to see if we've changed state.
-            {
-            return iStatePtr->HandleKeyL(aKey, aLength);
-            }
-        return EFalse; // we've failed to handle it..
-        }
-    return ETrue; //we're ok.
-#ifdef __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        }
-    else
-        {
-        // FepManager must let some long press events to pass here even when
-        // editor has no space, because long press may still work. But if
-        // the long press was not handled, then the key event should not be
-        // handled at all in this case.
-        return EFalse;
-        }
-#endif // RD_INTELLIGENT_TEXT_INPUT
-#endif // __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__    
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerChinese::CloseUI
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-void CAknFepUIManagerChinese::CloseUI()
-    {
-    // update cba
-    TRAP_IGNORE(FepMan()->UpdateCbaL(NULL));
-    iContainerPane->EditPaneWindow()->SetCurrentCBAResID( 0 );
-    
-    if (iQwertyMode)
-        {
-#ifdef RD_INTELLIGENT_TEXT_INPUT 
-        if ( EPtiKeyboardHalfQwerty == iPtiEngine->KeyboardType() )
-            {
-            ChangeState(EHalfQwerty);
-            }
-        else
-#endif
-            {
-            ChangeState(EQwerty);
-            }
-        }
-    else
-        {
-        ChangeState(EInitial);
-        }
-    if (iContainerPane)
-        {
-        iContainerPane->CandidatePane()->ResetCandidateState();
-        iContainerPane->EditPaneWindow()->ResetAllArray();
-        iContainerPane->Enable(EFalse);
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerChinese::GetFormatOfFepInlineText
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-void CAknFepUIManagerChinese::GetFormatOfFepInlineText(TCharFormat& aFormat, 
-         TInt& aNumberOfCharactersWithSameFormat, TInt aPositionOfCharacter) const
-    {
-    if (iPredictive && iFepUiState.State() == EEntry)   // EInitial???
-        {
-        aFormat.iFontPresentation.iUnderline = EUnderlineOn;
-        if (iFepMan->IsFlagSet(CAknFepManager::EFlagNoMatches))
-            {
-            aFormat.iFontPresentation.iHighlightStyle = 
-                                   TFontPresentation::EFontHighlightNoMatchesIndicator;
-            }
-        TCursorSelection uncommit = iFepMan->UncommittedText();
-        if (uncommit.Length()-aPositionOfCharacter>0)                   
-            {
-            aNumberOfCharactersWithSameFormat=uncommit.Length() - aPositionOfCharacter;
-            }
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerChinese::SupportLanguage
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CAknFepUIManagerChinese::SupportLanguage(TInt aMode) const
-    {
-    TInt lang = iLanguage;
-    switch (aMode)
-        {
-        case ELatin:
-            {
-            lang = ELangEnglish;
-            }
-            break;
-        case ENumber:
-        case EPinyin:
-        case EStroke:
-        case ECangJie:
-        case EStrokeFind:
-        case EZhuyin:
-        case EZhuyinFind:
-        default:
-            break;
-        }
-    return lang;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerChinese::SetEditorContext
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-void CAknFepUIManagerChinese::SetEditorContext(TInt aContext)
-    {
-    if(iContainerPane)
-        {
-        iContainerPane->SetIsShownWithPopupWindows(
-            aContext == CAknIndicatorContainer::EQueryEditorIndicators);
-        }
-   }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerChinese::ChangeState
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-TUIState CAknFepUIManagerChinese::ChangeState(TUIState aState)
-    {
-    // ask pti engine if phrase input is supported
-    if(iPrevMode != iMode)
-        {
-        iPrevMode = iMode;
-        ResetFlags();
-        }
-    if(!IsFlagSet(EQueryPtiEngineAlready))  
-        {
-        QueryPtiEngine();
-        }
-     
-    // distinguish if Qwerty input in editing window state
-    if(aState == EQwerty)
-        {
-        iQwertyMode = ETrue;
-        }
-    else if(aState == EInitial)
-        {
-        iQwertyMode = EFalse;
-        }
-
-    if(iQwertyMode)
-        {
-        ChangeStateQwerty(aState);
-        }
-    else
-        {
-        ChangeStatetItut(aState);
-        }
-        
-    iPtiEngine->SetObserver(&iFepUiState);
-#ifdef _DEBUG
-    RDebug::Print(_L("UI Manager: New State: %d"), iFepUiState.State());
-#endif
-    // cba update: when input window exists, softkeys are not shown.
-    TRAPD(err, iStatePtr->InitializeStateL());
-    if(err != KErrNone)
-        {
-#ifdef _DEBUG
-    RDebug::Print(_L("UI Manager: Initial Error: Mode = %d, State = %d"), 
-                    iMode, iStatePtr->State());
-#endif
-        }
-    return iStatePtr->State();
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerChinese::IsValidChineseInputKey
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CAknFepUIManagerChinese::IsValidChineseInputKey(TInt aKey) const
-    {
-    // This doesn't include checking for the 'tone' key, which is different...
-
-    TBool response = ETrue;
-    switch(aKey)
-        {
-    case EPtiKey0:
-        if(((iMode == EPinyin) && (!IsFlagSet(ESupportPinyinPhrase) || 
-            !iContainerPane->IsEnabled())) ||
-           ((iMode == EStroke) && (!IsFlagSet(ESupportStrokePhrase) || 
-            !iContainerPane->IsEnabled()))  || (iMode == EStrokeFind)) 
-            {
-            response = EFalse;
-            }
-        break;
-    case EPtiKey1:
-        if((iMode == EPinyin)&& (!IsFlagSet(ESupportPinyinPhrase) || !iContainerPane->IsEnabled()))
-            {
-            response = EFalse;
-            }
-        break;
-    case EPtiKey2: //fall through
-    case EPtiKey3:
-    case EPtiKey4:
-    case EPtiKey5:
-    case EPtiKey6:
-        break;  //always valid
-    case EPtiKey7: //fall through
-    case EPtiKey8:
-    case EPtiKey9:
-        if((iMode == EStroke) || (iMode == EStrokeFind))
-            response = EFalse;
-        break;
-    default:
-        response = EFalse;
-        break;
-        }
-    return response;
-    }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerChinese::IsKeyMappedStroke
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-
-TBool  CAknFepUIManagerChinese::IsKeyMappedStroke(TInt aKey) const
-    {
-    TBuf<KMaxName> lowerdata;   
-    iPtiEngine->MappingDataForKey((TPtiKey)aKey, lowerdata, EPtiCaseLower);  
-    TInt StrokeUnicodePosition =0;
-    
-    if(lowerdata.Length()>0)
-        {
-        for(TInt i=0;i<lowerdata.Length();i++)
-            {
-            if(lowerdata[i]==KStrokeUnicode)
-                {
-                StrokeUnicodePosition = i+1;
-                break;
-                }
-            }
-        }
-    if(lowerdata.Length() > StrokeUnicodePosition)
-        {
-        if (lowerdata[StrokeUnicodePosition] == KStrokeHorizontalValue || 
-                lowerdata[StrokeUnicodePosition] == KStrokeVerticalValue || 
-                lowerdata[StrokeUnicodePosition] == KStrokeDownToLeftValue || 
-                lowerdata[StrokeUnicodePosition] == KStrokeDownToRightValue || 
-                lowerdata[StrokeUnicodePosition] == KStrokeBendingValue ||
-                lowerdata[StrokeUnicodePosition] == KStrokeQuestionValue)
-            {
-            return ETrue;
-            }
-        }
-    
-    return EFalse;
-    }
-#endif
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerChinese::IsValidChineseInputKeyQwerty
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CAknFepUIManagerChinese::IsValidChineseInputKeyQwerty(TInt aKey) const
-    {
-    TBool response = EFalse;
-#ifdef RD_INTELLIGENT_TEXT_INPUT     
-    
-    TPtiKeyboardType keyboardType = EPtiKeyboardNone;
-    if( iPtiEngine != NULL )        
-        {
-        keyboardType = iPtiEngine->KeyboardType();
-        }
-#endif
-
-    if(iMode == EPinyin)
-        {
-        if( (aKey >= EPtiKeyQwertyA && aKey <= EPtiKeyQwertyZ) ||
-        	(aKey >= EPtiKeyQwerty1 && aKey <= EPtiKeyQwerty9) ||
-            (IsFlagSet(ESupportPinyinPhrase) && aKey == EPtiKeyQwertyApostrophe 
-             && State() != EInitial))
-            {
-            response = ETrue;
-            }
-#ifdef RD_INTELLIGENT_TEXT_INPUT          
-        if ( State() == EInitial && EPtiKeyboardHalfQwerty == keyboardType &&
-           ( aKey == EPtiKeyQwertyU || aKey == EPtiKeyQwertyI || aKey == EPtiKeyQwerty3 ))
-            {
-            response = EFalse;
-            }
-#endif
-        }
-
-    if(iMode == EStroke || iMode == EStrokeFind)
-        {
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-        if(EPtiKeyboardQwerty4x10 == keyboardType ||EPtiKeyboardQwerty3x11 == keyboardType )
-            {            
-            if( IsKeyMappedStroke(aKey)|| EPtiKeyQwertySpace == aKey)
-                {
-                response = ETrue;
-                if(aKey == EPtiKeyQwertySpace && (State() == EInitial || State() ==EPredictiveInput))
-                    {
-                    response = EFalse;
-                    }
-                }
-            }
-        else if( EPtiKeyboardHalfQwerty == keyboardType ||
-           EPtiKeyboardCustomQwerty == keyboardType)
-            {
-            MPtiLanguage *lang = NULL;
-            RArray < TPtiNumericKeyBinding > keybinding;
-            TBool IsStrokeKey = EFalse;
-            if(iPtiEngine)
-            { 
-            	  lang = iPtiEngine->CurrentLanguage();
-            }
-            if( iPtiEngine && lang )
-                {
-                TRAP_IGNORE(iPtiEngine->GetNumericModeKeysForQwertyL(
-                						lang->LanguageCode(),
-                				 		keybinding, keyboardType));
-                TInt numericKeysCount = keybinding.Count();
-                while ( numericKeysCount-- )
-                    {
-                    TPtiNumericKeyBinding numKeyBind = keybinding[numericKeysCount];
-                    if ( (numKeyBind.iChar >= 0x31 && numKeyBind.iChar <= 0x36)&&(aKey == numKeyBind.iKey))
-                        {
-                           IsStrokeKey = ETrue;
-                           break;              
-                        }
-                    }
-                }
-            keybinding.Reset();
-            if(IsStrokeKey || (aKey == EPtiKeyQwertySpace))
-                {
-                if((aKey >= EPtiKeyQwertyA && aKey <= EPtiKeyQwertyZ) ||
-                   (aKey >= EPtiKeyQwerty0 && aKey <= EPtiKeyQwerty6) ||		
-                   (aKey == EPtiKeyQwertySpace))
-                    {
-                    response = ETrue;
-                    if(aKey == EPtiKeyQwertySpace && 
-                    	(State() == EInitial || State() ==EPredictiveInput))
-                        {
-                        response = EFalse;
-                        }                  
-                    }
-                }               
-            }
-        else
-            {
-#endif
-        switch(aKey)
-            {
-            case EPtiKeyQwertyQ:
-            case EPtiKeyQwertyW:
-            case EPtiKeyQwertyE:
-            case EPtiKeyQwertyA:
-            case EPtiKeyQwertyS:
-            case EPtiKeyQwertyD:
-            case EPtiKeyQwertyI:
-            case EPtiKeyQwertyO:
-            case EPtiKeyQwertyP:
-            case EPtiKeyQwertyJ:
-            case EPtiKeyQwertyK:
-            case EPtiKeyQwertyL:
-            case EPtiKeyQwertySpace:
-                {
-                response = ETrue;
-                if(aKey == EPtiKeyQwertySpace && (State() == EInitial 
-                || State() ==EPredictiveInput))
-                    {
-                    response = EFalse;
-                    }
-                }
-                break;
-            }
-        }
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-        }
-#endif
-    
-    if(iMode == ECangJie)
-        {
-        if (aKey >= EPtiKeyQwertyA && aKey <= EPtiKeyQwertyZ)
-            {
-            response = ETrue;
-            }
-        }
-    
-    if(iMode == EZhuyin || iMode == EZhuyinFind)
-        {
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-        if(EPtiKeyboardQwerty4x10 == keyboardType ||
-           EPtiKeyboardQwerty3x11 == keyboardType )
-            {
-            TBuf<KMaxName> lowerdata;
-            iPtiEngine->MappingDataForKey((TPtiKey)aKey, lowerdata, EPtiCaseLower);
-       //     TInt ZhuyinUnicodeCur =0;
-            for(TInt i=0;i<lowerdata.Length();i++)
-                {
-                if(lowerdata[i]==KZhuyinIndicator)
-                    {
-                response = ETrue;
-                }   
-                }
-            }
-        else if( EPtiKeyboardCustomQwerty == keyboardType)        
-            {
-			if((aKey >= EPtiKeyQwertyA && aKey <= EPtiKeyQwertyZ))
-    			{
-				response = ETrue;        
-    			}       	
-            }
-        else if (  EPtiKeyboardHalfQwerty == keyboardType )
-            {
-            if((aKey >= EPtiKeyQwertyA && aKey <= EPtiKeyQwertyZ) || 
-                    (aKey >= EPtiKey0 && aKey <= EPtiKey9) ||
-                    aKey == EPtiKeyQwertySpace )
-                {
-                response = ETrue;        
-                }  
-            }
-        else
-            {
-#endif
-        if((aKey >= EPtiKeyQwertyA && aKey <= EPtiKeyQwertyZ) ||
-            (aKey >= EPtiKeyQwerty0 && aKey <= EPtiKeyQwerty9)||
-            (aKey == EPtiKeyQwertySemicolon) ||
-            (aKey == EPtiKeyQwertyApostrophe) ||
-            (aKey == EPtiKeyQwertyComma) ||
-            (aKey == EPtiKeyQwertyFullstop) ||
-            (aKey == EPtiKeyQwertySlash))
-            {
-            response = ETrue;        
-            }
-        }
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-        }
-#endif        
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-    
-    if( iPtiEngine != NULL && EPtiKeyboardQwerty4x12 == iPtiEngine->KeyboardType())
-        {
-#endif
-    if(iMode == EZhuyin && IsFlagSet(ESupportZhuyinPhrase) && aKey == EPtiKeyQwertyApostrophe)
-        {
-        response = ETrue;
-        }
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-        }
-#endif
-    return response;
-    }
-
-TBool CAknFepUIManagerChinese::IsQwertyZhuyinToneMarkKey(TInt aKey) const
-    {
-    // only return ETrue when qwerty and zhuyin symbol input supported for corresponding key
-    TInt supportSCTToneMarks = EFalse;
-    MPtiCoreInfo* ptiCoreInfo = iPtiEngine->CoreInfo(EPtiEngineZhuyin);
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-    TPtiKeyboardType keyboardType = iPtiEngine->KeyboardType();
-#endif
-
-    if(ptiCoreInfo)
-        {
-        supportSCTToneMarks = ptiCoreInfo->CapsBits() & ESupportSCTToneMarks;
-        }
-
-    ptiCoreInfo = iPtiEngine->CoreInfo(EPtiEngineZhuyinByPhrase);
-    if(ptiCoreInfo)    
-        {
-        supportSCTToneMarks = 
-                    supportSCTToneMarks || (ptiCoreInfo->CapsBits() & ESupportSCTToneMarks);
-        }
-
-    if(iQwertyMode && (iMode == EZhuyin) && supportSCTToneMarks)
-        {
-#ifdef RD_INTELLIGENT_TEXT_INPUT 
-        if( keyboardType == EPtiKeyboardQwerty4x12)
-            {
-#endif            
-            if(aKey == EPtiKeyQwerty3 || aKey == EPtiKeyQwerty4 || aKey == EPtiKeyQwerty6 || aKey == EPtiKeyQwerty7)
-                {
-                return ETrue;
-                }
-            else
-                {
-                return EFalse;
-                }
-#ifdef RD_INTELLIGENT_TEXT_INPUT 
-            }
-        else if( keyboardType == EPtiKeyboardQwerty4x10 || keyboardType == EPtiKeyboardQwerty3x11)
-            {
-            if(aKey == EPtiKeyQwertyE || aKey == EPtiKeyQwertyR || aKey == EPtiKeyQwertyY || aKey == EPtiKeyQwertyU)
-                {
-                return ETrue;
-                }
-            else
-                {
-                return EFalse;
-                }
-            }
-#endif        
-        }
-    else 
-        {
-        return EFalse;
-        }
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerChinese::GetLatestDeliberateSelection
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-TPtr CAknFepUIManagerChinese::GetLatestDeliberateSelection() const
-    {
-    // need to cast around constness, as this is a const get but needs to call Des which isn't const
-    typedef TBufC<MAknFepUICtrlInputPane::EMaxInputCharsPinyinPopupNotIncludingToneMark> pinyinBuffer;
-    pinyinBuffer* bufPtr = CONST_CAST(pinyinBuffer*, &iLatestDeliberateSelection);
-    return TPtr(bufPtr->Des());
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerChinese::FepUIState
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-TAknFepInputStateBase* CAknFepUIManagerChinese::FepUIState()
-    {
-    return &iFepUiState;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerChinese::UIContainer
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-MAknFepUICtrlContainerChinese* CAknFepUIManagerChinese::UIContainer() const
-    {
-    return iContainerPane;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerChinese::IsValidShiftKeyPress
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CAknFepUIManagerChinese::IsValidShiftKeyPress() const
-    {
-    TUIState state = State();
-    TInt mode = FepMan()->InputMode();
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-    TPtiKeyboardType kbdType = iFepMan->KeyboardLayout();
-    if (EPtiKeyboardQwerty4x12 == kbdType)
-        {
-#endif
-    if (mode == EPinyin || mode == EZhuyin || mode == EStroke || mode == ECangJie)
-        {
-        if (mode == EZhuyin && state == EPredictiveInput)
-            {
-            return EFalse;
-            }
-        if (mode == EZhuyin && state == EPredictiveCandidate)
-            {
-            return ETrue;
-            }
-        
-        if (state == EEntry || state == ECandidate || state == EPredictiveCandidate)
-            {
-            return EFalse;
-            }
-        }
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-        }
-    else if(EPtiKeyboardQwerty4x10 == kbdType ||
-            EPtiKeyboardQwerty3x11 == kbdType ||
-            EPtiKeyboardHalfQwerty == kbdType ||
-            EPtiKeyboardCustomQwerty == kbdType)
-        {
-    	if (mode == EPinyin || mode == EZhuyin || mode == EStroke || mode == ECangJie)
-            {
-            if ( state == EEntry || state == ECandidate || /*state == EPredictiveCandidate ||*/ 
-                state == EPredictiveInput || state == EMiniQwertyEdit || 
-                state == EZhuyinSpelling || state == EZhuyinCandidate )
-                {
-                return EFalse;
-                }         
-            }
-        }
-#endif    
-    
-    return ETrue;
-    }
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-TBool CAknFepUIManagerChinese::IsValidFnKeyPress() const
-    {
-    TUIState uiState = State();
-    TInt mode = FepMan()->InputMode();
-    if (mode == EPinyin || mode == EZhuyin || mode == EStroke || mode == ECangJie)
-        {
-        //if (uiState == EPredictiveCandidate || uiState == ECandidate)
-        if (uiState == EEntry || 
-        	uiState == ECandidate ||
-        	uiState == EPredictiveCandidate || 
-            uiState == EPredictiveInput ||
-            uiState == EMiniQwertyEdit || uiState == EZhuyinSpelling ||
-            uiState == EZhuyinCandidate )
-            {
-            return EFalse;
-            }         
-        }
-    							   
-    return ETrue;
-    }
-
-TBool CAknFepUIManagerChinese::IsValidLongChrKeyPress() const
-    {
-    TUIState state = State();
-    TInt mode = FepMan()->InputMode();
-    if ( mode == EPinyin || mode == EZhuyin || mode == EStroke )
-        {
-        if ( state == EEntry || state == EPredictiveInput )
-            {
-            return EFalse;
-            }
-        }
-    return ETrue;
-    }
-
-#endif
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerChinese::SetInputLanguageL
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-void CAknFepUIManagerChinese::SetInputLanguageL(TLanguage aLanguage)
-    {
-    iLanguage = aLanguage;
-    CloseUI();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerChinese::CAknFepUIManagerChinese
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-CAknFepUIManagerChinese::CAknFepUIManagerChinese(MAknFepManagerUIInterface* aFepMan, 
-                                                 CAknFepCaseManager* aCaseMan)
-    : CAknFepUIManagerBase(aFepMan, aCaseMan),
-      iFepUiState(NULL, NULL),
-      iPrevMode(ENumber),
-      iQwertyMode(ETrue)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerChinese::ConstructL
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-void CAknFepUIManagerChinese::ConstructL(TLanguage aLanguage)
-    {
-    CAknFepUIManagerBase::ConstructL(aLanguage);
-    iContainerPane = FepMan()->UiInterface()->NewAknFepUICtrlContainerChineseL();
-    ResetFlags();  
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerChinese::QueryPtiEngine
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-void CAknFepUIManagerChinese::QueryPtiEngine(void)
-    {
-    MPtiLanguage* ptiLang = iPtiEngine->CurrentLanguage();
-
-    // query ptiengine 
-    if(ptiLang)
-        {
-        SetFlag(EQueryPtiEngineAlready);
-        if(ptiLang->HasInputMode(EPtiEnginePinyinByPhrase))
-            {
-            SetFlag(ESupportPinyinPhrase);
-            }
-            
-        if(ptiLang->HasInputMode(EPtiEngineZhuyinByPhrase))
-            {
-            SetFlag(ESupportZhuyinPhrase);
-            }
-            
-        if (ptiLang->HasInputMode(EPtiEngineStrokeByPhrase))
-            {
-            SetFlag(ESupportStrokePhrase);
-            }
-        }
-    }
-
-void CAknFepUIManagerChinese::ChangeStatetItut(TUIState aState)
-    {
-    switch(aState)
-        {
-        case EInitial:
-            {
-            switch(iMode)
-            {
-            case EPinyin:
-            case EZhuyin:
-            case EStroke:
-            case ECangJie: 
-                iFepUiState = TAknFepInputStateInitialChineseGeneric(this, iContainerPane);
-                break;
-            case EZhuyinFind:
-                iFepUiState = TAknFepInputStateInitialZhuyinFind(this, iContainerPane);
-                break;
-            case EStrokeFind:
-                iFepUiState = TAknFepInputStateInitialStrokeFind(this, iContainerPane);
-                break;
-            case ELatin:
-                {
-                if (iPredictive)
-                    {
-                    iFepUiState = TAknFepInputStateInitialWesternPredictive(this);
-                    }
-                else
-                    {
-                    iFepUiState = TAknFepInputStateInitialLatinMultitap(this);
-                    }
-                }
-                break;
-            case ENumber:
-                {
-                // Map directly to the resources...
-                iFepUiState = TAknFepInputStateInitialNumber(this);
-                break;
-                }
-            default:
-                AknFepPanic(EAknFepPanicBadInputState);
-            }
-            break;
-            }
-        case EEntry:
-            {
-            switch(iMode)
-                {
-                case EPinyin:
-                    if(IsFlagSet(ESupportPinyinPhrase))
-                        {
-                        iFepUiState = TAknFepInputStateEntryPinyinPhrase(this,iContainerPane);
-                        }
-                    else 
-                        {
-                        iFepUiState = TAknFepInputStateEntryPinyin(this,iContainerPane);
-                        }
-                    break;
-                case EZhuyin:
-                    if(IsFlagSet(ESupportZhuyinPhrase))
-                        {	
-                        iFepUiState = TAknFepInputStateEntryZhuyinPhrase(this,iContainerPane);
-                        }
-                    else
-                        {
-                        iFepUiState = TAknFepInputStateEntryZhuyin(this,iContainerPane);
-                        }
-                    break;
-                case EStroke:
-                    if (IsFlagSet(ESupportStrokePhrase))
-                        {
-                        iFepUiState = TAknFepInputStateEntryStrokePhrase(this,iContainerPane);
-                        }
-                    else
-                        {
-                        iFepUiState = TAknFepInputStateEntryStroke(this,iContainerPane);
-                        }
-                    break;
-                case ELatin:
-                    iFepUiState = TAknFepInputStateEntryWesternPredictive(this);
-                    break;
-                default:
-                    AknFepPanic(EAknFepPanicBadInputState);
-                }
-            }
-            break;
-        case ECandidate:
-            {
-            // modify for phrase creation
-            FepMan()->EntryPhrase( ETrue );
-            FepMan()->EnableKeyStar( EFalse );
-            switch ( iMode )
-                {
-                case EPinyin:
-                    {
-                    if ( IsFlagSet( ESupportPinyinPhrase ) )
-                        {
-                        iFepUiState
-                            = TAknFepUiInputStateCandidatePinyinAndStrokePhrase(
-                                this, iContainerPane );
-                        }
-                    }
-                    break;
-                case EStroke:
-                    {
-                    if ( IsFlagSet( ESupportStrokePhrase ) )
-                        {
-                        iFepUiState
-                            = TAknFepInputStateCandidateStrokePhrase(
-                                this, iContainerPane );
-                        }
-                    }
-                    break;
-                case EZhuyin:
-                    {
-                    if ( IsFlagSet( ESupportZhuyinPhrase ) )
-                        {
-                        iFepUiState
-                            = TAknFepInputStateCandidateChinesePhrase( this,
-                                iContainerPane );
-                        }
-                    }
-                    break;
-                default:
-                    {
-                    iFepUiState = TAknFepInputStateCandidateChinese( this,
-                        iContainerPane );
-                    }
-                }
-            }
-            break;
-            
-        case EPredictiveCandidate:
-            {
-            // add for phrase creation
-            FepMan()->PhraseCreation( EFalse );
-            FepMan()->PinyinPhraseCreation( EFalse );
-            FepMan()->EntryPhrase( ETrue );
-            FepMan()->EnableKeyStar( ETrue );
-            TRAP_IGNORE( FepMan()->UpdateCbaL( R_AKNFEP_SOFTKEYS_PHRASE_CREATION_SELECT_CANCEL_SELECT ) );
-            iContainerPane->PinyinPopupWindow()->ResetStrokeArray();
-            switch(iMode)
-                {
-                case EPinyin:
-                    if(IsFlagSet(ESupportPinyinPhrase))
-                        {
-                        iFepUiState = TAknFepInputStatePredictiveCandidatePinyinPhrase(
-                                                                    this,iContainerPane);
-                        }
-                    else
-                        {
-                        iFepUiState = TAknFepInputStatePredictiveCandidatePinyin(
-                                                             this,iContainerPane);     
-                        }
-                    break;
-                case EStroke:
-                    if (IsFlagSet(ESupportStrokePhrase))
-                        {
-                        iFepUiState = TAknFepInputStatePredictiveCandidateStrokePhrase(
-                                                                   this,iContainerPane);     
-                        }
-                    else
-                        {
-                        iFepUiState = TAknFepInputStatePredictiveCandidateStroke(
-                                                              this,iContainerPane);     
-                        } 
-                    break;
-                case EZhuyin:
-                        if(IsFlagSet(ESupportZhuyinPhrase))
-                            {
-                            iFepUiState = TAknFepInputStatePredictiveCandidateChinesePhrase(
-                                                                        this,iContainerPane);
-                            }
-                        else
-                            {
-                            iFepUiState = TAknFepInputStatePredictiveCandidate(this,iContainerPane);
-                            }
-                    break;
-                default:
-                AknFepPanic(EAknFepPanicBadInputState);
-                }
-            }
-            break;
-        case EPredictiveInput:
-            if((IsFlagSet(ESupportPinyinPhrase) || IsFlagSet(ESupportZhuyinPhrase) 
-             || IsFlagSet(ESupportStrokePhrase)) 
-               && (iMode != ECangJie))
-                {
-                iFepUiState = TAknFepInputStatePredictiveInputChinesePhrase(this, iContainerPane);
-                }
-            else
-                {
-                iFepUiState = TAknFepInputStatePredictiveInputChinese(this, iContainerPane);
-                }
-            break;
-        // add for phrase creation
-        case EStrokeSequenceEdit:
-            if ( IsFlagSet( ESupportStrokePhrase ) && ( iMode != ECangJie ) )
-                {
-                FepMan()->EnableKeyStar( EFalse );
-                iFepUiState = TAknFepInputStateEditStrokePhrase( this, iContainerPane ); 
-                }
-            break;
-        // add for phrase creation
-        case EKeySequenceEdit:
-            if ( IsFlagSet( ESupportPinyinPhrase ) && ( iMode != ECangJie ) )
-                {
-                iFepUiState = TAknFepInputStateEntryPinyinPhraseCreation( this, iContainerPane );
-                }
-            break;
-        // add for phrase creation
-        case EZhuyinSequenceEdit:
-            if ( IsFlagSet( ESupportZhuyinPhrase ) && ( iMode != ECangJie ) )
-                {
-                iFepUiState = TAknFepInputStateEntryZhuyinPhraseCreation( this, iContainerPane );
-                }
-            break;
-        // add for phrase creation
-        case ESpellingSelection:
-            if ( IsFlagSet( ESupportPinyinPhrase ) && (iMode != ECangJie) )
-                {
-                FepMan()->EnableKeyStar( EFalse );
-                iFepUiState = TAknFepInputStateSpellingPinyinPhraseCreation( this, iContainerPane );
-                }
-            break;
-        // add for phrase creation
-        case ECandidateSelection:
-            if ( IsFlagSet (ESupportPinyinPhrase) && ( iMode != ECangJie ) )
-                {
-                FepMan()->EnableKeyStar( EFalse );
-                iFepUiState = TAknFepInputStateCandidatePinyinPhraseCreation( this, iContainerPane );
-                }
-            break;
-        default:
-            AknFepPanic(EAknFepPanicBadInputState);
-        }
-    
-    }
-    
-void CAknFepUIManagerChinese::ChangeStateQwerty(TUIState aState)
-    {
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-    TPtiKeyboardType kbdType = iFepMan->KeyboardLayout();    
-#endif    
-    switch(aState)
-        {
-        case EQwerty:
-            if(iMode == EPinyin || iMode == EStroke || iMode == EZhuyin || iMode == ECangJie)
-                {
-                iFepUiState = TAknFepInputStateInitialChineseGenericQwerty(this, iMode);
-                }
-            else if(iMode == EStrokeFind)
-                {
-#ifdef RD_INTELLIGENT_TEXT_INPUT 
-                if(EPtiKeyboardQwerty4x10 == kbdType ||
-                   EPtiKeyboardQwerty3x11 == kbdType)
-                    {
-                    iFepUiState = TAknFepInputStateStrokeFindMiniQwerty(this,iMode);
-                    }
-                else
-                    {
-#endif //RD_INTELLIGENT_TEXT_INPUT                
-                iFepUiState = TAknFepInputStateStrokeFindQwerty(this,iContainerPane);
-#ifdef RD_INTELLIGENT_TEXT_INPUT 
-                    }
-#endif                
-                }
-            else if(iMode == EZhuyinFind)
-                {
-#ifdef RD_INTELLIGENT_TEXT_INPUT 
-                if(EPtiKeyboardQwerty4x10 == kbdType ||
-                   EPtiKeyboardQwerty3x11 == kbdType)
-                    {
-                    iFepUiState = TAknFepInputStateZhuyinFindMiniQwerty(this,iMode);
-                    }
-                else
-                    {
-#endif //RD_INTELLIGENT_TEXT_INPUT                 
-                iFepUiState = TAknFepInputStateZhuyinFindQwerty(this,iContainerPane);
-#ifdef RD_INTELLIGENT_TEXT_INPUT 
-                    }
-#endif  
-                }
-            break;
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-#ifdef __HALF_QWERTY_KEYPAD
-        case EHalfQwerty: 
-            if (iMode == EPinyin || iMode == EStroke || iMode == EZhuyin)
-                {
-                iFepUiState = TAknFepInputStateInitialChineseGenericHalfQwerty(
-                        this, iMode);
-                }
-            else if(iMode ==EStrokeFind)
-                {
-                iFepUiState = TAknFepInputStateStrokeFindHalfQwerty(this,
-                                            iMode);
-                }    
-            else if(iMode ==EZhuyinFind)
-                {
-                iFepUiState = TAknFepInputStateZhuyinFindHalfQwerty(this,
-                                                            iMode);
-                }
-            break;
-#endif
-#endif
-        case EEntry:
-            {
-            switch(iMode)
-                {
-                case EZhuyin:
-                    if(IsFlagSet(ESupportZhuyinPhrase))
-                        {
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-                        if ( EPtiKeyboardQwerty4x10 == kbdType ||
-                             EPtiKeyboardQwerty3x11 == kbdType ||
-                             EPtiKeyboardCustomQwerty == kbdType)
-                           {
-                           iFepUiState = TAknFepInputStateEntryMiniQwertyZhuyinPhrase(this, iContainerPane); 
-                           }
-                        else if(EPtiKeyboardHalfQwerty == kbdType)
-                           {
-                           iFepUiState = TAknFepInputStateEntryHalfQwertyZhuyinPhrase(this, iContainerPane);
-                           }
-                        else
-                           {
-#endif
-                        iFepUiState = TAknFepInputStateEntryQwertyZhuyinPhrase(this, 
-                                                                               iContainerPane);
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-                           }   
-#endif
-                        }
-                    else
-                        {
-                        iFepUiState = TAknFepInputStateEntryQwertyZhuyin(this, iContainerPane);
-                        }
-                    
-                    break;
-                case EPinyin:
-                    if(IsFlagSet(ESupportPinyinPhrase))
-                        {
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-                        if ( EPtiKeyboardQwerty4x10 == kbdType ||
-                             EPtiKeyboardQwerty3x11 == kbdType ||
-                             EPtiKeyboardCustomQwerty == kbdType)                            
-                            { 
-                            iFepUiState = TAknFepInputStateEntryMiniQwertyPinyinPhrase(this, iContainerPane);
-                            }
-                        else if (EPtiKeyboardHalfQwerty == kbdType)
-                            {
-                            iFepUiState = TAknFepInputStateEntryHalfQwertyPinyinPhrase(this, iContainerPane);
-                            }
-                        else
-                            {
-#endif
-                        iFepUiState = TAknFepInputStateEntryQwertyPinyinPhrase(
-                                                           this, iContainerPane);
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-                            }
-#endif
-                        }
-                    else
-                        {
-                        iFepUiState = TAknFepInputStateEntryQwertyPinyin(this, iContainerPane);
-                        }
-                    break;
-                case EStroke:
-                    if (IsFlagSet(ESupportStrokePhrase))
-                        {
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-                        if ( EPtiKeyboardQwerty4x10 == kbdType ||
-                             EPtiKeyboardQwerty3x11 == kbdType ||
-                             EPtiKeyboardCustomQwerty == kbdType)                        	
-                            {
-                            iFepUiState = TAknFepInputStateEntryMiniQwertyStrokePhrase(
-                                                                  this, iContainerPane);
-                        	}
-                        else if (EPtiKeyboardHalfQwerty == kbdType)
-                            {
-                            iFepUiState= TAknFepInputStateEntryHalfQwertyStrokePhrase(this, iContainerPane);
-                            }
-                        else
- 	                       {
-#endif
-                        	iFepUiState = TAknFepInputStateEntryQwertyStrokePhrase(
-                                                             this, iContainerPane);
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
- 	                       }	
-#endif
-                        }
-                    else
-                        {
-                        iFepUiState = TAknFepInputStateEntryQwertyStroke(this, iContainerPane);
-                        }
-                    break;
-                case ECangJie:
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-                        if ( EPtiKeyboardQwerty4x10 == kbdType ||
-                             EPtiKeyboardQwerty3x11 == kbdType ||
-                             EPtiKeyboardHalfQwerty == kbdType ||
-                             EPtiKeyboardCustomQwerty == kbdType)                    	
-                        {
-                        iFepUiState = TAknFepInputStateEntryMiniQwertyCangJie(this, iContainerPane);                    	
-                    	}
-                    else
-                    	{
-#endif
-                    	iFepUiState = TAknFepInputStateEntryQwertyCangJie(this, iContainerPane);
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-                    	}
-#endif
-                    break;
-                default:
-                    AknFepPanic(EAknFepPanicBadInputState);
-                }
-            }
-            break;
-        case ECandidate:
-            if(iMode == EZhuyin)
-                {
-                if(IsFlagSet(ESupportZhuyinPhrase))
-                    {
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-                        if ( EPtiKeyboardQwerty4x10 == kbdType ||
-                             EPtiKeyboardQwerty3x11 == kbdType ||
-                             EPtiKeyboardCustomQwerty == kbdType)                    	
-                    	{
-                    	iFepUiState = TAknFepUiInputStateCandidateMiniQwertyZhuyinPhrase(
-                                                                  this, iContainerPane);
-                    	}
-#ifdef __HALF_QWERTY_KEYPAD
-                        else if ( EPtiKeyboardHalfQwerty == kbdType )
-                            {
-                            iFepUiState = TAknFepUiInputStateCandidateHalfQwertyChinesePhrase(
-                                                                                              this, iContainerPane);
-                            }
-#endif
-                    else
-         	            {
-#endif
-         	            iFepUiState = TAknFepInputStateCandidateQwertyZhuyinPhrase(
-                                                            this, iContainerPane);
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-         	            }	
-#endif
-                    }
-                else
-                    {
-                    iFepUiState = TAknFepInputStateCandidateQwertyZhuyin(this, iContainerPane);
-                    }
-                }
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-            else if(iMode == EPinyin)
-                {
-                if(IsFlagSet(ESupportPinyinPhrase))
-                    {
-                        if ( EPtiKeyboardQwerty4x10 == kbdType ||
-                             EPtiKeyboardQwerty3x11 == kbdType ||
-                             EPtiKeyboardCustomQwerty == kbdType)                    	
-                        { 
-                        iFepUiState = TAknFepUiInputStateCandidateMiniQwertyPinyinAndStrokePhrase(this, iContainerPane);
-                        }
-                        else if(EPtiKeyboardHalfQwerty == kbdType)
-                        {
-                        iFepUiState=TAknFepUiInputStateCandidateHalfQwertyChinesePhrase(
-                                                                             this, iContainerPane);
-                        }
-                    }                 
-                }
-            else if(iMode == EStroke)
-            	{
-                 if (IsFlagSet(ESupportStrokePhrase))
-                        {
-                        if ( EPtiKeyboardQwerty4x10 == kbdType ||
-                             EPtiKeyboardQwerty3x11 == kbdType ||
-                             EPtiKeyboardCustomQwerty == kbdType)                    	
-                        	{
-                            iFepUiState = TAknFepUiInputStateCandidateMiniQwertyStrokePhrase(this, iContainerPane);
-                            }
-                        else if ( EPtiKeyboardHalfQwerty == kbdType )
-                            {
-                            iFepUiState=TAknFepUiInputStateCandidateHalfQwertyChinesePhrase( this, iContainerPane);
-                            }
-                       }
-            	}
-	        else if(iMode == ECangJie)
-	        	{
-                if ( EPtiKeyboardQwerty4x10 == kbdType ||
-                     EPtiKeyboardQwerty3x11 == kbdType ||
-                     EPtiKeyboardHalfQwerty == kbdType ||
-                     EPtiKeyboardCustomQwerty == kbdType)                    	
-                {
-                iFepUiState = TAknFepUiInputStateCandidateMiniQwertyPinyinAndStrokePhrase(
-                                                                     this, iContainerPane);
-                }
-	        	}
-#endif      
-            break;
-        case EPredictiveCandidate:
-            if(iMode == EZhuyin)
-                {
-                if(IsFlagSet(ESupportZhuyinPhrase))
-                    {
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-                    if ( EPtiKeyboardQwerty4x10 == kbdType ||
-                         EPtiKeyboardQwerty3x11 == kbdType ||
-                         EPtiKeyboardCustomQwerty == kbdType)                    	
-                        {
-                    	iFepUiState = TAknFepInputStatePredictiveCandidateMiniQwertyChinesePhrase(
-                                                                          this, iContainerPane);
-                    	}
-#ifdef __HALF_QWERTY_KEYPAD
-                    else if( EPtiKeyboardHalfQwerty == kbdType )
-                        {
-                        iFepUiState = TAknFepInputStatePredictiveCandidateHalfQwertyChinesePhrase(
-                                                                           this, iContainerPane);
-                        }
-#endif
-                    else
-                    	{
-#endif
-                    	iFepUiState = TAknFepInputStatePredictiveCandidateQwertyZhuyinPhrase(
-                                                                      this, iContainerPane);                    	
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-                        }	
-#endif
-                    }
-                else
-                    {
-                    iFepUiState = TAknFepInputStatePredictiveCandidateQwertyZhuyin(
-                                                              this, iContainerPane);
-                    }
-                
-                }
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-            else if(iMode == EPinyin)
-                {
-                if(IsFlagSet(ESupportPinyinPhrase))
-                    {
-                    if ( EPtiKeyboardQwerty4x10 == kbdType ||
-                         EPtiKeyboardQwerty3x11 == kbdType ||
-                         EPtiKeyboardCustomQwerty == kbdType)                    	
-                        {
-                        iFepUiState = TAknFepInputStatePredictiveCandidateMiniQwertyChinesePhrase(
-                                                                             this, iContainerPane);
-                        }
-#ifdef __HALF_QWERTY_KEYPAD
-                    else if( EPtiKeyboardHalfQwerty == kbdType )
-                        {
-                        iFepUiState = TAknFepInputStatePredictiveCandidateHalfQwertyChinesePhrase(
-                                                                           this, iContainerPane);
-                        }
-#endif
-                    }                 
-                }
-           else if(iMode == EStroke)
-            	{
-                 if (IsFlagSet(ESupportStrokePhrase))
-                        {
-                        if ( EPtiKeyboardQwerty4x10 == kbdType ||
-                             EPtiKeyboardQwerty3x11 == kbdType ||
-                             EPtiKeyboardCustomQwerty == kbdType)                    	
-                        	{
-                            iFepUiState = 
-                                   TAknFepInputStatePredictiveCandidateMiniQwertyChinesePhrase(
-                                                                          this, iContainerPane);
-                        	}
-#ifdef __HALF_QWERTY_KEYPAD
-                    else if( EPtiKeyboardHalfQwerty == kbdType )
-                        {
-                        iFepUiState = TAknFepInputStatePredictiveCandidateHalfQwertyChinesePhrase(
-                                                                           this, iContainerPane);
-                        }
-#endif
-                       }
-	
-            	}
-            else if(iMode == ECangJie)
-            	{
-
-                if ( EPtiKeyboardQwerty4x10 == kbdType ||
-                     EPtiKeyboardQwerty3x11 == kbdType ||
-                     EPtiKeyboardHalfQwerty == kbdType ||
-                     EPtiKeyboardCustomQwerty == kbdType)                    	
-                 {
-                 iFepUiState = TAknFepInputStatePredictiveCandidateMiniQwertyChinesePhrase(
-                                                                       this, iContainerPane);
-                 }
-
-            	}
-#endif
-            break;
-        case EPredictiveInput:
-            {
-            switch(iMode)
-                {
-                case EPinyin:
-                    if(IsFlagSet(ESupportPinyinPhrase))
-                        {
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-                        if ( EPtiKeyboardQwerty4x10 == kbdType ||
-                             EPtiKeyboardQwerty3x11 == kbdType ||
-                             EPtiKeyboardHalfQwerty == kbdType ||
-                             EPtiKeyboardCustomQwerty == kbdType)                    	
-                            {
-                            iFepUiState = TAknFepInputStatePredictiveInputMiniQwertyChinesePhrase/*TAknFepInputStatePredictiveInputQwertyPinyinPhrase*/(this, iContainerPane);
-                            }
-                        else
-                            {
-#endif
-                            iFepUiState = TAknFepInputStatePredictiveInputQwertyPinyinPhrase(
-                                                                        this, iContainerPane);
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-							}
-#endif
-                        }
-                    else
-                        {
-                        iFepUiState = TAknFepInputStatePredictiveInputQwertyPinyin(
-                                                              this, iContainerPane);
-                        }
-                    break;
-                case EStroke:                
-                    if(IsFlagSet(ESupportStrokePhrase))
-                        {
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-                        if ( EPtiKeyboardQwerty4x10 == kbdType ||
-                             EPtiKeyboardQwerty3x11 == kbdType ||
-                             EPtiKeyboardHalfQwerty == kbdType ||
-                             EPtiKeyboardCustomQwerty == kbdType)                    	
-                      	   {
-                           iFepUiState = TAknFepInputStatePredictiveInputMiniQwertyChinesePhrase(
-                                                                             this, iContainerPane);
-                       	   }
-                        else
-         	               {
-#endif
-         	               iFepUiState = TAknFepInputStatePredictiveInputQwertyStrokePhrase(
-                                                                     this, iContainerPane);                        	
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-         	               }
-#endif
-                        }
-                    else
-                        {
-                        iFepUiState = TAknFepInputStatePredictiveInputQwertyStroke(
-                                                              this, iContainerPane);
-                        }
-                    break;
-                case ECangJie:
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-                    if ( EPtiKeyboardQwerty4x10 == kbdType ||
-                         EPtiKeyboardQwerty3x11 == kbdType ||
-                         EPtiKeyboardHalfQwerty == kbdType ||
-                         EPtiKeyboardCustomQwerty == kbdType)                    	
-                        {
-                        iFepUiState = TAknFepInputStatePredictiveInputMiniQwertyChinesePhrase(
-                                                                          this,iContainerPane);
-
-                        }
-                    else 
-                    	{
-#endif
-                    	iFepUiState = TAknFepInputStatePredictiveInputQwerty(this, iContainerPane);
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-                    	}    
-#endif
-                    break;
-                case EZhuyin:
-                    if(IsFlagSet(ESupportZhuyinPhrase))
-                        {
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-                        if ( EPtiKeyboardQwerty4x10 == kbdType ||
-                             EPtiKeyboardQwerty3x11 == kbdType ||
-                             EPtiKeyboardHalfQwerty == kbdType ||
-                             EPtiKeyboardCustomQwerty == kbdType)                    	
-                        	{
-                            iFepUiState = TAknFepInputStatePredictiveInputMiniQwertyChinesePhrase/*TAknFepInputStatePredictiveInputQwertyPinyinPhrase*/(this, iContainerPane);
-                        	}
-                        else
-                        	{
-#endif
-                        	iFepUiState = TAknFepInputStatePredictiveInputQwertyZhuyinPhrase(
-                                                                       this, iContainerPane);
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-                        	}
-#endif
-                        }
-                    else
-                        {
-                        iFepUiState = TAknFepInputStatePredictiveInputQwertyZhuyin(
-                                                              this, iContainerPane);
-                        }
-                    break;  
-                default:
-                    AknFepPanic(EAknFepPanicBadInputState);
-                }
-            }
-            break;
-#ifdef RD_INTELLIGENT_TEXT_INPUT 
-        case EMiniQwertyEdit:
-            {
-            switch(iMode)
-                {
-                case EZhuyin:
-                    if(IsFlagSet(ESupportZhuyinPhrase))
-                        {
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-                        if ( EPtiKeyboardQwerty4x10 == kbdType ||
-                             EPtiKeyboardQwerty3x11 == kbdType ||
-                             EPtiKeyboardHalfQwerty == kbdType ||
-                             EPtiKeyboardCustomQwerty == kbdType)
-                           {
-                           iFepUiState = TAknFepInputStateEditingMiniQwertyZhuyinPhrase( this, iContainerPane );
-                           }
-#endif
-                        }
-                    break;
-                case EPinyin:
-                    if(IsFlagSet(ESupportPinyinPhrase))
-                        {
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-                        if ( EPtiKeyboardQwerty4x10 == kbdType ||
-                             EPtiKeyboardQwerty3x11 == kbdType ||
-                             EPtiKeyboardHalfQwerty == kbdType ||
-                             EPtiKeyboardCustomQwerty == kbdType)                            
-                            { 
-                            iFepUiState = 
-                                TAknFepInputStateEditinigMiniQwertyPinyinPhrase( 
-                                                             this,
-                                                             iContainerPane );
-                            }                            
-#endif
-                        }
-                    break;
-                case EStroke:
-                    if (IsFlagSet(ESupportStrokePhrase))
-                        {
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-                        if ( EPtiKeyboardQwerty4x10 == kbdType ||
-                             EPtiKeyboardQwerty3x11 == kbdType ||
-                             EPtiKeyboardHalfQwerty == kbdType ||
-                             EPtiKeyboardCustomQwerty == kbdType)                           
-                            {
-                            iFepUiState = 
-                                TAknFepInputStateEditingMiniQwertyStrokePhrase(
-                                                              this, 
-                                                              iContainerPane);
-                            }
-#endif
-                        }
-                    break;
-                default:
-                    break;
-                }   
-            }
-            break;
-        case EZhuyinSpelling:
-            {
-            iFepUiState = TAknFepInputStateSpellingMiniQwertyZhuyin( this, iContainerPane );
-            }
-            break;
-        case EZhuyinCandidate:
-            {
-            iFepUiState = TAknFepInputStateCanindateSelectingMiniQwertyZhuyin( this, iContainerPane );
-            }
-            break;
-#endif
-        default:
-            AknFepPanic(EAknFepPanicBadInputState);
-    }
-}
-    
-void CAknFepUIManagerChinese::UpdateCangJieState()
-    {
-    // Reset mode
-    if (iMode == ECangJie)
-        {
-        ChangeStateQwerty( EQwerty );
-        }
-    }
-
-TBool CAknFepUIManagerChinese::IsValidChineseSymbol(TInt aKey) const
-	{
-	TBool respond = EFalse;
-	if((aKey >= EStdKeyComma && aKey <= EStdKeyNkpPlus)|| aKey == EPtiKeyStar )
-		{
-		respond = ETrue;
-		}
-	return respond;
-	}
-#ifdef __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerChinese::RollbackPreviousCharL
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CAknFepUIManagerChinese::RollbackPreviousCharL()
-    {
-    if ( iInputSeqLenDeltaWithLastKey > 0 )
-        {
-        HandleKeyL( EStdKeyBackspace, EShortKeyPress );
-        return ETrue;
-        }
-    else
-        {
-        return CAknFepUIManagerBase::RollbackPreviousCharL();
-        }
-    }
-#endif // RD_INTELLIGENT_TEXT_INPUT
-#endif // __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-// End of file
--- a/fep/aknfep/src/AknFepUiManagerJapanese.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,866 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:           
-*       Provides the CAknFepUIManagerJapanese methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include <e32svr.h> // RDebug stuff...
-#include <txtfrmat.h>
-#include <e32keys.h>
-
-#include "AknFepGlobalEnums.h"
-#include "AknFepUiManagerBase.h"
-#include "AknFepUIManagerJapanese.h"
-#include "AknFepManagerInterface.h"         // MAknFepManagerInterface
-#include "AknFepUIManagerStateInterface.h"  // MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"
-#include "AknFepGlobalEnums.h"
-#include "AknFepCaseManager.h"
-
-#include "AknFepUiInputStateInitialHiraganaKanji.h"
-#include "AknFepUiInputStateInitialHiragana.h"
-#include "AknFepUiInputStateInitialKatakana.h"
-#include "AknFepUiInputStateInitialLatinJapanese.h"
-#include "AknFepUiInputStateInitialFullNumber.h"
-#include "AknFepUiInputStateEntryJapaneseMultitap.h"
-#include "AknFepUiInputStateEntryHiraganaKanji.h"
-#include "AknFepUiInputStateEntryKatakana.h"
-#include "AknFepUiInputStateEntryLatinJapanese.h"
-#include "AknFepUiInputStateConversionHiraganaKanji.h"
-#include "AknFepUiInputStateCandidateHiraganaKanji.h"
-#include "AknFepUiInputStateCompletionHiraganaKanji.h"
-#include "AknFepUiInputStateCompletionPredictiveHiraganaKanji.h"
-#include "AknFepUiInputStateCompletionJapaneseMultitap.h"
-#include "AknFepUiInputStateCompletionKatakana.h"
-#include "AknFepUiInputStateCompletionLatinJapanese.h"
-#include "AknFepUiInputStatePredictiveInputJapanese.h"
-#include "AknFepUiInputStateNextWordJapanesePredictive.h"
-#include "AknFepUICtrlContainerJapanese.h"
-#include "AknFepPanic.h"
-#include "AknFepUiInputStateCandidateRetroActive.h"
-
-#include <AknIndicatorContainer.h>  // CAknIndicatorContainer::TIndicatorContext
-#include <PtiEngine.h>
-#include <PtiCompositionDataIF.h>   // MPtiEngineCompositionDataInterface
-#include <PtiDefs.h>                // keys
-
-// CONSTANTS
-
-// LOCAL FUNCTION PROTOTYPES
-static TBool IsNumericKey(TInt aKey);
-static TBool IsQwertyKey(TInt aKey);
-
-//============================ LOCAL FUNCTIONS ==============================
-
-// -----------------------------------------------------------------------------
-// IsNumericKey
-//
-// Returns: ETrue is returned if aKey is number key
-//
-// -----------------------------------------------------------------------------
-//
-static TBool IsNumericKey(const TInt aKey)
-    {
-    TBool response = EFalse;
-    if (aKey >= EPtiKeyQwerty0 && aKey <= EPtiKeyQwerty9)
-        {
-        response = ETrue;
-        }
-    return response;
-    }
-
-// -----------------------------------------------------------------------------
-// IsQwertyKey
-//
-// Returns: ETrue is returned if aKey is qwerty key
-//
-// -----------------------------------------------------------------------------
-//
-static TBool IsQwertyKey(const TInt aKey)
-    {
-    TBool response = EFalse;
-    if ( (aKey >= EPtiKeyQwertyA && aKey <= EPtiKeyQwertyZ) ||
-        IsNumericKey( aKey ) ||
-        aKey == EStdKeySpace ||
-        aKey == EPtiKeyQwertyPlus ||
-        aKey == EPtiKeyQwertyMinus ||
-        aKey == EPtiKeyQwertyComma ||
-        aKey == EPtiKeyQwertySemicolon ||
-        aKey == EPtiKeyQwertyFullstop ||
-        aKey == EPtiKeyQwertyHash ||
-        aKey == EPtiKeyQwertySlash ||
-        aKey == EPtiKeyQwertyApostrophe)
-        {
-        response = ETrue;
-        }
-    return response;
-    }
-
-/**
- *  CAknFepUIManagerJapanese class.
- *
- */
-//============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerJapanese::NewL
-//
-//
-// ---------------------------------------------------------------------------
-//
-CAknFepUIManagerJapanese* CAknFepUIManagerJapanese::NewL(MAknFepManagerUIInterface* aFepMan,
-                                                         CAknFepCaseManager* aCaseMan,
-                                                         TLanguage aLanguage)
-    {
-    CAknFepUIManagerJapanese* self = new(ELeave)CAknFepUIManagerJapanese(aFepMan, aCaseMan);
-    CleanupStack::PushL(self);
-    self->ConstructL(aLanguage);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerJapanese::~CAknFepUIManagerJapanese
-//
-//
-// ---------------------------------------------------------------------------
-//
-CAknFepUIManagerJapanese::~CAknFepUIManagerJapanese()
-    {
-    delete iCandidateArray;
-    delete iContainerPane;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerJapanese::SetCase
-//
-//
-// ---------------------------------------------------------------------------
-//
-void CAknFepUIManagerJapanese::SetCase(TCase aCase)
-    {
-    CAknFepUIManagerBase::SetCase(aCase);
-
-    if (iMode != ENumber)
-        {
-        if (!iCaseMan->IsAbleChangeCase())
-            {
-            if (iCaseMan->CurrentCase() == EAknEditorLowerCase)
-                {
-                TRAP_IGNORE(iPtiEngine->HandleCommandL(EPtiCommandUseLatinCaseLowerOnlyKeyMap));
-                }
-            else if (iCaseMan->CurrentCase() == EAknEditorUpperCase)
-                {
-                TRAP_IGNORE(iPtiEngine->HandleCommandL(EPtiCommandUseLatinCaseUpperOnlyKeyMap));
-                }
-            }
-        else
-            {
-            TRAP_IGNORE(iPtiEngine->HandleCommandL(EPtiCommandUseLatinDefaultKeyMap));
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerJapanese::HandleKeyL
-//
-//
-// ---------------------------------------------------------------------------
-//
-TBool CAknFepUIManagerJapanese::HandleKeyL(TInt aKey, TKeyPressLength aLength, TEventCode /*aEventCode*/)
-    {
-    TUIState currentState = iFepUiState.State();
-    if (aLength == EShortKeyPress)
-        {
-        iInitialFepUIState = currentState;
-        }
-
-    // If current input mode is Number or Hiragana,
-    // numeric long keypress doesn't operate.
-    if (iMode == ENumber || iMode == EHiragana)
-        {
-        if (IsNumericKey(aKey) && aLength == ELongKeyPress)
-            {
-            return ETrue;
-            }
-        }
-
-    if (iMode == EHiragana)
-        {
-        if( aKey == EPtiKeyStar && aLength == ELongKeyPress)
-            {
-            return ETrue;
-            }
-        }
-    // CBA keypress is valid when input state is Initial, Entry
-    // Predictive input or NextWord.
-    switch (aKey)
-        {
-        case EKeyCBA1:          // ITU-T left softkey
-        case EKeyCBA2:          // ITU-T right softkey
-        case EStdKeyDevice0:    // Qwerty left softkey (=0xa4)
-        case EStdKeyDevice1:    // Qwerty right softkey(=0xa5)
-            // In case of Latin and Number, all characters must be committed.
-            if (iMode != EHiraganaKanji)
-                {
-                CloseUI();
-                }
-            switch (iStatePtr->State())
-                {
-                case EInitial:
-                case EEntry:
-                case EPredictiveInput:
-                case ENextWord:
-                    return EFalse;
-                default:
-                    return ETrue;
-                }
-            //break;  not needed
-        default:
-            // move to next line
-            break;
-        }
-
-    TPtiTextCase oldPtiCaseMode = iPtiEngine->Case();
-    TPtiTextCase caseMode = EPtiCaseLower;
-    TPtiTextCase shiftedCase = caseMode;
-    if (IsQwerty())
-        {
-        caseMode = EPtiCaseLower;
-        if (!FepMan()->IsOnlyNumericPermitted())
-            {
-            caseMode = oldPtiCaseMode;
-            if (iMode & (EHiraganaKanji|EHiragana|EKatakana))
-                {
-                if (CaseMan()->CurrentCase() == EAknEditorTextCase
-                 && caseMode == EPtiCaseUpper
-                 && iStatePtr->State() == EInitial)
-                    {
-                    iPtiEngine->SetCase(EPtiCaseLower);
-                    caseMode = EPtiCaseLower;
-                    oldPtiCaseMode = EPtiCaseLower;
-                    }
-                }
-            else if (iMode == ELatin)
-                {
-                switch (CaseMan()->CurrentCase())
-                    {
-                    case EAknEditorUpperCase:
-                    case EAknEditorTextCase:
-                        caseMode = EPtiCaseUpper;
-                        break;
-                    case EAknEditorLowerCase:
-                    default:
-                        caseMode = EPtiCaseLower;
-                        break;
-                    }
-                }
-            }
-        shiftedCase = caseMode;
-        if ( FepMan()->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode) )
-            {
-            // while pressing Shift key
-            if ( aKey >= EPtiKeyQwertyA && aKey <= EPtiKeyQwertyZ )
-                {
-                shiftedCase = (caseMode != EPtiCaseUpper)? EPtiCaseUpper : EPtiCaseLower;
-                }
-            else
-                {
-                // except alpha key
-                shiftedCase = EPtiCaseUpper;
-                }
-            }
-        else if (!(aKey >= EPtiKeyQwertyA && aKey <= EPtiKeyQwertyZ))
-            {
-            // out of A-Z key
-            shiftedCase = EPtiCaseLower;
-            }
-
-        if (shiftedCase != oldPtiCaseMode)
-            {
-            iPtiEngine->SetCase(shiftedCase);
-            }
-        }
-
-    TBool ret = iStatePtr->HandleKeyL(aKey, aLength);
-    // If the state was changed by keypress event and not handle keypress event,
-    // changed state handle it keypress event.
-    while (!ret && currentState != iFepUiState.State())
-        {
-        // If editor was filled by characters,
-        // don't handle no more numeric keypress or qwerty keypress
-        if (iStatePtr->State() == EInitial
-         && !FepMan()->EditorHasFreeSpace())
-            if (!IsQwerty() && IsNumericKey(aKey))
-                {
-                return ETrue;
-                }
-            else if (IsQwerty() && IsQwertyKey(aKey))
-                {
-                return ETrue;
-                }
-
-        if ( (IsQwerty())
-          && (iPtiEngine->Case() != shiftedCase) )
-            {
-            iPtiEngine->SetCase(shiftedCase);
-            }
-
-        currentState = iFepUiState.State();
-        ret = iFepUiState.HandleKeyL(aKey, aLength);
-        }
-
-    if (IsQwerty())
-        {
-        if (oldPtiCaseMode != iPtiEngine->Case())
-            {
-            iPtiEngine->SetCase(oldPtiCaseMode);
-            }
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerJapanese::CloseUI
-//
-//
-// ---------------------------------------------------------------------------
-//
-void CAknFepUIManagerJapanese::CloseUI()
-    {
-    if (iStatePtr->State() != EInitial)
-        {
-        iStatePtr->CloseUI();
-        if (iStatePtr->State() == EMultiCompletion)
-            {
-            ChangeState(EInitial);
-            }
-        else
-            {
-            // Commit Uncommited string
-            if (iStatePtr->State() != ENextWord)
-                {
-                ChangeState(EMultiCompletion);
-                }
-            TRAP_IGNORE(iStatePtr->HandleCommandL(EAknFepAllCompletion));
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerJapanese::GetFormatOfFepInlineText
-//
-//
-// ---------------------------------------------------------------------------
-//
-void CAknFepUIManagerJapanese::GetFormatOfFepInlineText(TCharFormat& aFormat,
-                                                        TInt& aNumberOfCharactersWithSameFormat,
-                                                        TInt aPositionOfCharacter) const
-    {
-    TRgb highlightColor1 = AKN_LAF_COLOR_STATIC(244);
-    TRgb highlightColor2 = AKN_LAF_COLOR_STATIC(210);
-    TRgb textColor = AKN_LAF_COLOR_STATIC(0);
-    if ((iFepUiState.State() == EEntry)
-     || (iFepUiState.State() == EConversion)
-     || (iFepUiState.State() == ECandidate)
-     || (iFepUiState.State() == ECandidateRetroActive)
-     || (iFepUiState.State() == EPredictiveInput))
-        {
-        const MPtiEngineCompositionDataInterface* data = PtiEngine()->CompositionData();
-        TInt length = 0;
-        TInt clauseCount = 0;
-        TInt preLength = 0;
-        TPtrC8 clauseChar = data->LengthOfPhrase();
-#ifdef __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        if ( clauseChar.Length() )
-           {
-#endif //RD_INTELLIGENT_TEXT_INPUT
-#endif // __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__        
-        for (; length < aPositionOfCharacter; ++clauseCount)
-            {
-            preLength = length;
-            length += clauseChar[clauseCount];
-            }
-        if (length == aPositionOfCharacter)
-            aNumberOfCharactersWithSameFormat = clauseChar[clauseCount];
-        else
-            {
-            --clauseCount;
-            aNumberOfCharactersWithSameFormat = clauseChar[clauseCount]
-                                                + preLength
-                                                - aPositionOfCharacter;
-            }
-        switch (data->AttributeOfPhrase()[clauseCount])
-            {
-            //Input phase
-            case MPtiEngineCompositionDataInterface::EPtiAttributeTransitoryInput:
-                {
-                if (iFlagInlineEditUnderline)
-                    {
-                    aFormat.iFontPresentation.iHighlightColor = highlightColor1;
-                    aFormat.iFontPresentation.iHighlightStyle = TFontPresentation::
-                                                                EFontHighlightNormal;
-                    }
-                else
-                    {
-                    }
-                }
-                break;
-            // Conversion phase(no target phrase)
-            case MPtiEngineCompositionDataInterface::EPtiAttributeNonTargetConvert:
-                {
-                aFormat.iFontPresentation.iHighlightColor = highlightColor1;
-                aFormat.iFontPresentation.iHighlightStyle = TFontPresentation::
-                                                            EFontHighlightNormal;
-                }
-                break;
-            // Conversion phase(target Phrase)
-            case MPtiEngineCompositionDataInterface::EPtiAttributeTargetConvert:
-                {
-                aFormat.iFontPresentation.iTextColor = textColor;
-                aFormat.iFontPresentation.iHighlightColor = highlightColor2;
-                aFormat.iFontPresentation.iHighlightStyle = TFontPresentation::
-                                                            EFontHighlightNormal;
-                }
-                break;
-            default:
-                break;
-#ifdef __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-						}
-#endif // RD_INTELLIGENT_TEXT_INPUT
-#endif // __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__              
-            }
-        }
-        else if (iFepUiState.State() == EMultiCompletion)
-            {
-            const MPtiEngineCompositionDataInterface* data = PtiEngine()->CompositionData();
-            TInt length = data->CompletedString().Length();
-            // Panic in case (aNumberOfCharactersWithSameFormat < 1)
-            if( !(length > 0) )
-               {
-               length = 1;
-               }
-
-            aNumberOfCharactersWithSameFormat = length;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerJapanese::IsValidShiftKeyPress
-//
-//
-// ---------------------------------------------------------------------------
-//
-TBool CAknFepUIManagerJapanese::IsValidShiftKeyPress() const
-    {
-    TBool ret = ETrue;
-    switch (iMode)
-        {
-        case EHiraganaKanji:
-            // ITU-T has to check Edit-key(= Shift-key). If the state is Initial
-            // or NextWord, Edit-key is valid, the other states are invalid.
-            // However, in Qwerty input, shift-key is used for changing Case mode,
-            // so, shift-key is always valid even if the statue is anything.
-            if (!iQwerty)
-                {
-                if (iStatePtr->State() == EInitial || iStatePtr->State()== ENextWord)
-                    {
-                    ret = ETrue;
-                    }
-                else
-                    {
-                    ret = EFalse;
-                    }
-                }
-            break;
-        case EHiragana:
-            ret = EFalse;
-            break;
-        case EKatakana:
-        default:
-            break;
-        }
-
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerJapanese::ChangeState
-//
-//
-// ---------------------------------------------------------------------------
-//
-TUIState CAknFepUIManagerJapanese::ChangeState(TUIState aState)
-    {
-    switch(aState)
-        {
-        case EInitial:
-            {
-            switch(iMode)
-                {
-                case EHiragana:
-                    iFepUiState = TAknFepUiInputStateInitialHiragana(this, UIContainer());
-                    break;
-                case EHiraganaKanji:
-                    iFepUiState = TAknFepUiInputStateInitialHiraganaKanji(this, UIContainer());
-                    break;
-                case EKatakana:
-                    iFepUiState = TAknFepUiInputStateInitialKatakana(this, UIContainer());
-                    break;
-                case ELatin:
-                    {
-                    iFepUiState = TAknFepUiInputStateInitialLatinJapanese(this, UIContainer());
-                    }
-                    break;
-                case ENumber:
-                    iFepUiState = TAknFepUiInputStateInitialFullNumber(this, UIContainer());
-                    break;
-                default:
-                    AknFepPanic(EAknFepPanicBadInputState);
-                    break;
-                }
-            break;
-            }
-        case EEntry:
-            {
-            switch(iMode)
-                {
-                case EHiraganaKanji:
-                   iFepUiState = TAknFepUiInputStateEntryHiraganaKanji(this, UIContainer());
-                   break;
-                case EHiragana:
-                case EKatakana:
-                   iFepUiState = TAknFepUiInputStateEntryKatakana(this, UIContainer());
-                   break;
-                case ELatin:
-                   iFepUiState = TAknFepUiInputStateEntryLatinJapanese(this, UIContainer());
-                   break;
-                case ENumber:
-                   iFepUiState = TAknFepUiInputStateEntryJapaneseMultitap(this, UIContainer());
-                   break;
-                default:
-                    AknFepPanic(EAknFepPanicBadInputState);
-                    break;
-                }
-            }
-            break;
-        case ECandidate:
-            iFepUiState = TAknFepUiInputStateCandidateHiraganaKanji(this, UIContainer());
-            break;
-        case EPredictiveInput:
-            iFepUiState = TAknFepUiInputStatePredictiveInputJapanese(this, UIContainer());
-            break;
-        case EConversion:
-            iFepUiState = TAknFepUiInputStateConversionHiraganaKanji(this, UIContainer());
-            break;
-        case EMultiCompletion: // Only Japanese version uses this flag.
-            switch(iMode)
-                {
-                case EHiraganaKanji:
-                    if(iPredictive)
-                        {
-                        if(iFepUiState.State() == EPredictiveInput ||
-                           iFepUiState.State() == ENextWord)
-                            {
-                            iFepUiState = TAknFepUiInputStateCompletionPredictiveHiraganaKanji(this, UIContainer());
-                            }
-                        else
-                            {
-                            iFepUiState = TAknFepUiInputStateCompletionHiraganaKanji(this, UIContainer());
-                            }
-                        }
-                    else
-                        {
-                        iFepUiState = TAknFepUiInputStateCompletionHiraganaKanji(this, UIContainer());
-                        }
-                    break;
-                case EHiragana:
-                case EKatakana:
-                        {
-                        iFepUiState = TAknFepUiInputStateCompletionKatakana(this, UIContainer());
-                        }
-                    break;
-                case ENumber:
-                    iFepUiState = TAknFepUiInputStateCompletionJapaneseMultitap(this, UIContainer());
-                    break;
-                case ELatin:
-                    iFepUiState = TAknFepUiInputStateCompletionLatinJapanese(this, UIContainer());
-                    break;
-                default:
-                    AknFepPanic(EAknFepPanicBadInputState);
-                    break;
-                }
-                break;
-        case ENextWord: // Only Japanese version uses this flag
-            {
-            switch(iMode)
-                {
-                case EHiraganaKanji:
-                    if(iPredictive)
-                        {
-                        iFepUiState = TAknFepUiInputStateNextWordJapanesePredictive(this, UIContainer());
-                        break;
-                        }
-                default:
-                    AknFepPanic(EAknFepPanicBadInputState);
-                    break;
-                }
-            }
-            break;
-        case ECandidateRetroActive:
-            {
-            switch(iMode)
-                {
-                case EHiraganaKanji:
-                    iFepUiState = TAknFepUiInputStateCandidateRetroActive(this, UIContainer());
-                    break;
-                default:
-                    AknFepPanic(EAknFepPanicBadInputState);
-                    break;
-                }
-            }
-            break;
-        default:
-            AknFepPanic(EAknFepPanicBadInputState);
-        }
-
-    PtiEngine()->SetObserver(&iFepUiState);
-
-#ifdef _DEBUG
-    RDebug::Print(_L("UI Manager: New State: %d"), iFepUiState.State());
-#endif
-    TRAPD(err, iStatePtr->InitializeStateL());
-    if (err != KErrNone)
-        {
-#ifdef _DEBUG
-        RDebug::Print(_L("UI Manager: Setup Error: Mode = %d, State = %d"),
-                      iMode, iStatePtr->State());
-#endif
-        CloseUI();
-        }
-    return iStatePtr->State();
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerJapanese::CandidateArray
-//
-//
-// ---------------------------------------------------------------------------
-//
-CDesCArrayFlat* CAknFepUIManagerJapanese::CandidateArray()
-    {
-    return iCandidateArray;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerJapanese::IsPredictive
-//
-//
-// ---------------------------------------------------------------------------
-//
-TBool CAknFepUIManagerJapanese::IsPredictive() const
-   {
-   return iPredictive;
-   }
-
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerJapanese::SetInlineEditUnderlineVisibility
-//
-//
-// ---------------------------------------------------------------------------
-//
-void CAknFepUIManagerJapanese::SetInlineEditUnderlineVisibility(TBool aFlag)
-    {
-    iFlagInlineEditUnderline = aFlag;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::SetMode
-//
-//
-// ---------------------------------------------------------------------------
-//
-#ifdef __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-void CAknFepUIManagerJapanese::SetMode(TInt aMode, TBool aPredictive, TBool aQwertyInputMode, TInt aKeyboardType)
-#else
-void CAknFepUIManagerJapanese::SetMode(TInt aMode, TBool aPredictive, TBool aQwertyInputMode)
-#endif // RD_INTELLIGENT_TEXT_INPUT
-#else
-void CAknFepUIManagerJapanese::SetMode(TInt aMode, TBool aPredictive, TBool aQwertyInputMode)
-#endif // __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-    {
-    iMode=aMode;
-    iPredictive = aPredictive;
-    iQwerty = aQwertyInputMode;
-    ChangeState(EInitial);
-    }
-
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerJapanese::FepUIState
-//
-//
-// ---------------------------------------------------------------------------
-//
-TAknFepInputStateBase* CAknFepUIManagerJapanese::FepUIState()
-    {
-    return &iFepUiState;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerJapanese::UIContainer
-//
-//
-// ---------------------------------------------------------------------------
-//
-MAknFepUICtrlContainerJapanese* CAknFepUIManagerJapanese::UIContainer() const
-    {
-    return iContainerPane;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerJapanese::CAknFepUIManagerJapanese
-//
-//
-// ---------------------------------------------------------------------------
-//
-CAknFepUIManagerJapanese::CAknFepUIManagerJapanese(MAknFepManagerUIInterface* aFepMan,
-                                                   CAknFepCaseManager* aCaseMan)
-    : CAknFepUIManagerBase(aFepMan, aCaseMan),
-      iFepUiState(NULL,NULL),
-      iFlagInlineEditUnderline(ETrue)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerJapanese::ConstructL
-//
-//
-// ---------------------------------------------------------------------------
-//
-void CAknFepUIManagerJapanese::ConstructL(TLanguage aLanguage)
-    {
-    CAknFepUIManagerBase::ConstructL(aLanguage);
-
-    PtiEngine()->ActivateLanguageL(aLanguage, EPtiEngineInputModeNone);
-
-    iCandidateArray = new(ELeave) CDesCArrayFlat(1);
-    iContainerPane  = FepMan()->UiInterface()->NewAknFepUICtrlContainerJapaneseL(this);
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerJapanese::IsQwerty
-//
-//
-// ---------------------------------------------------------------------------
-//
-TBool CAknFepUIManagerJapanese::IsQwerty() const
-    {
-    return iQwerty;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerJapanese::HandleCommandL
-//
-// ---------------------------------------------------------------------------
-//
-void CAknFepUIManagerJapanese::HandleCommandL(TInt aCommandId)
-    {
-    switch (aCommandId)
-        {
-        case EAknFepSoftkeyCommit:
-        case EAknFepSoftkeySelectCandidate:
-            {
-            TUIState currentState = iFepUiState.State();
-            iStatePtr->HandleCommandL(aCommandId);
-            if (currentState != iFepUiState.State())
-                {
-                if (iFepUiState.State() == EMultiCompletion)
-                    {
-                    iFepUiState.HandleKeyL(EKeyOK, EShortKeyPress);
-                    }
-                }
-            }
-            break;
-        case EAknFepSoftkeyPredictiveOn:
-            {
-            MAknFepManagerUIInterface* fepMan = FepMan();
-            CPtiEngine* ptiEngine = PtiEngine();
-
-            // Update of inline editing characters
-            TPtiEngineInputMode inputmode = (IsQwerty())?
-                        EPtiEngineHiraganaKanjiPredictiveQwerty
-                        : EPtiEngineHiraganaKanjiPredictive;
-            ptiEngine->SetInputMode(inputmode);
-            const MPtiEngineCompositionDataInterface* data = ptiEngine->CompositionData();
-            TPtrC text = data->CompletedString();
-            TPtrC text2 = data->ConvertingString();
-            if (text.Length() >0)
-                {
-                ChangeState(EMultiCompletion);
-                fepMan->CommitInlineEditL(text, text.Length());
-                if (fepMan->EditorHasFreeSpace())
-                    {
-                    ChangeState(ENextWord);
-                    }
-                else
-                    {
-                    CloseUI();
-                    ChangeState(EInitial);
-                    }
-                }
-            else if (text2.Length() > 0)
-                {
-                // Change to Predictive State
-                ChangeState(EPredictiveInput);
-                iPredictive = ETrue;
-                iStatePtr->HandleCommandL(aCommandId);
-                }
-            }
-            break;
-        default:
-            iStatePtr->HandleCommandL(aCommandId);
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerBase::ResourceChanged
-// This API is called when FEP control handles the changing resource event.
-// ---------------------------------------------------------------------------
-//
-void CAknFepUIManagerJapanese::ResourceChanged(TInt /*aType*/)
-    {
-    TRAP_IGNORE( iStatePtr->HandleCommandL(EAknFepResourceChanged));
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepUiManagerKorean.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,285 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:            Provides the CAknFepUIManagerKorean Methods.
-*
-*/
-
-// INCLUDE FILES
-#include <e32svr.h> // RDebug stuff...
-#include <e32keys.h>
-
-#include "AknFepGlobalEnums.h"
-#include "AknFepManagerUIInterface.h"
-#include "AknFepManagerInterface.h"
-#include "AknFepUIManagerStateInterface.h"
-#include "AknFepUiManagerBase.h"
-#include "AknFepUiManagerKorean.h"
-
-// Western input
-#include "AknFepUiInputStateInitialLatinMultitap.h"
-#include "AknFepUiInputStateInitialNumber.h"
-
-//Korean input
-#include "AknFepUiInputStateInitialKoreanMultitap.h"
-#include "AknFepUiInputStateQwertyKorean.h"
-#include "AknFepPanic.h"
-
-#include <AknIndicatorContainer.h>  // CAknIndicatorContainer::TIndicatorContext
-#include <PtiEngine.h> 
-#include <PtiDefs.h>
-
-// CONSTANTS
-
-/**
- *  CAknFepUIManagerKorean class.
- * 
- */
-
-//============================ MEMBER FUNCTIONS ==============================
-
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerKorean::NewL
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-CAknFepUIManagerKorean* CAknFepUIManagerKorean::NewL(MAknFepManagerUIInterface* aFepMan, CAknFepCaseManager* aCaseMan, TLanguage aLanguage)
-    {   
-    CAknFepUIManagerKorean* self = new(ELeave)CAknFepUIManagerKorean(aFepMan, aCaseMan);
-    CleanupStack::PushL(self);
-    self->ConstructL(aLanguage);
-    CleanupStack::Pop();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerKorean::~CAknFepUIManagerKorean
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-CAknFepUIManagerKorean::~CAknFepUIManagerKorean()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerKorean::HandleKeyL
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CAknFepUIManagerKorean::HandleKeyL( TInt aKey, TKeyPressLength aLength,
-		                                  TEventCode /*aEventCode*/ )
-    {
-    TUIState currentState = iFepUiState.State();
-    if (aLength == EShortKeyPress)
-        {
-        iInitialFepUIState = currentState;
-        }
-
-    if(!iStatePtr->HandleKeyL(aKey, aLength))
-        {       
-        if(currentState != iStatePtr->State()) //Check to see if we've changed state.
-            {
-			return iStatePtr->HandleKeyL(aKey, aLength);                                     
-            }
-        return EFalse; // we've failed to handle it..       
-        }
-    return ETrue; //we're ok.
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerKorean::CloseUI
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-void CAknFepUIManagerKorean::CloseUI()
-    {
-    ChangeState(EInitial);
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerKorean::SupportLanguage
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CAknFepUIManagerKorean::SupportLanguage(TInt aMode) const
-    {
-    TInt lang = iLanguage;
-    switch (aMode)
-        {
-        case ELatin:
-            {
-            lang = ELangEnglish;
-            }
-            break;
-        case EHangul:
-        case ENumeric:
-        default:
-            break;
-        }
-    return lang;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerKorean::ActivateUI
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-void CAknFepUIManagerKorean::ActivateUI()
-    {
-    ChangeState(EEntry);
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerKorean::ChangeState
-// 
-// 
-// ---------------------------------------------------------------------------
-// MAknFepUIManagerStateInterface
-TUIState CAknFepUIManagerKorean::ChangeState(TUIState aState)
-    {
-    switch(aState)
-        {
-        case EInitial:
-            {
-            switch(iMode)
-                {
-                case ELatin:
-                    {
-                    iFepUiState = TAknFepInputStateInitialLatinMultitap(this);
-                    break;               
-                    }
-                case EHangul:
-                	{
-                    iFepUiState = TAknFepInputStateInitialKoreanMultitap(this);	         
-                	break;
-                	}
-                case ENumber:
-                case ENativeNumber:
-                    {
-                    //Map directly to the resources...
-                    iFepUiState = TAknFepInputStateInitialNumber(this);
-                    break;
-                    }
-                default:
-                    AknFepPanic(EAknFepPanicBadInputState);
-                    break;
-                }
-            break;
-            }
-        case EEntry:
-            {
-            switch(iMode)
-                {
-                default:
-                    AknFepPanic(EAknFepPanicBadInputState);
-                    break;
-                }
-            break;  
-            }   	
-        case ECandidate:
-        	{
-        	switch(iMode)
-        		{
-        		default:
-                    AknFepPanic(EAknFepPanicBadInputState);
-                    break;
-        		}
-        	break;
-        	}
-        	
-        case EPredictiveCandidate:
-        	{
-        	switch(iMode)
-        		{
-        		default:
-                    AknFepPanic(EAknFepPanicBadInputState);
-                    break;
-        		}
-            break;
-        	}
-        	
-        case EQwerty:
-            {
-            switch(iMode)
-                {
-                case ELatin:
-                    {
-                    iFepUiState = TAknFepInputStateQwertyKorean(this);
-                    break;               
-                    }
-                default:
-			AknFepPanic(EAknFepPanicBadInputState);	
-           	break;
-                }
-               break;
-            }
-            
-        case EPredictiveInput:
-            AknFepPanic(EAknFepPanicBadInputState);
-            break;
-            
-        default:
-            AknFepPanic(EAknFepPanicBadInputState);
-         	break;   
-        }
-    
-    iPtiEngine->SetObserver(&iFepUiState);
-#ifdef _DEBUG
-    RDebug::Print(_L("UI Manager: New State: %d"), iFepUiState.State());
-#endif
-    return iStatePtr->State();
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerKorean::CAknFepUIManagerKorean
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-CAknFepUIManagerKorean::CAknFepUIManagerKorean(MAknFepManagerUIInterface* aFepMan, CAknFepCaseManager* aCaseMan)
-    : CAknFepUIManagerBase(aFepMan, aCaseMan),
-      iFepUiState(NULL)
-
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerKorean::ConstructL
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-void CAknFepUIManagerKorean::ConstructL(TLanguage aLanguage)
-    {   
-    CAknFepUIManagerBase::ConstructL(aLanguage);
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerKorean::FepUIState
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-TAknFepInputStateBase* CAknFepUIManagerKorean::FepUIState()
-    {
-    return &iFepUiState;
-    }
-    
-// End of file
--- a/fep/aknfep/src/AknFepUiManagerWestern.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,710 +0,0 @@
-/*
-* Copyright (c) 2003-2004 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:           
-*       Provides the CAknFepUIManagerWestern methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include <e32svr.h> // RDebug stuff...
-#include <e32keys.h>
-#include <AknsUtils.h>
-
-#include "AknFepGlobalEnums.h"
-#include "AknFepManagerUIInterface.h"
-#include "AknFepManagerInterface.h"
-#include "AknFepUIManagerStateInterface.h"
-#include "AknFepUiManagerBase.h"
-#include "AknFepUiManagerWestern.h"
-
-// Western input
-#include "AknFepUiInputStateInitialLatinMultitap.h"
-#include "AknFepUiInputStateInitialNumber.h"
-#include "AknFepUiInputStateInitialWesternPredictive.h"
-#include "AknFepUiInputStateEntryWesternPredictive.h"
-#include "AknFepUiInputStateInitialHalfQwertyWesternPredictive.h"
-#include "AknFepUiInputStateEntryHalfQwertyWesternPredictive.h"
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-// Predictive QWERTY changes ---->
-#include "AknFepUiInputStateInitialQwertyWesternPredictive.h"
-#include "AknFepUiInputStateEntryQwertyWesternPredictive.h"
-// Predictive QWERTY changes <----
-#endif //RD_INTELLIGENT_TEXT_INPUT
-#include "AknFepPluginManager.h"
-
-// Arabic & Hebrew input
-#include "AknFepUiInputStateInitialArabicHebrewMultitap.h"
-#include "AknFepUiInputStateInitialArabicHebrewPredictive.h"
-#include "AknFepUiInputStateEntryArabicHebrewPredictive.h"
-
-// Thai input
-#include "AknFepUIInputStateInitialThaiMultitap.h"
-#include "AknFepUiInputStateInitialThaiPredictive.h"
-#include "AknFepUiInputStateEntryThaiPredictive.h"
-
-#include "AknFepThaiSCTSelector.h"
-
-//Hindi Input
-#include "AknFepUIInputStateInitialIndicMultitap.h"
-#include "AknFepUiInputStateInitialIndicPredictive.h"
-#include "AknFepUiInputStateEntryIndicPredictive.h"
-#include "AknFepUiIndicInputManager.h"
-
-// Qwerty input
-#include "AknFepUiInputStateQwerty.h"
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-#include "AknFepUiInputStateHalfQwerty.h"
-#endif
-
-#ifdef RD_HINDI_PHONETIC_INPUT	
-#include "aknfepuiinputstateinitialindicphoneticmultitap.h"
-#include "aknfepuiinputstateindicphoneticqwerty.h"
-#endif
-// Vietnamese input
-#include "AknFepUIInputStateInitialVietnameseMultitap.h"
-#include "AknFepVietnameseToneManager.h"
-#include "AknFepUiInputStateEntryVietnamesePredictive.h"
-#include "AknFepCaseManager.h"
-#include "AknFepPanic.h"
-
-// Japanese input
-#include "AknFepUiInputStateEntryWesternPredictiveJp.h"
-
-#include <AknIndicatorContainer.h>  // CAknIndicatorContainer::TIndicatorContext
-#include <PtiEngine.h> 
-#include <PtiDefs.h>
-#include <PtiUserDicEntry.h>
-#include <aknfep.rsg>
-// CONSTANTS
-
-/**
- *  CAknFepUIManagerWestern class.
- * 
- */
-
-//============================ MEMBER FUNCTIONS ==============================
-
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerWestern::NewL
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-CAknFepUIManagerWestern* CAknFepUIManagerWestern::NewL(MAknFepManagerUIInterface* aFepMan, 
-                                                       CAknFepCaseManager* aCaseMan, 
-                                                       TLanguage aLanguage)
-    {   
-    CAknFepUIManagerWestern* self = new(ELeave)CAknFepUIManagerWestern(aFepMan, aCaseMan);
-    CleanupStack::PushL(self);
-    self->ConstructL(aLanguage);
-    CleanupStack::Pop();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerWestern::~CAknFepUIManagerWestern
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-CAknFepUIManagerWestern::~CAknFepUIManagerWestern()
-    {
-    delete iAknFepThaiSCTSelector;
-    delete iVietToneMarkMgr;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerWestern::HandleKeyL
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CAknFepUIManagerWestern::HandleKeyL( TInt aKey, TKeyPressLength aLength, 
-		                                   TEventCode /*aEventCode*/ )
-    {
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    // The implementation is anyway identical with the base class, so we can
-    // as well call the base implementation.
-    return CAknFepUIManagerBase::HandleKeyL(aKey, aLength);
-#else    
-    TUIState currentState = iFepUiState.State();
-    if (aLength == EShortKeyPress)
-        {
-        iInitialFepUIState = currentState;
-        }
-
-    if(!iStatePtr->HandleKeyL(aKey, aLength))
-        {
-        if(currentState != iStatePtr->State()) //Check to see if we've changed state.
-            {
-            return iStatePtr->HandleKeyL(aKey, aLength);
-            }
-        return EFalse; // we've failed to handle it..
-        }
-    return ETrue; //we're ok.
-#endif // RD_INTELLIGENT_TEXT_INPUT  
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerWestern::CloseUI
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-void CAknFepUIManagerWestern::CloseUI()
-    {
-    ChangeState(EInitial);
-    }
-
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerWestern::AddTextToUserDictionaryL
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-void CAknFepUIManagerWestern::AddTextToUserDictionaryL(const TDesC& aText)
-    {
-    HBufC* udbTextBuf = HBufC::NewLC(CAknFepManager::EMaximumFepWordLength); // buffer for text
-    TPtr udbText=udbTextBuf->Des();
-    TChar ch;
-
-    TInt textLengthToAdd = Min((TInt)CAknFepManager::EMaximumFepWordLength, aText.Length());
-
-    for (TInt ii=0; ii < textLengthToAdd; ii++)
-        {
-        ch = STATIC_CAST(TChar, aText[ii]);
-        udbText.Append(ch);
-        if (ch.IsSpace() || ii == textLengthToAdd-1)
-            {
-            if (ch.IsSpace())
-                {
-                udbText.Delete(udbText.Length()-1, CAknFepManager::ESingleCharacter);
-                }
-            if (udbText.Length())
-                {
-                // add the contents of udbText to the user dictionary.
-                CPtiEngine* ptiengine = PtiEngine();
-                TPtiUserDictionaryEntry newUdbEntry(udbText);
-                TPtiEngineInputMode currentInputMode = ptiengine->InputMode();
-                // PtiEngine needs to be in predictive mode when the word is added to UDB.
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-                if(iQwertyInputMode)
-	                {
-#ifdef __HALF_QWERTY_KEYPAD	              
-                	if( EPtiKeyboardHalfQwerty == iFepMan->KeyboardLayout())
-                		{
-                		ptiengine->SetInputMode( EPtiEngineHalfQwertyPredictive );
-                		}
-                	else	
-#endif //__HALF_QWERTY_KEYPAD                	
-						{
-						ptiengine->SetInputMode(EPtiEngineQwertyPredictive );	
-						}
-	                } 	                
-                else
-#endif //RD_INTELLIGENT_TEXT_INPUT
-	                {
-					ptiengine->SetInputMode(EPtiEnginePredictive);	                	
-	                }
-                ptiengine->AddUserDictionaryEntry(newUdbEntry);
-                ptiengine->SetInputMode(currentInputMode);
-                }
-            udbText.Zero();
-            }
-        }
-    CleanupStack::PopAndDestroy();  // udbTextBuf
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerWestern::GetFormatOfFepInlineText
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-void CAknFepUIManagerWestern::GetFormatOfFepInlineText(TCharFormat& aFormat, 
-                                                       TInt& aNumberOfCharactersWithSameFormat, 
-                                                       TInt aPositionOfCharacter) const
-    {
-    if ( (iPredictive && iFepUiState.State() == EEntry ) 
-#ifdef RD_HINDI_PHONETIC_INPUT    
-//adding condition to underline uncommitted text for hindi phonetic
-    	  || TAknFepUiIndicInputManager :: IsIndicPhoneticLanguage( ( TLanguage )iLanguage )
-#endif
-       )   // EInitial???
-        {
-        aFormat.iFontPresentation.iUnderline = EUnderlineOn;
-        if (iFepMan->IsFlagSet(CAknFepManager::EFlagNoMatches))
-            {
-            aFormat.iFontPresentation.iHighlightStyle = 
-                                             TFontPresentation::EFontHighlightNoMatchesIndicator;
-            }
-        TCursorSelection uncommit = iFepMan->UncommittedText();
-        TInt lengthOfRemainderOfInlineText = uncommit.Length()-aPositionOfCharacter;
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-        if(iFepMan->IsAutoCompleteOn())
-        	{
-        	// For AutoWord Completion - the suggested completion has to be gray slated
-        	CPtiEngine* ptiengine = PtiEngine();
-        	TInt actualLength = (ptiengine->CurrentInputSequence()).Length();
-        
-	        if(lengthOfRemainderOfInlineText>0)
-		        {   
-      		    if(actualLength < lengthOfRemainderOfInlineText)
-			        {
-			        if(iLanguage == ELangHindi)
-			        	{
-			        	TBuf<CAknFepManager::EMaximumFepWordLength> currentWord(ptiengine->CurrentWord());	//
-			        // AutoComplete - Fix - Begin
-			        	if(actualLength < currentWord.Length())
-			        		{
-			        		TUint currentchar = TUint(currentWord[actualLength]);
-			    			while((TAknFepUiIndicInputManager::IsIndicDependantCharacter(currentchar, iLanguage)))
-				    			{
-				    			actualLength++;
-				    			if(!(actualLength < currentWord.Length()))
-				    			break;
-				    			currentchar = TUint(currentWord[actualLength]);
-				    			}
-	        		// AutoComplete - Fix - Begin			        	
-				    		}
-			        	}
-			        }
-        
-		        if (aPositionOfCharacter<actualLength && (lengthOfRemainderOfInlineText>0))
-			        {
-			        aFormat.iFontPresentation.iUnderline = EUnderlineOn;
-			        aNumberOfCharactersWithSameFormat = actualLength;
-			        }
-				else
-			        {	
-			        // Display the autocompleted text in gray colour
-			        TRgb autoTextColor; 
-			        MAknsSkinInstance *skin = AknsUtils::SkinInstance();
-			        TInt err = AknsUtils::GetCachedColor( skin, autoTextColor, KAknsIIDQsnTextColors, 
-                                                    EAknsCIQsnTextColorsCG64 );
-			        if (!err)
-			            {
-			            aFormat.iFontPresentation.iTextColor = autoTextColor;
-			            }
-			        else
-			            {
-			            // In case of error occurs, display text in hardcoded slate gray color
-			            aFormat.iFontPresentation.iTextColor = KSLATEGRAY; 			            
-			            }
-			            			        
-			        aNumberOfCharactersWithSameFormat=lengthOfRemainderOfInlineText;
-			       	}
-	            }
-	        }
-        else
-#endif
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-// Predictive QWERTY (XT9) changes ---->
-        TInt wordLength = uncommit.Length();
-        if ( lengthOfRemainderOfInlineText > 0 )
-           {
-            TInt tailLength = 0;
-            //TInt err = PtiEngine()->HandleCommandL( EPtiCommandGetAutoCompletionTailLength, &tailLength );
-            TRAP_IGNORE( PtiEngine()->HandleCommandL( 
-            									EPtiCommandGetAutoCompletionTailLength,
-            									&tailLength ));
-
-            if ( aPositionOfCharacter < wordLength-tailLength )
-    	        {
-    			aFormat.iFontPresentation.iUnderline = EUnderlineOn;
-    			aNumberOfCharactersWithSameFormat = lengthOfRemainderOfInlineText-tailLength;
-                }
-            else
-                {
-                aFormat.iFontPresentation.iUnderline = EUnderlineOff;
-                aFormat.iFontPresentation.iTextColor = KSLATEGRAY;
-	            aNumberOfCharactersWithSameFormat=lengthOfRemainderOfInlineText;
-	            }
-            }
-#else
-#ifdef RD_HINDI_PHONETIC_INPUT
-			//for phonetic, space character needs to be checked explicitly so that it is not underlined
-			//for predictive when space is entered it gets committed and changes to initial state, hence check is not present
-             if(TAknFepUiIndicInputManager :: IsIndicPhoneticLanguage( ( TLanguage )iLanguage )	)
-             	{
-             		TChar tempChar(0);
-             		iFepUiState.GetPhoneticLatinChar(tempChar);
-             		if(tempChar.IsSpace())
-             		    aFormat.iFontPresentation.iUnderline = EUnderlineOff;
-	            }	
-	#else
-        	if (lengthOfRemainderOfInlineText>0)                   
-	            {
-	            aFormat.iFontPresentation.iUnderline = EUnderlineOn;
-	            aNumberOfCharactersWithSameFormat=lengthOfRemainderOfInlineText;
-		            }	
-	#endif	            
-// Predictive QWERTY (XT9) changes <----
-#endif //RD_INTELLIGENT_TEXT_INPUT
-            }
-        }
-
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerWestern::SupportLanguage
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CAknFepUIManagerWestern::SupportLanguage(TInt aMode) const
-    {
-    TInt lang = iLanguage;
-    switch (aMode)
-        {
-        case ELatin:
-            {
-            if ( iLanguage == ELangTaiwanChinese ||
-                 iLanguage == ELangHongKongChinese ||
-                 iLanguage == ELangPrcChinese ||
-                 iLanguage == ELangJapanese || 
-                 iLanguage == ELangHindi )
-                {
-                // Chinese and Japanese languages uses always English as a latin language.
-                lang = ELangEnglish;
-                }
-            else
-                {
-                lang = iLanguage;
-                }
-            }
-            break;
-        case ENumber:
-            {
-            if ( iLanguage == ELangJapanese )
-                {
-                // Japanese languages uses always English as a number language for qwerty.
-                lang = ELangEnglish;
-                }
-            else
-                {
-                lang = iLanguage;
-                }
-            }
-            break;
-        case EHindi:
-        case ENativeNumber:
-            lang = iLanguage;
-            break;
-        
-            
-        default:
-            break;
-        }
-    return lang;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerWestern::ActivateUI
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-void CAknFepUIManagerWestern::ActivateUI()
-    {
-    ChangeState(EEntry);
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerWestern::ChangeState
-// 
-// 
-// ---------------------------------------------------------------------------
-// MAknFepUIManagerStateInterface
-TUIState CAknFepUIManagerWestern::ChangeState(TUIState aState)
-    {
-#ifdef RD_SCALABLE_UI_V2    
-    if (iFepMan->PluginUIManager() &&
-        iFepMan->PluginUIManager()->IsMatchState() && 
-        !iFepMan->PluginUIManager()->IsSpellVisible())
-        {
-        //TRAP_IGNORE(iFepMan->UpdateCbaL(R_AKNFEP_SOFTKEYS_FINGER));
-        iFepMan->PluginUIManager()->SetFingerMatchSelectionState(EFalse);
-        }
-        
-    // For addition of ITI features on FSQ
-    // When candidate list on FSQ is opened, some HW keys may cause state change,
-    // e.g. left/right keys, need to hide candidate list
-    if ( iFepMan->PluginUIManager() 
-         && iFepMan->PluginUIManager()->EnableITIOnFSQ() )
-        {
-        TRAP_IGNORE( iFepMan->PluginUIManager()->HideCandidateListL() );
-        }
-    
-#endif //RD_SCALABLE_UI_V2
-    switch(aState)
-        {
-        case EInitial:
-            {
-            switch(iMode)
-                {
-                case ELatin:
-                    {
-                    if (iPredictive)
-                        {
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-                        // Predictive QWERTY (XT9) changes ---->
-                        if (iQwertyInputMode)
-                            {
-#ifdef __HALF_QWERTY_KEYPAD
-                            if( EPtiKeyboardHalfQwerty == iFepMan->KeyboardLayout())
-                                {
-                                iFepUiState = TAknFepUiInputStateInitialHalfQwertyWesternPredictive( this );
-                                }
-                            else
-#endif // Half Qwerty
-                            iFepUiState = TAknFepInputStateInitialQwertyWesternPredictive(this);
-                            } // Predictive QWERTY (XT9) changes <----
-                        else 
-#endif // RD_INTELLIGENT_TEXT_INPUT
-                        if (  iLanguage == ELangArabic || iLanguage == ELangHebrew 
-                           || iLanguage == ELangFarsi  || iLanguage == ELangUrdu )
-                            {
-                            iFepUiState = TAknFepInputStateInitialArabicHebrewPredictive(this);
-                            }
-                        else if (iLanguage == ELangThai)
-                            {
-                            iFepUiState = TAknFepInputStateInitialThaiPredictive(this);
-                            }
-                        // Indic Script
-                        else
-                            {
-                            iFepUiState = TAknFepInputStateInitialWesternPredictive(this);
-                            }
-                        }
-                    else
-                        {
-                        if (  iLanguage == ELangArabic || iLanguage == ELangHebrew 
-                           || iLanguage == ELangFarsi  || iLanguage == ELangUrdu )
-                            {
-                            iFepUiState = TAknFepInputStateInitialArabicHebrewMultitap(this);
-                            }
-                        else if (iLanguage == ELangThai)
-                            {
-                            iFepUiState = TAknFepInputStateInitialThaiMultitap(this);
-                            }
-                        /* Indic Script */
-
-#ifdef RD_HINDI_PHONETIC_INPUT	
-        
-                        else if(TAknFepUiIndicInputManager :: IsIndicPhoneticLanguage( 
-                                                            ( TLanguage )iLanguage ) )
-                        {
-                        iFepUiState = TAknFepInputStateInitialIndicPhoneticMultitap(
-                                                            this, KLangHindiPhonetic);	
-                        }
-#endif    
-                        else if(iLanguage == ELangVietnamese)
-                            {
-                            iFepUiState = TAknFepInputStateInitialVietnameseMultitap(this);
-                            }
-                        else
-                            {
-                            iFepUiState = TAknFepInputStateInitialLatinMultitap(this);
-                            }
-                        }
-                    }
-                    break;
-                case EHindi:
-                    iFepUiState = TAknFepInputStateInitialIndicMultitap(this, iLanguage);
-                    break;
-                case ENumber:
-                case ENativeNumber:
-                    {
-                    // Map directly to the resources...
-                    iFepUiState = TAknFepInputStateInitialNumber(this);
-                    break;
-                    }
-                default:
-                    AknFepPanic(EAknFepPanicBadInputState);
-                }
-            break;
-            }
-        case EEntry:
-            {
-            switch(iMode)
-                {
-                case ELatin:
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-                        // Predictive QWERTY (XT9) changes ---->
-                        if (iQwertyInputMode)
-                            {
-#ifdef __HALF_QWERTY_KEYPAD
-                            if( EPtiKeyboardHalfQwerty == iFepMan->KeyboardLayout())
-                                {
-                                iFepUiState = TAknFepUiInputStateEntryHalfQwertyWesternPredictive( this );
-                                }
-                            else
-#endif // Half Qwerty
-	                        iFepUiState = TAknFepInputStateEntryQwertyWesternPredictive(this);
-                            } // Predictive QWERTY (XT9) changes <----
-                        else 
-#endif // RD_INTELLIGENT_TEXT_INPUT
-                    if (  iLanguage == ELangArabic || iLanguage == ELangHebrew 
-                       || iLanguage == ELangFarsi  || iLanguage == ELangUrdu)
-                        {
-                        iFepUiState = TAknFepInputStateEntryArabicHebrewPredictive(this);
-                        }
-                    else if (iLanguage == ELangThai)
-                        {
-                        iFepUiState = TAknFepInputStateEntryThaiPredictive(this);
-                        }
-					/* Indic Script */
-                    else if (iLanguage == ELangVietnamese)
-                        {
-                        iFepUiState = TAknFepInputStateEntryVietnamesePredictive(this);
-                        }
-                    else if (iLanguage == ELangJapanese)
-                        {
-                        iFepUiState = TAknFepInputStateEntryWesternPredictiveJp(this);
-                        }
-                    else
-                        {
-                        iFepUiState = TAknFepInputStateEntryWesternPredictive(this);
-                        }
-                    break;
-                case EHindi:
-                    iFepUiState = TAknFepInputStateEntryIndicPredictive(this, iLanguage);
-                    break;
-                default:
-                    AknFepPanic(EAknFepPanicBadInputState);
-                    break;
-                }
-            }
-            break;
-        case EQwerty:
-#ifdef RD_HINDI_PHONETIC_INPUT	
-        
-        	if(iLanguage == KLangHindiPhonetic)
-        		{
-        		iFepUiState = TAknFepInputStateIndicPhoneticQwerty(this);	
-        		}
-        	else
-        		{
-#endif
-            iFepUiState = TAknFepInputStateQwerty(this);
-#ifdef RD_HINDI_PHONETIC_INPUT	
-      
-        		}
-#endif
-            break;
-#ifdef RD_INTELLIGENT_TEXT_INPUT            
-        case EHalfQwerty:
-             iFepUiState = TAknFepInputStateHalfQwerty(this);        
-             break;    
-#endif             
-        case ECandidate:
-            AknFepPanic(EAknFepPanicBadInputState);
-            break;
-        case EPredictiveCandidate:
-            {
-            AknFepPanic(EAknFepPanicBadInputState);
-            }
-            break;
-        case EPredictiveInput:
-            AknFepPanic(EAknFepPanicBadInputState);
-            break;
-        default:
-            AknFepPanic(EAknFepPanicBadInputState);
-        }
-    
-    iPtiEngine->SetObserver(&iFepUiState);
-#ifdef _DEBUG
-    RDebug::Print(_L("UI Manager: New State: %d"), iFepUiState.State());
-#endif
-    return iStatePtr->State();
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerWestern::ThaiSCTResourceId
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CAknFepUIManagerWestern::ThaiSCTResourceId(TUint aPrewChar,TInt aKey)
-    {
-    TInt resourceId = 0;
-    if (iAknFepThaiSCTSelector)
-        {
-        resourceId = iAknFepThaiSCTSelector->ThaiSCRResourceId(aPrewChar,aKey);
-        }
-    return resourceId;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerWestern::VietnameseToneManager
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-CAknFepVietnameseToneManager* CAknFepUIManagerWestern::VietnameseToneManager() const
-    {
-    return iVietToneMarkMgr;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerWestern::CAknFepUIManagerWestern
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-CAknFepUIManagerWestern::CAknFepUIManagerWestern(MAknFepManagerUIInterface* aFepMan, 
-                                                 CAknFepCaseManager* aCaseMan)
-    : CAknFepUIManagerBase(aFepMan, aCaseMan),
-      iFepUiState(NULL)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerWestern::ConstructL
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-void CAknFepUIManagerWestern::ConstructL(TLanguage aLanguage)
-    {   
-    CAknFepUIManagerBase::ConstructL(aLanguage);
-    iAknFepThaiSCTSelector = CAknFepThaiSCTSelector::NewL();
-    iVietToneMarkMgr = CAknFepVietnameseToneManager::NewL();
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUIManagerWestern::FepUIState
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-TAknFepInputStateBase* CAknFepUIManagerWestern::FepUIState()
-    {
-    return &iFepUiState;
-    }
-
-// End of file
--- a/fep/aknfep/src/AknFepVietnameseToneManager.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-/*
-* 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:          
-*
-*/
-
-
-
-
-
-
-
-
-
-
-#include "AknFepVietnameseToneManager.h"
-#include "AknFepManager.h"
-
-
-CAknFepVietnameseToneManager::CAknFepVietnameseToneManager()
-    {
-    }
-
-CAknFepVietnameseToneManager::~CAknFepVietnameseToneManager()
-    {
-    }
-
-CAknFepVietnameseToneManager* CAknFepVietnameseToneManager::NewL()
-    {
-    CAknFepVietnameseToneManager* self = new (ELeave) CAknFepVietnameseToneManager;
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;
-    }
-
-void CAknFepVietnameseToneManager::ConstructL()
-    {
-    }
-
-void CAknFepVietnameseToneManager::StopToneMarkLooping()
-    {
-    iToneIndex = 0;
-    iVowelIndex = 0;
-    iIsLooping = EFalse;
-    }
-
-TBool CAknFepVietnameseToneManager::StartToneMarkLooping()
-    {
-    __ASSERT_DEBUG(iFepMan != NULL, 
-        RDebug::Print(
-        _L("In CAknFepVietnameseToneManager::StartLooping,\nINVALID PARAM: Empty Fep Manager!")));
-
-    StopToneMarkLooping();
-
-    const TText prevChr = iFepMan->PreviousChar();
-    
-    // Judge if the prevChr is a vowel or not
-    for (TUint i = 0; i < sizeof(VietVowelList) / sizeof(TText); ++i)
-        {
-        if (prevChr == VietVowelList[i])
-            {
-            iIsLooping = ETrue;
-            iVowelIndex = i;
-            break;
-            }
-        }
-
-    return iIsLooping;
-    }
-
-TText CAknFepVietnameseToneManager::GetVowelWithToneMark() const
-    {
-    // First vowel row lists those tone marks themselves
-    return VietToneMatrix[iVowelIndex+1][iToneIndex];
-    }
--- a/fep/aknfep/src/AknFepZhuyinAnalyser.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,481 +0,0 @@
-/*
-* 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:            Implementation of the vkb data manager
- *
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// system includes
-
-
-// user includes
-#include "AknFepZhuyinAnalyser.h"
-#include "AknFepZhuyinAnalyserDb.h"
-
-class TSpellBand
-    {
-public:
-    int iStart;
-    int iCount;
-    };
-
-class TSpellAnalysis : public TPriQueLink
-    {
-public:
-    RArray<TInt> iSeparators;
-    TSpellAnalysis( )
-        {
-        iPriority = -0x10000;
-        }
-    ~TSpellAnalysis( )
-        {
-        iSeparators.Close( );
-        }
-
-    TSpellAnalysis( const TSpellAnalysis& aSource )
-        {
-        iPriority = aSource.iPriority;
-        for (TInt i = 0; i < aSource.iSeparators.Count( ); ++i )
-            {
-            iSeparators.Append( aSource.iSeparators[i] );
-            }
-        }
-    void Calculate( )
-        {
-        iPriority = (iSeparators.Count() + 1) << 16;
-        TInt multi = 12;
-        for (TInt i = 0; i < iSeparators.Count(); ++i )
-            {
-            iPriority += ( 6 - iSeparators[i]) << multi;
-            if ( multi >= 3 )
-                {
-                multi -= 3;
-                }
-            }
-        iPriority = -iPriority;
-        }
-    TInt GetStartPos( )
-        {
-        if ( iSeparators.Count() == 0 )
-            {
-            return 0;
-            }
-        else
-            {
-            return iSeparators[ iSeparators.Count() - 1 ];
-            }
-        }
-    void AddSeparator( TInt aPos )
-        {
-        iSeparators.Append( aPos );
-        Calculate( );
-        }
-    };
-
-// -----------------------------------------------------------------------------
-// CAknFepVkbPinyinAnalyser::CAknFepVkbPinyinAnalyser
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CAknFepZhuyinAnalyser::CAknFepZhuyinAnalyser( )
-    {
-    iAnalysisFlag = EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepVkbPinyinAnalyser::NewL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CAknFepZhuyinAnalyser* CAknFepZhuyinAnalyser::NewL( CZhuyinAnalyserDbFeed* aDb )
-    {
-    CAknFepZhuyinAnalyser* self = new ( ELeave ) CAknFepZhuyinAnalyser();
-    CleanupStack::PushL( self );
-    self->ConstructL( aDb );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepVkbPinyinAnalyser::~CAknFepVkbPinyinAnalyser
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CAknFepZhuyinAnalyser::~CAknFepZhuyinAnalyser( )
-    {
-    delete []iParagraph;
-    delete []iSpellLibrary;
-    delete iLastResult;
-    delete iDb;
-    }
-
-void CAknFepZhuyinAnalyser::ConstructL( CZhuyinAnalyserDbFeed* aDb )
-    {
-    ASSERT( aDb != NULL );
-    iDb = aDb;
-
-    TInt length = iDb->GetSpellCount( );
-
-    iSpellLibrary = new(ELeave) TPtrC[length];
-    for (TInt i = 0; i < length; ++i )
-        {
-        iSpellLibrary[i].Set( aDb->GetSpellByIndex( i ) );
-        }
-
-    TInt current = 0;
-    TInt pinyinElementCount = iDb->GetSpellElementCount( );
-    iParagraph = new(ELeave) TSpellBand[pinyinElementCount];
-    iParagraph[current].iStart = 0;
-    for (TInt i = 0; i < length; ++i )
-        {
-        if ( iSpellLibrary[i][0] != iDb->GetSpellElementByIndex( current ) )
-            {
-            iParagraph[current].iCount = i - iParagraph[current].iStart;
-            current++;
-            iParagraph[current].iStart = i;
-            while (iSpellLibrary[i][0]
-                != iDb->GetSpellElementByIndex( current ) )
-                {
-                iParagraph[current].iCount = 0;
-                current ++;
-                iParagraph[current].iStart = i;
-                }
-            }
-        }
-
-    iParagraph[current].iCount = length - iParagraph[current].iStart;
-
-    }
-
-HBufC* CAknFepZhuyinAnalyser::LastAnalysisResult( )
-    {
-    return iLastResult;
-    }
-
-TBool CAknFepZhuyinAnalyser::AnalyzeL( const TDesC& aInputString )
-    {
-    delete iLastResult;
-    iLastResult = NULL;
-
-    iLastResult = HBufC::NewL( aInputString.Length( ) * 2 );
-
-    if ( aInputString.Length( ) < 1 )
-        {
-        return ETrue;
-        }
-
-    if ( aInputString.Length( ) == 1 )
-        {
-        iLastResult->Des().Append( aInputString[0] );
-        if ( iDb->IsFirstElement( aInputString[0] ) )
-            {
-            return ETrue;
-            }
-        else
-            {
-            return EFalse;
-            }
-        }
-
-    if ( !iDb->IsFirstElement( aInputString[0] ) )
-        {
-        iLastResult->Des().Append( aInputString );
-        return EFalse;
-        }
-
-    int first = 0, second = 1;
-    TBool seriateTonemark = EFalse;
-    for (; second < aInputString.Length( ); first++, second++ )
-        {
-        if ( iDb->IsToneMark( aInputString[first], aInputString[second] ) )
-            {
-            iLastResult->Des().Append( aInputString );
-            seriateTonemark = ETrue;
-            break;
-            }
-        }
-
-    first = 0;
-    second = 1;
-    int previous = 0;
-    iAnalysisFlag = ETrue;
-    //rough spilit
-    for (; second < aInputString.Length( ) && !seriateTonemark; first++, second++ )
-        {
-        if ( !iDb->IsNormalElement( aInputString[first] ) )
-            {
-            //go to detail analysis
-            if ( first > previous )
-                {
-                TPtrC toanalysis = aInputString.Mid( previous, first
-                    - previous );
-                DetailAnalyseL( toanalysis );
-                }
-
-            iLastResult->Des().Append( aInputString[first] );
-            previous = first + 1;
-            }
-        else if ( !iDb->IsNormalElement( aInputString[second] ) )
-            {
-            //go to detail analysis
-            if ( second > previous )
-                {
-                TPtrC toanalysis = aInputString.Mid( previous, second
-                    - previous );
-                DetailAnalyseL( toanalysis );
-                }
-
-            iLastResult->Des().Append( aInputString[second] );
-            previous = second + 1;
-            first ++;
-            second ++;
-            }
-        else if ( iDb->GetSpellElementType( aInputString[first] )
-            == ESpellVowel || iDb->GetSpellElementType( aInputString[second] )
-            == ESpellVowel )
-            {
-            continue;
-            }
-        else if ( iDb->GetSpellElementType( aInputString[first] )
-            == ESpellConsonant
-            || iDb->GetSpellElementType( aInputString[second] )
-                == ESpellConsonant )
-            {
-            //go to detail analysis
-            TPtrC toanalysis = aInputString.Mid( previous, second - previous );
-            DetailAnalyseL( toanalysis );
-            iLastResult->Des().Append( KProgramSeparator );
-            previous = second;
-            }
-        else
-            {
-            if ( (aInputString[second] == L'h'&& ( aInputString[first] == L'z' || aInputString[first] == L'c' || aInputString[first] == L's')) || //ch, sh, zh
-            (aInputString[second] == L'g' && aInputString[first] == L'n') || //ng
-            (aInputString[second] == L'n' && aInputString[first] == L'h') //hn 
-            )
-                {
-                }
-            else
-                {
-                //go to detail analysis
-                TPtrC toanalysis = aInputString.Mid(previous, second - previous);
-                DetailAnalyseL(toanalysis);
-                iLastResult->Des().Append(KProgramSeparator);
-                previous = second;
-                }
-            }
-        }
-
-    if( aInputString.Length() <= previous 
-    		|| second> aInputString.Length() 
-    		|| seriateTonemark )
-        {
-        return TRUE;
-        }
-
-    TPtrC toanalysis = aInputString.Mid(previous, second - previous);
-    DetailAnalyseL(toanalysis);
-    return iAnalysisFlag;
-    }
-
-TBool CAknFepZhuyinAnalyser::DetailAnalyseL( const TDesC& aInputString )
-    {
-    TPriQue<TSpellAnalysis> open;
-    TSpellAnalysis* p = new(ELeave) TSpellAnalysis();
-
-    open.Add( *p );
-
-    int sameLength;
-    int startPos;
-    TBool findRes;
-    TSpellAnalysis* pNext= NULL;
-
-    while ( !open.IsEmpty( ) )
-        {
-        pNext = open.First( );
-        pNext->Deque( );
-
-        startPos = pNext->GetStartPos( );
-        findRes = FindSpell( aInputString.Mid( startPos ), sameLength );
-
-        if ( findRes || sameLength + startPos == aInputString.Length( ) )
-            {
-            //got it!
-            int start = 0;
-            for (TInt j = 0; j < pNext->iSeparators.Count( ); ++j )
-                {
-                iLastResult->Des().Append( aInputString.Mid( start, pNext->iSeparators[j]
-                    - start ) );
-                start = pNext->iSeparators[j];
-                iLastResult->Des().Append( KProgramSeparator );
-                }
-
-            iLastResult->Des().Append( aInputString.Mid( start, aInputString.Length( )
-                - start ) );
-            break;
-            }
-        else if ( sameLength == 0 )
-            {
-            delete pNext;
-            pNext = NULL;
-            }
-        else
-            {
-            int partLength = sameLength - 1;
-            while (partLength > 0 )
-                {
-                int templen;
-                if ( FindSpell( aInputString.Mid( startPos, partLength ),
-                    templen ) )
-                    {
-                    TSpellAnalysis* q = new TSpellAnalysis(*pNext);
-                    q->AddSeparator( startPos + partLength );
-                    open.Add( *q );
-                    }
-                partLength --;
-                }
-            pNext->AddSeparator( startPos + sameLength );
-            open.Add( *pNext );
-            }
-        }
-    if ( pNext )
-        {
-        delete pNext;
-        pNext = NULL;
-        while ( !open.IsEmpty( ) )
-            {
-            TSpellAnalysis* p = open.First( );
-            p->Deque( );
-            delete p;
-            }
-        return true;
-        }
-    else
-        {
-        //not found
-        /*
-         FindSpell(aInputString, sameLength);
-         int offset = 0;
-         TBool rtn = sameLength > 0;
-         while( sameLength > 0 )
-         {
-         iLastResult->Des().Append(aInputString.Mid(offset, sameLength));
-         iLastResult->Des().Append(KProgramSeparator);
-         offset += sameLength;
-         FindSpell(aInputString.Mid(offset), sameLength);
-         }
-         */
-        //FindSpell(aInputString, sameLength);
-        int offset = 0;
-
-        while (offset < aInputString.Length( ) )
-            {
-            FindSpell( aInputString.Mid( offset ), sameLength );
-
-            if ( sameLength )
-                {
-                iLastResult->Des().Append( aInputString.Mid( offset, sameLength ) );
-                iLastResult->Des().Append( KProgramSeparator );
-                offset += sameLength;
-                }
-            else
-                {
-                iLastResult->Des().Append( aInputString.Mid( offset, 1 ) );
-
-                iLastResult->Des().Append( KProgramSeparator );
-
-                offset += 1;
-                }
-            }
-        if ( iLastResult->Des()[ iLastResult->Length() - 1 ] == KProgramSeparator )
-            {
-            iLastResult->Des().SetLength( iLastResult->Length( ) - 1 );
-            }
-        iAnalysisFlag = EFalse;
-        return EFalse;
-        }
-    }
-
-TBool CAknFepZhuyinAnalyser::FindSpell( const TDesC& aSpell, TInt& aSameLength )
-    {
-    int index = aSpell[0] - iDb->GetSpellElementByIndex( 0 );
-
-    int start = iParagraph[index].iStart;
-    int end = iParagraph[index].iCount + iParagraph[index].iStart - 1;
-    int mid = (start + end ) >> 1;
-    int result = 0;
-    aSameLength = 0;
-    while (mid > start && mid < end )
-        {
-        result = Compare( iSpellLibrary[mid], aSpell, aSameLength );
-        if ( result == 0 )
-            {
-            return true;
-            }
-        else if ( result < 0 )
-            {
-            start = mid;
-            mid = (start + end ) >> 1;
-            }
-        else
-            {
-            end = mid;
-            mid = (start + end) >> 1;
-            }
-        }
-    int newLength;
-    if ( result > 0 )
-        {
-        result = Compare( iSpellLibrary[start], aSpell, newLength );
-        }
-    else
-        {
-        result = Compare( iSpellLibrary[end], aSpell, newLength );
-        }
-    newLength > aSameLength ? aSameLength = newLength : aSameLength;
-
-    return result == 0;
-    }
-
-TInt CAknFepZhuyinAnalyser::Compare( const TDesC& aFirst,
-    const TDesC& aSecond, TInt& aSameLength )
-    {
-    aSameLength = 0;
-
-    TInt length = aFirst.Length( ) > aSecond.Length( ) ? aSecond.Length( )
-        : aFirst.Length( );
-
-    for (TInt i = 0; i < length; ++i )
-        {
-        if ( aFirst[i] != aSecond[i] )
-            {
-            return aFirst[i] - aSecond[i];
-            }
-
-        aSameLength ++;
-        }
-
-    return aFirst.Length( ) - aSecond.Length( );
-    }
-
--- a/fep/aknfep/src/AknFepZhuyinAnalyserDb.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1067 +0,0 @@
-/*
-* 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:            Implementation of the vkb data manager
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepZhuyinAnalyserDb.h"
-// constant define 
-
-// Zhuyin DB data
-const TUint16 KZhuyinBase = 0x3105;
-const TInt16  KZhuyinElementCount = 37;
-const TUint16 KZhuyinSpellsLength[] = 
-    {
-    0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 
-    0x2, 0x3, 0x3, 0x3, 0x3, 0x3, 0x2, 0x2, 0x2, 
-    0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 
-    0x3, 0x3, 0x3, 0x3, 0x3, 0x2, 0x2, 0x2, 0x2, 
-    0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 
-    0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x2, 0x2, 0x2, 
-    0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 
-    0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x3, 
-    0x3, 0x3, 0x3, 0x3, 0x2, 0x3, 0x3, 0x3, 0x3, 
-    0x3, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 
-    0x2, 0x3, 0x3, 0x3, 0x3, 0x2, 0x3, 0x3, 0x3, 
-    0x3, 0x3, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 
-    0x2, 0x2, 0x2, 0x2, 0x3, 0x3, 0x3, 0x3, 0x3, 
-    0x3, 0x3, 0x2, 0x3, 0x3, 0x3, 0x2, 0x3, 0x2, 
-    0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 
-    0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x2, 
-    0x3, 0x3, 0x3, 0x3, 0x2, 0x3, 0x3, 0x2, 0x2, 
-    0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 
-    0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x2, 
-    0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 
-    0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x2, 
-    0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 
-    0x2, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 
-    0x2, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 
-    0x2, 0x3, 0x3, 0x3, 0x3, 0x2, 0x3, 0x3, 0x3, 
-    0x3, 0x3, 0x3, 0x3, 0x3, 0x2, 0x3, 0x3, 0x3, 
-    0x3, 0x2, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 
-    0x3, 0x2, 0x3, 0x3, 0x3, 0x3, 0x1, 0x2, 0x2, 
-    0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 
-    0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x1, 
-    0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 
-    0x2, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x1, 
-    0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 
-    0x2, 0x2, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 
-    0x1, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 
-    0x3, 0x3, 0x3, 0x3, 0x3, 0x1, 0x2, 0x2, 0x2, 
-    0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x3, 
-    0x3, 0x3, 0x3, 0x3, 0x1, 0x2, 0x2, 0x2, 0x2, 
-    0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x3, 0x3, 0x3, 
-    0x3, 0x3, 0x1, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 
-    0x2, 0x2, 0x2, 0x2, 0x3, 0x3, 0x3, 0x3, 0x3, 
-    0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 
-    0x1, 0x1, 0x1, 0x1, 0x1, 0x2, 0x2, 0x2, 0x2, 
-    0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x1, 0x2, 0x2, 
-    0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x1, 0x2, 0x2, 
-    0x2, 0x2
-    };
-const TUint16 KZhuyinSpellsLib[] =
-    {
-    0x3105, 0x311a, 
-    0x3105, 0x311b, 
-    0x3105, 0x311e, 
-    0x3105, 0x311f, 
-    0x3105, 0x3120, 
-    0x3105, 0x3122, 
-    0x3105, 0x3123, 
-    0x3105, 0x3124, 
-    0x3105, 0x3125, 
-    0x3105, 0x3127, 
-    0x3105, 0x3127, 0x311d, 
-    0x3105, 0x3127, 0x3120, 
-    0x3105, 0x3127, 0x3122, 
-    0x3105, 0x3127, 0x3123, 
-    0x3105, 0x3127, 0x3125, 
-    0x3105, 0x3128, 
-    0x3106, 0x311a, 
-    0x3106, 0x311b, 
-    0x3106, 0x311e, 
-    0x3106, 0x311f, 
-    0x3106, 0x3120, 
-    0x3106, 0x3121, 
-    0x3106, 0x3122, 
-    0x3106, 0x3123, 
-    0x3106, 0x3124, 
-    0x3106, 0x3125, 
-    0x3106, 0x3127, 
-    0x3106, 0x3127, 0x311d, 
-    0x3106, 0x3127, 0x3120, 
-    0x3106, 0x3127, 0x3122, 
-    0x3106, 0x3127, 0x3123, 
-    0x3106, 0x3127, 0x3125, 
-    0x3106, 0x3128, 
-    0x3107, 0x311a, 
-    0x3107, 0x311b, 
-    0x3107, 0x311c, 
-    0x3107, 0x311e, 
-    0x3107, 0x311f, 
-    0x3107, 0x3120, 
-    0x3107, 0x3121, 
-    0x3107, 0x3122, 
-    0x3107, 0x3123, 
-    0x3107, 0x3124, 
-    0x3107, 0x3125, 
-    0x3107, 0x3127, 
-    0x3107, 0x3127, 0x311d, 
-    0x3107, 0x3127, 0x3120, 
-    0x3107, 0x3127, 0x3121, 
-    0x3107, 0x3127, 0x3122, 
-    0x3107, 0x3127, 0x3123, 
-    0x3107, 0x3127, 0x3125, 
-    0x3107, 0x3128, 
-    0x3108, 0x311a, 
-    0x3108, 0x311b, 
-    0x3108, 0x311f, 
-    0x3108, 0x3121, 
-    0x3108, 0x3122, 
-    0x3108, 0x3123, 
-    0x3108, 0x3124, 
-    0x3108, 0x3125, 
-    0x3108, 0x3128, 
-    0x3109, 0x311a, 
-    0x3109, 0x311c, 
-    0x3109, 0x311e, 
-    0x3109, 0x311f, 
-    0x3109, 0x3120, 
-    0x3109, 0x3121, 
-    0x3109, 0x3122, 
-    0x3109, 0x3124, 
-    0x3109, 0x3125, 
-    0x3109, 0x3127, 
-    0x3109, 0x3127, 0x311d, 
-    0x3109, 0x3127, 0x3120, 
-    0x3109, 0x3127, 0x3121, 
-    0x3109, 0x3127, 0x3122, 
-    0x3109, 0x3127, 0x3125, 
-    0x3109, 0x3128, 
-    0x3109, 0x3128, 0x311b, 
-    0x3109, 0x3128, 0x311f, 
-    0x3109, 0x3128, 0x3122, 
-    0x3109, 0x3128, 0x3123, 
-    0x3109, 0x3128, 0x3125, 
-    0x310a, 0x311a, 
-    0x310a, 0x311c, 
-    0x310a, 0x311e, 
-    0x310a, 0x3120, 
-    0x310a, 0x3121, 
-    0x310a, 0x3122, 
-    0x310a, 0x3124, 
-    0x310a, 0x3125, 
-    0x310a, 0x3127, 
-    0x310a, 0x3127, 0x311d, 
-    0x310a, 0x3127, 0x3120, 
-    0x310a, 0x3127, 0x3122, 
-    0x310a, 0x3127, 0x3125, 
-    0x310a, 0x3128, 
-    0x310a, 0x3128, 0x311b, 
-    0x310a, 0x3128, 0x311f, 
-    0x310a, 0x3128, 0x3122, 
-    0x310a, 0x3128, 0x3123, 
-    0x310a, 0x3128, 0x3125, 
-    0x310b, 0x311a, 
-    0x310b, 0x311c, 
-    0x310b, 0x311e, 
-    0x310b, 0x311f, 
-    0x310b, 0x3120, 
-    0x310b, 0x3121, 
-    0x310b, 0x3122, 
-    0x310b, 0x3123, 
-    0x310b, 0x3124, 
-    0x310b, 0x3125, 
-    0x310b, 0x3127, 
-    0x310b, 0x3127, 0x311d, 
-    0x310b, 0x3127, 0x3120, 
-    0x310b, 0x3127, 0x3121, 
-    0x310b, 0x3127, 0x3122, 
-    0x310b, 0x3127, 0x3123, 
-    0x310b, 0x3127, 0x3124, 
-    0x310b, 0x3127, 0x3125, 
-    0x310b, 0x3128, 
-    0x310b, 0x3128, 0x311b, 
-    0x310b, 0x3128, 0x3122, 
-    0x310b, 0x3128, 0x3125, 
-    0x310b, 0x3129, 
-    0x310b, 0x3129, 0x311d, 
-    0x310c, 0x311a, 
-    0x310c, 0x311c, 
-    0x310c, 0x311e, 
-    0x310c, 0x311f, 
-    0x310c, 0x3120, 
-    0x310c, 0x3121, 
-    0x310c, 0x3122, 
-    0x310c, 0x3124, 
-    0x310c, 0x3125, 
-    0x310c, 0x3127, 
-    0x310c, 0x3127, 0x311a, 
-    0x310c, 0x3127, 0x311d, 
-    0x310c, 0x3127, 0x3120, 
-    0x310c, 0x3127, 0x3121, 
-    0x310c, 0x3127, 0x3122, 
-    0x310c, 0x3127, 0x3123, 
-    0x310c, 0x3127, 0x3124, 
-    0x310c, 0x3127, 0x3125, 
-    0x310c, 0x3128, 
-    0x310c, 0x3128, 0x311b, 
-    0x310c, 0x3128, 0x3122, 
-    0x310c, 0x3128, 0x3123, 
-    0x310c, 0x3128, 0x3125, 
-    0x310c, 0x3129, 
-    0x310c, 0x3129, 0x311d, 
-    0x310c, 0x3129, 0x3122, 
-    0x310d, 0x311a, 
-    0x310d, 0x311c, 
-    0x310d, 0x311e, 
-    0x310d, 0x311f, 
-    0x310d, 0x3120, 
-    0x310d, 0x3121, 
-    0x310d, 0x3122, 
-    0x310d, 0x3123, 
-    0x310d, 0x3124, 
-    0x310d, 0x3125, 
-    0x310d, 0x3128, 
-    0x310d, 0x3128, 0x311a, 
-    0x310d, 0x3128, 0x311b, 
-    0x310d, 0x3128, 0x311e, 
-    0x310d, 0x3128, 0x311f, 
-    0x310d, 0x3128, 0x3122, 
-    0x310d, 0x3128, 0x3123, 
-    0x310d, 0x3128, 0x3124, 
-    0x310d, 0x3128, 0x3125, 
-    0x310e, 0x311a, 
-    0x310e, 0x311c, 
-    0x310e, 0x311e, 
-    0x310e, 0x3120, 
-    0x310e, 0x3121, 
-    0x310e, 0x3122, 
-    0x310e, 0x3123, 
-    0x310e, 0x3124, 
-    0x310e, 0x3125, 
-    0x310e, 0x3128, 
-    0x310e, 0x3128, 0x311a, 
-    0x310e, 0x3128, 0x311b, 
-    0x310e, 0x3128, 0x311e, 
-    0x310e, 0x3128, 0x311f, 
-    0x310e, 0x3128, 0x3122, 
-    0x310e, 0x3128, 0x3123, 
-    0x310e, 0x3128, 0x3124, 
-    0x310e, 0x3128, 0x3125, 
-    0x310f, 0x311a, 
-    0x310f, 0x311c, 
-    0x310f, 0x311e, 
-    0x310f, 0x311f, 
-    0x310f, 0x3120, 
-    0x310f, 0x3121, 
-    0x310f, 0x3122, 
-    0x310f, 0x3123, 
-    0x310f, 0x3124, 
-    0x310f, 0x3125, 
-    0x310f, 0x3128, 
-    0x310f, 0x3128, 0x311a, 
-    0x310f, 0x3128, 0x311b, 
-    0x310f, 0x3128, 0x311e, 
-    0x310f, 0x3128, 0x311f, 
-    0x310f, 0x3128, 0x3122, 
-    0x310f, 0x3128, 0x3123, 
-    0x310f, 0x3128, 0x3124, 
-    0x310f, 0x3128, 0x3125, 
-    0x3110, 0x3127, 
-    0x3110, 0x3127, 0x311a, 
-    0x3110, 0x3127, 0x311d, 
-    0x3110, 0x3127, 0x3120, 
-    0x3110, 0x3127, 0x3121, 
-    0x3110, 0x3127, 0x3122, 
-    0x3110, 0x3127, 0x3123, 
-    0x3110, 0x3127, 0x3124, 
-    0x3110, 0x3127, 0x3125, 
-    0x3110, 0x3129, 
-    0x3110, 0x3129, 0x311d, 
-    0x3110, 0x3129, 0x3122, 
-    0x3110, 0x3129, 0x3123, 
-    0x3110, 0x3129, 0x3125, 
-    0x3111, 0x3127, 
-    0x3111, 0x3127, 0x311a, 
-    0x3111, 0x3127, 0x311d, 
-    0x3111, 0x3127, 0x3120, 
-    0x3111, 0x3127, 0x3121, 
-    0x3111, 0x3127, 0x3122, 
-    0x3111, 0x3127, 0x3123, 
-    0x3111, 0x3127, 0x3124, 
-    0x3111, 0x3127, 0x3125, 
-    0x3111, 0x3129, 
-    0x3111, 0x3129, 0x311d, 
-    0x3111, 0x3129, 0x3122, 
-    0x3111, 0x3129, 0x3123, 
-    0x3111, 0x3129, 0x3125, 
-    0x3112, 0x3127, 
-    0x3112, 0x3127, 0x311a, 
-    0x3112, 0x3127, 0x311d, 
-    0x3112, 0x3127, 0x3120, 
-    0x3112, 0x3127, 0x3121, 
-    0x3112, 0x3127, 0x3122, 
-    0x3112, 0x3127, 0x3123, 
-    0x3112, 0x3127, 0x3124, 
-    0x3112, 0x3127, 0x3125, 
-    0x3112, 0x3129, 
-    0x3112, 0x3129, 0x311d, 
-    0x3112, 0x3129, 0x3122, 
-    0x3112, 0x3129, 0x3123, 
-    0x3112, 0x3129, 0x3125, 
-    0x3113, 
-    0x3113, 0x311a, 
-    0x3113, 0x311c, 
-    0x3113, 0x311e, 
-    0x3113, 0x311f, 
-    0x3113, 0x3120, 
-    0x3113, 0x3121, 
-    0x3113, 0x3122, 
-    0x3113, 0x3123, 
-    0x3113, 0x3124, 
-    0x3113, 0x3125, 
-    0x3113, 0x3128, 
-    0x3113, 0x3128, 0x311a, 
-    0x3113, 0x3128, 0x311b, 
-    0x3113, 0x3128, 0x311e, 
-    0x3113, 0x3128, 0x311f, 
-    0x3113, 0x3128, 0x3122, 
-    0x3113, 0x3128, 0x3123, 
-    0x3113, 0x3128, 0x3124, 
-    0x3113, 0x3128, 0x3125, 
-    0x3114, 
-    0x3114, 0x311a, 
-    0x3114, 0x311c, 
-    0x3114, 0x311e, 
-    0x3114, 0x3120, 
-    0x3114, 0x3121, 
-    0x3114, 0x3122, 
-    0x3114, 0x3123, 
-    0x3114, 0x3124, 
-    0x3114, 0x3125, 
-    0x3114, 0x3128, 
-    0x3114, 0x3128, 0x311b, 
-    0x3114, 0x3128, 0x311e, 
-    0x3114, 0x3128, 0x311f, 
-    0x3114, 0x3128, 0x3122, 
-    0x3114, 0x3128, 0x3123, 
-    0x3114, 0x3128, 0x3124, 
-    0x3114, 0x3128, 0x3125, 
-    0x3115, 
-    0x3115, 0x311a, 
-    0x3115, 0x311c, 
-    0x3115, 0x311e, 
-    0x3115, 0x311f, 
-    0x3115, 0x3120, 
-    0x3115, 0x3121, 
-    0x3115, 0x3122, 
-    0x3115, 0x3123, 
-    0x3115, 0x3124, 
-    0x3115, 0x3125, 
-    0x3115, 0x3128, 
-    0x3115, 0x3128, 0x311a, 
-    0x3115, 0x3128, 0x311b, 
-    0x3115, 0x3128, 0x311e, 
-    0x3115, 0x3128, 0x311f, 
-    0x3115, 0x3128, 0x3122, 
-    0x3115, 0x3128, 0x3123, 
-    0x3115, 0x3128, 0x3124, 
-    0x3116, 
-    0x3116, 0x311c, 
-    0x3116, 0x3120, 
-    0x3116, 0x3121, 
-    0x3116, 0x3122, 
-    0x3116, 0x3123, 
-    0x3116, 0x3124, 
-    0x3116, 0x3125, 
-    0x3116, 0x3128, 
-    0x3116, 0x3128, 0x311b, 
-    0x3116, 0x3128, 0x311f, 
-    0x3116, 0x3128, 0x3122, 
-    0x3116, 0x3128, 0x3123, 
-    0x3116, 0x3128, 0x3125, 
-    0x3117, 
-    0x3117, 0x311a, 
-    0x3117, 0x311c, 
-    0x3117, 0x311e, 
-    0x3117, 0x311f, 
-    0x3117, 0x3120, 
-    0x3117, 0x3121, 
-    0x3117, 0x3122, 
-    0x3117, 0x3123, 
-    0x3117, 0x3124, 
-    0x3117, 0x3125, 
-    0x3117, 0x3128, 
-    0x3117, 0x3128, 0x311b, 
-    0x3117, 0x3128, 0x311f, 
-    0x3117, 0x3128, 0x3122, 
-    0x3117, 0x3128, 0x3123, 
-    0x3117, 0x3128, 0x3125, 
-    0x3118, 
-    0x3118, 0x311a, 
-    0x3118, 0x311c, 
-    0x3118, 0x311e, 
-    0x3118, 0x3120, 
-    0x3118, 0x3121, 
-    0x3118, 0x3122, 
-    0x3118, 0x3123, 
-    0x3118, 0x3124, 
-    0x3118, 0x3125, 
-    0x3118, 0x3128, 
-    0x3118, 0x3128, 0x311b, 
-    0x3118, 0x3128, 0x311f, 
-    0x3118, 0x3128, 0x3122, 
-    0x3118, 0x3128, 0x3123, 
-    0x3118, 0x3128, 0x3125, 
-    0x3119, 
-    0x3119, 0x311a, 
-    0x3119, 0x311c, 
-    0x3119, 0x311e, 
-    0x3119, 0x3120, 
-    0x3119, 0x3121, 
-    0x3119, 0x3122, 
-    0x3119, 0x3123, 
-    0x3119, 0x3124, 
-    0x3119, 0x3125, 
-    0x3119, 0x3128, 
-    0x3119, 0x3128, 0x311b, 
-    0x3119, 0x3128, 0x311f, 
-    0x3119, 0x3128, 0x3122, 
-    0x3119, 0x3128, 0x3123, 
-    0x3119, 0x3128, 0x3125, 
-    0x311a, 
-    0x311b, 
-    0x311c, 
-    0x311e, 
-    0x311f, 
-    0x3120, 
-    0x3121, 
-    0x3122, 
-    0x3123, 
-    0x3124, 
-    0x3125, 
-    0x3126, 
-    0x3127, 
-    0x3127, 0x311a, 
-    0x3127, 0x311b, 
-    0x3127, 0x311d, 
-    0x3127, 0x311e, 
-    0x3127, 0x3120, 
-    0x3127, 0x3121, 
-    0x3127, 0x3122, 
-    0x3127, 0x3123, 
-    0x3127, 0x3124, 
-    0x3127, 0x3125, 
-    0x3128, 
-    0x3128, 0x311a, 
-    0x3128, 0x311b, 
-    0x3128, 0x311e, 
-    0x3128, 0x311f, 
-    0x3128, 0x3122, 
-    0x3128, 0x3123, 
-    0x3128, 0x3124, 
-    0x3128, 0x3125, 
-    0x3129, 
-    0x3129, 0x311d, 
-    0x3129, 0x3122, 
-    0x3129, 0x3123, 
-    0x3129, 0x3125
-    };
-    
-const TUint16 KZhuyinTypeTable[] = 
-    {
-    // 21 ESpellConsonant
-    ESpellConsonant, ESpellConsonant, ESpellConsonant, ESpellConsonant, ESpellConsonant,
-    ESpellConsonant, ESpellSpecialConsonnant, ESpellConsonant, ESpellSpecialConsonnant, ESpellConsonant,
-    ESpellSpecialConsonnant, ESpellConsonant, ESpellConsonant, ESpellConsonant, ESpellConsonant,
-    ESpellConsonant, ESpellConsonant, ESpellConsonant, ESpellSpecialConsonnant, ESpellSpecialConsonnant,
-    ESpellSpecialConsonnant,
-    //16 ESpellVowel
-    ESpellVowel, ESpellVowel, ESpellVowel, ESpellVowel, ESpellVowel,
-    ESpellVowel, ESpellVowel, ESpellVowel, ESpellVowel, ESpellVowel,
-    ESpellVowel, ESpellVowel, ESpellVowel, ESpellVowel, ESpellVowel,
-    ESpellVowel
-
-    };    
-
-const TUint16 KZhuyinNoFirstElem[] =
-    {
-    //0x311D
-    0x0020, 0x02CA, 0x02C7, 0x02CB, 0x02D9    
-    };
-
-// Pinyin DB data
-const TUint16 KPinyinBase = L'a';
-const TUint16  KPinyinElementCount = 26;
-const TUint16 KPinyinSpellsLength[] = 
-    {
-    1,2,2,3,2,2,3,3,4,3,3,3,4,2,4,4,3,3,4,2,
-    2,2,3,3,4,3,2,3,4,3,4,4,5,4,3,4,5,3,5,4,
-    3,4,5,5,6,4,4,4,2,4,3,2,4,3,3,3,2,3,3,4,
-    3,2,3,3,4,2,3,4,4,3,4,3,4,3,2,4,3,3,3,1,
-    2,2,3,2,2,3,4,3,3,4,2,3,2,2,3,3,4,3,2,3,
-    3,4,4,3,2,3,4,4,5,3,3,3,2,3,3,4,3,2,3,3,
-    4,2,3,4,3,2,3,4,4,5,3,3,3,2,3,4,5,4,3,3,
-    4,5,3,2,4,3,3,2,3,3,4,3,2,3,3,4,4,3,2,3,
-    4,4,5,3,3,3,2,3,3,4,3,2,3,4,2,3,4,5,4,3,
-    3,4,3,2,4,3,2,4,3,3,2,3,1,2,3,3,4,3,2,3,
-    3,4,2,4,4,3,3,4,3,2,3,2,1,2,3,3,4,3,2,3,
-    3,4,2,2,3,4,5,4,3,3,4,3,4,3,2,4,3,2,3,1,
-    2,2,3,3,4,3,3,3,4,2,4,4,3,3,4,2,3,2,2,3,
-    4,5,4,3,3,4,5,3,2,4,3,3,3,4,3,2,3,4,2,4,
-    3,2,4,3,3,3,2,3,3,4,3,2,3,4,3,4,4,5,4,3,
-    4,4,5,3,4,3,4,5,5,6,4,4,4,2,4,3,2,4,3,3,
-    3,2,3,3,4,3,2,4,2,4,4,3,4,4,3,2,4,3,3,3,
-    2,3,3,4,3,3,4,2,2,2,3,4,5,4,3,3,4,5,3,2,
-    4,3,3,2,3,4,3,2,2,3,4,2,4,3,2,4,3,3,2,3,
-    3,4,3,2,3,3,4,3,4,4,5,4,3,4,4,5,3,5,4,3,
-    4,5,5,6,4,4,4,2,4,3,2,4,3,3,3
-    };
-const TUint16 KPinyinSpellsLib[] =
-    {
-    0x61, //a
-    0x61, 0x69, //ai
-    0x61, 0x6e, //an
-    0x61, 0x6e, 0x67, //ang
-    0x61, 0x6f, //ao
-    0x62, 0x61, //ba
-    0x62, 0x61, 0x69, //bai
-    0x62, 0x61, 0x6e, //ban
-    0x62, 0x61, 0x6e, 0x67, //bang
-    0x62, 0x61, 0x6f, //bao
-    0x62, 0x65, 0x69, //bei
-    0x62, 0x65, 0x6e, //ben
-    0x62, 0x65, 0x6e, 0x67, //beng
-    0x62, 0x69, //bi
-    0x62, 0x69, 0x61, 0x6e, //bian
-    0x62, 0x69, 0x61, 0x6f, //biao
-    0x62, 0x69, 0x65, //bie
-    0x62, 0x69, 0x6e, //bin
-    0x62, 0x69, 0x6e, 0x67, //bing
-    0x62, 0x6f, //bo
-    0x62, 0x75, //bu
-    0x63, 0x61, //ca
-    0x63, 0x61, 0x69, //cai
-    0x63, 0x61, 0x6e, //can
-    0x63, 0x61, 0x6e, 0x67, //cang
-    0x63, 0x61, 0x6f, //cao
-    0x63, 0x65, //ce
-    0x63, 0x65, 0x6e, //cen
-    0x63, 0x65, 0x6e, 0x67, //ceng
-    0x63, 0x68, 0x61, //cha
-    0x63, 0x68, 0x61, 0x69, //chai
-    0x63, 0x68, 0x61, 0x6e, //chan
-    0x63, 0x68, 0x61, 0x6e, 0x67, //chang
-    0x63, 0x68, 0x61, 0x6f, //chao
-    0x63, 0x68, 0x65, //che
-    0x63, 0x68, 0x65, 0x6e, //chen
-    0x63, 0x68, 0x65, 0x6e, 0x67, //cheng
-    0x63, 0x68, 0x69, //chi
-    0x63, 0x68, 0x6f, 0x6e, 0x67, //chong
-    0x63, 0x68, 0x6f, 0x75, //chou
-    0x63, 0x68, 0x75, //chu
-    0x63, 0x68, 0x75, 0x61, //chua
-    0x63, 0x68, 0x75, 0x61, 0x69, //chuai
-    0x63, 0x68, 0x75, 0x61, 0x6e, //chuan
-    0x63, 0x68, 0x75, 0x61, 0x6e, 0x67, //chuang
-    0x63, 0x68, 0x75, 0x69, //chui
-    0x63, 0x68, 0x75, 0x6e, //chun
-    0x63, 0x68, 0x75, 0x6f, //chuo
-    0x63, 0x69, //ci
-    0x63, 0x6f, 0x6e, 0x67, //cong
-    0x63, 0x6f, 0x75, //cou
-    0x63, 0x75, //cu
-    0x63, 0x75, 0x61, 0x6e, //cuan
-    0x63, 0x75, 0x69, //cui
-    0x63, 0x75, 0x6e, //cun
-    0x63, 0x75, 0x6f, //cuo
-    0x64, 0x61, //da
-    0x64, 0x61, 0x69, //dai
-    0x64, 0x61, 0x6e, //dan
-    0x64, 0x61, 0x6e, 0x67, //dang
-    0x64, 0x61, 0x6f, //dao
-    0x64, 0x65, //de
-    0x64, 0x65, 0x69, //dei
-    0x64, 0x65, 0x6e, //den
-    0x64, 0x65, 0x6e, 0x67, //deng
-    0x64, 0x69, //di
-    0x64, 0x69, 0x61, //dia
-    0x64, 0x69, 0x61, 0x6e, //dian
-    0x64, 0x69, 0x61, 0x6f, //diao
-    0x64, 0x69, 0x65, //die
-    0x64, 0x69, 0x6e, 0x67, //ding
-    0x64, 0x69, 0x75, //diu
-    0x64, 0x6f, 0x6e, 0x67, //dong
-    0x64, 0x6f, 0x75, //dou
-    0x64, 0x75, //du
-    0x64, 0x75, 0x61, 0x6e, //duan
-    0x64, 0x75, 0x69, //dui
-    0x64, 0x75, 0x6e, //dun
-    0x64, 0x75, 0x6f, //duo
-    0x65, //e
-    0x65, 0x69, //ei
-    0x65, 0x6e, //en
-    0x65, 0x6e, 0x67, //eng
-    0x65, 0x72, //er
-    0x66, 0x61, //fa
-    0x66, 0x61, 0x6e, //fan
-    0x66, 0x61, 0x6e, 0x67, //fang
-    0x66, 0x65, 0x69, //fei
-    0x66, 0x65, 0x6e, //fen
-    0x66, 0x65, 0x6e, 0x67, //feng
-    0x66, 0x6f, //fo
-    0x66, 0x6f, 0x75, //fou
-    0x66, 0x75, //fu
-    0x67, 0x61, //ga
-    0x67, 0x61, 0x69, //gai
-    0x67, 0x61, 0x6e, //gan
-    0x67, 0x61, 0x6e, 0x67, //gang
-    0x67, 0x61, 0x6f, //gao
-    0x67, 0x65, //ge
-    0x67, 0x65, 0x69, //gei
-    0x67, 0x65, 0x6e, //gen
-    0x67, 0x65, 0x6e, 0x67, //geng
-    0x67, 0x6f, 0x6e, 0x67, //gong
-    0x67, 0x6f, 0x75, //gou
-    0x67, 0x75, //gu
-    0x67, 0x75, 0x61, //gua
-    0x67, 0x75, 0x61, 0x69, //guai
-    0x67, 0x75, 0x61, 0x6e, //guan
-    0x67, 0x75, 0x61, 0x6e, 0x67, //guang
-    0x67, 0x75, 0x69, //gui
-    0x67, 0x75, 0x6e, //gun
-    0x67, 0x75, 0x6f, //guo
-    0x68, 0x61, //ha
-    0x68, 0x61, 0x69, //hai
-    0x68, 0x61, 0x6e, //han
-    0x68, 0x61, 0x6e, 0x67, //hang
-    0x68, 0x61, 0x6f, //hao
-    0x68, 0x65, //he
-    0x68, 0x65, 0x69, //hei
-    0x68, 0x65, 0x6e, //hen
-    0x68, 0x65, 0x6e, 0x67, //heng
-    0x68, 0x6d, //hm
-    0x68, 0x6e, 0x67, //hng
-    0x68, 0x6f, 0x6e, 0x67, //hong
-    0x68, 0x6f, 0x75, //hou
-    0x68, 0x75, //hu
-    0x68, 0x75, 0x61, //hua
-    0x68, 0x75, 0x61, 0x69, //huai
-    0x68, 0x75, 0x61, 0x6e, //huan
-    0x68, 0x75, 0x61, 0x6e, 0x67, //huang
-    0x68, 0x75, 0x69, //hui
-    0x68, 0x75, 0x6e, //hun
-    0x68, 0x75, 0x6f, //huo
-    0x6a, 0x69, //ji
-    0x6a, 0x69, 0x61, //jia
-    0x6a, 0x69, 0x61, 0x6e, //jian
-    0x6a, 0x69, 0x61, 0x6e, 0x67, //jiang
-    0x6a, 0x69, 0x61, 0x6f, //jiao
-    0x6a, 0x69, 0x65, //jie
-    0x6a, 0x69, 0x6e, //jin
-    0x6a, 0x69, 0x6e, 0x67, //jing
-    0x6a, 0x69, 0x6f, 0x6e, 0x67, //jiong
-    0x6a, 0x69, 0x75, //jiu
-    0x6a, 0x75, //ju
-    0x6a, 0x75, 0x61, 0x6e, //juan
-    0x6a, 0x75, 0x65, //jue
-    0x6a, 0x75, 0x6e, //jun
-    0x6b, 0x61, //ka
-    0x6b, 0x61, 0x69, //kai
-    0x6b, 0x61, 0x6e, //kan
-    0x6b, 0x61, 0x6e, 0x67, //kang
-    0x6b, 0x61, 0x6f, //kao
-    0x6b, 0x65, //ke
-    0x6b, 0x65, 0x69, //kei
-    0x6b, 0x65, 0x6e, //ken
-    0x6b, 0x65, 0x6e, 0x67, //keng
-    0x6b, 0x6f, 0x6e, 0x67, //kong
-    0x6b, 0x6f, 0x75, //kou
-    0x6b, 0x75, //ku
-    0x6b, 0x75, 0x61, //kua
-    0x6b, 0x75, 0x61, 0x69, //kuai
-    0x6b, 0x75, 0x61, 0x6e, //kuan
-    0x6b, 0x75, 0x61, 0x6e, 0x67, //kuang
-    0x6b, 0x75, 0x69, //kui
-    0x6b, 0x75, 0x6e, //kun
-    0x6b, 0x75, 0x6f, //kuo
-    0x6c, 0x61, //la
-    0x6c, 0x61, 0x69, //lai
-    0x6c, 0x61, 0x6e, //lan
-    0x6c, 0x61, 0x6e, 0x67, //lang
-    0x6c, 0x61, 0x6f, //lao
-    0x6c, 0x65, //le
-    0x6c, 0x65, 0x69, //lei
-    0x6c, 0x65, 0x6e, 0x67, //leng
-    0x6c, 0x69, //li
-    0x6c, 0x69, 0x61, //lia
-    0x6c, 0x69, 0x61, 0x6e, //lian
-    0x6c, 0x69, 0x61, 0x6e, 0x67, //liang
-    0x6c, 0x69, 0x61, 0x6f, //liao
-    0x6c, 0x69, 0x65, //lie
-    0x6c, 0x69, 0x6e, //lin
-    0x6c, 0x69, 0x6e, 0x67, //ling
-    0x6c, 0x69, 0x75, //liu
-    0x6c, 0x6f, //lo
-    0x6c, 0x6f, 0x6e, 0x67, //long
-    0x6c, 0x6f, 0x75, //lou
-    0x6c, 0x75, //lu
-    0x6c, 0x75, 0x61, 0x6e, //luan
-    0x6c, 0x75, 0x6e, //lun
-    0x6c, 0x75, 0x6f, //luo
-    0x6c, 0x76, //lv
-    0x6c, 0x76, 0x65, //lve
-    0x6d, //m
-    0x6d, 0x61, //ma
-    0x6d, 0x61, 0x69, //mai
-    0x6d, 0x61, 0x6e, //man
-    0x6d, 0x61, 0x6e, 0x67, //mang
-    0x6d, 0x61, 0x6f, //mao
-    0x6d, 0x65, //me
-    0x6d, 0x65, 0x69, //mei
-    0x6d, 0x65, 0x6e, //men
-    0x6d, 0x65, 0x6e, 0x67, //meng
-    0x6d, 0x69, //mi
-    0x6d, 0x69, 0x61, 0x6e, //mian
-    0x6d, 0x69, 0x61, 0x6f, //miao
-    0x6d, 0x69, 0x65, //mie
-    0x6d, 0x69, 0x6e, //min
-    0x6d, 0x69, 0x6e, 0x67, //ming
-    0x6d, 0x69, 0x75, //miu
-    0x6d, 0x6f, //mo
-    0x6d, 0x6f, 0x75, //mou
-    0x6d, 0x75, //mu
-    0x6e, //n
-    0x6e, 0x61, //na
-    0x6e, 0x61, 0x69, //nai
-    0x6e, 0x61, 0x6e, //nan
-    0x6e, 0x61, 0x6e, 0x67, //nang
-    0x6e, 0x61, 0x6f, //nao
-    0x6e, 0x65, //ne
-    0x6e, 0x65, 0x69, //nei
-    0x6e, 0x65, 0x6e, //nen
-    0x6e, 0x65, 0x6e, 0x67, //neng
-    0x6e, 0x67, //ng
-    0x6e, 0x69, //ni
-    0x6e, 0x69, 0x61, //nia
-    0x6e, 0x69, 0x61, 0x6e, //nian
-    0x6e, 0x69, 0x61, 0x6e, 0x67, //niang
-    0x6e, 0x69, 0x61, 0x6f, //niao
-    0x6e, 0x69, 0x65, //nie
-    0x6e, 0x69, 0x6e, //nin
-    0x6e, 0x69, 0x6e, 0x67, //ning
-    0x6e, 0x69, 0x75, //niu
-    0x6e, 0x6f, 0x6e, 0x67, //nong
-    0x6e, 0x6f, 0x75, //nou
-    0x6e, 0x75, //nu
-    0x6e, 0x75, 0x61, 0x6e, //nuan
-    0x6e, 0x75, 0x6f, //nuo
-    0x6e, 0x76, //nv
-    0x6e, 0x76, 0x65, //nve
-    0x6f, //o
-    0x6f, 0x75, //ou
-    0x70, 0x61, //pa
-    0x70, 0x61, 0x69, //pai
-    0x70, 0x61, 0x6e, //pan
-    0x70, 0x61, 0x6e, 0x67, //pang
-    0x70, 0x61, 0x6f, //pao
-    0x70, 0x65, 0x69, //pei
-    0x70, 0x65, 0x6e, //pen
-    0x70, 0x65, 0x6e, 0x67, //peng
-    0x70, 0x69, //pi
-    0x70, 0x69, 0x61, 0x6e, //pian
-    0x70, 0x69, 0x61, 0x6f, //piao
-    0x70, 0x69, 0x65, //pie
-    0x70, 0x69, 0x6e, //pin
-    0x70, 0x69, 0x6e, 0x67, //ping
-    0x70, 0x6f, //po
-    0x70, 0x6f, 0x75, //pou
-    0x70, 0x75, //pu
-    0x71, 0x69, //qi
-    0x71, 0x69, 0x61, //qia
-    0x71, 0x69, 0x61, 0x6e, //qian
-    0x71, 0x69, 0x61, 0x6e, 0x67, //qiang
-    0x71, 0x69, 0x61, 0x6f, //qiao
-    0x71, 0x69, 0x65, //qie
-    0x71, 0x69, 0x6e, //qin
-    0x71, 0x69, 0x6e, 0x67, //qing
-    0x71, 0x69, 0x6f, 0x6e, 0x67, //qiong
-    0x71, 0x69, 0x75, //qiu
-    0x71, 0x75, //qu
-    0x71, 0x75, 0x61, 0x6e, //quan
-    0x71, 0x75, 0x65, //que
-    0x71, 0x75, 0x6e, //qun
-    0x72, 0x61, 0x6e, //ran
-    0x72, 0x61, 0x6e, 0x67, //rang
-    0x72, 0x61, 0x6f, //rao
-    0x72, 0x65, //re
-    0x72, 0x65, 0x6e, //ren
-    0x72, 0x65, 0x6e, 0x67, //reng
-    0x72, 0x69, //ri
-    0x72, 0x6f, 0x6e, 0x67, //rong
-    0x72, 0x6f, 0x75, //rou
-    0x72, 0x75, //ru
-    0x72, 0x75, 0x61, 0x6e, //ruan
-    0x72, 0x75, 0x69, //rui
-    0x72, 0x75, 0x6e, //run
-    0x72, 0x75, 0x6f, //ruo
-    0x73, 0x61, //sa
-    0x73, 0x61, 0x69, //sai
-    0x73, 0x61, 0x6e, //san
-    0x73, 0x61, 0x6e, 0x67, //sang
-    0x73, 0x61, 0x6f, //sao
-    0x73, 0x65, //se
-    0x73, 0x65, 0x6e, //sen
-    0x73, 0x65, 0x6e, 0x67, //seng
-    0x73, 0x68, 0x61, //sha
-    0x73, 0x68, 0x61, 0x69, //shai
-    0x73, 0x68, 0x61, 0x6e, //shan
-    0x73, 0x68, 0x61, 0x6e, 0x67, //shang
-    0x73, 0x68, 0x61, 0x6f, //shao
-    0x73, 0x68, 0x65, //she
-    0x73, 0x68, 0x65, 0x69, //shei
-    0x73, 0x68, 0x65, 0x6e, //shen
-    0x73, 0x68, 0x65, 0x6e, 0x67, //sheng
-    0x73, 0x68, 0x69, //shi
-    0x73, 0x68, 0x6f, 0x75, //shou
-    0x73, 0x68, 0x75, //shu
-    0x73, 0x68, 0x75, 0x61, //shua
-    0x73, 0x68, 0x75, 0x61, 0x69, //shuai
-    0x73, 0x68, 0x75, 0x61, 0x6e, //shuan
-    0x73, 0x68, 0x75, 0x61, 0x6e, 0x67, //shuang
-    0x73, 0x68, 0x75, 0x69, //shui
-    0x73, 0x68, 0x75, 0x6e, //shun
-    0x73, 0x68, 0x75, 0x6f, //shuo
-    0x73, 0x69, //si
-    0x73, 0x6f, 0x6e, 0x67, //song
-    0x73, 0x6f, 0x75, //sou
-    0x73, 0x75, //su
-    0x73, 0x75, 0x61, 0x6e, //suan
-    0x73, 0x75, 0x69, //sui
-    0x73, 0x75, 0x6e, //sun
-    0x73, 0x75, 0x6f, //suo
-    0x74, 0x61, //ta
-    0x74, 0x61, 0x69, //tai
-    0x74, 0x61, 0x6e, //tan
-    0x74, 0x61, 0x6e, 0x67, //tang
-    0x74, 0x61, 0x6f, //tao
-    0x74, 0x65, //te
-    0x74, 0x65, 0x6e, 0x67, //teng
-    0x74, 0x69, //ti
-    0x74, 0x69, 0x61, 0x6e, //tian
-    0x74, 0x69, 0x61, 0x6f, //tiao
-    0x74, 0x69, 0x65, //tie
-    0x74, 0x69, 0x6e, 0x67, //ting
-    0x74, 0x6f, 0x6e, 0x67, //tong
-    0x74, 0x6f, 0x75, //tou
-    0x74, 0x75, //tu
-    0x74, 0x75, 0x61, 0x6e, //tuan
-    0x74, 0x75, 0x69, //tui
-    0x74, 0x75, 0x6e, //tun
-    0x74, 0x75, 0x6f, //tuo
-    0x77, 0x61, //wa
-    0x77, 0x61, 0x69, //wai
-    0x77, 0x61, 0x6e, //wan
-    0x77, 0x61, 0x6e, 0x67, //wang
-    0x77, 0x65, 0x69, //wei
-    0x77, 0x65, 0x6e, //wen
-    0x77, 0x65, 0x6e, 0x67, //weng
-    0x77, 0x6f, //wo
-    0x77, 0x75, //wu
-    0x78, 0x69, //xi
-    0x78, 0x69, 0x61, //xia
-    0x78, 0x69, 0x61, 0x6e, //xian
-    0x78, 0x69, 0x61, 0x6e, 0x67, //xiang
-    0x78, 0x69, 0x61, 0x6f, //xiao
-    0x78, 0x69, 0x65, //xie
-    0x78, 0x69, 0x6e, //xin
-    0x78, 0x69, 0x6e, 0x67, //xing
-    0x78, 0x69, 0x6f, 0x6e, 0x67, //xiong
-    0x78, 0x69, 0x75, //xiu
-    0x78, 0x75, //xu
-    0x78, 0x75, 0x61, 0x6e, //xuan
-    0x78, 0x75, 0x65, //xue
-    0x78, 0x75, 0x6e, //xun
-    0x79, 0x61, //ya
-    0x79, 0x61, 0x6e, //yan
-    0x79, 0x61, 0x6e, 0x67, //yang
-    0x79, 0x61, 0x6f, //yao
-    0x79, 0x65, //ye
-    0x79, 0x69, //yi
-    0x79, 0x69, 0x6e, //yin
-    0x79, 0x69, 0x6e, 0x67, //ying
-    0x79, 0x6f, //yo
-    0x79, 0x6f, 0x6e, 0x67, //yong
-    0x79, 0x6f, 0x75, //you
-    0x79, 0x75, //yu
-    0x79, 0x75, 0x61, 0x6e, //yuan
-    0x79, 0x75, 0x65, //yue
-    0x79, 0x75, 0x6e, //yun
-    0x7a, 0x61, //za
-    0x7a, 0x61, 0x69, //zai
-    0x7a, 0x61, 0x6e, //zan
-    0x7a, 0x61, 0x6e, 0x67, //zang
-    0x7a, 0x61, 0x6f, //zao
-    0x7a, 0x65, //ze
-    0x7a, 0x65, 0x69, //zei
-    0x7a, 0x65, 0x6e, //zen
-    0x7a, 0x65, 0x6e, 0x67, //zeng
-    0x7a, 0x68, 0x61, //zha
-    0x7a, 0x68, 0x61, 0x69, //zhai
-    0x7a, 0x68, 0x61, 0x6e, //zhan
-    0x7a, 0x68, 0x61, 0x6e, 0x67, //zhang
-    0x7a, 0x68, 0x61, 0x6f, //zhao
-    0x7a, 0x68, 0x65, //zhe
-    0x7a, 0x68, 0x65, 0x69, //zhei
-    0x7a, 0x68, 0x65, 0x6e, //zhen
-    0x7a, 0x68, 0x65, 0x6e, 0x67, //zheng
-    0x7a, 0x68, 0x69, //zhi
-    0x7a, 0x68, 0x6f, 0x6e, 0x67, //zhong
-    0x7a, 0x68, 0x6f, 0x75, //zhou
-    0x7a, 0x68, 0x75, //zhu
-    0x7a, 0x68, 0x75, 0x61, //zhua
-    0x7a, 0x68, 0x75, 0x61, 0x69, //zhuai
-    0x7a, 0x68, 0x75, 0x61, 0x6e, //zhuan
-    0x7a, 0x68, 0x75, 0x61, 0x6e, 0x67, //zhuang
-    0x7a, 0x68, 0x75, 0x69, //zhui
-    0x7a, 0x68, 0x75, 0x6e, //zhun
-    0x7a, 0x68, 0x75, 0x6f, //zhuo
-    0x7a, 0x69, //zi
-    0x7a, 0x6f, 0x6e, 0x67, //zong
-    0x7a, 0x6f, 0x75, //zou
-    0x7a, 0x75, //zu
-    0x7a, 0x75, 0x61, 0x6e, //zuan
-    0x7a, 0x75, 0x69, //zui
-    0x7a, 0x75, 0x6e, //zun
-    0x7a, 0x75, 0x6f //zuo
-    };
-    
-const TUint16 KPinyinTypeTable[] = 
-{
-    //a, b, c, d, e, f
-    ESpellVowel, ESpellConsonant, ESpellSpecialConsonnant, ESpellConsonant, ESpellVowel, ESpellConsonant,
-    //g, h, i, j, k, l
-    ESpellSpecialConsonnant, ESpellSpecialConsonnant, ESpellVowel, ESpellConsonant, ESpellConsonant, ESpellConsonant,
-    //m, n, o, p, q, r
-    ESpellConsonant, ESpellSpecialConsonnant, ESpellVowel, ESpellConsonant, ESpellConsonant, ESpellConsonant,
-    //s, t, u, v, w, x
-    ESpellSpecialConsonnant, ESpellConsonant, ESpellVowel, ESpellVowel, ESpellConsonant, ESpellConsonant,
-    //y, z
-    ESpellConsonant, ESpellSpecialConsonnant
-};
-
-const TUint16 KPinyinNoFirstElem[] =
-    {
-    0x69, 0x76, 0x75
-    };
-    
-// -----------------------------------------------------------------------------
-// CPinyinAnalyserDbFeed::NewL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CZhuyinAnalyserDbFeed* CZhuyinAnalyserDbFeed::NewL( TPinyinAnalyserDbType aType )
-    {
-    CZhuyinAnalyserDbFeed* self = new ( ELeave ) CZhuyinAnalyserDbFeed();
-    CleanupStack::PushL(self);
-    self->ConstructL( aType ); 
-    CleanupStack::Pop();
-    return self;    
-    }
-    
-CZhuyinAnalyserDbFeed::~CZhuyinAnalyserDbFeed()
-    {
-    
-    }
-// -----------------------------------------------------------------------------
-// CPinyinAnalyserDbFeed::~CPinyinAnalyserDbFeed
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CZhuyinAnalyserDbFeed::CZhuyinAnalyserDbFeed()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPinyinAnalyserDbFeed::~CPinyinAnalyserDbFeed
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//    
-void CZhuyinAnalyserDbFeed::ConstructL( TPinyinAnalyserDbType aType )
-    {
-    
-    if ( aType == EPinyinAnalyserTypePinyin )
-        {
-        iSpellBuf.Set( KPinyinSpellsLib, sizeof( KPinyinSpellsLib ) / sizeof( KPinyinSpellsLib[0] ) );
-        iSpellLenBuf.Set( KPinyinSpellsLength, sizeof( KPinyinSpellsLength ) / sizeof ( KPinyinSpellsLength[0] ) );
-        iSpellElemBase = KPinyinBase;
-        iSpellElemLen  = KPinyinElementCount;
-        iSpellTypeBuf.Set( KPinyinTypeTable, sizeof( KPinyinTypeTable ) / sizeof ( KPinyinTypeTable[0] ) );
-        iNoFirstElements.Set( KPinyinNoFirstElem, sizeof( KPinyinNoFirstElem) / sizeof( KPinyinNoFirstElem[0] ) );
-        }
-    else if ( aType == EPinyinAnalyserTypeZhuyin )
-        {
-        iSpellBuf.Set( KZhuyinSpellsLib, sizeof( KZhuyinSpellsLib ) / sizeof( KZhuyinSpellsLib[0] ) );
-        iSpellLenBuf.Set( KZhuyinSpellsLength, sizeof( KZhuyinSpellsLength ) / sizeof ( KZhuyinSpellsLength[0] ) );
-        iSpellElemBase = KZhuyinBase;
-        iSpellElemLen  = KZhuyinElementCount;
-        iSpellTypeBuf.Set( KZhuyinTypeTable, sizeof( KZhuyinTypeTable ) / sizeof ( KZhuyinTypeTable[0] ) );
-        iNoFirstElements.Set( KZhuyinNoFirstElem, sizeof( KZhuyinNoFirstElem) / sizeof( KZhuyinNoFirstElem[0] ) );
-        }
-    else
-        {
-        ASSERT( 0 );    
-        }
-    
-    }
-
-TBool CZhuyinAnalyserDbFeed::IsToneMark( TUint16 acoseFirst, TUint16 aCodeSecond )
-    {
-    TBool first = EFalse;
-    TBool seconde = EFalse;
-    
-    for ( TInt i = 0; i < iNoFirstElements.Length(); ++i )
-        {
-        if ( iNoFirstElements[i] == acoseFirst )
-            {
-            first = ETrue;
-            }
-        if ( iNoFirstElements[i] == aCodeSecond )
-            {
-            seconde = ETrue;
-            }    
-        }
-    
-    if ( first && seconde )
-        {
-        return ETrue;
-        }
-    else
-        {
-        return EFalse;
-        }
-    }
--- a/fep/aknfep/src/aknfepinputstatecandidatepinyinphrasecreation.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,367 +0,0 @@
-/*
-* Copyright (c) 2008 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:           
-*       Provides the aknfepinputstatecandidatepinyinphrasecreation definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// System includes
-#include <PtiEngine.h>   
-#include <avkon.rsg>
-#include <aknfep.rsg>
-//#include <aknquerydialog.h> //CAknQueryDialog  
-
-// User includes
-#include "aknfepinputstatecandidatepinyinphrasecreation.h"
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUICtrlPinyinPopup.h"        //Pinyin phrase
-#include "aknfepuictrleditpane.h"           //pinyin phrase creation
-#include "AknFepUIManagerStateInterface.h"  
-#include "AknFepManager.h"     
-
-// Constant definition
-const TInt KMinCnadidateCount = 1;
-const TInt KMaxSpellingLength = 10;
-const TInt KMaxPhraseCreationCount = 7;
-
-//add  the max phrase is seven
-_LIT( KMaxPhraseNote,"\x8BCD\x7EC4\x6700\x957F\x4E3A\x4E03\x5B57" );
-
-
-// ---------------------------------------------------------------------------
-// AknFepUiInputStateCandidatePinyinAndStrokePhrase::
-// TAknFepUiInputStateCandidatePinyinAndStrokePhrase
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-TAknFepInputStateCandidatePinyinPhraseCreation::
-    TAknFepInputStateCandidatePinyinPhraseCreation(
-        MAknFepUIManagerStateInterface* aOwner,
-        MAknFepUICtrlContainerChinese* aUIContainer) :
-        TAknFepInputStatePinyinPhraseCreationBase( aOwner, aUIContainer)
-    {
-    iState = ECandidateSelection;
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    
-    TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() &&
-                            uiContainer->CandidatePane()->IsFirstPage());
-    TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength > KMinCnadidateCount;
-
-    uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows); 
-    uiContainer->ShowVerticalScrollArrows(ETrue);
-    uiContainer->FocusCandidatePane(ETrue);
-    uiContainer->CandidatePane()->ShowCandidateOrdinals(ETrue);
-    uiContainer->CandidatePane()->SelectFirstPhrase();
-    uiContainer->SetFepMan( iOwner->FepMan() );
-    
-    UpdateIndicator();
-    ChangeCba();
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateCandidatePinyinPhraseCreation::HandleKeyL
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputStateCandidatePinyinPhraseCreation::HandleKeyL(TInt aKey,
-                                                                 TKeyPressLength aLength)
-    {
-    switch( aKey )
-        {
-        case EKeyBackspace:
-            KeyBackspace();
-            break;
-        case EKeyCBA2:
-            iOwner->FepMan()->TryCloseUiL();
-            break;
-        default:
-            HandleKeyUpDownLeftRightArrowOrKeyCBA1OKL( aKey, aLength );
-            break;
-        }
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// Update indicator.
-// ---------------------------------------------------------
-//
-void TAknFepInputStateCandidatePinyinPhraseCreation::UpdateIndicator()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();        
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-        
-    if (candidatePane->IsFirstPage())
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows(EFalse);    
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows(ETrue);    
-        }
-    if ( candidatePane->IsLastPage() )
-       {
-       uiContainer->CandidatePane()->ShowDownScrollArrows(EFalse);
-       }
-    else
-       {
-       uiContainer->CandidatePane()->ShowDownScrollArrows(ETrue);      
-       }
-    }
-
-// ---------------------------------------------------------
-// Handle horizontal navigation.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputStateCandidatePinyinPhraseCreation::HandleHorizontalNavigation(TInt aKey)
-    {
-    MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-    TBool response = EFalse;
-
-    // Do navigation...
-    if (aKey == EKeyLeftArrow)
-        {
-        if( !candidatePane->SelectPrev() )
-            {
-            candidatePane->SetCandidateBuffer();
-            candidatePane->SelectLastPhrase();
-            }
-        response = ETrue;
-        }
-    else if (aKey == EKeyRightArrow)
-        {                  
-        if( !candidatePane->SelectNext() )
-            {
-            candidatePane->SetCandidateBuffer();
-            candidatePane->SelectFirstPhrase();
-            }
-        response = ETrue;
-        }
-        
-    if (response)
-        {
-        UpdateIndicator();
-        }   
-             
-    return response;
-    }
-
-// ---------------------------------------------------------
-// Handle vertical navigation.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputStateCandidatePinyinPhraseCreation::HandleVerticalNavigation(TInt aKey)
-    {
-    MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-
-    if (aKey == EKeyDownArrow)
-        {
-        if (candidatePane->IsLastPage())
-            {
-            return ETrue;
-            }                
-        candidatePane->NextCandidatePage();
-        }
-    else if (aKey == EKeyUpArrow)
-        {
-        if (candidatePane->IsFirstPage() )
-            {
-            return ETrue;   
-            }       
-        candidatePane->PreviousCandidatePage();
-        }
-    else
-        {
-        return EFalse;
-        }
-    candidatePane->SetCandidateBuffer();
-    candidatePane->SelectFirstPhrase();
-    UpdateIndicator(); 
-
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// Commit inline to the EEP ctrl.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputStateCandidatePinyinPhraseCreation::CommitInlineEEPL( const TDesC& aText )
-    {
-    MAknFepUICtrlPinyinPopup* popup = UIContainer()->PinyinPopupWindow();
-    CDesCArrayFlat* keystrokeArray = popup->ShowKeystrokeArray();
-    CDesCArrayFlat* validKeystroke = popup->InEffectKeystrokeArray();
-    CDesCArrayFlat* chooseChineseCharacterArray = 
-        popup->ChooseChineseCharacterArray();
-    CDesCArrayFlat* chooseChineseCharacterArrayKeystroke = 
-        popup->ChooseChineseCharacterArrayKeystroke();
-    TInt keyCount = validKeystroke->Count();
-    
-    TBuf<KMaxSpellingLength> keystroke;
-    
-    popup->SetPhraseCreationState( ETrue );
-    
-    for ( TInt i = 0; i < keyCount; i++ )
-        {
-        keystroke.Append( keystrokeArray->MdcaPoint( 0 ) );
-        keystrokeArray->Delete( 0 );
-        }
-    
-    chooseChineseCharacterArray->AppendL( aText );
-    chooseChineseCharacterArrayKeystroke->AppendL( keystroke );
-    validKeystroke->Reset();
-    
-    if ( chooseChineseCharacterArray->Count() >= KMaxPhraseCreationCount )
-        {
-        keystrokeArray->Reset();
-        CDesCArrayFlat* phraseCandidates = 
-            UIContainer()->CandidatePane()->CandidateArray();
-        phraseCandidates->Reset();
-        phraseCandidates->AppendL( KMaxPhraseNote );
-        RefreshUI( 0 );
-        return EFalse;
-        }  
-    return keystrokeArray->Count();
-    }
-
-// ---------------------------------------------------------
-// KeyBackspace.
-// ---------------------------------------------------------
-//
-void TAknFepInputStateCandidatePinyinPhraseCreation::KeyBackspace()
-    {
-    MAknFepUICtrlPinyinPopup* popup = UIContainer()->PinyinPopupWindow();
-    // there is  "ChangeCba()" before 
-    popup->SetChangeState( ETrue );
-    iOwner->ChangeState(ESpellingSelection);
-    }
-
-// ---------------------------------------------------------
-// Key Up,Down,Left,RightArrow Or Key CBA1,OK.
-// ---------------------------------------------------------
-//
-void TAknFepInputStateCandidatePinyinPhraseCreation::HandleKeyUpDownLeftRightArrowOrKeyCBA1OKL( 
-                                     TInt aKey, 
-                                     TKeyPressLength aLength )
-    {
-    MAknFepUICtrlPinyinPopup* popup = UIContainer()->PinyinPopupWindow();
-    MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-    TInt index = MapKeyToIndex(aKey);
-           
-    if ( aKey == EKeyUpArrow &&
-        iOwner->FepMan()->InputMode() == EPinyin &&
-        candidatePane->IsFirstPage())
-        {
-        popup->SetChangeState( ETrue );
-        iOwner->ChangeState(ESpellingSelection);
-        return;
-        }
-    TBool state = ETrue;
-    if ( popup->IsChangeStatet() && aLength == ELongKeyPress )
-        {
-        state = EFalse;
-        }
-    else
-        {
-        popup->SetChangeState( EFalse );
-        }
-    
-    if ( state )
-       {
-       if ( !(HandleVerticalNavigation( aKey )
-           || HandleHorizontalNavigation( aKey ) ) )
-         {
-              // it may be one of the 'valid' numbers..
-           if ( candidatePane->SelectIndex( index, EFalse ) || aKey == EKeyOK
-               || aKey == EKeyCBA1 )
-              {
-               ChangeStateOrNotL(); 
-              }
-           ChangeCba();
-          }
-       }
-    }
-   
-// ---------------------------------------------------------
-// change the state or not 
-// ---------------------------------------------------------
-//
-void TAknFepInputStateCandidatePinyinPhraseCreation::ChangeStateOrNotL()
-	{
-	 MAknFepUICtrlPinyinPopup* popup = UIContainer()->PinyinPopupWindow();
-	 MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-    TPtrC text = candidatePane->CurrentPhraseCandidate();
-    if ( text.Length() )
-        {
-        CDesCArrayFlat* chooseChineseCharacterArray =
-            popup->ChooseChineseCharacterArray();
-        //here need Commit text to EEP and change 
-        //state to EEP entry state if keystroke is empty
-        //else keep spelling state 
-        if ( chooseChineseCharacterArray->Count() < KMaxPhraseCreationCount )
-            {
-            if ( !CommitInlineEEPL( text ) )
-                {
-                popup->SetChangeState( ETrue );
-                iOwner->ChangeState( EKeySequenceEdit );
-                TBool visible =
-                    ( chooseChineseCharacterArray->Count() == KMaxPhraseCreationCount );
-                UIContainer()->SetControlInVisible( visible );
-                }
-            else
-                {
-                if ( !popup->IsEnabled() )
-                    {
-                    popup->Enable( ETrue );
-                    }
-                if ( !GetValidKeystroke() )
-                    {
-                    UIContainer()->SetControlInVisible( EFalse );
-                    popup->SetChangeState( ETrue );
-                    iOwner->ChangeState( EKeySequenceEdit );
-                    }
-                else
-                    {
-                    popup->SetChangeState( ETrue );
-                    iOwner->ChangeState( ESpellingSelection );
-                    }
-                }
-            }
-        else
-            {
-            popup->SetChangeState( ETrue );
-            iOwner->ChangeState( EKeySequenceEdit );
-            }
-        }
-    else
-        {
-        // No candidates available. Back to Entry state.
-        popup->SetChangeState( ETrue );
-        iOwner->ChangeState( EKeySequenceEdit );
-        }
-    }
-
-
-// End of file
--- a/fep/aknfep/src/aknfepinputstateminiqwertyzhuyinkeymap.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-/*
-* Copyright (c) 2008 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:            This file contains classes of phrase creation layout data management
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-
-#include "aknfepinputstateminiqwertyzhuyinkeymap.h"
-#include <PtiDefs.h>
-
-const TInt16  KZhuyinSymbolUnicode = 0x2462;
-
-_LIT(KToneMark1, "\x02D9");
-_LIT(KToneMark2, "\x02CA");
-_LIT(KToneMark3, "\x02C7");
-_LIT(KToneMark4, "\x02CB");
-_LIT(KToneMark5, "\x0020");
-_LIT(KRightBracket, "(");
-_LIT(KLeftBracket, ")");
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateMiniQwertyZhuyinKeyMap::GetKeyStroke
-// Get the key stroke.
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateMiniQwertyZhuyinKeyMap::GetKeyStroke(
-    CPtiEngine* aPtiEngine, TInt& aKey, TDes& aKeystroke )
-    {
-    TBuf<KMaxName> lowerdata;
-    aPtiEngine->MappingDataForKey( (TPtiKey)aKey, lowerdata, EPtiCaseLower );
-
-    TBuf<2> zhuyinStoke;
-    if ( lowerdata.Length( ) > 0 )
-        {
-        for (TInt i=0; i<lowerdata.Length()-1; i++ )
-            {
-            if ( lowerdata[i]==KZhuyinSymbolUnicode )
-                {
-                zhuyinStoke.Append( lowerdata.Mid( i+1, 1 ) );
-                }
-            }
-        }
-
-    if ( zhuyinStoke.Compare( KToneMark1 ) == 0
-        || zhuyinStoke.Compare( KToneMark2 ) == 0
-        || zhuyinStoke.Compare( KToneMark3 ) == 0
-        || zhuyinStoke.Compare( KToneMark4 ) == 0
-        || zhuyinStoke.Compare( KToneMark5 ) == 0 )
-        {
-        aKeystroke.Copy( zhuyinStoke );
-        }
-    else
-        {
-        aKeystroke.Append( KRightBracket );
-        aKeystroke.Append( zhuyinStoke );
-        aKeystroke.Append( KLeftBracket );
-        }
-    }
-
-// End of File
--- a/fep/aknfep/src/aknfepinputstatepinyinphrasecreationbase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1084 +0,0 @@
-/*
-* Copyright (c) 2008 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:           
- *      Provides the TAknFepInputStateEntryPinyinPhraseCreation methods.
- *
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include <PtiEngine.h>                          //CPtiEngine
-#include <PtiUserDicEntry.h>
-#include <avkon.rsg>
-#include <aknfep.rsg>
-
-#include "aknfepinputstatepinyinphrasecreationbase.h"
-#include "AknFepPanic.h"
-#include "AknFepUIManagerStateInterface.h"      //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"           //MAknFepManagerUIInterface
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUICtrlPinyinPopup.h"    //Pinyin phrase
-#include "aknfepuictrleditpane.h" 
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUICtrlInputPane.h"
-
-const TUint16 KToneMarkLib[] = 
-    {
-    0x02C9, 0x02CA, 0x02C7, 0x02CB, 0x02D9
-    };
-
-const TUint16 KDelimiter =0x0027; 
-const TInt KToneMarkMax = 5;
-const TInt KMaxKeystrokeCount = 31;
-const TInt KMaxPhraseCreationCount = 7;
-
-_LIT( KKey2, "2");
-_LIT( KKey3, "3");
-_LIT( KKey4, "4");
-_LIT( KKey5, "5");
-_LIT( KKey6, "6");
-_LIT( KKey7, "7");
-_LIT( KKey8, "8");
-_LIT( KKey9, "9");
-//KMaxPhraseNote means the max phrase is seven
-_LIT( KMaxPhraseNote,"\x8BCD\x7EC4\x6700\x957F\x4E3A\x4E03\x5B57" );
-
-// ---------------------------------------------------------
-// C++ constructor
-// ---------------------------------------------------------
-//
-TAknFepInputStatePinyinPhraseCreationBase::TAknFepInputStatePinyinPhraseCreationBase(
-    MAknFepUIManagerStateInterface* aOwner,
-    MAknFepUICtrlContainerChinese* aUIContainer ) :
-    TAknFepInputStateCandidateBase( aOwner, aUIContainer )
-    {    
-    }
-
-// ---------------------------------------------------------
-// Add keystroke.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputStatePinyinPhraseCreationBase::AddKeystroke( TInt aKey )
-    {
-    TBool result = ETrue;
-    TRAPD( ret, result = AddKeystrokeL( aKey ) );
-    if ( KErrNone != ret )
-        {
-        return EFalse;
-        }
-    return result;
-    }
-
-// ---------------------------------------------------------
-// Add tone mark.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputStatePinyinPhraseCreationBase::AddToneMark()
-    {
-    TBool result = ETrue;
-    TRAPD( ret, result = AddToneMarkL() );
-    if ( KErrNone != ret )
-        {
-        return EFalse;
-        }
-    return result;
-    }
-
-// ---------------------------------------------------------
-// get the valid keystroke.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputStatePinyinPhraseCreationBase::GetValidKeystroke()
-    {
-    TBool result = ETrue;
-    TRAPD( ret, result = GetValidKeystrokeL() );
-    if ( KErrNone != ret )
-        {
-        return EFalse;
-        }
-    return result;
-    }
-
-// ---------------------------------------------------------
-// Delete current keystroke.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputStatePinyinPhraseCreationBase::DeleteCurrentKeystroke()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* showKeystroke = popup->ShowKeystrokeArray();
-    TInt index = editPane->GetCursorIndexOfKeystroke();
-    
-    if ( 0 == index )
-        {
-        return EFalse;
-        }
-    
-    showKeystroke->Delete( index - 1 );
-    editPane->SetCursorIndexOfKeystroke( index - 1 );
-    
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// Delete current keystroke.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputStatePinyinPhraseCreationBase::ChineseRevertKeystroke()
-    {
-    TBool result = ETrue;
-    TRAPD( ret, result = ChineseRevertKeystrokeL() );
-    if ( KErrNone != ret )
-        {
-        return EFalse;
-        }
-    return result;
-    }
-
-// ---------------------------------------------------------
-// show info to the eep ctrl.
-// ---------------------------------------------------------
-//
-void TAknFepInputStatePinyinPhraseCreationBase::ShowInfo()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* showKeystroke = popup->ShowKeystrokeArray();
-    CDesCArrayFlat* chinese = popup->ChooseChineseCharacterArray();
-    TInt index = editPane->GetCursorIndexOfKeystroke();
-    
-    TBuf<KMaxKeystrokeCount> buf;
-    
-    for ( TInt i = 0; i < chinese->Count(); ++i )
-        {
-        buf.Append( chinese->MdcaPoint( i ) );
-        }
-    
-    for ( TInt i = 0; i < showKeystroke->Count(); ++i )
-        {
-        buf.Append( showKeystroke->MdcaPoint( i ) );
-        }
-    
-    if ( showKeystroke->Count() == 0 )
-        {
-        editPane->SetCursorIndexOfKeystroke( 0 );
-        index = 0;
-        }
-    
-    editPane->SetText( buf, chinese->Count() + index );
-    }
-
-// ---------------------------------------------------------
-// set the show info warning color.
-// ---------------------------------------------------------
-//
-void TAknFepInputStatePinyinPhraseCreationBase::SetWarningColor()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    TInt showKeystrokeCount = popup->ShowKeystrokeArray()->Count();
-    TInt chineseCount = popup->ChooseChineseCharacterArray()->Count();
-    TInt validKeytrokeCount = popup->KeystrokeArray()->Count();
-    if ( 0 == validKeytrokeCount )
-        {
-        editPane->SetHighlight( chineseCount, chineseCount + showKeystrokeCount );
-        }
-    }
-
-// ---------------------------------------------------------
-// Get the candidate info.
-// ---------------------------------------------------------
-//
-void TAknFepInputStatePinyinPhraseCreationBase::GetCandidate( TInt aSelection )
-    {
-    TRAP_IGNORE( GetCandidateL( aSelection ) );
-    }
-
-// ---------------------------------------------------------
-// Change CBA
-// ---------------------------------------------------------
-//
-void TAknFepInputStatePinyinPhraseCreationBase::ChangeCba()
-    {
-    TRAP_IGNORE( ChangeCbaL() );
-    }
-
-// ---------------------------------------------------------
-// Refresh UI
-// ---------------------------------------------------------
-//
-void TAknFepInputStatePinyinPhraseCreationBase::RefreshCandidate()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    MAknFepUICtrlInputPane* inputPane = uiContainer->InputPane();
-    CDesCArrayFlat* validKeystroke = popup->InEffectKeystrokeArray();
-    CDesCArrayFlat* spelling = popup->PhoneticSpellingArray();
-    CDesCArrayFlat* candidateArray = 
-        uiContainer->CandidatePane()->CandidateArray();
-    TInt chineseCount = popup->ChooseChineseCharacterArray()->Count();
-    // have valid keystroke.
-    if ( validKeystroke->Count() > 0 )
-        {
-        uiContainer->SetControlInVisible( ETrue );
-        // set display page for delibrate selection
-        ClearDeliberateSelection();
-        GetCandidate( );
-        uiContainer->CandidatePane()->SplitPhraseCandidatesIntoPages();
-        uiContainer->CandidatePane()->SetCandidateBuffer();
-        uiContainer->Enable( ETrue );
-        uiContainer->ShowHorizontalScrollArrows( EFalse );
-        uiContainer->ShowVerticalScrollArrows( ETrue );
-        }
-    else
-        {
-        candidateArray->Reset();
-        if ( KMaxPhraseCreationCount == chineseCount )
-            {
-            uiContainer->SetControlInVisible( ETrue );
-            TRAP_IGNORE( candidateArray->AppendL( KMaxPhraseNote ) );
-            }
-        else
-            {
-            uiContainer->SetControlInVisible( EFalse );
-            }
-        
-        uiContainer->CandidatePane()->SplitPhraseCandidatesIntoPages();
-        uiContainer->CandidatePane()->SetCandidateBuffer();
-        uiContainer->Enable( ETrue );
-        uiContainer->ShowHorizontalScrollArrows( EFalse );
-        uiContainer->ShowVerticalScrollArrows( EFalse );
-        }    
-        
-    if (  EKeySequenceEdit == iState )
-        {
-        //popup->SetNoneHighlighted();
-        }
-    uiContainer->Enable(ETrue);
-    popup->Enable( validKeystroke->Count() > 0 );    
-    UpdateIndicator();
-    }
-
-// ---------------------------------------------------------
-// Refresh UI
-// ---------------------------------------------------------
-//
-void TAknFepInputStatePinyinPhraseCreationBase::RefreshUI(TInt aSelection)
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    MAknFepUICtrlInputPane* inputPane = uiContainer->InputPane();
-    CDesCArrayFlat* validKeystroke = popup->InEffectKeystrokeArray();
-    CDesCArrayFlat* spelling = popup->PhoneticSpellingArray();
-    CDesCArrayFlat* candidateArray = 
-        uiContainer->CandidatePane()->CandidateArray();
-    TInt chineseCount = popup->ChooseChineseCharacterArray()->Count();
-    // have valid keystroke.
-    if ( validKeystroke->Count() > 0 )
-        {
-        uiContainer->SetControlInVisible( ETrue );
-        popup->SplitPhraseSpellingIntoPages();
-        inputPane->SetText( spelling->MdcaPoint( aSelection ) );
-        // set display page for delibrate selection
-        popup->SetDisplayPage(aSelection);
-        popup->SetPhraseItemTexts();
-        popup->PopupSizeChanged();
-        GetCandidate( aSelection );
-        uiContainer->CandidatePane()->SplitPhraseCandidatesIntoPages();
-        uiContainer->CandidatePane()->SetCandidateBuffer();
-        uiContainer->Enable( ETrue );
-        uiContainer->ShowHorizontalScrollArrows( EFalse );
-        uiContainer->ShowVerticalScrollArrows( ETrue );
-        }
-    else
-        {
-        candidateArray->Reset();
-        if ( KMaxPhraseCreationCount == chineseCount )
-            {
-            uiContainer->SetControlInVisible( ETrue );
-            TRAP_IGNORE( candidateArray->AppendL( KMaxPhraseNote ) );
-            }
-        else
-            {
-            uiContainer->SetControlInVisible( EFalse );
-            }
-        
-        uiContainer->CandidatePane()->SplitPhraseCandidatesIntoPages();
-        uiContainer->CandidatePane()->SetCandidateBuffer();
-        uiContainer->Enable( ETrue );
-        uiContainer->ShowHorizontalScrollArrows( EFalse );
-        uiContainer->ShowVerticalScrollArrows( EFalse );
-        }    
-        
-    if (  EKeySequenceEdit == iState )
-        {
-        popup->SetNoneHighlighted();
-        }
-    uiContainer->Enable(ETrue);
-    popup->Enable( validKeystroke->Count() > 0 );    
-    UpdateIndicator();
-    }
-
-// ---------------------------------------------------------
-// clear selection.
-// ---------------------------------------------------------
-//
-void TAknFepInputStatePinyinPhraseCreationBase::ClearDeliberateSelection()
-    {
-    // we must have just deleted the last character, 
-    // or we are starting a new pinyin session, so wipe the last deliberate selection
-    TPtr oldDeliberateSelection = iOwner->GetLatestDeliberateSelection();
-    oldDeliberateSelection = KNullDesC;
-    }
-
-// ---------------------------------------------------------
-// clear the keystroke of PtiEngine.
-// ---------------------------------------------------------
-//
-void TAknFepInputStatePinyinPhraseCreationBase::ClearPtiEngineKeystroke()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    for ( TInt i = 0; i < KMaxKeystrokeCount; ++i )
-        {
-        ptiengine->DeleteKeyPress();
-        }
-    }
-
-
-// ---------------------------------------------------------
-// Get the code of Keystroke in ITUT.
-// ---------------------------------------------------------
-//
-TInt TAknFepInputStatePinyinPhraseCreationBase::GetKeystrokeCode(
-                                                       TPtiKey& aKey, 
-                                                       const TDesC& aKeystroke )
-    {    
-    if ( aKeystroke.Length() < 1 )
-        {
-        return EKeyStrokeNull;
-        }
-    
-    // the input key is delimiter the return -1.
-    if ( KDelimiter == aKeystroke[0] )
-        {
-        aKey = EPtiKey1;
-        return EKeyDelimiter;
-        }
-    // the input key is tone mark return tone mark.
-    for ( TInt i = 0; i < KToneMarkMax; ++i )
-        {
-        if ( KToneMarkLib[i] == aKeystroke[0] )
-            {
-            return i + 1;
-            }
-        }
-    // the keystroke is 2 - 9.
-    if ( 0 == aKeystroke.Compare( KKey2 ) )
-        {
-        aKey = EPtiKey2;
-        }
-    else if ( 0 == aKeystroke.Compare( KKey3 ) )
-        {
-        aKey = EPtiKey3;
-        }
-    else if ( 0 == aKeystroke.Compare( KKey4 ) )
-        {
-        aKey = EPtiKey4;
-        }
-    else if ( 0 == aKeystroke.Compare( KKey5 ) )
-        {
-        aKey = EPtiKey5;
-        }
-    else if ( 0 == aKeystroke.Compare( KKey6 ) )
-        {
-        aKey = EPtiKey6;
-        }
-    else if ( 0 == aKeystroke.Compare( KKey7 ) )
-        {
-        aKey = EPtiKey7;
-        }
-    else if ( 0 == aKeystroke.Compare( KKey8 ) )
-        {
-        aKey = EPtiKey8;
-        }
-    else if ( 0 == aKeystroke.Compare( KKey9 ) )
-        {
-        aKey = EPtiKey9;
-        }
-    return EkeyNumber;
-    }
-
-
-// ---------------------------------------------------------
-// Append the key to the ptiengine.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputStatePinyinPhraseCreationBase::AppendKeyPressL( 
-                                                 TPtiKey& aKey,
-                                                 TBool aAddSpellingFlag
-                                                 )
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    CDesCArrayFlat* tempSpelling = popup->TempSpelling();
-    CDesCArrayFlat* spelling = popup->PhoneticSpellingArray();
-    CDesCArrayFlat* afterCheck = popup->OptimizeSpelling();
-    
-    tempSpelling->Reset();
-    afterCheck->Reset();
-    TInt stringBeforeLength = ptiengine->GetPhoneticSpelling(1).Length();
-    TInt stringAfterLength = ptiengine->AppendKeyPress(aKey).Length();
-    // the pti can't append key.
-    if ( stringBeforeLength == stringAfterLength )
-        {
-        return EFalse;
-        }
-    // get the spelling by pti.
-    ptiengine->GetPhoneticSpellingsL( *tempSpelling );
-    // delete the phrase spelling.
-    CheckSpellingL( tempSpelling, afterCheck );
-    if ( afterCheck->Count() > 0 )
-        {
-        if ( !aAddSpellingFlag )
-            {
-            for( TInt i = afterCheck->Count() - 1; i >= 0; --i )
-                {
-                spelling->InsertL( 0, afterCheck->MdcaPoint( i ) );
-                }
-            }
-        return ETrue;            
-        }
-    
-    return EFalse;
-    }
-
-// ---------------------------------------------------------
-// Append the tone mark to the ptiengine.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputStatePinyinPhraseCreationBase::AppendToneMarkL( TInt& aToneMark )
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    CDesCArrayFlat* tempSpelling = popup->TempSpelling();
-    CDesCArrayFlat* spelling = popup->PhoneticSpellingArray();    
-    
-    for ( TInt i = 0; i < aToneMark; ++i )
-        {
-        tempSpelling->Reset();
-        ptiengine->IncrementToneMark( ETrue );
-        // get the spelling by pti.
-        ptiengine->GetPhoneticSpellingsL( *tempSpelling );
-        if ( CheckToneMark( aToneMark ) )
-            {
-            break;
-            }
-        }
-    
-    if ( tempSpelling->Count() > 0 )
-        {
-        for ( TInt i = tempSpelling->Count() - 1; i >= 0; --i )
-            {
-            spelling->InsertL( 0, tempSpelling->MdcaPoint( i ) );
-            }
-        return ETrue;
-        }
-    
-    return EFalse;
-    }
-
-// ---------------------------------------------------------
-// check the spelling delete the phrase spelling.
-// ---------------------------------------------------------
-//
-void TAknFepInputStatePinyinPhraseCreationBase::CheckSpellingL(
-                                               CDesCArrayFlat* aTempSpelling,
-                                               CDesCArrayFlat* aAfterCheck
-                                               )
-    {
-    TBuf<1> buf;
-    buf.Append( KDelimiter );
-    for (TInt i = 0; i < aTempSpelling->Count(); ++i )
-        {
-        if ( KErrNotFound == aTempSpelling->MdcaPoint(i).Find( buf ) )
-            {
-            aAfterCheck->AppendL( aTempSpelling->MdcaPoint(i) );
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// check the tone mark and delete the phrase spelling.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputStatePinyinPhraseCreationBase::CheckToneMark( TInt& aToneMark )
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    CDesCArrayFlat* tempSpelling = popup->TempSpelling();
-    TBuf<1> delimiter;
-    delimiter.Append( KDelimiter );
-    
-    for ( TInt i = tempSpelling->Count() - 1; i >= 0; --i )
-        {
-        if ( KErrNotFound != tempSpelling->MdcaPoint( i ).Find( delimiter ) )
-            {
-            tempSpelling->Delete( i );
-            }
-        else
-            {
-            if ( KToneMarkLib[ aToneMark - 1 ] != 
-                tempSpelling->MdcaPoint( i ).Right( 1 )[0] )
-                {
-                tempSpelling->Delete( i );
-                }
-            }
-        }
-    tempSpelling->Compress();
-    return tempSpelling->Count();
-    }
-
-
-// ---------------------------------------------------------
-// Add keystroke.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputStatePinyinPhraseCreationBase::AddKeystrokeL( TInt aKey )
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* showKeystroke = popup->ShowKeystrokeArray();
-    TInt index = editPane->GetCursorIndexOfKeystroke();
-    TInt chineseCount = popup->ChooseChineseCharacterArray()->Count();
-    TBuf<1> key;
-    
-    if ( showKeystroke->Count() + chineseCount >= KMaxKeystrokeCount )
-        {
-        return EFalse;
-        }
-    
-    if ( KMaxPhraseCreationCount == chineseCount )
-        {
-        return EFalse;
-        }
-    
-    switch( (TPtiKey)aKey )
-        {
-        case EPtiKey0:
-            key.Append( KDelimiter );
-            break;
-        case EPtiKey1:
-            key.Append( KDelimiter );
-            break;
-        case EPtiKey2:
-            key.Append( EPtiKey2 );
-            break;
-        case EPtiKey3:
-            key.Append( EPtiKey3 );
-            break;
-        case EPtiKey4:
-            key.Append( EPtiKey4 );
-            break;
-        case EPtiKey5:
-            key.Append( EPtiKey5 );
-            break;
-        case EPtiKey6:
-            key.Append( EPtiKey6 );
-            break;  
-        case EPtiKey7:
-            key.Append( EPtiKey7 );
-            break;
-        case EPtiKey8:
-            key.Append( EPtiKey8 );
-            break;
-        case EPtiKey9:
-            key.Append( EPtiKey9 );
-            break;
-        default:
-            return EFalse;
-        }
-    
-    if ( index > showKeystroke->Count() )
-        {
-        index = showKeystroke->Count();
-        }
-    
-    showKeystroke->InsertL( index, key );
-    editPane->SetCursorIndexOfKeystroke( index + 1 );
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// Add tone mark.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputStatePinyinPhraseCreationBase::AddToneMarkL()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* showKeystroke = popup->ShowKeystrokeArray();
-    TInt index = editPane->GetCursorIndexOfKeystroke();
-    TInt chineseCount = popup->ChooseChineseCharacterArray()->Count();
-    TBuf<1> key;
-    TInt toneMark( 0 );
-    
-    if ( KMaxPhraseCreationCount == chineseCount )
-        {
-        return EFalse;
-        }
-    
-    if ( showKeystroke->Count() + chineseCount >= KMaxKeystrokeCount )
-        {
-        if ( 0 == index )
-            {
-            return EFalse;
-            }
-        for ( TInt i = 0; i < KToneMarkMax; ++i )
-            {
-            if ( KToneMarkLib[i] == showKeystroke->MdcaPoint( index - 1 )[0] )
-                {
-                toneMark = i + 1;
-                break;
-                }
-            }
-        if ( 0 == toneMark )
-            {
-            return EFalse;
-            }
-        }
-    
-    if ( 0 == index )
-        {
-        key.Append( KToneMarkLib[0] );
-        showKeystroke->InsertL( 0, key );
-        editPane->SetCursorIndexOfKeystroke( 1 );
-        return ETrue;
-        }
-    
-    for ( TInt i = 0; i < KToneMarkMax; ++i )
-        {
-        if ( KToneMarkLib[i] == showKeystroke->MdcaPoint( index - 1 )[0] )
-            {
-            toneMark = i + 1;
-            break;
-            }
-        }
-    
-    if ( 0 == toneMark )
-        {
-        key.Append( KToneMarkLib[0] );
-        showKeystroke->InsertL( index, key );
-        editPane->SetCursorIndexOfKeystroke( index + 1 );
-        }
-    else if ( KToneMarkMax == toneMark )
-        {
-        key.Append( KToneMarkLib[0] );
-        showKeystroke->Delete( index - 1 );
-        showKeystroke->InsertL( index - 1, key );
-        }
-    else
-        {
-        key.Append( KToneMarkLib[toneMark] );
-        showKeystroke->Delete( index - 1 );
-        showKeystroke->InsertL( index - 1, key );
-        }
-    
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-//  check the keystroke.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputStatePinyinPhraseCreationBase::IsToneMark( const TDesC& aInput )
-    {
-    for ( TInt i = 0; i < KToneMarkMax; ++i )
-        {
-        if ( KToneMarkLib[i] == aInput[0] )
-            {
-            return ETrue;
-            }
-        }
-    return EFalse;
-    }
-// ---------------------------------------------------------
-//  check the keystroke.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputStatePinyinPhraseCreationBase::CheckKeystroke()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    CDesCArrayFlat* showKeystroke = popup->ShowKeystrokeArray();
-    TBuf<1> buf;
-    buf.Append( KDelimiter );
-    // if the keystroke is null then the keystroke is invalid.
-    if ( 0 == showKeystroke->Count() )
-        {
-        return EFalse;
-        }
-    // if the first keystroke is delimiter then keytroke is invalid. 
-    if ( KDelimiter == showKeystroke->MdcaPoint( 0 )[0] )
-        {
-        return EFalse;
-        }
-    // if the first keystroke is Tone mark then keytroke is invalid.
-    for ( TInt i = 0; i < KToneMarkMax; ++i )
-        {
-        if ( KToneMarkLib[i] == showKeystroke->MdcaPoint( 0 )[0] )
-            {
-            return EFalse;
-            }            
-        }
-    // the first keystroke is not delimiter and tone mark, if the number of keystroke
-    // is not more than two then must the keytroke are all valid.
-    if ( showKeystroke->Count() <= 2 )
-        {
-        return ETrue;
-        }
-    
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// get the valid keystroke.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputStatePinyinPhraseCreationBase::GetValidKeystrokeL()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    CDesCArrayFlat* showKeystroke = popup->ShowKeystrokeArray();
-    CDesCArrayFlat* spelling = popup->PhoneticSpellingArray();
-    CDesCArrayFlat* allValidKeystroke = popup->KeystrokeArray();
-    CDesCArrayFlat* validKeystroke = popup->InEffectKeystrokeArray();
-    TInt allValidKeyLen = allValidKeystroke->Count();
-    TPtiKey key;
-    TInt retCode(0);
-    TBool nextIsToneMark = EFalse;
-    TBuf<1> delimiter;
-    TBuf<KMaxKeystrokeCount> beforeBuf;
-    TBuf<KMaxKeystrokeCount> afterBuf;
-    
-    delimiter.Append( KDelimiter );
-    
-    for ( TInt i = 0; i < allValidKeyLen; ++i )
-        {
-        if ( 0 == allValidKeystroke->MdcaPoint( i ).Compare( delimiter ) )
-            {
-            break;
-            }
-        beforeBuf.Append( allValidKeystroke->MdcaPoint( i ) );
-        }
-    
-    spelling->Reset();
-    validKeystroke->Reset();
-    allValidKeystroke->Reset();
-    
-    ClearPtiEngineKeystroke();
-    if ( !CheckKeystroke() )
-        {
-        if ( allValidKeyLen > 0 )
-            {
-            popup->SetValidKeystrokeChange( ETrue );
-            }
-        else
-            {
-            popup->SetValidKeystrokeChange( EFalse );
-            }
-        return EFalse;
-        }
-    
-    // the firts keystroke is key 2 - 9.    
-    for ( TInt i = 0; i < showKeystroke->Count(); ++i )
-        {
-        retCode = GetKeystrokeCode( key, showKeystroke->MdcaPoint( i ) );
-        //the keystroke is delimiter.
-        if ( -1 == retCode )
-            {
-            validKeystroke->AppendL( showKeystroke->MdcaPoint( i ) );
-            allValidKeystroke->AppendL( showKeystroke->MdcaPoint( i ) );
-            break;
-            }
-        //the keystroke is 2 - 9
-        else if ( 0 == retCode )
-            {
-            //if the next keystroke is tone mark, then current keystroke and 
-            //the next keystroke need to whole check. 
-            if ( i < showKeystroke->Count() - 1 )
-                {
-                TPtiKey keyTmp;
-                if ( GetKeystrokeCode( keyTmp, 
-                    showKeystroke->MdcaPoint( i  + 1) ) > 0 )
-                    {
-                    nextIsToneMark = ETrue;
-                    }
-                }
-            if ( AppendKeyPressL( key, nextIsToneMark ) )
-                {
-                //the next keystroke is not tone mark.
-                if ( !nextIsToneMark )
-                    {
-                    validKeystroke->AppendL( showKeystroke->MdcaPoint( i ) );
-                    allValidKeystroke->AppendL( showKeystroke->MdcaPoint( i ) );
-                    }
-                }
-            else
-                {
-                break;
-                }
-            }
-        else
-            {
-            if ( AppendToneMarkL( retCode ) )
-                {
-                validKeystroke->AppendL( showKeystroke->MdcaPoint( i - 1 ) );
-                validKeystroke->AppendL( showKeystroke->MdcaPoint( i ) );
-                allValidKeystroke->AppendL( showKeystroke->MdcaPoint( i - 1 ) );
-                allValidKeystroke->AppendL( showKeystroke->MdcaPoint( i ) );
-                }
-            break;
-            }
-        }
-    for ( TInt i = 0; i < allValidKeystroke->Count(); ++i )
-        {
-        if ( 0 == allValidKeystroke->MdcaPoint( i ).Compare( delimiter ) )
-            {
-            break;
-            }
-        afterBuf.Append( allValidKeystroke->MdcaPoint( i ) );
-        }
-    
-    if ( allValidKeystroke->Count() > 0 )
-        {
-        if ( ( 0 == allValidKeyLen ) ||  
-            ( 0 != afterBuf.Compare( beforeBuf ) ) )
-            {
-            popup->SetValidKeystrokeChange( ETrue );
-            }
-        else
-            {
-            popup->SetValidKeystrokeChange( EFalse );
-            }
-        return ETrue;
-        }
-    
-    return EFalse;
-    }
-
-// ---------------------------------------------------------
-// Revert the current chinse to keystroke.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputStatePinyinPhraseCreationBase::ChineseRevertKeystrokeL()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* showKeystroke = popup->ShowKeystrokeArray();
-    CDesCArrayFlat* chinese = popup->ChooseChineseCharacterArray();
-    CDesCArrayFlat* chineseKeystroke = 
-        popup->ChooseChineseCharacterArrayKeystroke();
-    TInt index = editPane->GetCursorIndexOfKeystroke();
-    
-    if ( ( 0 != index ) || ( 0 == chinese->Count() ) )
-        {
-        return EFalse;
-        }
-    
-    if ( chineseKeystroke->MdcaPoint( chineseKeystroke->Count() - 1 ).Length() < 1 )
-        {
-        return EFalse;
-        }
-    
-    for( TInt i = chineseKeystroke->MdcaPoint( chineseKeystroke->Count() - 1 ).
-        Length() - 1; i >= 0 ; --i )
-        {
-        showKeystroke->InsertL( 0, chineseKeystroke->MdcaPoint( 
-            chineseKeystroke->Count() - 1 ).Mid( i, 1 ) );
-        }
-    
-    editPane->SetCursorIndexOfKeystroke( 
-        chineseKeystroke->MdcaPoint( chineseKeystroke->Count() - 1 ).Length() );
-    chinese->Delete( chinese->Count() - 1 );
-    chineseKeystroke->Delete( chineseKeystroke->Count() - 1 );
-    
-    // if the show inof's length more than KMaxKeystrokeCount, delete more inof.   
-    for ( TInt i = chinese->Count() + showKeystroke->Count() - KMaxKeystrokeCount; 
-        i > 0; --i )
-        {
-        showKeystroke->Delete( showKeystroke->Count() - 1 );
-        }
-        
-    showKeystroke->Compress();
-    chinese->Compress();
-    chineseKeystroke->Compress();
-    return ETrue;
-    }
-
-
-// ---------------------------------------------------------
-// Get the candidate info.
-// ---------------------------------------------------------
-//
-void TAknFepInputStatePinyinPhraseCreationBase::GetCandidateL( TInt aSelection )
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    CDesCArrayFlat* phraseCandidates = 
-        uiContainer->CandidatePane()->CandidateArray();
-    CDesCArrayFlat* spelling = popup->PhoneticSpellingArray();
-    
-    phraseCandidates->Reset();
-    if ( ( aSelection > spelling->Count() ) || ( 0 == spelling->Count() ) )
-        {
-        return;
-        }
-    extern void CleanArray( TAny* aAny );
-    RPointerArray<HBufC> list;
-    TCleanupItem cleanitem( CleanArray, &list );
-    CleanupStack::PushL( cleanitem );
-    TPtrC curSpell = spelling->MdcaPoint( aSelection );
-    HBufC* retString = ptiengine->GetCandidatesByInputString( 
-                                              spelling->MdcaPoint( aSelection ), 
-                                              list,
-                                              EFalse );
-    
-    CleanupStack::PushL( retString );
-    for (int index = 0; index < ptiengine->PhoneticSpellingCount(); index++)
-        {
-        TPtrC ptr = ptiengine->GetPhoneticSpelling(index + 1);               
-        if (ptr.Length() == curSpell.Length())
-            {
-            ptiengine->SelectPhoneticSpelling(index + 1);
-            ptiengine->GetChinesePhraseCandidatesL(*phraseCandidates);
-            break;
-            }
-        }
-    
-    CleanupStack::PopAndDestroy( retString );
-    CleanupStack::PopAndDestroy(); // cleanitem   
-    }
-
-// ---------------------------------------------------------
-// Change CBA
-// ---------------------------------------------------------
-//
-void TAknFepInputStatePinyinPhraseCreationBase::ChangeCbaL()
-    {
-    MAknFepUICtrlPinyinPopup* popup = UIContainer()->PinyinPopupWindow();
-    TInt keystrokeCount = popup->ShowKeystrokeArray()->Count();
-    TInt chineseCount = popup->ChooseChineseCharacterArray()->Count();
-    TInt validKeystrokeCount = popup->InEffectKeystrokeArray()->Count();
-    TInt lastRes = popup->GetLastResouce();
-
-    if ( ( chineseCount == KMaxPhraseCreationCount ) ||
-        ( ( 0 == keystrokeCount ) && ( chineseCount > 1 ) ) )
-        {
-        if ( lastRes == R_AKNFEP_SOFTKEYS_DONE_CANCEL_DONE )
-            {
-            return;
-            }
-        //User cba done-done-cancel
-        iOwner->FepMan()->UpdateCbaL( R_AKNFEP_SOFTKEYS_DONE_CANCEL_DONE );
-        popup->SetLastResouce( R_AKNFEP_SOFTKEYS_DONE_CANCEL_DONE );
-        }
-    else if ( ( 0 != keystrokeCount ) && ( 0 != validKeystrokeCount ) )
-        {
-        if ( lastRes == R_AKNFEP_SOFTKEYS_PHRASE_CREATION_SELECT_CANCEL_SELECT )
-            {
-            return;
-            }
-        //User cba select-select-cancel
-        iOwner->FepMan()->UpdateCbaL( R_AKNFEP_SOFTKEYS_PHRASE_CREATION_SELECT_CANCEL_SELECT );
-        popup->SetLastResouce( R_AKNFEP_SOFTKEYS_PHRASE_CREATION_SELECT_CANCEL_SELECT );
-        }
-    else
-        {
-        if ( lastRes == R_AKNFEP_SOFTKEYS__PHRASE_CREATION_EMPTY_CANCEL_EMPTY )
-            {
-            return;
-            }
-        iOwner->FepMan()->UpdateCbaL( R_AKNFEP_SOFTKEYS__PHRASE_CREATION_EMPTY_CANCEL_EMPTY );
-        popup->SetLastResouce( R_AKNFEP_SOFTKEYS__PHRASE_CREATION_EMPTY_CANCEL_EMPTY );
-        }
-    }
-
-// ---------------------------------------------------------
-// Update Indicator.
-// ---------------------------------------------------------
-//
-void TAknFepInputStatePinyinPhraseCreationBase::UpdateIndicator()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-
-    if ( candidatePane->IsFirstPage() )
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows( EFalse );
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows( ETrue );
-        }
-
-    if ( candidatePane->IsLastPage() )
-        {
-        uiContainer->CandidatePane()->ShowDownScrollArrows( EFalse );
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowDownScrollArrows( ETrue );
-        }
-
-    if ( candidatePane->SelectedIndex() == 0
-        && candidatePane->IsFirstPage() )
-        {
-        uiContainer->CandidatePane()->ShowLeftScrollArrows( EFalse );
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowLeftScrollArrows( ETrue );
-        }
-
-    if ( candidatePane->IsLastPage() && (candidatePane->SelectedIndex()
-        == candidatePane->VisibleCandidateCount() - 1 ) )
-        {
-        uiContainer->CandidatePane()->ShowRightScrollArrows( EFalse );
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowRightScrollArrows( ETrue );
-        }
-    }
-
-// End of file
--- a/fep/aknfep/src/aknfepinputstatespellingpinyinphrasecreation.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,402 +0,0 @@
-/*
-* Copyright (c) 2004 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:           
-*       Provides the CAknFepUIInputStatePinyinPhrase methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#include <PtiEngine.h>                          //CPtiEngine
-#include <PtiDefs.h>                            //keys
-#include <avkon.rsg>
-#include <aknfep.rsg>
-#include <aknnotewrappers.h>
-
-#include "AknFepPanic.h"
-#include "aknfepinputstatespellingpinyinphrasecreation.h"
-#include "AknFepUIManagerStateInterface.h"      //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"           //MAknFepManagerUIInterface
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUICtrlInputPane.h"
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUICtrlPinyinPopup.h"		//Pinyin phrase
-#include "aknfepuictrleditpane.h"           //pinyin phrase creation
-#include "AknFepManager.h"
-
-const TUint16 KDelimiter =0x0027;
-const TInt KMaxPhraseCreationCount = 7;
-const TInt KMaxSpellingLength = 10;
-
-// ---------------------------------------------------------
-// C++ construct.
-// ---------------------------------------------------------
-//
-TAknFepInputStateSpellingPinyinPhraseCreation::TAknFepInputStateSpellingPinyinPhraseCreation(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStatePinyinPhraseCreationBase( aOwner, aUIContainer )
-    {
-    iState = ESpellingSelection;
-
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    uiContainer->FocusCandidatePane(EFalse);
-    uiContainer->CandidatePane()->ShowCandidateOrdinals(EFalse);
-    uiContainer->SetLayout(MAknFepUICtrlContainerChinese::ELayoutPhraseCreation);
-    uiContainer->CandidatePane()->SelectFirstPhrase(); 
-    uiContainer->ShowVerticalScrollArrows(ETrue);
-    uiContainer->ShowHorizontalScrollArrows(EFalse);
-    uiContainer->InputPane()->SetOverrideFontId(0);
-    uiContainer->SetFepMan( iOwner->FepMan() );
-    uiContainer->EditPaneWindow()->DeactiveCursor();
-    
-    // in the case that we are coming back to the input pane from the candidate pane, 
-    // we need to ensure that the current selection is selected correctly
-    if ( uiContainer->PinyinPopupWindow()->GetFromEditToSpellingFlag() )
-        {
-        TInt validCount = uiContainer-> 
-            PinyinPopupWindow()->InEffectKeystrokeArray()->Count();
-        TInt chineseCount = uiContainer-> 
-            PinyinPopupWindow()->ChooseChineseCharacterArray()->Count();
-        TInt index = 0;
-        if ( !uiContainer->PinyinPopupWindow()->GetPhraseCreationEditingState() )
-            {
-            index = uiContainer->PinyinPopupWindow()->CurrentSelection();
-            }        
-        uiContainer->EditPaneWindow()->SetCursorIndexOfKeystroke( validCount );
-        ShowInfo();
-        uiContainer->EditPaneWindow()->
-            SetUnderline( chineseCount, chineseCount + validCount - 1 );
-        uiContainer->InputPane()->SetText( uiContainer->
-            PinyinPopupWindow()->PhoneticSpellingArray()->MdcaPoint( index ) );
-        uiContainer->PinyinPopupWindow()->SetFromEditToSpellingFlag();
-        uiContainer->PinyinPopupWindow()->SplitPhraseSpellingIntoPages();
-        uiContainer->PinyinPopupWindow()->SetDisplayPage( index );
-        uiContainer->PinyinPopupWindow()->SetPhraseItemTexts();
-        uiContainer->PinyinPopupWindow()->PopupSizeChanged(); // phrase input
-        uiContainer->PinyinPopupWindow()->Enable( ETrue );
-        }
-    else
-        {
-        ImplicityShowInfo( ETrue );
-        }
-    
-    ChangeCba();
-    }
-
-// ---------------------------------------------------------
-// HandleKeyL
-// ---------------------------------------------------------
-//
-TBool TAknFepInputStateSpellingPinyinPhraseCreation::HandleKeyL(
-                                 TInt aKey, 
-                                 TKeyPressLength aLength )
-    {
-    switch( aKey )
-        {
-        case EKeyBackspace:
-        case EKeyUpArrow:
-            HandleKeyBackspaceOrKeyUpArrow( aLength );
-            break;
-        case EKeyRightArrow:
-            HandleKeyRightArrow();
-            break;
-        case EKeyLeftArrow:
-            HandleKeyLeftArrow();
-            break;
-        case EKeyOK:
-        case EKeyDownArrow:
-        case EKeyCBA1:    
-             HandleKeyOKOrKeyDownArrowOrKeyCBA1( aLength );
-            break;
-        case EKeyCBA2:
-            iOwner->FepMan()->TryCloseUiL();
-            break;
-        default:
-            iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-            break;
-        }
-        return ETrue;
-    }
-
-// ---------------------------------------------------------
-// Initialize state
-// ---------------------------------------------------------
-//
-void TAknFepInputStateSpellingPinyinPhraseCreation::InitializeStateL(void)
-    {
-    iOwner->FepMan()->UpdateCbaL(R_AKNFEP_SOFTKEYS_PHRASE_CREATION_SELECT_CANCEL_SELECT);
-    }
-
-// ---------------------------------------------------------
-// Implicity the show info
-// ---------------------------------------------------------
-//
-void TAknFepInputStateSpellingPinyinPhraseCreation::ImplicityShowInfo( 
-                                                 TBool aGetScreenCoordinates )
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* validKeystroke = popup->InEffectKeystrokeArray();
-    TInt chineseCount = popup->ChooseChineseCharacterArray()->Count();
-    TInt selection(0);
-    // get cursor position
-    TPoint baseLine = TPoint(0,0);
-    TInt height = 0;
-    TInt ascent = 0;
-    if ( aGetScreenCoordinates )
-        {
-        TRAPD(ret,iOwner->FepMan()->GetScreenCoordinatesL(baseLine,height,ascent));
-        if (ret == KErrNone)
-            {
-            uiContainer->SetContainerPosition(baseLine, height);    
-            }
-        }
-    if ( popup->GetPhraseCreationState() )
-        {
-        GetValidKeystroke();
-        editPane->SetCursorIndexOfKeystroke( validKeystroke->Count() );
-        }
-    else
-        {
-        editPane->SetCursorIndexOfKeystroke( validKeystroke->Count() );
-        }
-    
-    ShowInfo();
-    editPane->SetUnderline( chineseCount, chineseCount + 
-        validKeystroke->Count() - 1 );
-    if ( popup->GetPhraseCreationState() )
-        {
-        ClearDeliberateSelection();        
-        }
-    else
-        {
-        selection = popup->CurrentSelection();
-        }
-    RefreshUI( selection );
-    if ( popup->GetPhraseCreationState() )
-        {
-        popup->SetPhraseCreationState( EFalse );
-        }
-    }
-
-// ---------------------------------------------------------
-// Refresh the show info
-// ---------------------------------------------------------
-//
-void TAknFepInputStateSpellingPinyinPhraseCreation::RefreshShowInfo()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    MAknFepUICtrlInputPane* inputPane = uiContainer->InputPane();
-    CDesCArrayFlat* validKeystroke = popup->InEffectKeystrokeArray();
-    CDesCArrayFlat* spelling = popup->PhoneticSpellingArray();
-    CDesCArrayFlat* candidateArray = 
-        uiContainer->CandidatePane()->CandidateArray();
-    TInt selection = popup->CurrentSelection();
-    TInt chineseCount = popup->ChooseChineseCharacterArray()->Count();
-    TPtr deliberateSelection = iOwner->GetLatestDeliberateSelection();
-    
-    editPane->SetCursorIndexOfKeystroke( validKeystroke->Count() );
-    ShowInfo();
-    editPane->SetUnderline( chineseCount, chineseCount + 
-        validKeystroke->Count() - 1 );
-    inputPane->SetText( spelling->MdcaPoint( selection ) );
-    deliberateSelection = spelling->MdcaPoint( selection );
-    
-    popup->SplitPhraseSpellingIntoPages();
-    popup->SetDisplayPage(selection);
-    popup->SetPhraseItemTexts();
-    popup->PopupSizeChanged();
-    popup->Enable( validKeystroke->Count() );
-    GetCandidate( selection );
-    uiContainer->CandidatePane()->SplitPhraseCandidatesIntoPages();
-    uiContainer->CandidatePane()->SetCandidateBuffer();
-    uiContainer->Enable( ETrue );
-    uiContainer->ShowHorizontalScrollArrows( EFalse );
-    uiContainer->ShowVerticalScrollArrows( ETrue );
-    UpdateIndicator();
-    }
-
-// ---------------------------------------------------------
-// KeyBackspace Or KeyUpArrow
-// ---------------------------------------------------------
-//
-void TAknFepInputStateSpellingPinyinPhraseCreation::HandleKeyBackspaceOrKeyUpArrow( 
-    TKeyPressLength aLength )
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    
-    TBool state = ETrue;
-    if ( popup->IsChangeStatet() && aLength == ELongKeyPress )
-        {
-        state = EFalse;
-        }
-    else
-        {
-        popup->SetChangeState( EFalse );
-        }
-    if ( state )
-        {
-        popup->SetChangeState( ETrue );
-        //change state to EKeySequenceEdit
-        popup->SetFromEditToSpellingFlag( ETrue );
-        iOwner->ChangeState( EKeySequenceEdit );
-        }
-    }
-
-// ---------------------------------------------------------
-// KeyOK Or KeyDownArrow Or KeyCBA1
-// ---------------------------------------------------------
-//
-void TAknFepInputStateSpellingPinyinPhraseCreation::HandleKeyOKOrKeyDownArrowOrKeyCBA1( 
-    TKeyPressLength aLength )
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    TBool state = ETrue;
-    if ( popup->IsChangeStatet() && aLength == ELongKeyPress )
-        {
-        state = EFalse;
-        }
-    else
-        {
-        popup->SetChangeState( EFalse );
-        }
-
-    TBool changeState = ( popup->ChooseChineseCharacterArray()->Count() != 
-        KMaxPhraseCreationCount ) && ( popup->KeystrokeArray()->Count() != 0 );
-    
-    if ( changeState && state )
-        {
-        if(popup->IsEnabled())
-            {
-            popup->Enable(EFalse);
-            }
-        popup->SetChangeState( ETrue );
-        iOwner->ChangeState(ECandidateSelection);     
-        }
-    }
-
-// ---------------------------------------------------------
-// KeyRightArrow
-// ---------------------------------------------------------
-//
-void TAknFepInputStateSpellingPinyinPhraseCreation::HandleKeyRightArrow()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    TBuf<KMaxSpellingLength> spelling;
-    popup->SetPhraseCreationState( EFalse );
-    if( popup->SelectNextPhrase() )
-        {
-        if ( RefreshValidKeystroke() )
-            {
-            RefreshShowInfo();
-            }
-        else
-            {
-            iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-            }
-        }
-    else
-        {
-        iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-        }
-    }
-
-// ---------------------------------------------------------
-// KeyRightArrow
-// ---------------------------------------------------------
-//
-void TAknFepInputStateSpellingPinyinPhraseCreation::HandleKeyLeftArrow()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-
-    if( popup->SelectPrevPhrase() )
-        {
-        if ( RefreshValidKeystroke() )
-            {
-            RefreshShowInfo();
-            }
-        else
-            {
-            iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-            }
-        }
-    else
-        {
-        iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-        }
-    }
-
-// ---------------------------------------------------------
-// Refresh Valid Keystroke.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputStateSpellingPinyinPhraseCreation::RefreshValidKeystroke()
-    {
-    TRAPD( ret, RefreshValidKeystrokeL() );
-    if ( KErrNone != ret )
-        {
-        return EFalse;
-        }
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// Refresh Valid Keystroke.
-// ---------------------------------------------------------
-//
-void TAknFepInputStateSpellingPinyinPhraseCreation::RefreshValidKeystrokeL()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    CDesCArrayFlat* validKeystroke = popup->InEffectKeystrokeArray();
-    CDesCArrayFlat* keystroke = popup->ShowKeystrokeArray();
-    CDesCArrayFlat* spelling = popup->PhoneticSpellingArray();    
-    TInt selection = popup->CurrentSelection();
-    validKeystroke->Reset();
-    TInt spellLength = spelling->MdcaPoint( selection ).Length();
-    
-    for ( TInt i = 0; ( i < spellLength ) && ( spellLength <= 
-        keystroke->Count() ); ++i )
-        {
-        validKeystroke->AppendL( keystroke->MdcaPoint( i ) );
-        }
-    
-    if ( spellLength < keystroke->Count() )
-        {
-        if ( KDelimiter == keystroke->MdcaPoint( spellLength )[0] )
-            {
-            validKeystroke->AppendL( keystroke->MdcaPoint( spellLength ) );
-            }
-        }
-    
-    validKeystroke->Compress();
-    }
-
-// End of file
--- a/fep/aknfep/src/aknfepuifingeritutinputstategeneric.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,208 +0,0 @@
-/*
-* Copyright (c) 2002 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:            Provides the TAknFepInputStateInitialChineseGeneric methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include <PtiEngine.h>
-#include <e32keys.h>
-#include <PtiDefs.h>
-
-#include "aknfepuifingeritutinputstategeneric.h"
-#include "AknFepCaseManager.h"
-#include "AknFepUIManagerStateInterface.h"
-#include "AknFepManager.h"
-
-//============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// C++ default constructor
-// ---------------------------------------------------------------------------
-//
-TAknFepUIFingerItutInputStateChineseGeneric::TAknFepUIFingerItutInputStateChineseGeneric(
-    MAknFepUIManagerStateInterface* aOwner/*,
-    MAknFepUICtrlContainerChinese* aUIContainer*/)
-    :TAknFepInputStateBase(aOwner),//TAknFepInputStateInitialChineseMultitapBase(aOwner, aUIContainer),
-    iPreObserver(NULL)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Handle key event
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUIFingerItutInputStateChineseGeneric::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    TBool ret = ETrue;
-    
-    if (aLength == ELongKeyPress &&
-       (aKey >= EPtiKey0 && aKey <= EPtiKey9))
-        {
-        TChar ch(aKey);
-        TBuf<1> buf;
-        buf.Append(ch);
-	    fepMan->NewCharacterL(buf);
-	    fepMan->CommitInlineEditL();
-	    ptiengine->ClearCurrentWord();
-        return ret;
-        }
-    
-    if(iData && (iData != aKey))
-        {
-        fepMan->CommitInlineEditL();
-        ptiengine->ClearCurrentWord();
-        }
-
-    //7,8,9 are not multitap in EStroke, so commit
-    if ((fepMan->InputMode() == EStroke) &&
-         (iData == EPtiKey7 || iData == EPtiKey8 || iData == EPtiKey9 ))
-    	{
-        fepMan->CommitInlineEditL();
-        ptiengine->ClearCurrentWord();
-    	}
-
-    iData = aKey;
-
-    switch(aKey)
-        {
-        case EPtiKey0:
-        case EPtiKey1:
-            {
-            const TPtiTextCase oldCase = ptiengine->Case();
-            if (fepMan->InputMode() == EStroke)
-                {
-                ptiengine->SetCase(EPtiCaseUpper);
-                }
-            SetPreObserver(ptiengine->Observer());
-            ptiengine->SetObserver(this);
-            TPtrC retText = ptiengine->AppendKeyPress((TPtiKey)aKey);
-            fepMan->NewCharacterL(retText);
-            ptiengine->SetCase(oldCase);
-            }
-        break;
-        case EPtiKey7:
-        case EPtiKey8:
-        case EPtiKey9:
-           {
-            if (fepMan->InputMode() == EStroke)
-                {
-                const TPtiTextCase oldCase = ptiengine->Case();
-                ptiengine->SetCase(EPtiCaseUpper);
-                
-                SetPreObserver(ptiengine->Observer());
-                ptiengine->SetObserver(this);
-                
-                TPtrC retText = ptiengine->AppendKeyPress((TPtiKey)aKey);
-                fepMan->NewCharacterL(retText);
-                ptiengine->SetCase(oldCase);
-                }
-            }
-        break;
-        case EPtiKeyStar:
-            {
-            if (aLength == EShortKeyPress)
-                {
-                if (fepMan->EditSubmenuInUse())
-                    {
-                    fepMan->ClearCcpuFlag(CAknFepManager::ECcpuStateIgnoreStarUp);
-                    }
-               else if (fepMan->IsAbleToLaunchSCT())
-                    {
-                    fepMan->LaunchSpecialCharacterTableL();
-                    }
-                }
-            else
-                {
-                if (fepMan->EditSubmenuInUse())
-                    {
-                    fepMan->LaunchSpecialCharacterTableL();
-                    }
-                }
-            }
-        break;
-        case EStdKeyNull:
-            {
-            ret = EFalse; 
-            }
-        break;
-        case EKeyOK:
-        case EKeyBackspace:
-        default:
-            {
-            ret = EFalse; 
-            }
-        }
-
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// Set Previous ptiengine observer
-// ---------------------------------------------------------------------------
-//
-void TAknFepUIFingerItutInputStateChineseGeneric::SetPreObserver(MPtiObserver* aPreObserver)
-    {
-    if (aPreObserver != this)
-        {
-    	  iPreObserver = aPreObserver; 
-    	  }
-    }
-    
-// ---------------------------------------------------------------------------
-// Get Previous ptiengine observer
-// ---------------------------------------------------------------------------
-//
-MPtiObserver* TAknFepUIFingerItutInputStateChineseGeneric::PreObserver()
-    {
-    return iPreObserver;
-    }
-    
-// ---------------------------------------------------------------------------
-// Key timer expired called by ptiengine 
-// ---------------------------------------------------------------------------
-//
-void TAknFepUIFingerItutInputStateChineseGeneric::KeyTimerExpired()
-    {
-    if (iData)
-        {
-        MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-        TRAP_IGNORE(fepMan->CommitInlineEditL());
-
-        CPtiEngine* ptiengine = iOwner->PtiEngine();
-        ptiengine->ClearCurrentWord();
-
-        CAknFepCaseManager* caseMan = iOwner->CaseMan(); 
-        caseMan->UpdateCase(ENullNaviEvent); 
-
-        iData = 0;
-        
-        ptiengine->SetObserver(PreObserver());
-        }
-    }
-
-// End of file
--- a/fep/aknfep/src/aknfepuiinputminiqwertypinyinphrasebase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2684 +0,0 @@
-/*
-* Copyright (c) 2008 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:           
- *      Provides the TAknFepInputStateStrokePhraseCreationBase definition.
- *
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// System includes
-#include <e32cmn.h>
-#include <PtiEngine.h>
-#include <PtiDefs.h>
-#include <avkon.rsg>
-#include <aknfep.rsg>
-#include <PtiUserDicEntry.h>
-#include <aknnotewrappers.h> //CAknWarningNote 
-// User includes
-#include "AknFepUIManagerStateInterface.h"
-#include "AknFepUICtrlInputPane.h"
-#include "AknFepUICtrlPinyinPopup.h"        //Pinyin phrase
-#include "aknfepuictrleditpane.h"           //pinyin phrase creation
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepManager.h"
-#include "aknfepuiinputminiqwertypinyinphrasebase.h"
-
-// Constant definition
-const TInt KMaxPhraseCount = 50;
-const TInt KMaxPhraseCreationCount = 7;
-const TInt KMaxKeystrokeCount = 31;
-const TInt KInvalidToneMark = -1;
-const TUint16 KAutoDLT = 0x002E;
-const TUint16 KManualDLT = 0x0027;
-const TUint16 KPYa = 0x0061;
-const TUint16 KPYb = 0x0062;
-const TUint16 KPYc = 0x0063;
-const TUint16 KPYd = 0x0064;
-const TUint16 KPYe = 0x0065;
-const TUint16 KPYf = 0x0066;
-const TUint16 KPYg = 0x0067;
-const TUint16 KPYh = 0x0068;
-const TUint16 KPYi = 0x0069;
-const TUint16 KPYj = 0x006A;
-const TUint16 KPYk = 0x006B;
-const TUint16 KPYl = 0x006C;
-const TUint16 KPYm = 0x006D;
-const TUint16 KPYn = 0x006E;
-const TUint16 KPYo = 0x006F;
-const TUint16 KPYp = 0x0070;
-const TUint16 KPYq = 0x0071;
-const TUint16 KPYr = 0x0072;
-const TUint16 KPYs = 0x0073;
-const TUint16 KPYt = 0x0074;
-const TUint16 KPYu = 0x0075;
-const TUint16 KPYv = 0x0076;
-const TUint16 KPYw = 0x0077;
-const TUint16 KPYx = 0x0078;
-const TUint16 KPYy = 0x0079;
-const TUint16 KPYz = 0x007A;
-
-_LIT( KMaxPhraseNote,"\x8BCD\x7EC4\x6700\x957F\x4E3A\x4E03\x5B57" );
-
-const TMiniQwertyKeyMap StrokeMap[] =
-    {
-    {KPYa, EPtiKeyQwertyA},
-    {KPYb, EPtiKeyQwertyB},
-    {KPYc, EPtiKeyQwertyC},
-    {KPYd, EPtiKeyQwertyD},
-    {KPYe, EPtiKeyQwertyE},
-    {KPYf, EPtiKeyQwertyF},
-    {KPYg, EPtiKeyQwertyG},
-    {KPYh, EPtiKeyQwertyH},
-    {KPYi, EPtiKeyQwertyI},
-    {KPYj, EPtiKeyQwertyJ},
-    {KPYk, EPtiKeyQwertyK},
-    {KPYl, EPtiKeyQwertyL},
-    {KPYm, EPtiKeyQwertyM},
-    {KPYn, EPtiKeyQwertyN},
-    {KPYo, EPtiKeyQwertyO},
-    {KPYp, EPtiKeyQwertyP},
-    {KPYq, EPtiKeyQwertyQ},
-    {KPYr, EPtiKeyQwertyR},
-    {KPYs, EPtiKeyQwertyS},
-    {KPYt, EPtiKeyQwertyT},
-    {KPYu, EPtiKeyQwertyU},
-    {KPYv, EPtiKeyQwertyV},
-    {KPYw, EPtiKeyQwertyW},
-    {KPYx, EPtiKeyQwertyX},
-    {KPYy, EPtiKeyQwertyY},
-    {KPYz, EPtiKeyQwertyZ},
-    {KManualDLT, EPtiKeyQwertySpace}
-    };
-
-const TMiniQwertyToneMap PinyinToneMap[] =
-    {
-    {0x02C9, 1},
-    {0x02CA, 2},
-    {0x02C7, 3},
-    {0x02CB, 4},
-    {0x02D9, 5}
-    };
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateStrokePhraseCreationBase::TAknFepInputStateStrokePhraseCreationBase
-// C++ default constructor
-// ---------------------------------------------------------------------------
-//
-TAknFepInputMiniQwertyPinyinPhraseBase::TAknFepInputMiniQwertyPinyinPhraseBase(
-    MAknFepUIManagerStateInterface* aOwner,
-    MAknFepUICtrlContainerChinese* aUIContainer) :
-    TAknFepInputStateCandidateQwertyBaseChinesePhrase(aOwner, aUIContainer)
-    {
-    if (iOwner->PtiEngine()->InputMode() != EPtiEnginePinyinPhraseQwerty)
-        {
-        iOwner->PtiEngine()->SetInputMode(EPtiEnginePinyinPhraseQwerty);
-        }
-    iOwner->PtiEngine()->SetCandidatePageLength(KMaxPhraseCount);
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() && uiContainer->CandidatePane()->IsFirstPage());
-    uiContainer->ShowVerticalScrollArrows(multiplePages);
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::HandleKeyL
-// Handle system key press event.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputMiniQwertyPinyinPhraseBase::HandleKeyL(TInt aKey,
-    TKeyPressLength aLength)
-    {
-    //
-    switch (aKey)
-        {
-        case EKeyLeftShift:
-        case EKeyLeftCtrl:
-        case EKeyRightCtrl:
-        case EStdKeyDevice1:// CBA2    
-            {
-            iOwner->FepMan()->TryCloseUiL();
-            break;
-            }
-        case EKeyRightFunc:
-            {
-            iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-            break;
-            }
-        case EStdKeyLeftFunc: //tone mark.
-            {
-            HandlToneMarkL();
-            break;
-            }
-        case EStdKeyBackspace:
-            {
-            if (CheckKeyNeedRepeat(aLength) )
-                {
-                HandleKeyBackspaceL(aLength);
-                }
-            else
-                {
-                iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-                }
-            break;
-            }
-        case EStdKeyEnter://Enter keypress.
-            {
-            HandlEnterKeyL();
-            break;
-            }
-        case EStdKeyDevice0:// CBA1
-        case EStdKeyDevice3:// CBASelect
-            {
-            HandleCommitL();
-            break;
-            }
-        case EStdKeyUpArrow:
-            {
-            iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-            break;
-            }
-        case EStdKeyDownArrow:
-            {
-            if (EMiniQwertyEdit == iState)
-                {
-                if (CheckFirstGroupStroke() )
-                    {
-                    iOwner->ChangeState(EEntry);
-                    }
-                }
-            else
-                {
-                iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-                }
-            break;
-            }
-        case EStdKeyLeftArrow:
-            {
-            if (EMiniQwertyEdit == iState)
-                {
-                UIContainer()->EditPaneWindow()->SetAutoChangeStateFlag( EManualChangeState );
-                MoveCursorLeft();
-                }
-            else
-                {
-                iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-                }
-            break;
-            }
-        case EStdKeyRightArrow:
-            {
-            if (EMiniQwertyEdit == iState)
-                {
-                UIContainer()->EditPaneWindow()->SetAutoChangeStateFlag( EManualChangeState );
-                MoveCursorRight();
-                }
-            else
-                {
-                iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-                }
-            break;
-            }
-        case EStdKeySpace:
-            {
-            if (EShortKeyPress == aLength)
-                {
-                HandlSpaceKeyL();
-                break;
-                }
-            break;
-            }
-        default:
-            {
-            if (CAknFepFnKeyManager::EFnKeyNext == iOwner->FepMan()->FnKeyState() || CAknFepFnKeyManager::EFnKeyLock
-                    == iOwner->FepMan()->FnKeyState()
-                    || ( CAknFepFnKeyManager::EFnKeyDown == iOwner->FepMan()->FnKeyState() && iState != ECandidate ))
-                {
-                iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-                return ETrue;
-                }
-            else
-                if (iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagShiftKeyDepressed)
-                        || iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed))
-                    {
-                    iOwner->FepMan()->TryCloseUiL();
-                    return EFalse;
-                    }
-                else
-                    if ( (EShortKeyPress == aLength )
-                            && (iOwner->IsValidChineseInputKeyQwerty(aKey) ))
-                        {
-                        if (iState == ECandidate)
-                            {
-                            HandleKeyFromCandidateL(aKey, aLength);
-                            }
-                        else
-                            {
-                            HandleDefaultKeyL(aKey);
-                            }
-                        }
-                    else
-                        {
-                        iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-                        }
-            break;
-            }
-        }
-
-    return ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::RefreshUI
-// Update input window.
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputMiniQwertyPinyinPhraseBase::RefreshUI(TBool aRefresh)
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    // get cursor position
-    if (aRefresh)
-        {
-        TPoint baseLine;
-        TInt height(0);
-        TInt ascent(0);
-        TRAPD(ret,iOwner->FepMan()->GetScreenCoordinatesL(baseLine,height,ascent))
-        ;
-        if (ret == KErrNone)
-            {
-            uiContainer->SetContainerPosition(baseLine, height);
-            }
-        }
-    if ( (uiContainer->EditPaneWindow()->KeystrokeArray()->Count() > 0 ) || 
-        (uiContainer->EditPaneWindow()->PhraseArray()->Count() > 0 ) )
-        {
-        ShowInfoOnEEPPane();
-        SetWarningColor();
-        ShowInfoOnCandidatePane();
-        UpdateIndicator();
-        TRAP_IGNORE( ChangeCbaL() );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::CheckFirstGroupStroke
-// check the first group stroke of keystroke.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputMiniQwertyPinyinPhraseBase::CheckFirstGroupStroke()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* showKeystroke = editPane->ShowKeystrokeArray();
-    TInt stringBeforeLength = 0;
-    TInt stringAfterLength = 0;
-    TInt keyCode = 0;
-    TInt toneMark = 0;
-    if ( 0 == showKeystroke->Count() )
-        {
-        return EFalse;
-        }
-
-    if (KInvalidToneMark != ToneMark(showKeystroke->MdcaPoint( 0) ) )
-        {
-        return EFalse;
-        }
-
-    ClearPtiEngineKeystroke();
-    for (TInt i = 0; i < showKeystroke->Count(); ++i)
-        {
-        if (CheckSpellingDLT(showKeystroke->MdcaPoint(i) ) )
-            {
-            if ( 0 == i)
-                {
-                return EFalse;
-                }
-            else
-                {
-                return ETrue;
-                }
-            }
-        toneMark = ToneMark(showKeystroke->MdcaPoint(i) );
-        if (KInvalidToneMark != toneMark)
-            {
-            for (TInt j = 0; j < toneMark; ++j)
-                {
-                ptiengine->IncrementToneMark(ETrue);
-                TPtrC ptr0 = getCurrentLeastDLTSpell();
-                if (ptr0.Length() > 0)
-                    {
-                    if ( 0
-                            == ptr0.Mid( ptr0.Length() - 1, 1 ).Compare(showKeystroke->MdcaPoint(i) ) )
-                        {
-                        return ETrue;
-                        }
-                    }
-                }
-            TPtrC ptr = getCurrentLeastDLTSpell();
-            if ( 0 == ptr.Mid( ptr.Length() - 1, 1 ).Compare(showKeystroke->MdcaPoint(i) ) )
-                {
-                return ETrue;
-                }
-            else
-                {
-                return EFalse;
-                }
-            }
-        GetKeystrokeCode(keyCode, showKeystroke->MdcaPoint(i) );
-        stringBeforeLength = getCurrentLeastDLTSpell().Length();
-        ptiengine->AppendKeyPress((TPtiKey)keyCode).Length();
-        stringAfterLength = getCurrentLeastDLTSpell().Length();
-        //the keystroke is invalid.
-        if (stringBeforeLength == stringAfterLength)
-            {
-            return EFalse;
-            }
-        }
-    return ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::HandlEnterKey
-// Handle Enter key press
-// ---------------------------------------------------------------------------
-//
-TInt TAknFepInputMiniQwertyPinyinPhraseBase::GetCursorPos()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* showKeystroke = editPane->ShowKeystrokeArray();
-    CDesCArrayFlat* keystroke = editPane->KeystrokeArray();
-    TInt phraseCount = editPane->PhraseArray()->Count();
-    TInt index = editPane->GetCursorIndexOfKeystroke();
-    TInt pos = 0;
-    TInt count = 0;
-    TBuf<1> autoDLT;
-    autoDLT.Append(KAutoDLT);
-
-    if ( 0 == index)
-        {
-        pos = phraseCount;
-        }
-    else
-        if (keystroke->Count() == index)
-            {
-            pos = phraseCount + showKeystroke->Count();
-            }
-        else
-            {
-            for (TInt i = 0; i < showKeystroke->Count(); ++i)
-                {
-                if ( 0 != showKeystroke->MdcaPoint( i ).Compare(autoDLT) )
-                    {
-                    count = count + 1;
-                    }
-                if (count == index)
-                    {
-                    pos = phraseCount + i + 1;
-                    break;
-                    }
-                }
-            }
-    return pos;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::HandlEnterKeyL
-// Handle Enter key press
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputMiniQwertyPinyinPhraseBase::HandlEnterKeyL()
-    {
-    TBuf<KMaxKeystrokeCount> currentText;
-    MAknFepUICtrlEditPane* editpane = UIContainer()->EditPaneWindow();
-    CDesCArrayFlat* showkeyStoke = editpane->ShowKeystrokeArray();
-    CDesCArrayFlat* phraseArray = editpane->PhraseArray();
-    TInt phraseCount = phraseArray->Count();
-    TInt keyStrokeCount = showkeyStoke->Count();
-    TInt i = 0;
-    TBuf<1> autoDLT;
-    autoDLT.Append(KAutoDLT);
-
-    for (i = 0; i < phraseCount; i++)
-        {
-        currentText.Append(phraseArray->MdcaPoint(i) );
-        }
-    for (i = 0; i < keyStrokeCount; i++)
-        {
-        currentText.Append(showkeyStoke->MdcaPoint(i) );
-        }
-
-    while (currentText.Find(autoDLT)> 0)
-        {
-        currentText.Replace(currentText.Find(autoDLT), 1, KNullDesC);
-        }
-
-    if (currentText.Length() )
-        {
-        MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-        fepMan->NewTextL(currentText);
-        fepMan->CommitInlineEditL();
-        if (keyStrokeCount == 0 && currentText.Length() > 1)
-            {
-            AddPhraseToDB(currentText);
-            }
-
-        UIContainer()->EditPaneWindow()->ResetAllArray();
-        UIContainer()->EditPaneWindow()->SetPhraseCreationFlag(EFalse);
-
-        if (fepMan->IsFlagSet(CAknFepManager::EFlagEditorFull))
-            {
-            fepMan->ClearFlag(CAknFepManager::EFlagEditorFull);
-            iOwner->FepMan()->TryCloseUiL();
-            }
-        else
-            {
-            iOwner->FepMan()->TryCloseUiL();
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::HandlToneMarkL
-// Handle tone mark key press.
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputMiniQwertyPinyinPhraseBase::HandlSpaceKeyL()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* keystrokeArray = editPane->KeystrokeArray();
-    TInt phraseCount = editPane->PhraseArray()->Count();
-    TInt showKeystrokeCount = editPane->ShowKeystrokeArray()->Count();
-    TInt index = editPane->GetCursorIndexOfKeystroke();
-    TBuf<1> manualDLT;
-    TBuf<1> autoDLT;
-    manualDLT.Append( KManualDLT );
-    autoDLT.Append( KAutoDLT );
-    
-    TBool firstGroup = CheckFirstGroupStroke();
-
-    keystrokeArray->InsertL(index, manualDLT);
-    editPane->SetCursorIndexOfKeystroke(index + 1);
-    AnalyseL();
-    
-    if ( editPane->ShowKeystrokeArray()->Count() > KMaxKeystrokeCount )
-        {
-        keystrokeArray->Delete( index );
-        editPane->SetCursorIndexOfKeystroke( index );
-        iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-        AnalyseL();
-        return;
-        }
-    
-    //Auto change from EMiniQwertyEdit state to EEntry state. 
-    if (EMiniQwertyEdit == iState)
-        {
-        if ( ( !firstGroup ) && CheckFirstGroupStroke() )
-            {
-            if ( EAutoChangeStateFromCandidate == editPane->GetAutoChangeStateFlag() )
-                {
-                RefreshUI();
-                editPane->SetChangeState(ETrue);
-                iOwner->ChangeState(ECandidate);
-                }
-            else if ( EAutoChangeStateFromInput == editPane->GetAutoChangeStateFlag() )
-                {
-                editPane->SetChangeState(ETrue);
-                iOwner->ChangeState(EEntry);
-                }
-            else
-                {
-                RefreshUI();
-                }
-            return;
-            }
-        }
-
-    //Auto change from EEntry state to EMiniQwertyEdit state.
-    if (EEntry == iState)
-        {
-        if ( !CheckFirstGroupStroke() )
-            {
-            editPane->SetAutoChangeStateFlag(EAutoChangeStateFromInput);
-            editPane->SetChangeState(ETrue);
-            iOwner->ChangeState(EMiniQwertyEdit);
-            return;
-            }
-        }
-
-    RefreshUI();
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::HandlToneMarkL
-// Handle tone mark key press.
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputMiniQwertyPinyinPhraseBase::HandlToneMarkL()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    TBool firstGroup = CheckFirstGroupStroke();
-    AddToneMarkL();
-    AnalyseL();
-    //Auto change from EMiniQwertyEdit state to EEntry state. 
-    if (EMiniQwertyEdit == iState)
-        {
-        if ( ( !firstGroup ) && CheckFirstGroupStroke() )
-            {
-            if ( EAutoChangeStateFromCandidate == editPane->GetAutoChangeStateFlag() )
-                {
-                RefreshUI();
-                editPane->SetChangeState(ETrue);
-                iOwner->ChangeState(ECandidate);
-                }
-            else if ( EAutoChangeStateFromInput == editPane->GetAutoChangeStateFlag() )
-                {
-                editPane->SetChangeState(ETrue);
-                iOwner->ChangeState(EEntry);
-                }
-            else
-                {
-                RefreshUI();
-                }
-            return;
-            }
-        }
-
-    //Auto change from EEntry state to EMiniQwertyEdit state.
-    if (EEntry == iState)
-        {
-        if ( !CheckFirstGroupStroke() )
-            {
-            editPane->SetAutoChangeStateFlag(EAutoChangeStateFromInput);
-            editPane->SetChangeState(ETrue);
-            iOwner->ChangeState(EMiniQwertyEdit);
-            return;
-            }
-        }
-    RefreshUI();
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::CheckManualDelimiter
-// Check the delimiter that wether is manual delimiter.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputMiniQwertyPinyinPhraseBase::CheckManualDelimiter(
-    const TInt aCount, const TDesC& aKeystroke)
-    {
-    TInt keyCount = 0;
-    for (TInt i = 0; i < aKeystroke.Length(); ++i)
-        {
-        if (KManualDLT != aKeystroke[i])
-            {
-            keyCount = keyCount + 1;
-            }
-        if (aCount == keyCount)
-            {
-            break;
-            }
-        }
-
-    if (keyCount != aCount)
-        {
-        return EFalse;
-        }
-
-    if (aKeystroke.Length() == keyCount)
-        {
-        return EFalse;
-        }
-
-    if (KManualDLT != aKeystroke[keyCount])
-        {
-        return EFalse;
-        }
-
-    return ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::AnalyseSpellingL
-// Analyse Pinyin spelling.
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputMiniQwertyPinyinPhraseBase::AnalyseSpellingL(
-    const TDesC& aKeystroke, const TDesC& aSpelling,
-    CDesCArrayFlat* aShowKeystroke)
-    {
-    TInt count = 0;
-    TBuf<1> manualDLT;
-    TBuf<1> autoDLT;
-    manualDLT.Append(KManualDLT);
-    autoDLT.Append(KAutoDLT);
-
-    if ( 0 == aSpelling.Compare(aKeystroke) )
-        {
-        for (TInt i = 0; i < aKeystroke.Length(); ++i)
-            {
-            aShowKeystroke->AppendL(aKeystroke.Mid(i, 1) );
-            }
-        return;
-        }
-
-    for (TInt i = 0; i < aSpelling.Length(); ++i)
-        {
-        if (KManualDLT == aSpelling[i])
-            {
-            //Manual delimiter
-            if (CheckManualDelimiter(count, aKeystroke) )
-                {
-                aShowKeystroke->AppendL(manualDLT);
-                }
-            else
-                {
-                aShowKeystroke->AppendL(autoDLT);
-                }
-            }
-        else
-            {
-            aShowKeystroke->AppendL(aSpelling.Mid(i, 1) );
-            count = count + 1;
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::AnalyseSpellingAddToneMarkL
-// Analyse spelling after user press tone mark.
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputMiniQwertyPinyinPhraseBase::AnalyseSpellingAddToneMarkL(
-                                               TInt aI,
-                                               TInt aToneMarkCount,
-                                               CDesCArrayFlat* aKeystroke,
-                                               CDesCArrayFlat* aShowKeystroke )
-    {
-    TBuf<1> atuoDLT;
-    TBuf<1> manualDLT;
-    atuoDLT.Append(KAutoDLT);
-    manualDLT.Append(KManualDLT);
-    if ( CheckSpellingDLT( aKeystroke->MdcaPoint( aI - 1 ) ) || 
-        ( KInvalidToneMark != ToneMark( aKeystroke->MdcaPoint( aI - 1 ) ) ) )
-        {
-        aShowKeystroke->AppendL( aKeystroke->MdcaPoint( aI ) ); 
-        }
-    else
-        {
-        if ( CheckSpellingAddToneMarkToPTIL( aToneMarkCount ) )
-            {
-            aShowKeystroke->AppendL( aKeystroke->MdcaPoint( aI - 1 ) ); 
-            aShowKeystroke->AppendL( aKeystroke->MdcaPoint( aI ) );
-            }
-        else
-            {
-            if ( aShowKeystroke->Count() == 0 )
-                {
-                aShowKeystroke->AppendL( aKeystroke->MdcaPoint( aI - 1 ) ); 
-                aShowKeystroke->AppendL( aKeystroke->MdcaPoint( aI ) );
-                }
-            else
-                {
-                if ( ( !CheckSpellingDLT(aShowKeystroke->MdcaPoint( 
-                    aShowKeystroke->Count() - 1 ) ) ) && 
-                    ( KInvalidToneMark == ToneMark( aShowKeystroke->
-                        MdcaPoint( aShowKeystroke->Count() - 1 ) ) ) )
-                    {
-                    aShowKeystroke->AppendL( atuoDLT );
-                    }
-                aShowKeystroke->AppendL( aKeystroke->MdcaPoint( aI - 1 ) ); 
-                aShowKeystroke->AppendL( aKeystroke->MdcaPoint( aI ) );
-                }
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::AnalyseSpellingAddKeyL
-// Analyse spelling after user press key that is not tone mark.
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputMiniQwertyPinyinPhraseBase::AnalyseSpellingAddKeyL(
-                                            TInt& aI,
-                                            TInt aDelimterPos,
-                                            CDesCArrayFlat* aKeystroke,
-                                            CDesCArrayFlat* aShowKeystroke )
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    TBuf<1> atuoDLT;
-    TBuf<1> manualDLT;
-    atuoDLT.Append(KAutoDLT);
-    manualDLT.Append(KManualDLT);
-    if ( 0 == aI )
-        {
-        if ( aI + 1 < aKeystroke->Count() )
-            {
-            if ( ( KInvalidToneMark != ToneMark( aKeystroke->MdcaPoint( aI + 1 ) ) ) ||
-                ( CheckSpellingDLT( aKeystroke->MdcaPoint( aI + 1 ) ) ) )
-                {
-                aShowKeystroke->AppendL( aKeystroke->MdcaPoint( aI ) );
-                aShowKeystroke->AppendL( aKeystroke->MdcaPoint( aI + 1 ) );
-                aI = aI + 1;
-                }
-            else
-                {
-                aShowKeystroke->AppendL( aKeystroke->MdcaPoint( aI ) );
-                aShowKeystroke->AppendL( atuoDLT );
-                }
-            }
-        else
-            {
-            aShowKeystroke->AppendL( aKeystroke->MdcaPoint( aI ) );
-            }
-        }
-    else if ( aI + 1 == aKeystroke->Count() )
-        {
-        if ( ( 1 == aDelimterPos ) || ( -1 == aDelimterPos ) )
-            {
-            if ( ( !CheckSpellingDLT( aShowKeystroke->
-                    MdcaPoint( aShowKeystroke->Count() - 1 ) ) &&
-                ( KInvalidToneMark == ToneMark( aShowKeystroke->
-                    MdcaPoint( aShowKeystroke->Count() - 1 ) ) ) ) )
-                {
-                aShowKeystroke->AppendL( atuoDLT );
-                }
-            aShowKeystroke->AppendL( aKeystroke->MdcaPoint( aI ) );
-            }
-        else
-            {
-            for ( TInt ii = 0; ii < aDelimterPos - 1; ++ii )
-                {
-                aShowKeystroke->Delete( aShowKeystroke->Count() - 1 );
-                }
-            if ( ( !CheckSpellingDLT( aShowKeystroke->
-                    MdcaPoint( aShowKeystroke->Count() - 1 ) ) ) &&
-                ( KInvalidToneMark == ToneMark( aShowKeystroke->MdcaPoint( 
-                    aShowKeystroke->Count() - 1 ) ) ) )
-                {
-                aShowKeystroke->AppendL( atuoDLT );
-                }
-            aI = aI - aDelimterPos;
-            }
-        }
-    else
-        {
-        if ( -1 == aDelimterPos )
-            {
-            if ( ( !CheckSpellingDLT( aShowKeystroke->MdcaPoint( 
-                    aShowKeystroke->Count() - 1 ) ) ) &&
-                ( KInvalidToneMark == ToneMark( aShowKeystroke->MdcaPoint( 
-                    aShowKeystroke->Count() - 1 ) ) ) )
-                {
-                aShowKeystroke->AppendL( atuoDLT );
-                }
-            if ( 0 == getCurrentLeastDLTSpell().Length() )
-                {
-                aShowKeystroke->AppendL( aKeystroke->MdcaPoint( aI ) );
-                if ( KInvalidToneMark != ToneMark( aKeystroke->MdcaPoint( aI + 1 ) ) ) 
-                    {
-                    aShowKeystroke->AppendL( aKeystroke->MdcaPoint( aI + 1 ) );
-                    aI = aI + 1;                            
-                    }
-                }
-            else
-                {
-                aI = aI - 1;
-                }
-            }
-        else
-            {
-            for ( TInt ii = 0; ii < aDelimterPos - 1; ++ii )
-                {
-                aShowKeystroke->Delete( aShowKeystroke->Count() - 1 );
-                }
-            if ( ( !CheckSpellingDLT( aShowKeystroke->MdcaPoint( 
-                    aShowKeystroke->Count() - 1 ) ) ) &&
-                ( KInvalidToneMark == ToneMark( aShowKeystroke->MdcaPoint( 
-                    aShowKeystroke->Count() - 1 ) ) ) )
-                {
-                aShowKeystroke->AppendL( atuoDLT );
-                }
-            aI = aI - aDelimterPos;
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::AnalyseL
-// Analyse key storke.
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputMiniQwertyPinyinPhraseBase::AnalyseL()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    //user pressed keystroke sequence
-    CDesCArrayFlat* keystroke = editPane->KeystrokeArray();
-    //stroke to be shown
-    CDesCArrayFlat* showKeystroke = editPane->ShowKeystrokeArray();
-    TInt start = 0;
-    TInt toneMarkCount = KInvalidToneMark;
-    TInt delimiterPosition = 0;
-    showKeystroke->Reset();
-    TBuf<1> atuoDLT;
-    TBuf<1> manualDLT;
-    atuoDLT.Append(KAutoDLT);
-    manualDLT.Append(KManualDLT);
-    TBuf<KMaxKeystrokeCount> keyTmp;
-
-    if ( keystroke->Count() == 0 )
-        {
-        return;
-        }
-
-    //if the first keystroke is delimiter or ToneMark, analyse frome the next one
-    if ( CheckSpellingDLT( keystroke->MdcaPoint( 0 ) ) || 
-        ( KInvalidToneMark != ToneMark( keystroke->MdcaPoint( 0 ) ) ) )
-        {
-        showKeystroke->AppendL(keystroke->MdcaPoint( 0 ) );
-        start = 1;
-        }
-    
-    ClearPtiEngineKeystroke();
-    
-    for ( TInt i = start; i < keystroke->Count(); ++i )
-        {
-        toneMarkCount = ToneMark( keystroke->MdcaPoint( i ) );
-        // current keystroke is delimiter
-        if ( CheckSpellingDLT( keystroke->MdcaPoint( i ) ) )
-            {
-            showKeystroke->AppendL(keystroke->MdcaPoint( i ) );
-            ClearPtiEngineKeystroke();
-            }
-        // current keystroke is tone mark
-        else if ( KInvalidToneMark != toneMarkCount )
-            {
-            AnalyseSpellingAddToneMarkL( i, toneMarkCount, keystroke, showKeystroke );
-            ClearPtiEngineKeystroke();
-            }
-        // current keystroke is A - Z
-        else
-            {
-            delimiterPosition = CheckSpellingAddKeyToPTIL( keystroke->MdcaPoint( i ) );
-            if ( 0 == delimiterPosition )
-                {
-                if ( ( 0 != i ) && 
-                    ( 1 == this->getCurrentLeastDLTSpell().Length() ) )
-                    {
-                    if ( ( !CheckSpellingDLT( showKeystroke->
-                        MdcaPoint( showKeystroke->Count() - 1 ) ) ) && 
-                        ( KInvalidToneMark == ToneMark( showKeystroke->
-                            MdcaPoint( showKeystroke->Count() - 1 ) ) ) )
-                        {
-                        showKeystroke->AppendL( atuoDLT );
-                        }
-                    }
-                if ( i + 1 < keystroke->Count() ) 
-                    {
-                    if ( KInvalidToneMark == ToneMark( keystroke->MdcaPoint( i + 1 ) ) )
-                        {
-                        showKeystroke->AppendL( keystroke->MdcaPoint( i ) );
-                        }
-                    }
-                else
-                    {
-                    showKeystroke->AppendL( keystroke->MdcaPoint( i ) );
-                    }
-                }
-            else
-                {
-                AnalyseSpellingAddKeyL( i, delimiterPosition, keystroke, showKeystroke );
-                ClearPtiEngineKeystroke();
-                }
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::HandleCommitL
-// Handle CBA1 or select event.
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputMiniQwertyPinyinPhraseBase::HandleCommitL()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    TInt keyCount = editPane->KeystrokeArray()->Count();
-    TInt showKeyCount = editPane->ShowKeystrokeArray()->Count();
-    CDesCArrayFlat* phrase = editPane->PhraseArray();
-    TInt cdtCount = uiContainer->CandidatePane()->CandidateArray()->Count();
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-
-    if (EMiniQwertyEdit == iState)
-        {
-        if ( ( showKeyCount > 0 ) && (cdtCount > 0 ) )
-            {
-            UIContainer()->EditPaneWindow()->SetChangeState(ETrue);
-            iOwner->ChangeState(ECandidate);
-            return;
-            }
-
-        if ( keyCount > 0 )
-            {
-            iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-            return;
-            }
-        }
-
-    if ( ( 0 == keyCount ) && (phrase->Count() <= 1 ) )
-        {
-        iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-        return;
-        }
-
-    if ( ( 0 == keyCount ) && (phrase->Count() > 1 ) )
-        {
-        TBuf<KMaxPhraseCreationCount> phraseCreated;
-        for (TInt i = 0; ( (i < phrase->Count() ) && (i
-                < KMaxPhraseCreationCount ) ); ++i )
-            {
-            phraseCreated.Append(phrase->MdcaPoint( i ) );
-            AddPhraseToDB(phraseCreated);
-            }
-        fepMan->NewTextL(phraseCreated);
-        fepMan->CommitInlineEditL();
-        if ( !UIContainer()->EditPaneWindow()->GetPhraseCreationFlag() )
-            {
-            UIContainer()->EditPaneWindow()->SetPhraseCreationFlag(EFalse);
-            iOwner->PtiEngine()->SetPredictiveChineseChar(phraseCreated);
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-            UIContainer()->EditPaneWindow()->SetChangeState(ETrue);
-            if (EPtiKeyboardQwerty4x10 == iOwner->FepMan()->KeyboardLayout() ||
-                 EPtiKeyboardQwerty3x11 == iOwner->FepMan()->KeyboardLayout() )
-                {
-                iOwner->ChangeState(EPredictiveCandidate);
-                }
-#endif
-            }
-        else
-            {
-            UIContainer()->EditPaneWindow()->SetPhraseCreationFlag(EFalse);
-            iOwner->FepMan()->TryCloseUiL();
-            }
-        return;
-        }
-
-    TPtrC text = UIContainer()->CandidatePane()->CurrentPhraseCandidate();
-    if (text.Length() == 0)
-        {
-        return;
-        }
-
-    if ( !CommitInlineEEPL(text) )
-        {
-        DoActionAfterCommit();
-        }
-    else
-        {
-        if ( !CheckFirstGroupStroke() )
-            {
-            if ( iState == EEntry )
-                {
-                editPane->SetAutoChangeStateFlag(EAutoChangeStateFromInput);
-                }
-            else
-                {
-                editPane->SetAutoChangeStateFlag(EAutoChangeStateFromCandidate);
-                }
-            iOwner->ChangeState(EMiniQwertyEdit);
-            return;
-            }
-        else
-            {
-            if ( iState == EEntry )
-                {
-                UIContainer()->EditPaneWindow()->SetChangeState( ETrue );
-                iOwner->ChangeState( ECandidate );
-                }
-            }
-        AnalyseL();
-        RefreshUI();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::HandleKeyBackspaceL
-// Handle KeyBackspace event.
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputMiniQwertyPinyinPhraseBase::HandleKeyBackspaceL(
-    TKeyPressLength aLength)
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    TInt index = editPane->GetCursorIndexOfKeystroke();
-    CDesCArrayFlat* keystroke = editPane->KeystrokeArray();
-    TInt phraseCount = editPane->PhraseArray()->Count();
-    TBool firstGroup = CheckFirstGroupStroke();
-
-    if ( ( 0 == index ) && (phraseCount != 0 ) )
-        {
-        RevertPhraseToKeystrokeL();
-        }
-    else
-        if ( ( 0 == index ) && (keystroke->Count() > 0 ) )
-            {
-            iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-            }
-        else
-            {
-            if ( !DeleteKeystrokeL() )
-                {
-                iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-                }
-            }
-
-    //if the keystroke is null and phrase is null then close input window.
-    if ( ( 0 == phraseCount ) && (keystroke->Count() == 0 ))
-        {
-        iOwner->FepMan()->TryCloseUiL(); //no more keys, close the UI.
-        if (aLength == ELongKeyPress)
-            {
-            iOwner->FepMan()->SetLongClearAfterCloseUI(ETrue);
-            }
-        return;
-        }
-
-    AnalyseL();
-    //Auto change from EMiniQwertyEdit state to EEntry state. 
-    if (EMiniQwertyEdit == iState)
-        {
-        if ( ( !firstGroup ) && CheckFirstGroupStroke() )
-            {
-            if ( EAutoChangeStateFromCandidate == editPane->GetAutoChangeStateFlag() )
-                {
-                RefreshUI();
-                editPane->SetChangeState(ETrue);
-                iOwner->ChangeState(ECandidate);
-                }
-            else if ( EAutoChangeStateFromInput == editPane->GetAutoChangeStateFlag() )
-                {
-                editPane->SetChangeState(ETrue);
-                iOwner->ChangeState(EEntry);
-                }
-            else
-                {
-                RefreshUI();
-                }
-            return;
-            }
-        }
-
-    //Auto change from EEntry state to EMiniQwertyEdit state.
-    if (EEntry == iState)
-        {
-        if ( (firstGroup ) && ( !CheckFirstGroupStroke() ))
-            {
-            editPane->SetChangeState(EFalse);
-            editPane->SetAutoChangeStateFlag(EAutoChangeStateFromInput);
-            iOwner->ChangeState(EMiniQwertyEdit);
-            return;
-            }
-        }
-
-    RefreshUI();
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::HandleDefaultKeyL
-// Handle default key press event.
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputMiniQwertyPinyinPhraseBase::HandleDefaultKeyL(TInt aKey)
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    TBool firstGroup = CheckFirstGroupStroke();
-
-    if ( !AddKeystrokeL(aKey) )
-        {
-        iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-        return;
-        }
-
-    AnalyseL();
-
-    //Auto change from EMiniQwertyEdit state to EEntry state. 
-    if (EMiniQwertyEdit == iState)
-        {
-        if ( ( !firstGroup ) && CheckFirstGroupStroke() )
-            {
-            if ( EAutoChangeStateFromCandidate == editPane->GetAutoChangeStateFlag() )
-                {
-                RefreshUI();
-                editPane->SetChangeState(ETrue);
-                iOwner->ChangeState(ECandidate);
-                }
-            else if ( EAutoChangeStateFromInput == editPane->GetAutoChangeStateFlag() )
-                {
-                editPane->SetChangeState(ETrue);
-                iOwner->ChangeState(EEntry);
-                }
-            else
-                {
-                RefreshUI();
-                }
-            return;
-            }
-        }
-
-    //Auto change from EEntry state to EMiniQwertyEdit state.
-    if (EEntry == iState)
-        {
-        if ( !CheckFirstGroupStroke() )
-            {
-            editPane->SetAutoChangeStateFlag(EAutoChangeStateFromInput);
-            editPane->SetChangeState(ETrue);
-            iOwner->ChangeState(EMiniQwertyEdit);
-            return;
-            }
-        }
-
-    RefreshUI();
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::ShowInfoOnEEP
-// Show the showinfo on the EEP ctrl.
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputMiniQwertyPinyinPhraseBase::ShowInfoOnEEPPane()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* showKeystroke = editPane->ShowKeystrokeArray();
-    CDesCArrayFlat* keystrokeArray = editPane->KeystrokeArray();
-    CDesCArrayFlat* phrase = editPane->PhraseArray();
-    TBuf<KMaxKeystrokeCount> showInfo;
-    TBuf<KMaxKeystrokeCount> keyBuf;
-    for (TInt i = 0; i < phrase->Count(); ++i)
-        {
-        showInfo.Append(phrase->MdcaPoint(i) );
-        }
-
-    for (TInt ii = 0; ii < showKeystroke->Count(); ++ii)
-        {
-        showInfo.Append(showKeystroke->MdcaPoint(ii) );
-        }
-
-    for (TInt j = 0; j < keystrokeArray->Count(); ++j)
-        {
-        keyBuf.Append(keystrokeArray->MdcaPoint(j) );
-        }
-
-    editPane->SetTextForZhuyin(showInfo, GetCursorPos(), phrase->Count(),
-        keyBuf, editPane->GetCursorIndexOfKeystroke() );
-
-    if (iState == ECandidate)
-        {
-        editPane->DisableCursor();
-        }
-    else
-        if (iState == EEntry)
-            {
-            editPane->EnableCursor();
-            editPane->DeactiveCursor();
-            }
-        else
-            if (iState == EMiniQwertyEdit)
-                {
-                editPane->EnableCursor();
-                editPane->ActiveCursor();
-                }
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::ShowInfoOnEEP
-// Show the showinfo on the EEP ctrl.
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputMiniQwertyPinyinPhraseBase::ShowInfoOnCandidatePane()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    CDesCArrayFlat* phrase = uiContainer->CandidatePane()->CandidateArray();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    if (KMaxPhraseCreationCount == editPane->PhraseArray()->Count() )
-        {
-        phrase->Reset();
-        TRAP_IGNORE( phrase->AppendL( KMaxPhraseNote ) );
-        uiContainer->CandidatePane()->SplitPhraseCandidatesIntoPages();
-        uiContainer->CandidatePane()->SetCandidateBuffer();
-        uiContainer->Enable(ETrue);
-        uiContainer->ShowHorizontalScrollArrows(EFalse);
-        uiContainer->ShowVerticalScrollArrows(EFalse);
-        }
-
-    TRAP_IGNORE( GetCandidateL() );
-    if (phrase->Count() > 0)
-        {
-        // layout candidate and fill candidate buffer for first display page
-        uiContainer->CandidatePane()->SplitPhraseCandidatesIntoPages();
-        uiContainer->CandidatePane()->SetCandidateBuffer();
-        uiContainer->Enable(ETrue);
-        TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() && uiContainer->CandidatePane()->IsFirstPage());
-        uiContainer->ShowVerticalScrollArrows(multiplePages);
-        if (iState == EMiniQwertyEdit)
-            {
-            UIContainer()->FocusCandidatePane(EFalse);
-            }
-        else
-            {
-            UIContainer()->FocusCandidatePane(ETrue);
-            UIContainer()->CandidatePane()->SelectFirstPhrase();
-            }
-        }
-    else
-        {
-        uiContainer->CandidatePane()->SplitPhraseCandidatesIntoPages();
-        uiContainer->CandidatePane()->SetCandidateBuffer();
-        uiContainer->Enable(ETrue);
-        uiContainer->ShowHorizontalScrollArrows(EFalse);
-        uiContainer->ShowVerticalScrollArrows(EFalse);
-        uiContainer->SetControlInVisible( EFalse );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::GetShowKeystroke
-//Handle horizontal navigation.
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputMiniQwertyPinyinPhraseBase::GetShowKeystroke(TInt aKey,
-    TDes& aKeystroke)
-    {
-    TInt count = sizeof(StrokeMap )/sizeof(StrokeMap[0] );
-    for (TInt i = 0; i < count; i++)
-        {
-        if (aKey == StrokeMap[i].iKeyCode)
-            {
-            aKeystroke.Append(StrokeMap[i].iValue);
-            break;
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::HandleHorizontalNavigation
-//Handle horizontal navigation.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputMiniQwertyPinyinPhraseBase::HandleHorizontalNavigation(
-    TInt aKey)
-    {
-    MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-    TBool response = EFalse;
-
-    // Do navigation...
-    if (aKey == EStdKeyLeftArrow)
-        {
-        if (!candidatePane->SelectPrev())
-            {
-            candidatePane->SetCandidateBuffer();
-            candidatePane->SelectLastPhrase();
-            }
-        response = ETrue;
-        }
-    else
-        if (aKey == EStdKeyRightArrow)
-            {
-            if (!candidatePane->SelectNext())
-                {
-                candidatePane->SetCandidateBuffer();
-                candidatePane->SelectFirstPhrase();
-                }
-            response = ETrue;
-            }
-
-    if (response)
-        {
-        UpdateIndicator();
-        }
-
-    return response;
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::UpdateIndicator
-// Update Indicator.
-// ---------------------------------------------------------
-//
-void TAknFepInputMiniQwertyPinyinPhraseBase::UpdateIndicator()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-
-    if (candidatePane->IsFirstPage())
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows(EFalse);
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows(ETrue);
-        }
-
-    if (candidatePane->IsLastPage())
-        {
-        uiContainer->CandidatePane()->ShowDownScrollArrows(EFalse);
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowDownScrollArrows(ETrue);
-        }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    if (iOwner->FepMan()->KeyboardLayout() == EPtiKeyboardQwerty4x10)
-        {
-        if (candidatePane->VisibleCandidateCount()==1)
-            {
-            uiContainer->CandidatePane()->ShowLeftScrollArrows(EFalse);
-            uiContainer->CandidatePane()->ShowRightScrollArrows(EFalse);
-            }
-        else
-            {
-            uiContainer->CandidatePane()->ShowLeftScrollArrows(ETrue);
-            uiContainer->CandidatePane()->ShowRightScrollArrows(ETrue);
-            }
-        }
-    else
-        {
-#endif
-        if (candidatePane->SelectedIndex() == 0
-                && candidatePane->IsFirstPage() )
-            {
-            uiContainer->CandidatePane()->ShowLeftScrollArrows(EFalse);
-            }
-        else
-            {
-            uiContainer->CandidatePane()->ShowLeftScrollArrows(ETrue);
-            }
-
-        if (candidatePane->IsLastPage() && (candidatePane->SelectedIndex()
-                == candidatePane->VisibleCandidateCount() - 1))
-            {
-            uiContainer->CandidatePane()->ShowRightScrollArrows(EFalse);
-            }
-        else
-            {
-            uiContainer->CandidatePane()->ShowRightScrollArrows(ETrue);
-            }
-        }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    }
-#endif    
-
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::DeleteMoreKeystrokeL
-// Delete more keystroke than max leng.
-// ---------------------------------------------------------
-//
-void TAknFepInputMiniQwertyPinyinPhraseBase::DeleteMoreKeystrokeL()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* keystroke = editPane->KeystrokeArray();
-    CDesCArrayFlat* showKeystroke = editPane->ShowKeystrokeArray();
-    TInt index = editPane->GetCursorIndexOfKeystroke();
-    TBuf<1> autoDLT;
-    autoDLT.Append( KAutoDLT );
-    AnalyseL();
-    // the count keystroke more than max length.
-    TInt count = showKeystroke->Count() - KMaxKeystrokeCount; 
-    
-    for ( TInt i = 0; i < count; ++i )
-        {
-        if ( 0 != showKeystroke->MdcaPoint( showKeystroke->Count() - 1 ).Compare( autoDLT ) )
-            {
-            showKeystroke->Delete( showKeystroke->Count() - 1 );
-            keystroke->Delete( keystroke->Count() - 1 );
-            }
-        }
-    
-    if ( index > keystroke->Count() )
-        {
-        editPane->SetCursorIndexOfKeystroke( keystroke->Count() );
-        }    
-    }
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::DeleteKeystrokeL
-// Delete current keystroke.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputMiniQwertyPinyinPhraseBase::DeleteKeystrokeL()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* keystroke = editPane->KeystrokeArray();
-    TInt index = editPane->GetCursorIndexOfKeystroke();
-    TInt showKeyCount = editPane->ShowKeystrokeArray()->Count();
-    
-    if ( ( 0 == index ) || (keystroke->Count() == 0 ))
-        {
-        return EFalse;
-        }
-    if ( 1 == index )
-        {
-        editPane->Reset();
-        }
-    if (index >= keystroke->Count() )
-        {
-        keystroke->Delete(keystroke->Count() - 1);
-        editPane->SetCursorIndexOfKeystroke(keystroke->Count() );
-        }
-    else
-        {
-        keystroke->Delete(index - 1);
-        editPane->SetCursorIndexOfKeystroke(index - 1);
-        }
-    
-    if ( showKeyCount >= KMaxKeystrokeCount - 1 )
-        {
-        DeleteMoreKeystrokeL();
-        }
-    
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::AddPhraseToDB
-// Add phrase to DB.
-// ---------------------------------------------------------
-//
-void TAknFepInputMiniQwertyPinyinPhraseBase::AddPhraseToDB(
-    const TDesC& aPhraseAdd)
-    {
-    TPtiUserDictionaryEntry addUdbEntry(aPhraseAdd);
-    //Add the phrase to the DB by PTI Engine
-    iOwner->PtiEngine()->AddUserDictionaryEntry(addUdbEntry);
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::RefreshCandidate
-// Refresh candidate
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputMiniQwertyPinyinPhraseBase::RefreshCandidate()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    uiContainer->CandidatePane()->SetCandidateBuffer();
-    uiContainer->Enable(ETrue);
-
-    TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() && 
-            uiContainer->CandidatePane()->IsFirstPage());
-    uiContainer->ShowVerticalScrollArrows(multiplePages);
-
-    uiContainer->CandidatePane()->SelectFirstPhrase();
-    UpdateIndicator();
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::CheckKeyNeedRepeat
-//  Check key whether need repeat.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputMiniQwertyPinyinPhraseBase::CheckKeyNeedRepeat(
-    TKeyPressLength aLength)
-    {
-    MAknFepUICtrlEditPane* editPane = UIContainer()->EditPaneWindow();
-    if (editPane->IsChangeState() && aLength == ELongKeyPress)
-        {
-        return EFalse;
-        }
-    else
-        {
-        editPane->SetChangeState(EFalse);
-        }
-    return ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::CommitInlineEEPL
-// Commint text to EEP or editor
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputMiniQwertyPinyinPhraseBase::CommitInlineEEPL(
-    const TDesC& aDes)
-    {
-    TInt charCount = aDes.Length();
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    MAknFepUICtrlEditPane* editpane = UIContainer()->EditPaneWindow();
-    CDesCArrayFlat* showkeyStoke = editpane->ShowKeystrokeArray();
-    CDesCArrayFlat* keyStoke = editpane->KeystrokeArray();
-    CDesCArrayFlat* phraseArray = editpane->PhraseArray();
-    CDesCArrayFlat* phraseShowKeyStroke =
-            editpane->PhraseShowKeyStrokeArray();
-    TBuf<KMaxKeystrokeCount> buf;
-    TBuf<1> autoDLT;
-    autoDLT.Append(KAutoDLT);
-
-    if (phraseArray->Count() == 0)
-        {
-        editpane->SetPhraseCreationFlag(EFalse);
-        }
-    phraseArray->AppendL(aDes);
-
-    TInt delCount = 0;
-    for (TInt i = 0; i < showkeyStoke->Count() && charCount
-            && keyStoke->Count() != 0; i++)
-        {
-        TPtrC showptr = showkeyStoke->MdcaPoint(i);
-        TPtrC ptr = keyStoke->MdcaPoint( 0);
-        if (CheckSpellingDLT(showptr) || (KInvalidToneMark
-                != ToneMark(showptr) ))
-            {
-            charCount--;
-            }
-        if (showptr.Compare(autoDLT) != 0)
-            {
-            buf.Append(ptr);
-            keyStoke->Delete( 0);
-            }
-        delCount++;
-        }
-
-    TInt phraseCount = phraseArray->Count();
-    if (phraseCount > KMaxPhraseCreationCount)
-        {
-        phraseCount = KMaxPhraseCreationCount;
-        }
-
-    if (keyStoke->Count() == 0 || phraseCount == KMaxPhraseCreationCount)
-        {
-        TBuf<KMaxPhraseCreationCount> phraseCreated;
-        for (TInt ii = 0; ii < phraseCount; ++ii)
-            {
-            phraseCreated.Append(phraseArray->MdcaPoint(ii) );
-            }
-        fepMan->NewTextL(phraseCreated);
-        fepMan->CommitInlineEditL();
-        iOwner->PtiEngine()->SetPredictiveChineseChar(phraseCreated);
-        AddPhraseToDB(phraseCreated);
-        return EFalse;
-        }
-
-    for (TInt j = 0; j < delCount; j++)
-        {
-        showkeyStoke->Delete( 0);
-        }
-    phraseShowKeyStroke->AppendL(buf);
-
-    editpane->SetCursorIndexOfKeystroke( 0);
-    editpane->DisableCursor();
-    editpane->SetPhraseCreationFlag(ETrue);
-    return ETrue;
-    }
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::ClearPtiEngineKeystroke
-// clear the ptiengine keystroke;
-// ---------------------------------------------------------
-//
-void TAknFepInputMiniQwertyPinyinPhraseBase::ClearPtiEngineKeystroke()
-    {
-    iOwner->PtiEngine()->ClearCurrentWord();
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::AddKeystrokeL
-// Add keystroke.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputMiniQwertyPinyinPhraseBase::AddKeystrokeL(TInt aKey)
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* keystrokeArray = editPane->KeystrokeArray();
-    TInt phraseCount = editPane->PhraseArray()->Count();
-    TInt showKeystrokeCount = editPane->ShowKeystrokeArray()->Count();
-    TInt index = editPane->GetCursorIndexOfKeystroke();
-    TBuf<1> keystroke;
-    
-    if ( phraseCount + showKeystrokeCount >= KMaxKeystrokeCount )
-        {
-        return EFalse;
-        }
-
-    GetShowKeystroke(aKey, keystroke);
-    if ( index >= keystrokeArray->Count() )
-        {
-        keystrokeArray->AppendL(keystroke);
-        editPane->SetCursorIndexOfKeystroke(keystrokeArray->Count() );
-        }
-    else
-        {
-        keystrokeArray->InsertL(index, keystroke);
-        editPane->SetCursorIndexOfKeystroke(index + 1);
-        }
-    
-    if ( phraseCount + showKeystrokeCount >= KMaxKeystrokeCount - 1 )
-        {
-        AnalyseL();
-        if ( phraseCount + editPane->ShowKeystrokeArray()->Count() <= KMaxKeystrokeCount )
-            {
-            return ETrue;
-            }
-        else
-            {
-            keystrokeArray->Delete( index );
-            editPane->SetCursorIndexOfKeystroke( index );
-            AnalyseL();
-            return EFalse;
-            }
-        }
-        
-
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::AddToneMarkL
-// Add tone mark.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputMiniQwertyPinyinPhraseBase::AddToneMarkL()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* keystrokeArray = editPane->KeystrokeArray();
-    TInt phraseCount = editPane->PhraseArray()->Count();
-    TInt showKeystrokeCount = editPane->ShowKeystrokeArray()->Count();
-    TInt index = editPane->GetCursorIndexOfKeystroke();
-    TInt i = 0;
-    const TInt MaxToneMark = 4;
-    if ( phraseCount + showKeystrokeCount >= KMaxKeystrokeCount )
-        {
-        if ( 0 == index )
-            {
-            return EFalse;
-            }
-        else
-            {
-            if ( KInvalidToneMark == ToneMark( keystrokeArray->MdcaPoint( index - 1 ) ) )
-                {
-                return EFalse;
-                }
-            }
-        }
-
-    TBuf<1> toneMark;
-
-    if ( 0 == index )
-        {
-        toneMark.Append(PinyinToneMap[0].iValue);
-        keystrokeArray->InsertL( 0, toneMark);
-        editPane->SetCursorIndexOfKeystroke( 1);
-        return ETrue;
-        }
-    
-    TInt num = sizeof(PinyinToneMap )/( sizeof(PinyinToneMap[0]));
-    for ( i = 0; i < num; ++i )
-        {
-        if (PinyinToneMap[i].iValue == keystrokeArray->MdcaPoint( index - 1 )[0])
-            {
-            break;
-            }
-        }
-
-    if ( i > MaxToneMark )
-        {
-        toneMark.Append(PinyinToneMap[0].iValue);
-        keystrokeArray->InsertL(index, toneMark);
-        editPane->SetCursorIndexOfKeystroke( index + 1 );
-        }
-    else
-        {
-        if ( MaxToneMark == i )
-            {
-            toneMark.Append(PinyinToneMap[0].iValue);
-            }
-        else
-            {
-            toneMark.Append(PinyinToneMap[ i + 1 ].iValue);
-            }
-        keystrokeArray->Delete(index - 1);
-        keystrokeArray->InsertL(index - 1, toneMark);
-        }
-
-    if ( phraseCount + showKeystrokeCount >= KMaxKeystrokeCount - 1 )
-        {
-        AnalyseL();
-        if ( phraseCount + editPane->ShowKeystrokeArray()->Count() > KMaxKeystrokeCount )
-            {
-            if ( i > MaxToneMark )
-                {
-                keystrokeArray->Delete( index );
-                editPane->SetCursorIndexOfKeystroke( index );
-                }
-            else
-                {
-                toneMark.Zero();
-                toneMark.Append( PinyinToneMap[i].iValue );
-                keystrokeArray->Delete( index - 1 );
-                keystrokeArray->InsertL( index - 1, toneMark );
-                }
-            AnalyseL();
-            return EFalse;
-            }
-        }
-        
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::GetCandidateL
-// Get the candidate info.
-// ---------------------------------------------------------
-//
-void TAknFepInputMiniQwertyPinyinPhraseBase::GetCandidateL()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* phraseCandidates = 
-        uiContainer->CandidatePane()->CandidateArray();
-    CDesCArrayFlat* keystroke = editPane->KeystrokeArray();
-    CDesCArrayFlat* showKeystroke = editPane->ShowKeystrokeArray();
-    TInt phraseCount = editPane->PhraseArray()->Count();
-    phraseCandidates->Reset();
-    TBuf<KMaxKeystrokeCount> buf;
-    TBuf<1> delimiter;
-    delimiter.Append( KManualDLT );
-    TInt keyCode;
-    TInt count = KInvalidToneMark;
-    ClearPtiEngineKeystroke();
-    
-    if ( showKeystroke->Count() == 0 )
-        {
-        return;
-        }
-
-    if ( CheckAllGroupStroke() && ( phraseCount == 0 ) )
-        {
-        getCurrentLeastDLTSpell();
-        ptiengine->GetChinesePhraseCandidatesL( *phraseCandidates ); 
-        return;
-        }
-    
-    if ( CheckFirstGroupStroke() )
-        {
-        ClearPtiEngineKeystroke();
-        for ( TInt i = 0; i < showKeystroke->Count(); ++i )
-            {
-            count = ToneMark( keystroke->MdcaPoint( i ) );
-            if ( CheckSpellingDLT( showKeystroke->MdcaPoint( i ) ) )
-                {
-                break;
-                }
-            else if ( KInvalidToneMark != count )
-                {
-                for ( TInt j = 0; j < count; ++j )
-                    {
-                    ptiengine->IncrementToneMark( ETrue );
-                    }
-                break;
-                }
-            else
-                {
-                GetKeystrokeCode( keyCode, keystroke->MdcaPoint( i ) );
-                ptiengine->AppendKeyPress((TPtiKey)keyCode);
-                }
-            }
-        }
-    else
-        {
-        return;
-        }
-    getCurrentLeastDLTSpell();
-    ptiengine->GetChinesePhraseCandidatesL( *phraseCandidates );
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::GetKeystrokeCode
-// get Code of the key stroke. 
-// ---------------------------------------------------------
-//
-void TAknFepInputMiniQwertyPinyinPhraseBase::GetKeystrokeCode(TInt& aKey,
-    const TDesC& aKeystroke)
-    {
-    TInt count = sizeof(StrokeMap )/sizeof(StrokeMap[0] );
-    for (TInt i = 0; i < count; i++)
-        {
-        TBuf<1> buf;
-        buf.Append(StrokeMap[i].iValue);
-        if (0 == aKeystroke.Compare(buf))
-            {
-            aKey = StrokeMap[i].iKeyCode;
-            break;
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::RevertPhraseToKeystrokeL
-// Revert the phrase to keystroke.
-// ---------------------------------------------------------
-//
-void TAknFepInputMiniQwertyPinyinPhraseBase::RevertPhraseToKeystrokeL()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* keystrokeArray = editPane->KeystrokeArray();
-    CDesCArrayFlat* shownKeystrokeArray = editPane->ShowKeystrokeArray();
-    CDesCArrayFlat* phrase = editPane->PhraseArray();
-    CDesCArrayFlat* phraseStroke = editPane->PhraseShowKeyStrokeArray();
-    TBuf<KMaxKeystrokeCount> buf;
-    if ( (phrase->Count() == 0 ) || (phraseStroke->Count() == 0 ))
-        {
-        return;
-        }
-
-    buf.Append(phraseStroke->MdcaPoint(phraseStroke->Count() - 1) );
-    for (TInt i = buf.Length() - 1; i >= 0; --i)
-        {
-        keystrokeArray->InsertL( 0, buf.Mid(i, 1) );
-        }
-    phrase->Delete(phrase->Count() - 1);
-    phraseStroke->Delete(phraseStroke->Count() - 1);
-    AnalyseL();
-    TInt showCount = editPane->ShowKeystrokeArray()->Count();
-    TInt leng = phrase->Count() + showCount;
-    TInt deleteCount = 0;
-    if (leng > KMaxKeystrokeCount)
-        {
-        for (TInt i = 0; i < leng - KMaxKeystrokeCount; ++i)
-            {
-            if (KAutoDLT != shownKeystrokeArray->MdcaPoint( shownKeystrokeArray->Count() - 1 )[0])
-                {
-                deleteCount = deleteCount + 1;
-                }
-            shownKeystrokeArray->Delete(shownKeystrokeArray->Count() - 1);
-            }
-        if (KAutoDLT == shownKeystrokeArray->MdcaPoint( shownKeystrokeArray->Count() - 1 )[0])
-            {
-            shownKeystrokeArray->Delete(shownKeystrokeArray->Count() - 1);
-            }
-        }
-    for (TInt i = 0; i < deleteCount; ++i)
-        {
-        keystrokeArray->Delete(keystrokeArray->Count() - 1);
-        }
-
-    editPane->SetCursorIndexOfKeystroke(buf.Length() );
-    keystrokeArray->Compress();
-    phrase->Compress();
-    phraseStroke->Compress();
-
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::SetWarningColor
-// Set warning color.
-// ---------------------------------------------------------
-//
-void TAknFepInputMiniQwertyPinyinPhraseBase::SetWarningColor(
-                                           TInt aCount,
-                                           TInt aIndex,
-                                           TInt aI,
-                                           TInt aPhraseCount,
-                                           TInt aToneMark,
-                                           TBool aValid,
-                                           CDesCArrayFlat* aShowKeystroke
-                                           )
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlEditPane* editPane = UIContainer()->EditPaneWindow();
-    if ( ( !aValid ) || CheckSpellingDLT(aShowKeystroke->MdcaPoint(aI
-            - 1) ) || (KInvalidToneMark
-            != ToneMark( aShowKeystroke->MdcaPoint( aI - 1 ) ) ))
-        {
-        editPane->SetHighlight(aPhraseCount + aIndex, aPhraseCount
-                + aIndex + aCount - 1 );
-        }
-    else
-        {
-        TPtrC ptr1 = getCurrentLeastDLTSpell();
-        for (TInt j = 0; j < aToneMark; ++j)
-            {
-            ptiengine->IncrementToneMark(ETrue);
-            TPtrC ptr0 = getCurrentLeastDLTSpell();
-            if (ptr0.Length() > 0)
-                {
-                if ( 0 == ptr0.Mid( ptr0.Length() - 1, 1 ).
-                Compare(aShowKeystroke->MdcaPoint( aI ) ) )
-                    {
-                    break;
-                    }
-                }
-            }
-        TPtrC ptr2 = getCurrentLeastDLTSpell();
-        if ( ( ( 1 + ptr1.Length() ) != ptr2.Length() ) || ( 0
-                != ptr2.Mid( ptr2.Length() - 1, 1 ).
-                CompareC( aShowKeystroke->MdcaPoint( aI ) ) ))
-            {
-            editPane->SetHighlight( aPhraseCount + aIndex, aPhraseCount
-                    + aIndex + aCount - 1);
-            }
-        }
-    ClearPtiEngineKeystroke();
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::SetWarningColor
-// Set warning color.
-// ---------------------------------------------------------
-//
-void TAknFepInputMiniQwertyPinyinPhraseBase::SetWarningColor()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlEditPane* editPane = UIContainer()->EditPaneWindow();
-    CDesCArrayFlat* showKeystroke = editPane->ShowKeystrokeArray();
-    TInt phraseCount = editPane->PhraseArray()->Count();
-    TBool valid = ETrue;
-    TInt index = 0;
-    TInt count = 0;
-    TInt stringBeforeLength = 0;
-    TInt stringAfterLength = 0;
-    TInt start = 0;
-    TInt keyCode = 0;
-    TInt toneMark = KInvalidToneMark;
-
-    if (showKeystroke->Count() == 0)
-        {
-        return;
-        }
-
-    if (CheckAllGroupStroke() )
-        {
-        return;
-        }
-    ClearPtiEngineKeystroke();
-    if (CheckSpellingDLT(showKeystroke->MdcaPoint( 0) ) || (KInvalidToneMark
-            != ToneMark(showKeystroke->MdcaPoint( 0) ) ))
-        {
-        start = 1;
-        editPane->SetHighlight(phraseCount, phraseCount);
-        index = 1;
-        }
-
-    for ( TInt i = start; i < showKeystroke->Count(); ++i )
-        {
-        count = count + 1;
-        // tone mark
-        toneMark = ToneMark(showKeystroke->MdcaPoint(i) );
-        if ( KInvalidToneMark != toneMark )
-            {
-            SetWarningColor( count, 
-                             index, 
-                             i, 
-                             phraseCount, 
-                             toneMark, 
-                             valid, 
-                             showKeystroke );
-            index = i + 1;
-            count = 0;
-            valid = ETrue;
-            }
-        else
-            if ( CheckSpellingDLT(showKeystroke->MdcaPoint(i) ) )
-                {
-                if ( ( !valid )
-                        || CheckSpellingDLT(showKeystroke->MdcaPoint(i - 1) )
-                        || (KInvalidToneMark
-                                != ToneMark(showKeystroke->MdcaPoint(i - 1) ) ))
-                    {
-                    editPane->SetHighlight(phraseCount + index, phraseCount
-                            + index + count - 1);
-                    }
-                ClearPtiEngineKeystroke();
-                index = i + 1;
-                count = 0;
-                valid = ETrue;
-                }
-            else
-                {
-                if ( valid )
-                    {
-                    GetKeystrokeCode(keyCode, showKeystroke->MdcaPoint(i) );
-                    stringBeforeLength = getCurrentLeastDLTSpell().Length();
-                    ptiengine->AppendKeyPress((TPtiKey)keyCode).Length();
-                    stringAfterLength = getCurrentLeastDLTSpell().Length();
-                    if ( stringBeforeLength == stringAfterLength )//the keystroke is invalid
-                        {
-                        ClearPtiEngineKeystroke();
-                        valid = EFalse;
-                        }
-                    }
-                }
-
-        if ( ( showKeystroke->Count() == i + 1 ) && ( !valid ) )
-            {
-            editPane->SetHighlight(
-                                phraseCount + index, 
-                                phraseCount + index + count - 1 );
-            ClearPtiEngineKeystroke();
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::SetWarningColor
-// Set warning color.
-// ---------------------------------------------------------
-//
-void TAknFepInputMiniQwertyPinyinPhraseBase::ChangeCbaL()
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan( );
-    MAknFepUICtrlEditPane* editPane = UIContainer()->EditPaneWindow( );
-    TInt candidateCount = UIContainer()->CandidatePane()->CandidateArray()->Count( );
-    TInt keyStrokeCount = editPane->KeystrokeArray()->Count( );
-    TInt phraseCount = editPane->PhraseArray()->Count( );
-    TInt currentCBAResId = editPane->GetCurrentCBAResID( );
-    if ( (candidateCount == 0 && keyStrokeCount != 0 ) || (phraseCount == 1
-        && keyStrokeCount == 0 ) )
-        {
-        if ( R_AKNFEP_SOFTKEYS_EMPTY_CANCEL_EMPTY != currentCBAResId )
-            {
-            fepMan->UpdateCbaL( R_AKNFEP_SOFTKEYS_EMPTY_CANCEL_EMPTY );
-            editPane->SetCurrentCBAResID( R_AKNFEP_SOFTKEYS_EMPTY_CANCEL_EMPTY );
-            }
-
-        }
-    else if ( keyStrokeCount == 0 )
-        {
-        if ( R_AKNFEP_SOFTKEYS_DONE_CANCEL_DONE != currentCBAResId )
-            {
-            fepMan->UpdateCbaL( R_AKNFEP_SOFTKEYS_DONE_CANCEL_DONE );
-            editPane->SetCurrentCBAResID( R_AKNFEP_SOFTKEYS_DONE_CANCEL_DONE );
-            }
-        }
-    else if ( R_AKNFEP_SOFTKEYS_OK_SELECT_CANCEL != currentCBAResId )
-        {
-        fepMan->UpdateCbaL( R_AKNFEP_SOFTKEYS_OK_SELECT_CANCEL );
-        editPane->SetCurrentCBAResID( R_AKNFEP_SOFTKEYS_OK_SELECT_CANCEL );
-        }
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::MoveCursorLeft
-// Move the cursor to Left.
-// ---------------------------------------------------------
-//
-void TAknFepInputMiniQwertyPinyinPhraseBase::MoveCursorLeft()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* showKeyStoke = editPane->ShowKeystrokeArray();
-    TInt showKeyStokeCount = editPane->ShowKeystrokeArray()->Count();
-    TInt indexOfKeystroke = editPane->GetCursorIndexOfKeystroke();
-    TInt cursorPos = editPane->GetCursor() - editPane->PhraseArray()->Count();
-
-    TBuf<1> autoDLT;
-    autoDLT.Append(KAutoDLT);
-    const TInt offset = 2;
-    if (cursorPos <= 0)
-        {
-        cursorPos = 0;
-        }
-    else
-        if (cursorPos >= showKeyStokeCount)
-            {
-            cursorPos = showKeyStokeCount;
-            }
-
-    if (cursorPos == 0)
-        {
-        editPane->SetCursorIndexOfKeystroke(editPane->KeystrokeArray()->Count() );
-        ShowInfoOnEEPPane();
-        SetWarningColor();
-        }
-    else
-        if (cursorPos == 1)
-            {
-            editPane->SetCursorIndexOfKeystroke( 0);
-            ShowInfoOnEEPPane();
-            SetWarningColor();
-            }
-        else
-            {
-            if (showKeyStoke->MdcaPoint( cursorPos - 2 ).Compare(autoDLT) == 0)
-                {
-                editPane->MoveCursorLeft(offset);
-                editPane->SetCursorIndexOfKeystroke(indexOfKeystroke - 1);
-                }
-            else
-                {
-                editPane->MoveCursorLeft();
-                editPane->SetCursorIndexOfKeystroke(indexOfKeystroke - 1);
-                }
-            }
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::MoveCursorRight
-// Move the cursor to Right.
-// ---------------------------------------------------------
-//
-void TAknFepInputMiniQwertyPinyinPhraseBase::MoveCursorRight()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* showKeyStoke = editPane->ShowKeystrokeArray();
-    TInt showKeyStokeCount = editPane->ShowKeystrokeArray()->Count();
-    TInt indexOfKeystroke = editPane->GetCursorIndexOfKeystroke();
-    TInt cursorPos = editPane->GetCursor() - editPane->PhraseArray()->Count();
-    TBuf<1> autoDLT;
-    autoDLT.Append(KAutoDLT);
-    const TInt offset = 2;
-
-    if (cursorPos <= 0)
-        {
-        cursorPos = 0;
-        }
-    else
-        if (cursorPos >= showKeyStokeCount)
-            {
-            cursorPos = showKeyStokeCount;
-            }
-
-    if (cursorPos == showKeyStokeCount)
-        {
-        editPane->SetCursorIndexOfKeystroke( 0);
-        ShowInfoOnEEPPane();
-        SetWarningColor();
-        }
-    else
-        if (cursorPos == showKeyStokeCount - 1)
-            {
-            editPane->MoveCursorRight();
-            editPane->SetCursorIndexOfKeystroke(editPane->KeystrokeArray()->Count() );
-            ShowInfoOnEEPPane();
-            SetWarningColor();
-            }
-        else
-            {
-            if (showKeyStoke->MdcaPoint( cursorPos ).Compare(autoDLT) == 0)
-                {
-                editPane->MoveCursorRight(offset);
-                editPane->SetCursorIndexOfKeystroke(indexOfKeystroke + 1);
-                }
-            else
-                {
-                editPane->MoveCursorRight();
-                editPane->SetCursorIndexOfKeystroke(indexOfKeystroke + 1);
-                }
-            }
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::CheckSpecialKey
-// Check the special keystroke( i,u,v ).
-// ---------------------------------------------------------
-//
-TBool TAknFepInputMiniQwertyPinyinPhraseBase::CheckSpecialKey(const TInt aKey)
-    {
-    if ( (aKey == EPtiKeyQwertyI ) || (aKey == EPtiKeyQwertyU ) || (aKey
-            == EPtiKeyQwertyV ))
-        {
-        return ETrue;
-        }
-    return EFalse;
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::CheckSpellingDLT
-// Check the delimiter of spelling.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputMiniQwertyPinyinPhraseBase::CheckSpellingDLT(
-    const TDesC& aKeystroke)
-    {
-    if ( aKeystroke.Length() == 0 )
-        {
-        return EFalse;
-        }
-    
-    if ( ( KAutoDLT == aKeystroke[0] ) || ( KManualDLT == aKeystroke[0] ) )
-        {
-        return ETrue;
-        }
-    
-    return EFalse;
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::ToneMark
-// Get pinyin tone mark.
-// ---------------------------------------------------------
-//
-TInt TAknFepInputMiniQwertyPinyinPhraseBase::ToneMark(const TDesC& aKeystroke)
-    {
-    TInt numOfToneMark = sizeof (PinyinToneMap)/sizeof(PinyinToneMap[0]);
-    for (TInt i = 0; i < numOfToneMark; i++)
-        {
-        if (PinyinToneMap[i].iValue == aKeystroke[0])
-            return PinyinToneMap[i].iInputTone;
-        }
-    return KInvalidToneMark;
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::ToneMark
-// Get pinyin tone mark.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputMiniQwertyPinyinPhraseBase::CheckSpellingAddToneMarkToPTIL(
-                                                        const TInt aToneMark )
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    TBuf<1> toneMark;
-    TBuf<1> delimiter;
-    
-    toneMark.Append( PinyinToneMap[aToneMark - 1].iValue );
-    delimiter.Append( KManualDLT );
-    
-    for ( TInt i = 0; i < aToneMark; ++i )
-        {
-        ptiengine->IncrementToneMark(ETrue);
-        TPtrC ptr = getCurrentLeastDLTSpell();
-        if ( ( 0 == ptr.Mid( ptr.Length() - 1, 1 ).Compare( toneMark ) ) &&
-            ( KErrNotFound == ptr.Find( delimiter ) )
-            )
-            {
-            return ETrue;
-            }
-        }
-
-    
-    return EFalse;
-    }
-TPtrC TAknFepInputMiniQwertyPinyinPhraseBase::getCurrentLeastDLTSpell()
-	{
-	CPtiEngine* ptiengine = iOwner->PtiEngine();
-	CDesC16ArrayFlat* allSpell = new CDesC16ArrayFlat(1);
-	TPtrC  currentSpell;
-	TBuf<1> delimiter;
-	TBuf<KMaxKeystrokeCount> preDltPosizeArr;
-	TBuf<KMaxKeystrokeCount> curDltPosizeArr;
-	preDltPosizeArr.FillZ(KMaxKeystrokeCount);
-	preDltPosizeArr.SetLength(KMaxKeystrokeCount);
-	curDltPosizeArr.FillZ(KMaxKeystrokeCount);
-	curDltPosizeArr.SetLength(KMaxKeystrokeCount);
-	
-	TInt index = 1;
-	delimiter.Append( KManualDLT );
-	TRAP_IGNORE( ptiengine->GetPhoneticSpellingsL(*allSpell));
-	TInt allCount = ptiengine->PhoneticSpellingCount();
-	
-	
-	for( TInt i = 0; i < allCount; i++)
-		{
-		
-		currentSpell.Set(allSpell->MdcaPoint(i));
-		TInt dltIndex = 0;
-		curDltPosizeArr.FillZ(KMaxKeystrokeCount);
-		curDltPosizeArr.SetLength(KMaxKeystrokeCount);
-		TInt preIndex = 0;
-		for (TInt j = 0; j < currentSpell.Length(); j++)
-			{
-		
-			if (currentSpell.Mid(j, 1).Compare(delimiter) == 0 )
-				{	
-				curDltPosizeArr[dltIndex] = j - preIndex - 1;
-				preIndex = j;
-				dltIndex++;
-				}
-			else if ((j+1) == currentSpell.Length())
-				{
-				curDltPosizeArr[dltIndex] = j - preIndex;
-				}
-			
-			}
-		
-		for (TInt k = 0; k < KMaxKeystrokeCount; k++)
-			{
-			
-			if (preDltPosizeArr[k] < curDltPosizeArr[k] )
-				{
-				preDltPosizeArr.Copy(curDltPosizeArr);
-				index = i + 1;
-				break;
-				}
-			else if (preDltPosizeArr[k] > curDltPosizeArr[k] )
-				{
-				break;
-				}
-			}
-			
-		}
-	
-	if (allSpell)
-		{
-		delete allSpell;
-		}
-	ptiengine->SelectPhoneticSpelling( index );
-	return ptiengine->GetPhoneticSpelling(index);
-	
-	}
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::CheckSpellingAddKeyToPTIL
-// Check the spelling after add key to the PTI.
-// ---------------------------------------------------------
-//
-TInt TAknFepInputMiniQwertyPinyinPhraseBase::CheckSpellingAddKeyToPTIL(
-                                                     const TDesC& aKeystroke )
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    
-    TBuf<1> delimiter;
-    TInt keyCode = 0;
-    TInt stringBeforeLength = 0;
-    TInt stringAfterLength = 0;
-    TInt delimiterIndex = 0;
-    delimiter.Append( KManualDLT );
-    
-    GetKeystrokeCode( keyCode, aKeystroke );
-    //get the string before append this keystroke
-    TPtrC ptr = getCurrentLeastDLTSpell();
-    stringBeforeLength = ptr.Length();
-    //get the string after append this keystroke
-    ptiengine->AppendKeyPress((TPtiKey)keyCode);
-    TPtrC ptr1 = getCurrentLeastDLTSpell();
-    stringAfterLength = ptr1.Length();
-    
-    if ( stringBeforeLength != stringAfterLength )
-        {
-        TPtrC ptr = getCurrentLeastDLTSpell();
-        if ( KErrNotFound == ptr.Find( delimiter ) )
-            {
-            return 0;
-            }
-        else
-            {
-            delimiterIndex = ptr.Length() - ptr.Find( delimiter ) - 1;
-            return delimiterIndex;
-            }
-        }
-    else
-        {
-        return -1;
-        }
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::HandleKeyFromCandidateL
-// Handle key from candidate.
-// ---------------------------------------------------------
-//
-void TAknFepInputMiniQwertyPinyinPhraseBase::HandleKeyFromCandidateL(
-    TInt aKey, TKeyPressLength /*aLength*/)
-    {
-    TInt index = 0;
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    // it may be one of the 'valid' numbers..
-    TPtiKeyboardType keyboardtype = iOwner->FepMan()->KeyboardLayout();
-    if (EPtiKeyboardQwerty4x10 == keyboardtype || EPtiKeyboardQwerty3x11
-            == keyboardtype || EPtiKeyboardHalfQwerty == keyboardtype
-            || EPtiKeyboardCustomQwerty == keyboardtype)
-        {
-        MPtiLanguage *lang= NULL;
-        RArray <TPtiNumericKeyBinding> keybinding;
-        TBool validnumkey = EFalse;
-        CPtiEngine* ptiengine = iOwner->PtiEngine();
-        
-        if( ptiengine != NULL )
-            {
-            lang = ptiengine->CurrentLanguage();
-            }
-        if (ptiengine && lang)
-            {
-            TRAP_IGNORE(ptiengine->GetNumericModeKeysForQwertyL(lang->LanguageCode(), keybinding, keyboardtype));
-            TInt numericKeysCount = keybinding.Count();
-            while (numericKeysCount--)
-                {
-                TPtiNumericKeyBinding numKeyBind =
-                        keybinding[numericKeysCount];
-                if ( (numKeyBind.iChar >= 0x31 && numKeyBind.iChar <= 0x36)
-                        &&(aKey == numKeyBind.iKey))
-                    {
-                    index = numKeyBind.iChar - EPtiKey0 -1;
-                    validnumkey = ETrue;
-                    break;
-                    }
-                }
-            }
-        keybinding.Reset();
-        keybinding.Close();
-        if ( !validnumkey)
-            {
-            iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-            return;
-            }
-        }
-    else
-        {
-#endif
-        index = MapKeyToIndex(aKey);
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        }
-#endif
-    MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-
-    if (candidatePane->SelectIndex(index) || aKey == EStdKeyDevice3 || aKey
-            == EStdKeyEnter)
-        {
-        TPtrC text = candidatePane->CurrentPhraseCandidate();
-        if (text.Length() )
-            {
-            if ( !CommitInlineEEPL(text) )
-                {
-                DoActionAfterCommit();
-                }
-            else
-                {
-                if (CheckFirstGroupStroke() )
-                    {
-                    RefreshUI(EFalse);
-                    UIContainer()->CandidatePane()->SelectFirstPhrase();
-                    }
-                else
-                    {
-                    UIContainer()->EditPaneWindow()->SetAutoChangeStateFlag(EAutoChangeStateFromCandidate);
-                    iOwner->ChangeState(EMiniQwertyEdit);
-                    }
-                }
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::CheckAllGroupStroke
-// check the all group stroke of keystroke.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputMiniQwertyPinyinPhraseBase::CheckAllGroupStroke()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* keystroke = editPane->KeystrokeArray();
-    TInt phraseCount = editPane->PhraseArray()->Count();
-    TInt keyCode = 0;
-    TInt stringBeforeLength = 0;
-    TInt stringAfterLength = 0;
-    TInt toneMarkCount = KInvalidToneMark;
-
-    ClearPtiEngineKeystroke();
-
-    //If there is phrase on the entry pane then the all keystroke is invalid.
-    if ( phraseCount > 0 )
-        {
-        return EFalse;
-        }
-
-    //If the first keystroke is delimiter or tone mark 
-    //then all keystroke is invalid.
-    if ( ( keystroke->Count() == 0 )
-            || (CheckSpellingDLT(keystroke->MdcaPoint( 0 ) ) )
-            || (KInvalidToneMark != ToneMark(keystroke->MdcaPoint( 0 ) ) ) )
-        {
-        return EFalse;
-        }
-
-    for (TInt i = 0; i < keystroke->Count(); ++i )
-        {
-        toneMarkCount = ToneMark(keystroke->MdcaPoint( i ) );
-        if ( KInvalidToneMark != toneMarkCount )
-            {
-            if ( (CheckSpellingDLT(keystroke->MdcaPoint( i - 1 ) ) )
-                    || (KInvalidToneMark != ToneMark(keystroke->MdcaPoint( i - 1 ) ) ) )
-                {
-                return EFalse;
-                }
-            for (TInt j =0; j < toneMarkCount; ++j)
-                {
-                ptiengine->IncrementToneMark(ETrue);
-                TPtrC ptr1 = getCurrentLeastDLTSpell();
-                if (ptr1.Length() > 0)
-                    {
-                    if ( 0 == ptr1.Mid( ptr1.Length() - 1 ).Compare(keystroke->MdcaPoint( i ) ) )
-                        {
-                        break;
-                        }
-                    }
-                }
-            TPtrC ptr = getCurrentLeastDLTSpell();
-            if ( 0 != ptr.Mid( ptr.Length() - 1, 1 ).Compare(keystroke->MdcaPoint( i ) ) )
-                {
-                return EFalse;
-                }
-            }
-        else
-            {
-            if ( (CheckSpellingDLT(keystroke->MdcaPoint( i ) ) )
-                    && (KInvalidToneMark != ToneMark(keystroke->MdcaPoint( i - 1 ) ) ) )
-                {
-                return EFalse;
-                }
-            GetKeystrokeCode(keyCode, keystroke->MdcaPoint(i) );
-            stringBeforeLength = getCurrentLeastDLTSpell().Length();
-            ptiengine->AppendKeyPress((TPtiKey)keyCode).Length();
-            stringAfterLength = getCurrentLeastDLTSpell().Length();
-            if ( stringBeforeLength == stringAfterLength )
-                {
-                return EFalse;
-                }
-            }
-        }
-
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::DoActionAfterCommit
-// Do action afer commit, change state to predictive or not.
-// ---------------------------------------------------------
-//
-void TAknFepInputMiniQwertyPinyinPhraseBase::DoActionAfterCommit()
-    {
-    TRAP_IGNORE( DoActionAfterCommitL() );
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::DoActionAfterCommitL
-// Do action afer commit, change state to predictive or not.
-// ---------------------------------------------------------
-//
-void TAknFepInputMiniQwertyPinyinPhraseBase::DoActionAfterCommitL()
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    if (fepMan->IsFlagSet(CAknFepManager::EFlagEditorFull) )
-        {
-        UIContainer()->EditPaneWindow()->SetPhraseCreationFlag(EFalse);
-        fepMan->ClearFlag(CAknFepManager::EFlagEditorFull);
-        UIContainer()->EditPaneWindow()->SetPhraseCreationFlag(EFalse);
-        if (UIContainer()->EditPaneWindow()->KeystrokeArray()->Count() != 0)
-            {
-            UIContainer()->EditPaneWindow()->ResetAllArray();
-            UIContainer()->EditPaneWindow()->SetPhraseCreationFlag(EFalse);
-            CAknWarningNote* errnote = new( ELeave ) CAknWarningNote();
-            errnote->SetTone(CAknNoteDialog::EWarningTone);
-            errnote->ExecuteLD(KMaxPhraseNote);
-            }
-        iOwner->FepMan()->TryCloseUiL();
-        }
-    else
-        {
-        if (UIContainer()->EditPaneWindow()->KeystrokeArray()->Count() != 0)
-            {
-            UIContainer()->EditPaneWindow()->ResetAllArray();
-            UIContainer()->EditPaneWindow()->SetPhraseCreationFlag(EFalse);
-            CAknWarningNote* errnote = new( ELeave ) CAknWarningNote();
-            errnote->SetTone(CAknNoteDialog::EWarningTone);
-            errnote->ExecuteLD(KMaxPhraseNote);
-            }
-        else
-            {
-            UIContainer()->EditPaneWindow()->ResetAllArray();
-            if ( !UIContainer()->EditPaneWindow()->GetPhraseCreationFlag() )
-                {
-                UIContainer()->EditPaneWindow()->SetPhraseCreationFlag(EFalse);
-                UIContainer()->EditPaneWindow()->SetChangeState(ETrue);
-                iOwner->ChangeState(EPredictiveCandidate);
-                }
-            else
-                {
-                UIContainer()->EditPaneWindow()->SetPhraseCreationFlag(EFalse);
-                iOwner->FepMan()->TryCloseUiL();
-                }
-            }
-        }
-    }
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyPinyinPhraseBase::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputMiniQwertyPinyinPhraseBase::HandleCommandL( TInt aCommandId )
-    {
-    switch ( aCommandId )
-        {
-        // Handle the event frome command.
-        case EAknSoftkeySelect:
-            //case (TUint16)EAknSoftkeySelect: //the Selected in soft CBA
-            HandleCommitL( );
-            break;
-        default:
-            TAknFepInputStateChineseBase::HandleCommandL( aCommandId );
-            break;
-        }
-    }
-// End of file
--- a/fep/aknfep/src/aknfepuiinputminiqwertystrokephrasebase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1469 +0,0 @@
-/*
-* Copyright (c) 2008 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:           
-*      Provides the TAknFepInputStateStrokePhraseCreationBase definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-
-// System includes
-#include <e32cmn.h>
-#include <PtiEngine.h>
-#include <PtiDefs.h>
-#include <avkon.rsg>
-#include <aknfep.rsg>
-#include <PtiUserDicEntry.h>
-#include <aknnotewrappers.h> //CAknWarningNote 
-
-// User includes
-#include "AknFepUIManagerStateInterface.h"
-#include "AknFepUICtrlInputPane.h"
-#include "aknfepuictrleditpane.h"           //Stroke phrase creation
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepManager.h"
-#include "aknfepuiinputminiqwertystrokephrasebase.h"
-
-// CONSTANTS
-
-const TInt KMaxPhraseCount = 50;
-const TInt KMaxPhraseCreationCount = 7;
-const TInt KMaxKeystrokeCount = 31;
-const TInt16 KStrokeDelimiter = 0x2022;
-const TInt16  KStrokeUnicode = 0x2461;
-const TInt16 KKey1 = 0x31;
-const TInt16 KKey6 = 0x36;
-
-_LIT( KMaxPhraseNote,"\x8BCD\x7EC4\x6700\x957F\x4E3A\x4E03\x5B57" );
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateStrokePhraseCreationBase::TAknFepInputStateStrokePhraseCreationBase
-// C++ default constructor
-// ---------------------------------------------------------------------------
-//
-TAknFepInputMiniQwertyStrokePhraseBase::TAknFepInputMiniQwertyStrokePhraseBase(
-    MAknFepUIManagerStateInterface* aOwner,
-    MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateCandidateQwertyBaseChinesePhrase(aOwner, aUIContainer)
-    {
-    iOwner->PtiEngine()->SetInputMode(EPtiEngineStrokePhraseQwerty);
-    iOwner->PtiEngine()->SetCase(EPtiCaseLower);
-    iOwner->PtiEngine()->SetCandidatePageLength( KMaxPhraseCount );
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-    TBool multiplePages = !(candidatePane->IsLastPage() &&
-                            candidatePane->IsFirstPage());
-    uiContainer->ShowVerticalScrollArrows(multiplePages);
-    }
-    
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyStrokePhraseBase::HandleKeyL
-// Handle system key press event.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputMiniQwertyStrokePhraseBase::HandleKeyL( 
-                                        TInt aKey, 
-                                        TKeyPressLength aLength )
-    {
-    TBool ret = ETrue;
-    const TPtiKeyboardType keyboardType = iOwner->PtiEngine()->KeyboardType();
-    
-    switch( aKey )
-        {
-        case EKeyLeftShift:
-        case EKeyLeftCtrl:
-        case EKeyRightCtrl:
-        case EStdKeyLeftFunc:    
-            {
-            iOwner->FepMan()->TryCloseUiL();
-            ret = EFalse;
-            break;
-            }
-        case EStdKeyDevice1:// CBA2
-            {
-            iOwner->FepMan()->TryCloseUiL();
-            break;
-            }
-        case EStdKeyUpArrow:
-        case EStdKeyDownArrow:    
-        case EKeyRightFunc:
-        case EStdKeyEnter:     
-            {
-            iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-            break;
-            }
-        case EStdKeyBackspace:
-            {
-            HandleKeyBackspaceL( aLength );
-            break;
-            }
-        case EStdKeyDevice0:// CBA1
-        case EStdKeyDevice3:// CBASelect
-            {
-            HandleCommitL( aLength );
-            break;
-            }
-        case EStdKeyLeftArrow:
-            {
-            if ( !MoveCursorLeft() )
-                {
-                iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-                }
-            break;
-            }    
-        case EStdKeyRightArrow:
-            {            
-            if ( !MoveCursorRight() )
-                {
-                iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-                }            
-            break;
-            }
-        default:
-            {
-            ret = HandleDefaultL( aKey, aLength );
-            break;
-            }
-        }
-    
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyStrokePhraseBase::RefreshUI
-// Update input window.
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputMiniQwertyStrokePhraseBase::RefreshUI()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    // get cursor position
-    if ( ( uiContainer->EditPaneWindow()->KeystrokeArray()->Count() == 0 ) && 
-        ( uiContainer->EditPaneWindow()->PhraseArray()->Count() == 0 ) )
-        {
-        TPoint baseLine;
-        TInt height(0);
-        TInt ascent(0);
-        TRAPD(ret,iOwner->FepMan()->GetScreenCoordinatesL(baseLine,height,ascent));
-        if (ret == KErrNone)
-            {
-            uiContainer->SetContainerPosition(baseLine, height);    
-            }
-        }
-    if ( ( uiContainer->EditPaneWindow()->KeystrokeArray()->Count() > 0 ) ||
-        ( uiContainer->EditPaneWindow()->PhraseArray()->Count() > 0 ) )
-        {
-        ShowInfoOnEEPPane();
-        SetWarningColor();
-        ShowInfoOnCandidatePane();
-        UpdateIndicator();
-        TRAP_IGNORE( ChangeCbaL() );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyStrokePhraseBase::CheckFirstGroupStroke
-// check the first group stroke of keystroke.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputMiniQwertyStrokePhraseBase::CheckFirstGroupStroke()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* keystroke = editPane->KeystrokeArray();
-    RArray<TInt>* keycodeArray = editPane->KeycodeArray();
-    TInt stringBeforeLength = 0;
-    TInt stringAfterLength = 0;
-    TInt keyCode = 0;
-    TInt pos = 0;
-    TBuf<1> delimiter;
-    
-    if ( 0 == keystroke->Count() )
-        {
-        return EFalse;
-        }
-    
-    delimiter.Append( KStrokeDelimiter );
-    
-    //the keystroke is not delimiter the all keystroke is first group keystroke.
-    if ( 0 != keystroke->Find( delimiter, pos ) )
-        {
-        pos = keystroke->Count();
-        }
-    //first keystroke is delimiter then first group keystroke is invalid.
-    if ( 0 == pos )
-        {
-        return EFalse;
-        }
-    
-    ClearPtiEngineKeystroke();
-    
-    for ( TInt i = 0; i < pos; ++i )
-        {
-        //GetKeystrokeCode( keyCode, keystroke->MdcaPoint( i ) );
-        keyCode = (*keycodeArray)[i];
-        stringBeforeLength = 
-            ptiengine->GetPhoneticSpelling(1).Length();
-        stringAfterLength = 
-            ptiengine->AppendKeyPress((TPtiKey)keyCode).Length();
-        //the keystroke is invalid.
-        if ( stringBeforeLength == stringAfterLength )
-            {
-            return EFalse;
-            }
-        } 
-    return ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyStrokePhraseBase::HandleCommitL
-// Handle CBA1 or select event.
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputMiniQwertyStrokePhraseBase::HandleCommitL( 
-                                                     TKeyPressLength aLength )
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    TInt keyCount = editPane->KeystrokeArray()->Count();
-    CDesCArrayFlat* phrase = editPane->PhraseArray();
-    TInt cdtCount = uiContainer->CandidatePane()->CandidateArray()->Count(); 
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    
-    if ( !CheckKeyNeedRepeat( aLength ) )
-        {
-        iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-        return;
-        }
-    
-    if ( EMiniQwertyEdit == iState )
-        {
-        if ( cdtCount > 0 )
-            {
-            UIContainer()->EditPaneWindow()->SetChangeState( ETrue );
-            iOwner->ChangeState( ECandidate );            
-            return;
-            }
-        
-        if ( keyCount > 0 )
-            {
-            fepMan->PlaySound( EAvkonSIDErrorTone );
-            return;
-            }
-        }
-    
-    if ( phrase->Count( ) <= 1 )
-        {
-        fepMan->PlaySound( EAvkonSIDErrorTone );
-        return;
-        }
-
-    TBuf<KMaxPhraseCreationCount> phraseCreated;
-    for (TInt i = 0; i < phrase->Count( ); ++i )
-        {
-        phraseCreated.Append( phrase->MdcaPoint( i ) );
-        }
-    fepMan->NewTextL( phraseCreated );
-    fepMan->CommitInlineEditL( );
-    AddPhraseToDB( phraseCreated );
-    fepMan->TryCloseUiL( );
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyStrokePhraseBase::HandleAutoChangeState
-// Auto change state.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputMiniQwertyStrokePhraseBase::HandleAutoChangeState()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    TInt index = editPane->GetCursorIndexOfKeystroke();
-    TBool FirstStrokeValid = CheckFirstGroupStroke();
-    //Auto change from EMiniQwertyEdit state to EEntry state. 
-    if ( EMiniQwertyEdit == iState )
-        {
-        if ( FirstStrokeValid )
-            {
-            if ( EAutoChangeStateFromInput == editPane->GetAutoChangeStateFlag() )
-                {
-                editPane->SetChangeState( EFalse );
-                iOwner->ChangeState( EEntry );
-                return ETrue;
-                }
-            else if ( EAutoChangeStateFromCandidate == editPane->GetAutoChangeStateFlag() )
-                {
-                editPane->SetChangeState( ETrue );
-                iOwner->ChangeState( ECandidate );
-                return ETrue;
-                }
-            }
-        }
-    
-    //Auto change from EEntry state to EMiniQwertyEdit state.
-    if ( EEntry == iState )
-        {
-        if ( ( 0 <= index ) && ( !FirstStrokeValid ) )
-            {
-            editPane->SetChangeState( EFalse );
-            editPane->SetAutoChangeStateFlag( EAutoChangeStateFromInput );
-            iOwner->ChangeState( EMiniQwertyEdit );
-            return ETrue;
-            }
-        }
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyStrokePhraseBase::HandleKeyBackspaceL
-// Handle KeyBackspace event.
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputMiniQwertyStrokePhraseBase::HandleKeyBackspaceL(
-                                                    TKeyPressLength aLength )
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    TInt index = editPane->GetCursorIndexOfKeystroke();
-    CDesCArrayFlat* keystroke = editPane->KeystrokeArray();
-    TInt phraseCount = editPane->PhraseArray()->Count();
-
-    if ( !CheckKeyNeedRepeat( aLength ) )
-        {
-        iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-        return;
-        }
-    
-    if ( ( 0 == index ) && ( phraseCount != 0 ) )
-        {
-        RevertPhraseToKeystrokeL();
-        }
-    else if ( ( 0 == index ) && ( keystroke->Count() > 0 ) )
-        {
-        iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-        return;
-        }
-    else
-        {
-        if ( !DeleteKeystroke() )
-            {
-            iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-            return;
-            }
-        }
-    
-    //if the keystroke is null and phrase is null then close input window.
-    if ( ( 0 == phraseCount ) && ( keystroke->Count() == 0 ) )
-        {
-        iOwner->FepMan()->TryCloseUiL(); //no more keys, close the UI.
-        if ( aLength == ELongKeyPress )
-            {
-            iOwner->FepMan()->SetLongClearAfterCloseUI( ETrue );
-            }
-        return;
-        }
-    
-    if ( !HandleAutoChangeState() )
-        {
-        RefreshUI();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyStrokePhraseBase::HandleDefaultL
-// Handle default event.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputMiniQwertyStrokePhraseBase::HandleDefaultL( 
-                                                     TInt aKey,
-                                                     TKeyPressLength aLength )
-    {
-    TBool ret = ETrue;
-    if( CAknFepFnKeyManager::EFnKeyNext == iOwner->FepMan()->FnKeyState() ||
-             CAknFepFnKeyManager::EFnKeyLock == iOwner->FepMan()->FnKeyState() ||
-             ( CAknFepFnKeyManager::EFnKeyDown == iOwner->FepMan()->FnKeyState() && iState != ECandidate ))
-        {
-        iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-        }
-    else if (iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagShiftKeyDepressed) ||
-             iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed))
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        ret = EFalse;
-        }
-    else if ( ( EShortKeyPress == aLength ) && 
-        ( iOwner->IsValidChineseInputKeyQwerty( aKey ) ) )
-        {
-        if ( iState == ECandidate )
-            {
-            HandleKeyFromCandidateL( aKey, aLength );
-            }
-        else
-            {
-            HandleDefaultKeyL( aKey );
-            }
-        }
-    else
-        {
-        iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-        }
-    
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyStrokePhraseBase::HandleDefaultKeyL
-// Handle default key press event.
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputMiniQwertyStrokePhraseBase::HandleDefaultKeyL( TInt aKey )
-    {
-    if ( !AddKeystrokeL( aKey ) )
-        {
-        iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-        return;
-        }
-    
-    if ( !HandleAutoChangeState() )
-        {
-        RefreshUI();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyStrokePhraseBase::ShowInfoOnEEP
-// Show the showinfo on the EEP ctrl.
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputMiniQwertyStrokePhraseBase::ShowInfoOnEEPPane()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* keystroke = editPane->KeystrokeArray();
-    CDesCArrayFlat* phrase = editPane->PhraseArray();
-    TInt index = editPane->GetCursorIndexOfKeystroke();
-    TBuf<KMaxKeystrokeCount> showInfo;
-    
-    for ( TInt i = 0; i < phrase->Count(); ++i )
-        {
-        showInfo.Append( phrase->MdcaPoint( i ) );
-        }
-
-    for ( TInt ii = 0; ii < keystroke->Count(); ++ii )
-        {
-        showInfo.Append( keystroke->MdcaPoint( ii ) );
-        }
-    
-    editPane->SetText( showInfo, index + phrase->Count() );
-    
-    switch ( iState )
-        {
-        case ECandidate:
-            editPane->DisableCursor();
-            break;
-        case EEntry:
-            editPane->EnableCursor();
-            editPane->DeactiveCursor();
-            break;
-        case EMiniQwertyEdit:
-            editPane->EnableCursor();
-            editPane->ActiveCursor();
-            break;
-        default:
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyStrokePhraseBase::ShowInfoOnEEP
-// Show the showinfo on the EEP ctrl.
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputMiniQwertyStrokePhraseBase::ShowInfoOnCandidatePane()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    CDesCArrayFlat* phrase = uiContainer->CandidatePane()->CandidateArray();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    if ( KMaxPhraseCreationCount == editPane->PhraseArray()->Count() )
-        {
-        phrase->Reset();
-        TRAP_IGNORE( phrase->AppendL( KMaxPhraseNote ) );
-        uiContainer->CandidatePane()->SplitPhraseCandidatesIntoPages();
-        uiContainer->CandidatePane()->SetCandidateBuffer();
-        uiContainer->Enable( ETrue );
-        uiContainer->ShowHorizontalScrollArrows( EFalse );
-        uiContainer->ShowVerticalScrollArrows( EFalse );
-        }
-    
-    TRAP_IGNORE( GetCandidateL() );
-    if ( phrase->Count() > 0 )
-        {
-        // layout candidate and fill candidate buffer for first display page
-        uiContainer->CandidatePane()->SplitPhraseCandidatesIntoPages();
-        uiContainer->CandidatePane()->SetCandidateBuffer();
-        uiContainer->Enable( ETrue );
-        TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() &&
-                                uiContainer->CandidatePane()->IsFirstPage());
-        uiContainer->ShowVerticalScrollArrows( multiplePages );
-        if ( iState == EMiniQwertyEdit )
-            {
-            UIContainer()->FocusCandidatePane( EFalse );
-            }
-        else
-            {
-            UIContainer()->FocusCandidatePane( ETrue );
-            UIContainer()->CandidatePane()->SelectFirstPhrase();
-            }
-        }
-    else
-        {
-        uiContainer->CandidatePane()->SplitPhraseCandidatesIntoPages();
-        uiContainer->CandidatePane()->SetCandidateBuffer();
-        uiContainer->Enable( ETrue );
-        uiContainer->ShowHorizontalScrollArrows( EFalse );
-        uiContainer->ShowVerticalScrollArrows( EFalse );
-        uiContainer->SetControlInVisible( EFalse );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyStrokePhraseBase::HandleHorizontalNavigation
-//Handle horizontal navigation.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputMiniQwertyStrokePhraseBase::HandleHorizontalNavigation(
-                                                                   TInt aKey )
-    {
-    MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-    TBool response = EFalse;
-
-    // Do navigation...
-    if ( aKey == EStdKeyLeftArrow )
-        {        
-        if(!candidatePane->SelectPrev())
-            {
-            candidatePane->SetCandidateBuffer();
-            candidatePane->SelectLastPhrase();
-            }
-        response = ETrue;
-        }
-    else if ( aKey == EStdKeyRightArrow )
-        {              
-        if(!candidatePane->SelectNext())
-            {
-            candidatePane->SetCandidateBuffer();
-            candidatePane->SelectFirstPhrase();
-            }
-        response = ETrue;
-        }
-        
-    if (response)
-        {
-        UpdateIndicator();
-        }   
-             
-    return response;
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyStrokePhraseBase::UpdateIndicator
-// Update Indicator.
-// ---------------------------------------------------------
-//
-void TAknFepInputMiniQwertyStrokePhraseBase::UpdateIndicator()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-
-    if (candidatePane->IsFirstPage())
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows(EFalse);
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows(ETrue);
-        }
-
-    if (candidatePane->IsLastPage())
-        {
-        uiContainer->CandidatePane()->ShowDownScrollArrows(EFalse);
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowDownScrollArrows(ETrue);
-        }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    if (iOwner->FepMan()->KeyboardLayout() == EPtiKeyboardQwerty4x10)
-        {
-        if (candidatePane->VisibleCandidateCount()==1)
-            {
-            uiContainer->CandidatePane()->ShowLeftScrollArrows(EFalse);
-            uiContainer->CandidatePane()->ShowRightScrollArrows(EFalse);
-            }
-        else
-            {
-            uiContainer->CandidatePane()->ShowLeftScrollArrows(ETrue);
-            uiContainer->CandidatePane()->ShowRightScrollArrows(ETrue);
-            }
-        }
-    else
-        {
-#endif
-        if (candidatePane->SelectedIndex() == 0
-                && candidatePane->IsFirstPage() )
-            {
-            uiContainer->CandidatePane()->ShowLeftScrollArrows(EFalse);
-            }
-        else
-            {
-            uiContainer->CandidatePane()->ShowLeftScrollArrows(ETrue);
-            }
-
-        if (candidatePane->IsLastPage() && (candidatePane->SelectedIndex()
-                == candidatePane->VisibleCandidateCount() - 1))
-            {
-            uiContainer->CandidatePane()->ShowRightScrollArrows(EFalse);
-            }
-        else
-            {
-            uiContainer->CandidatePane()->ShowRightScrollArrows(ETrue);
-            }
-        }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    }
-#endif    
-
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyStrokePhraseBase::DeleteKeystroke
-// Delete current keystroke.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputMiniQwertyStrokePhraseBase::DeleteKeystroke()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* keystroke = editPane->KeystrokeArray();
-    RArray<TInt>* keycodeArray = editPane->KeycodeArray();
-    TInt index = editPane->GetCursorIndexOfKeystroke();
-    
-    if ( ( 0 == index ) || ( keystroke->Count() == 0 ) )
-        {
-        return EFalse;
-        }
-
-    if ( 1 == index )
-        {
-        editPane->Reset();
-        }
-    
-    if ( index >= keystroke->Count() )
-        {
-        keystroke->Delete( keystroke->Count() - 1 );
-        keycodeArray->Remove( keycodeArray->Count() - 1 );
-        editPane->SetCursorIndexOfKeystroke( keystroke->Count() );
-        }
-    else
-        {
-        keystroke->Delete( index - 1 );
-        keycodeArray->Remove( index - 1 );
-        editPane->SetCursorIndexOfKeystroke( index - 1 );
-        }
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyStrokePhraseBase::AddPhraseToDB
-// Add phrase to DB.
-// ---------------------------------------------------------
-//
-void TAknFepInputMiniQwertyStrokePhraseBase::AddPhraseToDB( 
-                                                     const TDesC& aPhraseAdd )
-    {   
-    TPtiUserDictionaryEntry addUdbEntry( aPhraseAdd );
-    //Add the phrase to the DB by PTI Engine
-    iOwner->PtiEngine()->AddUserDictionaryEntry( addUdbEntry );
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyStrokePhraseBase::RefreshCandidate
-// Refresh candidate
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputMiniQwertyStrokePhraseBase::RefreshCandidate()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    uiContainer->CandidatePane()->SetCandidateBuffer();
-    uiContainer->Enable( ETrue );
-
-    TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() && 
-            uiContainer->CandidatePane()->IsFirstPage());
-    uiContainer->ShowVerticalScrollArrows( multiplePages );
-
-    uiContainer->CandidatePane()->SelectFirstPhrase();
-    UpdateIndicator();
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyStrokePhraseBase::CheckKeyNeedRepeat
-//  Check key whether need repeat.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputMiniQwertyStrokePhraseBase::CheckKeyNeedRepeat( TKeyPressLength aLength )
-    {
-    MAknFepUICtrlEditPane* editPane = UIContainer()->EditPaneWindow();
-    if ( editPane->IsChangeState() && aLength == ELongKeyPress )
-        {
-        return EFalse;
-        }
-    else
-        {
-        editPane->SetChangeState( EFalse );
-        }
-    return ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyStrokePhraseBase::CommitInlineEEPL
-// Commint text to EEP or editor
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputMiniQwertyStrokePhraseBase::CommitInlineEEPL( const TDesC& aDes )
-    {
-    TInt charCount = aDes.Length();
-	MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-	MAknFepUICtrlEditPane* editpane = UIContainer()->EditPaneWindow();
-	CDesCArrayFlat* keyStoke = editpane->KeystrokeArray();
-	RArray<TInt>* keycode = editpane->KeycodeArray();
-	CDesCArrayFlat* phraseArray = editpane->PhraseArray();
-	CDesCArrayFlat* phraseShowKeyStroke = editpane->PhraseShowKeyStrokeArray();
-	RArray<TInt>* phraseKeycode = editpane->PhraseKeycodeArray();
-	TBuf<KMaxKeystrokeCount> buf;
-	TBuf<1> strokeDLT;
-	strokeDLT.Append( KStrokeDelimiter );
-
-	phraseArray->AppendL( aDes );
-
-	TInt phraseCount = phraseArray->Count();
-	TInt index = 0;
-	TInt isFound = keyStoke->Find( strokeDLT, index );
-
-	//phrase creation state
-	if ( phraseCount > 1 || ( 0 == isFound && charCount <= 1 ))
-		{
-		editpane->SetPhraseCreationFlag( ETrue );
-		if ( 0 == isFound && phraseCount < 7 && index < keyStoke->Count() - 1 )
-			{
-			for ( TInt i = 0; i <= index; i++ )
-				{
-				TPtrC ptr = keyStoke->MdcaPoint( 0 );
-				buf.Append( ptr );
-				keyStoke->Delete( 0);
-				phraseKeycode->AppendL( (*keycode)[0]);
-				keycode->Remove( 0 );
-				}
-			phraseShowKeyStroke->AppendL( buf );
-			editpane->SetCursorIndexOfKeystroke( 0 );
-			editpane->DisableCursor();			
-			return ETrue;
-			}
-		else
-			{
-			TBuf<KMaxPhraseCreationCount> phraseCreated;
-			for ( TInt ii = 0; ii < phraseCount; ++ii )
-				{
-				phraseCreated.Append( phraseArray->MdcaPoint(ii) );
-				}
-			if ( 0 != isFound || ( 0 == isFound && index == keyStoke->Count() - 1 ) )
-				{
-				editpane->ResetAllArray();
-				}
-			fepMan->NewTextL( phraseCreated );
-			fepMan->CommitInlineEditL();
-			AddPhraseToDB( phraseCreated );
-			return EFalse;
-			}
-		}
-	else
-		{
-		TBuf<KMaxPhraseCreationCount> phraseCreated;
-		for ( TInt ii = 0; ii < phraseCount; ++ii )
-			{
-			phraseCreated.Append( phraseArray->MdcaPoint( ii ) );
-			}
-		editpane->ResetAllArray();
-		editpane->SetPhraseCreationFlag( EFalse );
-		fepMan->NewTextL( phraseCreated );
-		fepMan->CommitInlineEditL();
-		iOwner->PtiEngine()->SetPredictiveChineseChar( phraseCreated );
-		return EFalse;
-		}
-	}
-
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyStrokePhraseBase::ClearPtiEngineKeystroke
-// clear the ptiengine keystroke;
-// ---------------------------------------------------------
-//
-void TAknFepInputMiniQwertyStrokePhraseBase::ClearPtiEngineKeystroke()
-    {
-    iOwner->PtiEngine()->ClearCurrentWord();
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyStrokePhraseBase::AddKeystrokeL
-// Add keystroke.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputMiniQwertyStrokePhraseBase::AddKeystrokeL( TInt aKey )
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* keystrokeArray = editPane->KeystrokeArray();
-    RArray<TInt>* keycodeArray = editPane->KeycodeArray();
-    TInt phraseCount = editPane->PhraseArray()->Count();
-    TInt keystrokeCount = keystrokeArray->Count();
-    TInt index = editPane->GetCursorIndexOfKeystroke();
-    
-    if ( phraseCount + keystrokeCount >= KMaxKeystrokeCount )
-        {
-        return EFalse;
-        }
-    
-    
-    TBuf<1> keystroke;
-    GetShowKeystroke( aKey, keystroke );
-    if ( index >= keystrokeCount )
-        {
-        keystrokeArray->AppendL( keystroke );
-        keycodeArray->AppendL( aKey );
-        editPane->SetCursorIndexOfKeystroke( keystrokeCount + 1 );
-        }
-    else
-        {
-        keystrokeArray->InsertL( index, keystroke );
-        keycodeArray->InsertL( aKey, index );
-        editPane->SetCursorIndexOfKeystroke( index + 1 );
-        }
-    
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyStrokePhraseBase::GetCandidateL
-// Get the candidate info.
-// ---------------------------------------------------------
-//
-void TAknFepInputMiniQwertyStrokePhraseBase::GetCandidateL()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* phraseCandidates = 
-        uiContainer->CandidatePane()->CandidateArray();
-    CDesCArrayFlat* keystrokeArray = editPane->KeystrokeArray();
-    TInt phraseCount = editPane->PhraseArray()->Count();
-    phraseCandidates->Reset();
-
-    if ( keystrokeArray->Count() == 0 )
-        {
-        return;
-        }
-    
-    if ( ( 0 == phraseCount ) && editPane->GetAllValidFlag() )
-        {
-        ptiengine->GetChinesePhraseCandidatesL( *phraseCandidates ); 
-        return;
-        }
-    
-    if ( !CheckFirstGroupStroke() )
-        {
-        return;
-        }
-    
-    ptiengine->GetChinesePhraseCandidatesL( *phraseCandidates );    
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyStrokePhraseBase::GetShowKeystroke
-// get the show keystroke.
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputMiniQwertyStrokePhraseBase::GetShowKeystroke(
-                                                      TInt aKey,
-                                                      TDes& aKeystroke
-                                                          )
-    {
-    CPtiEngine* ptiEngine = iOwner->PtiEngine();
-    TBuf<KMaxName> lowerdata;   
-    ptiEngine->MappingDataForKey((TPtiKey)aKey, lowerdata, EPtiCaseLower);  
-    TInt StrokeUnicodePosition =0;
-   
-    if(lowerdata.Length()>0)
-        {
-        for(TInt i=0;i<lowerdata.Length()-1;i++)
-            {
-            if(lowerdata[i]==KStrokeUnicode)
-                {
-                StrokeUnicodePosition = i+1;
-                break;
-                }
-            }
-        if ( StrokeUnicodePosition < lowerdata.Length() )
-            {
-            aKeystroke.Copy( lowerdata.Mid( StrokeUnicodePosition, 1 ) );
-            }
-        }
-    
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyStrokePhraseBase::RevertPhraseToKeystrokeL
-// Revert the phrase to keystroke.
-// ---------------------------------------------------------
-//
-void TAknFepInputMiniQwertyStrokePhraseBase::RevertPhraseToKeystrokeL()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* keystrokeArray = editPane->KeystrokeArray();
-    RArray<TInt>* keycodeArray = editPane->KeycodeArray();
-    RArray<TInt>* phraseKeycodeArray = editPane->PhraseKeycodeArray();
-    CDesCArrayFlat* phrase = editPane->PhraseArray();
-    CDesCArrayFlat* phraseStroke = editPane->PhraseShowKeyStrokeArray();
-    
-    TBuf<KMaxKeystrokeCount> buf;
-    
-    if ( ( phrase->Count() == 0 ) || ( phraseStroke->Count() == 0 ) )
-        {
-        return;
-        }
-    
-    buf.Append( phraseStroke->MdcaPoint( phraseStroke->Count() - 1 ) );
-    
-    for ( TInt i = buf.Length() - 1; i >= 0; --i )
-        {
-        keystrokeArray->InsertL( 0, buf.Mid( i, 1 ) );
-        keycodeArray->Insert( (*phraseKeycodeArray)[phraseKeycodeArray->Count()-1], 0 );
-        phraseKeycodeArray->Remove( phraseKeycodeArray->Count()-1 );
-        }
-    phrase->Delete( phrase->Count() - 1 );
-    phraseStroke->Delete( phraseStroke->Count() - 1 );
-    
-    TInt leng = phrase->Count() + keystrokeArray->Count();
-    if ( leng > KMaxKeystrokeCount )
-        {
-        for ( TInt i = 0; i < leng - KMaxKeystrokeCount; ++i )
-            {
-            if (  keystrokeArray->Count() == 0 )
-                {
-                break;
-                }
-            keystrokeArray->Delete( keystrokeArray->Count() - 1 );
-            keycodeArray->Remove( keycodeArray->Count() - 1 );
-            }
-        }
-    
-    editPane->SetCursorIndexOfKeystroke( buf.Length() );
-    keystrokeArray->Compress();
-    phrase->Compress();
-    phraseStroke->Compress();
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyStrokePhraseBase::SetWarningColor
-// Set warning color.
-// ---------------------------------------------------------
-//
-void TAknFepInputMiniQwertyStrokePhraseBase::SetWarningColor()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlEditPane* editPane = UIContainer()->EditPaneWindow();
-    CDesCArrayFlat* keystrokeArray = editPane->KeystrokeArray();
-    RArray<TInt>* keycodeArray = editPane->KeycodeArray();
-    TInt keystrokeCount = keystrokeArray->Count();
-    TInt phraseCount = editPane->PhraseArray()->Count();
-    TBool valid = ETrue;
-    TInt index = 0;
-    TInt count = 0;
-    TInt stringBeforeLength = 0;
-    TInt stringAfterLength = 0;
-    TInt keyCode = 0;
-    TInt invalidPos = 0;
-    TBuf<1> delimiter;
-    delimiter.Append( KStrokeDelimiter );
-    
-    //set warning color stroke after 7th group when it's more than 7 groups.
-    if ( 0 == keystrokeCount )
-        {
-        return;
-        }
-    
-    if ( CheckAllGroupStroke() )
-        {
-        return;
-        }
-    
-    TInt delimiterCount = phraseCount + editPane->GetDelimiterCount();
-    invalidPos = editPane->GetInvalidIndex();
-    index = invalidPos;
-    ClearPtiEngineKeystroke();
-    for ( TInt i = invalidPos; i < keystrokeCount; ++i )
-        {
-        count = count + 1;
-        //GetKeystrokeCode( keyCode, keystrokeArray->MdcaPoint( i ) );
-        keyCode = (*keycodeArray)[i];
-        if ( EPtiKeyQwertySpace == keyCode )
-            {
-            delimiterCount = delimiterCount + 1;
-            if ( delimiterCount == KMaxPhraseCreationCount )
-                {
-                if ( !valid )
-                    {
-                    editPane->SetHighlight( 
-                            phraseCount + index, 
-                            phraseCount + keystrokeCount - 1 );
-                    }
-                else
-                    {
-                    editPane->SetHighlight( 
-                            phraseCount + i, 
-                            phraseCount + keystrokeCount - 1 );
-                    }
-                break;
-                }
-            if ( ( !valid ) || ( 0 == i ) )
-                {
-                editPane->SetHighlight( 
-                        phraseCount + index, 
-                        phraseCount + index + count - 1 );
-                }
-            else if ( i > 0 )
-                {
-                if ( 0 == keystrokeArray->MdcaPoint( i - 1 ).Compare( delimiter ) )
-                    {
-                    editPane->SetHighlight( 
-                            phraseCount + index, 
-                            phraseCount + index + count - 1 );
-                    }
-                }
-            valid = ETrue;
-            index = i + 1;
-            count = 0;
-            ClearPtiEngineKeystroke();
-            }
-        else if ( valid )
-            {
-            stringBeforeLength = ptiengine->GetPhoneticSpelling(1).Length();
-            stringAfterLength = 
-                ptiengine->AppendKeyPress((TPtiKey)keyCode).Length();
-            if ( stringBeforeLength == stringAfterLength )
-                {
-                valid = EFalse;
-                }  
-            }
-        
-        if ( ( !valid ) && 
-            ( keystrokeCount == i + 1 ) && 
-            ( EPtiKeyQwertySpace != keyCode ) )
-            {
-            editPane->SetHighlight( 
-                    phraseCount + index, 
-                    phraseCount + index + count - 1 );
-            }
-        }
-    
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyStrokePhraseBase::SetWarningColor
-// Set warning color.
-// ---------------------------------------------------------
-//
-void TAknFepInputMiniQwertyStrokePhraseBase::ChangeCbaL()
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    MAknFepUICtrlEditPane* editPane = UIContainer()->EditPaneWindow();
-    TInt candidateCount = UIContainer()->CandidatePane()->CandidateArray()->Count();
-    TInt keyStrokeCount = editPane->KeystrokeArray()->Count();
-    TInt phraseCount = editPane->PhraseArray()->Count();
-    TInt currentCBAResId = editPane->GetCurrentCBAResID();
-    if ( ( candidateCount == 0 && keyStrokeCount != 0 ) || 
-        ( phraseCount == 1 && keyStrokeCount == 0 ) )
-        {
-        if (R_AKNFEP_SOFTKEYS_EMPTY_CANCEL_EMPTY != currentCBAResId )
-            {
-            fepMan->UpdateCbaL( R_AKNFEP_SOFTKEYS_EMPTY_CANCEL_EMPTY );
-            editPane->SetCurrentCBAResID( R_AKNFEP_SOFTKEYS_EMPTY_CANCEL_EMPTY );
-            }
-
-        }
-    else if ( keyStrokeCount == 0 )
-        {
-        if ( R_AKNFEP_SOFTKEYS_DONE_CANCEL_DONE != currentCBAResId )
-            {
-            fepMan->UpdateCbaL( R_AKNFEP_SOFTKEYS_DONE_CANCEL_DONE );
-            editPane->SetCurrentCBAResID( R_AKNFEP_SOFTKEYS_DONE_CANCEL_DONE );
-            }
-        }
-    else if ( R_AKNFEP_SOFTKEYS_OK_SELECT_CANCEL != currentCBAResId )
-        {
-        fepMan->UpdateCbaL( R_AKNFEP_SOFTKEYS_OK_SELECT_CANCEL );
-        editPane->SetCurrentCBAResID( R_AKNFEP_SOFTKEYS_OK_SELECT_CANCEL );
-        }
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyStrokePhraseBase::MoveCursorLeft
-// Move the cursor to Left.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputMiniQwertyStrokePhraseBase::MoveCursorLeft()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    TInt keystrokeCount = editPane->KeystrokeArray()->Count();
-    TInt index = editPane->GetCursorIndexOfKeystroke();
-    TInt phraseCount = editPane->PhraseArray()->Count();
-
-    if ( EMiniQwertyEdit != iState )
-        {
-        return EFalse;
-        }    
-    if ( 0 == keystrokeCount )
-        {
-        return EFalse;
-        }
-    
-    if ( 0 == index )
-        {
-        editPane->SetCursorIndexOfKeystroke( keystrokeCount );
-        ShowInfoOnEEPPane();
-        SetWarningColor();        
-        }
-    else if ( ( phraseCount > 0 ) && ( 1 == index ) )
-        {
-        editPane->SetCursorIndexOfKeystroke( 0 );
-        ShowInfoOnEEPPane();
-        SetWarningColor();    
-        }
-    else
-        {
-        editPane->MoveCursorLeft();
-        editPane->SetCursorIndexOfKeystroke( index - 1 );
-        }
-    
-    editPane->SetAutoChangeStateFlag( EManualChangeState );
-    
-    return ETrue;    
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyStrokePhraseBase::MoveCursorRight
-// Move the cursor to Right.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputMiniQwertyStrokePhraseBase::MoveCursorRight()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    TInt keystrokeCount = editPane->KeystrokeArray()->Count();
-    TInt index = editPane->GetCursorIndexOfKeystroke();  
-    
-    if ( EMiniQwertyEdit != iState )
-        {
-        return EFalse;
-        }
-    if ( 0 == keystrokeCount )
-        {
-        return EFalse;
-        }
-    if ( index >= keystrokeCount )
-        {
-        editPane->SetCursorIndexOfKeystroke( 0 );
-        ShowInfoOnEEPPane();
-        SetWarningColor(); 
-        }
-    else
-        {
-        editPane->MoveCursorRight();
-        editPane->SetCursorIndexOfKeystroke( index + 1 );
-        }
-    
-    editPane->SetAutoChangeStateFlag( EManualChangeState );
-    
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyStrokePhraseBase::HandleKeyFromCandidateL
-// Handle key from candidate.
-// ---------------------------------------------------------
-//
-void TAknFepInputMiniQwertyStrokePhraseBase::HandleKeyFromCandidateL(
-    TInt aKey, TKeyPressLength /*aLength*/ )
-    {
-    TInt index = 0;
-    MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    // it may be one of the 'valid' numbers..
-    TPtiKeyboardType keyboardtype = iOwner->FepMan()->KeyboardLayout();
-    if ( EPtiKeyboardQwerty4x10 == keyboardtype || EPtiKeyboardQwerty3x11
-        == keyboardtype || EPtiKeyboardHalfQwerty == keyboardtype
-        || EPtiKeyboardCustomQwerty == keyboardtype )
-        {
-        MPtiLanguage *lang= NULL;
-        RArray < TPtiNumericKeyBinding > keybinding;
-        TBool validnumkey = EFalse;
-        CPtiEngine* ptiengine = iOwner->PtiEngine();
-        
-        if( ptiengine != NULL )
-            {
-            lang = ptiengine->CurrentLanguage();
-            }
-        if ( ptiengine && lang )
-            {
-            TRAP_IGNORE(ptiengine->GetNumericModeKeysForQwertyL(lang->LanguageCode(), keybinding, keyboardtype));
-            TInt numericKeysCount = keybinding.Count();
-            while (numericKeysCount-- )
-                {
-                TPtiNumericKeyBinding numKeyBind =
-                    keybinding[numericKeysCount];
-                if ( (numKeyBind.iChar >= KKey1 && numKeyBind.iChar <= KKey6)
-                    &&(aKey == numKeyBind.iKey) )
-                    {
-                    index = numKeyBind.iChar - EPtiKey0 -1;
-                    if ( candidatePane->SelectIndex( index ) )
-                        {
-                        validnumkey = ETrue;
-                        }
-                    break;
-                    }
-                }
-            }
-        keybinding.Reset();
-        keybinding.Close();
-        if ( !validnumkey )
-            {
-            iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-            return;
-            }
-        }
-    else
-        {
-#endif
-        index = MapKeyToIndex( aKey );
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        }
-#endif
-    TPtrC text = candidatePane->CurrentPhraseCandidate();
-    if ( text.Length( ) )
-        {
-        if ( !CommitInlineEEPL( text ) )
-            {
-            DoActionAfterCommit( );
-            }
-        else
-            {
-            if ( CheckFirstGroupStroke( ) )
-                {
-                RefreshUI( );
-                UIContainer()->CandidatePane()->SelectFirstPhrase( );
-                }
-            else
-                {
-                UIContainer()->EditPaneWindow()->SetAutoChangeStateFlag( EAutoChangeStateFromCandidate );
-                iOwner->ChangeState( EMiniQwertyEdit );
-                }
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyStrokePhraseBase::CheckAllGroupStroke
-// check the all group stroke of keystroke.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputMiniQwertyStrokePhraseBase::CheckAllGroupStroke()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* keystroke = editPane->KeystrokeArray();
-    RArray<TInt>* keycodeArray = editPane->KeycodeArray();
-    TInt phraseCount = editPane->PhraseArray()->Count();
-    TInt keystrokeCount = keystroke->Count();
-    TInt keyCode = 0;
-    TInt stringBeforeLength = 0;
-    TInt stringAfterLength = 0;
-    TInt lastDLTPos = 0;
-    TBool check = ETrue;
-    TInt delimiterCount = 0;
-    //If has phrase on the entry pane then the all keystroke is invalid.
-    if ( ( phraseCount > 0 ) || ( 0 == keystrokeCount ) )
-        {
-        editPane->SetAllValidFlag( EFalse );
-        editPane->SetDelimiterCount( 0 );
-        editPane->SetInvalidIndex( 0 );
-        return EFalse;
-        }
-    
-    ClearPtiEngineKeystroke();
-    for ( TInt i = 0; i < keystrokeCount; ++i )
-        {
-        //GetKeystrokeCode( keyCode, keystroke->MdcaPoint( i ) );
-        keyCode = (*keycodeArray)[i];
-        if ( EPtiKeyQwertySpace == keyCode )
-            {
-            //If first keystroke is delimiter then all keystroke is not valid.
-            if ( i == 0 )
-                {
-                editPane->SetAllValidFlag( EFalse );
-                editPane->SetDelimiterCount( 0 );
-                editPane->SetInvalidIndex( 0 );
-                return EFalse;
-                }
-            //If two delimiter is border upon then the check evaluate EFalse.
-            else if ( lastDLTPos == ( i - 1 ) )
-                {
-                check = EFalse;
-                }
-            //lastDLTPos evaluate last delimiter that has not border upon deliminter. 
-            else if ( check )
-                {
-                delimiterCount = delimiterCount + 1;
-                lastDLTPos = i;
-                }
-            }
-        stringBeforeLength = ptiengine->GetPhoneticSpelling(1).Length();
-        stringAfterLength = 
-            ptiengine->AppendKeyPress((TPtiKey)keyCode).Length();
-        if ( stringBeforeLength == stringAfterLength )
-            {
-            editPane->SetAllValidFlag( EFalse );
-            if ( 0 == lastDLTPos )
-                {
-                editPane->SetDelimiterCount( 0 );
-                editPane->SetInvalidIndex( 0 );
-                }
-            else
-                {
-                editPane->SetDelimiterCount( delimiterCount );
-                editPane->SetInvalidIndex( lastDLTPos + 1 );
-                }            
-            return EFalse;
-            }          
-        }
-    
-    editPane->SetAllValidFlag( ETrue );
-    editPane->SetDelimiterCount( 0 );
-    editPane->SetInvalidIndex( 0 );
-    return ETrue;
-    }
-
-
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyStrokePhraseBase::DoActionAfterCommit
-// Do action afer commit, change state to predictive or not.
-// ---------------------------------------------------------
-//
-void TAknFepInputMiniQwertyStrokePhraseBase::DoActionAfterCommit()
-    {
-    TRAP_IGNORE( DoActionAfterCommitL() ); 
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyStrokePhraseBase::DoActionAfterCommitL
-// Do action afer commit, change state to predictive or not.
-// ---------------------------------------------------------
-//
-void TAknFepInputMiniQwertyStrokePhraseBase::DoActionAfterCommitL( )
-    {
-    if ( UIContainer()->EditPaneWindow()->KeystrokeArray()->Count( ) != 0 )
-        {
-        UIContainer()->EditPaneWindow()->ResetAllArray( );
-        CAknWarningNote* errnote = new( ELeave ) CAknWarningNote();
-        errnote->SetTone( CAknNoteDialog::EWarningTone );
-        errnote->ExecuteLD( KMaxPhraseNote );
-        }
-    else if ( !UIContainer()->EditPaneWindow()->GetPhraseCreationFlag( ) )
-        {
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-        TBool isEditorFull = iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagEditorFull);
-        if ( !isEditorFull )
-            {
-            iOwner->ChangeState( EPredictiveCandidate );
-            UIContainer()->EditPaneWindow()->SetChangeState(ETrue);
-            }
-        else
-            {
-            iOwner->FepMan()->ClearFlag(CAknFepManager::EFlagEditorFull);
-            iOwner->FepMan()->TryCloseUiL();
-            }
-#endif
-        }
-    else
-        {
-        iOwner->FepMan()->TryCloseUiL( );
-        }
-    }
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyStrokePhraseBase::CheckSpellingDLT
-// Check the delimiter of spelling.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputMiniQwertyStrokePhraseBase::CheckSpellingDLT( const TDesC& aKeystroke )
-    {
-    if ( aKeystroke.Length() == 0 )
-        {
-        return EFalse;
-        }
-    if (  KStrokeDelimiter == aKeystroke[0]  )
-        {
-        return ETrue;
-        }    
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyStrokePhraseBase::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputMiniQwertyStrokePhraseBase::HandleCommandL( TInt aCommandId )
-    {
-    switch ( aCommandId )
-        {
-        // Handle the event frome command.
-        case EAknSoftkeySelect:
-            //case (TUint16)EAknSoftkeySelect: //the Selected in soft CBA
-            HandleCommitL( EShortKeyPress );
-            break;
-        default:
-            TAknFepInputStateChineseBase::HandleCommandL( aCommandId );
-            break;
-        }
-    }
-// End of file
--- a/fep/aknfep/src/aknfepuiinputminiqwertyzhuyinphrasebase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,625 +0,0 @@
-/*
-* Copyright (c) 2008 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:           
- *      Provides the TAknFepInputMiniQwertyZhuyinPhraseBase definition.
- *
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// System includes
-#include <e32cmn.h>
-#include <PtiEngine.h>
-#include <PtiDefs.h>
-#include <avkon.rsg>
-#include <aknfep.rsg>
-#include <PtiUserDicEntry.h>
-#include <aknnotewrappers.h> //CAknWarningNote 
-// User includes
-#include "AknFepUIManagerStateInterface.h"
-#include "AknFepUICtrlInputPane.h"
-#include "AknFepUICtrlPinyinPopup.h"        //Pinyin phrase
-#include "aknfepuictrleditpane.h"           //pinyin phrase creation
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepManager.h"
-#include "aknfepuiinputminiqwertyzhuyinphrasebase.h"
-#include "aknfepinputstateminiqwertyzhuyinkeymap.h"
-
-const TInt KMaxPhraseCount = 100;
-const TInt KMaxBufLength = 150;
-const TInt KMaxPhraseCreationCount = 7;
-//KMaxPhraseNote means the max phrase is seven
-_LIT( KMaxPhraseNote,"\x8BCD\x7EC4\x6700\x957F\x4E3A\x4E03\x5B57" );
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyZhuyinPhraseBase::TAknFepInputMiniQwertyZhuyinPhraseBase
-// C++ default constructor
-// ---------------------------------------------------------------------------
-//
-TAknFepInputMiniQwertyZhuyinPhraseBase::TAknFepInputMiniQwertyZhuyinPhraseBase(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer) :
-    TAknFepInputStateCandidateQwertyBaseChinesePhrase( aOwner, aUIContainer )
-    {
-    if (iOwner->PtiEngine()->InputMode() != EPtiEngineZhuyinPhraseQwerty)
-        {
-        iOwner->PtiEngine()->SetInputMode( EPtiEngineZhuyinPhraseQwerty );
-        }
-    iOwner->PtiEngine()->SetCandidatePageLength( KMaxPhraseCount );
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    uiContainer->SetLayout( MAknFepUICtrlContainerChinese::ELayoutPhraseCreation );
-    iOwner->PtiEngine()->SetCase(EPtiCaseLower);
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyZhuyinPhraseBase::HandleKeyL
-// Handle system key press event.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputMiniQwertyZhuyinPhraseBase::HandleKeyL(
-	                                             TInt /*aKey*/ ,
-                                                 TKeyPressLength /*aLength*/ )
-    {
-    return ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyZhuyinPhraseBase::GetValidKeystroke
-// Get the valid keystroke.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputMiniQwertyZhuyinPhraseBase::GetValidKeystroke()
-    {
-    TBool result = ETrue;
-    TRAPD( ret, result = GetValidKeystrokeL() );
-    if ( KErrNone != ret )
-        {
-        return EFalse;
-        }
-    return result;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyZhuyinPhraseBase::RefreshEditPane
-// Refresh editing pane.
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputMiniQwertyZhuyinPhraseBase::RefreshEditPane()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* keystroke = editPane->KeystrokeArray();
-    CDesCArrayFlat* phrase = editPane->PhraseArray();
-    
-    TInt validCount = editPane->GetEffictiveLength();
-    TInt underLineLen = 0;
-    TBuf<KMaxBufLength> buf;
-    
-    for ( TInt i = 0; i < phrase->Count(); ++i )
-        {
-        buf.Append( phrase->MdcaPoint( i ) );
-        }
-    
-    for ( TInt i = 0; i < keystroke->Count(); ++i )
-        {
-        buf.Append( keystroke->MdcaPoint( i ) );
-        if ( i < validCount )
-            {
-            underLineLen = underLineLen + keystroke->MdcaPoint( i ).Length();
-            }
-        }
-    editPane->SetCursorIndexOfKeystroke( validCount );
-    editPane->SetText( buf, phrase->Count() + underLineLen, ETrue );
-    if ( 0 == validCount )
-        {
-        editPane->SetHighlight( phrase->Count(), buf.Length() );
-        }
-    
-    if ( EMiniQwertyEdit == iState )
-        {
-        editPane->ActiveCursor();
-        editPane->EnableCursor();
-        }
-    else if ( EZhuyinSpelling == iState )
-        {
-        editPane->DeactiveCursor();
-        editPane->EnableCursor();
-        editPane->SetUnderline( phrase->Count(), phrase->Count() + underLineLen - 1 );
-        }
-    else if ( EZhuyinCandidate == iState )
-        {
-        editPane->DisableCursor();
-        editPane->SetUnderline( phrase->Count(), phrase->Count() + underLineLen - 1 );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyZhuyinPhraseBase::RefreshSpellingPane
-// Refresh spelling pane.
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputMiniQwertyZhuyinPhraseBase::RefreshSpellingPane( TBool aClearSelection )
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    MAknFepUICtrlInputPane* inputPane = uiContainer->InputPane();
-    CDesCArrayFlat* spelling = popup->PhoneticSpellingArray();
-    TInt selection = 0;
-    if ( !aClearSelection )
-        {
-        selection = popup->CurrentSelection();
-        if ( selection >= spelling->Count() )
-            {
-            selection = 0;
-            }
-        }
-    popup->SplitPhraseSpellingIntoPages( );
-    if ( spelling->Count( ) == 0 )
-        {
-        uiContainer->SetControlInVisible( EFalse );
-        }
-    else
-        {
-        // set display page for delibrate selection
-        inputPane->SetText( spelling->MdcaPoint( selection ) );
-        popup->SetDisplayPage( selection );
-        popup->SetPhraseItemTexts( );
-        popup->PopupSizeChanged( );
-        uiContainer->Enable( ETrue );  
-        }
-
-    if ( EMiniQwertyEdit == iState )
-        {
-        //popup need to add none high lighted interface.
-        popup->SetNoneHighlighted();
-        }
-    popup->Enable( spelling->Count( ) > 0 );
-    uiContainer->Enable( ETrue );    
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyZhuyinPhraseBase::RefreshSpellingPane
-// Refresh spelling pane.
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputMiniQwertyZhuyinPhraseBase::RefreshCandidatePane( TBool aClearSelection )
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    TInt validCount = editPane->ShowKeystrokeArray()->Count();
-    CDesCArrayFlat* candidateArray = 
-        uiContainer->CandidatePane()->CandidateArray();
-    TInt phraseCount = editPane->PhraseArray()->Count();
-    // have valid keystroke.
-    if ( validCount > 0 )
-        {
-        // set display page for delibrate selection
-        ClearDeliberateSelection();
-        GetCandidate( aClearSelection );
-        uiContainer->CandidatePane()->SplitPhraseCandidatesIntoPages();
-        uiContainer->CandidatePane()->SetCandidateBuffer();
-        uiContainer->ShowVerticalScrollArrows( ETrue );
-        uiContainer->Enable( ETrue );
-        }
-    else
-        {
-        candidateArray->Reset();
-        if ( KMaxPhraseCreationCount == phraseCount )
-            {
-            TRAP_IGNORE( candidateArray->AppendL( KMaxPhraseNote ) );
-            }
-        uiContainer->CandidatePane()->SplitPhraseCandidatesIntoPages();
-        uiContainer->CandidatePane()->SetCandidateBuffer();
-        uiContainer->Enable( ETrue );
-        uiContainer->ShowHorizontalScrollArrows( EFalse );
-        uiContainer->ShowVerticalScrollArrows( EFalse );
-        }    
-    uiContainer->Enable(ETrue);
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyZhuyinPhraseBase::UpdateIndicator
-// Update Indicator.
-// ---------------------------------------------------------
-//
-void TAknFepInputMiniQwertyZhuyinPhraseBase::UpdateIndicator()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-
-    if (candidatePane->IsFirstPage())
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows(EFalse);
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows(ETrue);
-        }
-
-    if (candidatePane->IsLastPage())
-        {
-        uiContainer->CandidatePane()->ShowDownScrollArrows(EFalse);
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowDownScrollArrows(ETrue);
-        }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    if (iOwner->FepMan()->KeyboardLayout() == EPtiKeyboardQwerty4x10)
-        {
-        if (candidatePane->VisibleCandidateCount()==1)
-            {
-            uiContainer->CandidatePane()->ShowLeftScrollArrows(EFalse);
-            uiContainer->CandidatePane()->ShowRightScrollArrows(EFalse);
-            }
-        else
-            {
-            uiContainer->CandidatePane()->ShowLeftScrollArrows(ETrue);
-            uiContainer->CandidatePane()->ShowRightScrollArrows(ETrue);
-            }
-        }
-    else
-        {
-#endif
-        if (candidatePane->SelectedIndex() == 0
-                && candidatePane->IsFirstPage() )
-            {
-            uiContainer->CandidatePane()->ShowLeftScrollArrows(EFalse);
-            }
-        else
-            {
-            uiContainer->CandidatePane()->ShowLeftScrollArrows(ETrue);
-            }
-
-        if (candidatePane->IsLastPage() && (candidatePane->SelectedIndex()
-                == candidatePane->VisibleCandidateCount() - 1))
-            {
-            uiContainer->CandidatePane()->ShowRightScrollArrows(EFalse);
-            }
-        else
-            {
-            uiContainer->CandidatePane()->ShowRightScrollArrows(ETrue);
-            }
-        }
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    }
-#endif    
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyZhuyinPhraseBase::ClearDeliberateSelection
-// clear selection.
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputMiniQwertyZhuyinPhraseBase::ClearDeliberateSelection()
-    {
-    // we must have just deleted the last character, 
-    // or we are starting a new pinyin session, 
-    // so wipe the last deliberate selection
-    TPtr oldDeliberateSelection = iOwner->GetLatestDeliberateSelection();
-    oldDeliberateSelection = KNullDesC;
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyZhuyinPhraseBase::ClearPtiEngineKeystroke
-// clear the ptiengine keystroke.
-// ---------------------------------------------------------
-//
-void TAknFepInputMiniQwertyZhuyinPhraseBase::ClearPtiEngineKeystroke()
-    {
-    iOwner->PtiEngine()->ClearCurrentWord();
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyZhuyinPhraseBase::GetCandidateL
-// Get the candidate info.
-// ---------------------------------------------------------
-//
-void TAknFepInputMiniQwertyZhuyinPhraseBase::GetCandidate( TBool aClearSelection )
-    {
-    TRAP_IGNORE( GetCandidateL( aClearSelection ) );
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputMiniQwertyZhuyinPhraseBase::SetWarningColor
-// Set warning color.
-// ---------------------------------------------------------
-//
-void TAknFepInputMiniQwertyZhuyinPhraseBase::ChangeCbaL()
-    {
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    MAknFepUICtrlEditPane* editPane = UIContainer()->EditPaneWindow();
-    TInt candidateCount = UIContainer()->CandidatePane()->CandidateArray()->Count();
-    TInt keyStrokeCount = editPane->KeystrokeArray()->Count();
-    TInt phraseCount = editPane->PhraseArray()->Count();
-    TInt currentCBAResId = editPane->GetCurrentCBAResID();
-    if ( ( candidateCount == 0 && keyStrokeCount != 0 ) || 
-        ( phraseCount == 1 && keyStrokeCount == 0 ) )
-        {
-        if (R_AKNFEP_SOFTKEYS_EMPTY_CANCEL_EMPTY != currentCBAResId )
-            {
-            fepMan->UpdateCbaL( R_AKNFEP_SOFTKEYS_EMPTY_CANCEL_EMPTY );
-            editPane->SetCurrentCBAResID( R_AKNFEP_SOFTKEYS_EMPTY_CANCEL_EMPTY );
-            }
-
-        }
-    else if ( keyStrokeCount == 0 )
-        {
-        if ( R_AKNFEP_SOFTKEYS_DONE_CANCEL_DONE != currentCBAResId )
-            {
-            fepMan->UpdateCbaL( R_AKNFEP_SOFTKEYS_DONE_CANCEL_DONE );
-            editPane->SetCurrentCBAResID( R_AKNFEP_SOFTKEYS_DONE_CANCEL_DONE );
-            }
-        }
-    else if ( R_AKNFEP_SOFTKEYS_OK_SELECT_CANCEL != currentCBAResId )
-        {
-        fepMan->UpdateCbaL( R_AKNFEP_SOFTKEYS_OK_SELECT_CANCEL );
-        editPane->SetCurrentCBAResID( R_AKNFEP_SOFTKEYS_OK_SELECT_CANCEL );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyZhuyinPhraseBase::CheckPhraseSpellingL
-// Check the spelling whether is phrase spelling.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputMiniQwertyZhuyinPhraseBase::CheckPhraseSpellingL()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* spelling = 
-        uiContainer->PinyinPopupWindow()->PhoneticSpellingArray();
-    CDesCArrayFlat* tmpArray = editPane->TempArray();
-    const TUint16 specZhuyin = 0x311D;
-    _LIT( delimiter, "\x0027" );
-    TInt validSpellingCount = 0;
-    tmpArray->Reset();
-    
-    if ( 0 == ptiengine->GetPhoneticSpellingsL( *tmpArray ) )
-        {
-        return EFalse;
-        }
-    
-    for ( TInt i = 0; i < tmpArray->Count(); ++i )
-        {
-        if ( ( KErrNotFound == tmpArray->MdcaPoint( i ).Find( delimiter ) ) &&
-            ( specZhuyin != tmpArray->MdcaPoint( i )[0] ) )
-            {
-            validSpellingCount = validSpellingCount + 1;
-            spelling->InsertL( 0, tmpArray->MdcaPoint( i ) );
-            }
-        }
-    
-    if ( 0 == validSpellingCount )
-        {
-        return EFalse;
-        }
-    
-    return ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyZhuyinPhraseBase::GetValidKeystroke
-// Get the valid keystroke.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputMiniQwertyZhuyinPhraseBase::GetValidKeystrokeL()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* showKeystroke = editPane->ShowKeystrokeArray();
-    CDesCArrayFlat* keystroke = editPane->KeystrokeArray();
-    RArray<TInt>* keycodeArray = editPane->KeycodeArray();
-    TInt phraseCount = editPane->PhraseArray()->Count();
-    CDesCArrayFlat* spelling = 
-        uiContainer->PinyinPopupWindow()->PhoneticSpellingArray();
-    TInt keyCode = 0;
-    TInt stringBeforeLength = 0;
-    TInt stringAfterLength = 0;
-    
-    spelling->Reset();
-    spelling->Compress();
-    showKeystroke->Reset();
-    showKeystroke->Compress();
-    
-    editPane->SetEffictiveLength( 0 );
-    if ( KMaxPhraseCreationCount == phraseCount )
-        {
-        if ( keystroke->Count() > 0 )
-            {
-            keystroke->Reset();
-            }
-        return EFalse;
-        }
-    
-    if ( 0 == keystroke->Count() )
-        {
-        return EFalse;
-        }
-    
-    if ( 1 == keystroke->MdcaPoint( 0 ).Length() )
-        {
-        return EFalse;
-        }
-   
-    if ( CheckToneMarkBorderUpon() )
-        {
-        return EFalse;
-        }
-    
-    ClearPtiEngineKeystroke();
-    for ( TInt i = 0; ( i < keystroke->Count() ) && 
-        ( i < keycodeArray->Count() ); ++i )
-        {
-        keyCode = (*keycodeArray)[i];
-        if ( keyCode == EPtiKeyQwertyE || 
-            keyCode == EPtiKeyQwertyR || 
-            keyCode == EPtiKeyQwertyY || 
-            keyCode == EPtiKeyQwertyU ||
-            keyCode == EStdKeySpace )
-            {
-            if( ptiengine->SetToneMark( keyCode ) )
-                {
-                if ( !CheckPhraseSpellingL() )
-                    {
-                    break;
-                    }
-                else
-                    {
-                    showKeystroke->AppendL( keystroke->MdcaPoint( i - 1 ) );
-                    showKeystroke->AppendL( keystroke->MdcaPoint( i ) );
-                    }
-                }
-            break;
-            }
-        else
-            {
-            stringBeforeLength = 
-                ptiengine->GetPhoneticSpelling(1).Length();
-            stringAfterLength = 
-                ptiengine->AppendKeyPress((TPtiKey)keyCode).Length();
-            if ( stringBeforeLength != stringAfterLength )
-                {
-                if ( i + 1 < keystroke->Count() )
-                    {
-                    if ( 1 != keystroke->MdcaPoint( i + 1 ).Length() )
-                        {
-                        if ( !CheckPhraseSpellingL() )
-                            {
-                            break;
-                            }
-                        showKeystroke->AppendL( keystroke->MdcaPoint( i ) );
-                        }
-                    }
-                else
-                    {
-                    if ( CheckPhraseSpellingL() )
-                        {
-                        showKeystroke->AppendL( keystroke->MdcaPoint( i ) );
-                        }
-                    }
-                }
-            else
-                {
-                break;
-                }
-            }
-        }
-    
-    editPane->SetEffictiveLength( showKeystroke->Count() );
-    if ( 0 == showKeystroke->Count() )
-        {
-        return EFalse;
-        }
-    
-    return ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyZhuyinPhraseBase::GetValidKeystroke
-// Get the valid keystroke.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputMiniQwertyZhuyinPhraseBase::CheckToneMarkBorderUpon()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* keystroke = editPane->KeystrokeArray();
-    
-    if ( keystroke->Count() > 1 )
-        {
-        for ( TInt i = 1; i < keystroke->Count(); ++i )
-            {
-            if ( ( 1 == keystroke->MdcaPoint( i - 1 ).Length() ) &&
-                ( 1 == keystroke->MdcaPoint( i ).Length() ) )
-                {
-                return ETrue;
-                }
-            }
-        }
-    
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputMiniQwertyZhuyinPhraseBase::GetCandidateL
-// Get candidate info.
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputMiniQwertyZhuyinPhraseBase::GetCandidateL( TBool aClearSelection )
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-    CDesCArrayFlat* spelling = popup->PhoneticSpellingArray();
-    CDesCArrayFlat* candidateArray = candidatePane->CandidateArray();
-    candidateArray->Reset();
-    candidateArray->Compress();
-    
-    if ( 0 == spelling->Count() )
-        {
-        return;
-        }
-    
-    TInt selection = 0;
-    if ( !aClearSelection )
-        {
-        selection = popup->CurrentSelection();
-        if ( selection >= spelling->Count() )
-            {
-            selection = 0;
-            }
-        }
-    RPointerArray<HBufC> list;
-    extern void CleanArray( TAny* aAny );
-    TCleanupItem cleanitem( CleanArray, &list );
-    CleanupStack::PushL( cleanitem );
-    HBufC* retString = ptiengine->GetCandidatesByInputString( 
-                                              spelling->MdcaPoint( selection ), 
-                                              list,
-                                              EFalse );
-    
-    delete retString;
-    retString = NULL;
-    
-    for ( TInt i = 0; i < list.Count(); ++i )
-        {
-        if ( 1 == spelling->MdcaPoint( selection ).Length() )
-            {
-            if ( 0 != spelling->MdcaPoint( selection ).Compare( *(list[i]) ) )
-                {
-                candidateArray->AppendL( *(list[i]) );
-                }
-            }
-        else
-            {
-            candidateArray->AppendL( *(list[i]) );
-            }
-        }
-    
-    CleanupStack::PopAndDestroy(); // cleanitem  
-    }
-
-// End of file
--- a/fep/aknfep/src/aknfepuiinputstateentryhalfqwertyphrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1243 +0,0 @@
-/*
-* Copyright (c) 2008 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:           
-*       Provides the  TAknFepInputStateEntryMiniQwertyPinyinPhrase methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "AknFepUIManagerStateInterface.h"  //MAknFepUIManagerStateInterface
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepManagerUIInterface.h"       //MAknFepManagerUIInterface
-#include "AknFepUICtrlCandidatePane.h"
-#include "aknfepuiinputstateentryhalfqwertyphrase.h"
-
-#include "AknFepManager.h"                  //FepMan flag
-#include "AknFepUICtrlInputPane.h"
-#include "AknFepUICtrlPinyinPopup.h"        //Pinyin phrase
-#include "AknFepUiCtrlContainerChinese.h"
-#include <aknfep.rsg>
-#include <PtiEngine.h>      //CPtiEngine
-#include <e32keys.h>        //keys  
-#include <avkon.rsg>
-
-const TInt KFnMappedCharacters = 5;
-const TInt KInputPaneLength = 32;
-const TText KPinyinTone4Valid = 0x02D9;
-const TText KPinyinTone4Invalid = 0x0020;
-const TInt KMaxPhraseCount = 150;
-
-//For Pinyin
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryHalfQwertyPinyinPhrase::TAknFepInputStateEntryHalfQwertyPinyinPhrase
-// the construt funtion 
-// ---------------------------------------------------------------------------
-//
-TAknFepInputStateEntryHalfQwertyPinyinPhrase::TAknFepInputStateEntryHalfQwertyPinyinPhrase(
-                               MAknFepUIManagerStateInterface* aOwner,
-                               MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateEntryQwertyBaseChinesePhrase(aOwner,aUIContainer)                           
-    {
-    iState = EEntry;
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    uiContainer->FocusCandidatePane(EFalse);
-    uiContainer->CandidatePane()->ShowCandidateOrdinals(EFalse);
-    uiContainer->SetLayout(MAknFepUICtrlContainerChinese::ELayoutInput);
-    uiContainer->CandidatePane()->SelectFirstPhrase(); 
-    uiContainer->ShowHorizontalScrollArrows(EFalse); 
-    uiContainer->ShowVerticalScrollArrows(EFalse);
-    uiContainer->InputPane()->SetOverrideFontId(0);
-    // in the case that we are coming back to the input pane from the candidate pane, 
-    // we need to ensure that the current selection is selected correctly
-    ImplicitlyUpdateSelection();
-    UpdateIndicator();
-    ClearDeliberateSelection();
-    iOwner->PtiEngine()->SetInputMode(EPtiEnginePinyinPhraseHalfQwerty);
-    iOwner->PtiEngine()->SetCandidatePageLength(KMaxPhraseCount);
-    iOwner->PtiEngine()->SetCase(EPtiCaseLower);
-    }
-                               
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCandidateMiniQwertyZhuyinPhrase::HandleKeyL
-// handle key event
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputStateEntryHalfQwertyPinyinPhrase::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-    TBool state = ETrue;
-    TPtrC text;
-    TBool ret = ETrue;
-    if ( aLength == EShortKeyPress )
-    	{
-    	switch (aKey)
-			{
-			case EPtiKeyQwerty1:
-				{
-				aKey = EPtiKeyQwertyE;
-				break;
-			}
-		case EPtiKeyQwerty2:
-			{
-			aKey = EPtiKeyQwertyT;
-			break;
-			}
-		case EPtiKeyQwerty3:
-			{
-			aKey = EPtiKeyQwertyU;
-			break;
-			}
-		case EPtiKeyQwerty4:
-			{
-			aKey = EPtiKeyQwertyD;
-			break;
-			}
-		case EPtiKeyQwerty5:
-			{
-			aKey = EPtiKeyQwertyG;
-			break;
-			}
-		case EPtiKeyQwerty6:
-			{
-			aKey = EPtiKeyQwertyJ;
-			break;
-			}
-		case EPtiKeyQwerty7:
-			{
-			aKey = EPtiKeyQwertyC;
-			break;
-			}
-		case EPtiKeyQwerty8:
-			{
-			aKey = EPtiKeyQwertyB;
-			break;
-			}
-		case EPtiKeyQwerty9:
-			{
-			aKey = EPtiKeyQwertyM;
-			break;
-			}
-			case EPtiKeyQwerty0:
-				{
-				aKey = EPtiKeyQwertySpace;
-				break;
-				}
-			}
-    	}
-	
-    if ( aKey != EStdKeyLeftFunc && 
-        (iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed) ||
-        iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagShiftKeyDepressed)))
-        {
-        iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-        return ETrue;
-        }
-    if(( aKey == EStdKeyLeftFunc  || aKey == EStdKeyFullStop) && aLength == EShortKeyPress) //chr and punctuation key to tone mark   
-        {
-        if(ptiengine->IncrementToneMark(ETrue))
-            {
-            ImplicitlyUpdateSelection();
-            }
-        }
-    else if( CAknFepFnKeyManager::EFnKeyNext == iOwner->FepMan()->FnKeyState() ||     //
-        CAknFepFnKeyManager::EFnKeyLock == iOwner->FepMan()->FnKeyState() ||
-        CAknFepFnKeyManager::EFnKeyDown == iOwner->FepMan()->FnKeyState())
-        {
-        popup->SetPreStateIsPredictive( EFalse );
-        iOwner->FepMan()->TryCloseUiL();
-        ret = EFalse;
-        }                                                    
-    else if(aKey == EStdKeyBackspace )
-        {
-        if ( popup->IsChangeStatet() && aLength == ELongKeyPress )
-            {
-            state = EFalse;
-            }
-        else
-            {
-            popup->SetChangeState( EFalse );
-            }
-        if ( state )
-            {
-            if (iOwner->PtiEngine()->DeleteKeyPress().Length())
-                {
-                ImplicitlyUpdateSelection();
-                }
-            else
-                {
-                iOwner->FepMan()->TryCloseUiL(); //no more keys, close the UI.
-                popup->SetPreStateIsPredictive( EFalse );
-                if ( aLength == ELongKeyPress )
-                    {
-                    iOwner->FepMan()->SetLongClearAfterCloseUI(ETrue);
-                    }
-                }
-            }
-        } 
-    else if(aKey ==EStdKeyDevice1)//sk2
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        popup->SetPreStateIsPredictive( EFalse );
-        }
-    else if(aKey == EStdKeyRightArrow)
-        {
-        if(popup->IsEnabled())
-            {
-            if(popup->SelectNextPhrase())
-                {
-                DeliberatelyUpdateSelection();
-                }
-            }
-        }
-    else if(aKey == EStdKeyLeftArrow)
-        {
-        if(popup->IsEnabled())
-            {
-            if(popup->SelectPrevPhrase())
-                {
-                DeliberatelyUpdateSelection();
-                }
-            }
-        } 
-    else if (aKey == EStdKeyDownArrow
-            || aKey == EStdKeyDevice3
-            || aKey == EStdKeyDevice0
-            ||aKey == EStdKeyEnter) //Downkey,sk1,selection,enter key
-        {
-        if(popup->IsEnabled())
-            {
-            popup->Enable(EFalse);
-            }
-        iOwner->ChangeState(ECandidate);
-        popup->SetPreStateIsPredictive( EFalse );
-        popup->SetChangeState( ETrue );
-        }  
-    else if ( aKey == EStdKeyUpArrow )
-        {
-        if ( !candidatePane->IsFirstPage() )
-            {
-            candidatePane->PreviousCandidatePage();
-            candidatePane->SetCandidateBuffer();
-            candidatePane->SelectFirst();
-            UpdateIndicator();
-            }
-        }
-    else if(aLength == EShortKeyPress) 
-        {
-        iOwner->FepMan()->SetCcpuFlag(CAknFepManager::ECcpuStateIgnoreStarUp);            
-        
-        if(iOwner->IsValidChineseInputKeyQwerty(aKey) || aKey ==EStdKeySpace ) //seperator
-            {
-            TInt stringBeforeLength(0);
-            TInt stringAfterLength(0);
-            stringBeforeLength = ptiengine->GetPhoneticSpelling(1).Length();
-            stringAfterLength = ptiengine->AppendKeyPress((TPtiKey)aKey).Length();
-            if (stringAfterLength==0 && aKey == EPtiKeyQwertyU )  //u,i should not as first character in pinyin
-               {
-               iOwner->FepMan()->TryCloseUiL();
-               popup->SetPreStateIsPredictive( EFalse );
-               iOwner->FepMan()->UpdateCbaL(NULL);
-//               iOwner->ChangeState(EQwerty);
-               iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-               return ETrue;     
-               }
-            if (stringBeforeLength != stringAfterLength)
-                {
-                if (ptiengine->GetPhoneticSpelling(1).Length() == 1)
-                    {
-                    iOwner->FepMan()->UpdateCbaL(R_AKNFEP_SOFTKEYS_OK_SELECT_CANCEL);
-                    }
-                ImplicitlyUpdateSelection();
-                }
-            else
-                {
-                iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-                }
-            }
-        else
-            {
-            iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-            }
-        if ( popup->PhoneticSpellingArray()->Count() > 0 &&
-            popup->PhoneticSpellingArray()->MdcaPoint( 0 ).Length() > 1 )
-            {
-            popup->SetPreStateIsPredictive( EFalse );
-            }
-        }
-    else 
-        {
-        if ( popup->GetPreStateIsPredictive() && 
-            popup->PhoneticSpellingArray()->Count() > 0 &&
-        		popup->PhoneticSpellingArray()->MdcaPoint( 0 ).Length() == 1)    //long press fn mode character should inputted
-            {
-            iOwner->FepMan()->TryCloseUiL();
-            popup->SetPreStateIsPredictive( EFalse );
-            if (aKey == EStdKeyEnter)
-                {
-                // PtiEngine does not have mapping for the enter key.
-                const TText KAknFEPLineFeedSymbol = 0x21B2;
-                TBuf<1> lineFeed;
-                lineFeed.Zero();
-                lineFeed.Append(KAknFEPLineFeedSymbol);
-                text.Set(lineFeed);
-                }
-            else
-                {
-                TBuf<KFnMappedCharacters> allFnMappedCharacters;
-                ptiengine->MappingDataForKey((TPtiKey)aKey, allFnMappedCharacters, EPtiCaseFnLower);
-                text.Set(allFnMappedCharacters);
-                }
-            if (text.Length() > 0)
-                {
-                TBuf<1> chr;
-                chr.Append(text[0]);
-                iOwner->FepMan()->NewCharacterL(chr);
-                iOwner->FepMan()->CommitInlineEditL();
-                ptiengine->ClearCurrentWord();
-                ret = ETrue;
-                }
-            }
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryHalfQwertyPinyinPhrase::DeliberatelyUpdateSelection
-// DeliberatelyUpdateSelection
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateEntryHalfQwertyPinyinPhrase::DeliberatelyUpdateSelection()
-    {
-    TPtr deliberateSelection = iOwner->GetLatestDeliberateSelection();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    TInt selected = popup->CurrentSelection();
-    ptiengine->EnableToneMarks(EFalse);
-    // our index is zero based, engine index is one based
-    TPtrC spelling = ptiengine->GetPhoneticSpelling(selected + 1); 
-    deliberateSelection = spelling.Left(MAknFepUICtrlInputPane::EMaxInputCharsPinyinPopupNotIncludingToneMark);
-    ptiengine->EnableToneMarks(ETrue);
-    UIContainer()->PinyinPopupWindow()->SetFlag(MAknFepUICtrlPinyinPopup::ESpellingNavigation);    
-    RefreshUI(popup->CurrentVisibleSelection());
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryHalfQwertyPinyinPhrase::ImplicitlyUpdateSelection
-// update the selection
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateEntryHalfQwertyPinyinPhrase::ImplicitlyUpdateSelection()
-    {
-    TPtr oldDeliberateSelection = iOwner->GetLatestDeliberateSelection();
-    TInt oldDeliberateSelectionLength = oldDeliberateSelection.Length();
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    // previously selected is compared in turn to each of the new candidates
-    ptiengine->EnableToneMarks(EFalse);
-    TInt pinyinCount = ptiengine->PhoneticSpellingCount();
-    TInt newSelection = 0;
-    for(TInt i = 0; i < pinyinCount; i++)
-        {
-        TPtrC spelling = ptiengine->GetPhoneticSpelling(i + 1);  // our index is zero based, engine index is one based
-        TInt spellingLength = spelling.Length();
-        // figure out how many characters we are comparing, this depends on the 
-        // direction of the edit
-        TInt compareLength = oldDeliberateSelectionLength <= spellingLength ? 
-            oldDeliberateSelectionLength : spellingLength;
-        if(oldDeliberateSelection.Left(compareLength) == spelling.Left(compareLength))
-            {
-            // as soon as a substring match is found, the 
-            // highlight position is set to that candidate in the new list. 
-            // note that in the case of the first character entered, the
-            // oldBuf will be empty so it will always match... which is 
-            // fine as we want to select the top one anyway, so we will
-            // quit the loop early.
-            newSelection = i;
-            break;
-            }
-        }
-    ptiengine->EnableToneMarks(ETrue);
-    UIContainer()->PinyinPopupWindow()->SetFlag(MAknFepUICtrlPinyinPopup::ESpellingChanged);
-    RefreshUI(newSelection);
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryHalfQwertyPinyinPhrase::ClearDeliberateSelection
-// clear the deliberate selection
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateEntryHalfQwertyPinyinPhrase::ClearDeliberateSelection()
-    {
-    MAknFepUICtrlPinyinPopup* popup = UIContainer()->PinyinPopupWindow();
-    TInt spellingCount = popup->PhoneticSpellingArray()->Count();
-    // we must have just deleted the last character, 
-    // or we are starting a new zhuyin session, so wipe the last deliberate selection
-    if ( 0 == spellingCount )
-        {
-        TPtr oldDeliberateSelection = iOwner->GetLatestDeliberateSelection();
-        oldDeliberateSelection = KNullDesC;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryHalfQwertyPinyinPhrase::RefreshUI
-// refresh ui 
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateEntryHalfQwertyPinyinPhrase::RefreshUI(TInt aSelection)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    MAknFepUICtrlInputPane* inputPane = uiContainer->InputPane();   
-    // get cursor position
-    TPoint baseLine = TPoint(0,0);
-    TInt height = 0;
-    TInt ascent = 0;
-    TRAPD(ret,iOwner->FepMan()->GetScreenCoordinatesL(baseLine,height,ascent));
-    if (ret == KErrNone)
-        {
-        uiContainer->SetContainerPosition(baseLine, height);    
-        }
-    TText toneMark;
-    TBool toneMarkEntered = ptiengine->ToneMark(toneMark);
-    TBuf<1> validToneMarkBuf;
-    if(toneMarkEntered)
-        {
-        // override specific invalid tonemark character only, the others are the same character 
-        // when both valid and invalid
-        if(toneMark == KPinyinTone4Invalid)
-            toneMark = KPinyinTone4Valid;
-        validToneMarkBuf.Append(toneMark);
-        }
-    // to start with, disable the tone marks so we can get the list of all zhuyin matches
-    // later we will figure out which ones are invalid
-    ptiengine->EnableToneMarks(EFalse);
-    TInt pinyinCountWithoutToneMarks = ptiengine->PhoneticSpellingCount();
-    if(pinyinCountWithoutToneMarks > 0)
-        {
-        if(popup->IsFlagSet(MAknFepUICtrlPinyinPopup::ESpellingChanged))
-            {
-            CDesCArrayFlat* spelling = popup->PhoneticSpellingArray();
-            TRAPD(ignore, ptiengine->GetPhoneticSpellingsL(*spelling));
-            if (ignore != KErrNone)
-                {
-                return;
-                }
-            popup->SplitPhraseSpellingIntoPages(); 
-            }
-        // set display page for delibrate selection
-        popup->SetDisplayPage(aSelection);
-        popup->SetPhraseItemTexts();
-        // fill in input pane although it's invisible
-        inputPane->SetText(ptiengine->GetPhoneticSpelling(popup->CurrentSelection() + 1));
-        popup->PopupSizeChanged(); // phrase input
-        }
-    // turn tone marks back on so that we know where we are.
-    ptiengine->EnableToneMarks(ETrue);
-    // this is where we start to figure out whether the tonemarks are valid,
-    // whether the selected tonemark is valid, and what is the index of the 
-    // selected candidate in the list of candidates with tonemarks...
-    TBool selectionToneMarkValid = EFalse;
-    TInt selectionIndexAdjustedForToneMarkValidity = popup->CurrentSelection();
-    // we only need to deal with tone marks if there is one
-    if(toneMarkEntered)
-        {
-        if(pinyinCountWithoutToneMarks > 0)
-            {
-            for(TInt i = 0; i < pinyinCountWithoutToneMarks; i++)
-                {
-                TBool valid = EFalse;
-                
-                TBuf<MAknFepUICtrlInputPane::EMaxInputCharsPinyinPopupNotIncludingToneMark> nextCandidateWithoutToneMark;
-                nextCandidateWithoutToneMark.Copy(ptiengine->GetPhoneticSpelling
-                    (i + 1).Left(MAknFepUICtrlInputPane::EMaxInputCharsPinyinPopupNotIncludingToneMark));
-                ptiengine->EnableToneMarks(EFalse); 
-                ptiengine->SelectPhoneticSpelling(i + 1);
-                valid = ptiengine->IsToneMarkValidForSpelling();
-                if(valid)
-                    {
-                    ptiengine->EnableToneMarks(ETrue); 
-                    TInt pinyinCountWithToneMarks = ptiengine->PhoneticSpellingCount();
-                    for(TInt j = 0; j < pinyinCountWithToneMarks; j++)
-                        {
-                        // use j here not i as we are looking at the list with tonemarks
-                        TPtrC nextCandidateWithToneMark = ptiengine->GetPhoneticSpelling(j + 1);  
-                        if(nextCandidateWithToneMark == nextCandidateWithoutToneMark)
-                            {
-                            if(i == aSelection)
-                                {
-                                selectionToneMarkValid = ETrue;
-                                
-                                // fill in input pane even if it can't be seen, for when we have to hide popup window
-                                inputPane->SetText(nextCandidateWithoutToneMark);
-                                }
-                            break;
-                            }
-                        }
-                    }
-                }
-            }
-        }
-    ptiengine->EnableToneMarks(EFalse); 
-    ptiengine->SelectPhoneticSpelling(popup->CurrentSelection() + 1); 
-    // next two lines are for tonemark validity
-    ptiengine->EnableToneMarks(selectionToneMarkValid); 
-    ptiengine->SelectPhoneticSpelling(selectionIndexAdjustedForToneMarkValidity + 1); // our index is zero based, engine index is one based
-    // update the candidate pane.
-    if(popup->IsFlagSet(MAknFepUICtrlPinyinPopup::ESpellingChanged) 
-        || popup->IsFlagSet(MAknFepUICtrlPinyinPopup::ESpellingNavigation))
-        {
-        TRAPD(ignore, ptiengine->GetChinesePhraseCandidatesL(*(uiContainer->CandidatePane()->CandidateArray())));
-        if (ignore != KErrNone)
-            {
-            return;
-            }
-        uiContainer->CandidatePane()->SplitPhraseCandidatesIntoPages(); 
-        popup->ClearFlag(MAknFepUICtrlPinyinPopup::ESpellingChanged 
-                        | MAknFepUICtrlPinyinPopup::ESpellingNavigation);
-        }
-    uiContainer->CandidatePane()->SetCandidateBuffer();
-    uiContainer->Enable(ETrue);
-    // need to enable the pinyin popup after the container so that it is raised to the front
-    popup->Enable(pinyinCountWithoutToneMarks > 0);
-    UpdateIndicator();
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryHalfQwertyPinyinPhrase::InitializeStateL
-// updata the cba 
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateEntryHalfQwertyPinyinPhrase::InitializeStateL(void)
-    {
-    iOwner->FepMan()->UpdateCbaL( R_AKNFEP_SOFTKEYS_OK_SELECT_CANCEL );
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryHalfQwertyPinyinPhrase::UpdateIndicator
-// updata the indicator
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateEntryHalfQwertyPinyinPhrase::UpdateIndicator()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();        
-
-    uiContainer->CandidatePane()->ShowUpScrollArrows(EFalse);    
-    uiContainer->CandidatePane()->ShowDownScrollArrows(EFalse);     
-    uiContainer->CandidatePane()->ShowLeftScrollArrows(EFalse);
-    uiContainer->CandidatePane()->ShowRightScrollArrows(EFalse);        
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryHalfQwertyPinyinPhrase::IsCharacterKey
-// to check whether the key is character or not
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputStateEntryHalfQwertyPinyinPhrase::IsCharacterKey(
-    const TInt aKey )
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine( );
-    // Max length doesn't matter because we'll need only the first character.    
-    TBuf<KMaxName> lowerdata;
-    ptiengine->MappingDataForKey( (TPtiKey)aKey, lowerdata, EPtiCaseLower );
-    if ( lowerdata.Length( ) > 0 )
-        {
-        TChar lower = lowerdata[0];
-        TUint upper = lower.GetUpperCase( );
-        if ( TUint( lower ) != upper )
-            {
-            return ETrue;
-            }
-        }
-    return EFalse;
-    }
-
-//For stroke
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryHalfQwertyStrokePhrase::TAknFepInputStateEntryHalfQwertyStrokePhrase
-// the construt funtion 
-// ---------------------------------------------------------------------------
-//
-TAknFepInputStateEntryHalfQwertyStrokePhrase::TAknFepInputStateEntryHalfQwertyStrokePhrase(
-                               MAknFepUIManagerStateInterface* aOwner,
-                               MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateEntryQwertyBaseChinesePhrase(aOwner,aUIContainer)                           
-    {
-    iState = EEntry;
-    iOwner->PtiEngine()->SetInputMode( EPtiEngineStrokePhraseHalfQwerty );
-    iOwner->PtiEngine()->SetCase( EPtiCaseLower );
-    iOwner->PtiEngine()->SetCandidatePageLength( KMaxPhraseCount );
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() &&
-                            uiContainer->CandidatePane()->IsFirstPage());
-    uiContainer->ShowHorizontalScrollArrows(EFalse); 
-    uiContainer->ShowVerticalScrollArrows(multiplePages);
-    uiContainer->CandidatePane()->ShowCandidateOrdinals( EFalse );
-    UpdateIndicator();
-    }
-                               
-//For stroke
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryHalfQwertyStrokePhrase::HandleKeyL
-// handle the key event of stroke 
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputStateEntryHalfQwertyStrokePhrase::HandleKeyL(TInt aKey,
-        TKeyPressLength aLength )
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlInputPane* inputPane = uiContainer->InputPane();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    TBuf<KInputPaneLength> currentText;
-    TPtrC text;
-    TBool state = ETrue;
-    TInt spellingLen = 0;
-    TBool ret = ETrue;
-    
-    if ( aKey == EPtiKeyQwerty0 )
-    	{
-    	aKey = EPtiKeyQwertySpace;
-    	}
-   
-    if ( aKey != EStdKeyLeftFunc && 
-        (iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed) ||
-        iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagShiftKeyDepressed)))
-        {
-        iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-        return ETrue;
-        }
-    switch (aKey)
-        {
-        case EStdKeyBackspace:
-            {
-            if (popup->IsChangeStatet() && aLength == ELongKeyPress)
-                {
-                state = EFalse;
-                }
-            else
-                {
-                popup->SetChangeState(EFalse);
-                }
-            if (state)
-                {
-                if (iOwner->PtiEngine()->DeleteKeyPress().Length())
-                    {
-                    inputPane->SetFlag(MAknFepUICtrlInputPane::EPhoneticChanged);
-                    RefreshUI();
-                    }
-                else
-                    {
-                    iOwner->FepMan()->TryCloseUiL(); //no more keys, close the UI.
-                    popup->SetPreStateIsPredictive( EFalse );
-                    if (aLength == ELongKeyPress)
-                        {
-                        iOwner->FepMan()->SetLongClearAfterCloseUI(ETrue);
-                        }
-                    }
-                }
-            break;
-            }
-        case EStdKeyDevice1://sk2
-            {
-            iOwner->FepMan()->TryCloseUiL();
-            popup->SetPreStateIsPredictive( EFalse );
-            break;
-            }
-        case EStdKeyUpArrow:
-            {
-            if ( !candidatePane->IsFirstPage() )
-                {
-                candidatePane->PreviousCandidatePage();
-                candidatePane->SetCandidateBuffer();
-                candidatePane->SelectFirst();
-                UpdateIndicator();
-                }
-            break;
-            }
-        case EStdKeyRightArrow:
-            {
-            if (candidatePane->VisibleCandidateCount()!= 1)
-                {
-                iOwner->ChangeState(ECandidate);
-                popup->SetPreStateIsPredictive( EFalse );
-                candidatePane->SelectNext();
-                }
-            break;
-            }
-        case EStdKeyLeftArrow:
-            {
-            if (candidatePane->VisibleCandidateCount()!= 1)
-                {
-                iOwner->ChangeState(ECandidate);
-                popup->SetPreStateIsPredictive( EFalse );
-                TInt numbertotal = UIContainer()->CandidatePane()->VisibleCandidateCount();
-                UIContainer()->CandidatePane()->SelectIndex(numbertotal-1);
-                }
-            break;
-            }
-        case EStdKeyDownArrow:
-            {
-            if ( candidatePane->IsLastPage() )
-                {
-                return ETrue;
-                }
-            if ( candidatePane->NeedGetNewCandidatePage( ) )
-                {
-                if ( !iOwner->PtiEngine()->NextCandidatePage( ) )
-                    {
-                    if ( candidatePane->IsLastPage() )
-                        {
-                        iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-                        return ETrue;
-                        }
-                    }
-                else
-                    {
-                    CDesCArrayFlat* phraseCandidates =
-                        candidatePane->CandidateArray( );
-                    RPointerArray<HBufC> list;
-                    GetNewCandidatesL( iOwner->PtiEngine()->CandidatePage( ), list );
-                    for (TInt i = 0; i < list.Count( ); ++i )
-                        {
-                        phraseCandidates->AppendL( *(list[i]) );
-                        }
-                    list.ResetAndDestroy();
-                    }
-                }
-            candidatePane->NextCandidatePage();
-            candidatePane->SetCandidateBuffer();
-            candidatePane->SelectFirstPhrase();
-            UpdateIndicator();
-            break;
-            }
-        case EStdKeyDevice3://Select
-        case EStdKeyDevice0://sk1
-        case EStdKeyEnter:
-            {
-            uiContainer->PinyinPopupWindow()->Enable(EFalse);
-            TPtrC currentPhraseText = UIContainer()->CandidatePane()->CurrentPhraseCandidate();
-            if(currentPhraseText.Length())
-                {            
-                fepMan->NewTextL(currentPhraseText);
-                fepMan->CommitInlineEditL();
-                iOwner->PtiEngine()->SetPredictiveChineseChar(currentPhraseText);
-                if (fepMan->IsFlagSet(CAknFepManager::EFlagEditorFull))
-                    {
-                    fepMan->ClearFlag(CAknFepManager::EFlagEditorFull);
-                    iOwner->FepMan()->TryCloseUiL();
-                    popup->SetPreStateIsPredictive( EFalse );
-                    }
-                else
-                    {
-                    iOwner->ChangeState(EPredictiveCandidate);
-                    popup->SetPreStateIsPredictive( EFalse );
-                    }
-                }
-            break;
-            }
-        default:
-            {
-            if (aLength == EShortKeyPress)
-                {
-                iOwner->FepMan()->SetCcpuFlag(CAknFepManager::ECcpuStateIgnoreStarUp);
-                if (iOwner->IsValidChineseInputKeyQwerty(aKey) ||
-                        aKey ==EStdKeySpace ||
-                        aKey == EStdKeyFullStop ||
-                        aKey == EStdKeyLeftFunc ) //seperator
-                    {
-                    TInt stringBeforeLength(0);
-                    TInt stringAfterLength(0);
-                    stringBeforeLength = ptiengine->GetPhoneticSpelling(1).Length();
-                    stringAfterLength = ptiengine->AppendKeyPress((TPtiKey)aKey).Length();
-                    if (stringBeforeLength != stringAfterLength)
-                        {
-                        if (ptiengine->GetPhoneticSpelling(1).Length() == 1)
-                            {
-                            iOwner->FepMan()->UpdateCbaL(R_AKNFEP_SOFTKEYS_OK_SELECT_CANCEL);
-                            }
-                        inputPane->SetFlag(MAknFepUICtrlInputPane::EPhoneticChanged);
-                        RefreshUI();
-                        }
-                    else
-                        {
-                        iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-                        }
-                    }
-                else
-                    {
-                    iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-                    }
-                inputPane->GetText(currentText);
-                spellingLen = currentText.Length();
-                if ( spellingLen > 1 )
-                    {
-                    popup->SetPreStateIsPredictive( EFalse );
-                    }
-                }
-            else if ( popup->GetPreStateIsPredictive() && 0 == spellingLen)  //long press fn mode character should inputted
-                {
-                iOwner->FepMan()->TryCloseUiL();
-                popup->SetPreStateIsPredictive( EFalse );
-
-                TBuf<KFnMappedCharacters> allFnMappedCharacters;
-                ptiengine->MappingDataForKey( (TPtiKey)aKey,
-                    allFnMappedCharacters, EPtiCaseFnLower );
-                text.Set( allFnMappedCharacters );
-                if ( text.Length( ) > 0 )
-                    {
-                    TBuf<1> chr;
-                    chr.Append( text[0] );
-                    iOwner->FepMan()->NewCharacterL( chr );
-                    iOwner->FepMan()->CommitInlineEditL();
-                    ptiengine->ClearCurrentWord();
-                    ret = ETrue;
-                    }
-                }
-            }
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryHalfQwertyStrokePhrase::InitializeStateL
-// change the cba 
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateEntryHalfQwertyStrokePhrase::InitializeStateL(void)
-    {
-    iOwner->FepMan()->UpdateCbaL(R_AKNFEP_SOFTKEYS_OK_SELECT_CANCEL);
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryHalfQwertyStrokePhrase::IsCharacterKey
-// to check whether the key is character or not
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputStateEntryHalfQwertyStrokePhrase::IsCharacterKey(
-    const TInt aKey )
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine( );
-    // Max length doesn't matter because we'll need only the first character.    
-    TBuf<KMaxName> lowerdata;
-    ptiengine->MappingDataForKey( (TPtiKey)aKey, lowerdata, EPtiCaseLower );
-    if ( lowerdata.Length( ) > 0 )
-        {
-        TChar lower = lowerdata[0];
-        TUint upper = lower.GetUpperCase( );
-
-        if ( TUint( lower ) != upper )
-            {
-            return ETrue;
-            }
-        }
-
-    return EFalse;
-    }   
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryHalfQwertyStrokePhrase::UpdateIndicator
-// updata the indicator
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateEntryHalfQwertyStrokePhrase::UpdateIndicator()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();        
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-    
-    if (candidatePane->IsFirstPage())
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows(EFalse);    
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows(ETrue);    
-        }
-    if (candidatePane->IsLastPage())
-        {
-        uiContainer->CandidatePane()->ShowDownScrollArrows(EFalse);     
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowDownScrollArrows(ETrue);      
-        }
-
-    uiContainer->CandidatePane()->ShowLeftScrollArrows(EFalse);
-    uiContainer->CandidatePane()->ShowRightScrollArrows(EFalse);   
-    }
-
-//for zhuyin
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryHalfQwertyZhuyinPhrase::TAknFepInputStateEntryHalfQwertyZhuyinPhrase
-// c++ construct funtion
-// ---------------------------------------------------------------------------
-//
-TAknFepInputStateEntryHalfQwertyZhuyinPhrase::TAknFepInputStateEntryHalfQwertyZhuyinPhrase(
-                                MAknFepUIManagerStateInterface* aOwner,
-                                MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateEntryQwertyBaseChinesePhrase(aOwner, aUIContainer)
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    uiContainer->SetLayout(MAknFepUICtrlContainerChinese::ELayoutInput);
-    uiContainer->CandidatePane()->SelectFirstPhrase(); 
-    uiContainer->InputPane()->SetOverrideFontId(0);
-    uiContainer->CandidatePane()->ShowCandidateOrdinals( EFalse );
-    TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() &&
-                            uiContainer->CandidatePane()->IsFirstPage());
-    uiContainer->ShowHorizontalScrollArrows(EFalse); 
-    uiContainer->ShowVerticalScrollArrows(multiplePages);
-    iOwner->PtiEngine()->SetInputMode( EPtiEngineZhuyinPhraseHalfQwerty );
-    iOwner->PtiEngine()->SetCase( EPtiCaseLower );
-    UpdateIndicator();
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryHalfQwertyZhuyinPhrase::HandleKeyL
-// handle the key of zhuyin 
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputStateEntryHalfQwertyZhuyinPhrase::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlInputPane* inputPane = uiContainer->InputPane();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    TInt originalKey = aKey;
-    TPtrC text;
-    TInt spellingLen = 0;
-    TBool state = ETrue;
-    TBool ret = ETrue;
-    TBuf<KInputPaneLength> currentText;
-    if ( aKey != EStdKeyLeftFunc && 
-        (iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed) ||
-        iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagShiftKeyDepressed)))
-        {
-        iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-        return ETrue;
-        }
-    switch (aKey)
-        {
-        case EPtiKeyQwertyE:
-            aKey = EPtiKey1;
-            break;
-        case EPtiKeyQwertyT:
-            aKey = EPtiKey2;
-            break;
-        case EPtiKeyQwertyU:
-            aKey = EPtiKey3;
-            break;
-        case EPtiKeyQwertyD:
-            aKey = EPtiKey4;
-            break;
-        case EPtiKeyQwertyG:
-            aKey = EPtiKey5;
-            break;
-        case EPtiKeyQwertyJ:
-            aKey = EPtiKey6;
-            break;
-        case EPtiKeyQwertyC:
-            aKey = EPtiKey7;
-            break;
-        case EPtiKeyQwertyB:
-            aKey = EPtiKey8;
-            break;
-        case EPtiKeyQwertyM:
-            aKey = EPtiKey9;
-            break;
-        case EPtiKeyQwertySpace:
-            aKey = EPtiKey0;
-            break;
-        }
-    if( (aKey == EStdKeyLeftFunc || aKey == EStdKeyFullStop )&& 
-            aLength == EShortKeyPress )
-        {
-        if( ptiengine->IncrementToneMark( ETrue ) )
-            {
-            inputPane->SetFlag( MAknFepUICtrlInputPane::EPhoneticChanged );
-            RefreshUI();
-            return ETrue;
-            }
-        }
-    switch (aKey)
-        {
-        case EStdKeyBackspace:
-            {
-            if (popup->IsChangeStatet() && aLength == ELongKeyPress)
-                {
-                state = EFalse;
-                }
-            else
-                {
-                popup->SetChangeState(EFalse);
-                }
-            if (state)
-                {
-                if (iOwner->PtiEngine()->DeleteKeyPress().Length())
-                    {
-                    inputPane->SetFlag(MAknFepUICtrlInputPane::EPhoneticChanged);
-                    RefreshUI();
-                    }
-                else
-                    {
-                    iOwner->FepMan()->TryCloseUiL(); //no more keys, close the UI.
-                    popup->SetPreStateIsPredictive( EFalse );
-                    if (aLength == ELongKeyPress)
-                        {
-                        iOwner->FepMan()->SetLongClearAfterCloseUI(ETrue);
-                        }
-                    }
-                }
-            break;
-            }
-        case EStdKeyDevice1://sk2
-            {
-            iOwner->FepMan()->TryCloseUiL();
-            popup->SetPreStateIsPredictive( EFalse );
-            break;
-            }
-        case EStdKeyUpArrow:
-            {
-            if ( !candidatePane->IsFirstPage() )
-                {
-                candidatePane->PreviousCandidatePage();
-                candidatePane->SetCandidateBuffer();
-                candidatePane->SelectFirst();
-                UpdateIndicator();
-                }
-            break;
-            }
-        case EStdKeyRightArrow:
-            {
-            if (candidatePane->VisibleCandidateCount()!= 1)
-                {
-                iOwner->ChangeState(ECandidate);
-                popup->SetPreStateIsPredictive( EFalse );
-                candidatePane->SelectNext();
-                }
-            break;
-            }
-        case EStdKeyLeftArrow:
-            {
-            if (candidatePane->VisibleCandidateCount()!= 1)
-                {
-                iOwner->ChangeState(ECandidate);
-                popup->SetPreStateIsPredictive( EFalse );
-                TInt numbertotal = UIContainer()->CandidatePane()->VisibleCandidateCount();
-                UIContainer()->CandidatePane()->SelectIndex(numbertotal-1);
-                }
-            break;
-            }
-        case EStdKeyDownArrow:
-            {
-            if ( candidatePane->IsLastPage() )
-                {
-                return ETrue;
-                }
-            if ( candidatePane->NeedGetNewCandidatePage( ) )
-                {
-                if ( !iOwner->PtiEngine()->NextCandidatePage( ) )
-                    {
-                    if ( candidatePane->IsLastPage() )
-                        {
-                        iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-                        return ETrue;
-                        }
-                    }
-                else
-                    {
-                    CDesCArrayFlat* phraseCandidates =
-                        candidatePane->CandidateArray( );
-                    RPointerArray<HBufC> list;
-                    GetNewCandidatesL( iOwner->PtiEngine()->CandidatePage( ), list );
-                    for (TInt i = 0; i < list.Count( ); ++i )
-                        {
-                        phraseCandidates->AppendL( *(list[i]) );
-                        }
-                    list.ResetAndDestroy();
-                    }
-                }
-            candidatePane->NextCandidatePage();
-            candidatePane->SetCandidateBuffer();
-            candidatePane->SelectFirstPhrase();
-            UpdateIndicator();
-            break;
-            }
-        case EStdKeyDevice3://Select
-        case EStdKeyDevice0://sk1
-        case EStdKeyEnter:
-            {
-            uiContainer->PinyinPopupWindow()->Enable(EFalse);
-            TPtrC phraseText = UIContainer()->CandidatePane()->CurrentPhraseCandidate();
-            if(phraseText.Length())
-                {            
-                fepMan->NewTextL(phraseText);
-                fepMan->CommitInlineEditL();
-                iOwner->PtiEngine()->SetPredictiveChineseChar(phraseText);
-                if (fepMan->IsFlagSet(CAknFepManager::EFlagEditorFull))
-                    {
-                    fepMan->ClearFlag(CAknFepManager::EFlagEditorFull);
-                    iOwner->FepMan()->TryCloseUiL();
-                    popup->SetPreStateIsPredictive( EFalse );
-                    }
-                else
-                    {
-                    iOwner->ChangeState(EPredictiveCandidate);
-                    popup->SetPreStateIsPredictive( EFalse );
-                    }
-                }
-            break;
-            }
-        case EPtiKeyQwertyQ:
-        case EPtiKeyQwertyA:
-        case EPtiKeyQwertyO:
-        case EPtiKeyQwertyL:
-        case EPtiKeyQwertyZ:
-            {
-            ret = ETrue;
-            break;
-            }
-        default:
-            {
-            if (aLength == EShortKeyPress)
-                {
-                iOwner->FepMan()->SetCcpuFlag(CAknFepManager::ECcpuStateIgnoreStarUp);
-
-                if (iOwner->IsValidChineseInputKeyQwerty(aKey) || aKey
-                        ==EStdKeySpace) //seperator
-                    {
-                    ptiengine->AppendKeyPress((TPtiKey)aKey);
-                    SetInputPaneToneMark();
-                    if (ptiengine->GetPhoneticSpelling(1).Length() == 1)
-                        {
-                        iOwner->FepMan()->UpdateCbaL(R_AKNFEP_SOFTKEYS_OK_SELECT_CANCEL);
-                        }
-                    inputPane->SetFlag(MAknFepUICtrlInputPane::EPhoneticChanged);
-                    RefreshUI();
-                    }
-                else
-                    {
-                    iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-                    }
-                inputPane->GetText(currentText);
-                spellingLen = currentText.Length();
-                if ( spellingLen > 1 )
-                    {
-                    popup->SetPreStateIsPredictive( EFalse );
-                    }
-                }
-            else if ( popup->GetPreStateIsPredictive() && 0 == spellingLen)  //long press fn mode character should inputted
-                {
-                iOwner->FepMan()->TryCloseUiL();
-                popup->SetPreStateIsPredictive( EFalse );
-
-                TBuf<KFnMappedCharacters> allFnMappedCharacters;
-                ptiengine->MappingDataForKey( (TPtiKey)originalKey,
-                    allFnMappedCharacters, EPtiCaseFnLower );
-                text.Set( allFnMappedCharacters );
-                if ( text.Length( ) > 0 )
-                    {
-                    TBuf<1> chr;
-                    chr.Append( text[0] );
-                    iOwner->FepMan()->NewCharacterL( chr );
-                    iOwner->FepMan()->CommitInlineEditL();
-                    ptiengine->ClearCurrentWord();
-                    ret = ETrue;
-                    }
-                }
-            }
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryHalfQwertyZhuyinPhrase::KeyTimerExpired
-// 
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateEntryHalfQwertyZhuyinPhrase::KeyTimerExpired()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlInputPane* inputPane = uiContainer->InputPane();
-    
-    // set container's position
-    TPoint baseLine = TPoint(0,0);
-    TInt height = 0;
-    TInt ascent = 0;
-    TRAPD(ret,iOwner->FepMan()->GetScreenCoordinatesL(baseLine,height,ascent));
-    if (ret == KErrNone)
-        {
-        uiContainer->SetContainerPosition(baseLine, height);    
-        }
-    TPtrC ptr = ptiengine->GetPhoneticSpelling(1);
-    inputPane->SetText(ptr);
-    TBuf<KInputPaneLength> currentText;
-    inputPane->GetText(currentText);
-    if (ptr.Length() < currentText.Length())
-        {
-        iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-        }
-    UpdateIndicator();
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryHalfQwertyZhuyinPhrase::UpdateIndicator
-// updata the indicator
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateEntryHalfQwertyZhuyinPhrase::UpdateIndicator()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();        
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-    
-    if (candidatePane->IsFirstPage())
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows(EFalse);    
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows(ETrue);    
-        }
-    if (candidatePane->IsLastPage())
-        {
-        uiContainer->CandidatePane()->ShowDownScrollArrows(EFalse);     
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowDownScrollArrows(ETrue);      
-        }
-
-    uiContainer->CandidatePane()->ShowLeftScrollArrows(EFalse);
-    uiContainer->CandidatePane()->ShowRightScrollArrows(EFalse);   
-    }
-
-//End Of File
--- a/fep/aknfep/src/aknfepuiinputstateentrypinyinphrasecreation.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,552 +0,0 @@
-/*
-* Copyright (c) 2008 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:           
- *      Provides the TAknFepInputStateEntryPinyinPhraseCreation methods.
- *
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include <PtiEngine.h>                          //CPtiEngine
-#include <PtiUserDicEntry.h>
-
-#include <PtiDefs.h>                            //keys
-#include <avkon.rsg>
-#include <aknfep.rsg>
-#include <aknnotewrappers.h>
-
-#include "AknFepPanic.h"
-#include "aknfepuiinputstateentrypinyinphrasecreation.h"
-#include "AknFepUIManagerStateInterface.h"      //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"           //MAknFepManagerUIInterface
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUICtrlInputPane.h"
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUICtrlPinyinPopup.h"    //Pinyin phrase
-#include "aknfepuictrleditpane.h"           //pinyin phrase creation
-#include "AknFepManager.h"
-
-const TInt KMaxPhraseCreationCount = 7;
-
-// ---------------------------------------------------------
-// C++ construct.
-// ---------------------------------------------------------
-//
-TAknFepInputStateEntryPinyinPhraseCreation::TAknFepInputStateEntryPinyinPhraseCreation(
-    MAknFepUIManagerStateInterface* aOwner,
-    MAknFepUICtrlContainerChinese* aUIContainer ) :
-    TAknFepInputStatePinyinPhraseCreationBase( aOwner, aUIContainer)
-    {
-    iState = EKeySequenceEdit;
-
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    uiContainer->FocusCandidatePane( EFalse );
-    uiContainer->CandidatePane()->ShowCandidateOrdinals( EFalse );
-    uiContainer->SetLayout( MAknFepUICtrlContainerChinese::ELayoutPhraseCreation );
-    uiContainer->CandidatePane()->SelectFirstPhrase();
-    uiContainer->ShowVerticalScrollArrows( ETrue );
-    uiContainer->ShowHorizontalScrollArrows( EFalse );
-    uiContainer->InputPane()->SetOverrideFontId( 0 );
-    uiContainer->PinyinPopupWindow()->SetPhraseCreationEditingState( EFalse );
-    // in the case that we are coming back to the input pane from the candidate pane, 
-    // we need to ensure that the current selection is selected correctly
-    if ( uiContainer->PinyinPopupWindow()->GetFromEditToSpellingFlag() )
-        {
-        uiContainer->PinyinPopupWindow()->SetFromEditToSpellingFlag();
-        TInt validCount = uiContainer-> 
-            PinyinPopupWindow()->InEffectKeystrokeArray()->Count();
-        uiContainer->EditPaneWindow()->SetCursorIndexOfKeystroke( validCount );
-        ShowInfo();        
-        uiContainer->PinyinPopupWindow()->SetNoneHighlighted();
-        uiContainer->EditPaneWindow()->ActiveCursor();
-        uiContainer->EditPaneWindow()->EnableCursor();
-        }
-    else
-        {
-        ImplicityShowInfo( ETrue );    
-        }
-    // however we also need to clear the deliberate selection, in case we are not
-    // coming back to the input pane from the candidate pane
-    ChangeCba();
-    }
-
-// ---------------------------------------------------------
-// HandleKeyL
-// ---------------------------------------------------------
-// 
-TBool TAknFepInputStateEntryPinyinPhraseCreation::HandleKeyL( TInt aKey,
-    TKeyPressLength aLength )
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    CDesCArrayFlat* inEffectKeystrokeArray = popup->InEffectKeystrokeArray();
-    CDesCArrayFlat* showKeystrokeArray = popup->ShowKeystrokeArray();
-   
-    switch( aKey )
-        {
-        case EKeyBackspace:
-            {
-            TBool state = ETrue;
-            if ( popup->IsChangeStatet() && aLength == ELongKeyPress )
-                {
-                state = EFalse;
-                }
-            else
-                {
-                popup->SetChangeState( EFalse );
-                }
-            if ( state )
-                {
-                HandleKeyBackspace( aLength );
-                }
-            break;
-            }
-        case EKeyRightArrow:
-            if ( !IsMoveCursor() )
-                {
-                iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-                }
-            else
-                {
-                MoveCursorToRight();
-                }
-            break;
-        case EKeyLeftArrow:
-            if ( !IsMoveCursor() )
-                {
-                iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-                }
-            else
-                {
-                MoveCursorToLeft();
-                }
-            break;
-        case EKeyOK:
-        case EKeyCBA1:
-            if ( !( popup->IsChangeStatet() && aLength == ELongKeyPress ) )
-                {
-                popup->SetChangeState( EFalse );
-                HandleKeyOKAndKeyCBA1L();
-                }
-           break;
-        case EKeyCBA2:
-            iOwner->FepMan()->TryCloseUiL();
-            break;
-        case EKeyDownArrow:
-            if ( ( 0 == showKeystrokeArray->Count() ) ||
-                ( 0 == inEffectKeystrokeArray->Count() ) )
-                {
-                iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-                }
-            else
-                {
-                popup->SetChangeState( ETrue );
-                popup->SetFromEditToSpellingFlag( ETrue );
-                iOwner->ChangeState( ESpellingSelection );
-                }
-            break;
-        case EKeyUpArrow:
-            iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-            break;
-        default:
-            if ( EShortKeyPress == aLength )
-                {
-                HandleOthersKey( aKey );
-                }
-            else
-                {
-                iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-                }
-            break;
-        }
-    
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// Init the show info
-// ---------------------------------------------------------
-//
-void TAknFepInputStateEntryPinyinPhraseCreation::ImplicityShowInfo( 
-                                                   TBool aGetScreenCoordinates )
-    {
-    TRAP_IGNORE( ImplicityShowInfoL( aGetScreenCoordinates ) );
-    }
-
-// ---------------------------------------------------------
-// Init the show info
-// ---------------------------------------------------------
-//
-void TAknFepInputStateEntryPinyinPhraseCreation::ImplicityShowInfoL( 
-                                                   TBool aGetScreenCoordinates )
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    TInt showKeystrokeCount = popup->ShowKeystrokeArray()->Count();
-    TInt chineseCount = popup->ChooseChineseCharacterArray()->Count();
-    // get cursor position
-    TPoint baseLine = TPoint( 0, 0 );
-    TInt height = 0;
-    TInt ascent = 0;
-    TBool validChange = EFalse;
-    TBool isSpellingValid = EFalse;
-    if ( aGetScreenCoordinates )
-        {
-        iOwner->FepMan()->GetScreenCoordinatesL(baseLine,height,ascent);
-        uiContainer->SetContainerPosition( baseLine, height );
-        }
-    if ( popup->GetPhraseCreationEditingState() )
-        {
-        isSpellingValid = GetValidKeystroke();
-        }    
-    else if ( popup->GetPhraseCreationState() )
-        {
-        isSpellingValid = GetValidKeystroke();
-        if ( 0 == chineseCount )
-            {
-            editPane->SetCursorIndexOfKeystroke( showKeystrokeCount );
-            }
-        else
-            {
-            editPane->SetCursorIndexOfKeystroke( 0 );
-            }
-        
-        }
-    
-    if ( !isSpellingValid )
-        {
-        UIContainer()->SetControlInVisible( EFalse );
-        }
-    
-    validChange = popup->GetValidKeystrokeChange();
-    
-    ShowInfo();
-    SetWarningColor();
-    editPane->ActiveCursor();
-    if ( ( popup->GetPhraseCreationState() ) || 
-        ( popup->GetPhraseCreationEditingState() ) )
-        {
-        if ( validChange || 
-            ( 0 != popup->CurrentPageStartIndex() ) )
-            {
-            popup->SetPhraseCreationEditingState( EFalse );
-            popup->SetPhraseCreationState( EFalse );
-            RefreshUI();
-            }
-        else
-            {
-            if ( 0 != popup->CurrentSelection() )
-                {
-                RefreshCandidate();
-                }
-            }
-        }
-    else
-        {
-        if ( validChange )
-            {
-            RefreshUI( popup->CurrentSelection() );
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// EKeyBackspace
-// ---------------------------------------------------------
-//
-void TAknFepInputStateEntryPinyinPhraseCreation::HandleKeyBackspace( TKeyPressLength aLength )
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-
-    TInt validKeystrokeCount = popup->InEffectKeystrokeArray()->Count();
-    TInt chineseCount = popup->ChooseChineseCharacterArray()->Count();
-    TInt cursorOfkeystrokeIndex = editPane->GetCursorIndexOfKeystroke();
-    
-    if ( 0 == cursorOfkeystrokeIndex )
-        {
-        if ( !TryCloseUI( aLength ) )
-            {
-            if ( ( 0 == chineseCount ) && ( 0 != validKeystrokeCount ) )
-                {
-                iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-                }
-            else
-                {
-                if ( ChineseRevertKeystroke() )
-                    {
-                    ClearDeliberateSelection();
-                    popup->SetPhraseCreationEditingState( ETrue );
-                    ImplicityShowInfo();
-                    ChangeCba();
-                    }
-                else
-                    {
-                    iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-                    }               
-                }
-            }        
-        }
-    else
-        {
-        if ( 1 == cursorOfkeystrokeIndex )
-            {
-            editPane->Reset();
-            editPane->SetCursorIndexOfKeystroke( 1 );
-            }
-        //delete the current keystroke
-        if ( DeleteCurrentKeystroke() )
-            {
-            if ( !TryCloseUI( aLength ) )
-                {
-                ClearDeliberateSelection();
-                popup->SetPhraseCreationEditingState( ETrue );
-                ImplicityShowInfo();
-                ChangeCba();
-                }
-            }
-        else
-            {
-            iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-            }            
-        }  
-    }
-
-// ---------------------------------------------------------
-// EKeyOK And EKeyCBA1L.
-// ---------------------------------------------------------
-//
-void TAknFepInputStateEntryPinyinPhraseCreation::HandleKeyOKAndKeyCBA1L()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-
-    TInt validKeystrokeCount = popup->InEffectKeystrokeArray()->Count();
-    TInt keystrokeCount = popup->ShowKeystrokeArray()->Count();
-    CDesCArrayFlat* chinese = popup->ChooseChineseCharacterArray();
-    TBuf<KMaxPhraseCreationCount> phraseCreated;
-    
-    if ( ( chinese->Count() >= 2 ) && ( 0 == keystrokeCount ) )
-        {
-        //commit the chinese character.
-        MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-        for (TInt i = 0; i < chinese->Count(); ++i )
-            {
-            phraseCreated.Append( chinese->MdcaPoint( i ) );
-            }
-        AddPhraseToDB( phraseCreated );
-        fepMan->PinyinPhraseCreation( EFalse );
-        fepMan->NewTextL( phraseCreated );
-        fepMan->CommitInlineEditL();
-        iOwner->FepMan()->TryCloseUiL(); //no more keys, close the UI.
-        }
-    else if ( 0 != validKeystrokeCount )
-        {
-        popup->SetChangeState( ETrue );
-        popup->SetFromEditToSpellingFlag( ETrue );
-        iOwner->ChangeState( ESpellingSelection );
-        }
-    else
-        {
-        iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-        }
-    }
-
-// ---------------------------------------------------------
-// others key input.
-// ---------------------------------------------------------
-//
-void TAknFepInputStateEntryPinyinPhraseCreation::HandleOthersKey( TInt aKey )
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    iOwner->FepMan()->SetCcpuFlag( CAknFepManager::ECcpuStateIgnoreStarUp );
-    if ( iOwner->IsValidChineseInputKey( aKey ) )
-        {
-        if ( AddKeystroke( aKey ) )
-            {
-            ClearDeliberateSelection();
-            popup->SetPhraseCreationEditingState( ETrue );
-            ImplicityShowInfo();
-            ChangeCba();
-            }
-        else
-            {
-            iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-            }
-        }
-    else if ( aKey == EPtiKeyStar ) // we increment the tone mark.
-        {
-        if ( AddToneMark() )
-            {
-            ClearDeliberateSelection();
-            popup->SetPhraseCreationEditingState( ETrue );
-            ImplicityShowInfo();
-            ChangeCba();
-            }
-        else
-            {
-            iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-            }            
-        }
-    else
-        {
-        iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-        }
-    }
-
-// ---------------------------------------------------------
-// move cursor to left.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputStateEntryPinyinPhraseCreation::IsMoveCursor()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    TInt keystrokeCount = popup->ShowKeystrokeArray()->Count();
-    TInt chineseCount = popup->ChooseChineseCharacterArray()->Count();
-    if ( ( 0 == keystrokeCount ) || ( KMaxPhraseCreationCount == chineseCount ) )
-        {
-        return EFalse;
-        }
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// move cursor to left.
-// ---------------------------------------------------------
-//
-void TAknFepInputStateEntryPinyinPhraseCreation::MoveCursorToLeft()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    TInt keystrokeCount = popup->ShowKeystrokeArray()->Count();
-    TInt indexOfKeystroke = editPane->GetCursorIndexOfKeystroke();
-
-    if ( 0 == indexOfKeystroke )
-        {
-        editPane->SetCursorIndexOfKeystroke( keystrokeCount );
-        // for fix bug when press left, spelling pane will flash
-        // ImplicityShowInfo();
-        ShowInfo();
-        SetWarningColor();
-        }
-    else if ( 1 == indexOfKeystroke )
-        {
-        editPane->SetCursorIndexOfKeystroke( 0 );
-        // for fix bug when press left, spelling pane will flash
-        // ImplicityShowInfo();
-        ShowInfo();
-        SetWarningColor();
-        }
-    else
-        {
-        editPane->SetCursorIndexOfKeystroke( indexOfKeystroke - 1 );
-        editPane->MoveCursorLeft();
-        }
-    }
-
-
-// ---------------------------------------------------------
-// move cursor to left.
-// ---------------------------------------------------------
-//
-void TAknFepInputStateEntryPinyinPhraseCreation::MoveCursorToRight()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    TInt keystrokeCount = popup->ShowKeystrokeArray()->Count();
-    TInt indexOfKeystroke = editPane->GetCursorIndexOfKeystroke();
-
-    if ( indexOfKeystroke == keystrokeCount )
-        {
-        editPane->SetCursorIndexOfKeystroke( 0 );
-        // for fix bug when press right, spelling pane will flash
-        // ImplicityShowInfo();
-        ShowInfo();
-        SetWarningColor();
-        }
-    else
-        {
-        editPane->SetCursorIndexOfKeystroke( indexOfKeystroke + 1 );
-        editPane->MoveCursorRight();
-        }
-    }
-
-// ---------------------------------------------------------
-// Initialize State.
-// ---------------------------------------------------------
-//
-void TAknFepInputStateEntryPinyinPhraseCreation::InitializeState()
-    {
-    ChangeCba();
-    }
-
-// ---------------------------------------------------------
-// Add phrase to DB.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputStateEntryPinyinPhraseCreation::AddPhraseToDB(
-    const TDesC& aPhraseAdd )
-    {
-    TInt retCode;
-    TPtiUserDictionaryEntry addUdbEntry(aPhraseAdd);
-    //Add the phrase to the DB by PTI Engine
-    retCode = iOwner->PtiEngine()->AddUserDictionaryEntry( addUdbEntry );
-    if ( KErrNone != retCode )
-        {
-        return EFalse;
-        }
-
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// Try to close UI.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputStateEntryPinyinPhraseCreation::TryCloseUI( TKeyPressLength aLength )
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    TInt keystrokeCount = popup->ShowKeystrokeArray()->Count();
-    TInt chineseCount = popup->ChooseChineseCharacterArray()->Count();
-    
-    if ( ( 0 == chineseCount ) && ( 0 == keystrokeCount ) )
-        {
-        TRAP_IGNORE( iOwner->FepMan()->TryCloseUiL() ); //no more keys, close the UI.
-        if ( aLength == ELongKeyPress )
-            {
-            iOwner->FepMan()->SetLongClearAfterCloseUI( ETrue );
-            }
-        return ETrue;
-        }
-    
-    return EFalse;
-    }
-
-// End of file
--- a/fep/aknfep/src/aknfepuiinputstateentryzhuyinphrasecreation.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,594 +0,0 @@
-/*
-* Copyright (c) 2008 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:           
- *      Provides the TAknFepInputStateEntryZhuyinPhraseCreation methods.
- *
-*/
-
-
-
-
-
-
-
-
-
-
-
-#include <PtiEngine.h>                          //CPtiEngine
-#include <PtiUserDicEntry.h>
-
-#include <PtiDefs.h>                            //keys
-#include <avkon.rsg>
-#include <aknfep.rsg>
-#include <aknnotewrappers.h>
-
-#include "AknFepPanic.h"
-#include "aknfepuiinputstateentryzhuyinphrasecreation.h"
-#include "AknFepUIManagerStateInterface.h"      //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"           //MAknFepManagerUIInterface
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUICtrlInputPane.h"
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUICtrlPinyinPopup.h"		//Pinyin phrase
-#include "aknfepuictrleditpane.h"           //pinyin phrase creation
-#include "AknFepManager.h"
-#include "aknfepzhuyinkeyhandlerinterface.h"
-#include "AknFepZhuyinAnalyser.h"
-#include "aknfepzhuyinconvertion.h"
-
-const TInt KMaxPhraseCount = 50;
-
-const TInt KMaxKeystrokeCount = 100;
-const TInt KMaxPhraseCreationCount = 7;
-const TInt KStateFromKeyDown = 0;
-const TInt KStateAuto = 1;
-// it means "the max phrase's length is seven"
-_LIT( KDelimiter, "\x002E" );
-
-// ---------------------------------------------------------
-// C++ constructor
-// ---------------------------------------------------------
-//
-TAknFepInputStateEntryZhuyinPhraseCreation::TAknFepInputStateEntryZhuyinPhraseCreation(
-    MAknFepUIManagerStateInterface* aOwner,
-    MAknFepUICtrlContainerChinese* aUIContainer ) :
-    TAknFepInputStateZhuyinPhraseCreationBase( aOwner, aUIContainer)
-    {
-    iState = EZhuyinSequenceEdit;
-
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    uiContainer->FocusCandidatePane( EFalse );
-    uiContainer->CandidatePane()->ShowCandidateOrdinals( EFalse );
-    uiContainer->SetLayout( MAknFepUICtrlContainerChinese::ELayoutKeystroke );
-    uiContainer->CandidatePane()->SelectFirstPhrase();
-    uiContainer->ShowVerticalScrollArrows( ETrue );
-    uiContainer->ShowHorizontalScrollArrows( EFalse );
-    uiContainer->InputPane()->SetOverrideFontId( 0 );
-
-    iOwner->PtiEngine()->SetInputMode( EPtiEngineZhuyinByPhrase );
-    iOwner->PtiEngine()->SetCandidatePageLength( KMaxPhraseCount );
-    uiContainer->EditPaneWindow()->ActiveCursor(); 
-    // in the case that we are coming back to the input pane from the candidate pane, 
-    // we need to ensure that the current selection is selected correctly
-    UpdateEEPContent();
-    RefreshUI();
-    // however we also need to clear the deliberate selection, in case we are not
-    // coming back to the input pane from the candidate pane
-    UpdateIndicator();
-    TRAP_IGNORE( ChangeCbaL() );
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryZhuyinPhraseCreation::HandleKeyL
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputStateEntryZhuyinPhraseCreation::HandleKeyL( 
-                                                     TInt aKey,
-                                                     TKeyPressLength aLength )
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-
-    CDesCArrayFlat* keystrokeArray = popup->ZhuyinSymbols();
-    CDesCArrayFlat* ChineseArray = popup->ChineseCharsDisped();
-
-    CDesCArrayFlat* candidateArray = 
-        uiContainer->CandidatePane()->CandidateArray();
-    TBuf<1> keyBuf;
-    TBuf<1> keyShow;
-    TBuf<KMaxPhraseCreationCount> phraseCreated;
-    
-    if ( aKey == EKeyBackspace )
-        {
-        DeleteZhuyinSymbolOrChinese();
-        UpdateEEPContent();
-        RefreshUI();
-        if ( AutoChangeState() )
-            {
-            popup->SetChangeState( ETrue );
-            iOwner->ZhuyinKeyHandler()->SetState( KStateAuto );
-            iOwner->ZhuyinKeyHandler()->SetStatusChgFlag(MZhuyinKeyHandler::EInit);
-            ChangeCbaL();
-            iOwner->ChangeState( EEntry );
-            return ETrue;
-            }
-        else
-            {
-            ChangeCbaL();
-            }
-        
-        if ( keystrokeArray->Count() == 0
-            && ChineseArray->Count() == 0 )
-            {
-            iOwner->FepMan()->TryCloseUiL();
-            if (aLength == ELongKeyPress)
-                {
-                iOwner->FepMan()->SetLongClearAfterCloseUI(ETrue);
-                }
-            }
-        
-        if ( 0 == ChineseArray->Count() )
-            {
-            iOwner->FepMan()->PhraseCreation( EFalse );
-            }
-        }
-    else if ( aKey == EKeyRightArrow )
-        {
-        if ( KMaxPhraseCreationCount == ChineseArray->Count() )
-            {
-            iOwner->FepMan()->PlaySound( EAvkonSIDStandardKeyClick );
-            }
-        else if ( 0 == keystrokeArray->Count() )
-            {
-            iOwner->FepMan()->PlaySound( EAvkonSIDStandardKeyClick );
-            }
-        else
-            {
-            if( !MoveIndexOfKeystrokeRight() )
-                {
-                iOwner->FepMan()->PlaySound( EAvkonSIDStandardKeyClick );
-                }
-            else
-                {
-                iOwner->ZhuyinKeyHandler()->SetState( KStateFromKeyDown );
-                }
-            }
-        }
-    else if ( aKey == EKeyLeftArrow )
-        {
-        if ( KMaxPhraseCreationCount == ChineseArray->Count() )
-            {
-            iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-            }
-        else if ( 0 == keystrokeArray->Count() )
-            {
-            iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-            }
-        else
-            {
-            if ( !MoveIndexOfKeystrokeLeft() )
-                {
-                iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-                }
-            else
-                {
-                iOwner->ZhuyinKeyHandler()->SetState( KStateFromKeyDown );
-                }
-            }
-        }
-    else if ( aKey == EKeyOK || aKey == EKeyCBA1 )
-        {
-        if ( ( ChineseArray->Count() >= 2 ) && ( 0
-            == keystrokeArray->Count() ) )
-            {
-            //commit the chinese character.
-            MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-            candidateArray->Reset();
-            for (TInt i = 0; i < ChineseArray->Count(); ++i )
-                {
-                phraseCreated.Append( ChineseArray->MdcaPoint( i ) );
-                }
-            candidateArray->AppendL( ChineseArray->MdcaPoint( 
-                ChineseArray->Count() - 1 ) );
-            uiContainer->CandidatePane()->SelectFirst();
-            uiContainer->CandidatePane()->SetCandidateBuffer( ChineseArray->MdcaPoint( 
-                ChineseArray->Count() - 1 ) );
-            AddPhraseToDB( phraseCreated );
-            fepMan->NewTextL( phraseCreated );
-            fepMan->CommitInlineEditL();
-            iOwner->FepMan()->TryCloseUiL(); //no more keys, close the UI.
-            }
-        else if ( ( 1 == ChineseArray->Count() ) && 
-            ( 0 == keystrokeArray->Count() ) )
-            {
-            iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-            }
-        else if ( !CheckHighLightL() )
-            {
-            popup->SetChangeState( ETrue );
-            iOwner->ZhuyinKeyHandler()->SetState( KStateFromKeyDown );
-            iOwner->ZhuyinKeyHandler()->Reset();
-            iOwner->ChangeState( EEntry );
-            }
-        else
-            {
-            iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-            }
-        }
-    else if ( aKey == EKeyDownArrow )
-        {
-        if ( !CheckHighLightL() )
-            {
-            if ( 0 == keystrokeArray->Count() )
-                {
-                iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-                }
-            else
-                {
-                popup->SetChangeState( ETrue );
-                iOwner->ZhuyinKeyHandler()->SetState( KStateFromKeyDown );
-                iOwner->ZhuyinKeyHandler()->SetStatusChgFlag(
-                    MZhuyinKeyHandler::EFromSpellingEditingToEntry);
-                iOwner->ZhuyinKeyHandler()->Reset();
-                iOwner->ChangeState( EEntry );
-                }
-            }
-        else
-            {
-            iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-            }
-        }
-    else if ( aKey == EKeyUpArrow )
-        {
-        iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-        }
-    else if ( aLength == EShortKeyPress ) // don't want repeats on these keys
-        {
-        iOwner->FepMan()->SetCcpuFlag( CAknFepManager::ECcpuStateIgnoreStarUp );
-        if ( iOwner->IsValidChineseInputKey( aKey ) )
-            {
-            if ( AddKeystrokeL( aKey ) )
-                {
-                UpdateEEPContent();
-                if ( AutoChangeState() )
-                    {
-                    popup->SetChangeState( ETrue );
-                    iOwner->ZhuyinKeyHandler()->SetState( KStateAuto );
-                    RefreshUI();
-                    ChangeCbaL();
-                    iOwner->ChangeState( EEntry );
-                    }
-                else
-                    {
-                    RefreshUI();
-                    ChangeCbaL();                
-                    }
-                }
-            else
-                {
-                iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-                }
-            }
-        else if ( aKey == EPtiKeyStar )
-            {
-            if ( AddToneMarkL() )
-                {
-                UpdateEEPContent();
-                if ( AutoChangeState() )
-                    {
-                    popup->SetChangeState( ETrue );
-                    iOwner->ZhuyinKeyHandler()->SetState( KStateAuto );
-                    iOwner->ZhuyinKeyHandler()->Reset();
-                    ChangeCbaL();
-                    iOwner->ChangeState( EEntry );
-                    }
-                else
-                    {
-                    RefreshUI();
-                    ChangeCbaL();                
-                    }
-                }
-            else
-                {
-                iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-                }
-            }
-        else if ( aKey == EKeyCBA2 )
-            {
-            iOwner->FepMan()->TryCloseUiL();
-            }
-        else
-            {
-            iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-            }
-        }
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// set high light
-// ---------------------------------------------------------
-//
-void TAknFepInputStateEntryZhuyinPhraseCreation::SetHighLight()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    TInt symbolsShowCount = popup->GetEEPContent().Length();
-    TInt chineseCount = popup->ChineseCharsDisped()->Count();
-    
-    editPane->SetHighlight( chineseCount, symbolsShowCount );
-    }
-
-// ---------------------------------------------------------
-// set high light
-// ---------------------------------------------------------
-//
-void TAknFepInputStateEntryZhuyinPhraseCreation::SetHighLightMoreThanMax()
-    {
-    TInt begPos = BegPosOfMoreThanSeven();
-
-    if ( begPos )
-        {
-        HighlightMoreThanSeven( begPos );
-        }
-    }
-
-// ---------------------------------------------------------
-// move index of the keystroke left.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputStateEntryZhuyinPhraseCreation::MoveIndexOfKeystrokeLeft()
-    {
-    MAknFepUICtrlEditPane* editPane = UIContainer()->EditPaneWindow();
-    MAknFepUICtrlPinyinPopup* popup = UIContainer()->PinyinPopupWindow();
-    CDesCArrayFlat* zhuyinSymbol = popup->ZhuyinSymbols();
-    CDesCArrayFlat* chineseArray = popup->ChineseCharsDisped();
-    TInt currentIndex = editPane->GetCursorIndexOfKeystroke();
-    TInt cursorPosition = editPane->GetCursor();
-
-    TBool ret = EFalse;
-    TBuf<KMaxKeystrokeCount> buf;
-    TBuf<KMaxKeystrokeCount> symbolBuf;
-
-    if ( cursorPosition < chineseArray->Count() )
-        {
-        return EFalse;
-        }
-    
-    for ( TInt i = 0; i < zhuyinSymbol->Count(); ++i )
-        {
-        symbolBuf.Append( zhuyinSymbol->MdcaPoint( i ) );
-        }
-    buf.Append( popup->GetEEPContent() );
-    
-    if ( chineseArray->Count() == cursorPosition )
-        {
-        TRAP_IGNORE( ret = CheckHighLightL() );
-        if ( ret )
-            {
-            editPane->Reset();
-            editPane->SetTextForZhuyin( buf, buf.Length(),
-                chineseArray->Count(), symbolBuf, 
-                zhuyinSymbol->Count(), ETrue );
-            SetHighLight();
-            }
-        else
-            {
-            editPane->Reset();
-            editPane->SetTextForZhuyin( buf, buf.Length(),
-                chineseArray->Count(), symbolBuf, 
-                zhuyinSymbol->Count() );
-            SetHighLightMoreThanMax();
-            }
-        editPane->SetCursorIndexOfKeystroke( zhuyinSymbol->Count() );
-        return ETrue;
-        }
-
-    if ( 1 == cursorPosition - chineseArray->Count() )
-        {
-        TRAP_IGNORE( ret = CheckHighLightL() );
-        if ( ret )
-            {
-            editPane->Reset();
-            editPane->SetTextForZhuyin( buf, chineseArray->Count(), 
-                chineseArray->Count(), symbolBuf, zhuyinSymbol->Count(), ETrue );
-            SetHighLight();
-            }
-        else
-            {
-            editPane->Reset();
-            editPane->SetTextForZhuyin( buf, chineseArray->Count(), 
-                chineseArray->Count(), symbolBuf, zhuyinSymbol->Count() );
-            SetHighLightMoreThanMax();
-            }
-        editPane->SetCursorIndexOfKeystroke( 0 );
-        return ETrue;
-        }
-    
-    
-    if ( 0 == buf.Mid( 
-        (cursorPosition - 2 ), 1 ).Compare( KDelimiter ) )
-        {
-        editPane->MoveCursorLeft( 2 );
-        editPane->SetCursorIndexOfKeystroke( currentIndex - 1 );
-        }
-    else
-        {
-        editPane->MoveCursorLeft();
-        editPane->SetCursorIndexOfKeystroke( currentIndex - 1 );
-        }
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// move index of the keystroke right.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputStateEntryZhuyinPhraseCreation::MoveIndexOfKeystrokeRight()
-    {
-    MAknFepUICtrlEditPane* editPane = UIContainer()->EditPaneWindow();
-    MAknFepUICtrlPinyinPopup* popup = UIContainer()->PinyinPopupWindow();
-    CDesCArrayFlat* zhuyinSymbol = popup->ZhuyinSymbols();
-    CDesCArrayFlat* chineseArray = popup->ChineseCharsDisped();
-    TInt currentIndex = editPane->GetCursorIndexOfKeystroke();
-    TInt cursorPosition = editPane->GetCursor();
-
-    TBool ret = EFalse;
-    TBuf<KMaxKeystrokeCount> buf;
-    TBuf<KMaxKeystrokeCount> symbolBuf;
-    
-    for ( TInt i = 0; i < zhuyinSymbol->Count(); ++i )
-        {
-        symbolBuf.Append( zhuyinSymbol->MdcaPoint( i ) );
-        }
-    buf.Append( popup->GetEEPContent() );
-    
-    if ( buf.Length() ==  cursorPosition )
-        {
-        TRAP_IGNORE( ret = CheckHighLightL() );
-        if ( ret )
-            {
-            editPane->Reset();
-            editPane->SetTextForZhuyin( buf, chineseArray->Count(), 
-                chineseArray->Count(), symbolBuf, 0, ETrue );
-            SetHighLight();
-            }
-        else
-            {
-            editPane->Reset();
-            editPane->SetTextForZhuyin( buf, chineseArray->Count(), 
-                chineseArray->Count(), symbolBuf, 0 );
-            SetHighLightMoreThanMax();
-            }
-        editPane->SetCursorIndexOfKeystroke( 0 );
-        return ETrue;
-        }
-    
-    if ( chineseArray->Count() == cursorPosition )
-        {
-        editPane->MoveCursorRight();
-        editPane->SetCursorIndexOfKeystroke( 1 );
-        return ETrue;
-        }
-    
-    if ( buf.Length() == cursorPosition + 1 )
-        {
-        editPane->MoveCursorRight();
-        editPane->SetCursorIndexOfKeystroke( zhuyinSymbol->Count() );
-        return ETrue;
-        }
-    
-    if ( 0 == buf.Mid( ( cursorPosition ), 1 ).Compare( KDelimiter ) )
-        {
-        editPane->MoveCursorRight( 2 );
-        editPane->SetCursorIndexOfKeystroke( currentIndex + 1 );
-        }
-    else
-        {
-        editPane->MoveCursorRight();
-        editPane->SetCursorIndexOfKeystroke( currentIndex + 1 );
-        }
-    
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// Initialize State.
-// ---------------------------------------------------------
-//
-void TAknFepInputStateEntryZhuyinPhraseCreation::InitializeState()
-    {
-    TRAP_IGNORE( ChangeCbaL() );
-    }
-
-// ---------------------------------------------------------
-// check auto change state.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputStateEntryZhuyinPhraseCreation::AutoChangeState()
-    {
-    TInt keystrokeCount = 
-        UIContainer()->PinyinPopupWindow()->ZhuyinSymbols()->Count();
-    TBool ret = EFalse;
-    
-    TRAP_IGNORE( ret = CheckHighLightL() );
-
-    if ( ( !ret ) &&
-        ( KStateFromKeyDown != iOwner->ZhuyinKeyHandler()->GetState() ) &&
-        ( 0 != keystrokeCount ) )
-        {
-        return ETrue;
-        }    
-    
-    return EFalse;
-    }
-
-// ---------------------------------------------------------
-// Add phrase to DB.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputStateEntryZhuyinPhraseCreation::AddPhraseToDB( const TDesC& aPhraseAdd )
-    {
-    TInt retCode;
-    TPtiUserDictionaryEntry addUdbEntry(aPhraseAdd);
-    //Add the phrase to the DB by PTI Engine
-    retCode = iOwner->PtiEngine()->AddUserDictionaryEntry( addUdbEntry );
-    if ( KErrNone != retCode )
-        {
-        return EFalse;
-        }
-
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// Check high light.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputStateEntryZhuyinPhraseCreation::CheckHighLightL()
-    {
-    MAknFepUICtrlPinyinPopup* popup = UIContainer()->PinyinPopupWindow();
-    CDesCArrayFlat* zhuyinSymbol = popup->ZhuyinSymbols();
-    CDesCArrayFlat* candidateArray = 
-        UIContainer()->CandidatePane()->CandidateArray();
-    TBuf<KMaxKeystrokeCount> inputBuf;
-    
-    inputBuf.Zero();
-    
-    if ( 0 == candidateArray->Count() )
-        {
-        return ETrue;
-        }
-    
-    for ( TInt i = 0; i < zhuyinSymbol->Count(); ++i )
-        {
-        inputBuf.Append( zhuyinSymbol->MdcaPoint( i ) );
-        }
-    
-    if ( 0 == inputBuf.Length() )
-        {
-        return EFalse;
-        }
-    
-    if ( !iOwner->ZhuyinAnalyser()->AnalyzeL( inputBuf ) )
-        {
-        return ETrue;
-        }
-    
-    return EFalse;
-    }
-
-// End of file
--- a/fep/aknfep/src/aknfepuiinputstateindicphoneticqwerty.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,210 +0,0 @@
-/*
-* Copyright (c) 2004 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:           
-*       Provides the TAknFepInputStateIndicPhoneticQwerty methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "aknfepuiinputstateindicphoneticqwerty.h"
-#include "AknFepUIManagerStateInterface.h"      //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"           //MAknFepManagerUIInterface
-#include "AknFepCaseManager.h"
-#include "AknFepUiIndicInputManager.h"
-#include "AknFepPanic.h"
-
-#include <e32err.h>
-#include <PtiEngine.h>
-#include <PtiDefs.h>
-#include <PtiKeyMappings.h>
-#include <CentralRepository.h> 
-#include <Languages.hrh>
-
-TAknFepInputStateIndicPhoneticQwerty::
-TAknFepInputStateIndicPhoneticQwerty(MAknFepUIManagerStateInterface* aOwner)
-    :TAknFepInputStateQwerty(aOwner)
-    {
-    iState = EInitial;
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    ptiengine->ClearCurrentWord();
-    TRAP_IGNORE(ptiengine->ActivateLanguageL(KLangHindiPhonetic,
-                                             EPtiEngineInputModeIndicPhoneticQwerty));//KLangHindiPhonetic
-    ptiengine->SetCase(EPtiCaseLower);
-    }
-
-TBool TAknFepInputStateIndicPhoneticQwerty::HandleKeyL(TInt aKey, TKeyPressLength aLength)
-    {
-    TBool ret = ETrue;
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    __ASSERT_DEBUG(ptiengine != NULL,AknFepPanic(EAknFepPanicNoValidPtiEngine));
-    
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    __ASSERT_DEBUG(fepMan != NULL,AknFepPanic(EAknFepPanicNoValidFepManager));
-         
-	if(!IsQwertyKey(aKey)|| 
-		fepMan->IsOnlyNumericPermitted()||
-		fepMan->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed))
-		{
-		fepMan->CommitInlineEditL();
-		ptiengine->HandleCommandL(EPtiCommandBreakSyllable, NULL );	
-		ret = TAknFepInputStateQwerty::HandleKeyL(aKey, aLength);
-		}
-	else if (aKey == EPtiKeyQwertySpace ||aKey == EStdKeyEnter)
-		{    
-		TInt languageCode = 0;
-    	MPtiLanguage* curlang = ptiengine->CurrentLanguage();
-	    if (curlang)
-	        {
-	        languageCode = curlang->LanguageCode();
-	        }
-
-		// Space clears Explicite halant for North Indian Languages.
-		if(IsToRemoveHalantForLanguage(languageCode))
-			{
-			RemoveHalantL(TLanguage(languageCode));
-			fepMan->CommitInlineEditL();
-			}
-		ptiengine->HandleCommandL(EPtiCommandBreakSyllable, NULL );	
-		ret = EFalse;
-		}
-	else
-		{
-		TBool isCharacter = ETrue;
-	    if (!iData)
-	        {
-	        isCharacter = IsCharacterKey(aKey);
-	        }
-	        
-		HandleCaseChange(aKey,isCharacter);
-	    iData = aKey;
-
-	    TBool keyEventHandledByFep = ETrue;
-	    
-		TPhoneticArg arg;
-	    TBuf<CAknFepManager::EMaximumFepWordLength> destinationbuf;
-	    destinationbuf.Zero();               
-	    
-		TInt errorcode = 0;   
-	    
-	    if(!((aKey == EPtiKeyStar) || 
-	    	(aKey == EPtiKeyQwerty8 && fepMan->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode)) || 
-	    	(aKey == EPtiKeyQwertySpace)))
-	    	{
-	        TPtrC string = ptiengine->AppendKeyPress((TPtiKey)aKey);
-	        arg.iChar = string[0];
-	        arg.iDest = & destinationbuf;
-	        errorcode = ptiengine->HandleCommandL(EPtiCommandGetPhoneticText,REINTERPRET_CAST( TAny*, &arg));
-	        }
-	    else
-	        {
-	    	errorcode = ptiengine->HandleCommandL(EPtiCommandBreakSyllable, NULL );	
-	    	}
-	    	
-	    switch(errorcode)
-	    	{
-	    	case KErrNone:
-	    		{
-	    		switch(arg.iState)
-	    			{
-	    			case EIndicSyllableStateInsideSyllable:
-	    				{            				
-	        			if (destinationbuf.Length())
-				            {
-				            fepMan->NewCharacterSequenceL(destinationbuf,
-				                                          EIndicInputResponsePhoneticQwertyText);
-				            }
-	    				}
-	    			break;
-	    			case EIndicSyllableStateSyllableBroken:
-	    				{
-	  					fepMan->CommitInlineEditL();
-	    				if (destinationbuf.Length())
-				            {
-				            fepMan->NewCharacterSequenceL(destinationbuf,
-				                                          EIndicInputResponsePhoneticQwertyText);
-				            }	
-	    				}
-	    			break;
-	    			default:
-	    			break;
-	    			}
-	    		}
-	    	break;
-	    	case KErrOverflow:
-	    		{
-				fepMan->NewCharacterSequenceL(destinationbuf,EIndicInputResponsePhoneticQwertyText);    		
-	    		fepMan->CommitInlineEditL();
-	        	ptiengine->HandleCommandL(EPtiCommandClearPhoneticBuffer,NULL);
-	    		}
-	    	break;
-	    	default:
-	    	break;
-	    	}
-	    ptiengine->ClearCurrentWord();
-	    CAknFepCaseManager* caseMan = iOwner->CaseMan(); 
-	    iOwner->CaseMan()->UpdateCase(ENullNaviEvent);
-		}	
-
-    return ret;
-    }
-    
-TBool TAknFepInputStateIndicPhoneticQwerty::IsQwertyKey(const TInt aKey)
-    {
-    TBool response = EFalse;
-    if ( (aKey >= EPtiKeyQwertyA && aKey <= EPtiKeyQwertyZ)||
-        (aKey == EPtiKeyQwertyFullstop) ||
-        (aKey == EPtiKeyStar || 
-        (aKey == EPtiKeyQwerty8 && 
-        iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagQwertyShiftMode))) ||
-        aKey == EPtiKeyQwertySpace || 
-        aKey == EStdKeyEnter)
-        {
-        response = ETrue;
-        }
-    return response;
-    }
-    
-void TAknFepInputStateIndicPhoneticQwerty::RemoveHalantL(TLanguage aLanguage)
-	{
-	MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    if(TAknFepUiIndicInputManager::IsCharVirama(fepMan->PreviousChar(), aLanguage))
-    	{
-    	fepMan->RemovePreviousCharacterL();	
-    	}
-	}
-	
-TBool TAknFepInputStateIndicPhoneticQwerty::IsToRemoveHalantForLanguage(TInt aLanguage)
-	{
-	TBool ret = EFalse;
-	switch(aLanguage)
-		{
-		case KLangHindiPhonetic:
-			ret = ETrue;
-		break;
-		}
-	return ret;	
-	}
-	
-	
-// End of file
--- a/fep/aknfep/src/aknfepuiinputstateinitialindicphoneticmultitap.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,467 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:            Provides the TAknFepInputStateInitialIndicPhoneticMultitap methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-#include "aknfepuiinputstateinitialindicphoneticmultitap.h"
-#include "AknFepUIManagerStateInterface.h"      //MAknFepUIManagerStateInterface
-#include "AknFepUIManagerWestern.h"
-#include "AknFepUiIndicEnums.h"
-#include "AknFepCaseManager.h"
-#include "AknFepUiIndicInputManager.h"
-
-#include <uikon.hrh>
-#include <PtiEngine.h>
-#include <PtiDefs.h>
-#include <aknsctdialog.h>
-#include <avkon.rsg>
-#include <aknfep.rsg>
-#include <EikEnv.h>
-#include <Aknutils.h>
-#define PHONETIC_SEPARATOR 0x2e
-
-const TUint KSpaceChar = 0x0020;
-const TUint KQuestionMark = 0x003F;
-
-#define PTI_CLEAR_CURRENTWORD( A, B ) \
-		( A )->ClearCurrentWord(); \
-		( B ) = ETrue; \
-
-const TText KAknFEPLineFeedSymbol = 0x21B2;
-const TText KAknFEPMirroredLineFeedSymbol = 0x21B3;
-	
-// -----------------------------------------------------------------------------
-// TAknFepInputStateInitialIndicPhoneticMultitap::TAknFepInputStateInitialIndicPhoneticMultitap
-
-// C++ default constructor can NOT contain any code, that
-// might leave or if it is absolutely necessary then MUST be trapped.
-// -----------------------------------------------------------------------------
-
-TAknFepInputStateInitialIndicPhoneticMultitap::
-TAknFepInputStateInitialIndicPhoneticMultitap( MAknFepUIManagerStateInterface* aOwner,
-																			TInt aLanguage )
-																			:TAknFepInputStateInitialMultitapBase( aOwner )
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    iIsStarKeyPressed = EFalse;
-    iIndicLanguage = TLanguage(aLanguage);
-    iIndicPhoneticBuffer.Zero();
-    TRAP_IGNORE( ptiengine->ActivateLanguageL(KLangHindiPhonetic,
-                 EPtiEngineInputModeIndicPhoneticMultitap))
-    ptiengine->SetCase( EPtiCaseLower );
-    iPreviousCommittedChar = NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// TAknFepInputStateInitialIndicPhoneticMultitap::HandleKeyL
-
-// Handles the logic of Indic multitap input. This function first checks the validity
-// of the inputed text and then enters it.
-// -----------------------------------------------------------------------------
-
-TBool TAknFepInputStateInitialIndicPhoneticMultitap::HandleKeyL( TInt aKey, 
-                                                                 TKeyPressLength aLength )
-	{
-	TBool                      result       	= ETrue;
-	MAknFepManagerUIInterface* fepMan       	= iOwner->FepMan();
-	CPtiEngine* 			   ptiengine 		= iOwner->PtiEngine();
-	
-	if(aKey == EKeyBackspace)
-		{
-		iIndicPhoneticBuffer.Zero();
-		iPhoneticLatinChar = 0;	
-    	iPreviousCommittedChar = 0;						
-		}
-	else if(fepMan->IsFlagSet(CAknFepManager::EFlagNoMatches) 
-           && aKey != EPtiKey0 && aLength != ELongKeyPress)
-		{
-		//no matches, so just play tone
-        fepMan->PlaySound(EAvkonSIDConfirmationTone);
-		}
-	else
-		{
-		if ( iData && ( iData != aKey ) && (!iIsStarKeyPressed ))
-	    	{
-	    	//iPrevCharacter = 
-	    	TransliterateFromLatinL();
-		    PTI_CLEAR_CURRENTWORD( ptiengine, iIsKeyTimerExpired )
-		    // = ;
-	   		}
-		iIsStarKeyPressed = EFalse;
-		if ( aLength == EShortKeyPress )
-			{
-		    if ( aKey == EPtiKeyStar ) // Overriding Key
-	            {
-		    	ptiengine->HandleCommandL(EPtiCommandBreakSyllable, NULL );	
-		    	iIsStarKeyPressed = ETrue;
-	    		}
-			else
-				{
-				TPtrC ptiText = ptiengine->AppendKeyPress( ( TPtiKey )aKey );
-				iPhoneticLatinChar = ptiText[0];
-				
-				if (IsToTransliterate(iPhoneticLatinChar) 
-				&& (!fepMan->IsFlagSet(CAknFepManager::EFlagNoMatches)))
-			    	{
-			    	TBuf<CAknFepManager::EMaximumFepWordLength> buf;
-		            buf.Copy(iIndicPhoneticBuffer);
-		            buf.Append(ptiText);
-					fepMan->NewCharacterSequenceL(buf,EIndicInputResponsePhoneticMultitapText);
-			    	}
-				else if(!IsToTransliterate(iPhoneticLatinChar))
-					{
-					TChar prevcharacter(fepMan->PreviousChar());
-					
-					if((fepMan->IsFlagSet(CAknFepManager::EFlagNoMatches)) && (KQuestionMark == prevcharacter))
-						{
-						fepMan->RemovePreviousCharacterL();		
-						fepMan->ClearFlag(CAknFepManager::EFlagNoMatches);	
-						ptiengine->HandleCommandL(EPtiCommandBreakSyllable, NULL );
-						}
-					iIndicPhoneticBuffer.Zero();
-					if(IsToTransliterate(prevcharacter) && prevcharacter != '0')
-						fepMan->CommitInlineEditL();	
-					fepMan->NewCharacterSequenceL(ptiText,EIndicInputResponseNone);
-					}
-				}
-			}
-	   	else
-	    	{
-	    	if(fepMan->PreviousChar() == KQuestionMark)
-				{
-				fepMan->RemovePreviousCharacterL();		
-				}
-			fepMan->ClearFlag(CAknFepManager::EFlagNoMatches);
-
-	        /* Long press of a Key */
-	        if ( aKey == EPtiKeyStar)
-		        {
-	        	
-	            /* Launch the SCT For Indic */
-	   			if( fepMan->EditorHasFreeSpace() )
-					{
-					if (fepMan->IsAbleToLaunchSCT() && !fepMan->EditSubmenuInUse())
-	        			{        			
-		            	fepMan->LaunchSpecialCharacterTableL();	
-		            	}
-					}
-			    }
-	        else
-		        {
-		        //commit the inline text
-		        fepMan->CommitInlineEditL();
-		        //Remove one character, to remove the Latin character
-		        //appended because of the short key press. This is 
-		        //because long key press results  in short key press 
-		        //and then long key press.
-		        fepMan->RemovePreviousCharacterL();
-		        //Reset the phonetic state in FEP. So, that any further 
-		        //phonetic conversion will start from fresh.
-		        iIndicPhoneticBuffer.SetLength(0);
-		        iPhoneticLatinChar = 0;	
-    	        iPreviousCommittedChar = 0;
-    	        
-		        ptiengine->HandleCommandL(EPtiCommandBreakSyllable, NULL );
-		        TUint prevchar = fepMan->PreviousChar(ETrue);
-	            if(!((aKey == EPtiKey1) && ((0x0031 == prevchar) || (0x0967 == prevchar)) ))
-			        {
-					TChar ch( aKey );
-			        TBuf<1> buf;
-			        buf.Append( ch );
-			        fepMan->NewCharacterSequenceL( buf, EIndicInputResponseNumber );
-					fepMan->CommitInlineEditL();			
-					PTI_CLEAR_CURRENTWORD( ptiengine, iIsKeyTimerExpired )				
-					}
-		        }
-	    	}
-	    iData = aKey;
-		}
-   //hindi phonetic changes
-   if(iPhoneticLatinChar.IsUpper())
-	{
-		fepMan->HandleIndicCaseL();
-	}
-    return( result );
-	}
-
-// -----------------------------------------------------------------------------
-// TAknFepInputStateInitialIndicPhoneticMultitap::KeyTimerExpired
-
-// Handles the logic of post keytimerexpired event. This function commits 
-// the inline editing text to the editor.
-// -----------------------------------------------------------------------------
-
-void TAknFepInputStateInitialIndicPhoneticMultitap::KeyTimerExpired()
-	{
-	TRAP_IGNORE(HandleKeyTimerExpiryL())
-	iData = 0;	
-	iOwner->PtiEngine()->ClearCurrentWord();
-	if((iPreviousCommittedChar = iOwner->FepMan()->PreviousChar()) == 0x002E)
-		iPreviousCommittedChar = iOwner->FepMan()->PreviousToPreviousChar(ETrue);
-	iIsKeyTimerExpired = ETrue;
-	}
-	
-void TAknFepInputStateInitialIndicPhoneticMultitap::HandleKeyTimerExpiryL()
-	{
-	CPtiEngine* ptiengine = iOwner->PtiEngine();
-	MAknFepManagerUIInterface* fepMan = iOwner->FepMan();	
-	if ( !(fepMan->EditorHasFreeSpace() 
-       || fepMan->IsFlagSet(CAknFepManager::EFlagInsideMultitapInlineEditingTransaction)))
-	    {
-	    return;
-	    }
-	if(iData && ( IsToTransliterate(iPhoneticLatinChar) &&  iData != EPtiKeyStar) 
-     && !fepMan->IsFlagSet(CAknFepManager::EFlagNoMatches))
-		{
-		TransliterateFromLatinL();
-		}
-	else if ( !IsToTransliterate (iPhoneticLatinChar))
-        {
-		MPtiLanguage* ptilang = ptiengine->CurrentLanguage();
-	    TInt languageCode = (ptilang)? ptilang->LanguageCode() : 0;
-		// Space clears Explicite halant for North Indian Languages.
-		if(IsToRemoveHalantForLanguage(languageCode))
-			{
-			RemoveHalantL(TLanguage(languageCode));
-			}	
-		ptiengine->HandleCommandL(EPtiCommandBreakSyllable, NULL );
-		fepMan->CommitInlineEditL();
-		iIndicPhoneticBuffer.Zero();
-        }	
-	else
-		{
-		iOwner->FepMan()->CommitInlineEditL();
-    	iIndicPhoneticBuffer.Zero();
-		}	
-	}
-
-void TAknFepInputStateInitialIndicPhoneticMultitap :: TransliterateFromLatinL() 
-	{
-	TPhoneticArg arg;
-    TBuf<CAknFepManager::EMaximumFepWordLength> destinationbuf;
-    destinationbuf.Zero();               
-	TInt errorcode = 0; 
-	CPtiEngine* ptiengine = iOwner->PtiEngine();
-	MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-	MPtiLanguage* ptilang = iOwner->PtiEngine()->CurrentLanguage();
-    TInt languageCode = (ptilang)? ptilang->LanguageCode() : 0;
-	    
-	arg.iChar = iPhoneticLatinChar;
-	arg.iDest = & destinationbuf;
-	errorcode = ptiengine->HandleCommandL(EPtiCommandGetPhoneticText,REINTERPRET_CAST( TAny*, &arg));
-	AknTextUtils::LanguageSpecificNumberConversion(destinationbuf);
-	switch(errorcode)
-    	{
-    	case KErrNone:
-    		{
-    		if(arg.iState == EIndicSyllableStateSyllableBroken)
-    			{
-				if(iIndicPhoneticBuffer.Length())
-					{
-					fepMan->CommitInlineEditL(iIndicPhoneticBuffer, iIndicPhoneticBuffer.Length());
-					iPreviousCommittedChar = fepMan->PreviousChar(ETrue);
-					iIndicPhoneticBuffer.Zero();
-					}
-      			}
-
-			if (destinationbuf.Length())
-	            {
-	            	if(! ValidatePhoneticInputL(destinationbuf, TLanguage(languageCode)))
-	            		{
-	            		break;	
-	            		}
-	            	
-	            fepMan->NewCharacterSequenceL(destinationbuf,
-	                                          EIndicInputResponsePhoneticMultitapText);
-
-        		if(TAknFepUiIndicInputManager::IsCharOther(destinationbuf[0],
-        		     TLanguage(languageCode)) && 0x002E != destinationbuf[0])
-        			{
-        			fepMan->CommitInlineEditL();
-        			iIndicPhoneticBuffer.Zero();
-        			}
-				else
-					{
-        			iIndicPhoneticBuffer.Copy(destinationbuf);
-					}
-	            }
-    		}
-    	break;
-    	case KErrOverflow:
-    		{
-			fepMan->NewCharacterSequenceL(destinationbuf,EIndicInputResponsePhoneticMultitapText);    		
-    		fepMan->CommitInlineEditL();
-        	ptiengine->HandleCommandL(EPtiCommandClearPhoneticBuffer,NULL);
-    		}
-    	break;
-    	default:
-    	break;
-    	}
-    iPhoneticLatinChar = 0;	
-	}
-
-TBool TAknFepInputStateInitialIndicPhoneticMultitap::IsToRemoveHalantForLanguage(TInt aLanguage)
-	{
-	TBool ret = EFalse;
-	switch(aLanguage)
-		{
-		case KLangHindiPhonetic:
-			ret = ETrue;
-		break;
-		}
-	return ret;	
-	}
-	
-inline TBool TAknFepInputStateInitialIndicPhoneticMultitap::IsToTransliterate(TChar& aChar)
-	{
-	return !(KAknFEPLineFeedSymbol == aChar || KSpaceChar == aChar);
-	}
-	
-TBool TAknFepInputStateInitialIndicPhoneticMultitap::ValidatePhoneticInputL(const TDes& aBuf, 
-                                                                            TLanguage aLanguage)
-	{
-	TBool ret = ETrue;
-    TUint curChar = 0;
-    TUint prevChar=0;
-    TUint len=aBuf.Length();
-    TPtr buffer(const_cast<TText*>( aBuf.Ptr() ),len,len);
-	MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-	TPtiTextCase newCase = iOwner->PtiEngine()->Case();
-	if(! iPreviousCommittedChar)
-		{
-		iPreviousCommittedChar = fepMan->PreviousChar(ETrue);	
-		}
-       while(len)
-                {
-                if(buffer[len-1] == 0x94d)
-                    {
-                    len--;
-                    buffer.SetLength(len);
-                    continue;
-                    }
-                else if(!curChar)
-                    {
-                    curChar = buffer[len-1] ;
-                    len--;
-                    }
-                else if(!prevChar)
-                    {
-                    prevChar = buffer[len-1] ;
-                    len--;
-                    }
-                else
-                    break;
-                }
-       if(!prevChar)
-            prevChar = iPreviousCommittedChar;
-       /*
-       Multitap does not allow any fall back characters. The phonetic engine does not
-       check for the fallback characters and FEP has to do it.
-       */
-       //fallback character if Nukta is entered after Nukta
-       if((TAknFepUiIndicInputManager::IsCharNukta(prevChar,aLanguage) && 
-        TAknFepUiIndicInputManager::IsCharNukta(curChar,aLanguage)) ||
-        
-        //fallback character if Nukta is entered after Modifier or
-        //Modifier is entered after Modifier
-        (TAknFepUiIndicInputManager::IsCharModifier(prevChar,aLanguage) && 
-        (TAknFepUiIndicInputManager::IsCharNukta(curChar,aLanguage) ||
-        TAknFepUiIndicInputManager::IsCharModifier(curChar,aLanguage))) ||
-        
-        //fallback character if Nukta is entered after Vowel or
-        //Nukta is entered after matra
-       ((TAknFepUiIndicInputManager::IsCharAnVowel(prevChar,aLanguage) ||
-       TAknFepUiIndicInputManager::IsCharMatra(prevChar,aLanguage)) && 
-        TAknFepUiIndicInputManager::IsCharNukta(curChar,aLanguage))  ||
-        //fallback character if Nukta is entered after Nukta Consonant
-        (TAknFepUiIndicInputManager::IsCharNuktaConsonant(prevChar,aLanguage) &&
-        TAknFepUiIndicInputManager::IsCharNukta(curChar,aLanguage)) ||
-        
-        //fallback character if Nukta entered in an empty editor
-        (prevChar == PHONETIC_SEPARATOR &&
-        TAknFepUiIndicInputManager::IsCharNukta(curChar,aLanguage))
-        )
-           {
-            TBuf<1> buffer;
-            fepMan->CommitInlineEditL(iIndicPhoneticBuffer, iIndicPhoneticBuffer.Length());
-	        buffer.Append(KQuestionMark);
-		if(!fepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction))
-			{
-			fepMan->StartInlineEditL();	
-			}
-        fepMan->UpdateInlineEditL(buffer,CAknFepManager::ESingleCharacter);
-        fepMan->SetFlag(CAknFepManager::EFlagNoMatches);
-		ret = EFalse;
-		}
-	return ret;
-	}
-	
-TBool TAknFepInputStateInitialIndicPhoneticMultitap::IsInvalidPhoneticCharacter( 
-                                              TUint aChar, TLanguage aLanguage )
-	{
-	TBool ret = EFalse;
-	if(TAknFepUiIndicInputManager::IsCharNukta( aChar, aLanguage )
-	   || TAknFepUiIndicInputManager::IsCharMatra( aChar,  aLanguage )
-	   || TAknFepUiIndicInputManager::IsCharModifier( aChar,  aLanguage )
-	   || TAknFepUiIndicInputManager::IsCharVirama( aChar,  aLanguage ))
-		{	
-		ret = ETrue;
-		}
-	return ret;	
-	}
-
-void TAknFepInputStateInitialIndicPhoneticMultitap::RemoveHalantL(TLanguage aLanguage)
-	{
-	MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-	TBool isLineFeedEntered = fepMan->IsFlagSet(CAknFepManager::EFlagLineFeedCharacter);
-	if (fepMan->IsFlagSet(CAknFepManager::EFlagInsideInlineEditingTransaction))
-        {
-        fepMan->CommitInlineEditL();
-        }
-
-	TInt position = 0;
-	
-    if(TAknFepUiIndicInputManager::IsCharVirama(fepMan->PreviousChar(ETrue), aLanguage))
-    	{
-    	position = 1;
-    	}
-    else if(!isLineFeedEntered && 
-    TAknFepUiIndicInputManager::IsCharVirama(fepMan->PreviousToPreviousChar(ETrue), aLanguage))
-    	{
-    	position = 2;	
-    	}
-    if(position)	
-    	fepMan->RemoveTextFromEditorL( 1, position-1, EFalse );
-   	if(fepMan->NextChar() == KSpaceChar)
-   		{
-   		fepMan->AlignLogicalAndVisualCursorL(TTmDocPosSpec::ELeading, EFalse);	
-   		}
-	}
-
-void TAknFepInputStateInitialIndicPhoneticMultitap::GetPhoneticLatinChar(TChar& aChar)const
-	{
-		aChar = iPhoneticLatinChar;
-	}
-//End of File
--- a/fep/aknfep/src/aknfepuiinputstateminiqwertystrokephrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,565 +0,0 @@
-/*
-* Copyright (c) 2007 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:           
- *       Provides the  TAknFepInputStateEntryMiniQwertyStrokePhrase,
- *       TAknFepInputStateEditingMiniQwertyStrokePhrase,
- *       TAknFepUiInputStateCandidateMiniQwertyStrokePhrase methods.
- *
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// System includes
-#include <PtiEngine.h>  
-#include <PtiUserDicEntry.h>
-#include <aknnotewrappers.h> //CAknWarningNote
-#include <aknfep.rsg>  
-
-// User includes
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUICtrlInputPane.h"
-#include "aknfepuictrleditpane.h"           //phrase creation
-#include "AknFepUIManagerStateInterface.h"  
-#include "AknFepManager.h" 
-#include "aknfepuiinputstateminiqwertystrokephrase.h"
-const TInt KManualChangeState = 0; 
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryMiniQwertyStrokePhrase::TAknFepInputStateEntryMiniQwertyStrokePhrase
-// C++ default constructor
-// ---------------------------------------------------------------------------
-//
-TAknFepInputStateEntryMiniQwertyStrokePhrase::TAknFepInputStateEntryMiniQwertyStrokePhrase(
-    MAknFepUIManagerStateInterface* aOwner,
-    MAknFepUICtrlContainerChinese* aUIContainer ):
-    TAknFepInputMiniQwertyStrokePhraseBase( aOwner, aUIContainer )
-    {
-    iState = EEntry;
-    UIContainer()->SetLayout( MAknFepUICtrlContainerChinese::ELayoutKeystroke );
-    UIContainer()->FocusCandidatePane( ETrue );
-    UIContainer()->CandidatePane()->SelectFirstPhrase();
-    UIContainer()->CandidatePane()->ShowCandidateOrdinals( EFalse );
-    UIContainer()->SetFepMan( iOwner->FepMan() );
-    // so that it could handle EKeyCBA1
-    iOwner->FepMan()->EntryPhrase( ETrue );
-    RefreshUI();
-    }
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryMiniQwertyStrokePhraseCreation::HandleKeyL
-// Handle system key press event.
-// ---------------------------------------------------------------------------
-// 
-TBool TAknFepInputStateEntryMiniQwertyStrokePhrase::HandleKeyL( TInt aKey,
-    TKeyPressLength aLength )
-    {
-    TBool ret = ETrue;
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-    switch ( aKey )
-        {
-        case EStdKeyLeftFunc: //chr key
-        case EKeyLeftShift:
-        case EKeyRightShift:
-        case EKeyLeftCtrl:
-        case EKeyRightCtrl:
-        case EKeyRightFunc://fn 
-        case EKeyLeftFunc: // fn 
-            {
-            iOwner->FepMan()->TryCloseUiL();
-            ret = EFalse;
-            break;
-            }
-        case EStdKeyDevice1: // cancel key
-            {
-            iOwner->FepMan()->TryCloseUiL();
-            break;
-            }
-        case EStdKeyEnter:
-        case EStdKeySingleQuote: // The "&" key
-            {
-            iOwner->FepMan()->PlaySound( EAvkonSIDStandardKeyClick );
-            break;
-            }
-        case EStdKeyUpArrow:
-            {
-            if ( candidatePane->IsFirstPage() )
-                {
-                UIContainer()->EditPaneWindow()->SetAutoChangeStateFlag( KManualChangeState );
-                iOwner->ChangeState( EMiniQwertyEdit );
-                }
-            else
-                {
-                candidatePane->PreviousCandidatePage();
-                candidatePane->SetCandidateBuffer();
-                candidatePane->SelectFirst();
-                UpdateIndicator();
-                }
-            break;
-            }
-        case EStdKeyDownArrow:
-            {
-            ret = TAknFepInputStateCandidateQwertyBaseChinesePhrase::HandleKeyL( aKey, aLength );
-            break;
-            }
-        case EStdKeyRightArrow:
-            {
-            if ( candidatePane->VisibleCandidateCount()!= 1 )
-                {
-                uiContainer->EditPaneWindow()->SetCandidateRefreshFlag( ETrue );
-                iOwner->ChangeState( ECandidate );
-                candidatePane->SelectNext();
-                }
-            break;
-            }
-        case EStdKeyLeftArrow:
-            {
-            if ( candidatePane->VisibleCandidateCount()!= 1 )
-                {
-                uiContainer->EditPaneWindow()->SetCandidateRefreshFlag( ETrue );
-                iOwner->ChangeState( ECandidate );
-                TInt numbertotal = UIContainer()->CandidatePane()->VisibleCandidateCount();
-                UIContainer()->CandidatePane()->SelectIndex( numbertotal-1 );
-                }
-            break;
-            }
-        case EStdKeyDevice0: //select key 
-        case EStdKeyDevice3: // msk 
-            {
-            TPtrC text = uiContainer->CandidatePane()->CurrentPhraseCandidate();
-            if ( text.Length() && aLength != ELongKeyPress )
-                {
-                if ( !CommitInlineEEPL( text ) )
-                    {
-                    DoActionAfterCommit();
-                    }
-                else
-                    {
-                    if ( CheckFirstGroupStroke() )
-                        {
-                        iOwner->ChangeState( ECandidate );
-                        }
-                    else
-                        {
-                        uiContainer->EditPaneWindow()->SetAutoChangeStateFlag( EAutoChangeStateFromInput );
-                        iOwner->ChangeState( EMiniQwertyEdit );
-                        }
-                    }
-                }
-            break;
-            }
-        default:
-            // chr + character 
-            if ( iOwner->FepMan()->IsFlagSet( CAknFepManager::EFlagQwertyChrKeyDepressed ) )
-                {
-                iOwner->FepMan()->TryCloseUiL();
-                ret = EFalse;
-                }
-            else if ( CAknFepFnKeyManager::EFnKeyNext == iOwner->FepMan()->FnKeyState() || CAknFepFnKeyManager::EFnKeyLock
-                == iOwner->FepMan()->FnKeyState() || CAknFepFnKeyManager::EFnKeyDown
-                == iOwner->FepMan()->FnKeyState() ) //fn play error tone
-                {
-                iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-                }
-            else
-                {
-                ret = TAknFepInputMiniQwertyStrokePhraseBase::HandleKeyL(
-                    aKey, aLength );
-                }
-            break;
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEditingMiniQwertyStrokePhrase::TAknFepInputStateEditingMiniQwertyStrokePhrase
-// C++ default constructor
-// ---------------------------------------------------------------------------
-//
-TAknFepInputStateEditingMiniQwertyStrokePhrase::TAknFepInputStateEditingMiniQwertyStrokePhrase(
-    MAknFepUIManagerStateInterface* aOwner,
-    MAknFepUICtrlContainerChinese* aUIContainer ):
-    TAknFepInputMiniQwertyStrokePhraseBase( aOwner, aUIContainer )
-    {
-    iState = EMiniQwertyEdit;
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    RefreshUI();
-    uiContainer->FocusCandidatePane( EFalse );
-    uiContainer->CandidatePane()->ShowCandidateOrdinals( EFalse );
-    }
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEditingMiniQwertyStrokePhrase::HandleKeyL
-// Handle system key press event.
-// ---------------------------------------------------------------------------
-// 
-TBool TAknFepInputStateEditingMiniQwertyStrokePhrase::HandleKeyL( TInt aKey,
-    TKeyPressLength aLength )
-    {
-    TBool ret = ETrue;
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-    
-    //handle chr up when composition key with chr end
-    //avoid closing UI
-    if ( iOwner->FepMan()->GetComposChrFlag() && aKey == EStdKeyLeftFunc )
-        {
-        iOwner->FepMan()->SetComposChrFlag( EFalse );
-        return ETrue;
-        }
-    switch ( aKey )
-        {
-        case EKeyLeftShift:
-        case EKeyRightShift:
-        case EKeyLeftCtrl:
-        case EKeyRightCtrl:
-        case EKeyRightFunc://fn 
-        case EKeyLeftFunc: // fn 
-            {
-            if ( !uiContainer->EditPaneWindow()->GetAutoChangeStateFlag()
-                 || uiContainer->EditPaneWindow()->PhraseArray()->Count() != 0)
-                {
-                iOwner->FepMan()->PlaySound( EAvkonSIDStandardKeyClick );
-                }
-            else
-                {
-                iOwner->FepMan()->TryCloseUiL();
-                ret = EFalse;
-                }
-            break;
-            }
-        case EStdKeyLeftFunc: //chr key
-            {
-            iOwner->FepMan()->TryCloseUiL();
-            ret =EFalse;
-            }
-            // inactive 
-        case EStdKeyUpArrow:
-            {
-            break;
-            }
-            //if the canidate is empty ,inactive;else candiniate selecting state
-        case EStdKeyDownArrow:
-            {
-            if ( 0 != candidatePane->VisibleCandidateCount() )
-                {
-                uiContainer->EditPaneWindow()->SetChangeState( ETrue );
-                iOwner->ChangeState( ECandidate );
-                }
-            break;
-            }
-        case EStdKeyDevice1: //"cancle" key
-            {
-            iOwner->FepMan()->TryCloseUiL();
-            break;
-            }
-        case EStdKeySingleQuote:
-        case EStdKeyEnter:
-            {
-            iOwner->FepMan()->PlaySound( EAvkonSIDStandardKeyClick );
-            break;
-            }
-        default:
-            // chr + character 
-            if ( iOwner->FepMan()->IsFlagSet( CAknFepManager::EFlagQwertyChrKeyDepressed ) )
-                {
-                iOwner->FepMan()->SetComposChrFlag( ETrue );
-                if ( !uiContainer->EditPaneWindow()->GetAutoChangeStateFlag()
-                      || uiContainer->EditPaneWindow()->PhraseArray()->Count() != 0)
-                    {
-                    iOwner->FepMan()->PlaySound(EAvkonSIDStandardKeyClick);
-                    return  ETrue;
-                    }
-                else
-                    {
-                    iOwner->FepMan()->TryCloseUiL();
-                    return EFalse;
-                    }
-                }
-            else
-                {
-                ret = TAknFepInputMiniQwertyStrokePhraseBase::HandleKeyL(
-                    aKey, aLength);
-                break;
-                }
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCandidateMiniQwertyStrokePhrase::TAknFepUiInputStateCandidateMiniQwertyStrokePhrase
-// C++ default constructor
-// ---------------------------------------------------------------------------
-//
-TAknFepUiInputStateCandidateMiniQwertyStrokePhrase::TAknFepUiInputStateCandidateMiniQwertyStrokePhrase(
-    MAknFepUIManagerStateInterface* aOwner,
-    MAknFepUICtrlContainerChinese* aUIContainer ):
-    TAknFepInputMiniQwertyStrokePhraseBase( aOwner, aUIContainer )
-    {
-    iState = ECandidate;
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    uiContainer->FocusCandidatePane( ETrue );
-    uiContainer->CandidatePane()->ShowCandidateOrdinals( ETrue );
-    uiContainer->CandidatePane()->SelectFirstPhrase();
-    if ( uiContainer->EditPaneWindow()->GetCandidateRefreshFlag() )
-        {
-        uiContainer->EditPaneWindow()->DisableCursor();
-        uiContainer->EditPaneWindow()->SetCandidateRefreshFlag( EFalse );
-        }
-    else
-        {
-        RefreshUI();
-        }
-    }
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCandidateMiniQwertyStrokePhrase::HandleKeyL
-// Handle system key press event.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepUiInputStateCandidateMiniQwertyStrokePhrase::HandleKeyL(
-    TInt aKey, TKeyPressLength aLength )
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    TInt selected = uiContainer->CandidatePane()->SelectedIndex();
-    TInt numbertotal = uiContainer->CandidatePane()->VisibleCandidateCount();
-    TBool ret = ETrue;
-
-    if ( iOwner->FepMan()->IsFlagSet( CAknFepManager::EFlagQwertyChrKeyDepressed )
-        || iOwner->FepMan()->IsFlagSet( CAknFepManager::EFlagShiftKeyDepressed ) )
-        {
-        iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-        return ETrue;
-        }
-
-    switch ( aKey )
-        {
-        case EStdKeyBackspace:
-            {
-            uiContainer->CandidatePane()->SetCandidateBuffer();
-            uiContainer->EditPaneWindow()->SetAutoChangeStateFlag( KManualChangeState );
-            uiContainer->EditPaneWindow()->SetChangeState( ETrue );
-            iOwner->ChangeState( EMiniQwertyEdit );
-            iOwner->FepMan()->UpdateCbaL( R_AKNFEP_SOFTKEYS_OK_SELECT_CANCEL );
-            }
-            break;
-        case EStdKeyLeftArrow:
-            {
-            if ( selected == 0 )
-                {
-                uiContainer->CandidatePane()->SelectIndex( numbertotal-1 );
-                }
-            else
-                {
-                uiContainer->CandidatePane()->SelectIndex( selected - 1 );
-                }
-            }
-            break;
-        case EStdKeyRightArrow:
-            {
-            if ( selected == numbertotal-1 )
-                {
-                uiContainer->CandidatePane()->SelectIndex( 0 );
-                }
-            else
-                {
-                uiContainer->CandidatePane()->SelectIndex( selected + 1 );
-                }
-            }
-            break;
-        case EStdKeyDownArrow:
-            {
-            ret = TAknFepInputStateCandidateQwertyBaseChinesePhrase::HandleKeyL( aKey, aLength );
-            }
-            break;
-        case EStdKeyUpArrow:
-            {
-            if ( uiContainer->CandidatePane()->IsFirstPage() )
-                {
-                uiContainer->EditPaneWindow()->SetAutoChangeStateFlag( KManualChangeState );
-                iOwner->ChangeState( EMiniQwertyEdit );
-                }
-            else
-                {
-                uiContainer->CandidatePane()->PreviousCandidatePage();
-                uiContainer->CandidatePane()->SetCandidateBuffer();
-                uiContainer->CandidatePane()->SelectFirstPhrase();
-                UpdateIndicator();
-                }
-            }
-            break;
-        case EStdKeyDevice0:
-        case EStdKeyDevice3:
-            {
-            TPtrC text = uiContainer->CandidatePane()->CurrentPhraseCandidate();
-            if ( text.Length() && aLength != ELongKeyPress )
-                {
-                if ( !CommitInlineEEPL( text ) )
-                    {
-                    DoActionAfterCommit();
-                    }
-                else
-                    {
-                    if ( CheckFirstGroupStroke() )
-                        {
-                        RefreshUI();
-                        uiContainer->CandidatePane()->SelectFirstPhrase();
-                        }
-                    else
-                        {
-                        uiContainer->EditPaneWindow()->SetAutoChangeStateFlag( EAutoChangeStateFromCandidate );
-                        iOwner->ChangeState( EMiniQwertyEdit );
-                        }
-                    }
-                }
-            }
-            break;
-        case EStdKeyEnter:
-        case EKeyLeftCtrl:
-        case EKeyRightCtrl:
-        case EKeyLeftShift:
-        case EStdKeySpace:
-            {
-            iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-            }
-            break;
-//        case EKeyRightShift:   // need to check later
-//            {
-//            return ret;
-//            }
-//            break;
-        default:
-            return TAknFepInputMiniQwertyStrokePhraseBase::HandleKeyL( aKey,
-                aLength );
-        }
-    return ret;
-    }
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEditingMiniQwertyStrokePhrase::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateEditingMiniQwertyStrokePhrase::HandleCommandL(
-    TInt aCommandId )
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer( );
-    switch ( aCommandId )
-        {
-        // Handle the event frome command.
-        case EAknSoftkeySelect:            
-            if ( !uiContainer->EditPaneWindow()->GetAutoChangeStateFlag( ) || uiContainer->EditPaneWindow()->PhraseArray()->Count( ) != 0 )
-                {
-                iOwner->FepMan()->PlaySound( EAvkonSIDStandardKeyClick );
-                }
-            else
-                {
-                iOwner->FepMan()->TryCloseUiL( );
-                }
-            break;
-        default:
-            TAknFepInputStateChineseBase::HandleCommandL( aCommandId );
-            break;
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEntryMiniQwertyStrokePhrase::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateEntryMiniQwertyStrokePhrase::HandleCommandL(
-    TInt aCommandId )
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    TPtrC text = uiContainer->CandidatePane()->CurrentPhraseCandidate();
-    switch ( aCommandId )
-        {
-        // Handle the event frome command.
-        case EAknSoftkeySelect:
-            if ( text.Length() )
-                {
-                if ( !CommitInlineEEPL( text ) )
-                    {
-                    DoActionAfterCommit();
-                    }
-                else
-                    {
-                    if ( CheckFirstGroupStroke() )
-                        {
-                        iOwner->ChangeState( ECandidate );
-                        }
-                    else
-                        {
-                        uiContainer->EditPaneWindow()->SetAutoChangeStateFlag(
-                            EAutoChangeStateFromInput );
-                        iOwner->ChangeState( EMiniQwertyEdit );
-                        }
-                    }
-                }
-            break;
-        default:
-            TAknFepInputStateChineseBase::HandleCommandL( aCommandId );
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepUiInputStateCandidateMiniQwertyStrokePhrase::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-void TAknFepUiInputStateCandidateMiniQwertyStrokePhrase::HandleCommandL(
-    TInt aCommandId )
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    TPtrC text = uiContainer->CandidatePane()->CurrentPhraseCandidate();
-    switch ( aCommandId )
-        {
-        // Handle the event frome command.
-        case EAknSoftkeySelect:
-            if ( text.Length() )
-                {
-                if ( !CommitInlineEEPL( text ) )
-                    {
-                    DoActionAfterCommit();
-                    }
-                else
-                    {
-                    if ( CheckFirstGroupStroke() )
-                        {
-                        RefreshUI();
-                        uiContainer->CandidatePane()->SelectFirstPhrase();
-                        }
-                    else
-                        {
-                        uiContainer->EditPaneWindow()->SetAutoChangeStateFlag(
-                            EAutoChangeStateFromCandidate );
-                        iOwner->ChangeState( EMiniQwertyEdit );
-                        }
-                    }
-                }
-            break;
-        default:
-            TAknFepInputStateChineseBase::HandleCommandL( aCommandId );
-            break;
-        }
-    }
--- a/fep/aknfep/src/aknfepuiinputstateminiqwertyzhuyinphrase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1296 +0,0 @@
-/*
-* Copyright (c) 2007 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:           
- *       Provides the  TAknFepInputStateEntryMiniQwertyZhuyinPhrase,
- *       TAknFepInputStateEditingMiniQwertyZhuyinPhrase,
- *       TAknFepUiInputStateCandidateMiniQwertyZhuyinPhrase methods.
- *
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// System includes
-#include <PtiEngine.h>  
-#include <PtiUserDicEntry.h>
-#include <aknnotewrappers.h> //CAknWarningNote
-#include <aknfep.rsg>  
-
-// User includes
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUICtrlInputPane.h"
-#include "aknfepuictrleditpane.h"           //phrase creation
-#include "AknFepUICtrlPinyinPopup.h"        //Pinyin phrase
-#include "AknFepUIManagerStateInterface.h"  
-#include "AknFepManager.h" 
-#include "aknfepuiinputstateminiqwertyzhuyinphrase.h"
-#include "aknfepinputstateminiqwertyzhuyinkeymap.h"
-
-const TInt KMaxKeystrokeCount = 31;
-const TInt KMaxKeystrokeSize = 130;
-const TInt KMaxPhraseLength = 7;
-const TInt KMinCandidateCount = 1;
-const TInt KKeystrokeMaxLength = 4;
-//const TInt KTonemarkCount = 5;
-
-const TUint16 KToneMark1 = 0x0020;
-const TUint16 KToneMark2 = 0x02CA;
-const TUint16 KToneMark3 = 0x02c7;
-const TUint16 KToneMark4 = 0x02CB;
-const TUint16 KToneMark5 = 0x02D9;
-
-_LIT(KLeftBracket, "(");
-_LIT(KRightBracket, ")");
-_LIT(KReplace, "");
-
-_LIT( KDelimiter, "'");
-struct TToneZhuYinMap
-    {
-    TUint16 iValue;
-    TInt iInputTone;
-    };
-const TToneZhuYinMap ZhuyinToneMap[] =
-    {
-        {KToneMark1, 1},
-        {KToneMark2, 2},
-        {KToneMark3, 3},
-        {KToneMark4, 4},
-        {KToneMark5, 5}
-    };
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEditingMiniQwertyZhuyinPhrase::TAknFepInputStateEditingMiniQwertyZhuyinPhrase
-// C++ default constructor
-// ---------------------------------------------------------------------------
-//
-TAknFepInputStateEditingMiniQwertyZhuyinPhrase::TAknFepInputStateEditingMiniQwertyZhuyinPhrase(
-    MAknFepUIManagerStateInterface* aOwner,
-    MAknFepUICtrlContainerChinese* aUIContainer ) :
-    TAknFepInputMiniQwertyZhuyinPhraseBase( aOwner, aUIContainer)
-    {
-    iState = EMiniQwertyEdit;
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    uiContainer->FocusCandidatePane( EFalse );
-    uiContainer->CandidatePane()->ShowCandidateOrdinals( EFalse );
-    uiContainer->SetLayout( MAknFepUICtrlContainerChinese::ELayoutPhraseCreation );
-    uiContainer->CandidatePane()->SelectFirstPhrase();
-    uiContainer->ShowVerticalScrollArrows( ETrue );
-    uiContainer->ShowHorizontalScrollArrows( EFalse );
-    uiContainer->InputPane()->SetOverrideFontId( 0 );
-    // in the case that we are coming back to the input pane from the candidate pane, 
-    // we need to ensure that the current selection is selected correctly
-    ImplicityShowInfo( ETrue );
-    // so that it could handle EKeyCBA1
-    iOwner->FepMan()->EntryPhrase( ETrue );
-    RefreshEditPane();
-    uiContainer->PinyinPopupWindow()->SetNoneHighlighted();
-    TRAP_IGNORE( ChangeCbaL() );
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEditingMiniQwertyZhuyinPhrase::HandleKeyL
-// Handle system key press event.
-// ---------------------------------------------------------------------------
-// 
-TBool TAknFepInputStateEditingMiniQwertyZhuyinPhrase::HandleKeyL( TInt aKey,
-    TKeyPressLength aLength )
-    {
-    TBool ret = ETrue;
-    TBool state = ETrue;
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-    MAknFepUICtrlEditPane* editPane = UIContainer()->EditPaneWindow();
-    CDesCArrayFlat* keystrokeArray = editPane->KeystrokeArray();
-    CDesCArrayFlat* phraseArray = editPane->PhraseArray();
-    
-    if ( iOwner->FepMan()->GetComposChrFlag() && aKey == EStdKeyLeftFunc )
-        {
-        iOwner->FepMan()->SetComposChrFlag( EFalse );
-        return ret;
-        }
-    
-    switch ( aKey )
-        {
-        case EStdKeyLeftShift:
-        case EStdKeyRightShift:
-        case EStdKeyLeftCtrl:
-        case EStdKeyRightCtrl:
-        case EStdKeyRightFunc://fn 
-        case EStdKeyLeftFunc: //chr key
-        case EStdKeyUpArrow:
-        case EKeyRightFunc:
-        case EKeyLeftFunc:
-            iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-            break;
-            //if the canidate is empty ,inactive;else candiniate selecting state
-        case EStdKeyDownArrow:
-            {
-            if ( 0 != candidatePane->VisibleCandidateCount() && phraseArray->Count() < 7 )
-                {
-                uiContainer->EditPaneWindow()->SetChangeState( ETrue );
-                iOwner->ChangeState( EZhuyinSpelling );
-                }
-            }
-            break;
-        case EStdKeyRightArrow:
-            MoveCursorRight();
-            break;
-        case EStdKeyLeftArrow:
-            MoveCursorLeft();
-            break;
-        case EStdKeyDevice1: //"cancle" key
-            iOwner->FepMan()->TryCloseUiL();
-            break;
-        case EStdKeyEnter:
-            CommitContentL( EFalse );
-            break;
-        case EStdKeyDevice0:
-        case EStdKeyDevice3:
-        	
-            if ( editPane->IsChangeState() && aLength == ELongKeyPress )
-                {
-                state = EFalse;
-                }
-            else
-                {
-                editPane->SetChangeState( EFalse );
-                }
-            if ( state )
-                {
-                HandleCommitL();
-                }
-            break;
-        case EStdKeyBackspace:
-            {
-            if ( editPane->IsChangeState() && aLength == ELongKeyPress )
-                {
-                state = EFalse;
-                }
-            else
-                {
-                editPane->SetChangeState( EFalse );
-                }
-            if ( state )
-                {
-                HandleKeyBackspaceL( aLength );
-                }
-            }
-            break;
-        default:
-            {
-            if ( aLength == EShortKeyPress && keystrokeArray->Count() < KMaxKeystrokeCount && 
-                !iOwner->FepMan()->IsFlagSet( CAknFepManager::EFlagQwertyChrKeyDepressed ) && 
-                phraseArray->Count() < KMaxPhraseLength &&
-                ( iOwner->IsValidChineseInputKeyQwerty( aKey ) || aKey == EStdKeySpace ) )
-                {
-                AddKeystrokeL( aKey );
-                RefreshUI();
-                ShowEEPInfo();
-                ChangeCbaL();
-                }
-            else
-                {
-                iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-                }
-            }
-            break;
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEditingMiniQwertyZhuyinPhrase::AddKeystrokeL
-// Add key stroke.
-// ---------------------------------------------------------------------------
-// 
-TBool TAknFepInputStateEditingMiniQwertyZhuyinPhrase::AddKeystrokeL( TInt aKey )
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* keystrokeArray = editPane->KeystrokeArray();
-    RArray<TInt>* keycodeArray = editPane->KeycodeArray();
-    TInt phraseCount = editPane->PhraseArray()->Count();
-    TInt showKeystrokeCount = editPane->ShowKeystrokeArray()->Count();
-    TInt index = editPane->GetCursorIndexOfKeystroke();
-
-    if ( phraseCount + showKeystrokeCount >= KMaxKeystrokeCount - 1 )
-        {
-        return EFalse;
-        }
-    TBuf<KKeystrokeMaxLength> keystroke;
-    
-    TAknFepInputStateMiniQwertyZhuyinKeyMap::GetKeyStroke(
-            iOwner->PtiEngine(), aKey, keystroke );
-    
-    if ( index >= keystrokeArray->Count() )
-        {
-        keycodeArray->Append( aKey );
-        keystrokeArray->AppendL( keystroke );
-        editPane->SetCursorIndexOfKeystroke( keystrokeArray->Count() );
-        }
-    else
-        {
-        keycodeArray->Insert( aKey, index );
-        keystrokeArray->InsertL( index, keystroke );
-        editPane->SetCursorIndexOfKeystroke( index + 1 );
-        }
-    editPane->SetNeedClearDeliberateSelection( ETrue );
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputStateEditingMiniQwertyZhuyinPhrase::RevertPhraseToKeystrokeL
-// Revert the phrase to keystroke.
-// ---------------------------------------------------------
-//
-void TAknFepInputStateEditingMiniQwertyZhuyinPhrase::RevertPhraseToKeystrokeL()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* keystrokeArray = editPane->KeystrokeArray();
-    CDesCArrayFlat* phrase = editPane->PhraseArray();
-    RArray<TInt>* keycodeArray = editPane->KeycodeArray();
-    RArray<TInt>* phraseKeycode = editPane->PhraseKeycodeArray();
-    CDesCArrayFlat* phraseStroke = editPane->PhraseShowKeyStrokeArray();
-    TBuf<KMaxKeystrokeCount> buf;
-
-    if ( (phrase->Count() == 0 ) || (phraseStroke->Count() == 0 ) )
-        {
-        return;
-        }
-    
-    buf.Append( phraseStroke->MdcaPoint( phraseStroke->Count() - 1 ) );
-    
-    TInt insertIndex = 0;
-    while ( buf.Length() != 0 )
-        {
-        TBuf<KKeystrokeMaxLength> strokeBuf;
-        TInt index = buf.Find( KRightBracket );
-        if ( index != KErrNotFound )
-            {
-            strokeBuf.Copy( buf.Left( index + 1 ) );
-            keystrokeArray->InsertL( insertIndex, strokeBuf );
-            buf.Replace( 0, index + 1, KNullDesC );
-            }
-        else
-            {
-            keystrokeArray->InsertL( insertIndex, buf );
-            insertIndex = insertIndex + 1;
-            break;
-            }
-        insertIndex = insertIndex + 1;
-        }
-    phrase->Delete( phrase->Count() - 1 );
-    phraseStroke->Delete( phraseStroke->Count() - 1 );
-    
-    if ( insertIndex > phraseKeycode->Count() )
-        {
-        insertIndex = keycodeArray->Count();
-        }
-    
-    for ( TInt i = 0; i < insertIndex ; ++i )
-        {
-        keycodeArray->Insert( (*phraseKeycode)[phraseKeycode->Count() - 1 ],0 );
-        phraseKeycode->Remove( phraseKeycode->Count() - 1 );
-        }
-    
-    TInt keystrokeCount = keystrokeArray->Count();
-    TInt lenth = phrase->Count() + keystrokeCount;
-    TInt deleteCount = lenth - KMaxKeystrokeCount;
-
-    for (TInt i = 0; i < deleteCount; ++i )
-        {
-        keycodeArray->Remove( keycodeArray->Count() - 1 );
-        keystrokeArray->Delete( keystrokeArray->Count() - 1 );
-        }
-    editPane->SetCursorIndexOfKeystroke( insertIndex );
-    keystrokeArray->Compress();
-    phrase->Compress();
-    phraseStroke->Compress();
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputStateEditingMiniQwertyZhuyinPhrase::AddPhraseToDB
-// Add phrase to DB.
-// ---------------------------------------------------------
-//
-void TAknFepInputStateEditingMiniQwertyZhuyinPhrase::AddPhraseToDB(
-    const TDesC& aPhraseAdd )
-    {
-    TPtiUserDictionaryEntry addUdbEntry(aPhraseAdd);
-    //Add the phrase to the DB by PTI Engine
-    iOwner->PtiEngine()->AddUserDictionaryEntry( addUdbEntry );
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputStateEditingMiniQwertyZhuyinPhrase::MoveCursorLeft
-// Move the cursor to Left.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputStateEditingMiniQwertyZhuyinPhrase::MoveCursorLeft()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* keyStrokeArray = editPane->KeystrokeArray();
-    TInt keystrokeCount = keyStrokeArray->Count();
-    TInt index = editPane->GetCursorIndexOfKeystroke();
-    TInt phraseCount = editPane->PhraseArray()->Count();
-
-    if ( EMiniQwertyEdit != iState )
-        {
-        return EFalse;
-        }
-    if ( 0 == keystrokeCount )
-        {
-        return EFalse;
-        }
-
-    if ( 0 == index )
-        {
-        editPane->SetCursorIndexOfKeystroke( keystrokeCount );
-        ShowEEPInfo();
-        }
-    else if ( phraseCount > 0 && 1 == index )
-        {
-        editPane->SetCursorIndexOfKeystroke( 0 );
-        ShowEEPInfo();
-        }
-    else
-        {
-        TInt stride = keyStrokeArray->MdcaPoint( index - 1 ).Length();
-        editPane->MoveCursorLeft( stride );
-        editPane->SetCursorIndexOfKeystroke( index - 1 );
-        }
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputStateEditingMiniQwertyZhuyinPhrase::MoveCursorRight
-// Move the cursor to Right.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputStateEditingMiniQwertyZhuyinPhrase::MoveCursorRight()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* keystroke = editPane->KeystrokeArray();
-    TInt keystrokeCount = keystroke->Count();
-    TInt index = editPane->GetCursorIndexOfKeystroke();
-
-    if ( EMiniQwertyEdit != iState )
-        {
-        return EFalse;
-        }
-    if ( 0 == keystrokeCount )
-        {
-        return EFalse;
-        }
-    if ( index >= keystrokeCount )
-        {
-        editPane->SetCursorIndexOfKeystroke( 0 );
-        ShowEEPInfo();
-        }
-    else
-        {
-        TInt stride = editPane->KeystrokeArray()->MdcaPoint( index ).Length();
-        editPane->MoveCursorRight( stride );
-        editPane->SetCursorIndexOfKeystroke( index + 1 );
-        }
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputStateEditingMiniQwertyZhuyinPhrase::HandleKeyBackspace
-// Handle Key Backspace
-// ---------------------------------------------------------
-//
-void TAknFepInputStateEditingMiniQwertyZhuyinPhrase::HandleKeyBackspaceL( 
-                                                     TKeyPressLength aLength )
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-
-    CDesCArrayFlat* keyStrokeArray = editPane->KeystrokeArray();
-    RArray<TInt>* keycodeArray = editPane->KeycodeArray();
-    TInt keystrokeCount = keyStrokeArray->Count();
-    TInt phraseCount = editPane->PhraseArray()->Count();
-
-    TInt cursorOfkeystrokeIndex = editPane->GetCursorIndexOfKeystroke();
-
-    if ( 1 == cursorOfkeystrokeIndex )
-        {
-        editPane->Reset();
-        }
-    
-    if ( cursorOfkeystrokeIndex > 0 && 
-        ( keystrokeCount > 1 || phraseCount > 0 ) )
-        {
-        keycodeArray->Remove( cursorOfkeystrokeIndex - 1 );
-        keyStrokeArray->Delete( cursorOfkeystrokeIndex - 1 );
-        editPane->SetCursorIndexOfKeystroke( cursorOfkeystrokeIndex - 1 );
-        }
-    else if ( phraseCount > 0 && 0 == cursorOfkeystrokeIndex )
-        {
-        RevertPhraseToKeystrokeL();
-        }
-    else if ( 1 == cursorOfkeystrokeIndex )
-        {
-        iOwner->FepMan()->TryCloseUiL();
-        if ( aLength == ELongKeyPress )
-            {
-            iOwner->FepMan()->SetLongClearAfterCloseUI( ETrue );
-            }
-        return;
-        }
-    else
-        {
-        return;
-        }
-    editPane->SetNeedClearDeliberateSelection( ETrue );
-    RefreshUI();
-    ShowEEPInfo();
-    ChangeCbaL();
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputStateEditingMiniQwertyZhuyinPhrase::CommitContentL
-// Commit content
-// ---------------------------------------------------------
-//
-void TAknFepInputStateEditingMiniQwertyZhuyinPhrase::CommitContentL(
-    TBool aAddUDB )
-    {
-    TBuf<KMaxKeystrokeSize> currentText;
-    MAknFepManagerUIInterface* fepMan = iOwner->FepMan();
-    MAknFepUICtrlEditPane* editpane = UIContainer()->EditPaneWindow();
-    CDesCArrayFlat* phraseArray = editpane->PhraseArray();
-    CDesCArrayFlat* keystrokeArray = editpane->KeystrokeArray();
-    TInt phraseCount = phraseArray->Count();
-    TInt keyStrokeCount = keystrokeArray->Count();
-
-    for (TInt i = 0; i < phraseCount; i++ )
-        {
-        currentText.Append( phraseArray->MdcaPoint( i ) );
-        }
-    for (TInt i = 0; i < keyStrokeCount; i++ )
-        {
-        currentText.Append( keystrokeArray->MdcaPoint( i ) );
-        }
-
-    if ( currentText.Length() )
-        {
-        while (currentText.Find( KLeftBracket ) >= 0 )
-            {
-            currentText.Replace( currentText.Find( KLeftBracket ), 1,
-                KReplace );
-            }
-        while (currentText.Find( KRightBracket ) > 0 )
-            {
-            currentText.Replace( currentText.Find( KRightBracket ), 1,
-                KReplace );
-            }
-        fepMan->NewTextL( currentText );
-        fepMan->CommitInlineEditL();
-        }
-    UIContainer()->EditPaneWindow()->ResetAllArray();
-    UIContainer()->EditPaneWindow()->SetPhraseCreationFlag( EFalse );
-    if ( fepMan->IsFlagSet( CAknFepManager::EFlagEditorFull ) )
-        {
-        fepMan->ClearFlag( CAknFepManager::EFlagEditorFull );
-        }
-    if ( aAddUDB )
-        {
-        AddPhraseToDB( currentText );
-        }
-    fepMan->TryCloseUiL();
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputStateEditingMiniQwertyZhuyinPhrase::HandleCommitL
-// Handle commit action
-// ---------------------------------------------------------
-//
-void TAknFepInputStateEditingMiniQwertyZhuyinPhrase::HandleCommitL()
-    {
-    TBuf<KMaxKeystrokeSize> currentText;
-    MAknFepUICtrlEditPane* editpane = UIContainer()->EditPaneWindow();
-    MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-    CDesCArrayFlat* phraseArray = editpane->PhraseArray();
-    CDesCArrayFlat* keystrokeArray = editpane->KeystrokeArray();
-    TInt phraseCount = phraseArray->Count();
-    TInt keyStrokeCount = keystrokeArray->Count();
-
-    if ( 0 == candidatePane->VisibleCandidateCount() && ( 1 == phraseCount
-        || keyStrokeCount > 0 ) )
-        {
-        return;
-        }
-    if ( 0 != candidatePane->VisibleCandidateCount() && phraseCount < KMaxPhraseLength )
-        {
-        UIContainer()->EditPaneWindow()->SetChangeState( ETrue );
-        iOwner->ChangeState( EZhuyinSpelling );
-        return;
-        }
-    CommitContentL( ETrue );
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputStateEditingMiniQwertyZhuyinPhrase::RefreshUI
-// Refresh UI if necessary
-// ---------------------------------------------------------
-//
-void TAknFepInputStateEditingMiniQwertyZhuyinPhrase::RefreshUI()
-    {
-    MAknFepUICtrlEditPane* editpane = UIContainer()->EditPaneWindow();
-    MAknFepUICtrlPinyinPopup* popup = UIContainer()->PinyinPopupWindow();
-    CDesCArrayFlat* showKeystroke = editpane->ShowKeystrokeArray();
-    TBuf<KMaxKeystrokeCount> preValidKeystroke;
-    TInt preValidKeystrokeCount = showKeystroke->Count();
-    for (TInt i=0; i < preValidKeystrokeCount; i++ )
-        {
-        preValidKeystroke.Append( showKeystroke->MdcaPoint( i ) );
-        }
-    GetValidKeystroke();
-    TBuf<KMaxKeystrokeCount> validKeystroke;
-    TInt validKeystrokeCount = showKeystroke->Count();
-    for (TInt i=0; i < validKeystrokeCount; i++ )
-        {
-        validKeystroke.Append( showKeystroke->MdcaPoint( i ) );
-        }
-    if ( preValidKeystroke.Compare( validKeystroke ) != 0 )
-        {
-        RefreshSpellingPane( ETrue );
-        RefreshCandidatePane();
-        }
-    else if ( popup->CurrentSelection() != 0 )
-        {
-        RefreshCandidatePane();
-        }
-    UpdateIndicator();
-    }
-
-// ---------------------------------------------------------
-// Init the show info
-// ---------------------------------------------------------
-//
-void TAknFepInputStateEditingMiniQwertyZhuyinPhrase::ImplicityShowInfo(
-    TBool aGetScreenCoordinates )
-    {
-    TRAP_IGNORE( ImplicityShowInfoL( aGetScreenCoordinates ) );
-    }
-
-// ---------------------------------------------------------
-// Init the show info
-// ---------------------------------------------------------
-//
-void TAknFepInputStateEditingMiniQwertyZhuyinPhrase::ImplicityShowInfoL(
-    TBool aGetScreenCoordinates )
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    // get cursor position
-    TPoint baseLine = TPoint( 0, 0 );
-    TInt height = 0;
-    TInt ascent = 0;
-    if ( aGetScreenCoordinates )
-        {
-        iOwner->FepMan()->GetScreenCoordinatesL( baseLine, height, ascent );
-        uiContainer->SetContainerPosition( baseLine, height );
-        }
-    editPane->ActiveCursor();
-    }
-
-// ---------------------------------------------------------
-// Init the show info
-// ---------------------------------------------------------
-//
-void TAknFepInputStateEditingMiniQwertyZhuyinPhrase::ShowEEPInfo()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* keystroke = editPane->KeystrokeArray();
-    CDesCArrayFlat* phrase = editPane->PhraseArray();
-    TInt index = editPane->GetCursorIndexOfKeystroke();
-    TInt cursorPosInKeystroke = 0;
-
-    TBuf<KMaxKeystrokeSize> buf;
-
-    for (TInt i = 0; i < phrase->Count(); ++i )
-        {
-        buf.Append( phrase->MdcaPoint( i ) );
-        }
-
-    for (TInt i = 0; i < keystroke->Count(); ++i )
-        {
-        buf.Append( keystroke->MdcaPoint( i ) );
-        }
-
-    for (TInt i = 0; i < index; ++i )
-        {
-        cursorPosInKeystroke = cursorPosInKeystroke + keystroke->MdcaPoint( i ).Length();
-        }
-
-    editPane->SetText( buf, phrase->Count() + cursorPosInKeystroke, ETrue );
-    if ( editPane->GetEffictiveLength() == 0 )
-        {
-        editPane->SetHighlight( phrase->Count(), buf.Length() );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateSpellingMiniQwertyZhuyin::TAknFepInputStateSpellingMiniQwertyZhuyin
-// C++ default constructor
-// ---------------------------------------------------------------------------
-//
-TAknFepInputStateSpellingMiniQwertyZhuyin::TAknFepInputStateSpellingMiniQwertyZhuyin(
-    MAknFepUIManagerStateInterface* aOwner,
-    MAknFepUICtrlContainerChinese* aUIContainer ) :
-    TAknFepInputMiniQwertyZhuyinPhraseBase( aOwner, aUIContainer)
-    {
-    iState = EZhuyinSpelling;
-
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    uiContainer->FocusCandidatePane( EFalse );
-    uiContainer->CandidatePane()->ShowCandidateOrdinals( EFalse );
-    uiContainer->CandidatePane()->SelectFirstPhrase();
-    uiContainer->ShowVerticalScrollArrows( ETrue );
-    uiContainer->ShowHorizontalScrollArrows( EFalse );
-    uiContainer->InputPane()->SetOverrideFontId( 0 );
-    uiContainer->SetLayout( MAknFepUICtrlContainerChinese::ELayoutPhraseCreation );
-    uiContainer->EditPaneWindow()->DeactiveCursor();
-    RefreshUI();
-    // however we also need to clear the deliberate selection, in case we are not
-    // coming back to the input pane from the candidate pane
-    ClearDeliberateSelection();
-    UpdateIndicator();
-
-    iOwner->PtiEngine()->SetInputMode( EPtiEngineZhuyinPhraseQwerty );
-    iOwner->PtiEngine()->SetCase( EPtiCaseLower );
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateSpellingMiniQwertyZhuyin::HandleKeyL
-// Handle system key press event.
-// ---------------------------------------------------------------------------
-// 
-TBool TAknFepInputStateSpellingMiniQwertyZhuyin::HandleKeyL( TInt aKey,
-    TKeyPressLength aLength )
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    TBool ret = ETrue;
-
-    if ( CAknFepFnKeyManager::EFnKeyNext == iOwner->FepMan()->FnKeyState() || CAknFepFnKeyManager::EFnKeyLock
-        == iOwner->FepMan()->FnKeyState() || CAknFepFnKeyManager::EFnKeyDown
-        == iOwner->FepMan()->FnKeyState() )
-        {
-        iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-        return ETrue;
-        }
-    else if ( iOwner->FepMan()->IsFlagSet( CAknFepManager::EFlagShiftKeyDepressed )
-        || iOwner->FepMan()->IsFlagSet( CAknFepManager::EFlagQwertyChrKeyDepressed ) )
-        {
-        return ETrue;
-        }
-
-    switch ( aKey )
-        {
-        case EPtiKeyQwertyE:
-        case EPtiKeyQwertyR:
-        case EPtiKeyQwertyY:
-        case EPtiKeyQwertyU:
-        case EStdKeyLeftFunc:
-            {
-            if ( aLength == EShortKeyPress )
-                {
-                iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-                }
-            }
-            break;
-        case EKeyRightFunc:
-        case EKeyLeftShift:
-        case EKeyLeftCtrl:
-        case EKeyRightCtrl:
-        case EStdKeyEnter:
-            {
-            iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-            }
-            break;
-        case EStdKeyBackspace:
-        case EStdKeyUpArrow:
-            {
-            TBool state = ETrue;
-            if ( editPane->IsChangeState() && aLength == ELongKeyPress )
-                {
-                state = EFalse;
-                }
-            else
-                {
-                editPane->SetChangeState( EFalse );
-                }
-            if ( state )
-                {
-                editPane->SetChangeState( ETrue );
-                iOwner->ChangeState( EMiniQwertyEdit );
-                }
-            }
-            break;
-        case EStdKeyDevice1:
-            {
-            iOwner->FepMan()->TryCloseUiL();
-            }
-            break;
-        case EStdKeyRightArrow:
-            {
-            if ( popup->IsEnabled() )
-                {
-                if ( popup->SelectNextPhrase() )
-                    {
-                    RefreshVaildKeyStroke();
-                    RefreshCandidatePane();
-                    RefreshSpellingPane();
-                    RefreshEditPane();
-                    UpdateIndicator();
-                    }
-                }
-            }
-            break;
-        case EStdKeyLeftArrow:
-            {
-            if ( popup->IsEnabled() )
-                {
-                if ( popup->SelectPrevPhrase() )
-                    {
-                    RefreshVaildKeyStroke();
-                    RefreshCandidatePane();
-                    RefreshSpellingPane();
-                    RefreshEditPane();
-                    UpdateIndicator();
-                    }
-                }
-            }
-            break;
-        case EStdKeyDownArrow:
-        case EStdKeyDevice3:
-        case EStdKeyDevice0:
-            {
-            TBool state = ETrue;
-            if ( editPane->IsChangeState() && aLength == ELongKeyPress )
-                {
-                state = EFalse;
-                }
-            else
-                {
-                editPane->SetChangeState( EFalse );
-                }
-            if ( state )
-                {
-                if ( popup->IsEnabled() )
-                    {
-                    popup->Enable( EFalse );
-                    }
-                editPane->SetChangeState( ETrue );
-                iOwner->ChangeState( EZhuyinCandidate );
-                }
-            }
-            break;
-        default:
-            {
-            iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-            return TAknFepInputMiniQwertyZhuyinPhraseBase::HandleKeyL(
-                aKey, aLength );
-            }
-//            break;
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputStateSpellingMiniQwertyZhuyin::RefreshUI
-// Refresh UI if necessary
-// ---------------------------------------------------------
-//
-void TAknFepInputStateSpellingMiniQwertyZhuyin::RefreshUI()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    // get cursor position
-    TPoint baseLine = TPoint( 0, 0 );
-    TInt height = 0;
-    TInt ascent = 0;
-
-    TRAPD(ret,iOwner->FepMan()->GetScreenCoordinatesL(baseLine,height,ascent));
-    if ( ret == KErrNone )
-        {
-        uiContainer->SetContainerPosition( baseLine, height );
-        }
-    
-    GetValidKeystroke( );
-    TBool needClearDeliberateSelection = editPane->NeedClearDeliberateSelection();
-    if ( needClearDeliberateSelection )
-        {
-        editPane->SetNeedClearDeliberateSelection( EFalse );
-        }
-    else
-        {
-        RefreshVaildKeyStroke();
-        }
-    RefreshEditPane();
-    RefreshCandidatePane( needClearDeliberateSelection );
-    RefreshSpellingPane( needClearDeliberateSelection );
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputStateSpellingMiniQwertyZhuyin::RefreshUI
-// Refresh vaild key stroke length
-// ---------------------------------------------------------
-//
-void TAknFepInputStateSpellingMiniQwertyZhuyin::RefreshVaildKeyStroke()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    CDesCArrayFlat* spelling = popup->PhoneticSpellingArray();
-    TInt currentSel = popup->CurrentSelection();
-    if ( currentSel >= spelling->Count() )
-        {
-        currentSel = 0;
-        }
-    TPtrC ptr = spelling->MdcaPoint( currentSel );
-    TInt currentLength = ptr.Length();
-    editPane->SetEffictiveLength( currentLength );
-    }
-// ---------------------------------------------------------------------------
-// TAknFepInputStateCanindateSelectingMiniQwertyZhuyin::TAknFepInputStateCanindateSelectingMiniQwertyZhuyin
-// C++ default constructor
-// ---------------------------------------------------------------------------
-//
-TAknFepInputStateCanindateSelectingMiniQwertyZhuyin::TAknFepInputStateCanindateSelectingMiniQwertyZhuyin(
-    MAknFepUIManagerStateInterface* aOwner,
-    MAknFepUICtrlContainerChinese* aUIContainer ) :
-    TAknFepInputMiniQwertyZhuyinPhraseBase( aOwner, aUIContainer)
-    {
-    iState = EZhuyinCandidate;
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-
-    TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() && uiContainer->CandidatePane()->IsFirstPage());
-    TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength
-        > KMinCandidateCount;
-
-    uiContainer->ShowHorizontalScrollArrows( showHorizontalScrollArrows );
-    uiContainer->ShowVerticalScrollArrows( multiplePages );
-    uiContainer->FocusCandidatePane( ETrue );
-    uiContainer->CandidatePane()->ShowCandidateOrdinals( ETrue );
-    uiContainer->CandidatePane()->SelectFirstPhrase();
-    UpdateIndicator();
-    }
-// ---------------------------------------------------------------------------
-// TAknFepInputStateCanindateSelectingMiniQwertyZhuyin::HandleKeyL
-// Handle system key press event.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputStateCanindateSelectingMiniQwertyZhuyin::HandleKeyL(
-    TInt aKey, TKeyPressLength aLength )
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    TInt selected = uiContainer->CandidatePane()->SelectedIndex();
-    TInt numbertotal = uiContainer->CandidatePane()->VisibleCandidateCount();
-    TBool ret = ETrue;
-
-    if (iOwner->FepMan()->GetComposChrFlag() )
-        {
-        iOwner->FepMan()->SetComposChrFlag(EFalse);
-        return ETrue;
-        }
-    switch ( aKey )
-        {
-        case EStdKeySpace:
-        case EStdKeyEnter:
-            {
-            iOwner->FepMan()->PlaySound( EAvkonSIDDefaultSound );
-            }
-            break;
-        case EStdKeyLeftArrow:
-            {
-            if ( selected == 0 )
-                {
-                UIContainer()->CandidatePane()->SelectIndex( numbertotal-1 );
-                }
-            else
-                {
-                UIContainer()->CandidatePane()->SelectIndex( selected - 1 );
-                }
-            }
-            break;
-        case EStdKeyRightArrow:
-            {
-            if ( selected == numbertotal-1 )
-                {
-                UIContainer()->CandidatePane()->SelectIndex( 0 );
-                }
-            else
-                {
-                UIContainer()->CandidatePane()->SelectIndex( selected + 1 );
-                }
-            break;
-            }
-        case EStdKeyDevice1: // cancel key
-            {
-            iOwner->FepMan()->TryCloseUiL();
-            break;
-            }
-        case EStdKeyUpArrow:
-            {
-            if ( uiContainer->CandidatePane()->IsFirstPage() ) // same as the backspace
-                {
-                editPane->SetChangeState( ETrue );
-                iOwner->ChangeState( EZhuyinSpelling );
-                }
-            else // just move to the last page 
-                {
-                uiContainer->CandidatePane()->PreviousCandidatePage();
-                uiContainer->CandidatePane()->SetCandidateBuffer();
-                uiContainer->CandidatePane()->SelectFirstPhrase();
-                UpdateIndicator();
-                }
-            break;
-            }
-        case EStdKeyDownArrow:
-            {
-            ret = TAknFepInputStateCandidateQwertyBaseChinesePhrase::HandleKeyL( aKey, aLength );
-            }
-            break;
-        case EStdKeyBackspace: // 
-            {
-            TBool state = ETrue;
-            if ( editPane->IsChangeState() && aLength == ELongKeyPress )
-                {
-                state = EFalse;
-                }
-            else
-                {
-                editPane->SetChangeState( EFalse );
-                }
-            if ( state )
-                {
-                editPane->SetChangeState( ETrue );
-                iOwner->ChangeState( EZhuyinSpelling );
-                }
-            }
-            break;
-        case EStdKeyDevice0: //commit to editor
-        case EStdKeyDevice3:
-            {
-            TBool state = ETrue;
-            if ( editPane->IsChangeState() && aLength == ELongKeyPress )
-                {
-                state = EFalse;
-                }
-            else
-                {
-                editPane->SetChangeState( EFalse );
-                }
-            if ( state )
-                {
-                editPane->SetNeedClearDeliberateSelection( ETrue );
-                CommitCandidateL();
-                }
-            }
-            break;
-        default:
-            if (iOwner->FepMan()->IsFlagSet(CAknFepManager::EFlagQwertyChrKeyDepressed))
-                {
-                iOwner->FepMan()->PlaySound(EAvkonSIDDefaultSound);
-                break;
-                }
-            if ( SelectCandidate( aKey ) ) // is 1-6 key 
-                {
-                editPane->SetNeedClearDeliberateSelection( ETrue );
-                CommitCandidateL();
-                }
-            else
-                {
-                return TAknFepInputMiniQwertyZhuyinPhraseBase::HandleKeyL(
-                    aKey, aLength );
-                }
-            break;
-        }
-    return ret;
-    }
-// ---------------------------------------------------------------------------
-// TAknFepInputStateCanindateSelectingMiniQwertyZhuyin::CommitCandidate
-// commint the charater to the editor pane 
-// ---------------------------------------------------------------------------
-
-TInt TAknFepInputStateCanindateSelectingMiniQwertyZhuyin::GetIndexOfToneMark( const TDesC& aText)
-    {
-    TInt indexOfToneMark = -1;
-    TInt num = sizeof(ZhuyinToneMap )/( sizeof(ZhuyinToneMap[0]));
-    TInt len = aText.Length();
-    for( TInt j = 0; j< len ;j++ )
-        {
-        indexOfToneMark = j;
-        TBuf<1> keyStorkeBuf = aText.Mid( j ,1 );
-        for (TInt i = 0; i<num; i++ )
-            {
-            if (  keyStorkeBuf[0] == ZhuyinToneMap[i].iValue  )
-                {
-                return indexOfToneMark;
-                }
-            }
-        }
-    return -1;
-    }
-// ---------------------------------------------------------------------------
-// TAknFepInputStateCanindateSelectingMiniQwertyZhuyin::CommitCandidate
-// commint the charater to the editor pane 
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateCanindateSelectingMiniQwertyZhuyin::CommitCandidateL()
-    {
-    CDesCArrayFlat* keyStrokeArray = UIContainer()->EditPaneWindow()->KeystrokeArray();
-    CDesCArrayFlat* phraseKeyStrokeArray = UIContainer()->EditPaneWindow()->PhraseShowKeyStrokeArray();
-    CDesCArrayFlat* phraseArray = UIContainer()->EditPaneWindow()->PhraseArray();
-    TPtrC candidate = UIContainer()->CandidatePane()->CurrentPhraseCandidate();
-    
-    RArray<TInt>* keyCodeArray = UIContainer()->EditPaneWindow()->KeycodeArray();
-    RArray<TInt>* keyCodePhraseArray = UIContainer()->EditPaneWindow()->PhraseKeycodeArray();
-    TBuf<KMaxKeystrokeCount> spellingText;
-    UIContainer()->InputPane()->GetText( spellingText );
-    phraseArray->AppendL( candidate );
-    TBuf<KMaxKeystrokeCount> keyStoke;
-    TInt replaceCount = 0;
-    TInt delimiterIndex = spellingText.Find( KDelimiter );
-    if ( KErrNotFound ==delimiterIndex )
-        {
-        delimiterIndex = -1;
-        }
-    TInt indexOfToneMark = GetIndexOfToneMark( spellingText );
-    if ( delimiterIndex != KErrNotFound && indexOfToneMark >= 0 )
-        {
-        replaceCount = Min( delimiterIndex, indexOfToneMark );
-        if ( delimiterIndex > indexOfToneMark )
-            {
-            replaceCount++;
-            }
-        }
-    else if ( delimiterIndex != KErrNotFound && indexOfToneMark == -1 )
-        {
-        replaceCount = delimiterIndex;
-        }
-    else if ( delimiterIndex == KErrNotFound && indexOfToneMark != -1 )
-        {
-        replaceCount = indexOfToneMark + 1;
-        }
-    else
-        {
-        replaceCount = spellingText.Length();
-        } 
-    for (TInt i = 0; i < replaceCount; i++ )
-        {
-        TPtrC ptr = keyStrokeArray->MdcaPoint( 0 );
-        keyStoke.Append( ptr );
-        keyStrokeArray->Delete( 0 );
-        // added for the keycode
-        TInt keyCodeValue = ( *keyCodeArray )[0];
-        keyCodePhraseArray->AppendL( keyCodeValue );
-        keyCodeArray->Remove( 0 );
-        }
-    phraseKeyStrokeArray->AppendL( keyStoke );
-
-    if ( GetValidKeystroke() )
-        {
-        iOwner->ChangeState( EZhuyinSpelling );
-        }
-    else
-        {
-        iOwner->ChangeState( EMiniQwertyEdit );
-        }
-    UIContainer()->EditPaneWindow()->SetChangeState(ETrue);
-    RefreshSpellingPane();
-    RefreshCandidatePane();
-    ChangeCbaL();
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateCanindateSelectingMiniQwertyZhuyin::CommitCandidate
-// to check the select number is valid or not 
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputStateCanindateSelectingMiniQwertyZhuyin::SelectCandidate(
-    TInt aKey )
-    {
-    TInt index = 0;
-    MPtiLanguage *lang= NULL;
-    RArray <TPtiNumericKeyBinding> keybinding;
-    TBool validnumkey = EFalse;
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    TPtiKeyboardType keyboardtype = iOwner->FepMan()->KeyboardLayout();
-    
-    if( ptiengine != NULL )
-        {
-        lang = ptiengine->CurrentLanguage();
-        }
-    if ( ptiengine && lang  )
-        {
-        TRAP_IGNORE(ptiengine->GetNumericModeKeysForQwertyL(lang->LanguageCode(), keybinding, keyboardtype));
-        TInt numericKeysCount = keybinding.Count();
-        while (numericKeysCount-- )
-            {
-            TPtiNumericKeyBinding numKeyBind = keybinding[numericKeysCount];
-            if ( (numKeyBind.iChar >= 0x31 && numKeyBind.iChar <= 0x36)
-                &&(aKey == numKeyBind.iKey) )
-                {
-                index = numKeyBind.iChar - EPtiKey0 -1;
-                if ( UIContainer()->CandidatePane()->SelectIndex( index, EFalse ) )
-                    {
-                    validnumkey = ETrue;
-                    }
-                break;
-                }
-            }
-        }
-    keybinding.Reset();
-    return validnumkey;
-    }
-// ---------------------------------------------------------------------------
-// TAknFepInputStateEditingMiniQwertyZhuyinPhrase::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateEditingMiniQwertyZhuyinPhrase::HandleCommandL(
-    TInt aCommandId )
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlCandidatePane* candidatePane =
-        UIContainer()->CandidatePane();
-    MAknFepUICtrlEditPane* editPane = UIContainer()->EditPaneWindow();
-    TBool state = ETrue;
-    switch ( aCommandId )
-        {
-        // Handle the event frome command.
-        case EAknSoftkeySelect:
-            //case (TUint16)EAknSoftkeySelect: //the Selected in soft CBA
-            if ( editPane->IsChangeState() )
-                {
-                state = EFalse;
-                }
-            else
-                {
-                editPane->SetChangeState( EFalse );
-                }
-            if ( state )
-                {
-                HandleCommitL();
-                }
-            break;
-        default:
-            TAknFepInputStateChineseBase::HandleCommandL( aCommandId );
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateSpellingMiniQwertyZhuyin::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateSpellingMiniQwertyZhuyin::HandleCommandL(
-    TInt aCommandId )
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlCandidatePane* candidatePane =
-        UIContainer()->CandidatePane();
-    MAknFepUICtrlEditPane* editPane = UIContainer()->EditPaneWindow();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    TBool state = ETrue;
-    switch ( aCommandId )
-        {
-        // Handle the event frome command.
-        case EAknSoftkeySelect:
-            //case (TUint16)EAknSoftkeySelect: //the Selected in soft CBA
-            if ( editPane->IsChangeState() )
-                {
-                state = EFalse;
-                }
-            else
-                {
-                editPane->SetChangeState( EFalse );
-                }
-            if ( state )
-                {
-                if ( popup->IsEnabled() )
-                    {
-                    popup->Enable( EFalse );
-                    }
-                editPane->SetChangeState( ETrue );
-                iOwner->ChangeState( EZhuyinCandidate );
-                }
-            break;
-        default:
-            TAknFepInputStateChineseBase::HandleCommandL( aCommandId );
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateCanindateSelectingMiniQwertyZhuyin::HandleCommandL
-// Handling Command
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateCanindateSelectingMiniQwertyZhuyin::HandleCommandL(
-    TInt aCommandId )
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlCandidatePane* candidatePane =
-        UIContainer()->CandidatePane();
-    MAknFepUICtrlEditPane* editPane = UIContainer()->EditPaneWindow();
-    TBool state = ETrue;
-    switch ( aCommandId )
-        {
-        // Handle the event frome command.
-        case EAknSoftkeySelect:
-            //case (TUint16)EAknSoftkeySelect: //the Selected in soft CBA
-            if ( editPane->IsChangeState() )
-                {
-                state = EFalse;
-                }
-            else
-                {
-                editPane->SetChangeState( EFalse );
-                }
-            if ( state )
-                {
-                editPane->SetNeedClearDeliberateSelection( ETrue );
-                CommitCandidateL();
-                }
-
-            break;
-        default:
-            TAknFepInputStateChineseBase::HandleCommandL( aCommandId );
-            break;
-        }
-    }
-//End of File
--- a/fep/aknfep/src/aknfepuiinputstateqwertykorean.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
-* Copyright (c) 2004 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:           
-*       CAknFepInputStateQwertyKorean implementation
-*
-*/
-
-#include "AknFepUiInputStateQwertyKorean.h"
-#include "AknFepUIManagerStateInterface.h"      //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"           //MAknFepManagerUIInterface
-//#include "AknFepDbgKorean.h"
-
-#include <PtiEngine.h>
-#include <PtiDefs.h>
-#include <PtiKeyMappings.h>
-#include <PtiDefs.h>        
-
-TAknFepInputStateQwertyKorean::TAknFepInputStateQwertyKorean(
-        MAknFepUIManagerStateInterface* aOwner)
-    : TAknFepInputStateQwerty(aOwner)
-    {
-    CPtiEngine& ptiEngine(*(aOwner->PtiEngine()));
-    ptiEngine.SetInputMode(EPtiEngineQwertyKorean);
-    ptiEngine.ClearCurrentWord();
-    }
-
-TAknFepInputStateQwertyKorean::~TAknFepInputStateQwertyKorean()
-    {
-    }
-
-TBool TAknFepInputStateQwertyKorean::HandleKeyL(TInt aKey, TKeyPressLength /*aLength*/)
-    {
-//    LOG2("KO.IS.QWERTY.HandleKeyL %d,%d",aKey,aLength);
-    CPtiEngine& ptiEngine(*(iOwner->PtiEngine()));
-    MAknFepManagerUIInterface& fepMan(*(iOwner->FepMan()));
-    
-    TPtrC text(ptiEngine.AppendKeyPress((TPtiKey)aKey));
-    TBuf<1> chr;            
-    for (TInt jj = 0; jj < text.Length(); jj++)
-        {
-        chr.Zero();
-        chr.Append(text[jj]);
-        fepMan.NewCharacterL(chr);
-        }
-    return ETrue;
-    }
-
-void TAknFepInputStateQwertyKorean::KeyTimerExpired()
-    {
-//    LOG1("KO.IS.QWERTY.KeyTimerExpired %d",iData);
-    CPtiEngine& ptiEngine(*(iOwner->PtiEngine()));
-    MAknFepManagerUIInterface& fepMan(*(iOwner->FepMan()));
-    
-    TPtrC text(ptiEngine.CurrentWord());
-    TBuf<1> chr;            
-    for (TInt jj = 0; jj < text.Length(); jj++)
-        {
-        chr.Zero();
-        chr.Append(text[jj]);
-        TRAP_IGNORE( fepMan.NewCharacterL(chr) );
-        }
-    
-    //TRAPD(err, fepMan.CommitInlineEditL())
-    TRAP_IGNORE( fepMan.CommitInlineEditL() )
-    }
-
-//fepMan.StartInlineEditL(text);
-//iFepMan.StartInlineEditL()
-//virtual void SetCursorSelectionL(const TCursorSelection& aCurSel, TBool aSyncCursor) = 0;
--- a/fep/aknfep/src/aknfepuiinputstatestrokephrasebase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1286 +0,0 @@
-/*
-* Copyright (c) 2008 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:           
-*      Provides the TAknFepInputStateStrokePhraseCreationBase definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-
-// System includes
-#include <PtiEngine.h>
-#include <avkon.rsg>
-#include <aknfep.rsg>
-#include <PtiUserDicEntry.h>
-#include <aknnotewrappers.h> //CAknWarningNote 
-
-// User includes
-#include "AknFepUIManagerStateInterface.h"
-#include "AknFepUICtrlInputPane.h"
-#include "AknFepUICtrlPinyinPopup.h"        //Pinyin phrase
-#include "aknfepuictrleditpane.h"           //pinyin phrase creation
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepManager.h"
-#include "aknfepuiinputstatestrokephrasebase.h"
-
-// Constant definition
-const TInt KMinCnadidateCount = 1;
-const TInt KMaxPhraseCount = 50;
-const TInt KEnginePhoneticIndex = 1;
-const TInt KMaxPhraseCreationCount = 7;
-const TInt KMaxKeystrokeCount = 31;
-const TInt KKey0Code = 48;
-const TInt KKey1Code = 49;
-const TInt KKey2Code = 50;
-const TInt KKey3Code = 51;
-const TInt KKey4Code = 52;
-const TInt KKey5Code = 53;
-const TInt KKey6Code = 54;
-const TInt KAutoChangeState = 1;
-const TInt KManualChangeState = 0; 
-const TUint16 KDelimiter = 0x2022;
-const TUint16 KStrokeKey1 = 0x4E00;
-const TUint16 KStrokeKey2 = 0x4E28;
-const TUint16 KStrokeKey3 = 0x4E3F;
-const TUint16 KStrokeKey4 = 0x4E36;
-const TUint16 KStrokeKey5 = 0x4E5B;
-const TUint16 KStrokeKey6 = 0x003F;
-
-const TUint16 KSegment = 0x0020;
-
-_LIT( KMaxPhraseNote,"\x8BCD\x7EC4\x6700\x957F\x4E3A\x4E03\x5B57" );
-
-const TKeyMap StrokeMap[] = 
-    {
-    {KDelimiter, KKey0Code},
-    {KStrokeKey1, KKey1Code},
-    {KStrokeKey2, KKey2Code},
-    {KStrokeKey3, KKey3Code},
-    {KStrokeKey4, KKey4Code},
-    {KStrokeKey5, KKey5Code},
-    {KStrokeKey6, KKey6Code}
-    };
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateStrokePhraseCreationBase::TAknFepInputStateStrokePhraseCreationBase
-// C++ default constructor
-// ---------------------------------------------------------------------------
-//
-TAknFepInputStateStrokePhraseBase::TAknFepInputStateStrokePhraseBase(
-    MAknFepUIManagerStateInterface* aOwner,
-    MAknFepUICtrlContainerChinese* aUIContainer)
-    :TAknFepInputStateChineseBase(aOwner, aUIContainer)
-    {
-    if ( iOwner->PtiEngine()->InputMode() != EPtiEngineStrokeByPhrase )
-        {
-        iOwner->PtiEngine()->SetInputMode( EPtiEngineStrokeByPhrase );
-        }
-    iOwner->PtiEngine()->SetCandidatePageLength( KMaxPhraseCount );
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    uiContainer->SetFepMan( iOwner->FepMan() );
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateStrokePhraseBase::HandleKeyL
-// Handle system key press event.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputStateStrokePhraseBase::HandleKeyL( 
-                                        TInt aKey, 
-                                        TKeyPressLength aLength )
-    {    
-    switch( aKey )
-        {
-        case EKeyBackspace:
-            {
-            if ( CheckKeyNeedRepeat( aLength ) )
-                {
-                HandleKeyBackspaceL( aLength );
-                }
-            else
-                {
-                iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-                }
-            break;
-            }
-        case EKeyUpArrow:
-            {
-            iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-            break;
-            }
-        case EKeyDownArrow:
-            {
-            if ( EStrokeSequenceEdit == iState )
-                {
-                if ( CheckFirstGroupStroke() )
-                    {
-                    UIContainer()->PinyinPopupWindow()->SetChangeState( ETrue );
-                    iOwner->ChangeState( EEntry );
-                    }
-                }
-            else
-                {
-                iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-                }
-            break;
-            }
-        case EKeyLeftArrow:
-            {
-            if ( EStrokeSequenceEdit == iState )
-                {
-                MoveCursorLeft();
-                }
-            else
-                {
-                iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-                }
-            break;
-            }    
-        case EKeyRightArrow:
-            {
-            if ( EStrokeSequenceEdit == iState )
-                {
-                MoveCursorRight();
-                }
-            else
-                {
-                iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-                }
-            break;
-            }
-        case EKeyOK:
-        case EKeyCBA1:
-            {
-            if ( CheckKeyNeedRepeat( aLength ) )
-                {
-                HandleKeyCBA1OrKeyOKL( aLength );
-                }
-            else
-                {
-                iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-                }
-            break;
-            }
-        case EKeyCBA2:
-            {
-            iOwner->FepMan()->TryCloseUiL();
-            break;
-            }
-        default:
-            {
-            if ( ( EShortKeyPress == aLength ) && 
-                ( iOwner->IsValidChineseInputKey( aKey ) ) )
-                {
-                HandleDefaultKeyL( aKey );
-                }
-            else
-                {
-                iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-                }
-            break;
-            }
-        }
-    
-    return ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateStrokePhraseBase::RefreshUI
-// Update input window.
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateStrokePhraseBase::RefreshUI( TBool aRefresh )
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    // get cursor position
-    if ( aRefresh )
-        {
-        TPoint baseLine;
-        TInt height(0);
-        TInt ascent(0);
-        TRAPD(ret,iOwner->FepMan()->GetScreenCoordinatesL(baseLine,height,ascent));
-        if (ret == KErrNone)
-            {
-            uiContainer->SetContainerPosition(baseLine, height);    
-            }
-        }
-    
-    ShowInfoOnEEPPane();
-    if ( !CheckAllKeystroke() )
-        {
-        SetWarningColor();
-        }
-    ShowInfoOnCandidatePane();
-    UpdateIndicator();
-    TRAP_IGNORE( ChangeCbaL() );
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateStrokePhraseBase::HandleHorizontalNavigation
-// Handle horizontal navigation.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputStateStrokePhraseBase::CheckFirstGroupStroke()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    CDesCArrayFlat* keystroke = uiContainer->
-        PinyinPopupWindow()->KeystrokeArrayForStroke();
-    
-    TInt stringBeforeLength = 0;
-    TInt stringAfterLength = 0;
-    TInt keyCode = 0;
-    TInt pos = 0;
-    if ( 0 == keystroke->Count() )
-        {
-        return EFalse;
-        }
-    
-    ClearPtiEngineKeystroke();
-    TBuf<1> delimiter;
-    delimiter.Append( KDelimiter );
-    if ( 0 == keystroke->Find( delimiter, pos ) )
-        {
-        if ( 0 == pos )
-            {
-            return EFalse;
-            }
-        }
-    else
-        {
-        pos = keystroke->Count();
-        }
-    
-    for ( TInt i = 0; i < pos; ++i )
-        {
-        GetKeystrokeCode( keyCode, keystroke->MdcaPoint( i ) );
-        stringBeforeLength = 
-            ptiengine->GetPhoneticSpelling(KEnginePhoneticIndex).Length();
-        stringAfterLength = 
-            ptiengine->AppendKeyPress((TPtiKey)keyCode).Length();
-        //the keystroke is invalid.
-        if ( stringBeforeLength == stringAfterLength )
-            {
-            ClearPtiEngineKeystroke();
-            return EFalse;
-            }
-        } 
-    return ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateStrokePhraseBase::HandleKeyBackspaceL
-// Handle KeyBackspace event.
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateStrokePhraseBase::HandleKeyBackspaceL(
-                                                    TKeyPressLength aLength )
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    TInt index = editPane->GetCursorIndexOfKeystroke();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    CDesCArrayFlat* keystroke = popup->KeystrokeArrayForStroke();
-    TInt phraseCount = popup->ChooseChineseCharacterArrayForStroke()->Count();
-    TBool firstGroup = CheckFirstGroupStroke();
-    
-    if ( ( 0 == index ) && ( phraseCount != 0 ) )
-        {
-        RevertPhraseToKeystrokeL();
-        }
-    else if ( ( 0 == index ) && ( keystroke->Count() > 0 ) )
-        {
-        iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-        return;
-        }
-    else
-        {
-        if ( !DeleteKeystroke() )
-            {
-            iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-            return;
-            }
-        }
-    
-    if ( popup->ChooseChineseCharacterArrayForStroke()->Count() == 0 )
-        {
-        iOwner->FepMan()->PhraseCreation( EFalse );
-        }
-    
-    //if the keystroke is null and phrase is null then close input window.
-    if ( ( 0 == phraseCount ) && ( keystroke->Count() == 0 ) )
-        {
-        iOwner->FepMan()->TryCloseUiL(); //no more keys, close the UI.
-        if ( aLength == ELongKeyPress )
-            {
-            iOwner->FepMan()->SetLongClearAfterCloseUI( ETrue );
-            }
-        return;
-        }
-    
-    //Auto change from EStrokeSequenceEdit state to EEntry state. 
-    if ( EStrokeSequenceEdit == iState )
-        {
-        if ( ( KAutoChangeState == popup->GetState() ) && 
-              ( !firstGroup ) && CheckFirstGroupStroke() )
-            {
-            popup->SetChangeState( EFalse );
-            iOwner->ChangeState( EEntry );
-            return;
-            }
-        }
-    
-    //Auto change from EEntry state to EStrokeSequenceEdit state.
-    if ( EEntry == iState )
-        {
-        if ( ( firstGroup ) && ( !CheckFirstGroupStroke() ) )
-            {
-            popup->SetChangeState( EFalse );
-            popup->SetState( KAutoChangeState );
-            iOwner->ChangeState( EStrokeSequenceEdit );
-            return;
-            }
-        }
-    
-    RefreshUI();
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateStrokePhraseBase::HandleKeyCBA1OrKeyOKEntryL
-// Entry handle CBA1 or OK key press event.
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateStrokePhraseBase::HandleKeyCBA1OrKeyOKEntry(
-                                                    TKeyPressLength aLength )
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    TBool state = ETrue;
-    if ( popup->IsChangeStatet() && aLength == ELongKeyPress )
-        {
-        state = EFalse;
-        }
-    else
-        {
-        popup->SetChangeState( EFalse );
-        }
-    
-    if ( state )
-        {
-        popup->SetChangeState( ETrue );
-        iOwner->ChangeState( ECandidate );        
-        }    
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateStrokePhraseBase::HandleKeyCBA1OrKeyOKEditL
-// Edit state handle CBA1 or OK key press event.
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateStrokePhraseBase::HandleKeyCBA1OrKeyOKEditL()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    CDesCArrayFlat* phrase = popup->ChooseChineseCharacterArrayForStroke();
-    CDesCArrayFlat* keystrokeArray = popup->KeystrokeArrayForStroke();
-    TBuf<KMaxPhraseCreationCount> phraseCreated;
-    if ( (phrase->Count() >= 2 ) && ( 0 == keystrokeArray->Count() ) )
-        {
-        //commit the chinese character.
-        for (TInt i = 0; i < phrase->Count(); ++i )
-            {
-            phraseCreated.Append( phrase->MdcaPoint( i ) );
-            }
-        AddPhraseToDB( phraseCreated );
-        iOwner->FepMan()->NewTextL( phraseCreated );
-        iOwner->FepMan()->CommitInlineEditL();
-        iOwner->FepMan()->TryCloseUiL(); //no more keys, close the UI.
-        }
-    else if ( CheckFirstGroupStroke() )
-        {
-        popup->SetState( KManualChangeState );
-        popup->SetChangeState( ETrue );
-        iOwner->ChangeState( EEntry );
-        }
-    else
-        {
-        iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-        }
-    
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateStrokePhraseBase::HandleKeyCBA1OrKeyOKL
-// Handle CBA1 or OK key press event.
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateStrokePhraseBase::HandleKeyCBA1OrKeyOKL(
-                                                    TKeyPressLength aLength )
-    {
-    if ( EStrokeSequenceEdit == iState )
-        {
-        HandleKeyCBA1OrKeyOKEditL();
-        }
-    else if ( EEntry == iState )
-        {
-        HandleKeyCBA1OrKeyOKEntry( aLength );
-        }
-    else
-        {
-        iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateStrokePhraseBase::HandleDefaultKeyL
-// Handle default key press event.
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateStrokePhraseBase::HandleDefaultKeyL( TInt aKey )
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    TBool firstGroup = CheckFirstGroupStroke();
-    
-    if ( !AddKeystrokeL( aKey ) )
-        {
-        iOwner->FepMan()->PlaySound(EAvkonSIDErrorTone);
-        return;
-        }
-    
-    //Auto change from EStrokeSequenceEdit state to EEntry state. 
-    if ( EStrokeSequenceEdit == iState )
-        {
-        if ( ( KAutoChangeState == popup->GetState() ) && 
-              ( !firstGroup ) && CheckFirstGroupStroke() )
-            {
-            popup->SetChangeState( ETrue );
-            iOwner->ChangeState( EEntry );
-            return;
-            }
-        }
-    
-    //Auto change from EEntry state to EStrokeSequenceEdit state.
-    if ( EEntry == iState )
-        {
-        if ( ( firstGroup ) && ( !CheckFirstGroupStroke() ) )
-            {
-            popup->SetState( KAutoChangeState );
-            popup->SetChangeState( ETrue );
-            iOwner->ChangeState( EStrokeSequenceEdit );
-            return;
-            }
-        }
-    
-    RefreshUI();
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateStrokePhraseBase::ShowInfoOnEEP
-// Show the showinfo on the EEP ctrl.
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateStrokePhraseBase::ShowInfoOnEEPPane()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* keystroke = popup->KeystrokeArrayForStroke();
-    CDesCArrayFlat* phrase = popup->ChooseChineseCharacterArrayForStroke();
-    TInt index = editPane->GetCursorIndexOfKeystroke();
-    TBuf<KMaxKeystrokeCount> showInfo;
-    
-    for (TInt i = 0; i < phrase->Count(); ++i )
-        {
-        showInfo.Append( phrase->MdcaPoint( i ) );
-        }
-
-    for (TInt ii = 0; ii < keystroke->Count(); ++ii )
-        {
-        showInfo.Append( keystroke->MdcaPoint( ii ) );
-        }
-    
-    editPane->SetText( showInfo, phrase->Count() + index );
-    if ( EStrokeSequenceEdit == iState )
-        {
-        editPane->ActiveCursor();
-        }
-    else if ( EEntry == iState )
-        {
-        editPane->DeactiveCursor();
-        }
-    else
-        {
-        editPane->DisableCursor();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateStrokePhraseBase::ShowInfoOnEEP
-// Show the showinfo on the EEP ctrl.
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateStrokePhraseBase::ShowInfoOnCandidatePane()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    uiContainer->SetControlInVisible( ETrue );
-    CDesCArrayFlat* phrase = uiContainer->CandidatePane()->CandidateArray();
-    if ( KMaxPhraseCreationCount == uiContainer->PinyinPopupWindow()->
-            ChooseChineseCharacterArrayForStroke()->Count() )
-        {
-        phrase->Reset();
-        TRAP_IGNORE( phrase->AppendL( KMaxPhraseNote ) );
-        uiContainer->SetControlInVisible( ETrue );
-        uiContainer->CandidatePane()->SplitPhraseCandidatesIntoPages();
-        uiContainer->CandidatePane()->SetCandidateBuffer();
-        uiContainer->Enable( ETrue );
-        uiContainer->ShowHorizontalScrollArrows( EFalse );
-        uiContainer->ShowVerticalScrollArrows( EFalse );
-        }
-    
-    TRAP_IGNORE( GetCandidateL() );
-    if ( phrase->Count() > 0 )
-        {
-        // layout candidate and fill candidate buffer for first display page
-        uiContainer->SetControlInVisible( ETrue );
-        uiContainer->CandidatePane()->SplitPhraseCandidatesIntoPages();
-        uiContainer->CandidatePane()->SetCandidateBuffer();
-        uiContainer->Enable( ETrue );
-        uiContainer->ShowVerticalScrollArrows( ETrue );
-        }
-    else
-        {
-        uiContainer->SetControlInVisible( EFalse );
-        uiContainer->CandidatePane()->SplitPhraseCandidatesIntoPages();
-        uiContainer->CandidatePane()->SetCandidateBuffer();
-        uiContainer->Enable( ETrue );
-        uiContainer->ShowHorizontalScrollArrows( EFalse );
-        uiContainer->ShowVerticalScrollArrows( EFalse );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateStrokePhraseBase::GetShowKeystroke
-//Handle horizontal navigation.
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateStrokePhraseBase::GetShowKeystroke(
-                                                        TInt aKey, 
-                                                        TDes& aKeystroke )
-    {
-    TInt count = sizeof( StrokeMap )/sizeof( StrokeMap[0] );
-    for ( TInt i = 0; i < count ; i++ )
-        {
-        if (aKey == StrokeMap[i].iKeyCode)
-            {
-            aKeystroke.Append(StrokeMap[i].iValue);
-            break;
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateStrokePhraseBase::HandleHorizontalNavigation
-//Handle horizontal navigation.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputStateStrokePhraseBase::HandleHorizontalNavigation(
-                                                                   TInt aKey )
-    {
-    MAknFepUICtrlCandidatePane* candidatePane = UIContainer()->CandidatePane();
-    TBool response = EFalse;
-
-    // Do navigation...
-    if (aKey == EKeyLeftArrow)
-        {        
-        if(!candidatePane->SelectPrev())
-            {
-            candidatePane->SetCandidateBuffer();
-            candidatePane->SelectLastPhrase();
-            }
-        response = ETrue;
-        }
-    else if (aKey == EKeyRightArrow)
-        {              
-        if(!candidatePane->SelectNext())
-            {
-            candidatePane->SetCandidateBuffer();
-            candidatePane->SelectFirstPhrase();
-            }
-        response = ETrue;
-        }
-        
-    if (response)
-        {
-        UpdateIndicator();
-        }   
-             
-    return response;
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputStateStrokePhraseBase::UpdateIndicator
-// Update Indicator.
-// ---------------------------------------------------------
-//
-void TAknFepInputStateStrokePhraseBase::UpdateIndicator()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();        
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-    
-    if ( candidatePane->IsFirstPage() )
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows( EFalse );
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows( ETrue );
-        }
-
-    if ( candidatePane->IsLastPage() )
-        {
-        uiContainer->CandidatePane()->ShowDownScrollArrows( EFalse );
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowDownScrollArrows( ETrue );
-        }
-    }      
-
-// ---------------------------------------------------------
-// TAknFepInputStateStrokePhraseBase::DeleteKeystroke
-// Delete current keystroke.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputStateStrokePhraseBase::DeleteKeystroke()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* keystrokeArray = popup->KeystrokeArrayForStroke();
-    TInt index = editPane->GetCursorIndexOfKeystroke();
-    
-    if ( ( 0 == index ) || ( keystrokeArray->Count() == 0 ) )
-        {
-        return EFalse;
-        }
-    
-    if ( 1 == index )
-        {
-        keystrokeArray->Delete( 0 );
-        editPane->SetCursorIndexOfKeystroke( 0 );
-        editPane->Reset();
-        }
-    else if ( index >= keystrokeArray->Count() )
-        {
-        keystrokeArray->Delete( keystrokeArray->Count() - 1 );
-        editPane->SetCursorIndexOfKeystroke( keystrokeArray->Count() );
-        }
-    else
-        {
-        keystrokeArray->Delete( index - 1 );
-        editPane->SetCursorIndexOfKeystroke( index - 1 );
-        }
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputStateStrokePhraseBase::AddPhraseToDB
-// Add phrase to DB.
-// ---------------------------------------------------------
-//
-void TAknFepInputStateStrokePhraseBase::AddPhraseToDB( 
-                                                     const TDesC& aPhraseAdd )
-    {   
-    TPtiUserDictionaryEntry addUdbEntry( aPhraseAdd );
-    //Add the phrase to the DB by PTI Engine
-    iOwner->PtiEngine()->AddUserDictionaryEntry( addUdbEntry );
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateStrokePhraseBase::RefreshCandidate
-// Refresh candidate
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateStrokePhraseBase::RefreshCandidate()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    uiContainer->CandidatePane()->SetCandidateBuffer();
-    uiContainer->Enable( ETrue );
-
-    TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() && 
-            uiContainer->CandidatePane()->IsFirstPage());
-    TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-    TBool showArrows = multiplePages || bufLength > KMinCnadidateCount;
-
-    uiContainer->ShowHorizontalScrollArrows( showArrows );
-    uiContainer->ShowVerticalScrollArrows( multiplePages );
-
-    uiContainer->CandidatePane()->SelectFirstPhrase();
-    UpdateIndicator();
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateStrokePhraseBase::CheckKeyNeedRepeat
-//  Check key whether need repeat.
-// ---------------------------------------------------------------------------
-//
-TBool TAknFepInputStateStrokePhraseBase::CheckKeyNeedRepeat( TKeyPressLength aLength )
-    {
-    MAknFepUICtrlPinyinPopup* popup = UIContainer()->PinyinPopupWindow();
-    if ( popup->IsChangeStatet() && aLength == ELongKeyPress )
-        {
-        return EFalse;
-        }
-    else
-        {
-        popup->SetChangeState( EFalse );
-        }
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputStateStrokePhraseBase::ClearPtiEngineKeystroke
-// clear the ptiengine keystroke;
-// ---------------------------------------------------------
-//
-void TAknFepInputStateStrokePhraseBase::ClearPtiEngineKeystroke()
-    {
-    iOwner->PtiEngine()->ClearCurrentWord();
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputStateStrokePhraseBase::AddKeystrokeL
-// Add keystroke.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputStateStrokePhraseBase::AddKeystrokeL( TInt aKey )
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* keystrokeArray = popup->KeystrokeArrayForStroke();
-    TInt phraseCount = popup->ChooseChineseCharacterArrayForStroke()->Count();
-    TInt index = editPane->GetCursorIndexOfKeystroke();
-    
-    if ( phraseCount + keystrokeArray->Count() >= KMaxKeystrokeCount )
-        {
-        return EFalse;
-        }
-    
-    TBuf<1> keystroke;
-    GetShowKeystroke( aKey, keystroke );
-    if ( index >= keystrokeArray->Count() )
-        {
-        keystrokeArray->AppendL( keystroke );
-        editPane->SetCursorIndexOfKeystroke( keystrokeArray->Count() );
-        }
-    else
-        {
-        keystrokeArray->InsertL( index, keystroke );
-        editPane->SetCursorIndexOfKeystroke( index + 1 );
-        }
-    return ETrue;
-    }
-// ---------------------------------------------------------
-// TAknFepInputStateStrokePhraseBase::GetCandidateL
-// Get the candidate info.
-// ---------------------------------------------------------
-//
-void TAknFepInputStateStrokePhraseBase::GetCandidateL()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    CDesCArrayFlat* phraseCandidates = 
-        uiContainer->CandidatePane()->CandidateArray();
-    CDesCArrayFlat* keystroke = popup->KeystrokeArrayForStroke();
-    phraseCandidates->Reset();
-    TBuf<KMaxKeystrokeCount> buf;
-    TBuf<1> delimiter;
-    delimiter.Append( KDelimiter );
-    if ( !CheckFirstGroupStroke() )
-        {
-        return;
-        }
-    else if ( CheckAllKeystroke() )
-        {
-        for( TInt i = 0; i < keystroke->Count(); ++i )
-            {
-            buf.Append( keystroke->MdcaPoint( i ) );
-            }
-        }
-    else
-        {
-        TInt pos = 0;
-        if ( 0 == keystroke->Find( delimiter,pos ) )
-            {
-            for( TInt i = 0; i < pos; ++i )
-                {
-                buf.Append( keystroke->MdcaPoint( i ) );
-                }
-            }
-        else
-            {
-            for( TInt i = 0; i < keystroke->Count(); ++i )
-                {
-                buf.Append( keystroke->MdcaPoint( i ) );
-                }
-            }
-        }
-    extern void CleanArray( TAny* aAny );
-    RPointerArray<HBufC> list;
-    TCleanupItem cleanitem( CleanArray, &list );
-    CleanupStack::PushL( cleanitem );
-    HBufC* retString = ptiengine->GetCandidatesByInputString( 
-                                              buf, 
-                                              list,
-                                              EFalse );
-    
-    delete retString;
-    retString = NULL;
-    
-    for ( TInt i = 0; i < list.Count(); ++i )
-        {
-        phraseCandidates->AppendL( *(list[i]) );
-        }
-    CleanupStack::PopAndDestroy();   
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputStateStrokePhraseBase::GetKeystrokeCode
-// get Code of the key stroke. 
-// ---------------------------------------------------------
-//
-void TAknFepInputStateStrokePhraseBase::GetKeystrokeCode(
-                                                     TInt& aKey, 
-                                                     const TDesC& aKeystroke )
-    {
-    TInt count = sizeof( StrokeMap )/sizeof( StrokeMap[0] );
-    for ( TInt i = 0; i < count ; i++ )
-        {
-        TBuf<1> buf;
-        buf.Append(StrokeMap[i].iValue);
-        if (0 == aKeystroke.Compare(buf))
-            {
-            aKey = StrokeMap[i].iKeyCode;
-            break;
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputStateStrokePhraseBase::CheckAllKeystroke
-// Get the candidate info.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputStateStrokePhraseBase::CheckAllKeystroke()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    CDesCArrayFlat* keystrokeArray = uiContainer->
-        PinyinPopupWindow()->KeystrokeArrayForStroke();
-    
-    TInt chineseCount = uiContainer->PinyinPopupWindow()->
-        ChooseChineseCharacterArrayForStroke()->Count();
-    TInt stringBeforeLength = 0;
-    TInt stringAfterLength = 0;
-    TInt keyCode = 0;
-    TInt delimiterCount = 0; 
-    TBuf<1> delimiter;
-    delimiter.Append( KDelimiter );
-    if ( chineseCount > 0 )
-        {
-        return EFalse;
-        }
-    
-    if ( keystrokeArray->Count() > 0 )
-        {
-        if ( 0 == keystrokeArray->MdcaPoint( 0 ).Compare( delimiter ) )
-            {
-            return EFalse;
-            }
-        }
-    ClearPtiEngineKeystroke();
-    for ( TInt i = 0; i < keystrokeArray->Count(); ++i )
-        {
-        if ( 0 == keystrokeArray->MdcaPoint( i ).Compare( delimiter ) )
-            {
-            delimiterCount = delimiterCount + 1;
-            }
-        GetKeystrokeCode( keyCode, keystrokeArray->MdcaPoint( i ) );
-        stringBeforeLength = 
-            ptiengine->GetPhoneticSpelling(KEnginePhoneticIndex).Length();
-        stringAfterLength = 
-            ptiengine->AppendKeyPress((TPtiKey)keyCode).Length();
-
-        if ( stringBeforeLength == stringAfterLength )
-            {
-            ClearPtiEngineKeystroke();
-            return EFalse;
-            }
-        }
-    if ( delimiterCount >= KMaxPhraseCreationCount )
-        {
-        return EFalse;
-        }
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputStateStrokePhraseBase::RevertPhraseToKeystrokeL
-// Revert the phrase to keystroke.
-// ---------------------------------------------------------
-//
-void TAknFepInputStateStrokePhraseBase::RevertPhraseToKeystrokeL()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* keystrokeArray = popup->KeystrokeArrayForStroke();
-    CDesCArrayFlat* phrase = popup->ChooseChineseCharacterArrayForStroke();
-    CDesCArrayFlat* phraseStroke = 
-        popup->ChooseChineseCharacterArrayKeystrokeForStroke();
-
-    TBuf<KMaxKeystrokeCount> buf;
-    if ( ( phrase->Count() == 0 ) || ( phraseStroke->Count() == 0 ) )
-        {
-        return;
-        }
-    
-    buf.Append( phraseStroke->MdcaPoint( phraseStroke->Count() - 1 ) );
-    
-    for ( TInt i = buf.Length() - 1; i >= 0; --i )
-        {
-        keystrokeArray->InsertL( 0, buf.Mid( i, 1 ) );
-        }
-    phrase->Delete( phrase->Count() - 1 );
-    phraseStroke->Delete( phraseStroke->Count() - 1 );
-    
-    TInt leng = phrase->Count() + keystrokeArray->Count();
-    if ( leng > KMaxKeystrokeCount )
-        {
-        for ( TInt i = 0; i < leng - KMaxKeystrokeCount; ++i )
-            {
-            keystrokeArray->Delete( keystrokeArray->Count() - 1 );
-            }
-        }
-    editPane->SetCursorIndexOfKeystroke( buf.Length() );
-    keystrokeArray->Compress();
-    phrase->Compress();
-    phraseStroke->Compress();
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputStateStrokePhraseBase::SetWarningColor
-// Set warning color.
-// ---------------------------------------------------------
-//
-void TAknFepInputStateStrokePhraseBase::SetWarningColor()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    CDesCArrayFlat* keystrokeArray = UIContainer()->
-        PinyinPopupWindow()->KeystrokeArrayForStroke();
-    MAknFepUICtrlEditPane* editPane = UIContainer()->EditPaneWindow();
-    TInt phraseCount = UIContainer()->PinyinPopupWindow()->
-        ChooseChineseCharacterArrayForStroke()->Count();
-
-    TInt indexStart = phraseCount;
-    TInt keyCode = 0;
-    TInt stringBeforeLength = 0;
-    TInt stringAfterLength = 0;
-    TInt keystrokeCount = 0;
-    TInt validKeystrokeCountOfPti = 0;
-    TBool valid = ETrue;
-    TInt delimiterCount = 0;
-    TInt delimiterADD = 0;
-    TBuf<1> delimiter;
-    delimiter.Append( KDelimiter );
-    ClearPtiEngineKeystroke();
-
-    for ( TInt i = 0; i < keystrokeArray->Count(); ++i )
-        {
-        keystrokeCount = keystrokeCount + 1;
-        if ( phraseCount + delimiterCount >= KMaxPhraseCreationCount )
-            {
-            break;
-            }
-        if ( 0 == keystrokeArray->MdcaPoint( i ).Compare( delimiter ) )
-            {
-            delimiterADD = i;
-            delimiterCount = delimiterCount + 1;
-            }
-        GetKeystrokeCode( keyCode, keystrokeArray->MdcaPoint( i ) );
-        stringBeforeLength = ptiengine->GetPhoneticSpelling(
-            KEnginePhoneticIndex).Length();
-        stringAfterLength = 
-            ptiengine->AppendKeyPress((TPtiKey)keyCode).Length();
-
-        if ( stringBeforeLength == stringAfterLength )
-            {
-            valid = EFalse;
-            }
-        else if ( valid )
-            {
-            validKeystrokeCountOfPti = validKeystrokeCountOfPti + 1;
-            }
-
-        if ( ( i == keystrokeArray->Count() - 1 ) && ( KKey0Code != keyCode )
-            && ( 1 != keystrokeCount ) && ( !valid ) )
-            {
-            editPane->SetHighlight( indexStart, indexStart + keystrokeCount - 1 );
-            validKeystrokeCountOfPti = 0;
-            keystrokeCount = 0;
-            valid = ETrue;
-            }
-
-        if ( KKey0Code == keyCode )
-            {
-            ClearPtiEngineKeystroke();
-            if ( 0 == i )
-                {
-                editPane->SetHighlight( indexStart, indexStart
-                    + keystrokeCount - 1 );
-                indexStart = phraseCount + i + 1;
-                validKeystrokeCountOfPti = 0;
-                keystrokeCount = 0;
-                valid = ETrue;
-                }
-            else
-                {
-                if ( ( 0 == keystrokeArray->MdcaPoint( i ).
-                Compare( delimiter ) ) && ( 0
-                    == keystrokeArray->MdcaPoint( i - 1 ).
-                    Compare( delimiter ) ) )
-                    {
-                    editPane->SetHighlight( indexStart, indexStart
-                        + keystrokeCount - 1 );
-                    indexStart = phraseCount + i + 1;
-                    validKeystrokeCountOfPti = 0;
-                    keystrokeCount = 0;
-                    valid = ETrue;
-                    }
-                else
-                    {
-                    if (  ( !valid ) && ( 1 != keystrokeCount ) && 
-                        ( validKeystrokeCountOfPti < keystrokeCount - 1 ) )
-                        {
-                        editPane->SetHighlight( indexStart, indexStart
-                            + keystrokeCount - 1 );
-                        indexStart = phraseCount + i + 1;
-                        validKeystrokeCountOfPti = 0;
-                        keystrokeCount = 0;
-                        valid = ETrue;
-                        }
-                    else
-                        {
-                        indexStart = phraseCount + i + 1;
-                        validKeystrokeCountOfPti = 0;
-                        keystrokeCount = 0;
-                        valid = ETrue;
-                        }
-                    }
-                }
-            }
-        }
-    
-    if ( phraseCount + delimiterCount >= KMaxPhraseCreationCount )
-        {
-        editPane->SetHighlight( 
-                phraseCount + delimiterADD, 
-                phraseCount + keystrokeArray->Count() );
-        }
-
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputStateStrokePhraseBase::SetWarningColor
-// Set warning color.
-// ---------------------------------------------------------
-//
-void TAknFepInputStateStrokePhraseBase::ChangeCbaL()
-    {
-    MAknFepUICtrlPinyinPopup* popup = UIContainer()->PinyinPopupWindow();
-    TInt keystrokeCount = popup->KeystrokeArrayForStroke()->Count();
-    TInt phraseCount = popup->ChooseChineseCharacterArrayForStroke()->Count();
-    TInt lastRes = popup->GetLastResouce();
-    
-    TBool first = CheckFirstGroupStroke();
-    CheckAllKeystroke();
-    if ( phraseCount == KMaxPhraseCreationCount )
-        {
-        if ( lastRes == R_AKNFEP_SOFTKEYS_DONE_CANCEL_DONE )
-            {
-            return;
-            }
-        //User cba done-done-cancel
-        iOwner->FepMan()->UpdateCbaL( R_AKNFEP_SOFTKEYS_DONE_CANCEL_DONE );
-        popup->SetLastResouce( R_AKNFEP_SOFTKEYS_DONE_CANCEL_DONE );
-        }
-    else if ( 0 != keystrokeCount && first )
-        {
-        if ( lastRes == R_AKNFEP_SOFTKEYS_PHRASE_CREATION_SELECT_CANCEL_SELECT )
-            {
-            return;
-            }
-        //User cba select-select-cancel
-        iOwner->FepMan()->UpdateCbaL( R_AKNFEP_SOFTKEYS_PHRASE_CREATION_SELECT_CANCEL_SELECT );
-        popup->SetLastResouce( R_AKNFEP_SOFTKEYS_PHRASE_CREATION_SELECT_CANCEL_SELECT );
-        }
-    else if ( phraseCount > 1 && 0 == keystrokeCount )
-        {
-        if ( lastRes == R_AKNFEP_SOFTKEYS_DONE_CANCEL_DONE )
-            {
-            return;
-            }
-        //User cba done-done-cancel
-        iOwner->FepMan()->UpdateCbaL( R_AKNFEP_SOFTKEYS_DONE_CANCEL_DONE );
-        popup->SetLastResouce( R_AKNFEP_SOFTKEYS_DONE_CANCEL_DONE );
-        }
-    else
-        {
-        if ( lastRes == R_AKNFEP_SOFTKEYS__PHRASE_CREATION_EMPTY_CANCEL_EMPTY )
-            {
-            return;
-            }
-        iOwner->FepMan()->UpdateCbaL( R_AKNFEP_SOFTKEYS__PHRASE_CREATION_EMPTY_CANCEL_EMPTY );
-        popup->SetLastResouce( R_AKNFEP_SOFTKEYS__PHRASE_CREATION_EMPTY_CANCEL_EMPTY );
-        }
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputStateStrokePhraseBase::MoveCursorLeft
-// Move the cursor to Left.
-// ---------------------------------------------------------
-//
-void TAknFepInputStateStrokePhraseBase::MoveCursorLeft()
-    {
-    MAknFepUICtrlPinyinPopup* popup = UIContainer()->PinyinPopupWindow();
-    MAknFepUICtrlEditPane* editPane = UIContainer()->EditPaneWindow();
-    TInt keystrokeCount = popup->KeystrokeArrayForStroke()->Count();
-    TInt index = editPane->GetCursorIndexOfKeystroke();
-    if ( 0 == keystrokeCount )
-        {
-        iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-        return;
-        }
-    else
-        {
-        popup->SetState( KManualChangeState );
-        }
-    
-    if ( index > 1 )
-        {
-        editPane->SetCursorIndexOfKeystroke( index - 1 );
-        editPane->MoveCursorLeft();
-        }
-    else
-        {
-        if ( 1 == index )
-            {
-            editPane->SetCursorIndexOfKeystroke( 0 );
-            }
-        else
-            {
-            editPane->SetCursorIndexOfKeystroke( keystrokeCount );
-            }
-        ShowInfoOnEEPPane();
-        if ( !CheckAllKeystroke() )
-            {
-            SetWarningColor();
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// TAknFepInputStateStrokePhraseBase::MoveCursorRight
-// Move the cursor to Right.
-// ---------------------------------------------------------
-//
-void TAknFepInputStateStrokePhraseBase::MoveCursorRight()
-    {
-    MAknFepUICtrlPinyinPopup* popup = UIContainer()->PinyinPopupWindow();
-    MAknFepUICtrlEditPane* editPane = UIContainer()->EditPaneWindow();
-    TInt keystrokeCount = popup->KeystrokeArrayForStroke()->Count();
-    TInt index = editPane->GetCursorIndexOfKeystroke();
-    if ( 0 == keystrokeCount )
-        {
-        iOwner->FepMan()->PlaySound( EAvkonSIDErrorTone );
-        return;
-        }
-    else
-        {
-        popup->SetState( KManualChangeState );
-        }
-    
-    if ( index < keystrokeCount )
-        {
-        editPane->SetCursorIndexOfKeystroke( index + 1 );
-        editPane->MoveCursorRight();
-        }
-    else
-        {
-        editPane->SetCursorIndexOfKeystroke( 0 );
-        ShowInfoOnEEPPane();
-        if ( !CheckAllKeystroke() )
-            {
-            SetWarningColor();
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TAknFepInputStateStrokePhraseBase::GetNewCandidatesL 
-// Get new candidate
-// ---------------------------------------------------------------------------
-//
-void TAknFepInputStateStrokePhraseBase::GetNewCandidatesL(const TDesC& aSource, 
-                                                    RPointerArray<HBufC>& aList)
-    {
-    TInt start = 0;
-    TInt length = 0;
-
-    for (TInt ii = 0; ii < aSource.Length(); ii++)
-        {
-        if (aSource[ii] == KSegment)
-            {
-            TPtrC segment(aSource.Ptr() + start, length);
-            aList.AppendL(segment.AllocL());
-            start += (length + 1);
-            length = 0;
-            }
-        else
-            {
-            length++;
-            }
-        }
-
-    if (length)
-        {
-        TPtrC segm(aSource.Ptr() + start, length);
-        aList.AppendL(segm.AllocL());
-        }
-    }
-
-// End of file
--- a/fep/aknfep/src/aknfepuiinputstatezhuyinphrasecreationbase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,628 +0,0 @@
-/*
-* Copyright (c) 2008 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:           
- *      Provides the TAknFepInputStateEntryZhuyinPhraseCreation methods.
- *
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include <PtiEngine.h>                          //CPtiEngine
-#include <avkon.rsg>
-#include <aknfep.rsg>
-
-#include "aknfepuiinputstatezhuyinphrasecreationbase.h"
-#include "AknFepUIManagerStateInterface.h"      //MAknFepUIManagerStateInterface
-#include "AknFepManagerUIInterface.h"           //MAknFepManagerUIInterface
-#include "AknFepUiCtrlContainerChinese.h"
-#include "AknFepUICtrlPinyinPopup.h"    //Pinyin phrase
-#include "aknfepuictrleditpane.h" 
-#include "AknFepUICtrlCandidatePane.h"
-#include "AknFepUICtrlInputPane.h"
-#include "aknfepzhuyinkeyhandlerinterface.h" //MZhuyinKeyHandler
-#include "AknFepZhuyinAnalyser.h"
-#include "aknfepzhuyinconvertion.h" //TZhuyinSymbolsMethods
-
-_LIT( KStrokeManualSeparator, "\x002E");
-_LIT( KToneMark1, "\x0020" );
-_LIT( KToneMark2, "\x02CA" );
-_LIT( KToneMark3, "\x02C7" );
-_LIT( KToneMark4, "\x02CB" );
-_LIT( KToneMark5, "\x02D9" );
-
-const TInt KMaxBufLen = 100;
-const TInt KMaxKeystrokeCount = 100;
-const TInt KMaxInputLength = 31;
-const TInt KMaxPhraseCreationCount = 7;
-
-// ---------------------------------------------------------
-// C++ constructor
-// ---------------------------------------------------------
-//
-TAknFepInputStateZhuyinPhraseCreationBase::TAknFepInputStateZhuyinPhraseCreationBase(
-    MAknFepUIManagerStateInterface* aOwner,
-    MAknFepUICtrlContainerChinese* aUIContainer ) :
-    TAknFepInputStateCandidateBase( aOwner, aUIContainer )
-    {    
-    iState = EEntry;
-
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-
-    uiContainer->FocusCandidatePane(EFalse);
-    
-    TBool multiplePages = !(uiContainer->CandidatePane()->IsLastPage() &&
-                            uiContainer->CandidatePane()->IsFirstPage());
-    TInt bufLength = iOwner->PtiEngine()->CandidatePage().Length();
-    TBool showHorizontalScrollArrows = multiplePages || bufLength>1;
-
-    uiContainer->ShowHorizontalScrollArrows(showHorizontalScrollArrows); 
-    uiContainer->ShowVerticalScrollArrows(multiplePages);
-    uiContainer->FocusCandidatePane(ETrue);
-    candidatePane->SetHighlighted(ETrue);
-    candidatePane->ShowCandidateOrdinals(EFalse);
-    candidatePane->SelectFirstPhrase();
-    }
-    
-TBool TAknFepInputStateZhuyinPhraseCreationBase::AddKeystrokeL( TInt aKey )
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* zhuyinSymbol = popup->ZhuyinSymbols();
-    TInt chineseCount = popup->ChineseCharsDisped()->Count();
-    TInt currentIndex = editPane->GetCursorIndexOfKeystroke();
-    TBuf<1> buf;
-    TBuf<KMaxBufLen> showbuf;
-    showbuf = uiContainer->PinyinPopupWindow()->GetEEPContent();
-    
-    TInt ret = iOwner->ZhuyinKeyHandler()->GetZhuyinSymbol( (TPtiKey)aKey, buf );  
-    TInt showbufLen = showbuf.Length();
-    
-    if ( showbufLen >= KMaxInputLength )
-        {
-        if ( ( 0 == currentIndex ) || ( 1 == ret ) )
-            {
-            iOwner->ZhuyinKeyHandler()->Reset();
-            return EFalse;
-            }
-        return ReplaceKeystrokeL( currentIndex,
-                                 chineseCount,
-                                 buf,
-                                 zhuyinSymbol
-                                 );
-        }
-    
-    if ( showbufLen == KMaxInputLength - 1 )
-        {
-        if ( 0 == currentIndex )
-            {
-            iOwner->ZhuyinKeyHandler()->Reset();
-            return EFalse;
-            }
-        else if ( 1 == ret )
-            {
-            zhuyinSymbol->InsertL( currentIndex, buf );
-            if ( CheckKeystrokeCountL( chineseCount, zhuyinSymbol ) )
-                {
-                editPane->SetCursorIndexOfKeystroke( currentIndex + 1 );
-                return ETrue;
-                }
-            else
-                {
-                iOwner->ZhuyinKeyHandler()->Reset();
-                zhuyinSymbol->Delete( currentIndex );
-                return EFalse;
-                }
-            }
-        else
-            {
-            return ReplaceKeystrokeL( currentIndex,
-                                     chineseCount,
-                                     buf,
-                                     zhuyinSymbol
-                                     );
-            }
-        }
-    
-
-    else if ( ( 0 != currentIndex ) &&
-        ( KMaxInputLength <= showbufLen ) )
-        {
-        if ( 0 == ret )
-            {
-            zhuyinSymbol->Delete( currentIndex - 1 );
-            zhuyinSymbol->InsertL( currentIndex - 1, buf );
-            return ETrue;
-            }
-        else
-            {
-            iOwner->ZhuyinKeyHandler()->Reset();
-            return EFalse;
-            }
-        }
-    else if ( ( 0 == currentIndex ) && 
-        ( KMaxInputLength > showbufLen ) ) 
-        {
-        zhuyinSymbol->InsertL( currentIndex, buf );
-        editPane->SetCursorIndexOfKeystroke( currentIndex + 1 );
-        return ETrue;
-        }
-    else if ( ( 0 != currentIndex ) && 
-        ( KMaxInputLength > showbufLen ) ) 
-        {
-        if ( 0 == ret )
-            {
-            zhuyinSymbol->Delete( currentIndex - 1 );
-            zhuyinSymbol->InsertL( currentIndex - 1, buf );
-            return ETrue;
-            }
-        else if ( 1 == ret )
-            {
-            zhuyinSymbol->InsertL( currentIndex, buf );
-            editPane->SetCursorIndexOfKeystroke( currentIndex + 1 );
-            return ETrue;
-            }
-        }
-    return ETrue;
-    }
-
-TBool TAknFepInputStateZhuyinPhraseCreationBase::AddToneMarkL()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    MZhuyinKeyHandler* zhuyinKeyHandler = iOwner->ZhuyinKeyHandler();
-    CDesCArrayFlat* zhuyinSymbols = uiContainer->PinyinPopupWindow()->ZhuyinSymbols();
-    
-    TBuf<1> baseBuf;
-    TBuf<1> buf;
-    baseBuf.Zero();
-    TInt strokePos = editPane->GetCursorIndexOfKeystroke();
-    
-    TBuf<KMaxBufLen> showbuf;
-    showbuf = popup->GetEEPContent();
-    
-    if ( strokePos > 0 )
-        {
-        baseBuf.Append( zhuyinSymbols->MdcaPoint( strokePos - 1 ) );
-        }
-    TInt insert = zhuyinKeyHandler->GetToneMark( baseBuf, buf );
-    if ( insert == 0 )
-        {
-        zhuyinSymbols->Delete ( strokePos - 1, 1 );
-        zhuyinSymbols->InsertL(strokePos - 1, buf);
-        }
-    // for insert
-    else if ( insert == 1)
-        {
-        if ( showbuf.Length() >= KMaxInputLength )
-            {
-            return EFalse;
-            }
-        zhuyinSymbols->InsertL(strokePos, buf);
-        editPane->SetCursorIndexOfKeystroke(strokePos + 1);
-        }
-    return ETrue;
-    }
-
-TBool TAknFepInputStateZhuyinPhraseCreationBase::DeleteZhuyinSymbolOrChinese()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    MAknFepUICtrlPinyinPopup* popup = uiContainer->PinyinPopupWindow();
-    CDesCArrayFlat* zhuyinSymbols = popup->ZhuyinSymbols();
-    CDesCArrayFlat* chineseDisped = popup->ChineseCharsDisped();
-    CDesCArrayFlat* zhuyinSymbolsForChinese = popup->ZhuyinSymbolsForChineseCharsDisped();
-    TInt keyStrokePos = editPane->GetCursorIndexOfKeystroke();
-    
-    if ( 1 == keyStrokePos )
-        {
-        editPane->Reset();
-        }
-    
-    if ( keyStrokePos != 0 )
-        {
-        TZhuyinSymbolsMethods::DeleteZhuyinSymbol(
-            zhuyinSymbols,
-            keyStrokePos);
-            editPane->SetCursorIndexOfKeystroke(keyStrokePos-1);
-        }
-    else if ( chineseDisped->Count() )
-        {
-        TInt oldLen =  zhuyinSymbols->Count();
-        TZhuyinSymbolsMethods::DeleteChineseChar(
-            zhuyinSymbols,
-            chineseDisped,
-            zhuyinSymbolsForChinese
-            );
-        TInt newLen = zhuyinSymbols->Count();
-        editPane->SetCursorIndexOfKeystroke(newLen - oldLen);
-        }
-    return ETrue;
-    }
-
-TBool TAknFepInputStateZhuyinPhraseCreationBase::UpdateEEPContent()
-    {
-    CPtiEngine* ptiengine = iOwner->PtiEngine();
-    CDesCArrayFlat* zhuyinSymbols = UIContainer()->PinyinPopupWindow()->ZhuyinSymbols();
-    CDesCArrayFlat* chineseDisped = UIContainer()->PinyinPopupWindow()->ChineseCharsDisped();
-    CAknFepZhuyinAnalyser* analyser = iOwner->ZhuyinAnalyser();
-    CDesCArrayFlat* candidateList = UIContainer()->CandidatePane()->CandidateArray();
-    TBuf<KMaxBufLen> buf;
-    TBool isPhraseCreation = EFalse;
-    TInt extLen = chineseDisped->Count() + zhuyinSymbols->Count() - KMaxInputLength;
-    
-    if ( extLen > 0 )
-        {
-        TInt keyStrokePos = UIContainer()->EditPaneWindow()->GetCursorIndexOfKeystroke();
-        zhuyinSymbols->Delete ( zhuyinSymbols->Count() - extLen, extLen );
-        if ( keyStrokePos > zhuyinSymbols->Count() )
-            {
-            UIContainer()->EditPaneWindow()->SetCursorIndexOfKeystroke( zhuyinSymbols->Count() );
-            }
-        }
-
-    TBool valid = TZhuyinSymbolsMethods::UpdateEEPContent(
-        ptiengine,
-        analyser,
-        zhuyinSymbols,
-        chineseDisped,
-        candidateList,
-        buf,
-        isPhraseCreation
-        );
-
-    if ( ( chineseDisped->Count() != 0 || zhuyinSymbols->Count() > 1 ) &&
-        ( candidateList->Count() != 0 ) )
-        {
-        for ( TInt i = 0; i < candidateList->Count(); ++i )
-            {
-            if ( TZhuyinSymbolsMethods::IsZhuyinSymbol( candidateList->MdcaPoint( i ) ) )
-                {
-                candidateList->Delete( i, 1 );
-                break;
-                }
-            }
-        }
-    UIContainer()->PinyinPopupWindow()->SetEEPContentValid(valid);
-    UIContainer()->CandidatePane()->SplitPhraseCandidatesIntoPages();
-    if ( !valid || candidateList->Count() == 0 )
-        {
-        DeleteSeparatorWhenInvaild( buf );
-        valid = EFalse;
-        }
-    CheckShowInfo( buf, zhuyinSymbols );
-    UIContainer()->PinyinPopupWindow()->SetEEPContent(buf);
-    return valid;
-    }
-   
-void TAknFepInputStateZhuyinPhraseCreationBase::UpdateIndicator()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlCandidatePane* candidatePane = uiContainer->CandidatePane();
-    TInt candidateCount = candidatePane->CandidateArray()->Count();
-
-    if ( candidatePane->IsFirstPage() || candidateCount== 0 )
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows( EFalse );
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowUpScrollArrows( ETrue );
-        }
-
-    if ( candidatePane->IsLastPage() || candidateCount== 0 )
-        {
-        uiContainer->CandidatePane()->ShowDownScrollArrows( EFalse );
-        }
-    else
-        {
-        uiContainer->CandidatePane()->ShowDownScrollArrows( ETrue );
-        }
-    }
-
-// ---------------------------------------------------------
-// Get high light begine position.
-// ---------------------------------------------------------
-//
-TInt TAknFepInputStateZhuyinPhraseCreationBase::BegPosOfMoreThanSeven()
-    {
-    TInt i = 0;
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    TBuf<KMaxBufLen> buf;
-    buf = uiContainer->PinyinPopupWindow()->GetEEPContent();
-    TInt characterCount = uiContainer->PinyinPopupWindow()->ChineseCharsDisped()->Count();
-    TInt allTextCount = characterCount;
-
-    // calculate the total number of character according to stroke
-    for (i = 0; i < buf.Length() && allTextCount < KMaxPhraseCreationCount; i++ )
-        {
-        if ( ( buf.Mid( i, 1 ) == KStrokeManualSeparator )|| 
-            ( buf.Mid( i, 1 ) == KToneMark1 ) ||
-            ( buf.Mid( i, 1 ) == KToneMark2 ) ||
-            ( buf.Mid( i, 1 ) == KToneMark3 ) ||
-            ( buf.Mid( i, 1 ) == KToneMark4 ) ||
-            ( buf.Mid( i, 1 ) == KToneMark5 ) )
-            {
-            allTextCount++;
-            }
-        }
-
-    allTextCount++;
-    
-    if ( allTextCount > KMaxPhraseCreationCount )
-        {
-        return i;
-        }
-    else
-        {
-        return 0;
-        }
-    }
-
-// ---------------------------------------------------------
-// Set high light.
-// ---------------------------------------------------------
-//
-void TAknFepInputStateZhuyinPhraseCreationBase::HighlightMoreThanSeven( TInt aBegPos )
-    {
-    MAknFepUICtrlEditPane* editPane = UIContainer()->EditPaneWindow();
-    TBuf<KMaxBufLen> buf;
-    buf = UIContainer()->PinyinPopupWindow()->GetEEPContent();
-    TInt EndPos = buf.Length();
-    editPane->SetHighlight( aBegPos, EndPos );
-    }
-
-// ---------------------------------------------------------
-// replace the keystroke.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputStateZhuyinPhraseCreationBase::ReplaceKeystrokeL(
-                                                TInt aIndex, 
-                                                TInt aChineseCount,
-                                                const TDesC& aSymbol, 
-                                                CDesCArrayFlat* aZhuyinSymbol )
-    {
-    TBuf<1> bufTmp;
-    bufTmp.Append( aZhuyinSymbol->MdcaPoint( aIndex - 1 ) );
-    aZhuyinSymbol->Delete( aIndex - 1 );
-    aZhuyinSymbol->InsertL( aIndex - 1, aSymbol );
-    if ( CheckKeystrokeCountL( aChineseCount, aZhuyinSymbol ) )
-        {
-        return ETrue;
-        }
-    else
-        {
-        aZhuyinSymbol->Delete( aIndex - 1 );
-        aZhuyinSymbol->InsertL( aIndex - 1, bufTmp );
-        return EFalse;
-        }
-    }
-
-void TAknFepInputStateZhuyinPhraseCreationBase::RefreshUI()
-    {
-    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
-    MAknFepUICtrlEditPane* editPane = uiContainer->EditPaneWindow();
-    CDesCArrayFlat* zhuyinSymbols = uiContainer->PinyinPopupWindow()->ZhuyinSymbols();
-    CDesCArrayFlat* chineseDisped = uiContainer->PinyinPopupWindow()->ChineseCharsDisped();
-    
-    CDesCArrayFlat* candidateList = uiContainer->CandidatePane()->CandidateArray();
-    
-    // get cursor position
-    TPoint baseLine;
-    TInt height(0);
-    TInt ascent(0);
-    TRAPD(ret,iOwner->FepMan()->
-        GetScreenCoordinatesL(baseLine,height,ascent));
-    if ( ret == KErrNone )
-        {
-        uiContainer->SetContainerPosition( baseLine, height );
-        }
-    TBuf<KMaxBufLen> seed;
-    TBool valid = ETrue;
-    TBuf<KMaxBufLen> buf;
-    buf = uiContainer->PinyinPopupWindow()->GetEEPContent();
-    valid = uiContainer->PinyinPopupWindow()->GetEEPContentValid();
-
-    TBool isHighlight = EFalse;
-    TInt zhuyinBegPos = chineseDisped->Count();
-
-   TRAP_IGNORE( isHighlight = !iOwner->ZhuyinAnalyser()->AnalyzeL( buf.Mid( zhuyinBegPos ) ) );
-   CheckShowInfo( buf, zhuyinSymbols );
-   
-    TInt keyStrokePos = editPane->GetCursorIndexOfKeystroke();
-    if ( keyStrokePos > zhuyinSymbols->Count() + 1 )
-    	{
-    	keyStrokePos = zhuyinSymbols->Count();
-    	editPane->SetCursorIndexOfKeystroke( keyStrokePos );
-    	}
-    TInt newCursorPos = TZhuyinSymbolsMethods::RefreshCursorPos(
-        chineseDisped->Count(),buf,keyStrokePos);
-    
-    TZhuyinSymbolsMethods::Convert2Des(zhuyinSymbols,seed);
-    editPane->SetTextForZhuyin(buf,newCursorPos,chineseDisped->Count(),seed,keyStrokePos,!valid);
-    if ( !valid || isHighlight
-        || candidateList->Count()== 0 || zhuyinSymbols->Count() == 0 )
-        {
-        uiContainer->CandidatePane()->SetInVisiable();
-        editPane->SetHighlight(chineseDisped->Count(),buf.Length()-1);
-        uiContainer->SetControlInVisible( EFalse );
-        uiContainer->Enable( ETrue );
-        uiContainer->ShowHorizontalScrollArrows( EFalse );
-        uiContainer->ShowVerticalScrollArrows( EFalse );   
-        }
-    else
-        {
-        uiContainer->SetControlInVisible( ETrue );
-        uiContainer->CandidatePane()->SetCandidateBuffer();
-        uiContainer->CandidatePane()->SelectFirstPhrase();
-        uiContainer->Enable( ETrue );
-        uiContainer->ShowVerticalScrollArrows( ETrue );
-        }
-    TInt begPos = BegPosOfMoreThanSeven();
-
-    if ( begPos )
-        {
-        HighlightMoreThanSeven( begPos );
-        }
-
-    UpdateIndicator();
-    }
-
-// ---------------------------------------------------------
-// Check the keystroke count.
-// ---------------------------------------------------------
-//
-TBool TAknFepInputStateZhuyinPhraseCreationBase::CheckKeystrokeCountL(
-                                              TInt aChineseCount,
-                                              CDesCArrayFlat* aZhuyinSymbol )
-    {
-    TBuf<KMaxKeystrokeCount> inputBuf;
-    
-    for (TInt i = 0; i < aZhuyinSymbol->Count(); ++i )
-        {
-        inputBuf.Append( aZhuyinSymbol->MdcaPoint( i ) );
-        }
-    
-    if ( !iOwner->ZhuyinAnalyser()->AnalyzeL( inputBuf ) )
-        {
-        return ETrue;
-        }
-    else
-        {
-        HBufC* showBuf = iOwner->ZhuyinAnalyser()->LastAnalysisResult();
-        if ( showBuf->Length() > KMaxInputLength - aChineseCount )
-            {
-            return EFalse;
-            }        
-        }  
-    return ETrue;
-    }
-
-void TAknFepInputStateZhuyinPhraseCreationBase::HandleCommandL(TInt /*aCommandId*/)
-    {   
-    RefreshUI();    
-    }
-
-void TAknFepInputStateZhuyinPhraseCreationBase::CheckShowInfo( TDes& aOutDes, 
-                                            CDesCArrayFlat* aZhuyinSymbol )
-    {
-    if( aOutDes.Length() <= KMaxInputLength )
-        {
-        return;
-        }
-    TInt extLen = aOutDes.Length() - KMaxInputLength;
-    TInt delCount = 0;
-    TBuf<KMaxInputLength> delBuf;
-    delBuf.Copy( aOutDes.Mid( KMaxInputLength ) );
-    aOutDes.Delete( KMaxInputLength, extLen );
-    if ( aOutDes.Mid( KMaxInputLength - 1, 1 ).
-        Compare( KStrokeManualSeparator ) == 0 )
-        {
-        aOutDes.Delete( KMaxInputLength - 1, 1 );
-        }
-    
-    for ( TInt i = 0; i < delBuf.Length(); i++ )
-        {
-        if ( delBuf.Mid( i, 1 ).Compare( KStrokeManualSeparator ) != 0 )
-            {
-            delCount++;
-            }
-        }
-    
-    for ( TInt i = 0; i < delCount; i++ )
-        {
-        aZhuyinSymbol->Delete( aZhuyinSymbol->Count() - 1 );
-        }
-    }
-
-// ---------------------------------------------------------
-// Change CBA
-// ---------------------------------------------------------
-//
-void TAknFepInputStateZhuyinPhraseCreationBase::ChangeCbaL()
-    {
-    MAknFepUICtrlPinyinPopup* popup = UIContainer()->PinyinPopupWindow();
-    CDesCArrayFlat* zhuyinSymbol = popup->ZhuyinSymbols();
-    CDesCArrayFlat* chineseArray = popup->ChineseCharsDisped( );
-    CDesCArrayFlat* candidateArray = UIContainer()->CandidatePane()->CandidateArray( );
-    TBool vaild = popup->GetEEPContentValid( );
-    TInt lastRes = popup->GetLastResouce();
-
-    if ( chineseArray->Count( ) == KMaxPhraseCreationCount )
-        {
-        if ( lastRes == R_AKNFEP_SOFTKEYS_DONE_CANCEL_DONE )
-            {
-            return;
-            }
-        //User cba done-done-cancel
-        iOwner->FepMan()->UpdateCbaL( R_AKNFEP_SOFTKEYS_DONE_CANCEL_DONE );
-        popup->SetLastResouce( R_AKNFEP_SOFTKEYS_DONE_CANCEL_DONE );
-        }
-    else if ( ( 0 != zhuyinSymbol->Count( ) ) && (candidateArray->Count( )
-        != 0 ) && vaild )
-        {
-        if ( lastRes == R_AKNFEP_SOFTKEYS_PHRASE_CREATION_SELECT_CANCEL_SELECT )
-            {
-            return;
-            }
-        //User cba select-select-cancel
-        iOwner->FepMan()->UpdateCbaL( R_AKNFEP_SOFTKEYS_PHRASE_CREATION_SELECT_CANCEL_SELECT );
-        popup->SetLastResouce( R_AKNFEP_SOFTKEYS_PHRASE_CREATION_SELECT_CANCEL_SELECT );
-        }
-    else if ( (chineseArray->Count( ) > 1 )
-        && ( 0 == zhuyinSymbol->Count( ) ) )
-        {
-        if ( lastRes == R_AKNFEP_SOFTKEYS_DONE_CANCEL_DONE )
-            {
-            return;
-            }
-        //User cba Done-Done-Cancel
-        iOwner->FepMan()->UpdateCbaL( R_AKNFEP_SOFTKEYS_DONE_CANCEL_DONE );
-        popup->SetLastResouce( R_AKNFEP_SOFTKEYS_DONE_CANCEL_DONE );
-        }
-    else
-        {
-        if ( lastRes == R_AKNFEP_SOFTKEYS__PHRASE_CREATION_EMPTY_CANCEL_EMPTY )
-            {
-            return;
-            }
-        iOwner->FepMan()->UpdateCbaL( R_AKNFEP_SOFTKEYS__PHRASE_CREATION_EMPTY_CANCEL_EMPTY );
-        popup->SetLastResouce( R_AKNFEP_SOFTKEYS__PHRASE_CREATION_EMPTY_CANCEL_EMPTY );
-        }
-    }
-
-void TAknFepInputStateZhuyinPhraseCreationBase::DeleteSeparatorWhenInvaild( TDes& aDes )
-    {
-    TInt count = aDes.Length();
-    for ( TInt i = count - 1; i > 0; i-- )
-        {
-        if ( aDes.Mid( i, 1 ).Compare( KStrokeManualSeparator ) == 0 )
-            {
-            aDes.Delete( i, 1 );
-            }
-        }
-    }
-
-// End of file
--- a/fep/aknfep/src/aknfepuimanagerfingeritutchinese.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,172 +0,0 @@
-/*
-* Copyright (c) 2002 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:            Chinese finger ITUT ui manager implementation file.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include <e32keys.h>
-#include <AknFepPluginManager.h>
-#include <PtiEngine.h> 
-#include <PtiDefs.h>
-
-#include "AknFepUiManagerBase.h"
-#include "aknfepuimanagerfingeritutchinese.h"
-#include "AknFepManagerUIInterface.h"
-#include "AknFepGlobalEnums.h"
-#include "aknfepuifingeritutinputstategeneric.h"
-#include "AknFepCaseManager.h"
-#include "AknFepPanic.h"
-
-//============================ MEMBER FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// Symbian constructor
-// ---------------------------------------------------------------------------
-//
-CAknFepUIManagerFingerItutChinese* CAknFepUIManagerFingerItutChinese::NewL(
-    MAknFepManagerUIInterface* aFepMan, CAknFepCaseManager* aCaseMan, 
-    TLanguage aLanguage, CAknFepPluginManager* aPluginMager)
-    {   
-    CAknFepUIManagerFingerItutChinese* self = new(ELeave)
-        CAknFepUIManagerFingerItutChinese(aFepMan, aCaseMan, aPluginMager);
-        
-    CleanupStack::PushL(self);
-    self->ConstructL(aLanguage);
-    CleanupStack::Pop();
-
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CAknFepUIManagerFingerItutChinese::~CAknFepUIManagerFingerItutChinese()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Handle key event
-// ---------------------------------------------------------------------------
-//
-TBool CAknFepUIManagerFingerItutChinese::HandleKeyL( TInt aKey, TKeyPressLength aLength,
-		                                            TEventCode /*aEventCode*/ )
-    {
-    TUIState currentState = iFepUiState.State();
-    if (aLength == EShortKeyPress)
-        {
-        iInitialFepUIState = currentState;
-        }
-
-    if(!iPluginMager->CurrentPluginInputFepUI()->HandleKeyL(
-         aKey == EStdKeyNull ? EPtiKeyStar : aKey , aLength))
-        {
-        return iStatePtr->HandleKeyL(aKey, aLength); // Failed to handle it
-        }
-        
-    return ETrue; // It is ok.
-    }
-
-// ---------------------------------------------------------------------------
-// Close current Finger ITUT ui
-// ---------------------------------------------------------------------------
-//
-void CAknFepUIManagerFingerItutChinese::CloseUI()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Input mode is supported by this ui
-// ---------------------------------------------------------------------------
-//
-TInt CAknFepUIManagerFingerItutChinese::SupportLanguage(TInt /*aMode*/) const
-    {
-    return iLanguage;
-    }
-
-// ---------------------------------------------------------------------------
-// Change state machine
-// ---------------------------------------------------------------------------
-//
-TUIState CAknFepUIManagerFingerItutChinese::ChangeState(TUIState /* aState*/)
-    {
-    // ask pti engine if phrase input is supported
-    return iStatePtr->State();
-    }
-
-// ---------------------------------------------------------------------------
-// Get current fep ui state machine
-// ---------------------------------------------------------------------------
-//
-TAknFepInputStateBase* CAknFepUIManagerFingerItutChinese::FepUIState()
-    {
-    return &iFepUiState;
-    }
-
-// ---------------------------------------------------------------------------
-// Set current input language
-// ---------------------------------------------------------------------------
-//
-void CAknFepUIManagerFingerItutChinese::SetInputLanguageL(TLanguage aLanguage)
-    {
-    iLanguage = aLanguage;
-    }
-
-// ---------------------------------------------------------------------------
-// C++ default constructor
-// ---------------------------------------------------------------------------
-//
-CAknFepUIManagerFingerItutChinese::CAknFepUIManagerFingerItutChinese(
-    MAknFepManagerUIInterface* aFepMan, 
-    CAknFepCaseManager* aCaseMan, 
-    CAknFepPluginManager* aPluginMager)
-    : CAknFepUIManagerBase(aFepMan, aCaseMan),
-    iFepUiState(NULL),
-    iPrevMode(ENumber),
-    iPluginMager(aPluginMager)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Symbian second-phase constructor
-// ---------------------------------------------------------------------------
-//
-void CAknFepUIManagerFingerItutChinese::ConstructL(TLanguage aLanguage)
-    {
-    CAknFepUIManagerBase::ConstructL(aLanguage);
-    SetMode(iFepMan->InputMode(), ETrue, EFalse);
-    iFepUiState = TAknFepUIFingerItutInputStateChineseGeneric(this/*, NULL*/);
-    }
-
-// ---------------------------------------------------------------------------
-// Change ITUT state machine
-// ---------------------------------------------------------------------------
-//
-void CAknFepUIManagerFingerItutChinese::ChangeStatetItut(TUIState /* aState*/)
-    {
-    }
-
-// End of file
--- a/fep/aknfep/src/aknfepuispellcontainer.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,265 +0,0 @@
-/*
-* Copyright (c)  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:            Provides the CAknFepUiSpellContainer methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include <eikgted.h>                  // for CEikGlobalTextEditor
-#include <eiktxlbm.h>                 // for CTextListBoxModel
-#include <eikclbd.h>                  // for CColumnListBoxData
-#include <eikbtgpc.h>                 // for CEikButtonGroupContainer
-#include <barsread.h>                 // for TResourceReader
-#include <eikclb.h>                   // for CEikColumnListBox
-#include <aknnotewrappers.h>          // for CAknInformationNote
-#include <appapaclayout.cdl.h>        // for Layout stuff
-#include <StringLoader.h>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <layoutmetadata.cdl.h>
-
-#include "aknfepuispellcontainer.h"            
-#include "aknfepuispellinputpane.h"
-
-// CONSTANTS
-const TInt KNumberOfContainerControl = 1;
-
-// Enumarations
-enum TControls
-    {
-    EInputPane
-    };
-
-// ================= MEMBER FUNCTIONS ======================
-
-// ---------------------------------------------------------------------------
-// CAknFepUiSpellContainer::CAknFepUiSpellContainer
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-CAknFepUiSpellContainer::CAknFepUiSpellContainer()
-:iInputPane( NULL )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUiSpellContainer::InputPane
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-CAknFepUiSpellInputPane* CAknFepUiSpellContainer::InputPane()
-    {
-    return iInputPane;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUiSpellContainer::SetInputWinObserver
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-void CAknFepUiSpellContainer::SetInputWinObserver( MEikEdwinObserver* aObserver )
-    {
-    iInputPane->SetInputWinObserver(aObserver);
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUiSpellContainer::ConstructL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-void CAknFepUiSpellContainer::ConstructL(const TInt aEditorFlag, 
-    const TInt aEditorCase, const TInt aEditorSCTResID)
-    {  
-    CreateWindowL();
-
-    iInputPane = CAknFepUiSpellInputPane::NewL( this, aEditorFlag, aEditorCase,aEditorSCTResID);
-    
-    iInputPane->SetMopParent(this);
-    
-    iInputPane->SetFocus( ETrue );
-    SetContainerRect();
-    
-    iEikonEnv->EikAppUi()->AddToStackL(this,ECoeStackPriorityDialog);    
-    ActivateL();
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUiSpellContainer::NewL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-CAknFepUiSpellContainer* CAknFepUiSpellContainer::NewL(const TInt aEditorFlag, 
-    const TInt aEditorCase, const TInt aEditorSCTResID)
-    {
-    CAknFepUiSpellContainer* self = new ( ELeave ) CAknFepUiSpellContainer();
-    CleanupStack::PushL( self );
-    
-    self->SetMopParent(CEikonEnv::Static()->EikAppUi());
-    self->ConstructL(aEditorFlag, aEditorCase, aEditorSCTResID);
-
-    CleanupStack::Pop();
-    
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUiSpellContainer::~CAknFepUiSpellContainer
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-CAknFepUiSpellContainer::~CAknFepUiSpellContainer()
-    {
-    iEikonEnv->EikAppUi()->RemoveFromStack(this);
-    
-    delete iInputPane;
-    iInputPane = NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUiSpellContainer::CountComponentControls
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-TInt CAknFepUiSpellContainer::CountComponentControls() const
-    {
-    return KNumberOfContainerControl; 
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUiSpellContainer::ComponentControl
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-CCoeControl* CAknFepUiSpellContainer::ComponentControl( TInt aIndex ) const
-    {
-    switch ( aIndex )
-        {
-        case EInputPane:
-            {
-            return iInputPane;
-            }
-        default:
-            {
-            return NULL;
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUiSpellContainer::Draw
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-void CAknFepUiSpellContainer::Draw( const TRect& /*aRect*/ ) const
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUiSpellContainer::InputCapabilities
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-TCoeInputCapabilities CAknFepUiSpellContainer::InputCapabilities() const
-    {
-    if ( iInputPane && iInputPane->IsFocused())
-        {
-        return iInputPane->InputCapabilities();
-        }
-
-    return ENone;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUiSpellContainer::OfferKeyEventL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-TKeyResponse CAknFepUiSpellContainer::OfferKeyEventL( 
-            const TKeyEvent& aKeyEvent, TEventCode aType )
-    {
-    if ( iInputPane && iInputPane->IsFocused())
-        {
-        return iInputPane->OfferKeyEventL( aKeyEvent, aType );
-        }
-    
-    return EKeyWasNotConsumed;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUiSpellContainer::SizeChanged
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-void CAknFepUiSpellContainer::SizeChanged()
-    {  
-    iInputPane->SetRect(Rect());
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUiSpellContainer::SetContainerRect
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-void CAknFepUiSpellContainer::FocusChanged(TDrawNow aDrawNow)
-    {
-    TBool bFocused = IsFocused() ? ETrue : EFalse;
-    
-    if ( ComponentControl( 0 ) )
-        {
-        ComponentControl( 0 )->SetFocus( bFocused, aDrawNow );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUiSpellContainer::SetContainerRect
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-void  CAknFepUiSpellContainer::SetContainerRect()
-    {
-    TAknWindowLineLayout appWnd = AknLayoutScalable_Apps::application_window().LayoutLine();
-    TAknWindowLineLayout mainPane;
-    if ( Layout_Meta_Data::IsLandscapeOrientation())
-        {
-        mainPane = AknLayoutScalable_Apps::main_pane(4).LayoutLine();	
-        }
-    else
-        {
-        mainPane = AknLayoutScalable_Apps::main_pane(0).LayoutLine();		
-        }
-     
-    TAknLayoutRect mainPaneRect;
-    mainPaneRect.LayoutRect(appWnd.Rect(), mainPane);
-
-    mainPaneRect.Rect();
-    
-    TInt ay = mainPaneRect.Rect().iTl.iY + 
-              ((mainPaneRect.Rect().iBr.iY - mainPaneRect.Rect().iTl.iY) / 5)*4;
-    
-    TRect containerRect(0, ay, mainPaneRect.Rect().iBr.iX, mainPaneRect.Rect().iBr.iY);
-    TRect tempRect = TRect(0,0,1,1);
-    SetRect(tempRect);
-    }
-    
-// End of File  
--- a/fep/aknfep/src/aknfepuispellinputpane.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,257 +0,0 @@
-/*
-* Copyright (c)  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:            Provides the CAknFepUiSpellInputPane methods.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include <eikgted.h>            // for CEikGlobalTextEditor
-#include <eikedwob.h>           // for MEikEdwinObserver
-#include <eikenv.h>             // for CEikonEnv
-#include <barsread.h>           // for TResourceReader
-#include <eiklabel.h>           // for CEikLable
-#include <AknUtils.h>
-#include <eikedwin.h> 
-#include <appapaclayout.cdl.h>        // for Layout stuff
-#include <aknlayoutscalable_apps.cdl.h>
-#include <StringLoader.h>
-
-#include "aknfepuispellinputpane.h"
-
-// CONSTANTS
-const TInt KNumberOfControl = 1;
-const TInt KSpellMaxLength = 32;    
-const TInt KTouchSpellEditorMaxLine = 1;  
-// Enumarations
-enum TControls
-    {
-    EInputWin
-    };
-
-// ================= MEMBER FUNCTIONS ======================
-
-// ---------------------------------------------------------------------------
-// CAknFepUiSpellInputPane::CAknFepUiSpellInputPane
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-CAknFepUiSpellInputPane::CAknFepUiSpellInputPane()
-:iInputWin( NULL )
-{
-} 
-
-// ---------------------------------------------------------------------------
-// CAknFepUiSpellInputPane::CAknFepUiSpellInputPane
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-void CAknFepUiSpellInputPane::ConstructL( CCoeControl* aParent, 
-    const TInt aEditorFlag, const TInt aEditorCase, 
-    const TInt aEditorSCTResID )
-{
-    // Create as a child window of the specified parent control's window.
-    CreateWindowL( aParent );
-    
-    SetMopParent(aParent);
-
-    // Create input editor
-    iInputWin = new ( ELeave ) CEikEdwin;
-    // Initialize the editor
-    iInputWin->SetContainerWindowL( *this );
-    iInputWin->ConstructL(0,0,0,KTouchSpellEditorMaxLine);
-    
-    iInputWin->SetAknEditorInputMode(EAknEditorTextInputMode);
-    iInputWin->SetAknEditorSpecialCharacterTable(aEditorSCTResID);
-    iInputWin->SetAknEditorFlags(iInputWin->AknEdwinFlags() | 
-        aEditorFlag | EAknEditorFlagNoT9);
-    iInputWin->SetAknEditorCase(aEditorCase);
-	iInputWin->SetMaxLength(KSpellMaxLength);
-    iInputWin->SetMopParent(this);
-    iInputWin->SetFocus( EFalse );
-
-    iInputWin->ActivateL();
-
-    ActivateL();
-}
-
-// ---------------------------------------------------------------------------
-// CAknFepUiSpellInputPane::NewL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-CAknFepUiSpellInputPane* CAknFepUiSpellInputPane::NewL(
-    CCoeControl* aParent, const TInt aEditorFlag, 
-    const TInt aEditorCase, const TInt aEditorSCTResID)
-    {
-    CAknFepUiSpellInputPane* self = new ( ELeave ) CAknFepUiSpellInputPane;
-    
-    CleanupStack::PushL( self );
-    self->ConstructL( aParent, aEditorFlag, aEditorCase, aEditorSCTResID );
-    CleanupStack::Pop();
-    
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUiSpellInputPane::~CAknFepUiSpellInputPane
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-CAknFepUiSpellInputPane::~CAknFepUiSpellInputPane()
-    {
-    delete iInputWin;
-    iInputWin = NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUiSpellInputPane::InputWin
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-CEikEdwin* CAknFepUiSpellInputPane::InputWin() const
-    {
-    return iInputWin;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUiSpellInputPane::SetInputWinObserver
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-void CAknFepUiSpellInputPane::SetInputWinObserver( MEikEdwinObserver* aObserver )
-    {
-    iInputWin->SetEdwinObserver( aObserver );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CAknFepUiSpellInputPane::SetInputWinTextL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-void CAknFepUiSpellInputPane::SetInputWinTextL( const TDesC* aDes )
-    {
-    iInputWin->SetTextL( aDes );
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUiSpellInputPane::SelectAllL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-void CAknFepUiSpellInputPane::SelectAllL()
-    {
-    iInputWin->SelectAllL();
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUiSpellInputPane::InputCapabilities
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-TCoeInputCapabilities CAknFepUiSpellInputPane::InputCapabilities() const
-    {
-    if (iInputWin->IsFocused())
-        {
-        return iInputWin->InputCapabilities();
-        }
-
-    return ENone;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUiSpellInputPane::OfferKeyEventL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-TKeyResponse CAknFepUiSpellInputPane::OfferKeyEventL(
-            const TKeyEvent& aKeyEvent, TEventCode aType )
-    {
-    if (iInputWin->IsFocused())
-        {
-        return iInputWin->OfferKeyEventL( aKeyEvent, aType );
-        }
-
-    return EKeyWasNotConsumed;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUiSpellInputPane::CountComponentControls
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-TInt CAknFepUiSpellInputPane::CountComponentControls() const
-    {
-    return KNumberOfControl;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUiSpellInputPane::ComponentControl
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-CCoeControl* CAknFepUiSpellInputPane::ComponentControl( TInt aIndex ) const
-    {
-    switch ( aIndex )
-        {
-        case EInputWin:
-            {
-            return iInputWin;
-            }
-        default:
-            {
-            return NULL;
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUiSpellInputPane::Draw
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-void CAknFepUiSpellInputPane::Draw( const TRect& /*aRect*/ ) const
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUiSpellInputPane::FocusChanged
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-void CAknFepUiSpellInputPane::FocusChanged( TDrawNow aDrawNow )
-    {
-    iInputWin->SetFocus( IsFocused(), aDrawNow );
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepUiSpellInputPane::SizeChanged
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-void CAknFepUiSpellInputPane::SizeChanged()
-	{
-    }
-
-// End of File
--- a/fep/aknfep/src/aknfepuserdbdlg.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1089 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:            Implement method in dialog for user DB management
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include <aknlists.h> // CAknSingleStyleListBox
-#include <barsread.h> // TResource Reader
-#include <eikclbd.h> // CColumnListBoxData
-#include <aknsfld.h> //CAknSearchField
-#include <AknQueryDialog.h> //CAknTextQueryDialog
-#include <AknUtils.h> //AknSelectionService , CAknFilteredTextListBoxModel
-#include <StringLoader.h> //StringLoader 
-#include <aknnotewrappers.h> //CAknWarningNote 
-#include <AknProgressDialog.h> //CAknProgressDialog
-#include <AknDialog.h> //CAknDialog
-#include <akncontext.h> //CAknContextPane 
-#include <AknWaitDialog.h> //CAknWaitDialog 
-#include <AknProgressDialog.h> //CAknProgressDialog
-#include <eikprogi.h> //CEikProgressInfo 
-#include <eikbtgpc.h> //CEikButtonGroupContainer 
-#include <eikmenub.h> 
-#include <charconv.h> //CCnvCharacterSetConverter
-#include <f32file.h> //RFs
-#include <eikedwin.h> //CEikEdwin 
-#include <akntitle.h> //CAknTitlePane 
-#include <aknfep.rsg>
-#include "AknFep.hrh"
-#include "aknfepuserdbdlg.h"
-#include "dbmanagement.h"
-#include "AknFepManagerUIInterface.h"
-#include "AknFepManager.h"  
-#include "aknfepuserdbquerydlg.h"
-
-const TInt KListBoxItemMaxLength = 8;
-const TInt KErrMsgMaxLength = 60;
-const TInt KFindBoxInputMaxLength = 7;
-const TInt KCDesCArraySize = 1;
-_LIT( KItemStart, "\t" );
-_LIT( KSearchTextEmpty, "" );
-
-CAknFepUserdbDlg::CAknFepUserdbDlg( 
-    TInt &aValue, CArrayFix< TInt> *aSelectedItems, MDesCArray *aArray,
-    CPtiEngine* aPtiEngine, CAknFepManager* aOwner, MEikCommandObserver *aObserver) :
-    CAknMarkableListDialog( aValue, aSelectedItems, aArray, aObserver ),
-    iPtiEngine( aPtiEngine ),
-    iOwner( aOwner ),
-    iOldIndex( 0 ),
-    iOldLanguage( 0 ),
-    iOldCbaRes( 0 )
-    {
-    // No implementation required
-    }
-
-CAknFepUserdbDlg::~CAknFepUserdbDlg()
-    {
-    delete iDBEngine;
-    iDBEngine = NULL;
-    iPtiEngine = NULL;
-    iOwner = NULL;  
-    iQueryDlg = NULL;
-    if ( iEikonEnv && iContextMenuBar )
-        {
-        iEikonEnv->EikAppUi()->RemoveFromStack( iContextMenuBar );
-        delete iContextMenuBar;
-        }
-    }
-
-CAknFepUserdbDlg* CAknFepUserdbDlg::NewL(
-    TInt &aOpenedItem, CArrayFix< TInt> *aSelectedItems, MDesCArray *aArray,
-    TInt aMenuBarResourceId, CPtiEngine* aPtiEngine, CAknFepManager* aOwner,
-    MEikCommandObserver *aObserver )
-    {
-    CAknFepUserdbDlg* self = new( ELeave ) CAknFepUserdbDlg( aOpenedItem, 
-        aSelectedItems, aArray, aPtiEngine, aOwner, aObserver );
-    CleanupStack::PushL( self );
-    self->ConstructL( aMenuBarResourceId );
-    CleanupStack::Pop( self ); // self;
-    return self;
-    }
-	
-void CAknFepUserdbDlg::ConstructL( TInt aMenuBarResourceId )
-    {
-    CAknSelectionListDialog::ConstructL( aMenuBarResourceId );
-    this->PrepareLC( R_AKNFEP_LISTDLG_DIALOG );
-    HBufC* message = StringLoader::LoadLC( R_AKNFEP_USER_DB_LIST_NO_ITEM_TEXT );
-    ListBox()->View()->SetListEmptyTextL( *message );
-    ConstructContextMenuL();
-    
-    //the DB engine init
-    iDBEngine = CDBManagement::NewL( iOwner );
-    CleanupStack::PopAndDestroy( message ); //message
-    }
-
-TBool CAknFepUserdbDlg::InitListBoxItemL()
-    {
-    iItems = new( ELeave ) CDesCArrayFlat( KCDesCArraySize );
-    
-    TBuf<KErrMsgMaxLength> errMsg;
-    
-    //get the phrases from the DB
-    if ( !iDBEngine->GetPhraseFromDBL( *iItems ) )
-        {
-        iDBEngine->GetErrMsg( errMsg );
-        //note fot err message
-        CAknWarningNote* note = new( ELeave ) CAknWarningNote();
-        note->SetTone( CAknNoteDialog::EWarningTone );
-        note->ExecuteLD( errMsg );  
-        }
-    else
-        {
-        InsertIconL( iItems );
-        }  
-    CAknSingleStyleListBox* listBox=
-                static_cast<CAknSingleStyleListBox*>( Control( ESelectionListControl ) );
-    CTextListBoxModel* model = listBox->Model(); 
-    if ( iItems && iItems->Count() != 0 )
-        {
-        model->SetItemTextArray( iItems );
-        model->SetOwnershipType( ELbmOwnsItemArray );
-        ListBox()->HandleItemAdditionL();
-        return ETrue;
-        }
-    else
-        {
-        model->SetItemTextArray( iItems );
-        model->SetOwnershipType( ELbmOwnsItemArray );
-        return EFalse;
-        }
-    }
-
-void CAknFepUserdbDlg::AddItemL()
-    {
-    CAknSingleStyleListBox* listbox =
-        static_cast<CAknSingleStyleListBox*>( Control( ESelectionListControl ) );
-    // New item text
-    TBuf<KListBoxItemMaxLength> itemText;
-    TBuf<KErrMsgMaxLength> errMsg;     
-    if ( FindBox()->TextLength() != 0 )
-        {
-        FindBox()->GetSearchText( itemText );
-        }
-    FindBox()->SetFocus( EFalse );
-    HBufC* prompt = StringLoader::LoadLC( R_AKNFEP_USER_DB_LIST_ADD_ITEM_TEXT );
-    CAknFepUserDBQueryDlg* dialog = 
-        CAknFepUserDBQueryDlg::NewL( iDBEngine, itemText, *prompt );
-    iQueryDlg = dialog;
-    CleanupStack::PopAndDestroy( prompt );   
-    //Execute dialog, 
-    //In the dialog it will check input and show waring not
-    if ( dialog->ExecuteLD( R_AKNFEP_LISTBOX_DATA_QUERY_DIALOG ) )
-        {
-        TInt currentIndex = 0;
-        CAknFilteredTextListBoxModel* model = 
-            static_cast<CAknFilteredTextListBoxModel*>( ListBox()->Model() );
-        CDesCArray* itemArray =
-                static_cast<CDesC16ArrayFlat*>( model->ItemTextArray() );
-        
-        //Add '\t' at the beginning of itemText for find
-        itemText.Insert( 0, KItemStart() );
-        //
-        TInt ret = itemArray->Find( itemText, currentIndex, ECmpCollated);
-        if ( ret != 0 )
-            {
-            //add the phrase to db
-            itemText.Trim();
-            if ( !iDBEngine->AddPhraseToDB(  itemText ) )
-            	{
-            	iDBEngine->GetErrMsg( errMsg );
-                //note fot err message
-                CAknWarningNote* note = new( ELeave ) CAknWarningNote();
-                note->SetTone( CAknNoteDialog::EWarningTone );
-                note->ExecuteLD( errMsg );  
-                // add by chen  
-            	return;
-            	}
-            // Add '\t' in front of text
-            itemText.Insert( 0, KItemStart() );
-            // Insert item to the item array 
-            if ( itemArray->Count() > 0 )
-                {
-                itemArray->InsertL( currentIndex, itemText );
-                }
-            else
-                {
-                itemArray->InsertL( 0, itemText );
-                }        
-            // Update the listbox
-            listbox->HandleItemAdditionL();
-            itemArray->Sort(ECmpCollated);
-            
-            FindBox()->SetSearchTextL( KSearchTextEmpty );
-            ResetSearchFieldL();
-            model->Filter()->HandleItemArrayChangeL();
-            
-            //Highlight the item you have just edited
-            itemArray->Find( itemText, currentIndex, ECmpCollated );
-            listbox->SetCurrentItemIndexAndDraw( currentIndex );
-
-            }
-        else
-            {
-            FindBox()->SetSearchTextL( KSearchTextEmpty );
-            ResetSearchFieldL();
-            listbox->SetCurrentItemIndexAndDraw( currentIndex );
-            }
-        
-        model->Filter()->UpdateCachedDataL();
-        UpdateListBoxL();
-        }
-    }
-
-void CAknFepUserdbDlg::RemoveItemL()
-    {       
-    //error message
-    TBuf<KErrMsgMaxLength> errMsg;
-    TBuf<KListBoxItemMaxLength> removePhrase; 
-    TInt oldIndex = ListBox()->View()->CurrentItemIndex();    
-    CAknFilteredTextListBoxModel* model = 
-        static_cast<CAknFilteredTextListBoxModel*>( ListBox()->Model() );
-    CDesCArrayFlat* item =
-        static_cast<CDesCArrayFlat*>( model->ItemTextArray() );
-    model->Filter()->UpdateSelectionIndexesL();
-    TInt markItems = model->Filter()->SelectionIndexes()->Count();    
-    if ( markItems )
-        {       
-        HBufC * message = StringLoader::LoadLC(
-            R_AKNFEP_DELETE_CONFIRMATION_TEXT, markItems,
-            iEikonEnv ); //message
-        CAknQueryDialog* delsomenote =
-            CAknQueryDialog::NewL( CAknQueryDialog::EConfirmationTone );       
-        delsomenote->SetPromptL( *message );
-        if ( delsomenote->ExecuteLD( R_AKNFEP_DELETE_QUERY_DIALOG ) )
-            {  
-            iProgressDialog = new (ELeave) CAknProgressDialog(
-                ( REINTERPRET_CAST( CEikDialog**, &iProgressDialog ) ), ETrue );
-            iProgressDialog->PrepareLC( R_AKNFEP_WAIT_DIALOG );
-            iProgressInfo = iProgressDialog->GetProgressInfoL();
-            iProgressInfo->SetFinalValue( markItems ); 
-            iProgressDialog->RunLD();           
-            CArrayFix<TInt>* selectionArray = new( ELeave ) CArrayFixFlat<TInt>( markItems );
-            CleanupStack::PushL( selectionArray ); //message, selectionArray          
-            //loop for copy selection index
-            for ( TInt idx = markItems; idx > 0; idx-- )
-                {
-                selectionArray->AppendL( model->Filter()->SelectionIndexes()->At( idx-1 ) );
-                }           
-            TKeyArrayFix* key= new (ELeave) TKeyArrayFix(0, ECmpTInt);
-            CleanupStack::PushL( key ); //message, selectionArray, key        
-            //sort selection array
-            selectionArray->Sort( *key );           
-            CleanupStack::PopAndDestroy( key ); //message, selectionArray 
-            // loop throught the selected item indexes, and delete items
-            for ( TInt idx = markItems; idx > 0; idx-- )
-                {
-                // get the index of the selected item
-                TInt itemIndex = selectionArray->At( idx-1 );
-                //romve the phrase form the db
-	            removePhrase.Copy( item->MdcaPoint( itemIndex ) );
-	            removePhrase.Trim();
-	            if( !iDBEngine->RemovePhraseFromDB(  removePhrase ) )
-	            	{
-                    iDBEngine->GetErrMsg( errMsg );
-                    iProgressDialog->ProcessFinishedL();
-                    iProgressDialog = NULL;  
-	                CleanupStack::PopAndDestroy( selectionArray ); //message    
-	                CleanupStack::PopAndDestroy( message );//
-	                //note fot err message
-	                CAknWarningNote* errnote = new( ELeave ) CAknWarningNote();
-	                errnote->SetTone( CAknNoteDialog::EWarningTone );
-	                errnote->ExecuteLD( errMsg );
-	            	return;
-	            	}
-                iProgressInfo->IncrementAndDraw(1);    
-                //delte the item
-                item->Delete( itemIndex );
-                }            
-            CleanupStack::PopAndDestroy( selectionArray ); //message            
-            iProgressDialog->ProcessFinishedL();
-            iProgressDialog = NULL;              
-
-            // Update the listbox
-            ResetSearchFieldL();
-            ListBox()->HandleItemRemovalL();
-            model->Filter()->HandleItemArrayChangeL();
-            model->Filter()->SelectionIndexes()->Reset();
-            ListBox()->View()->ClearSelection();
-            }
-        CleanupStack::PopAndDestroy( message );//
-        }
-    else
-        {
-        HBufC * message = StringLoader::LoadLC(
-            R_AKNFEP_DELETE_CONFIRMATION_TEXT, 1, 
-            iEikonEnv );
-        CAknQueryDialog* delonenote =
-            CAknQueryDialog::NewL( CAknQueryDialog::EConfirmationTone );
-        delonenote->SetPromptL( *message );        
-        if ( delonenote->ExecuteLD( R_AKNFEP_DELETE_QUERY_DIALOG ) )
-            {    
-            //remove from db
-            removePhrase.Copy( model->ItemText( ListBox()->CurrentItemIndex() ) );
-            removePhrase.Delete( 0, 1 );
-            if( !iDBEngine->RemovePhraseFromDB( removePhrase ) )
-                {
-                iDBEngine->GetErrMsg( errMsg );
-                //note fot err message
-                CAknWarningNote* errnote = new( ELeave ) CAknWarningNote();
-                errnote->ExecuteLD( errMsg );   
-                CleanupStack::PopAndDestroy( message );
-                return;
-                }            
-            TInt itemIndex = ListBox()->View()->CurrentItemIndex();           
-            //get the actual index of list
-            TInt actualIndex = FindActualIndex( itemIndex );            
-            // Remove highlighted item from the listbox.
-            item->Delete( actualIndex );  
-            // Update the listbox
-            ResetSearchFieldL();
-            }
-        CleanupStack::PopAndDestroy( message );
-        }
-    // If focused item is out of range, bring it forth
-    if ( ( ( item->Count()-1 ) >= 0 ) && FindBox()->TextLength() == 0 )
-        {
-        if ( ( oldIndex > ( item->Count()-1 ) ))
-            {
-            ListBox()->SetCurrentItemIndexAndDraw( item->Count()-1 );
-            }
-        else
-            {
-            ListBox()->SetCurrentItemIndexAndDraw( oldIndex );
-            }
-        } 
-    UpdateListBoxL();
-    }
-
-void CAknFepUserdbDlg::EditItemL()
-    {
-    CAknSingleStyleListBox* listbox = 
-        static_cast<CAknSingleStyleListBox*>( Control( ESelectionListControl ) );        
-       
-    // If we don't have items, do nothing and return
-    if ( listbox->Model()->NumberOfItems() < 1 )
-        {
-        return;
-        }
-    CTextListBoxModel* model = listbox->Model();
-    // New item text
-    TBuf<KListBoxItemMaxLength> itemText;
-    TBuf<KErrMsgMaxLength> errMsg;
-    TBuf<KListBoxItemMaxLength> itemOldText;
-    itemText.Copy( model->ItemText(listbox->CurrentItemIndex () ) );
-    itemText.Trim();
-    itemOldText.Copy( model->ItemText( listbox->CurrentItemIndex() ) );
-    itemOldText.Trim();    
-    HBufC* prompt = StringLoader::LoadLC( R_AKNFEP_USER_DB_LIST_EDIT_ITEM_TEXT );
-    CAknFepUserDBQueryDlg* dialog = 
-        CAknFepUserDBQueryDlg::NewL( iDBEngine, itemText, *prompt );
-    iQueryDlg = dialog;
-    CleanupStack::PopAndDestroy( prompt );
-    // Execute dialog
-    if ( dialog->ExecuteLD( R_AKNFEP_LISTBOX_DATA_QUERY_DIALOG ) )
-        {
-        TInt currentIndex = 0;
-        CDesCArray* itemArray = 
-            static_cast<CDesC16ArrayFlat*>( model->ItemTextArray() );
-        
-        // Add '\t' in front of text for find
-        itemText.Insert( 0, KItemStart() );
-        //Find if the text is exist
-        TInt ret = itemArray->Find( itemText, currentIndex, ECmpCollated );
-        if ( ret != 0 )
-            {
-            //edit the phrase from db
-            itemText.Trim();
-            if(!iDBEngine->EditPhraseFromDB(  itemOldText, itemText ) )
-            	{
-            	iDBEngine->GetErrMsg( errMsg );
-            
-                //note fot err message
-                CAknWarningNote* note = new( ELeave ) CAknWarningNote();
-                note->ExecuteLD( errMsg );            	                	
-                return;
-                }
-            currentIndex = ListBox()->CurrentItemIndex();
-            //get the actual index of list
-            TInt actualIndex = FindActualIndex( currentIndex );
-            
-            // Remove highlighted item from the listbox.
-            itemArray->Delete( actualIndex );
-
-            // Add '\t' in front of text
-            itemText.Insert( 0, KItemStart() );
-            
-            // Insert item to the item array
-            itemArray->InsertL( actualIndex, itemText );
-            
-            // Update the listbox
-            listbox->HandleItemAdditionL();
-            itemArray->Sort(ECmpCollated);
-            
-            if ( FindBox()->TextLength() != 0 )
-                {
-                FindBox()->SetSearchTextL( KSearchTextEmpty );
-                ResetSearchFieldL();
-                }
-                        
-            ListBox()->View()->ClearSelection();
-            CAknFilteredTextListBoxModel* filterModel = 
-                static_cast<CAknFilteredTextListBoxModel*>( ListBox()->Model() );
-            filterModel->Filter()->HandleItemArrayChangeL();
-            filterModel->Filter()->UpdateCachedDataL();
-            
-            //SetHightlight
-            itemArray->Find( itemText, currentIndex, ECmpCollated );
-            ListBox()->SetCurrentItemIndexAndDraw( currentIndex );
-            }
-        else
-            {
-            //get the actual index of list
-            TInt actualIndex = FindActualIndex( listbox->CurrentItemIndex() );
-            if ( currentIndex != actualIndex )
-                {
-                itemOldText.Copy( model->ItemText( listbox->CurrentItemIndex() ) );
-                itemOldText.Trim();
-                //Here need user db engine
-                if( !iDBEngine->RemovePhraseFromDB( itemOldText ) )
-                    {
-                    iDBEngine->GetErrMsg( errMsg );
-                
-                    //note fot err message
-                    CAknWarningNote* note = new( ELeave ) CAknWarningNote();
-                    note->ExecuteLD( errMsg );                    
-                    return;
-                    }
-                 
-                currentIndex = ListBox()->CurrentItemIndex();
-                
-                //get the actual index of list
-                actualIndex = FindActualIndex( currentIndex );
-                
-                // Remove highlighted item from the listbox.
-                itemArray->Delete( actualIndex );
-                
-                listbox->HandleItemRemovalL();
-                itemArray->Sort(ECmpCollated);
-                
-                if ( FindBox()->TextLength() != 0 )
-                    {
-                    FindBox()->SetSearchTextL( KSearchTextEmpty );
-                    ResetSearchFieldL();
-                    }
-                
-                ListBox()->View()->ClearSelection();
-                CAknFilteredTextListBoxModel* filterModel = 
-                    static_cast<CAknFilteredTextListBoxModel*>( ListBox()->Model() );
-                filterModel->Filter()->HandleItemArrayChangeL();
-                filterModel->Filter()->UpdateCachedDataL();
-
-                //SetHightlight
-                itemArray->Find( itemText, currentIndex, ECmpCollated );
-                ListBox()->SetCurrentItemIndexAndDraw( currentIndex );
-                }
-            }
-        UpdateListBoxL();
-        }
-    }
-
-void CAknFepUserdbDlg::CmdMarkL( TInt aItemIndex, TBool aMark )
-    {
-    CAknSingleStyleListBox* listbox = 
-        static_cast<CAknSingleStyleListBox*>( Control( ESelectionListControl ) );
-    CTextListBoxModel* model = listbox->Model();
-    TInt itemCount = model->NumberOfItems();
-    CListBoxView* listBoxView = listbox->View();
-    if ( aMark )
-        {
-        for ( TInt i = 0; i < itemCount; i++ )
-            if ( aItemIndex == -1 || aItemIndex == i )
-                listBoxView->SelectItemL( i );
-        }
-    else
-        {
-        for ( TInt i = 0; i < itemCount; i++ )
-            {
-            if ( aItemIndex == -1 || aItemIndex == i )
-                {
-                listBoxView->DeselectItem( i );
-                }
-            }
-        }
-    CAknFilteredTextListBoxModel* filterModel = 
-        static_cast<CAknFilteredTextListBoxModel*>( ListBox()->Model() );
-    filterModel->Filter()->UpdateCachedDataL();
-    }
-
-void CAknFepUserdbDlg::ChangeCurrentCbaL ( TInt aCbaResourceId )
-    {
-    if ( iOwner->IsEntryPhrase() || iOldCbaRes == aCbaResourceId )
-        {
-        return;
-        }
-    CEikButtonGroupContainer& cba = ButtonGroupContainer();
-    cba.SetCommandSetL( aCbaResourceId );
-    cba.AddCommandSetToStackL( aCbaResourceId );
-    iOldCbaRes = aCbaResourceId;
-    cba.DrawNow();
-    }
-
-void CAknFepUserdbDlg::ProcessCommandL( TInt aCommandId )
-    {   
-    HideMenu();
-    
-    iContextMenuBar->StopDisplayingMenuBar();
-    
-    switch ( aCommandId )
-        {
-        case EAknCmdUserDBAdd:
-            {
-            AddItemL();
-            }
-            break;
-        case EAknCmdUserDBEdit:
-            {
-            EditItemL();
-            }
-            break;
-        case EAknCmdUserDBDelete:
-            {
-            RemoveItemL();
-            }
-            break;
-        case EAknCmdMark:
-        case EAknMarkAll:
-        case EAknCmdUnmark: 
-        case EAknUnmarkAll:
-            {
-            AknSelectionService::HandleMarkableListProcessCommandL( aCommandId, ListBox() );
-            UpdateListBoxL( aCommandId );
-            }
-            break;
-        default:
-            {
-            break;
-            }
-        }
-    }
-
-TBool CAknFepUserdbDlg::OkToExitL( TInt aButtonId )
-    {
-    switch ( aButtonId )
-        {
-        case EAknSoftkeyOptions:
-            {
-            CAknSelectionListDialog::DisplayMenuL(); // display the menu
-            }
-            break;
-        case EAknCmdUserDBAdd:
-            {
-            ProcessCommandL(EAknCmdUserDBAdd);
-            }
-            break;
-        case EAknSoftkeyMark:
-            {
-            TInt ItemCount = ListBox()->Model()->NumberOfItems(); 
-            TInt selectedItem = ListBox()->SelectionIndexes()->Count();
-            if ( selectedItem < 1 && ItemCount > 0 )
-                {
-                //Show options-context-exit cba
-                ChangeCurrentCbaL ( R_AKNFEP_SOFTKEYS_LIST_OPTIONS_EXIT_CONTEXT );
-                }
-            }
-            break;
-        case EAknSoftkeyUnmark:
-            {
-            TInt ItemCount = ListBox()->Model()->NumberOfItems(); 
-            TInt selectedItem = ListBox()->SelectionIndexes()->Count();
-            if ( selectedItem == 0 && ItemCount > 0 )
-                {
-                //Show options-context-exit cba
-                ChangeCurrentCbaL ( R_AKNFEP_SOFTKEYS_LIST_OPTIONS_EXIT_CONTEXT );
-                }
-            }
-            break;
-        case EAknSoftkeyContextOptions:
-            {
-            TInt items = ListBox()->Model()->NumberOfItems();
-            if ( items )
-                {
-                ShowContextMenuL();
-                }
-            }
-            break;
-        case EAknCmdMark:
-        case EAknMarkAll:
-        case EAknCmdUnmark: 
-        case EAknUnmarkAll:
-            {
-            ProcessCommandL( aButtonId );
-            }
-            break;
-        case EAknSoftkeyExit:
-            {
-            return ETrue;
-            }
-        default:
-            {
-            break;
-            }
-        }
-    
-    return EFalse;
-    }
-
-void CAknFepUserdbDlg::FocusChanged(TDrawNow aDrawNow)
-	{
-	if ( aDrawNow == EDrawNow )
-		{
-	    if ( ( FindBox()->IsVisible() && !iOwner->IsEntryPhrase()) )
-	        {
-	        FindBox()->SetFocus( ETrue );
-	        }
-		}
-	}
-
-void CAknFepUserdbDlg::DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane )
-    {  
-    if ( aResourceId == R_AKNFEP_USERDB_DLG_MENU )
-        {
-        const CArrayFix<TInt>* itemArray = ListBox()->SelectionIndexes();
-        if ( itemArray->Count() != 0 )
-            {
-            aMenuPane->SetItemDimmed( EAknCmdUserDBAdd, ETrue );
-            aMenuPane->SetItemDimmed( EAknCmdUserDBEdit, ETrue );
-            }
-        else
-            {
-            aMenuPane->SetItemDimmed( EAknCmdUserDBAdd, EFalse );
-            aMenuPane->SetItemDimmed( EAknCmdUserDBEdit, EFalse );
-            }
-        }        
-    if ( aResourceId == R_AKNFEP_MARK_UNMARK_MENUPANE )
-        {
-        TInt currentIndex = ListBox()->CurrentItemIndex();
-        TInt selectedItem = ListBox()->SelectionIndexes()->Count();
-        TInt listItems = ListBox()->Model()->NumberOfItems();
-    
-        // Display mark, mark all
-        if ( selectedItem == 0 )
-            {
-            aMenuPane->SetItemDimmed( EAknCmdUnmark, ETrue );
-            aMenuPane->SetItemDimmed( EAknUnmarkAll, ETrue );
-            return;
-            }
-        // Display unmark, unmark all
-        if ( selectedItem == listItems )
-            {
-            aMenuPane->SetItemDimmed( EAknCmdMark, ETrue );
-            aMenuPane->SetItemDimmed( EAknMarkAll, ETrue );
-            return;
-            }
-        TBool isMarked = EFalse;
-        
-        for ( TInt i = 0; i < selectedItem; i++ )
-            {
-            TInt selectedId = ListBox()->SelectionIndexes()->At( i );
-            if ( selectedId == currentIndex )
-                {
-                isMarked = ETrue;
-                }
-            }
-
-        if ( isMarked )
-            {
-            aMenuPane->SetItemDimmed( EAknCmdMark, ETrue );
-            }
-        else
-            {
-            aMenuPane->SetItemDimmed( EAknCmdUnmark, ETrue );
-            }
-        }
-    }
-
-TKeyResponse CAknFepUserdbDlg::OfferKeyEventL( const TKeyEvent& aKeyEvent, 
-                                               TEventCode aType )
-    {   
-    TKeyResponse ret(EKeyWasNotConsumed);
-    
-    CAknFilteredTextListBoxModel* filterModel = 
-        static_cast<CAknFilteredTextListBoxModel*>( ListBox()->Model() );
-    
-    TInt ItemCount = ListBox()->Model()->NumberOfItems();  
-    
-    ListBoxItemsChanged( ListBox() );
-    
-    if ( ret != EKeyWasConsumed && aKeyEvent.iCode == EKeyPhoneEnd )
-        {
-        TryExitL( EAknSoftkeyExit );
-        return EKeyWasConsumed;
-        }
-    
-    TBool claerKeyPressed = ( aType == EEventKey ) && ( aKeyEvent.iCode ==  EKeyBackspace );
-    if( claerKeyPressed && ItemCount > 0 && FindBox()->TextLength() == 0 )
-        {
-        ProcessCommandL(EAknCmdUserDBDelete);
-        UpdateListBoxL();
-        ret =  EKeyWasConsumed;
-        }
-    else
-        {
-        if ( FindBox()->IsVisible() )
-            {
-            ret = CAknMarkableListDialog::OfferKeyEventL( aKeyEvent, aType );
-            }
-        else
-            {
-            ret =  ListBox()->OfferKeyEventL( aKeyEvent, aType );
-            }
-        }
-       
-    if ( ret != EKeyWasConsumed && aType == EEventKey &&
-         aKeyEvent.iCode == EKeyOK )
-        {
-        iContextMenuBar->TryDisplayMenuBarL();
-        ret = EKeyWasConsumed;
-        }
-            
-    return ret;
-    }
-
-void CAknFepUserdbDlg::PostLayoutDynInitL()
-    {
-    CAknMarkableListDialog::PostLayoutDynInitL();
-    FindBox()->Editor().SetMaxLength( KFindBoxInputMaxLength );
-    ListBox()->SetObserver( this );
-    ListBox()->AddItemChangeObserverL( this );
-    
-    InitListBoxItemL();
-    UpdateListBoxL();
-
-    return;
-    }
-
-void CAknFepUserdbDlg::ConstructContextMenuL()
-    {
-    CEikMenuBar* newMenuBar = new ( ELeave ) CEikMenuBar();
-    CleanupStack::PushL( newMenuBar );
-    newMenuBar->ConstructL
-        ( this, NULL, R_AKNFEP_USERDB_DLG_CONTEXT_MENUBAR );
-    iEikonEnv->EikAppUi()->AddToStackL( newMenuBar, ECoeStackPriorityMenu,
-        ECoeStackFlagRefusesFocus );
-    iContextMenuBar = newMenuBar;
-    CleanupStack::Pop( newMenuBar );
-    }
-
-void CAknFepUserdbDlg::HandleListBoxEventL(CEikListBox* /*aListBox*/, TListBoxEvent aEventType)
-    {
-    CTextListBoxModel* model = static_cast<CTextListBoxModel*>( ListBox()->Model() );
-    CDesCArrayFlat* itemArray =
-            static_cast<CDesCArrayFlat*>( model->ItemTextArray() );
-    TInt listItems = itemArray->Count();
-    
-    if ( !listItems )
-        {
-        return;
-        }
-    
-    CAknSelectionListDialog::HandleListBoxEventL( ListBox(), aEventType );
-    
-    switch ( aEventType )
-        {
-        case EEventItemDoubleClicked:
-            {
-            TInt selectItems = ListBox()->SelectionIndexes()->Count();
-            if ( selectItems )
-                {
-                iOldIndex = ListBox()->CurrentItemIndex();
-                MarkOrUnmarkItemL();
-                }
-            else
-                {
-                ShowContextMenuL();
-                }
-            }
-            break;
-        default:
-            break;
-        }
-    }
-
-
-void CAknFepUserdbDlg::ResetSearchFieldL()
-    {
-    CAknFilteredTextListBoxModel* selectmodel = 
-        static_cast<CAknFilteredTextListBoxModel*>( ListBox()->Model() );
-    selectmodel->Filter()->HandleItemArrayChangeL(); 
-    }
-
-TInt CAknFepUserdbDlg::FindActualIndex( const TInt aItemIndex )
-    {
-    TInt itemIndex;
-    CTextListBoxModel* model = 
-        static_cast<CTextListBoxModel*>( ListBox()->Model() );
-    CDesCArrayFlat* itemArray =
-        static_cast<CDesCArrayFlat*>( model->ItemTextArray() );
-    //get the real index of list
-    TBuf<KListBoxItemMaxLength> itemText;
-    itemText.Copy( model->ItemText(aItemIndex) );
-    itemArray->Find( itemText, itemIndex, ECmpCollated );
-    return itemIndex;
-    }
-
-void CAknFepUserdbDlg::ShowContextMenuL()
-    {
-    iContextMenuBar->SetMenuTitleResourceId( R_AKNFEP_USERDB_DLG_CONTEXT_MENUBAR );
-    iContextMenuBar->SetMenuType( CEikMenuBar::EMenuContext );
-    iContextMenuBar->StopDisplayingMenuBar();
-    iContextMenuBar->TryDisplayMenuBarL();
-    iContextMenuBar->SetMenuTitleResourceId( R_AKNFEP_USERDB_DLG_MENUBAR );
-    iContextMenuBar->SetMenuType( CEikMenuBar::EMenuOptions );
-    }
-
-void CAknFepUserdbDlg::MarkOrUnmarkItemL()
-    {
-    TInt selectIndex = 0;
-    TKeyArrayFix* key= new (ELeave) TKeyArrayFix( 0, ECmpTInt32 );
-    CleanupStack::PushL( key );
-    TInt index = ListBox()->CurrentItemIndex();
-    const CArrayFix<TInt>* selectitemArray = ListBox()->SelectionIndexes();
-    TInt ret = selectitemArray->Find( index, *key, selectIndex );
-    if ( ret == 0)
-        {
-        ProcessCommandL( EAknCmdUnmark );
-        }
-    else
-        {
-        ProcessCommandL( EAknCmdMark );
-        }
-    CleanupStack::PopAndDestroy( key );
-    }
-
-void CAknFepUserdbDlg::InsertIconL( CDesC16Array* aDataArray )
-    {
-    TBuf<KListBoxItemMaxLength> itemText;
-    for ( TInt i = 0; i < aDataArray->Count(); i++ )
-        {
-        itemText = aDataArray->MdcaPoint( i );
-        itemText.Insert( 0, KItemStart );
-        aDataArray->Delete( i );
-        aDataArray->InsertL( i, itemText );
-        }
-    aDataArray->Sort( ECmpCollated );
-    }
-
-void CAknFepUserdbDlg::OnChangeLanguageL( TInt aInputLanguage )
-    {
-    if ( aInputLanguage != ELangPrcChinese &&
-    	 aInputLanguage != ELangTaiwanChinese &&
-    	 aInputLanguage != ELangHongKongChinese )
-    	{
-    	if ( iQueryDlg && iQueryDlg->IsVisible() )
-    		{
-    		delete iQueryDlg;
-    		iQueryDlg = NULL;
-    		}
-    	this->TryExitL( EAknSoftkeyExit );
-    	return;
-    	}
-    if ( iOldLanguage == aInputLanguage )
-        {
-        return;
-        }
-    iOldLanguage = aInputLanguage;
-    
-    CAknFilteredTextListBoxModel* model = 
-        static_cast<CAknFilteredTextListBoxModel*>( ListBox()->Model() );
-    CDesCArrayFlat* itemArray =
-            static_cast<CDesCArrayFlat*>( model->ItemTextArray() );
-    TBuf<KErrMsgMaxLength> errMsg;   
-
-    AknSelectionService::HandleMarkableListProcessCommandL( EAknUnmarkAll, ListBox() );
-    itemArray->Reset();
-    
-    //get the phrases from the DB
-    if ( !iDBEngine->GetPhraseFromDBL( *itemArray ) )
-        {
-        iDBEngine->GetErrMsg( errMsg );
-        //note fot err message
-        CAknWarningNote* note = new( ELeave ) CAknWarningNote();
-        note->SetTone( CAknNoteDialog::EWarningTone );
-        note->ExecuteLD( errMsg );  
-        }
-    else
-        {
-        InsertIconL( itemArray ); 
-        ListBox()->HandleItemAdditionL();
-        ListBox()->ClearSelection();
-        FindBox()->SetFocus( ETrue );
-        FindBox()->SetFocusing( ETrue );
-        FindBox()->MakeVisible( ETrue );
-        }
-    if ( itemArray->Count() == 0 )
-        {
-        FindBox()->SetSearchTextL( KSearchTextEmpty );
-        FindBox()->SetFocus( EFalse );
-        FindBox()->SetFocusing( EFalse );
-        FindBox()->MakeVisible( EFalse );
-        ListBox()->SetRect( Rect() );
-        ListBox()->View()->DrawEmptyList( Rect() );
-    
-        //Show add-add-exit cba 
-        ChangeCurrentCbaL( R_AKNFEP_SOFTKEYS_LIST_ADD_EXIT );
-        }
-    else
-        {
-        ListBox()->SetCurrentItemIndex( 0 );
-        }
-    }
-
-void CAknFepUserdbDlg::ListBoxItemsChanged( CEikListBox* aListBox )
-    {
-    CAknFilteredTextListBoxModel* filterModel = 
-        static_cast<CAknFilteredTextListBoxModel*>( aListBox->Model() );
-    CDesCArrayFlat* itemArray =
-            static_cast<CDesCArrayFlat*>( filterModel->ItemTextArray() );
-    
-    TInt ItemCount = aListBox->Model()->NumberOfItems(); 
-    TInt selectedItem = filterModel->Filter()->SelectionIndexes()->Count();
-    if ( ItemCount > 0 && selectedItem < 1 )
-        {
-        //Show options-context-exit cba
-        TRAP_IGNORE ( ChangeCurrentCbaL( R_AKNFEP_SOFTKEYS_LIST_OPTIONS_EXIT_CONTEXT ) );
-        }
-    else
-        {
-        if ( ItemCount == 0)
-            {
-            //Show add-add-exit cba
-            TRAP_IGNORE ( ChangeCurrentCbaL( R_AKNFEP_SOFTKEYS_LIST_ADD_EXIT ) );
-            if ( itemArray->Count() == 0 && FindBox()->TextLength() == 0 )
-                {
-                FindBox()->SetFocus( EFalse );
-                FindBox()->MakeVisible( EFalse );
-                }
-            
-            if ( FindBox()->TextLength() == 0 )
-                {
-                ListBox()->SetRect( Rect() );
-                ListBox()->View()->DrawEmptyList( Rect() );
-                }
-            }
-        }
-    }
-
-void CAknFepUserdbDlg::UpdateListBoxL( TInt aCommandId )
-	{
-    // Update the listbox
-    CAknFilteredTextListBoxModel* filterModel = 
-        static_cast<CAknFilteredTextListBoxModel*>( ListBox()->Model() );
-    filterModel->Filter()->UpdateCachedDataL();
-    
-    TInt selectedItem = ListBox()->SelectionIndexes()->Count();
-    
-    
-    CAknFilteredTextListBoxModel* model = 
-        static_cast<CAknFilteredTextListBoxModel*>( ListBox()->Model() );
-    CDesCArrayFlat* itemArray =
-            static_cast<CDesCArrayFlat*>( model->ItemTextArray() );
-    TInt listItems = model->NumberOfItems();
-    
-    if ( listItems != 0 && selectedItem != 0)
-        {
-        TInt CurrentItemIndex = ListBox()->CurrentItemIndex();          
-        if( ( aCommandId == EAknCmdMark || aCommandId == EAknMarkAll ) && 
-        	 ListBox()->View()->ItemIsSelected(CurrentItemIndex))
-        	{
-        	//Show options-unmark-exit menu
-        	ChangeCurrentCbaL( R_AKNFEP_SOFTKEYS_LIST_OPTIONS_EXIT_MARK );
-        	}      
-        if( ( aCommandId == EAknCmdUnmark || aCommandId == EAknUnmarkAll ) && 
-             !ListBox()->View()->ItemIsSelected(CurrentItemIndex))
-            {
-             //Show options-mark-exit menu
-            ChangeCurrentCbaL( R_AKNFEP_SOFTKEYS_LIST_OPTIONS_EXIT_UNMARK );      
-            }
-        }
-    
-    if ( listItems == 0 )
-        {
-        //Show add-add-exit cba       
-        ChangeCurrentCbaL( R_AKNFEP_SOFTKEYS_LIST_ADD_EXIT ); 
-        if ( itemArray->Count() == 0 && FindBox()->TextLength() == 0 )
-            {
-            FindBox()->SetFocus( EFalse );
-            FindBox()->MakeVisible( EFalse );
-            }
-        
-        if ( FindBox()->TextLength() == 0 )
-            {
-            ListBox()->SetRect( Rect() );
-            ListBox()->View()->DrawEmptyList( Rect() );
-            }
-        }
-    if( selectedItem == 0 && listItems != 0 )
-        {
-        FindBox()->MakeVisible( ETrue );
-        FindBox()->SetFocus( ETrue );
-        FindBox()->DrawNow();
-        TRect findpaneRect(FindBox()->Rect());
-        TRect clientRect = Rect();
-        TSize size = TSize(clientRect.Width(),
-            clientRect.Height() - findpaneRect.Height());
-        ListBox()->SetRect( TRect(clientRect.iTl, size) );
-        ListBox()->View()->Draw();
-        //Show options-context-exit cba
-        ChangeCurrentCbaL( R_AKNFEP_SOFTKEYS_LIST_OPTIONS_EXIT_CONTEXT );
-        }
-    
-    if ( FindBox()->IsVisible() )
-        {
-        FindBox()->SetFocus( ETrue );
-        FindBox()->MakeVisible( ETrue );
-        }
-	}
-
-CCoeControl* CAknFepUserdbDlg::ComponentControl(TInt aIndex) const 
-    { 
-    if ( aIndex == CAknMarkableListDialog::CountComponentControls() ) 
-        { 
-        return ListBox(); 
-        } 
-    else 
-        { 
-        return CAknMarkableListDialog::ComponentControl(aIndex); 
-        } 
-    } 
-
-TInt CAknFepUserdbDlg::CountComponentControls() const 
-    { 
-    if ( ListBox() )
-	    {
-	    return CAknMarkableListDialog::CountComponentControls() + 1; 
-		}
-    else
-	    {
-        return CAknMarkableListDialog::CountComponentControls();
-        }
-    }
-
-
-
-void CAknFepUserdbDlg::SizeChanged()
-    {
-    //Change title text
-    CEikStatusPane* statusPane = CEikonEnv::Static()->AppUiFactory()->StatusPane();
-    CAknTitlePane* title = NULL;
-    TRAP_IGNORE( title = static_cast< CAknTitlePane* >(
-        statusPane->ControlL( TUid::Uid( EEikStatusPaneUidTitle) ) ) );
-
-    //Load the new title text
-    HBufC* titletext = StringLoader::LoadLC( R_AKNFEP_USER_DB_MANAGEMENT_TITLE );
-    //Set title to the new text
-    TRAP_IGNORE( title->SetTextL( *titletext ));
-    CleanupStack::PopAndDestroy( titletext );
-    }
-// End of file
--- a/fep/aknfep/src/aknfepuserdbquerydlg.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,143 +0,0 @@
-/*
-* 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:                
-*
-*/
-
-
-
-
-#include <aknnotewrappers.h> //CAknWarningNote
-#include <eikedwin.h> //CEikEdwin 
-
-#include <aknfep.rsg>
-
-#include "aknfepuserdbquerydlg.h"
-#include "dbmanagement.h"
-
-const TInt KErrMsgMaxLength = 60;
-const TInt KTextMaxLength = 10;
-
-CAknFepUserDBQueryDlg::CAknFepUserDBQueryDlg( CDBManagement* aDBEngine, 
-    TDes& aText, const TTone& aTone ) : 
-    CAknTextQueryDialog ( aText, aTone ), iDBEngine(aDBEngine)
-    {
-    iptrbuf = & aText;
-    iItemText = NULL;
-    }
-
-CAknFepUserDBQueryDlg::~CAknFepUserDBQueryDlg()
-    {
-    if ( iItemText )
-        {
-        delete iItemText;
-        iItemText = NULL;
-        }
-    }
-
-CAknFepUserDBQueryDlg* CAknFepUserDBQueryDlg::NewLC( CDBManagement* aDBEngine, 
-    TDes& aText, const TDesC& aPrompt, const TTone& aTone )
-    {
-    CAknFepUserDBQueryDlg* self = new (ELeave)CAknFepUserDBQueryDlg( aDBEngine, aText, aTone );
-    CleanupStack::PushL(self);
-    self->ConstructL( aPrompt );
-    return self;
-    }
-
-CAknFepUserDBQueryDlg* CAknFepUserDBQueryDlg::NewL( CDBManagement* aDBEngine, 
-    TDes& aText, const TDesC& aPrompt, const TTone& aTone )
-    {
-    CAknFepUserDBQueryDlg* self=CAknFepUserDBQueryDlg::NewLC( aDBEngine, aText, aPrompt, aTone );
-    CleanupStack::Pop( self ); // self;
-    return self;
-    }
-
-void CAknFepUserDBQueryDlg::ConstructL( const TDesC& aPrompt )
-    {
-    SetPromptL( aPrompt );
-    }
-
-TBool CAknFepUserDBQueryDlg::OkToExitL( TInt aButtonId )
-    {
-    TBuf<KErrMsgMaxLength> errMsg;
-    if (aButtonId == EAknSoftkeyOk)
-        {
-        CAknQueryControl* control = 
-            static_cast<CAknQueryControl*>(ControlOrNull(EGeneralQuery));
-        CEikEdwin* editor = static_cast<CEikEdwin*>
-            ( control->ControlByLayoutOrNull( EDataLayout ) );
-
-        iItemText = editor->GetTextInHBufL();
-        TBuf<KTextMaxLength> textbuf;
-        
-        if( iItemText != NULL )
-            {
-            textbuf.Copy( iItemText->Des() );
-            }
-        
-        if( !iDBEngine->InputPhraseCheck( textbuf ) )
-            {
-            iptrbuf->Zero();
-            iptrbuf->Copy( textbuf );
-            
-            iDBEngine->GetErrMsg( errMsg );
-            errMsg.Copy( errMsg.Mid( 1 ) );
-            
-            
-            if ( iItemText )
-                {
-                delete iItemText;
-                iItemText = NULL;
-                }
-            editor->SetTextL( &textbuf ); 
-            //note fot err message
-            CAknWarningNote* note = new( ELeave ) CAknWarningNote();
-            note->SetTimeout( CAknNoteDialog::EShortTimeout );
-            note->ExecuteLD( errMsg ); 
-
-            UpdateLeftSoftKeyL();
-            return EFalse;
-            }
-        iptrbuf->Zero();
-        iptrbuf->Copy( textbuf );
-        if ( iItemText )
-            {
-            delete iItemText;
-            iItemText = NULL;
-            }
-        return ETrue;
-        }
-    else
-        {
-        if (aButtonId == EAknSoftkeyCancel)
-            {
-            return ETrue;
-            }
-        }
-    return ETrue;
-    }
-
-
-void CAknFepUserDBQueryDlg::PostLayoutDynInitL()
-    {
-    CAknQueryControl* control = 
-        static_cast<CAknQueryControl*>(ControlOrNull(EGeneralQuery));
-    CEikEdwin* editor = static_cast<CEikEdwin*>
-        ( control->ControlByLayoutOrNull( EDataLayout ) );
-    editor->SetTextL( iptrbuf );
-    SetFocus(ETrue);
-    SetFocusing(ETrue);
-    }
-
-// End of file
--- a/fep/aknfep/src/aknfepzhuyinconvertion.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,487 +0,0 @@
-/*
-* Copyright (c) 2008 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:           
- *      Provides the TZhuyinSymbolsMethods definition 
- *
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include "aknfepzhuyinconvertion.h"
-
-_LIT(KFullStop, "\x002E");
-_LIT(KToneMark0, "\x0020");
-_LIT(KToneMark1, "\x02CA");
-_LIT(KToneMark2, "\x02C7");
-_LIT(KToneMark3, "\x02CB");
-_LIT(KToneMark4, "\x02D9");
-
-const TInt KMinZhuyinUnicode = 0x3105;
-const TInt KMaxZhuyinUnicode = 0x3129;
-const TInt KMaxBufLen = 100;
-const TInt KMaxChineseCount = 7;
-
-// ---------------------------------------------------------
-// Convert aArray to a descriptor outputed through aOutDes.
-// ---------------------------------------------------------
-//
-TInt TZhuyinSymbolsMethods::Convert2Des ( CDesCArrayFlat* aArray, TDes& aOutDes )
-    {
-    TInt bufLen = 0;
-    TInt i = 0;
-    for ( ; i < aArray->Count(); i++ )
-        {
-        bufLen = bufLen + aArray->MdcaPoint(i).Length();
-        if ( bufLen > KMaxBufLen ) 
-            {
-            return i;
-            }
-        aOutDes.Append(aArray->MdcaPoint(i));
-        }
-    return i;
-    }
-
-// ---------------------------------------------------------
-// Update the content in eep control.
-// ---------------------------------------------------------
-//
-TBool TZhuyinSymbolsMethods::UpdateEEPContent( 
-    CPtiEngine* aPtiengine,
-    CAknFepZhuyinAnalyser* aAnalyser,
-    CDesCArrayFlat* aZhuyinSymbols, 
-    CDesCArrayFlat* aChineseDisped,
-    CDesCArrayFlat* aCandidateList,
-    TDes& aOutDes,
-    TBool& aPhraseCreation)
-    {
-    TBool rnt = EFalse;
-    TRAPD( ret, rnt = UpdateEEPContentL( aPtiengine, 
-                                         aAnalyser, 
-                                         aZhuyinSymbols, 
-                                         aChineseDisped, 
-                                         aCandidateList, 
-                                         aOutDes, 
-                                         aPhraseCreation ) );
-    if ( KErrNone != ret )
-        {
-        return EFalse;
-        }
-    
-    return rnt;
-    }
-
-// ---------------------------------------------------------
-// clean.
-// ---------------------------------------------------------
-//
-void CleanArray( TAny* aAny )
-    {
-    RPointerArray<HBufC>* implArray = 
-        reinterpret_cast< RPointerArray<HBufC>*> ( aAny );
-    implArray->ResetAndDestroy();
-    implArray->Close();
-    }
-
-
-// ---------------------------------------------------------
-// Update the content in eep control.
-// ---------------------------------------------------------
-//
-TBool TZhuyinSymbolsMethods::UpdateEEPContentL( 
-    CPtiEngine* aPtiengine,
-    CAknFepZhuyinAnalyser* aAnalyser,
-    CDesCArrayFlat* aZhuyinSymbols, 
-    CDesCArrayFlat* aChineseDisped,
-    CDesCArrayFlat* aCandidateList,
-    TDes& aOutDes,
-    TBool& aPhraseCreation)
-    {
-    TBuf<KMaxBufLen> buf;
-    Convert2Des( aZhuyinSymbols, buf );
-    RPointerArray<HBufC> list;
-    TCleanupItem cleanitem( CleanArray, &list );
-    CleanupStack::PushL( cleanitem );
-    
-    HBufC* retString = aPtiengine->GetCandidatesByInputString( buf, list,
-        EFalse );
-    if ( buf.Length() == 0 )
-        {
-        Convert2Des( aChineseDisped, aOutDes );
-        delete retString;
-        aCandidateList->Reset();
-        aCandidateList->Compress();
-        CleanupStack::PopAndDestroy();
-        return ETrue;
-        }
-    
-    CleanupStack::PushL( retString );
-    TBool valid = aAnalyser->AnalyzeL( buf );
-       
-    HBufC* showbuf = aAnalyser->LastAnalysisResult();
-    aCandidateList->Reset();
-    if ( retString->Compare( buf ) != 0 || 
-        retString->Compare( buf ) == 0 && aChineseDisped->Count() != 0 )
-        {
-        // Display the candidates for the 1st chinese character group.
-        aPhraseCreation = ETrue;
-        list.ResetAndDestroy();
-        TInt length = 0;
-        TInt i = 0;
-        for ( i = 0; i < showbuf->Length(); i++ )
-            {
-            if ( showbuf->Mid(i, 1).Compare(KFullStop) == 0 )
-                {
-                length = i;
-                break;
-                }
-            if ( showbuf->Mid(i, 1).Compare(KToneMark0) == 0 
-                || showbuf->Mid(i, 1).Compare(KToneMark1) == 0 
-                || showbuf->Mid(i, 1).Compare(KToneMark2) == 0
-                || showbuf->Mid(i, 1).Compare(KToneMark3) == 0
-                || showbuf->Mid(i, 1).Compare(KToneMark4) == 0 )
-                {
-                length = i + 1;
-                break;
-                }
-            }
-        if ( i == showbuf->Length())
-            {
-            length = i;
-            }
-        CleanupStack::PopAndDestroy( retString );
-        TPtrC tmp = showbuf->Left( length );
-        retString = aPtiengine->GetCandidatesByInputString( tmp, list, EFalse );
-        CleanupStack::PushL( retString );
-        for (TInt ii = 0; ii < list.Count(); ii++ )
-            {
-            aCandidateList->AppendL( *(list[ii]) );
-            }
-        }
-    else
-        {
-        aPhraseCreation = EFalse;
-        for (TInt i = 0; i < list.Count(); i++ )
-            {
-            aCandidateList->AppendL( *(list[i]) );
-            }
-        }
-    CleanupStack::Pop( retString );
-    CleanupStack::PopAndDestroy();
-    Convert2Des( aChineseDisped, aOutDes );
-    if ( !valid )
-        {
-        aOutDes.Append(buf);
-        }
-    else
-        aOutDes.Append(*showbuf);
-    delete retString;
-    
-    if ( aZhuyinSymbols->Count() > 0
-        && ( aZhuyinSymbols->MdcaPoint(0).Compare(KToneMark0) == 0 
-        || aZhuyinSymbols->MdcaPoint(0).Compare(KToneMark1) == 0 
-        || aZhuyinSymbols->MdcaPoint(0).Compare(KToneMark2) == 0
-        || aZhuyinSymbols->MdcaPoint(0).Compare(KToneMark3) == 0
-        || aZhuyinSymbols->MdcaPoint(0).Compare(KToneMark4) == 0 ) )
-        {
-        valid = EFalse;
-        }
-    
-    if ( aCandidateList->Count() != 0 && aOutDes.Length() == 1 )
-        {
-        valid = ETrue;
-        }
-    return valid;
-    }
-
-// ---------------------------------------------------------
-// Commit a chinese character from candidate list.
-// ---------------------------------------------------------
-//
-TBool TZhuyinSymbolsMethods::AppendChineseChar( 
-    const TDes& aChinese,
-    CAknFepZhuyinAnalyser* aAnalyser,
-    CDesCArrayFlat* aZhuyinSymbols, 
-    CDesCArrayFlat* aChineseDisped,
-    CDesCArrayFlat* aZhuyinSymbolsForChinese )
-    {
-    TBuf<KMaxBufLen> buf;
-    buf.Copy(aChinese);
-    if ( aChineseDisped->Count() >= KMaxChineseCount )
-        {
-        return ETrue;
-        }
-    buf.Zero();
-    Convert2Des(aZhuyinSymbols, buf);
-    TBool valid = EFalse;
-    TRAPD( err, valid = aAnalyser->AnalyzeL( buf ) );
-    if ( KErrNone != err )
-        {
-        return EFalse;
-        }
-    
-    if ( !valid )
-        {
-        return EFalse;
-        }
-    else
-        {
-        HBufC* showbuf = aAnalyser->LastAnalysisResult();
-        TInt length = 0;
-        TInt i = 0;
-        for ( i = 0; i < showbuf->Length(); i++ )
-            {
-            if ( showbuf->Mid(i, 1).Compare(KFullStop) == 0 )
-                {
-                length = i;
-                break;
-                }
-            if ( showbuf->Mid(i, 1).Compare(KToneMark0) == 0 
-                || showbuf->Mid(i, 1).Compare(KToneMark1) == 0 
-                || showbuf->Mid(i, 1).Compare(KToneMark2) == 0
-                || showbuf->Mid(i, 1).Compare(KToneMark3) == 0
-                || showbuf->Mid(i, 1).Compare(KToneMark4) == 0 )
-                {
-                length = i + 1;
-                break;
-                }
-            }
-        if ( i == showbuf->Length())
-            {
-            length = i;
-            }
-        // update arrays
-        TRAPD( ret, aChineseDisped->AppendL(aChinese) );
-        if ( KErrNone != ret )
-            {
-            return EFalse;
-            }
-        
-        TBuf<KMaxBufLen> tmpbuf;
-        for ( TInt ii = 0; ii < length; ii++ )
-            {
-            tmpbuf.Append(aZhuyinSymbols->MdcaPoint(ii));
-            }
-        TRAPD( ret1, aZhuyinSymbolsForChinese->AppendL(tmpbuf) );
-        if ( KErrNone != ret1 )
-            {
-            return EFalse;
-            }
-        aZhuyinSymbols->Delete(0, length);
-        if ( aChineseDisped->Count() >= KMaxChineseCount 
-            || aZhuyinSymbols->Count() == 0 )
-            {
-            return ETrue;
-            }
-        else
-            {
-            return EFalse;
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// append the zhuyin symbol to the zhuyin array form zhuyin buf.
-// ---------------------------------------------------------
-//
-void TZhuyinSymbolsMethods::GetZhuyinSymbolsL( 
-    CDesCArrayFlat* aZhuyinSymbols,  
-    const TDesC& aInputBuf )
-    {
-    for ( TInt i = 0; i < aInputBuf.Length(); i++ )
-        {
-        aZhuyinSymbols->InsertL(i, aInputBuf.Mid(i,1));
-        }
-    }
-
-// ---------------------------------------------------------
-// Delete a chinese character from aChineseDisped array
-// and update related array in the meantime.
-// ---------------------------------------------------------
-//
-TBool TZhuyinSymbolsMethods::DeleteChineseChar(
-    CDesCArrayFlat* aZhuyinSymbols, 
-    CDesCArrayFlat* aChineseDisped,
-    CDesCArrayFlat* aZhuyinSymbolsForChinese )
-    {
-    if ( aChineseDisped->Count() == 0 )
-        {
-        return EFalse;
-        }
-    TBuf<KMaxBufLen> buf;
-    buf.Append( aZhuyinSymbolsForChinese->MdcaPoint( 
-        aZhuyinSymbolsForChinese->Count() - 1 ) );
-    
-    TRAPD( ret, GetZhuyinSymbolsL( aZhuyinSymbols, buf ) );
-    if ( KErrNone != ret )
-        {
-        return EFalse;
-        }
-    
-    aChineseDisped->Delete(aChineseDisped->Count() - 1);
-    aZhuyinSymbolsForChinese->Delete(aZhuyinSymbolsForChinese->Count() - 1);
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// Delete a chinese character from aChineseDisped array
-// and update related array in the meantime.
-// ---------------------------------------------------------
-//
-TBool TZhuyinSymbolsMethods::DeleteZhuyinSymbol(
-    CDesCArrayFlat* aZhuyinSymbols, 
-    TInt aKeyStroke
-    )
-    {
-    TInt delCount = 0;
-    if ( aKeyStroke == aZhuyinSymbols->Count() )
-        {
-        delCount++;
-        }
-    else if ( aKeyStroke < aZhuyinSymbols->Count() )
-        {
-        delCount++;
-        }
-    else
-        {
-        return EFalse;
-        }
-    aZhuyinSymbols->Delete( aKeyStroke-1, delCount );
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// Refresh the cursor position according to the input parameters.
-// ---------------------------------------------------------
-//
-TInt TZhuyinSymbolsMethods::RefreshCursorPos (
-    TInt aChineseNum,
-    const TDes& aShownContent,
-    TInt aKeyStrokePos )
-    {
-    TInt cursorPos = aChineseNum;
-    TInt index = 0;
-    TInt count = 0;
-    if ( aShownContent.Length() - aChineseNum <= 0 )
-        {
-        return aChineseNum;
-        }
-    
-    if ( 0 == aKeyStrokePos )
-        {
-        return aChineseNum;
-        }
-    
-    TPtrC zhuyinShown = aShownContent.Right( aShownContent.Length() - 
-        aChineseNum );
-    
-    if ( zhuyinShown.Length() == 0 )
-        {
-        return aChineseNum;
-        }
-    
-    for ( TInt i = 0; i < zhuyinShown.Length(); ++i )
-        {
-        if ( 0 != zhuyinShown.Mid( i, 1 ).Compare( KFullStop ) )
-            {
-            count = count + 1;
-            }
-        if ( aKeyStrokePos == count )
-            {
-            index = i + 1;
-            break;
-            }
-        }
-
-    return cursorPos + index;
-    
-    }
-
-// ---------------------------------------------------------
-// Get the number of zhuyin symbol group.
-// ---------------------------------------------------------
-//
-TInt TZhuyinSymbolsMethods::GetChineseCount(const TDes& aShown)
-    {
-    TInt i = 0;
-    TInt count = 0;
-    for ( i = 0; i < aShown.Length(); i++ )
-        {
-        if ( aShown.Mid(i, 1).Compare(KFullStop) == 0
-            || aShown.Mid(i, 1).Compare(KToneMark0) == 0 
-            || aShown.Mid(i, 1).Compare(KToneMark1) == 0 
-            || aShown.Mid(i, 1).Compare(KToneMark2) == 0
-            || aShown.Mid(i, 1).Compare(KToneMark3) == 0
-            || aShown.Mid(i, 1).Compare(KToneMark4) == 0 )
-            {
-            count++;
-            }
-        }
-    if ( aShown.Right(1).Compare(KToneMark0) == 0 
-        || aShown.Right(1).Compare(KToneMark1) == 0 
-        || aShown.Right(1).Compare(KToneMark2) == 0
-        || aShown.Right(1).Compare(KToneMark3) == 0
-        || aShown.Right(1).Compare(KToneMark4) == 0 )
-        {
-        return count;
-        }
-    else
-        {
-        return count + 1;
-        }
-    }
-
-// ---------------------------------------------------------
-// Whether the aFirstPhrase is a Zhuyin symbol or not.
-// ---------------------------------------------------------
-//
-TBool TZhuyinSymbolsMethods::IsZhuyinSymbol( const TDesC& aFirstPhrase )
-    {
-    if ( aFirstPhrase.Length() > 1 )
-        {
-        return EFalse;
-        }
-    
-    if ( aFirstPhrase[0] >= KMinZhuyinUnicode &&
-         aFirstPhrase[0] <= KMaxZhuyinUnicode )
-        {
-        return ETrue;
-        }
-    else
-        {
-        return EFalse;
-        }
-    }
-
-// ---------------------------------------------------------
-// Whether the aFirstPhrase is a Zhuyin symbol or not.
-// ---------------------------------------------------------
-//
-TBool TZhuyinSymbolsMethods::IsZhuyinSpelling(
-                                    const TDesC& /*aSymbol*/,
-                                    const TInt /*index*/,
-                                    CDesCArrayFlat* /*aZhuyinSymbols*/ ) 
-    {
-    return ETrue;
-    }
-
-// End of file
--- a/fep/aknfep/src/aknfepzhuyinkeyhandler.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,611 +0,0 @@
-/*
-* 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:                
-*
-*/
-
-
-
-
-#include "aknfepzhuyinkeyhandler.h"
-
-const TInt KBTLoopLength1 = 3;
-const TInt KBTLoopLength2 = 4;
-const TInt KBTLoopLength3 = 5;
-
-const TInt KBTLoopLength = 5;
-
-const TInt KCLKCount1 = 1;
-const TInt KCLKCount2 = 2;
-const TInt KCLKCount3 = 3;
-const TInt KCLKCount4 = 4;
-const TInt KCLKCount5 = 5;
-
-const TInt KTimerOut = 700000;
-
-_LIT(KPtiKey1_1, "\x3105");
-_LIT(KPtiKey1_2, "\x3106");
-_LIT(KPtiKey1_3, "\x3107");
-_LIT(KPtiKey1_4, "\x3108");
-
-_LIT(KPtiKey2_1, "\x3109");
-_LIT(KPtiKey2_2, "\x310A");
-_LIT(KPtiKey2_3, "\x310B");
-_LIT(KPtiKey2_4, "\x310C");
-
-_LIT(KPtiKey3_1, "\x310D");
-_LIT(KPtiKey3_2, "\x310E");
-_LIT(KPtiKey3_3, "\x310F");
-
-_LIT(KPtiKey4_1, "\x3110");
-_LIT(KPtiKey4_2, "\x3111");
-_LIT(KPtiKey4_3, "\x3112");
-
-_LIT(KPtiKey5_1, "\x3113");
-_LIT(KPtiKey5_2, "\x3114");
-_LIT(KPtiKey5_3, "\x3115");
-_LIT(KPtiKey5_4, "\x3116");
-
-_LIT(KPtiKey6_1, "\x3117");
-_LIT(KPtiKey6_2, "\x3118");
-_LIT(KPtiKey6_3, "\x3119");
-
-_LIT(KPtiKey7_1, "\x311A");
-_LIT(KPtiKey7_2, "\x311B");
-_LIT(KPtiKey7_3, "\x311C");
-_LIT(KPtiKey7_4, "\x311D");
-
-_LIT(KPtiKey8_1, "\x311E");
-_LIT(KPtiKey8_2, "\x311F");
-_LIT(KPtiKey8_3, "\x3120");
-_LIT(KPtiKey8_4, "\x3121");
-
-_LIT(KPtiKey9_1, "\x3122");
-_LIT(KPtiKey9_2, "\x3123");
-_LIT(KPtiKey9_3, "\x3124");
-_LIT(KPtiKey9_4, "\x3125");
-_LIT(KPtiKey9_5, "\x3126");
-
-_LIT(KPtiKey0_1, "\x3127");
-_LIT(KPtiKey0_2, "\x3128");
-_LIT(KPtiKey0_3, "\x3129");
-
-_LIT(KPtiKeyStar_1, "\x0020");
-_LIT(KPtiKeyStar_2, "\x02CA");
-_LIT(KPtiKeyStar_3, "\x02C7");
-_LIT(KPtiKeyStar_4, "\x02CB");
-_LIT(KPtiKeyStar_5, "\x02D9");
-
-
-// ---------------------------------------------------------
-// C++ constructor.
-// ---------------------------------------------------------
-//
-ZhuyinKeyTable::ZhuyinKeyTable()
-    {
-    }
-
-// ---------------------------------------------------------
-// Cancel and destroy.
-// ---------------------------------------------------------
-//
-ZhuyinKeyTable::~ZhuyinKeyTable()
-    {
-    }
-
-// ---------------------------------------------------------
-// Get butten loop length.
-// ---------------------------------------------------------
-//
-TInt ZhuyinKeyTable::GetBtLoopLength ( TPtiKey aKey )
-    {
-    switch ( aKey )
-        {
-        case EPtiKey0:
-        case EPtiKey3:
-        case EPtiKey4:
-        case EPtiKey6:
-            {
-            return KBTLoopLength1;
-            }
-        case EPtiKey1:
-        case EPtiKey2:
-        case EPtiKey5:
-        case EPtiKey7:
-        case EPtiKey8:
-            {
-            return KBTLoopLength2;
-            }
-        case EPtiKey9:
-        case EPtiKeyStar:
-            {
-            return KBTLoopLength3;
-            }
-        default:
-            return 0;
-        }
-    }
-
-// ---------------------------------------------------------
-// Get zhuyin symbol.
-// ---------------------------------------------------------
-//
-TBool ZhuyinKeyTable::GetUnicode ( TPtiKey aKey, TInt aClkCount, TDes& aOutput )
-    {
-    aOutput.Zero();
-    switch ( aKey )
-        {
-        case EPtiKey0:
-            {
-            switch ( aClkCount )
-                {
-                case KCLKCount1:
-                    aOutput.Append(KPtiKey0_1);
-                    return ETrue;
-                case KCLKCount2:
-                    aOutput.Append(KPtiKey0_2);
-                    return ETrue;
-                case KCLKCount3:
-                    aOutput.Append(KPtiKey0_3);
-                    return ETrue;
-                default:
-                    return EFalse;
-                }
-            }
-        case EPtiKey1:
-            switch ( aClkCount )
-                {
-                case KCLKCount1:
-                    aOutput.Append(KPtiKey1_1);
-                    return ETrue;
-                case KCLKCount2:
-                    aOutput.Append(KPtiKey1_2);
-                    return ETrue;
-                case KCLKCount3:
-                    aOutput.Append(KPtiKey1_3);
-                    return ETrue;
-                case KCLKCount4:
-                    aOutput.Append(KPtiKey1_4);
-                    return ETrue;
-                default:
-                    return EFalse;
-                }
-        case EPtiKey2:
-            switch ( aClkCount )
-                {
-                case KCLKCount1:
-                    aOutput.Append(KPtiKey2_1);
-                    return ETrue;
-                case KCLKCount2:
-                    aOutput.Append(KPtiKey2_2);
-                    return ETrue;
-                case KCLKCount3:
-                    aOutput.Append(KPtiKey2_3);
-                    return ETrue;
-                case KCLKCount4:
-                    aOutput.Append(KPtiKey2_4);
-                    return ETrue;
-                default:
-                    return EFalse;
-                }
-        case EPtiKey3:
-            {
-            switch ( aClkCount )
-                {
-                case KCLKCount1:
-                    aOutput.Append(KPtiKey3_1);
-                    return ETrue;
-                case KCLKCount2:
-                    aOutput.Append(KPtiKey3_2);
-                    return ETrue;
-                case KCLKCount3:
-                    aOutput.Append(KPtiKey3_3);
-                    return ETrue;
-                default:
-                    return EFalse;
-                }
-            }
-        case EPtiKey4:
-            {
-            switch ( aClkCount )
-                {
-                case KCLKCount1:
-                    aOutput.Append(KPtiKey4_1);
-                    return ETrue;
-                case KCLKCount2:
-                    aOutput.Append(KPtiKey4_2);
-                    return ETrue;
-                case KCLKCount3:
-                    aOutput.Append(KPtiKey4_3);
-                    return ETrue;
-                default:
-                    return EFalse;
-                }
-            }
-        case EPtiKey5:
-            {
-            switch ( aClkCount )
-                {
-                case KCLKCount1:
-                    aOutput.Append(KPtiKey5_1);
-                    return ETrue;
-                case KCLKCount2:
-                    aOutput.Append(KPtiKey5_2);
-                    return ETrue;
-                case KCLKCount3:
-                    aOutput.Append(KPtiKey5_3);
-                    return ETrue;
-                case KCLKCount4:
-                    aOutput.Append(KPtiKey5_4);
-                    return ETrue;
-                default:
-                    return EFalse;
-                }
-            }
-        case EPtiKey6:
-            {
-            switch ( aClkCount )
-                {
-                case KCLKCount1:
-                    aOutput.Append(KPtiKey6_1);
-                    return ETrue;
-                case KCLKCount2:
-                    aOutput.Append(KPtiKey6_2);
-                    return ETrue;
-                case KCLKCount3:
-                    aOutput.Append(KPtiKey6_3);
-                    return ETrue;
-                default:
-                    return EFalse;
-                }
-            }
-        case EPtiKey7:
-            {
-            switch ( aClkCount )
-                {
-                case KCLKCount1:
-                    aOutput.Append(KPtiKey7_1);
-                    return ETrue;
-                case KCLKCount2:
-                    aOutput.Append(KPtiKey7_2);
-                    return ETrue;
-                case KCLKCount3:
-                    aOutput.Append(KPtiKey7_3);
-                    return ETrue;
-                case KCLKCount4:
-                    aOutput.Append(KPtiKey7_4);
-                    return ETrue;
-                default:
-                    return EFalse;
-                }
-            }
-        case EPtiKey8:
-            {
-            switch ( aClkCount )
-                {
-                case KCLKCount1:
-                    aOutput.Append(KPtiKey8_1);
-                    return ETrue;
-                case KCLKCount2:
-                    aOutput.Append(KPtiKey8_2);
-                    return ETrue;
-                case KCLKCount3:
-                    aOutput.Append(KPtiKey8_3);
-                    return ETrue;
-                case KCLKCount4:
-                    aOutput.Append(KPtiKey8_4);
-                    return ETrue;
-                default:
-                    return EFalse;
-                }
-            }
-        case EPtiKey9:
-            {
-            switch ( aClkCount )
-                {
-                case KCLKCount1:
-                    aOutput.Append(KPtiKey9_1);
-                    return ETrue;
-                case KCLKCount2:
-                    aOutput.Append(KPtiKey9_2);
-                    return ETrue;
-                case KCLKCount3:
-                    aOutput.Append(KPtiKey9_3);
-                    return ETrue;
-                case KCLKCount4:
-                    aOutput.Append(KPtiKey9_4);
-                    return ETrue;
-                case KCLKCount5:
-                    aOutput.Append(KPtiKey9_5);
-                    return ETrue;
-                default:
-                    return EFalse;
-                }
-            }
-        case EPtiKeyStar:
-            {
-            switch ( aClkCount )
-                {
-                case KCLKCount1:
-                    aOutput.Append(KPtiKeyStar_1);
-                    return ETrue;
-                case KCLKCount2:
-                    aOutput.Append(KPtiKeyStar_2);
-                    return ETrue;
-                case KCLKCount3:
-                    aOutput.Append(KPtiKeyStar_3);
-                    return ETrue;
-                case KCLKCount4:
-                    aOutput.Append(KPtiKeyStar_4);
-                    return ETrue;
-                case KCLKCount5:
-                    aOutput.Append(KPtiKeyStar_5);
-                    return ETrue;
-                default:
-                    return EFalse;
-                }
-            }
-        default:
-            return EFalse;
-        }
-    }
-
-// ---------------------------------------------------------
-// C++ constructor
-// ---------------------------------------------------------
-//
-CZhuyinKeyHandler::CZhuyinKeyHandler( ) :
-    CActive ( EPriorityStandard ), // Standard priority
-    iLastKey ( EPtiKeyNone ), 
-    iTimeOut ( ETrue ),
-    iBtClickNum ( 0 ),
-    iBtLoopLength ( 1 ),
-    iState( 0 ),
-    iStatusChgFlag(EInit)
-    {
-    }
-
-// ---------------------------------------------------------
-// Two-phased constructor.
-// ---------------------------------------------------------
-//
-CZhuyinKeyHandler* CZhuyinKeyHandler::NewLC()
-    {
-    CZhuyinKeyHandler* self = new ( ELeave ) CZhuyinKeyHandler();
-    CleanupStack::PushL( self );
-    self->ConstructL( );
-    return self;
-    }
-
-// ---------------------------------------------------------
-// Two-phased constructor.
-// ---------------------------------------------------------
-//
-CZhuyinKeyHandler* CZhuyinKeyHandler::NewL()
-    {
-    CZhuyinKeyHandler* self = CZhuyinKeyHandler::NewLC();
-    CleanupStack::Pop( self ); // self;
-    return self;
-    }
-
-// ---------------------------------------------------------
-// Two-phased constructor.
-// ---------------------------------------------------------
-//
-void CZhuyinKeyHandler::ConstructL( )
-    {
-    User::LeaveIfError( iTimer.CreateLocal( ) ); // Initialize timer
-    CActiveScheduler::Add( this ); // Add to scheduler
-    }
-
-// ---------------------------------------------------------
-// Cancel and destroy.
-// ---------------------------------------------------------
-//
-CZhuyinKeyHandler::~CZhuyinKeyHandler( )
-    {
-    Cancel( ); // Cancel any request, if outstanding
-    iTimer.Close( ); // Destroy the RTimer object
-    // Delete instance variables if any
-    }
-
-// ---------------------------------------------------------
-// How to cancel me.
-// ---------------------------------------------------------
-//
-void CZhuyinKeyHandler::DoCancel( )
-    {
-    iTimer.Cancel( );
-    }
-
-// ---------------------------------------------------------
-// Function for making the initial request.
-// ---------------------------------------------------------
-//
-void CZhuyinKeyHandler::Start()
-    {
-    Cancel(); // Cancel any request, just to be sure
-    iTimer.After( iStatus, KTimerOut ); // Set for later
-    SetActive(); // Tell scheduler a request is active
-    }
-
-// ---------------------------------------------------------
-// Get Zhuyin symbol according to the inputting key.
-// ---------------------------------------------------------
-//
-TInt CZhuyinKeyHandler::GetZhuyinSymbol ( TPtiKey aKey, TDes& aOutBuf )
-    {
-    TInt ret = 0;
-    Start();
-    // if the same button is pressed for many times.
-    if ( iLastKey == aKey
-        && iTimeOut == EFalse )
-        {
-        if ( iBtLoopLength != 0 )
-            {
-            iBtClickNum++;
-            if ( iBtClickNum > iBtLoopLength )
-                {
-                iBtClickNum = 1;
-                }
-            }
-        // Search for the corresponding unicode and value aOutBuf.
-        ZhuyinKeyTable::GetUnicode(aKey,iBtClickNum,aOutBuf);
-        ret = 0;
-        }
-    // if the pressed button is changed or time out event is happened.
-    else if ( iLastKey == aKey
-        && iTimeOut != EFalse )
-        {
-        // Update iBtClickNum
-        iBtClickNum = 1;
-        // Search for the corresponding unicode and value aOutBuf.
-        ZhuyinKeyTable::GetUnicode(aKey,iBtClickNum,aOutBuf);
-        ret = 1;
-        }
-    else
-        {
-        // Update iBtClickNum
-        iBtClickNum = 1;
-        // Update iBtUnicodeNum
-        iBtLoopLength = ZhuyinKeyTable::GetBtLoopLength(aKey);
-        // Search for the corresponding unicode and value aOutBuf.
-        ZhuyinKeyTable::GetUnicode(aKey,iBtClickNum,aOutBuf);
-        if ( iBtLoopLength != 0 )
-            {
-            ret = 1;
-            }
-        else
-            {
-            ret = -1;
-            }
-        }
-    iLastKey = aKey;
-    iTimeOut = EFalse;
-    return ret;
-    }
-
-// ---------------------------------------------------------
-// Set status change flag.
-// ---------------------------------------------------------
-//
-void CZhuyinKeyHandler::SetStatusChgFlag ( MZhuyinKeyHandler::TStatusChgFlag aChgFlag )
-    {
-    iStatusChgFlag = aChgFlag;
-    }
-
-// ---------------------------------------------------------
-// Get the status change flag.
-// ---------------------------------------------------------
-//
-MZhuyinKeyHandler::TStatusChgFlag CZhuyinKeyHandler::GetStatusChgFlag ()
-    {
-    return iStatusChgFlag;
-    }
-
-// ---------------------------------------------------------
-// Reset all the member variables.
-// ---------------------------------------------------------
-//
-void CZhuyinKeyHandler::Reset()
-    {
-    iLastKey = EPtiKeyNone; 
-    iTimeOut = ETrue ;
-    iBtClickNum = 0;
-    iBtLoopLength = 1;
-    }
-
-
-// ---------------------------------------------------------
-// Get tonemark according to symbol in front of cursor.
-// ---------------------------------------------------------
-//
-TInt CZhuyinKeyHandler::GetToneMark ( const TDes& aBaseSymbol, TDes& aOutBuf )
-    {
-    TInt ret = 0;
-    iBtLoopLength = KBTLoopLength;
-    iTimeOut = ETrue ;
-    if ( aBaseSymbol.Compare(KPtiKeyStar_1) == 0 )
-        {
-        iBtClickNum = KCLKCount1;
-        }
-    else if ( aBaseSymbol.Compare(KPtiKeyStar_2) == 0 )
-        {
-        iBtClickNum = KCLKCount2;
-        }
-    else if ( aBaseSymbol.Compare(KPtiKeyStar_3) == 0 )
-        {
-        iBtClickNum = KCLKCount3;
-        }
-    else if ( aBaseSymbol.Compare(KPtiKeyStar_4) == 0 )
-        {
-        iBtClickNum = KCLKCount4;
-        }
-    else if ( aBaseSymbol.Compare(KPtiKeyStar_5) == 0 )
-        {
-        iBtClickNum = KCLKCount5;
-        }
-    else
-        {
-        iBtClickNum = 0;
-        ret = 1;
-        }
-    iBtClickNum++;
-    if ( iBtClickNum > iBtLoopLength )
-        {
-        iBtClickNum = 1;
-        }
-    ZhuyinKeyTable::GetUnicode(EPtiKeyStar,iBtClickNum,aOutBuf);
-    iLastKey = EPtiKeyStar;
-    iTimeOut = EFalse;
-    return ret;
-    }
-
-// ---------------------------------------------------------
-// Get tonemark according to symbol in front of cursor.
-// ---------------------------------------------------------
-//
-void CZhuyinKeyHandler::RunL( )
-    {
-    iTimeOut = ETrue;
-    }
-
-// ---------------------------------------------------------
-// Override to handle leaves from RunL(). Default implementation causes.
-// ---------------------------------------------------------
-//
-TInt CZhuyinKeyHandler::RunError( TInt aError )
-    {
-    return aError;
-    }
-
-// ---------------------------------------------------------
-// Set whether state change from entry to spelling editing is automatical.
-// ---------------------------------------------------------
-//
-void CZhuyinKeyHandler::SetState( TInt aState )
-    {
-    iState = aState;
-    }
-
-// ---------------------------------------------------------
-// Get state change states.
-// ---------------------------------------------------------
-//
-TInt CZhuyinKeyHandler::GetState()
-    {
-    return iState;
-    }
-
-// End of file
--- a/fep/aknfep/src/dbmanagement.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,335 +0,0 @@
-/*
-* Copyright (c) 2008 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:            DB Engine
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-//system include files
-#include <aknfep.rsg>
-#include <PtiUserDicEntry.h>
-#include <PtiEngine.h>
-#include <StringLoader.h> 
-
-//user inlucde files
-#include "dbmanagement.h"
-#include "AknFepGlobalEnums.h"
-#include "AknFepManager.h"
-#include "AknFepSharedDataInterface.h"
-
-// CONSTANTS
-const TInt KInputPhraseMaxLength = 7;
-const TInt KInvalidPhrase        = -103;
-const TInt KPhraseExisted        = -104;
-const TInt KPhraseNotExisted     = -105;
-const TInt KInputPhraseOutRange  = -106;
-const TInt KDBHasNoSpace         = -150;
-
-// ---------------------------------------------------------
-// Symbian constructor
-// ---------------------------------------------------------
-//
-CDBManagement* CDBManagement::NewL( CAknFepManager* aFepManager )
-    {
-    CDBManagement* self = new( ELeave ) CDBManagement();
-    CleanupStack::PushL( self );
-    self->ConstructL(aFepManager);
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------
-// C++ constructor
-// ---------------------------------------------------------
-//
-CDBManagement::CDBManagement()
-    {
-    }
-
-// ---------------------------------------------------------
-// Second phase constructor
-// ---------------------------------------------------------
-//
-void CDBManagement::ConstructL( CAknFepManager* aFepManager )
-    {
-    iAknFepSharedDataInterface = CAknFepSharedDataInterface::NewL( aFepManager );
-    iFepManager = aFepManager;
-    iPtiEngineOfFep = iFepManager->PtiEngine();
-    iPtiEngine = CPtiEngine::NewL(ETrue); 
-    }
-
-// ---------------------------------------------------------
-// destructor
-// ---------------------------------------------------------
-//
-CDBManagement::~CDBManagement()
-    {
-    delete iAknFepSharedDataInterface;
-    delete iPtiEngine;
-    }
-
-// ---------------------------------------------------------
-// Add phrase to DB.
-// ---------------------------------------------------------
-//
-TBool CDBManagement::AddPhraseToDB( const TDesC& aPhraseAdd )
-    {    
-    TInt retCode;
-    TPtiUserDictionaryEntry addUdbEntry(aPhraseAdd);
-    TRAP_IGNORE( ActivateLanguageOfFepL() );
-    //Add the phrase to the DB by PTI Engine
-    iPtiEngineOfFep->AddUserDictionaryEntry( addUdbEntry );
-    retCode = iPtiEngine->AddUserDictionaryEntry( addUdbEntry );
-    if ( KErrNone != retCode )
-        {
-        GetDBErrMsg( retCode );
-        return EFalse;
-        }
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// Edit phrase from DB
-// ---------------------------------------------------------
-//
-TBool CDBManagement::EditPhraseFromDB(  const TDesC& aPhraseOld,
-                                        const TDesC& aPhraseNew )
-    {
-    TBool retCode;
-    //Add the new phrase to the DB by PTI Engine
-    retCode = AddPhraseToDB( aPhraseNew );
-    if ( !retCode )
-        {
-        GetDBErrMsg( retCode );
-        return EFalse;
-        }    
-    retCode = RemovePhraseFromDB( aPhraseOld );
-    if ( !retCode )
-        {
-        GetDBErrMsg( retCode );
-        return EFalse;
-        }
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// Remove phrase from DB
-// ---------------------------------------------------------
-//
-TBool CDBManagement::RemovePhraseFromDB(const TDesC& aPhraseRemove )
-    {
-    TInt retCode;
-    TPtiUserDictionaryEntry removeUdbEntry( aPhraseRemove );
-    //Remove the phrase from the DB by PTI Engine
-    TRAP_IGNORE( ActivateLanguageOfFepL() );
-    iPtiEngineOfFep->RemoveEntryFromUserDictionary( removeUdbEntry );
-    retCode = iPtiEngine->RemoveEntryFromUserDictionary( removeUdbEntry );
-    if( KErrNone != retCode )
-        {
-        GetDBErrMsg( retCode );
-        return EFalse;
-        }
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// Get phrases from DB
-// ---------------------------------------------------------
-//
-TBool CDBManagement::GetPhraseFromDBL( CDesCArray& aPhraseGet )
-    {
-    TPtiUserDictionaryEntry getUdbEntry;
-    TInt retCode;
-    TInt i = 0; 
-    ActivateLanguage();
-
-    retCode = iPtiEngine->GetUserDictionaryEntry(i, getUdbEntry);
-
-    while (retCode == KErrNone)
-        {
-        aPhraseGet.AppendL(getUdbEntry.Word());
-        i++;
-        retCode = iPtiEngine->GetUserDictionaryEntry(i, getUdbEntry);
-        }
-
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// Get Error Message
-// ---------------------------------------------------------
-//
-void CDBManagement::GetErrMsg( TDes& aErrMsg )
-    {
-    aErrMsg.Copy(iErrMsg);
-    }
-
-// ---------------------------------------------------------
-// Check the input phrase
-// ---------------------------------------------------------
-//
-TBool CDBManagement::InputPhraseCheck( TDes& aPhraseInput )
-    {
-    const TUint16 KChineseUnicodeMin = 0x4E00;
-    const TUint16 KChineseUnicodeMax = 0x9FA5; 
-    const TUint16 KSpaceUnicode      = 0x0020;
-    const TUint16 KKeytroke2Unicode  = 0x4E28;
-    const TUint16 KKeytroke3Unicode  = 0x4E3F;
-    const TUint16 KKeytroke4Unicode  = 0x4E36;
-    const TUint16 KKeytroke5Unicode  = 0x4E5B;
-    TBuf<KInputPhraseMaxLength> inputText;
-    aPhraseInput.TrimAll();
-    TBool inValidFlg = EFalse;
-    //the input phrase length more than the max length
-    if ( aPhraseInput.Length() > KInputPhraseMaxLength )
-        {
-        return EFalse;
-        }
-    //check every character of input phrase
-    for ( TInt i = 0; i < aPhraseInput.Length(); ++i )
-        {
-        if ( ( (TInt)aPhraseInput[i] >= KChineseUnicodeMin ) &&
-            ( (TInt)aPhraseInput[i] <= KChineseUnicodeMax ) )
-            {
-            if ( ( KKeytroke2Unicode == (TInt)aPhraseInput[i] ) ||
-                ( KKeytroke3Unicode == (TInt)aPhraseInput[i] ) ||
-                ( KKeytroke4Unicode == (TInt)aPhraseInput[i] ) ||
-                ( KKeytroke5Unicode == (TInt)aPhraseInput[i] ) )
-                {
-                inValidFlg = ETrue;
-                }
-            else
-                {
-                inputText.Append( aPhraseInput[i] );
-                }
-            }
-        else
-            {
-            if ( KSpaceUnicode != (TInt)aPhraseInput[i] )
-                {
-                inValidFlg = ETrue;
-                }            
-            }
-        }
-    
-    //out the chinese phrase.
-    aPhraseInput = inputText;
-    
-    if ( inValidFlg )
-        {
-        StringLoader::Load( iErrMsg, R_AKNFEP_CHINESE_USER_DB_NOTE_ONLY_CHINESE_TEXT );
-        return EFalse;
-        }
-    
-    if ( aPhraseInput.Length() < 2 )
-        {
-        StringLoader::Load( iErrMsg, R_AKNFEP_CHINESE_USER_DB_NOTE_TOO_SHORT_TEXT );
-        return EFalse;
-        }
-    
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// Set language
-// ---------------------------------------------------------
-//
-void CDBManagement::ActivateLanguageL()
-    {
-    TInt epocLanguageID = iAknFepSharedDataInterface->InputTextLanguage();
-    iPtiEngine->ActivateLanguageL((TLanguage)epocLanguageID);
-    switch(epocLanguageID)
-        {
-        case ELangHongKongChinese:
-            iPtiEngine->SetInputMode( EPtiEngineStrokeByPhrase );
-            break;
-        case ELangTaiwanChinese:
-            iPtiEngine->SetInputMode( EPtiEngineZhuyinByPhrase );
-            break;
-        case ELangPrcChinese:
-            iPtiEngine->SetInputMode( EPtiEnginePinyinByPhrase );
-            break;
-        }   
-    }
-
-// ---------------------------------------------------------
-// Set language
-// ---------------------------------------------------------
-//
-void CDBManagement::ActivateLanguageOfFepL()
-    {
-    TInt epocLanguageID = iAknFepSharedDataInterface->InputTextLanguage();
-    iPtiEngineOfFep->ActivateLanguageL((TLanguage)epocLanguageID);
-    switch(epocLanguageID)
-        {
-        case ELangHongKongChinese:
-            iPtiEngineOfFep->SetInputMode( EPtiEngineStroke );
-            break;
-        case ELangTaiwanChinese:
-            iPtiEngineOfFep->SetInputMode( EPtiEngineZhuyinByPhrase );
-            break;
-        case ELangPrcChinese:
-            iPtiEngineOfFep->SetInputMode( EPtiEnginePinyin );
-            break;
-        }   
-    }
-
-// ---------------------------------------------------------
-// Set language
-// ---------------------------------------------------------
-//
-void CDBManagement::ActivateLanguage()
-    {
-    TRAP_IGNORE( ActivateLanguageL() );  
-    }
-
-// ---------------------------------------------------------
-// Get the ptiengine's error
-// ---------------------------------------------------------
-//
-void CDBManagement::GetDBErrMsg( TInt aErrCode )
-    {
-    switch( aErrCode )
-        {
-        case KInvalidPhrase:
-            StringLoader::Load( iErrMsg, R_AKNFEP_CHINESE_USER_DB_NOTE_INVALID_PHRASE_TEXT );
-            break;
-        case KPhraseExisted:
-            StringLoader::Load( iErrMsg, R_AKNFEP_CHINESE_USER_DB_NOTE_PHRASE_EXISTED_TEXT );
-            break;
-        case KPhraseNotExisted:
-            StringLoader::Load( iErrMsg, R_AKNFEP_CHINESE_USER_DB_NOTE_NOT_EXISTED_TEXT );
-            break;
-        case KInputPhraseOutRange:
-            StringLoader::Load( iErrMsg, R_AKNFEP_CHINESE_USER_DB_PHRASE_TOO_LONG_TEXT );
-            break;
-        case KDBHasNoSpace:
-            StringLoader::Load( iErrMsg, R_AKNFEP_CHINESE_USER_DB_NOTE_DB_HAVE_NO_SPACE_TEXT );
-            break; 
-        default:
-            break;
-        }
-    }
-
-//End of File
--- a/inputmethods_plat/ptiengine_key_definations_api/tsrc/group/ptiEngTestDomApi.mmp	Tue Jul 06 14:38:41 2010 +0300
+++ b/inputmethods_plat/ptiengine_key_definations_api/tsrc/group/ptiEngTestDomApi.mmp	Wed Aug 18 10:06:46 2010 +0300
@@ -18,12 +18,8 @@
 
 
 
-
-
-#if defined(__S60_)
-        // To get the OS_LAYER_SYSTEMINCLUDE-definition
-        #include <platform_paths.hrh>
-#endif
+#include <bldvariant.hrh>
+#include <platform_paths.hrh>
 
 TARGET          ptiEngTestDomApi.dll
 TARGETTYPE      dll
@@ -46,11 +42,7 @@
 
 USERINCLUDE     ../inc 
 
-#if defined(__S60_)
 MW_LAYER_SYSTEMINCLUDE
-#else // __S60_ not defined
-    SYSTEMINCLUDE   /epoc32/include 
-#endif // __S60_
 
 
 LIBRARY         euser.lib
--- a/inputmethods_pub/ptiengine_iti_api/tsrc/group/ptiEngineTestSdkApi.mmp	Tue Jul 06 14:38:41 2010 +0300
+++ b/inputmethods_pub/ptiengine_iti_api/tsrc/group/ptiEngineTestSdkApi.mmp	Wed Aug 18 10:06:46 2010 +0300
@@ -24,12 +24,8 @@
 
 
 
-
-
-#if defined(__S60_)
-        // To get the OS_LAYER_SYSTEMINCLUDE-definition
-        #include <platform_paths.hrh>
-#endif
+#include <bldvariant.hrh>
+#include <platform_paths.hrh>
 
 TARGET          ptiEngineTestSdkApi.dll
 TARGETTYPE      dll
@@ -52,11 +48,7 @@
 
 USERINCLUDE     ../inc 
 
-#if defined(__S60_)
 MW_LAYER_SYSTEMINCLUDE
-#else
-    SYSTEMINCLUDE   /epoc32/include 
-#endif
 
 LIBRARY         euser.lib
 LIBRARY         stiftestinterface.lib
--- a/textinput/peninputarc/inc/pensrvcliinc/penuiwndctrl.h	Tue Jul 06 14:38:41 2010 +0300
+++ b/textinput/peninputarc/inc/pensrvcliinc/penuiwndctrl.h	Wed Aug 18 10:06:46 2010 +0300
@@ -213,7 +213,6 @@
     
     TInt iPriority;
     TInt iPreEditorPriority;
-    CAknIncallBubble* iIncallBubble;
     CPenUiPopWnd* iPopupWnd;
     
     TBool iShowPopup;
--- a/textinput/peninputarc/src/peninputserverapp/penuiwndctrl.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ b/textinput/peninputarc/src/peninputserverapp/penuiwndctrl.cpp	Wed Aug 18 10:06:46 2010 +0300
@@ -15,7 +15,6 @@
 *
 */
 #include <AknSgcc.h>
-#include <AknIncallBubbleNotify.h>
 #include <avkon.hrh>
 #include <eikappui.h>
 #include <apgwgnam.h>
@@ -45,7 +44,6 @@
 {
     delete iPopupWnd;
 
-	delete iIncallBubble;  
 #ifdef RD_UI_TRANSITION_EFFECTS_POPUPS
 
     if ( GfxTransEffect::IsRegistered( this ) )
@@ -64,7 +62,6 @@
     SetComponentsToInheritVisibility();
 
     Window().SetRequiredDisplayMode( EColor16MA );
-    iIncallBubble = CAknIncallBubble::NewL();        
     MakeVisible( EFalse );
 #ifdef RD_UI_TRANSITION_EFFECTS_POPUPS    
     // only change registration, if not registered, don't register
@@ -140,7 +137,6 @@
     if (iResourceChange)
         {
         ActivateL();
-        iIncallBubble->SetIncallBubbleFlagsL( EAknStatusBubbleInputShow );
         MakeVisible( ETrue );
     	ClaimPointerGrab( ETrue );
         return;
@@ -154,7 +150,6 @@
     iWndGroup.SetNonFading(ETrue);
     //ChangeSysteFadeStatus();
     ActivateL();
-    iIncallBubble->SetIncallBubbleFlagsL( EAknStatusBubbleInputShow );
    // MakeVisible( ETrue );
 	ClaimPointerGrab( ETrue );
 	
@@ -196,7 +191,6 @@
     {
     if (aResChanging)
         {
-        TRAP_IGNORE(iIncallBubble->SetIncallBubbleFlagsL( EAknStatusBubbleInputHide ));
         MakeVisible( EFalse );
         return;
         }
@@ -233,7 +227,6 @@
     iShowPopup = EFalse;
     iWndGroup.SetOrdinalPosition( -1, ECoeWinPriorityNormal-1 );
     DrawableWindow()->SetOrdinalPosition(-1, ECoeWinPriorityNormal-1 );
-    TRAP_IGNORE(iIncallBubble->SetIncallBubbleFlagsL( EAknStatusBubbleInputHide ));
     //MakeVisible( EFalse );
       
 }
--- a/textinput/peninputcommonctrls/bwins/peninputcommonctrlsU.DEF	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,349 +0,0 @@
-EXPORTS
-	??0CAknFepCtrlBaseWindow@@IAE@PAVCFepUiLayout@@H@Z @ 1 NONAME ; CAknFepCtrlBaseWindow::CAknFepCtrlBaseWindow(class CFepUiLayout *, int)
-	??0CAknFepCtrlButton@@IAE@PAVCFepUiLayout@@H@Z @ 2 NONAME ; CAknFepCtrlButton::CAknFepCtrlButton(class CFepUiLayout *, int)
-	??0CAknFepCtrlDragButton@@IAE@PAVCFepUiLayout@@H@Z @ 3 NONAME ; CAknFepCtrlDragButton::CAknFepCtrlDragButton(class CFepUiLayout *, int)
-	??0CAknFepCtrlEventButton@@IAE@PAVCFepUiLayout@@HHH@Z @ 4 NONAME ABSENT ; CAknFepCtrlEventButton::CAknFepCtrlEventButton(class CFepUiLayout *, int, int, int)
-	??0CAknFepCtrlMultiModeButton@@IAE@PAVCFepUiLayout@@H@Z @ 5 NONAME ABSENT ; CAknFepCtrlMultiModeButton::CAknFepCtrlMultiModeButton(class CFepUiLayout *, int)
-	??0CAknFepCtrlRangeBar@@IAE@PAVCFepUiLayout@@HW4TButtonGroupStyle@0@@Z @ 6 NONAME ; CAknFepCtrlRangeBar::CAknFepCtrlRangeBar(class CFepUiLayout *, int, enum CAknFepCtrlRangeBar::TButtonGroupStyle)
-	??0CAknFepCtrlRepeatButton@@IAE@PAVCFepUiLayout@@HHH@Z @ 7 NONAME ABSENT ; CAknFepCtrlRepeatButton::CAknFepCtrlRepeatButton(class CFepUiLayout *, int, int, int)
-	??0CPeninputVkbCtrlExt@@IAE@ABVTRect@@PAVCFepUiLayout@@HABVTFontSpec@@@Z @ 8 NONAME ABSENT ; CPeninputVkbCtrlExt::CPeninputVkbCtrlExt(class TRect const &, class CFepUiLayout *, int, class TFontSpec const &)
-	??1CAknFepCtrlBaseWindow@@UAE@XZ @ 9 NONAME ; CAknFepCtrlBaseWindow::~CAknFepCtrlBaseWindow(void)
-	??1CAknFepCtrlButton@@UAE@XZ @ 10 NONAME ; CAknFepCtrlButton::~CAknFepCtrlButton(void)
-	??1CAknFepCtrlDragButton@@UAE@XZ @ 11 NONAME ; CAknFepCtrlDragButton::~CAknFepCtrlDragButton(void)
-	??1CAknFepCtrlEventButton@@UAE@XZ @ 12 NONAME ; CAknFepCtrlEventButton::~CAknFepCtrlEventButton(void)
-	??1CAknFepCtrlMultiModeButton@@UAE@XZ @ 13 NONAME ; CAknFepCtrlMultiModeButton::~CAknFepCtrlMultiModeButton(void)
-	??1CAknFepCtrlRangeBar@@UAE@XZ @ 14 NONAME ; CAknFepCtrlRangeBar::~CAknFepCtrlRangeBar(void)
-	??1CAknFepCtrlRepeatButton@@UAE@XZ @ 15 NONAME ; CAknFepCtrlRepeatButton::~CAknFepCtrlRepeatButton(void)
-	??1CAknFepCtrlVkbLayout@@UAE@XZ @ 16 NONAME ; CAknFepCtrlVkbLayout::~CAknFepCtrlVkbLayout(void)
-	??1CFepCtrlDropdownList@@UAE@XZ @ 17 NONAME ; CFepCtrlDropdownList::~CFepCtrlDropdownList(void)
-	??1CPeninputVkbCtrlExt@@UAE@XZ @ 18 NONAME ; CPeninputVkbCtrlExt::~CPeninputVkbCtrlExt(void)
-	??1CPeninputVkbKeyInfo@@UAE@XZ @ 19 NONAME ; CPeninputVkbKeyInfo::~CPeninputVkbKeyInfo(void)
-	??1CPeninputVkbLayoutInfo@@UAE@XZ @ 20 NONAME ; CPeninputVkbLayoutInfo::~CPeninputVkbLayoutInfo(void)
-	?ActiveRange@CAknFepCtrlRangeBar@@QAEXH@Z @ 21 NONAME ; void CAknFepCtrlRangeBar::ActiveRange(int)
-	?AddModeL@CAknFepCtrlMultiModeButton@@QAEXAAVTResourceReader@@@Z @ 22 NONAME ; void CAknFepCtrlMultiModeButton::AddModeL(class TResourceReader &)
-	?AddRangeL@CAknFepCtrlRangeBar@@QAEXAAVTResourceReader@@@Z @ 23 NONAME ; void CAknFepCtrlRangeBar::AddRangeL(class TResourceReader &)
-	?BaseConstructL@CAknFepCtrlBaseWindow@@IAEXXZ @ 24 NONAME ; void CAknFepCtrlBaseWindow::BaseConstructL(void)
-	?CancelDims@CPeninputVkbCtrlExt@@QAEXXZ @ 25 NONAME ; void CPeninputVkbCtrlExt::CancelDims(void)
-	?CancelRepeat@CAknFepCtrlRepeatButton@@QAEXXZ @ 26 NONAME ; void CAknFepCtrlRepeatButton::CancelRepeat(void)
-	?CandidateCount@CFepCtrlDropdownList@@UBEHXZ @ 27 NONAME ; int CFepCtrlDropdownList::CandidateCount(void) const
-	?ChangeVkbLayout@CAknFepCtrlVkbLayout@@QAEXH@Z @ 28 NONAME ; void CAknFepCtrlVkbLayout::ChangeVkbLayout(int)
-	?Close@CAknFepCtrlBaseWindow@@QAEXXZ @ 29 NONAME ; void CAknFepCtrlBaseWindow::Close(void)
-	?ConstructFromResourceL@CAknFepCtrlButton@@QAEXAAVTResourceReader@@@Z @ 30 NONAME ; void CAknFepCtrlButton::ConstructFromResourceL(class TResourceReader &)
-	?ConstructFromResourceL@CAknFepCtrlButton@@UAEXXZ @ 31 NONAME ; void CAknFepCtrlButton::ConstructFromResourceL(void)
-	?ConstructFromResourceL@CAknFepCtrlDragButton@@QAEXAAVTResourceReader@@@Z @ 32 NONAME ; void CAknFepCtrlDragButton::ConstructFromResourceL(class TResourceReader &)
-	?ConstructFromResourceL@CAknFepCtrlDragButton@@UAEXXZ @ 33 NONAME ; void CAknFepCtrlDragButton::ConstructFromResourceL(void)
-	?ConstructFromResourceL@CAknFepCtrlMultiModeButton@@QAEXAAVTResourceReader@@@Z @ 34 NONAME ; void CAknFepCtrlMultiModeButton::ConstructFromResourceL(class TResourceReader &)
-	?ConstructFromResourceL@CAknFepCtrlMultiModeButton@@UAEXXZ @ 35 NONAME ; void CAknFepCtrlMultiModeButton::ConstructFromResourceL(void)
-	?ConstructFromResourceL@CAknFepCtrlRangeBar@@QAEXAAVTResourceReader@@@Z @ 36 NONAME ; void CAknFepCtrlRangeBar::ConstructFromResourceL(class TResourceReader &)
-	?ConstructFromResourceL@CAknFepCtrlVkbLayout@@QAEXXZ @ 37 NONAME ; void CAknFepCtrlVkbLayout::ConstructFromResourceL(void)
-	?ConstructFromResourceL@CFepCtrlDropdownList@@UAEXXZ @ 38 NONAME ; void CFepCtrlDropdownList::ConstructFromResourceL(void)
-	?ConstructL@CAknFepCtrlRangeBar@@IAEXXZ @ 39 NONAME ; void CAknFepCtrlRangeBar::ConstructL(void)
-	?ConstructL@CAknFepCtrlRepeatButton@@IAEXXZ @ 40 NONAME ; void CAknFepCtrlRepeatButton::ConstructL(void)
-	?Control@CAknFepCtrlBaseWindow@@QAEPAVCFepUiBaseCtrl@@H@Z @ 41 NONAME ; class CFepUiBaseCtrl * CAknFepCtrlBaseWindow::Control(int)
-	?CurrentRange@CAknFepCtrlMultiModeButton@@QBEHXZ @ 42 NONAME ; int CAknFepCtrlMultiModeButton::CurrentRange(void) const
-	?DimKeys@CPeninputVkbCtrlExt@@QAEXPBVHBufC16@@@Z @ 43 NONAME ; void CPeninputVkbCtrlExt::DimKeys(class HBufC16 const *)
-	?DisableAllModes@CAknFepCtrlMultiModeButton@@QAEXXZ @ 44 NONAME ; void CAknFepCtrlMultiModeButton::DisableAllModes(void)
-	?DisplayText@CAknFepCtrlEventButton@@IAEXXZ @ 45 NONAME ; void CAknFepCtrlEventButton::DisplayText(void)
-	?DisplayText@CAknFepCtrlMultiModeButton@@IAEXXZ @ 46 NONAME ; void CAknFepCtrlMultiModeButton::DisplayText(void)
-	?DoClose@CAknFepCtrlBaseWindow@@MAEHXZ @ 47 NONAME ; int CAknFepCtrlBaseWindow::DoClose(void)
-	?Draw@CAknFepCtrlBaseWindow@@UAEXXZ @ 48 NONAME ; void CAknFepCtrlBaseWindow::Draw(void)
-	?Draw@CAknFepCtrlButton@@UAEXXZ @ 49 NONAME ; void CAknFepCtrlButton::Draw(void)
-	?Draw@CAknFepCtrlEventButton@@UAEXXZ @ 50 NONAME ; void CAknFepCtrlEventButton::Draw(void)
-	?Draw@CAknFepCtrlMultiModeButton@@MAEXXZ @ 51 NONAME ; void CAknFepCtrlMultiModeButton::Draw(void)
-	?Draw@CAknFepCtrlRangeBar@@UAEXXZ @ 52 NONAME ; void CAknFepCtrlRangeBar::Draw(void)
-	?Draw@CFepCtrlDropdownList@@UAEXXZ @ 53 NONAME ; void CFepCtrlDropdownList::Draw(void)
-	?EnableAllModes@CAknFepCtrlMultiModeButton@@QAEXXZ @ 54 NONAME ; void CAknFepCtrlMultiModeButton::EnableAllModes(void)
-	?EnableSecondary@CFepCtrlDropdownList@@QAEXHH@Z @ 55 NONAME ; void CFepCtrlDropdownList::EnableSecondary(int, int)
-	?Event@CAknFepCtrlEventButton@@QBEHXZ @ 56 NONAME ; int CAknFepCtrlEventButton::Event(void) const
-	?FindKey@CPeninputVkbLayoutInfo@@QBEPAVCPeninputVkbKeyInfo@@H@Z @ 57 NONAME ; class CPeninputVkbKeyInfo * CPeninputVkbLayoutInfo::FindKey(int) const
-	?FoldList@CFepCtrlDropdownList@@QAEXXZ @ 58 NONAME ; void CFepCtrlDropdownList::FoldList(void)
-	?GetCase@CAknFepCtrlRangeBar@@QBEHH@Z @ 59 NONAME ; int CAknFepCtrlRangeBar::GetCase(int) const
-	?GetRealSize@CPeninputVkbLayoutInfo@@QBE?BVTSize@@HH@Z @ 60 NONAME ; class TSize const CPeninputVkbLayoutInfo::GetRealSize(int, int) const
-	?HandleControlEvent@CAknFepCtrlBaseWindow@@UAEXHPAVCFepUiBaseCtrl@@ABVTDesC16@@@Z @ 61 NONAME ; void CAknFepCtrlBaseWindow::HandleControlEvent(int, class CFepUiBaseCtrl *, class TDesC16 const &)
-	?HandleControlEvent@CAknFepCtrlRangeBar@@MAEXHPAVCFepUiBaseCtrl@@ABVTDesC16@@@Z @ 62 NONAME ; void CAknFepCtrlRangeBar::HandleControlEvent(int, class CFepUiBaseCtrl *, class TDesC16 const &)
-	?HandleControlEvent@CFepCtrlDropdownList@@UAEXHPAVCFepUiBaseCtrl@@ABVTDesC16@@@Z @ 63 NONAME ; void CFepCtrlDropdownList::HandleControlEvent(int, class CFepUiBaseCtrl *, class TDesC16 const &)
-	?HandlePointerDownEventL@CAknFepCtrlRepeatButton@@MAEPAVCFepUiBaseCtrl@@ABVTPoint@@@Z @ 64 NONAME ; class CFepUiBaseCtrl * CAknFepCtrlRepeatButton::HandlePointerDownEventL(class TPoint const &)
-	?HandlePointerDownEventL@CFepCtrlDropdownList@@UAEPAVCFepUiBaseCtrl@@ABVTPoint@@@Z @ 65 NONAME ; class CFepUiBaseCtrl * CFepCtrlDropdownList::HandlePointerDownEventL(class TPoint const &)
-	?HandlePointerLeave@CAknFepCtrlRepeatButton@@MAEXABVTPoint@@@Z @ 66 NONAME ; void CAknFepCtrlRepeatButton::HandlePointerLeave(class TPoint const &)
-	?HandlePointerLeave@CFepCtrlDropdownList@@UAEXABVTPoint@@@Z @ 67 NONAME ; void CFepCtrlDropdownList::HandlePointerLeave(class TPoint const &)
-	?HandlePointerMoveEventL@CFepCtrlDropdownList@@UAEPAVCFepUiBaseCtrl@@ABVTPoint@@@Z @ 68 NONAME ; class CFepUiBaseCtrl * CFepCtrlDropdownList::HandlePointerMoveEventL(class TPoint const &)
-	?HandlePointerUpEventL@CAknFepCtrlEventButton@@UAEPAVCFepUiBaseCtrl@@ABVTPoint@@@Z @ 69 NONAME ; class CFepUiBaseCtrl * CAknFepCtrlEventButton::HandlePointerUpEventL(class TPoint const &)
-	?HandlePointerUpEventL@CAknFepCtrlRepeatButton@@MAEPAVCFepUiBaseCtrl@@ABVTPoint@@@Z @ 70 NONAME ; class CFepUiBaseCtrl * CAknFepCtrlRepeatButton::HandlePointerUpEventL(class TPoint const &)
-	?HandlePointerUpEventL@CFepCtrlDropdownList@@UAEPAVCFepUiBaseCtrl@@ABVTPoint@@@Z @ 71 NONAME ; class CFepUiBaseCtrl * CFepCtrlDropdownList::HandlePointerUpEventL(class TPoint const &)
-	?HandleTimerOut@CAknFepCtrlRepeatButton@@UAEXPBVCAknFepTimer@@@Z @ 72 NONAME ; void CAknFepCtrlRepeatButton::HandleTimerOut(class CAknFepTimer const *)
-	?HideRange@CAknFepCtrlRangeBar@@QAEXH@Z @ 73 NONAME ; void CAknFepCtrlRangeBar::HideRange(int)
-	?ImageAlreadyExist@CAknFepCtrlMultiModeButton@@IAEHJ@Z @ 74 NONAME ; int CAknFepCtrlMultiModeButton::ImageAlreadyExist(long)
-	?IsEnableSecondary@CFepCtrlDropdownList@@UBEHXZ @ 75 NONAME ; int CFepCtrlDropdownList::IsEnableSecondary(void) const
-	?IsGivenRangeSupported@CAknFepCtrlMultiModeButton@@QAEHH@Z @ 76 NONAME ; int CAknFepCtrlMultiModeButton::IsGivenRangeSupported(int)
-	?Move@CAknFepCtrlRangeBar@@UAEXABVTPoint@@@Z @ 77 NONAME ; void CAknFepCtrlRangeBar::Move(class TPoint const &)
-	?Move@CFepCtrlDropdownList@@UAEXABVTPoint@@@Z @ 78 NONAME ; void CFepCtrlDropdownList::Move(class TPoint const &)
-	?Move@CPeninputVkbCtrlExt@@UAEXABVTPoint@@@Z @ 79 NONAME ; void CPeninputVkbCtrlExt::Move(class TPoint const &)
-	?MoveKeys@CPeninputVkbLayoutInfo@@QAEXABVTPoint@@@Z @ 80 NONAME ; void CPeninputVkbLayoutInfo::MoveKeys(class TPoint const &)
-	?NewL@CAknFepCtrlButton@@SAPAV1@PAVCFepUiLayout@@H@Z @ 81 NONAME ; class CAknFepCtrlButton * CAknFepCtrlButton::NewL(class CFepUiLayout *, int)
-	?NewL@CAknFepCtrlDragButton@@SAPAV1@PAVCFepUiLayout@@H@Z @ 82 NONAME ; class CAknFepCtrlDragButton * CAknFepCtrlDragButton::NewL(class CFepUiLayout *, int)
-	?NewL@CAknFepCtrlEventButton@@SAPAV1@PAVCFepUiLayout@@HHH@Z @ 83 NONAME ABSENT ; class CAknFepCtrlEventButton * CAknFepCtrlEventButton::NewL(class CFepUiLayout *, int, int, int)
-	?NewL@CAknFepCtrlMultiModeButton@@SAPAV1@PAVCFepUiLayout@@H@Z @ 84 NONAME ABSENT ; class CAknFepCtrlMultiModeButton * CAknFepCtrlMultiModeButton::NewL(class CFepUiLayout *, int)
-	?NewL@CAknFepCtrlRangeBar@@SAPAV1@PAVCFepUiLayout@@HW4TButtonGroupStyle@1@@Z @ 85 NONAME ; class CAknFepCtrlRangeBar * CAknFepCtrlRangeBar::NewL(class CFepUiLayout *, int, enum CAknFepCtrlRangeBar::TButtonGroupStyle)
-	?NewL@CAknFepCtrlRepeatButton@@SAPAV1@PAVCFepUiLayout@@HHH@Z @ 86 NONAME ABSENT ; class CAknFepCtrlRepeatButton * CAknFepCtrlRepeatButton::NewL(class CFepUiLayout *, int, int, int)
-	?NewL@CAknFepCtrlVkbLayout@@SAPAV1@XZ @ 87 NONAME ; class CAknFepCtrlVkbLayout * CAknFepCtrlVkbLayout::NewL(void)
-	?NewL@CFepCtrlDropdownList@@SAPAV1@ABVTPoint@@PAVCFepUiLayout@@HAAVTResourceReader@@HHHHHPBVCFont@@PAVMListEventHandler@@W4TTextAlign@CGraphicsContext@@HVTRgb@@6666666@Z @ 88 NONAME ; class CFepCtrlDropdownList * CFepCtrlDropdownList::NewL(class TPoint const &, class CFepUiLayout *, int, class TResourceReader &, int, int, int, int, int, class CFont const *, class MListEventHandler *, enum CGraphicsContext::TTextAlign, int, class TRgb, class TRgb, class TRgb, class TRgb, class TRgb, class TRgb, class TRgb, class TRgb)
-	?NewL@CPeninputVkbCtrlExt@@SAPAV1@ABVTRect@@PAVCFepUiLayout@@HPBVCFont@@@Z @ 89 NONAME ABSENT ; class CPeninputVkbCtrlExt * CPeninputVkbCtrlExt::NewL(class TRect const &, class CFepUiLayout *, int, class CFont const *)
-	?NewL@CPeninputVkbKeyInfo@@SAPAV1@AAVTResourceReader@@@Z @ 90 NONAME ; class CPeninputVkbKeyInfo * CPeninputVkbKeyInfo::NewL(class TResourceReader &)
-	?NewL@CPeninputVkbLayoutInfo@@SAPAV1@AAVTResourceReader@@@Z @ 91 NONAME ; class CPeninputVkbLayoutInfo * CPeninputVkbLayoutInfo::NewL(class TResourceReader &)
-	?NewLC@CAknFepCtrlButton@@SAPAV1@PAVCFepUiLayout@@H@Z @ 92 NONAME ; class CAknFepCtrlButton * CAknFepCtrlButton::NewLC(class CFepUiLayout *, int)
-	?NewLC@CAknFepCtrlDragButton@@SAPAV1@PAVCFepUiLayout@@H@Z @ 93 NONAME ; class CAknFepCtrlDragButton * CAknFepCtrlDragButton::NewLC(class CFepUiLayout *, int)
-	?NewLC@CAknFepCtrlEventButton@@SAPAV1@PAVCFepUiLayout@@HHH@Z @ 94 NONAME ABSENT ; class CAknFepCtrlEventButton * CAknFepCtrlEventButton::NewLC(class CFepUiLayout *, int, int, int)
-	?NewLC@CAknFepCtrlMultiModeButton@@SAPAV1@PAVCFepUiLayout@@H@Z @ 95 NONAME ABSENT ; class CAknFepCtrlMultiModeButton * CAknFepCtrlMultiModeButton::NewLC(class CFepUiLayout *, int)
-	?NewLC@CAknFepCtrlRangeBar@@SAPAV1@PAVCFepUiLayout@@HW4TButtonGroupStyle@1@@Z @ 96 NONAME ; class CAknFepCtrlRangeBar * CAknFepCtrlRangeBar::NewLC(class CFepUiLayout *, int, enum CAknFepCtrlRangeBar::TButtonGroupStyle)
-	?NewLC@CAknFepCtrlRepeatButton@@SAPAV1@PAVCFepUiLayout@@HHH@Z @ 97 NONAME ABSENT ; class CAknFepCtrlRepeatButton * CAknFepCtrlRepeatButton::NewLC(class CFepUiLayout *, int, int, int)
-	?NewLC@CAknFepCtrlVkbLayout@@SAPAV1@XZ @ 98 NONAME ; class CAknFepCtrlVkbLayout * CAknFepCtrlVkbLayout::NewLC(void)
-	?NewLC@CFepCtrlDropdownList@@SAPAV1@ABVTPoint@@PAVCFepUiLayout@@HAAVTResourceReader@@HHHHHPBVCFont@@PAVMListEventHandler@@W4TTextAlign@CGraphicsContext@@HVTRgb@@6666666@Z @ 99 NONAME ; class CFepCtrlDropdownList * CFepCtrlDropdownList::NewLC(class TPoint const &, class CFepUiLayout *, int, class TResourceReader &, int, int, int, int, int, class CFont const *, class MListEventHandler *, enum CGraphicsContext::TTextAlign, int, class TRgb, class TRgb, class TRgb, class TRgb, class TRgb, class TRgb, class TRgb, class TRgb)
-	?NewLC@CPeninputVkbLayoutInfo@@SAPAV1@AAVTResourceReader@@@Z @ 100 NONAME ; class CPeninputVkbLayoutInfo * CPeninputVkbLayoutInfo::NewLC(class TResourceReader &)
-	?NextMode@CAknFepCtrlMultiModeButton@@QBEHXZ @ 101 NONAME ; int CAknFepCtrlMultiModeButton::NextMode(void) const
-	?OnDeActivate@CFepCtrlDropdownList@@UAEXXZ @ 102 NONAME ; void CFepCtrlDropdownList::OnDeActivate(void)
-	?RangeOfGivenMode@CAknFepCtrlMultiModeButton@@QBEHH@Z @ 103 NONAME ; int CAknFepCtrlMultiModeButton::RangeOfGivenMode(int) const
-	?Rect@CFepCtrlDropdownList@@QAEABVTRect@@XZ @ 104 NONAME ; class TRect const & CFepCtrlDropdownList::Rect(void)
-	?RefreshUI@CAknFepCtrlRangeBar@@QAEXXZ @ 105 NONAME ; void CAknFepCtrlRangeBar::RefreshUI(void)
-	?ReorganizeVkbKeys@CPeninputVkbCtrlExt@@QAEXPAVCPeninputVkbLayoutInfo@@@Z @ 106 NONAME ; void CPeninputVkbCtrlExt::ReorganizeVkbKeys(class CPeninputVkbLayoutInfo *)
-	?Reset@CAknFepCtrlVkbLayout@@QAEXXZ @ 107 NONAME ; void CAknFepCtrlVkbLayout::Reset(void)
-	?Reset@CPeninputVkbCtrlExt@@QAEXXZ @ 108 NONAME ; void CPeninputVkbCtrlExt::Reset(void)
-	?ResetAndClear@CFepCtrlDropdownList@@QAEXW4TListType@1@@Z @ 109 NONAME ; void CFepCtrlDropdownList::ResetAndClear(enum CFepCtrlDropdownList::TListType)
-	?ResetSize@CPeninputVkbLayoutInfo@@QAEXHHHHABVTPoint@@PBVCFont@@@Z @ 110 NONAME ; void CPeninputVkbLayoutInfo::ResetSize(int, int, int, int, class TPoint const &, class CFont const *)
-	?SetActionStyle@CAknFepCtrlRangeBar@@QAEXW4TRangeBarActionStyle@1@@Z @ 111 NONAME ; void CAknFepCtrlRangeBar::SetActionStyle(enum CAknFepCtrlRangeBar::TRangeBarActionStyle)
-	?SetActive@CAknFepCtrlButton@@UAEXH@Z @ 112 NONAME ; void CAknFepCtrlButton::SetActive(int)
-	?SetActive@CFepCtrlDropdownList@@UAEXH@Z @ 113 NONAME ; void CFepCtrlDropdownList::SetActive(int)
-	?SetBgColor@CFepCtrlDropdownList@@QAEXVTRgb@@H@Z @ 114 NONAME ; void CFepCtrlDropdownList::SetBgColor(class TRgb, int)
-	?SetBorderColor@CFepCtrlDropdownList@@QAEXVTRgb@@H@Z @ 115 NONAME ; void CFepCtrlDropdownList::SetBorderColor(class TRgb, int)
-	?SetButtonBmpL@CAknFepCtrlMultiModeButton@@IAEXW4TButtonBmpType@@H@Z @ 116 NONAME ; void CAknFepCtrlMultiModeButton::SetButtonBmpL(enum TButtonBmpType, int)
-	?SetCandidatesL@CFepCtrlDropdownList@@QAEXABV?$RPointerArray@VHBufC16@@@@W4TListType@1@ABVTDesC16@@@Z @ 117 NONAME ; void CFepCtrlDropdownList::SetCandidatesL(class RPointerArray<class HBufC16> const &, enum CFepCtrlDropdownList::TListType, class TDesC16 const &)
-	?SetCaseL@CAknFepCtrlRangeBar@@QAEXHH@Z @ 118 NONAME ; void CAknFepCtrlRangeBar::SetCaseL(int, int)
-	?SetCellHeight@CFepCtrlDropdownList@@QAEXH@Z @ 119 NONAME ; void CFepCtrlDropdownList::SetCellHeight(int)
-	?SetCellWidth@CFepCtrlDropdownList@@QAEXH@Z @ 120 NONAME ; void CFepCtrlDropdownList::SetCellWidth(int)
-	?SetColNum@CFepCtrlDropdownList@@QAEXH@Z @ 121 NONAME ; void CFepCtrlDropdownList::SetColNum(int)
-	?SetCurrentModeL@CAknFepCtrlMultiModeButton@@QAEXW4TButtonBmpType@@H@Z @ 122 NONAME ; void CAknFepCtrlMultiModeButton::SetCurrentModeL(enum TButtonBmpType, int)
-	?SetDragEnable@CAknFepCtrlBaseWindow@@QAEXH@Z @ 123 NONAME ; void CAknFepCtrlBaseWindow::SetDragEnable(int)
-	?SetEvent@CAknFepCtrlEventButton@@QAEXH@Z @ 124 NONAME ; void CAknFepCtrlEventButton::SetEvent(int)
-	?SetEventIdForCandidateSelected@CFepCtrlDropdownList@@QAEXH@Z @ 125 NONAME ; void CFepCtrlDropdownList::SetEventIdForCandidateSelected(int)
-	?SetEventIdForCase@CAknFepCtrlRangeBar@@QAEXH@Z @ 126 NONAME ; void CAknFepCtrlRangeBar::SetEventIdForCase(int)
-	?SetEventIdForRange@CAknFepCtrlRangeBar@@QAEXH@Z @ 127 NONAME ; void CAknFepCtrlRangeBar::SetEventIdForRange(int)
-	?SetFont@CAknFepCtrlEventButton@@QAEXPBVCFont@@@Z @ 128 NONAME ; void CAknFepCtrlEventButton::SetFont(class CFont const *)
-	?SetFont@CAknFepCtrlRangeBar@@QAEXPBVCFont@@@Z @ 129 NONAME ; void CAknFepCtrlRangeBar::SetFont(class CFont const *)
-	?SetFont@CFepCtrlDropdownList@@QAEXPBVCFont@@H@Z @ 130 NONAME ; void CFepCtrlDropdownList::SetFont(class CFont const *, int)
-	?SetFontColor@CAknFepCtrlEventButton@@QAEXVTRgb@@@Z @ 131 NONAME ; void CAknFepCtrlEventButton::SetFontColor(class TRgb)
-	?SetFontColor@CAknFepCtrlMultiModeButton@@QAEXVTRgb@@@Z @ 132 NONAME ; void CAknFepCtrlMultiModeButton::SetFontColor(class TRgb)
-	?SetHighLightBgColor@CFepCtrlDropdownList@@QAEXVTRgb@@H@Z @ 133 NONAME ; void CFepCtrlDropdownList::SetHighLightBgColor(class TRgb, int)
-	?SetHighLightTextColor@CFepCtrlDropdownList@@QAEXVTRgb@@H@Z @ 134 NONAME ; void CFepCtrlDropdownList::SetHighLightTextColor(class TRgb, int)
-	?SetHighlight@CAknFepCtrlButton@@QAEXH@Z @ 135 NONAME ; void CAknFepCtrlButton::SetHighlight(int)
-	?SetHighlightCell@CFepCtrlDropdownList@@QAEXHH@Z @ 136 NONAME ABSENT ; void CFepCtrlDropdownList::SetHighlightCell(int, int)
-	?SetListEventHandler@CFepCtrlDropdownList@@QAEXPAVMListEventHandler@@@Z @ 137 NONAME ; void CFepCtrlDropdownList::SetListEventHandler(class MListEventHandler *)
-	?SetNaviWidth@CFepCtrlDropdownList@@QAEXH@Z @ 138 NONAME ; void CFepCtrlDropdownList::SetNaviWidth(int)
-	?SetNavigationBgColor@CFepCtrlDropdownList@@QAEXVTRgb@@H@Z @ 139 NONAME ; void CFepCtrlDropdownList::SetNavigationBgColor(class TRgb, int)
-	?SetPermittedCase@CAknFepCtrlRangeBar@@QAEXHHH@Z @ 140 NONAME ; void CAknFepCtrlRangeBar::SetPermittedCase(int, int, int)
-	?SetPermittedModes@CAknFepCtrlMultiModeButton@@QAEHHHH@Z @ 141 NONAME ; int CAknFepCtrlMultiModeButton::SetPermittedModes(int, int, int)
-	?SetPermittedRange@CAknFepCtrlMultiModeButton@@QAEHHH@Z @ 142 NONAME ; int CAknFepCtrlMultiModeButton::SetPermittedRange(int, int)
-	?SetPermittedRange@CAknFepCtrlRangeBar@@QAEXHH@Z @ 143 NONAME ; void CAknFepCtrlRangeBar::SetPermittedRange(int, int)
-	?SetPermittedRanges@CAknFepCtrlRangeBar@@QAEXH@Z @ 144 NONAME ; void CAknFepCtrlRangeBar::SetPermittedRanges(int)
-	?SetRange@CAknFepCtrlMultiModeButton@@QAEHH@Z @ 145 NONAME ; int CAknFepCtrlMultiModeButton::SetRange(int)
-	?SetRange@CAknFepCtrlRangeBar@@QAEHH@Z @ 146 NONAME ; int CAknFepCtrlRangeBar::SetRange(int)
-	?SetRepeatInterval@CAknFepCtrlRepeatButton@@QAEXABVTTimeIntervalMicroSeconds32@@@Z @ 147 NONAME ; void CAknFepCtrlRepeatButton::SetRepeatInterval(class TTimeIntervalMicroSeconds32 const &)
-	?SetResourceId@CAknFepCtrlVkbLayout@@QAEXJ@Z @ 148 NONAME ; void CAknFepCtrlVkbLayout::SetResourceId(long)
-	?SetRowNum@CFepCtrlDropdownList@@QAEXH@Z @ 149 NONAME ; void CFepCtrlDropdownList::SetRowNum(int)
-	?SetSecondaryList@CFepCtrlDropdownList@@QAEXV?$RArray@H@@H@Z @ 150 NONAME ABSENT ; void CFepCtrlDropdownList::SetSecondaryList(class RArray<int>, int)
-	?SetShadowFont@CAknFepCtrlEventButton@@QAEXPBVCFont@@@Z @ 151 NONAME ; void CAknFepCtrlEventButton::SetShadowFont(class CFont const *)
-	?SetShadowFontColor@CAknFepCtrlEventButton@@QAEXVTRgb@@@Z @ 152 NONAME ; void CAknFepCtrlEventButton::SetShadowFontColor(class TRgb)
-	?SetShadowFontColor@CAknFepCtrlMultiModeButton@@QAEXVTRgb@@@Z @ 153 NONAME ; void CAknFepCtrlMultiModeButton::SetShadowFontColor(class TRgb)
-	?SetSpecialTextColor@CFepCtrlDropdownList@@QAEXVTRgb@@H@Z @ 154 NONAME ; void CFepCtrlDropdownList::SetSpecialTextColor(class TRgb, int)
-	?SetText@CAknFepCtrlEventButton@@QAEXABVTDesC16@@@Z @ 155 NONAME ; void CAknFepCtrlEventButton::SetText(class TDesC16 const &)
-	?SetTextAlighment@CFepCtrlDropdownList@@QAEXW4TTextAlign@CGraphicsContext@@H@Z @ 156 NONAME ; void CFepCtrlDropdownList::SetTextAlighment(enum CGraphicsContext::TTextAlign, int)
-	?SetTextColor@CFepCtrlDropdownList@@QAEXVTRgb@@H@Z @ 157 NONAME ; void CFepCtrlDropdownList::SetTextColor(class TRgb, int)
-	?SetTextMargin@CFepCtrlDropdownList@@QAEXHH@Z @ 158 NONAME ; void CFepCtrlDropdownList::SetTextMargin(int, int)
-	?SetTopLeftPoint@CFepCtrlDropdownList@@QAEXVTPoint@@@Z @ 159 NONAME ; void CFepCtrlDropdownList::SetTopLeftPoint(class TPoint)
-	?SetUnicode@CAknFepCtrlEventButton@@QAEXH@Z @ 160 NONAME ; void CAknFepCtrlEventButton::SetUnicode(int)
-	?SetVkbKeyboard@CAknFepCtrlVkbLayout@@QAEXPAVCPeninputVkbCtrlExt@@@Z @ 161 NONAME ; void CAknFepCtrlVkbLayout::SetVkbKeyboard(class CPeninputVkbCtrlExt *)
-	?ShowAllRanges@CAknFepCtrlRangeBar@@QAEXXZ @ 162 NONAME ; void CAknFepCtrlRangeBar::ShowAllRanges(void)
-	?ShowRange@CAknFepCtrlRangeBar@@QAEXH@Z @ 163 NONAME ; void CAknFepCtrlRangeBar::ShowRange(int)
-	?SizeChanged@CAknFepCtrlButton@@QAEXVTRect@@H@Z @ 164 NONAME ; void CAknFepCtrlButton::SizeChanged(class TRect, int)
-	?SizeChanged@CAknFepCtrlDragButton@@QAEXABVTRect@@H@Z @ 165 NONAME ABSENT ; void CAknFepCtrlDragButton::SizeChanged(class TRect const &, int)
-	?SizeChanged@CAknFepCtrlMultiModeButton@@QAEXVTRect@@H@Z @ 166 NONAME ABSENT ; void CAknFepCtrlMultiModeButton::SizeChanged(class TRect, int)
-	?SizeChanged@CAknFepCtrlRangeBar@@QAEXVTRect@@@Z @ 167 NONAME ; void CAknFepCtrlRangeBar::SizeChanged(class TRect)
-	?SizeChanged@CFepCtrlDropdownList@@QAEXHHHVTPoint@@HH@Z @ 168 NONAME ; void CFepCtrlDropdownList::SizeChanged(int, int, int, class TPoint, int, int)
-	?SizeChanged@CPeninputVkbCtrlExt@@QAEXHHABVTPoint@@@Z @ 169 NONAME ; void CPeninputVkbCtrlExt::SizeChanged(int, int, class TPoint const &)
-	?Unicode@CAknFepCtrlEventButton@@QBEHXZ @ 170 NONAME ; int CAknFepCtrlEventButton::Unicode(void) const
-	?VkbLayoutInfoList@CAknFepCtrlVkbLayout@@QAE?AV?$RPointerArray@VCPeninputVkbLayoutInfo@@@@XZ @ 171 NONAME ; class RPointerArray<class CPeninputVkbLayoutInfo> CAknFepCtrlVkbLayout::VkbLayoutInfoList(void)
-	?AddCandidatesL@CFepCtrlDropdownList@@QAEXABV?$RPointerArray@VHBufC16@@@@W4TListType@1@@Z @ 172 NONAME ; void CFepCtrlDropdownList::AddCandidatesL(class RPointerArray<class HBufC16> const &, enum CFepCtrlDropdownList::TListType)
-	?SetEventIdForCandidateExisted@CFepCtrlDropdownList@@QAEXH@Z @ 173 NONAME ; void CFepCtrlDropdownList::SetEventIdForCandidateExisted(int)
-	?SetEventIdForNextPageCandidate@CFepCtrlDropdownList@@QAEXH@Z @ 174 NONAME ; void CFepCtrlDropdownList::SetEventIdForNextPageCandidate(int)
-	?SetEventIdForPreviousPageCandidate@CFepCtrlDropdownList@@QAEXH@Z @ 175 NONAME ; void CFepCtrlDropdownList::SetEventIdForPreviousPageCandidate(int)
-	?SetFlagCandidateExist@CFepCtrlDropdownList@@QAEXH@Z @ 176 NONAME ; void CFepCtrlDropdownList::SetFlagCandidateExist(int)	
-	??0CAknFepCtrlRawKeyButton@@IAE@PAVCFepUiLayout@@HHHH@Z @ 177 NONAME ABSENT ; CAknFepCtrlRawKeyButton::CAknFepCtrlRawKeyButton(class CFepUiLayout *, int, int, int, int)
-	??1CAknFepCtrlRawKeyButton@@UAE@XZ @ 178 NONAME ; CAknFepCtrlRawKeyButton::~CAknFepCtrlRawKeyButton(void)
-	?ConstructFromResourceL@CAknFepCtrlRawKeyButton@@QAEXAAVTResourceReader@@@Z @ 179 NONAME ; void CAknFepCtrlRawKeyButton::ConstructFromResourceL(class TResourceReader &)
-	?ConstructFromResourceL@CAknFepCtrlRawKeyButton@@UAEXXZ @ 180 NONAME ; void CAknFepCtrlRawKeyButton::ConstructFromResourceL(void)
-	?HandlePointerDownEventL@CAknFepCtrlRawKeyButton@@UAEPAVCFepUiBaseCtrl@@ABVTPoint@@@Z @ 181 NONAME ; class CFepUiBaseCtrl * CAknFepCtrlRawKeyButton::HandlePointerDownEventL(class TPoint const &)
-	?HandlePointerUpEventL@CAknFepCtrlRawKeyButton@@UAEPAVCFepUiBaseCtrl@@ABVTPoint@@@Z @ 182 NONAME ; class CFepUiBaseCtrl * CAknFepCtrlRawKeyButton::HandlePointerUpEventL(class TPoint const &)
-	?NewL@CAknFepCtrlRawKeyButton@@SAPAV1@PAVCFepUiLayout@@HHHH@Z @ 183 NONAME ABSENT ; class CAknFepCtrlRawKeyButton * CAknFepCtrlRawKeyButton::NewL(class CFepUiLayout *, int, int, int, int)
-	?NewL@CFepCtrlDropdownList@@SAPAV1@PAVCFepUiLayout@@HHVTPoint@@VTSize@@HH@Z @ 184 NONAME ; class CFepCtrlDropdownList * CFepCtrlDropdownList::NewL(class CFepUiLayout *, int, int, class TPoint, class TSize, int, int)
-	?NewLC@CAknFepCtrlRawKeyButton@@SAPAV1@PAVCFepUiLayout@@HHHH@Z @ 185 NONAME ABSENT ; class CAknFepCtrlRawKeyButton * CAknFepCtrlRawKeyButton::NewLC(class CFepUiLayout *, int, int, int, int)
-	?SetCandTruncateType@CFepCtrlDropdownList@@QAEXW4TCandTruncateType@1@@Z @ 186 NONAME ; void CFepCtrlDropdownList::SetCandTruncateType(enum CFepCtrlDropdownList::TCandTruncateType)
-	?SetCellMargin@CFepCtrlDropdownList@@QAEXHH@Z @ 187 NONAME ; void CFepCtrlDropdownList::SetCellMargin(int, int)
-	?SetSpinBtnHeight@CFepCtrlDropdownList@@QAEXH@Z @ 188 NONAME ; void CFepCtrlDropdownList::SetSpinBtnHeight(int)
-	?HandlePointerLeave@CAknFepCtrlRawKeyButton@@UAEXABVTPoint@@@Z @ 189 NONAME ; void CAknFepCtrlRawKeyButton::HandlePointerLeave(class TPoint const &)
-	??1CAknFepCtrlLabel@@UAE@XZ @ 190 NONAME ; CAknFepCtrlLabel::~CAknFepCtrlLabel(void)
-	??1CPenInputSelectionList@@UAE@XZ @ 191 NONAME ; CPenInputSelectionList::~CPenInputSelectionList(void)
-	?AddItemL@CPenInputSelectionList@@QAEXABVTDesC16@@@Z @ 192 NONAME ; void CPenInputSelectionList::AddItemL(class TDesC16 const &)
-	?CloseWindow@CPenInputSelectionList@@QAEXXZ @ 193 NONAME ; void CPenInputSelectionList::CloseWindow(void)
-	?ConstructFromResourceL@CPenInputSelectionList@@UAEXXZ @ 194 NONAME ; void CPenInputSelectionList::ConstructFromResourceL(void)
-	?Display@CPenInputSelectionList@@QAEXXZ @ 195 NONAME ; void CPenInputSelectionList::Display(void)
-	?Draw@CAknFepCtrlLabel@@UAEXXZ @ 196 NONAME ; void CAknFepCtrlLabel::Draw(void)
-	?HandlePointerDownEventL@CPenInputSelectionList@@UAEPAVCFepUiBaseCtrl@@ABVTPoint@@@Z @ 197 NONAME ; class CFepUiBaseCtrl * CPenInputSelectionList::HandlePointerDownEventL(class TPoint const &)
-	?HandlePointerMoveEventL@CPenInputSelectionList@@UAEPAVCFepUiBaseCtrl@@ABVTPoint@@@Z @ 198 NONAME ; class CFepUiBaseCtrl * CPenInputSelectionList::HandlePointerMoveEventL(class TPoint const &)
-	?HandlePointerUpEventL@CPenInputSelectionList@@UAEPAVCFepUiBaseCtrl@@ABVTPoint@@@Z @ 199 NONAME ; class CFepUiBaseCtrl * CPenInputSelectionList::HandlePointerUpEventL(class TPoint const &)
-	?NewL@CAknFepCtrlLabel@@SAPAV1@PAVCFepUiLayout@@H@Z @ 200 NONAME ; class CAknFepCtrlLabel * CAknFepCtrlLabel::NewL(class CFepUiLayout *, int)
-	?NewL@CPenInputSelectionList@@SAPAV1@PAVCFepUiLayout@@HVTPoint@@VTSize@@H@Z @ 201 NONAME ; class CPenInputSelectionList * CPenInputSelectionList::NewL(class CFepUiLayout *, int, class TPoint, class TSize, int)
-	?RemoveAllItems@CPenInputSelectionList@@QAEXXZ @ 202 NONAME ; void CPenInputSelectionList::RemoveAllItems(void)
-	?RemoveItem@CPenInputSelectionList@@QAEXH@Z @ 203 NONAME ; void CPenInputSelectionList::RemoveItem(int)
-	?SetBitmapL@CAknFepCtrlLabel@@QAEXPAVCFbsBitmap@@@Z @ 204 NONAME ; void CAknFepCtrlLabel::SetBitmapL(class CFbsBitmap *)
-	?SetFont@CAknFepCtrlLabel@@UAEXABVTFontSpec@@@Z @ 205 NONAME ; void CAknFepCtrlLabel::SetFont(class TFontSpec const &)
-	?SetFont@CAknFepCtrlLabel@@UAEXPBVCFont@@@Z @ 206 NONAME ; void CAknFepCtrlLabel::SetFont(class CFont const *)
-	?SetFontColor@CAknFepCtrlLabel@@UAEXVTRgb@@@Z @ 207 NONAME ABSENT ; void CAknFepCtrlLabel::SetFontColor(class TRgb)
-	?SetItemsL@CPenInputSelectionList@@QAEXABV?$RPointerArray@VHBufC16@@@@@Z @ 208 NONAME ; void CPenInputSelectionList::SetItemsL(class RPointerArray<class HBufC16> const &)
-	?SetMaskBitmapL@CAknFepCtrlLabel@@QAEXPAVCFbsBitmap@@@Z @ 209 NONAME ; void CAknFepCtrlLabel::SetMaskBitmapL(class CFbsBitmap *)
-	?SetText@CAknFepCtrlLabel@@QAEXABVTDesC16@@@Z @ 210 NONAME ; void CAknFepCtrlLabel::SetText(class TDesC16 const &)
-	?SetTextAlignment@CAknFepCtrlLabel@@UAEXW4TTextAlign@CGraphicsContext@@@Z @ 211 NONAME ; void CAknFepCtrlLabel::SetTextAlignment(enum CGraphicsContext::TTextAlign)
-	?SetTextProperty@CPenInputSelectionList@@QAEXPBVCFont@@VTRgb@@@Z @ 212 NONAME ; void CPenInputSelectionList::SetTextProperty(class CFont const *, class TRgb)
-	?SizeChanged@CAknFepCtrlLabel@@UAEXVTRect@@H@Z @ 213 NONAME ; void CAknFepCtrlLabel::SizeChanged(class TRect, int)
-	?SizeChanged@CPenInputSelectionList@@QAEXVTPoint@@VTSize@@H@Z @ 214 NONAME ; void CPenInputSelectionList::SizeChanged(class TPoint, class TSize, int)
-	?TextAlignment@CAknFepCtrlLabel@@UAE?AW4TTextAlign@CGraphicsContext@@XZ @ 215 NONAME ; enum CGraphicsContext::TTextAlign CAknFepCtrlLabel::TextAlignment(void)
-	?CreateSwitchL@PenInputModeSwitchFactory@@SAPAVMPenInputModeSwitchInterface@@PAVCFepUiLayout@@HW4TPluginInputMode@@@Z @ 216 NONAME ABSENT ; class MPenInputModeSwitchInterface * PenInputModeSwitchFactory::CreateSwitchL(class CFepUiLayout *, int, enum TPluginInputMode)
-	?ReleaseSwitch@PenInputModeSwitchFactory@@SAXPAVMPenInputModeSwitchInterface@@@Z @ 217 NONAME ABSENT ; void PenInputModeSwitchFactory::ReleaseSwitch(class MPenInputModeSwitchInterface *)
-	?SetFuzzyBoundry@CFepCtrlDropdownList@@QAEXH@Z @ 218 NONAME ; void CFepCtrlDropdownList::SetFuzzyBoundry(int)
-	?SetCandExpandType@CFepCtrlDropdownList@@QAEXW4TExpandType@1@@Z @ 219 NONAME ; void CFepCtrlDropdownList::SetCandExpandType(enum CFepCtrlDropdownList::TExpandType)
-	??0CAknFepCtrlCommonButton@@IAE@PAVCFepUiLayout@@HVTAknsItemID@@11@Z @ 220 NONAME ; CAknFepCtrlCommonButton::CAknFepCtrlCommonButton(class CFepUiLayout *, int, class TAknsItemID, class TAknsItemID, class TAknsItemID)
-	??1CAknFepCtrlCommonButton@@UAE@XZ @ 221 NONAME ; CAknFepCtrlCommonButton::~CAknFepCtrlCommonButton(void)
-	?ConstructFromResourceL@CAknFepCtrlCommonButton@@QAEXAAVTResourceReader@@@Z @ 222 NONAME ; void CAknFepCtrlCommonButton::ConstructFromResourceL(class TResourceReader &)
-	?ConstructFromResourceL@CAknFepCtrlCommonButton@@UAEXXZ @ 223 NONAME ; void CAknFepCtrlCommonButton::ConstructFromResourceL(void)
-	?Draw@CAknFepCtrlCommonButton@@UAEXXZ @ 224 NONAME ; void CAknFepCtrlCommonButton::Draw(void)
-	?NewL@CAknFepCtrlCommonButton@@SAPAV1@PAVCFepUiLayout@@HVTAknsItemID@@11@Z @ 225 NONAME ; class CAknFepCtrlCommonButton * CAknFepCtrlCommonButton::NewL(class CFepUiLayout *, int, class TAknsItemID, class TAknsItemID, class TAknsItemID)
-	?NewLC@CAknFepCtrlCommonButton@@SAPAV1@PAVCFepUiLayout@@HVTAknsItemID@@11@Z @ 226 NONAME ; class CAknFepCtrlCommonButton * CAknFepCtrlCommonButton::NewLC(class CFepUiLayout *, int, class TAknsItemID, class TAknsItemID, class TAknsItemID)
-	?SetActive@CAknFepCtrlCommonButton@@UAEXH@Z @ 227 NONAME ; void CAknFepCtrlCommonButton::SetActive(int)
-	?SetForgroundBmpRect@CAknFepCtrlCommonButton@@QAEXABVTRect@@@Z @ 228 NONAME ; void CAknFepCtrlCommonButton::SetForgroundBmpRect(class TRect const &)
-	?SetHighlight@CAknFepCtrlCommonButton@@QAEXH@Z @ 229 NONAME ; void CAknFepCtrlCommonButton::SetHighlight(int)
-	?SizeChanged@CAknFepCtrlCommonButton@@QAEXVTRect@@0H@Z @ 230 NONAME ; void CAknFepCtrlCommonButton::SizeChanged(class TRect, class TRect, int)
-	??0CAknFepCtrlRawKeyButton@@IAE@PAVCFepUiLayout@@HVTAknsItemID@@11HHH@Z @ 231 NONAME ; CAknFepCtrlRawKeyButton::CAknFepCtrlRawKeyButton(class CFepUiLayout *, int, class TAknsItemID, class TAknsItemID, class TAknsItemID, int, int, int)
-	?NewL@CAknFepCtrlRawKeyButton@@SAPAV1@PAVCFepUiLayout@@HVTAknsItemID@@11HHH@Z @ 232 NONAME ; class CAknFepCtrlRawKeyButton * CAknFepCtrlRawKeyButton::NewL(class CFepUiLayout *, int, class TAknsItemID, class TAknsItemID, class TAknsItemID, int, int, int)
-	?NewLC@CAknFepCtrlRawKeyButton@@SAPAV1@PAVCFepUiLayout@@HVTAknsItemID@@11HHH@Z @ 233 NONAME ; class CAknFepCtrlRawKeyButton * CAknFepCtrlRawKeyButton::NewLC(class CFepUiLayout *, int, class TAknsItemID, class TAknsItemID, class TAknsItemID, int, int, int)
-	?OnDeActivate@CAknFepCtrlRawKeyButton@@UAEXXZ @ 234 NONAME ; void CAknFepCtrlRawKeyButton::OnDeActivate(void)
-	??1CPeninputLayoutInputmodelChoice@@UAE@XZ @ 235 NONAME ; CPeninputLayoutInputmodelChoice::~CPeninputLayoutInputmodelChoice(void)
-	?NewL@CPeninputLayoutInputmodelChoice@@SAPAV1@PAVCFepUiLayout@@HW4TPluginInputMode@@@Z @ 236 NONAME ; class CPeninputLayoutInputmodelChoice * CPeninputLayoutInputmodelChoice::NewL(class CFepUiLayout *, int, enum TPluginInputMode)
-	?PopUpSwitchListL@CPeninputLayoutInputmodelChoice@@QAEXABVTRect@@@Z @ 237 NONAME ; void CPeninputLayoutInputmodelChoice::PopUpSwitchListL(class TPoint const &, int)
-	?SetSecretEditor@CPeninputLayoutInputmodelChoice@@QAEXH@Z @ 238 NONAME ; void CPeninputLayoutInputmodelChoice::SetSecretEditor(int)
-	?SwitchListRect@CPeninputLayoutInputmodelChoice@@QAE?AVTRect@@XZ @ 239 NONAME ; class TRect CPeninputLayoutInputmodelChoice::SwitchListRect(void)
-	?HandlePointerDownEventL@CAknFepCtrlCommonButton@@MAEPAVCFepUiBaseCtrl@@ABVTPoint@@@Z @ 240 NONAME ; class CFepUiBaseCtrl * CAknFepCtrlCommonButton::HandlePointerDownEventL(class TPoint const &)
-	?HandlePointerLeave@CAknFepCtrlCommonButton@@MAEXABVTPoint@@@Z @ 241 NONAME ; void CAknFepCtrlCommonButton::HandlePointerLeave(class TPoint const &)
-	?HandlePointerUpEventL@CAknFepCtrlCommonButton@@MAEPAVCFepUiBaseCtrl@@ABVTPoint@@@Z @ 242 NONAME ; class CFepUiBaseCtrl * CAknFepCtrlCommonButton::HandlePointerUpEventL(class TPoint const &)
-	?SetForegroundBmpL@CAknFepCtrlCommonButton@@QAEXPAVCFbsBitmap@@0@Z @ 243 NONAME ; void CAknFepCtrlCommonButton::SetForegroundBmpL(class CFbsBitmap *, class CFbsBitmap *)
-	?DisableOneModes@CAknFepCtrlMultiModeButton@@QAEXH@Z @ 244 NONAME ; void CAknFepCtrlMultiModeButton::DisableOneModes(int)
-	??0CPeninputVkbCtrlExt@@IAE@ABVTRect@@PAVCFepUiLayout@@HABVTFontSpec@@H@Z @ 245 NONAME ; CPeninputVkbCtrlExt::CPeninputVkbCtrlExt(class TRect const &, class CFepUiLayout *, int, class TFontSpec const &, int)
-	?ConstructFromIrregularResourceL@CAknFepCtrlVkbLayout@@QAEXXZ @ 246 NONAME ; void CAknFepCtrlVkbLayout::ConstructFromIrregularResourceL(void)
-	?ConstructFromResourceL@CAknFepCtrlBaseWindow@@MAEXXZ @ 247 NONAME ABSENT ; void CAknFepCtrlBaseWindow::ConstructFromResourceL(void)
-	?CreateBaseWindowControlsL@CAknFepCtrlBaseWindowL@@MAEXFJ@Z @ 248 NONAME ABSENT ; void CAknFepCtrlBaseWindow::CreateBaseWindowControlsL(short, long)
-	?NewL@CPeninputVkbCtrlExt@@SAPAV1@ABVTRect@@PAVCFepUiLayout@@HPBVCFont@@H@Z @ 249 NONAME ; class CPeninputVkbCtrlExt * CPeninputVkbCtrlExt::NewL(class TRect const &, class CFepUiLayout *, int, class CFont const *, int)
-	?ResetLayoutInfo@CPeninputVkbLayoutInfo@@QAEXABVTSize@@@Z @ 250 NONAME ; void CPeninputVkbLayoutInfo::ResetLayoutInfo(class TSize const &)
-	?SetDispalyCellRectsL@CAknFepCtrlRangeBar@@QAEXABV?$RArray@VTRect@@@@0@Z @ 251 NONAME ; void CAknFepCtrlRangeBar::SetDispalyCellRectsL(class RArray<class TRect> const &, class RArray<class TRect> const &)
-	?SetIrregularResourceId@CAknFepCtrlVkbLayout@@QAEXJ@Z @ 252 NONAME ; void CAknFepCtrlVkbLayout::SetIrregularResourceId(long)
-	?SetKeyInfo@CPeninputVkbLayoutInfo@@QAEXHHABVTRect@@0PBVCFont@@@Z @ 253 NONAME ; void CPeninputVkbLayoutInfo::SetKeyInfo(int, int, class TRect const &, class TRect const &, class CFont const *)
-	?SizeChanged@CPeninputVkbCtrlExt@@QAEXABVTRect@@@Z @ 254 NONAME ; void CPeninputVkbCtrlExt::SizeChanged(class TRect const &)
-	??0CAknFepCtrlBaseWindowExt@@IAE@PAVCFepUiLayout@@H@Z @ 255 NONAME ; CAknFepCtrlBaseWindowExt::CAknFepCtrlBaseWindowExt(class CFepUiLayout *, int)
-	??1CAknFepCtrlBaseWindowExt@@UAE@XZ @ 256 NONAME ; CAknFepCtrlBaseWindowExt::~CAknFepCtrlBaseWindowExt(void)
-	?BaseConstructL@CAknFepCtrlBaseWindowExt@@IAEXXZ @ 257 NONAME ; void CAknFepCtrlBaseWindowExt::BaseConstructL(void)
-	?Close@CAknFepCtrlBaseWindowExt@@QAEXXZ @ 258 NONAME ; void CAknFepCtrlBaseWindowExt::Close(void)
-	?ConstructFromResourceL@CAknFepCtrlBaseWindowExt@@MAEXXZ @ 259 NONAME ; void CAknFepCtrlBaseWindowExt::ConstructFromResourceL(void)
-	?Control@CAknFepCtrlBaseWindowExt@@QAEPAVCFepUiBaseCtrl@@H@Z @ 260 NONAME ; class CFepUiBaseCtrl * CAknFepCtrlBaseWindowExt::Control(int)
-	?CreateBaseWindowControlsL@CAknFepCtrlBaseWindowExt@@MAEXFJ@Z @ 261 NONAME ; void CAknFepCtrlBaseWindowExt::CreateBaseWindowControlsL(short, long)
-	?DoClose@CAknFepCtrlBaseWindowExt@@MAEHXZ @ 262 NONAME ; int CAknFepCtrlBaseWindowExt::DoClose(void)
-	?Draw@CAknFepCtrlBaseWindowExt@@UAEXXZ @ 263 NONAME ; void CAknFepCtrlBaseWindowExt::Draw(void)
-	?HandleControlEvent@CAknFepCtrlBaseWindowExt@@UAEXHPAVCFepUiBaseCtrl@@ABVTDesC16@@@Z @ 264 NONAME ; void CAknFepCtrlBaseWindowExt::HandleControlEvent(int, class CFepUiBaseCtrl *, class TDesC16 const &)
-	?SetDragEnable@CAknFepCtrlBaseWindowExt@@QAEXH@Z @ 265 NONAME ; void CAknFepCtrlBaseWindowExt::SetDragEnable(int)
-	?ConstructFromNonIrregularResourceL@CAknFepCtrlVkbLayout@@QAEXXZ @ 266 NONAME ; void CAknFepCtrlVkbLayout::ConstructFromNonIrregularResourceL(void)
-	?SetNonIrregularResourceId@CAknFepCtrlVkbLayout@@QAEXJ@Z @ 267 NONAME ; void CAknFepCtrlVkbLayout::SetNonIrregularResourceId(long)
-	?GetRealCaseByMode@CAknFepCtrlMultiModeButton@@QBEHH@Z @ 268 NONAME ; int CAknFepCtrlMultiModeButton::GetRealCaseByMode(int) const
-	?HideRangeUsingIndicatorStyle@CAknFepCtrlRangeBar@@QAEXH@Z @ 269 NONAME ; void CAknFepCtrlRangeBar::HideRangeUsingIndicatorStyle(int)
-	?ShowRangeUsingIndicatorStyle@CAknFepCtrlRangeBar@@QAEXH@Z @ 270 NONAME ; void CAknFepCtrlRangeBar::ShowRangeUsingIndicatorStyle(int)
-	??1CFepLayoutScrollableList@@UAE@XZ @ 271 NONAME ; CFepLayoutScrollableList::~CFepLayoutScrollableList(void)
-	?CalcPageInfo@CFepLayoutScrollableList@@AAEXXZ @ 272 NONAME ; void CFepLayoutScrollableList::CalcPageInfo(void)
-	?ConstructFromResourceL@CFepLayoutScrollableList@@UAEXXZ @ 273 NONAME ; void CFepLayoutScrollableList::ConstructFromResourceL(void)
-	?NewL@CFepLayoutScrollableList@@SAPAV1@PAVCFepUiLayout@@HVTSize@@HH11@Z @ 274 NONAME ; class CFepLayoutScrollableList * CFepLayoutScrollableList::NewL(class CFepUiLayout *, int, class TSize, int, int, class TSize, class TSize)
-	?NewLC@CFepLayoutScrollableList@@SAPAV1@PAVCFepUiLayout@@HVTSize@@HH11@Z @ 275 NONAME ; class CFepLayoutScrollableList * CFepLayoutScrollableList::NewLC(class CFepUiLayout *, int, class TSize, int, int, class TSize, class TSize)
-	?SetImgFrId@CFepLayoutScrollableList@@QAEXVTAknsItemID@@00000@Z @ 276 NONAME ; void CFepLayoutScrollableList::SetImgFrId(class TAknsItemID, class TAknsItemID, class TAknsItemID, class TAknsItemID, class TAknsItemID, class TAknsItemID)
-	?SetTextProperty@CFepLayoutScrollableList@@QAEXPBVCFont@@VTRgb@@@Z @ 277 NONAME ; void CFepLayoutScrollableList::SetTextProperty(class CFont const *, class TRgb)
-	?SizeChanged@CFepLayoutScrollableList@@QAEXVTSize@@HH00@Z @ 278 NONAME ; void CFepLayoutScrollableList::SizeChanged(class TSize, int, int, class TSize, class TSize)
-	?Move@CAknFepCtrlCommonButton@@MAEXABVTPoint@@@Z @ 279 NONAME ; void CAknFepCtrlCommonButton::Move(class TPoint const &)
-	??1CPeninputCommonChoiceList@@UAE@XZ @ 280 NONAME ; CPeninputCommonChoiceList::~CPeninputCommonChoiceList(void)
-	?AddItemRectL@CPeninputCommonChoiceList@@QAEXABVTRect@@@Z @ 281 NONAME ; void CPeninputCommonChoiceList::AddItemRectL(class TRect const &)
-	?Draw@CPeninputCommonChoiceList@@EAEXXZ @ 282 NONAME ; void CPeninputCommonChoiceList::Draw(void)
-	?NewL@CPeninputCommonChoiceList@@SAPAV1@PAVCFepUiLayout@@HVTAknsItemID@@1W4ECommonChoiceListStyle@@@Z @ 283 NONAME ; class CPeninputCommonChoiceList * CPeninputCommonChoiceList::NewL(class CFepUiLayout *, int, class TAknsItemID, class TAknsItemID, enum ECommonChoiceListStyle)
-	?ReCalcLayout@CPeninputCommonChoiceList@@EAEXXZ @ 284 NONAME ; void CPeninputCommonChoiceList::ReCalcLayout(void)
-	?RemoveAllItemsRect@CPeninputCommonChoiceList@@QAEXXZ @ 285 NONAME ; void CPeninputCommonChoiceList::RemoveAllItemsRect(void)
-	?SetListColumnNumWithLafL@CPeninputCommonChoiceList@@QAEXH@Z @ 286 NONAME ; void CPeninputCommonChoiceList::SetListColumnNumWithLafL(int)
-	?SetListSkinID@CPeninputCommonChoiceList@@QAEXVTAknsItemID@@0@Z @ 287 NONAME ; void CPeninputCommonChoiceList::SetListSkinID(class TAknsItemID, class TAknsItemID)
-	?SetTextLayout@CPeninputCommonChoiceList@@QAEXABVTAknTextLineLayout@@@Z @ 288 NONAME ; void CPeninputCommonChoiceList::SetTextLayout(class TAknTextLineLayout const &)
-	?SetListSeperationRect@CFepLayoutScrollableList@@QAEXABVTRect@@@Z @ 289 NONAME ; void CFepLayoutScrollableList::SetListSeperationRect(class TRect const &)
-	?HitTest@CPeninputCommonChoiceList@@UAEHABVTPoint@@@Z @ 290 NONAME ; int CPeninputCommonChoiceList::HitTest(class TPoint const &)
-	??0CAknFepCtrlEventButton@@IAE@PAVCFepUiLayout@@HHHVTAknsItemID@@11@Z @ 291 NONAME ; CAknFepCtrlEventButton::CAknFepCtrlEventButton(class CFepUiLayout *, int, int, int, class TAknsItemID, class TAknsItemID, class TAknsItemID)
-	?NewL@CAknFepCtrlEventButton@@SAPAV1@PAVCFepUiLayout@@HHHVTAknsItemID@@11@Z @ 292 NONAME ; class CAknFepCtrlEventButton * CAknFepCtrlEventButton::NewL(class CFepUiLayout *, int, int, int, class TAknsItemID, class TAknsItemID, class TAknsItemID)
-	?NewLC@CAknFepCtrlEventButton@@SAPAV1@PAVCFepUiLayout@@HHHVTAknsItemID@@11@Z @ 293 NONAME ; class CAknFepCtrlEventButton * CAknFepCtrlEventButton::NewLC(class CFepUiLayout *, int, int, int, class TAknsItemID, class TAknsItemID, class TAknsItemID)
-	??0CAknFepCtrlRepeatButton@@IAE@PAVCFepUiLayout@@HHHVTAknsItemID@@11@Z @ 294 NONAME ; CAknFepCtrlRepeatButton::CAknFepCtrlRepeatButton(class CFepUiLayout *, int, int, int, class TAknsItemID, class TAknsItemID, class TAknsItemID)
-	?NewL@CAknFepCtrlRepeatButton@@SAPAV1@PAVCFepUiLayout@@HHHVTAknsItemID@@11@Z @ 295 NONAME ; class CAknFepCtrlRepeatButton * CAknFepCtrlRepeatButton::NewL(class CFepUiLayout *, int, int, int, class TAknsItemID, class TAknsItemID, class TAknsItemID)
-	?NewLC@CAknFepCtrlRepeatButton@@SAPAV1@PAVCFepUiLayout@@HHHVTAknsItemID@@11@Z @ 296 NONAME ; class CAknFepCtrlRepeatButton * CAknFepCtrlRepeatButton::NewLC(class CFepUiLayout *, int, int, int, class TAknsItemID, class TAknsItemID, class TAknsItemID)
-	?Draw@CAknFepCtrlDragButton@@UAEXXZ @ 297 NONAME ; void CAknFepCtrlDragButton::Draw(void)
-	?Move@CAknFepCtrlDragButton@@UAEXABVTPoint@@@Z @ 298 NONAME ; void CAknFepCtrlDragButton::Move(class TPoint const &)
-	?SetForegroundBmpL@CAknFepCtrlDragButton@@QAEXPAVCFbsBitmap@@0@Z @ 299 NONAME ; void CAknFepCtrlDragButton::SetForegroundBmpL(class CFbsBitmap *, class CFbsBitmap *)
-	?SetForgroundBmpRect@CAknFepCtrlDragButton@@QAEXABVTRect@@@Z @ 300 NONAME ; void CAknFepCtrlDragButton::SetForgroundBmpRect(class TRect const &)
-	?SizeChanged@CAknFepCtrlDragButton@@QAEXABVTRect@@0H@Z @ 301 NONAME ABSENT ; void CAknFepCtrlDragButton::SizeChanged(class TRect const &, class TRect const &, int)
-	?SizeChanged@CAknFepCtrlDragButton@@QAEXVTRect@@0H@Z @ 302 NONAME ; void CAknFepCtrlDragButton::SizeChanged(class TRect, class TRect, int)
-	?HandlePointerDownEventL@CAknFepCtrlDragButton@@UAEPAVCFepUiBaseCtrl@@ABVTPoint@@@Z @ 303 NONAME ABSENT ; class CFepUiBaseCtrl * CAknFepCtrlDragButton::HandlePointerDownEventL(class TPoint const &)
-	??0CAknFepCtrlMultiModeButton@@IAE@PAVCFepUiLayout@@HVTAknsItemID@@11@Z @ 304 NONAME ; CAknFepCtrlMultiModeButton::CAknFepCtrlMultiModeButton(class CFepUiLayout *, int, class TAknsItemID, class TAknsItemID, class TAknsItemID)
-	?NewL@CAknFepCtrlMultiModeButton@@SAPAV1@PAVCFepUiLayout@@HVTAknsItemID@@11@Z @ 305 NONAME ; class CAknFepCtrlMultiModeButton * CAknFepCtrlMultiModeButton::NewL(class CFepUiLayout *, int, class TAknsItemID, class TAknsItemID, class TAknsItemID)
-	?NewLC@CAknFepCtrlMultiModeButton@@SAPAV1@PAVCFepUiLayout@@HVTAknsItemID@@11@Z @ 306 NONAME ; class CAknFepCtrlMultiModeButton * CAknFepCtrlMultiModeButton::NewLC(class CFepUiLayout *, int, class TAknsItemID, class TAknsItemID, class TAknsItemID)
-	?SizeChanged@CAknFepCtrlMultiModeButton@@QAEXVTRect@@0H@Z @ 307 NONAME ; void CAknFepCtrlMultiModeButton::SizeChanged(class TRect, class TRect, int)
-	?SetDraw3PieceFrameInfo@CAknFepCtrlCommonButton@@QAEXUTDraw3PiecesFrame@@@Z @ 308 NONAME ; void CAknFepCtrlCommonButton::SetDraw3PieceFrameInfo(struct TDraw3PiecesFrame)
-	?HandlePointerEnter@CAknFepCtrlCommonButton@@MAEXABVTPoint@@@Z @ 309 NONAME ; void CAknFepCtrlCommonButton::HandlePointerEnter(class TPoint const &)
-	?Hide@CFepLayoutScrollableList@@UAEXH@Z @ 310 NONAME ; void CFepLayoutScrollableList::Hide(int)
-	?SetDropdownListImgID@CFepCtrlDropdownList@@QAEXUTDropdownListDrawInfo@@@Z @ 311 NONAME ; void CFepCtrlDropdownList::SetDropdownListImgID(struct TDropdownListDrawInfo)
-	?DimKeySet@CPeninputVkbCtrlExt@@QAEXPBVHBufC16@@H@Z @ 312 NONAME ; void CPeninputVkbCtrlExt::DimKeySet(class HBufC16 const *, int)
-	??0CAknFepCtrlMultiImageButton@@IAE@PAVCFepUiLayout@@HVTAknsItemID@@11@Z @ 313 NONAME ; CAknFepCtrlMultiImageButton::CAknFepCtrlMultiImageButton(class CFepUiLayout *, int, class TAknsItemID, class TAknsItemID, class TAknsItemID)
-	??1CAknFepCtrlMultiImageButton@@UAE@XZ @ 314 NONAME ; CAknFepCtrlMultiImageButton::~CAknFepCtrlMultiImageButton(void)
-	?ConstructFromResourceL@CAknFepCtrlMultiImageButton@@QAEXAAVTResourceReader@@@Z @ 315 NONAME ; void CAknFepCtrlMultiImageButton::ConstructFromResourceL(class TResourceReader &)
-	?ConstructFromResourceL@CAknFepCtrlMultiImageButton@@UAEXXZ @ 316 NONAME ; void CAknFepCtrlMultiImageButton::ConstructFromResourceL(void)
-	?Draw@CAknFepCtrlMultiImageButton@@UAEXXZ @ 317 NONAME ; void CAknFepCtrlMultiImageButton::Draw(void)
-	?Move@CAknFepCtrlMultiImageButton@@UAEXABVTPoint@@@Z @ 318 NONAME ; void CAknFepCtrlMultiImageButton::Move(class TPoint const &)
-	?NewL@CAknFepCtrlMultiImageButton@@SAPAV1@PAVCFepUiLayout@@HVTAknsItemID@@11@Z @ 319 NONAME ; class CAknFepCtrlMultiImageButton * CAknFepCtrlMultiImageButton::NewL(class CFepUiLayout *, int, class TAknsItemID, class TAknsItemID, class TAknsItemID)
-	?NewLC@CAknFepCtrlMultiImageButton@@SAPAV1@PAVCFepUiLayout@@HVTAknsItemID@@11@Z @ 320 NONAME ; class CAknFepCtrlMultiImageButton * CAknFepCtrlMultiImageButton::NewLC(class CFepUiLayout *, int, class TAknsItemID, class TAknsItemID, class TAknsItemID)
-	?SizeChanged@CAknFepCtrlMultiImageButton@@QAEXVTRect@@0H@Z @ 321 NONAME ; void CAknFepCtrlMultiImageButton::SizeChanged(class TRect, class TRect, int)
-	?ConstructFromResourceL@CPeninputVkbCtrlExt@@UAEXXZ @ 322 NONAME ; void CPeninputVkbCtrlExt::ConstructFromResourceL(void)
-	??0CFepLayoutScrollableList@@IAE@PAVCFepUiLayout@@HVTSize@@HH11@Z @ 323 NONAME ; CFepLayoutScrollableList::CFepLayoutScrollableList(class CFepUiLayout *, int, class TSize, int, int, class TSize, class TSize)
-	??0CPeninputCommonChoiceList@@IAE@PAVCFepUiLayout@@HVTAknsItemID@@1W4ECommonChoiceListStyle@@@Z @ 324 NONAME ; CPeninputCommonChoiceList::CPeninputCommonChoiceList(class CFepUiLayout *, int, class TAknsItemID, class TAknsItemID, enum ECommonChoiceListStyle)
-	?CalculateItemWidth@CFepLayoutScrollableList@@MAEXXZ @ 325 NONAME ; void CFepLayoutScrollableList::CalculateItemWidth(void)
-	?ConstructL@CFepLayoutScrollableList@@IAEXXZ @ 326 NONAME ; void CFepLayoutScrollableList::ConstructL(void)
-	?Draw@CFepLayoutScrollableList@@UAEXXZ @ 327 NONAME ; void CFepLayoutScrollableList::Draw(void)
-	?DrawItem@CFepLayoutScrollableList@@MAEXHH@Z @ 328 NONAME ; void CFepLayoutScrollableList::DrawItem(int, int)
-	?DrawPageInfo@CFepLayoutScrollableList@@MAEXXZ @ 329 NONAME ; void CFepLayoutScrollableList::DrawPageInfo(void)
-	?HandleControlEvent@CFepLayoutScrollableList@@MAEXHPAVCFepUiBaseCtrl@@ABVTDesC16@@@Z @ 330 NONAME ; void CFepLayoutScrollableList::HandleControlEvent(int, class CFepUiBaseCtrl *, class TDesC16 const &)
-	?HitTest@CFepLayoutScrollableList@@MAEHABVTPoint@@@Z @ 331 NONAME ; int CFepLayoutScrollableList::HitTest(class TPoint const &)
-	?Move@CFepLayoutScrollableList@@MAEXABVTPoint@@@Z @ 332 NONAME ; void CFepLayoutScrollableList::Move(class TPoint const &)
-	?ReCalcLayout@CFepLayoutScrollableList@@UAEXXZ @ 333 NONAME ; void CFepLayoutScrollableList::ReCalcLayout(void)
-	?UpdateNaviButtonStates@CFepLayoutScrollableList@@QAEXXZ @ 334 NONAME ; void CFepLayoutScrollableList::UpdateNaviButtonStates(void)
-	?UpdatePageInfoL@CFepLayoutScrollableList@@IAEXHH@Z @ 335 NONAME ; void CFepLayoutScrollableList::UpdatePageInfoL(int, int)
-	?CancelPointerDownL@CAknFepCtrlRepeatButton@@MAEXXZ @ 336 NONAME ; void CAknFepCtrlRepeatButton::CancelPointerDownL(void)
-	?NewL@CFepCtrlDropdownList@@SAPAV1@PAVCFepUiLayout@@HHVTPoint@@PBVCFont@@VTSize@@HHHHHHW4THDirection@1@H@Z @ 337 NONAME ; class CFepCtrlDropdownList * CFepCtrlDropdownList::NewL(class CFepUiLayout *, int, int, class TPoint, class CFont const *, class TSize, int, int, int, int, int, int, enum CFepCtrlDropdownList::THDirection, int)
-	?SetSecondaryList@CFepCtrlDropdownList@@QAEXAAV?$RArray@H@@H@Z @ 338 NONAME ; void CFepCtrlDropdownList::SetSecondaryList(class RArray<int> &, int)
-	?ShowBubble@CFepCtrlDropdownList@@QAEXH@Z @ 339 NONAME ; void CFepCtrlDropdownList::ShowBubble(int)
-	?SetBubbleTextFont@CFepCtrlDropdownList@@QAEXPBVCFont@@@Z @ 340 NONAME ; void CFepCtrlDropdownList::SetBubbleTextFont(class CFont const *)
-	?SetBubbleSize@CFepCtrlDropdownList@@QAEXABVTSize@@@Z @ 341 NONAME ; void CFepCtrlDropdownList::SetBubbleSize(class TSize const &)
-	?SetFrameDiff@CFepCtrlDropdownList@@QAEXHHHH@Z @ 342 NONAME ; void CFepCtrlDropdownList::SetFrameDiff(int, int, int, int)
-	?SetBubbleBitmapParam@CFepCtrlDropdownList@@QAEXPAVCFbsBitmap@@0VTAknsItemID@@@Z @ 343 NONAME ; void CFepCtrlDropdownList::SetBubbleBitmapParam(class CFbsBitmap *, class CFbsBitmap *, class TAknsItemID)
-	?SetTextFormat@CFepCtrlDropdownList@@QAEXVTAknTextLineLayout@@@Z @ 344 NONAME ; void CFepCtrlDropdownList::SetTextFormat(class TAknTextLineLayout)
-	?ReDrawRect@CFepCtrlDropdownList@@UAEXABVTRect@@@Z @ 345 NONAME ; void CFepCtrlDropdownList::ReDrawRect(class TRect const &)
-	?CancelPointerDownL@CAknFepCtrlCommonButton@@UAEXXZ @ 346 NONAME ; void CAknFepCtrlCommonButton::CancelPointerDownL(void)
-	?SetHighlightCell@CFepCtrlDropdownList@@QAEXHHH@Z @ 347 NONAME ; void CFepCtrlDropdownList::SetHighlightCell(int, int, int)
-	?Hide@CFepCtrlDropdownList@@UAEXH@Z @ 348 NONAME ; void CFepCtrlDropdownList::Hide(int)
--- a/textinput/peninputcommonctrls/eabi/peninputcommonctrlsU.DEF	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,476 +0,0 @@
-EXPORTS
-	_ZN17CAknFepCtrlButton11SizeChangedE5TRecti @ 1 NONAME
-	_ZN17CAknFepCtrlButton12SetHighlightEi @ 2 NONAME
-	_ZN17CAknFepCtrlButton22ConstructFromResourceLER15TResourceReader @ 3 NONAME
-	_ZN17CAknFepCtrlButton22ConstructFromResourceLEv @ 4 NONAME
-	_ZN17CAknFepCtrlButton4DrawEv @ 5 NONAME
-	_ZN17CAknFepCtrlButton4NewLEP12CFepUiLayouti @ 6 NONAME
-	_ZN17CAknFepCtrlButton5NewLCEP12CFepUiLayouti @ 7 NONAME
-	_ZN17CAknFepCtrlButton9SetActiveEi @ 8 NONAME
-	_ZN17CAknFepCtrlButtonC1EP12CFepUiLayouti @ 9 NONAME
-	_ZN17CAknFepCtrlButtonC2EP12CFepUiLayouti @ 10 NONAME
-	_ZN17CAknFepCtrlButtonD0Ev @ 11 NONAME
-	_ZN17CAknFepCtrlButtonD1Ev @ 12 NONAME
-	_ZN17CAknFepCtrlButtonD2Ev @ 13 NONAME
-	_ZN19CAknFepCtrlRangeBar10ConstructLEv @ 14 NONAME
-	_ZN19CAknFepCtrlRangeBar11ActiveRangeEi @ 15 NONAME
-	_ZN19CAknFepCtrlRangeBar11SizeChangedE5TRect @ 16 NONAME
-	_ZN19CAknFepCtrlRangeBar13ShowAllRangesEv @ 17 NONAME
-	_ZN19CAknFepCtrlRangeBar14SetActionStyleENS_20TRangeBarActionStyleE @ 18 NONAME
-	_ZN19CAknFepCtrlRangeBar16SetPermittedCaseEiii @ 19 NONAME
-	_ZN19CAknFepCtrlRangeBar17SetEventIdForCaseEi @ 20 NONAME
-	_ZN19CAknFepCtrlRangeBar17SetPermittedRangeEii @ 21 NONAME
-	_ZN19CAknFepCtrlRangeBar18HandleControlEventEiP14CFepUiBaseCtrlRK7TDesC16 @ 22 NONAME
-	_ZN19CAknFepCtrlRangeBar18SetEventIdForRangeEi @ 23 NONAME
-	_ZN19CAknFepCtrlRangeBar18SetPermittedRangesEi @ 24 NONAME
-	_ZN19CAknFepCtrlRangeBar22ConstructFromResourceLER15TResourceReader @ 25 NONAME
-	_ZN19CAknFepCtrlRangeBar4DrawEv @ 26 NONAME
-	_ZN19CAknFepCtrlRangeBar4MoveERK6TPoint @ 27 NONAME
-	_ZN19CAknFepCtrlRangeBar4NewLEP12CFepUiLayoutiNS_17TButtonGroupStyleE @ 28 NONAME
-	_ZN19CAknFepCtrlRangeBar5NewLCEP12CFepUiLayoutiNS_17TButtonGroupStyleE @ 29 NONAME
-	_ZN19CAknFepCtrlRangeBar7SetFontEPK5CFont @ 30 NONAME
-	_ZN19CAknFepCtrlRangeBar8SetCaseLEii @ 31 NONAME
-	_ZN19CAknFepCtrlRangeBar8SetRangeEi @ 32 NONAME
-	_ZN19CAknFepCtrlRangeBar9AddRangeLER15TResourceReader @ 33 NONAME
-	_ZN19CAknFepCtrlRangeBar9HideRangeEi @ 34 NONAME
-	_ZN19CAknFepCtrlRangeBar9RefreshUIEv @ 35 NONAME
-	_ZN19CAknFepCtrlRangeBar9ShowRangeEi @ 36 NONAME
-	_ZN19CAknFepCtrlRangeBarC1EP12CFepUiLayoutiNS_17TButtonGroupStyleE @ 37 NONAME
-	_ZN19CAknFepCtrlRangeBarC2EP12CFepUiLayoutiNS_17TButtonGroupStyleE @ 38 NONAME
-	_ZN19CAknFepCtrlRangeBarD0Ev @ 39 NONAME
-	_ZN19CAknFepCtrlRangeBarD1Ev @ 40 NONAME
-	_ZN19CAknFepCtrlRangeBarD2Ev @ 41 NONAME
-	_ZN19CPeninputVkbCtrlExt10CancelDimsEv @ 42 NONAME
-	_ZN19CPeninputVkbCtrlExt11SizeChangedEiiRK6TPoint @ 43 NONAME
-	_ZN19CPeninputVkbCtrlExt17ReorganizeVkbKeysEP22CPeninputVkbLayoutInfo @ 44 NONAME
-	_ZN19CPeninputVkbCtrlExt4MoveERK6TPoint @ 45 NONAME
-	_ZN19CPeninputVkbCtrlExt4NewLERK5TRectP12CFepUiLayoutiPK5CFont @ 46 NONAME ABSENT
-	_ZN19CPeninputVkbCtrlExt5ResetEv @ 47 NONAME
-	_ZN19CPeninputVkbCtrlExt7DimKeysEPK7HBufC16 @ 48 NONAME
-	_ZN19CPeninputVkbCtrlExtC1ERK5TRectP12CFepUiLayoutiRK9TFontSpec @ 49 NONAME ABSENT
-	_ZN19CPeninputVkbCtrlExtC2ERK5TRectP12CFepUiLayoutiRK9TFontSpec @ 50 NONAME ABSENT
-	_ZN19CPeninputVkbCtrlExtD0Ev @ 51 NONAME
-	_ZN19CPeninputVkbCtrlExtD1Ev @ 52 NONAME
-	_ZN19CPeninputVkbCtrlExtD2Ev @ 53 NONAME
-	_ZN19CPeninputVkbKeyInfo4NewLER15TResourceReader @ 54 NONAME
-	_ZN19CPeninputVkbKeyInfoD0Ev @ 55 NONAME
-	_ZN19CPeninputVkbKeyInfoD1Ev @ 56 NONAME
-	_ZN19CPeninputVkbKeyInfoD2Ev @ 57 NONAME
-	_ZN20CAknFepCtrlVkbLayout13SetResourceIdEl @ 58 NONAME
-	_ZN20CAknFepCtrlVkbLayout14SetVkbKeyboardEP19CPeninputVkbCtrlExt @ 59 NONAME
-	_ZN20CAknFepCtrlVkbLayout15ChangeVkbLayoutEi @ 60 NONAME
-	_ZN20CAknFepCtrlVkbLayout17VkbLayoutInfoListEv @ 61 NONAME
-	_ZN20CAknFepCtrlVkbLayout22ConstructFromResourceLEv @ 62 NONAME
-	_ZN20CAknFepCtrlVkbLayout4NewLEv @ 63 NONAME
-	_ZN20CAknFepCtrlVkbLayout5NewLCEv @ 64 NONAME
-	_ZN20CAknFepCtrlVkbLayout5ResetEv @ 65 NONAME
-	_ZN20CAknFepCtrlVkbLayoutD0Ev @ 66 NONAME
-	_ZN20CAknFepCtrlVkbLayoutD1Ev @ 67 NONAME
-	_ZN20CAknFepCtrlVkbLayoutD2Ev @ 68 NONAME
-	_ZN20CFepCtrlDropdownList10SetBgColorE4TRgbi @ 69 NONAME
-	_ZN20CFepCtrlDropdownList11SizeChangedEiii6TPointii @ 70 NONAME
-	_ZN20CFepCtrlDropdownList12OnDeActivateEv @ 71 NONAME
-	_ZN20CFepCtrlDropdownList12SetCellWidthEi @ 72 NONAME
-	_ZN20CFepCtrlDropdownList12SetNaviWidthEi @ 73 NONAME
-	_ZN20CFepCtrlDropdownList12SetTextColorE4TRgbi @ 74 NONAME
-	_ZN20CFepCtrlDropdownList13ResetAndClearENS_9TListTypeE @ 75 NONAME
-	_ZN20CFepCtrlDropdownList13SetCellHeightEi @ 76 NONAME
-	_ZN20CFepCtrlDropdownList13SetTextMarginEii @ 77 NONAME
-	_ZN20CFepCtrlDropdownList14SetBorderColorE4TRgbi @ 78 NONAME
-	_ZN20CFepCtrlDropdownList14SetCandidatesLERK13RPointerArrayI7HBufC16ENS_9TListTypeERK7TDesC16 @ 79 NONAME
-	_ZN20CFepCtrlDropdownList15EnableSecondaryEii @ 80 NONAME
-	_ZN20CFepCtrlDropdownList15SetTopLeftPointE6TPoint @ 81 NONAME
-	_ZN20CFepCtrlDropdownList16SetHighlightCellEiii @ 82 NONAME
-	_ZN20CFepCtrlDropdownList16SetSecondaryListE6RArrayIiEi @ 83 NONAME ABSENT
-	_ZN20CFepCtrlDropdownList16SetTextAlighmentEN16CGraphicsContext10TTextAlignEi @ 84 NONAME
-	_ZN20CFepCtrlDropdownList18HandleControlEventEiP14CFepUiBaseCtrlRK7TDesC16 @ 85 NONAME
-	_ZN20CFepCtrlDropdownList18HandlePointerLeaveERK6TPoint @ 86 NONAME
-	_ZN20CFepCtrlDropdownList19SetHighLightBgColorE4TRgbi @ 87 NONAME
-	_ZN20CFepCtrlDropdownList19SetListEventHandlerEP17MListEventHandler @ 88 NONAME
-	_ZN20CFepCtrlDropdownList19SetSpecialTextColorE4TRgbi @ 89 NONAME
-	_ZN20CFepCtrlDropdownList20SetNavigationBgColorE4TRgbi @ 90 NONAME
-	_ZN20CFepCtrlDropdownList21HandlePointerUpEventLERK6TPoint @ 91 NONAME
-	_ZN20CFepCtrlDropdownList21SetHighLightTextColorE4TRgbi @ 92 NONAME
-	_ZN20CFepCtrlDropdownList22ConstructFromResourceLEv @ 93 NONAME
-	_ZN20CFepCtrlDropdownList23HandlePointerDownEventLERK6TPoint @ 94 NONAME
-	_ZN20CFepCtrlDropdownList23HandlePointerMoveEventLERK6TPoint @ 95 NONAME
-	_ZN20CFepCtrlDropdownList30SetEventIdForCandidateSelectedEi @ 96 NONAME
-	_ZN20CFepCtrlDropdownList4DrawEv @ 97 NONAME
-	_ZN20CFepCtrlDropdownList4MoveERK6TPoint @ 98 NONAME
-	_ZN20CFepCtrlDropdownList4NewLERK6TPointP12CFepUiLayoutiR15TResourceReaderiiiiiPK5CFontP17MListEventHandlerN16CGraphicsContext10TTextAlignEi4TRgbSE_SE_SE_SE_SE_SE_SE_ @ 99 NONAME
-	_ZN20CFepCtrlDropdownList4RectEv @ 100 NONAME
-	_ZN20CFepCtrlDropdownList5NewLCERK6TPointP12CFepUiLayoutiR15TResourceReaderiiiiiPK5CFontP17MListEventHandlerN16CGraphicsContext10TTextAlignEi4TRgbSE_SE_SE_SE_SE_SE_SE_ @ 101 NONAME
-	_ZN20CFepCtrlDropdownList7SetFontEPK5CFonti @ 102 NONAME
-	_ZN20CFepCtrlDropdownList8FoldListEv @ 103 NONAME
-	_ZN20CFepCtrlDropdownList9SetActiveEi @ 104 NONAME
-	_ZN20CFepCtrlDropdownList9SetColNumEi @ 105 NONAME
-	_ZN20CFepCtrlDropdownList9SetRowNumEi @ 106 NONAME
-	_ZN20CFepCtrlDropdownListD0Ev @ 107 NONAME
-	_ZN20CFepCtrlDropdownListD1Ev @ 108 NONAME
-	_ZN20CFepCtrlDropdownListD2Ev @ 109 NONAME
-	_ZN21CAknFepCtrlBaseWindow13SetDragEnableEi @ 110 NONAME
-	_ZN21CAknFepCtrlBaseWindow14BaseConstructLEv @ 111 NONAME
-	_ZN21CAknFepCtrlBaseWindow18HandleControlEventEiP14CFepUiBaseCtrlRK7TDesC16 @ 112 NONAME
-	_ZN21CAknFepCtrlBaseWindow4DrawEv @ 113 NONAME
-	_ZN21CAknFepCtrlBaseWindow5CloseEv @ 114 NONAME
-	_ZN21CAknFepCtrlBaseWindow7ControlEi @ 115 NONAME
-	_ZN21CAknFepCtrlBaseWindow7DoCloseEv @ 116 NONAME
-	_ZN21CAknFepCtrlBaseWindowC2EP12CFepUiLayouti @ 117 NONAME
-	_ZN21CAknFepCtrlBaseWindowD0Ev @ 118 NONAME
-	_ZN21CAknFepCtrlBaseWindowD1Ev @ 119 NONAME
-	_ZN21CAknFepCtrlBaseWindowD2Ev @ 120 NONAME
-	_ZN21CAknFepCtrlDragButton11SizeChangedERK5TRecti @ 121 NONAME ABSENT
-	_ZN21CAknFepCtrlDragButton22ConstructFromResourceLER15TResourceReader @ 122 NONAME
-	_ZN21CAknFepCtrlDragButton22ConstructFromResourceLEv @ 123 NONAME
-	_ZN21CAknFepCtrlDragButton4NewLEP12CFepUiLayouti @ 124 NONAME
-	_ZN21CAknFepCtrlDragButton5NewLCEP12CFepUiLayouti @ 125 NONAME
-	_ZN21CAknFepCtrlDragButtonC1EP12CFepUiLayouti @ 126 NONAME
-	_ZN21CAknFepCtrlDragButtonC2EP12CFepUiLayouti @ 127 NONAME
-	_ZN21CAknFepCtrlDragButtonD0Ev @ 128 NONAME
-	_ZN21CAknFepCtrlDragButtonD1Ev @ 129 NONAME
-	_ZN21CAknFepCtrlDragButtonD2Ev @ 130 NONAME
-	_ZN22CAknFepCtrlEventButton10SetUnicodeEi @ 131 NONAME
-	_ZN22CAknFepCtrlEventButton11DisplayTextEv @ 132 NONAME
-	_ZN22CAknFepCtrlEventButton12SetFontColorE4TRgb @ 133 NONAME
-	_ZN22CAknFepCtrlEventButton13SetShadowFontEPK5CFont @ 134 NONAME
-	_ZN22CAknFepCtrlEventButton18SetShadowFontColorE4TRgb @ 135 NONAME
-	_ZN22CAknFepCtrlEventButton21HandlePointerUpEventLERK6TPoint @ 136 NONAME
-	_ZN22CAknFepCtrlEventButton4DrawEv @ 137 NONAME
-	_ZN22CAknFepCtrlEventButton4NewLEP12CFepUiLayoutiii @ 138 NONAME ABSENT
-	_ZN22CAknFepCtrlEventButton5NewLCEP12CFepUiLayoutiii @ 139 NONAME ABSENT
-	_ZN22CAknFepCtrlEventButton7SetFontEPK5CFont @ 140 NONAME
-	_ZN22CAknFepCtrlEventButton7SetTextERK7TDesC16 @ 141 NONAME
-	_ZN22CAknFepCtrlEventButton8SetEventEi @ 142 NONAME
-	_ZN22CAknFepCtrlEventButtonC1EP12CFepUiLayoutiii @ 143 NONAME ABSENT
-	_ZN22CAknFepCtrlEventButtonC2EP12CFepUiLayoutiii @ 144 NONAME ABSENT
-	_ZN22CAknFepCtrlEventButtonD0Ev @ 145 NONAME
-	_ZN22CAknFepCtrlEventButtonD1Ev @ 146 NONAME
-	_ZN22CAknFepCtrlEventButtonD2Ev @ 147 NONAME
-	_ZN22CPeninputVkbLayoutInfo4NewLER15TResourceReader @ 148 NONAME
-	_ZN22CPeninputVkbLayoutInfo5NewLCER15TResourceReader @ 149 NONAME
-	_ZN22CPeninputVkbLayoutInfo8MoveKeysERK6TPoint @ 150 NONAME
-	_ZN22CPeninputVkbLayoutInfo9ResetSizeEiiiiRK6TPointPK5CFont @ 151 NONAME
-	_ZN22CPeninputVkbLayoutInfoD0Ev @ 152 NONAME
-	_ZN22CPeninputVkbLayoutInfoD1Ev @ 153 NONAME
-	_ZN22CPeninputVkbLayoutInfoD2Ev @ 154 NONAME
-	_ZN23CAknFepCtrlRepeatButton10ConstructLEv @ 155 NONAME
-	_ZN23CAknFepCtrlRepeatButton12CancelRepeatEv @ 156 NONAME
-	_ZN23CAknFepCtrlRepeatButton14HandleTimerOutEPK12CAknFepTimer @ 157 NONAME
-	_ZN23CAknFepCtrlRepeatButton17SetRepeatIntervalERK27TTimeIntervalMicroSeconds32 @ 158 NONAME
-	_ZN23CAknFepCtrlRepeatButton18HandlePointerLeaveERK6TPoint @ 159 NONAME
-	_ZN23CAknFepCtrlRepeatButton21HandlePointerUpEventLERK6TPoint @ 160 NONAME
-	_ZN23CAknFepCtrlRepeatButton23HandlePointerDownEventLERK6TPoint @ 161 NONAME
-	_ZN23CAknFepCtrlRepeatButton4NewLEP12CFepUiLayoutiii @ 162 NONAME ABSENT
-	_ZN23CAknFepCtrlRepeatButton5NewLCEP12CFepUiLayoutiii @ 163 NONAME ABSENT
-	_ZN23CAknFepCtrlRepeatButtonC1EP12CFepUiLayoutiii @ 164 NONAME ABSENT
-	_ZN23CAknFepCtrlRepeatButtonC2EP12CFepUiLayoutiii @ 165 NONAME ABSENT
-	_ZN23CAknFepCtrlRepeatButtonD0Ev @ 166 NONAME
-	_ZN23CAknFepCtrlRepeatButtonD1Ev @ 167 NONAME
-	_ZN23CAknFepCtrlRepeatButtonD2Ev @ 168 NONAME
-	_ZN26CAknFepCtrlMultiModeButton11DisplayTextEv @ 169 NONAME
-	_ZN26CAknFepCtrlMultiModeButton11SizeChangedE5TRecti @ 170 NONAME ABSENT
-	_ZN26CAknFepCtrlMultiModeButton12SetFontColorE4TRgb @ 171 NONAME
-	_ZN26CAknFepCtrlMultiModeButton13SetButtonBmpLE14TButtonBmpTypei @ 172 NONAME
-	_ZN26CAknFepCtrlMultiModeButton14EnableAllModesEv @ 173 NONAME
-	_ZN26CAknFepCtrlMultiModeButton15DisableAllModesEv @ 174 NONAME
-	_ZN26CAknFepCtrlMultiModeButton15SetCurrentModeLE14TButtonBmpTypei @ 175 NONAME
-	_ZN26CAknFepCtrlMultiModeButton17ImageAlreadyExistEl @ 176 NONAME
-	_ZN26CAknFepCtrlMultiModeButton17SetPermittedModesEiii @ 177 NONAME
-	_ZN26CAknFepCtrlMultiModeButton17SetPermittedRangeEii @ 178 NONAME
-	_ZN26CAknFepCtrlMultiModeButton18SetShadowFontColorE4TRgb @ 179 NONAME
-	_ZN26CAknFepCtrlMultiModeButton21IsGivenRangeSupportedEi @ 180 NONAME
-	_ZN26CAknFepCtrlMultiModeButton22ConstructFromResourceLER15TResourceReader @ 181 NONAME
-	_ZN26CAknFepCtrlMultiModeButton22ConstructFromResourceLEv @ 182 NONAME
-	_ZN26CAknFepCtrlMultiModeButton4DrawEv @ 183 NONAME
-	_ZN26CAknFepCtrlMultiModeButton4NewLEP12CFepUiLayouti @ 184 NONAME ABSENT
-	_ZN26CAknFepCtrlMultiModeButton5NewLCEP12CFepUiLayouti @ 185 NONAME ABSENT
-	_ZN26CAknFepCtrlMultiModeButton8AddModeLER15TResourceReader @ 186 NONAME
-	_ZN26CAknFepCtrlMultiModeButton8SetRangeEi @ 187 NONAME
-	_ZN26CAknFepCtrlMultiModeButtonC1EP12CFepUiLayouti @ 188 NONAME ABSENT
-	_ZN26CAknFepCtrlMultiModeButtonC2EP12CFepUiLayouti @ 189 NONAME ABSENT
-	_ZN26CAknFepCtrlMultiModeButtonD0Ev @ 190 NONAME
-	_ZN26CAknFepCtrlMultiModeButtonD1Ev @ 191 NONAME
-	_ZN26CAknFepCtrlMultiModeButtonD2Ev @ 192 NONAME
-	_ZNK19CAknFepCtrlRangeBar7GetCaseEi @ 193 NONAME
-	_ZNK20CFepCtrlDropdownList14CandidateCountEv @ 194 NONAME
-	_ZNK20CFepCtrlDropdownList17IsEnableSecondaryEv @ 195 NONAME
-	_ZNK22CAknFepCtrlEventButton5EventEv @ 196 NONAME
-	_ZNK22CAknFepCtrlEventButton7UnicodeEv @ 197 NONAME
-	_ZNK22CPeninputVkbLayoutInfo11GetRealSizeEii @ 198 NONAME
-	_ZNK22CPeninputVkbLayoutInfo7FindKeyEi @ 199 NONAME
-	_ZNK26CAknFepCtrlMultiModeButton12CurrentRangeEv @ 200 NONAME
-	_ZNK26CAknFepCtrlMultiModeButton16RangeOfGivenModeEi @ 201 NONAME
-	_ZNK26CAknFepCtrlMultiModeButton8NextModeEv @ 202 NONAME
-	_ZTI17CAknFepCtrlButton @ 203 NONAME ; #<TI>#
-	_ZTI19CAknFepCtrlRangeBar @ 204 NONAME ; #<TI>#
-	_ZTI19CPeninputVkbCtrlExt @ 205 NONAME ; #<TI>#
-	_ZTI19CPeninputVkbKeyInfo @ 206 NONAME ; #<TI>#
-	_ZTI20CAknFepCtrlVkbLayout @ 207 NONAME ; #<TI>#
-	_ZTI20CFepCtrlDropdownList @ 208 NONAME ; #<TI>#
-	_ZTI21CAknFepCtrlBaseWindow @ 209 NONAME ; #<TI>#
-	_ZTI21CAknFepCtrlDragButton @ 210 NONAME ; #<TI>#
-	_ZTI22CAknFepCtrlEventButton @ 211 NONAME ; #<TI>#
-	_ZTI22CPeninputVkbLayoutInfo @ 212 NONAME ; #<TI>#
-	_ZTI23CAknFepCtrlRepeatButton @ 213 NONAME ; #<TI>#
-	_ZTI26CAknFepCtrlMultiModeButton @ 214 NONAME ; #<TI>#
-	_ZTV17CAknFepCtrlButton @ 215 NONAME ; #<VT>#
-	_ZTV19CAknFepCtrlRangeBar @ 216 NONAME ; #<VT>#
-	_ZTV19CPeninputVkbCtrlExt @ 217 NONAME ; #<VT>#
-	_ZTV19CPeninputVkbKeyInfo @ 218 NONAME ; #<VT>#
-	_ZTV20CAknFepCtrlVkbLayout @ 219 NONAME ; #<VT>#
-	_ZTV20CFepCtrlDropdownList @ 220 NONAME ; #<VT>#
-	_ZTV21CAknFepCtrlBaseWindow @ 221 NONAME ; #<VT>#
-	_ZTV21CAknFepCtrlDragButton @ 222 NONAME ; #<VT>#
-	_ZTV22CAknFepCtrlEventButton @ 223 NONAME ; #<VT>#
-	_ZTV22CPeninputVkbLayoutInfo @ 224 NONAME ; #<VT>#
-	_ZTV23CAknFepCtrlRepeatButton @ 225 NONAME ; #<VT>#
-	_ZTV26CAknFepCtrlMultiModeButton @ 226 NONAME ; #<VT>#
-	_ZThn388_NK20CFepCtrlDropdownList14CandidateCountEv @ 227 NONAME ABSENT ; #<thunk>#
-	_ZThn388_NK20CFepCtrlDropdownList17IsEnableSecondaryEv @ 228 NONAME ABSENT ; #<thunk>#
-	_ZThn392_N20CFepCtrlDropdownList18HandleControlEventEiP14CFepUiBaseCtrlRK7TDesC16 @ 229 NONAME ABSENT ; #<thunk>#
-	_ZThn448_N19CAknFepCtrlRangeBar18HandleControlEventEiP14CFepUiBaseCtrlRK7TDesC16 @ 230 NONAME ABSENT ; #<thunk>#
-	_ZThn448_N21CAknFepCtrlBaseWindow18HandleControlEventEiP14CFepUiBaseCtrlRK7TDesC16 @ 231 NONAME ABSENT ; #<thunk>#
-	_ZThn660_N23CAknFepCtrlRepeatButton14HandleTimerOutEPK12CAknFepTimer @ 232 NONAME ABSENT ; #<thunk>#
-	_ZThn8_N17CAknFepCtrlButton22ConstructFromResourceLEv @ 233 NONAME ; #<thunk>#
-	_ZThn8_N20CFepCtrlDropdownList22ConstructFromResourceLEv @ 234 NONAME ; #<thunk>#
-	_ZThn8_N21CAknFepCtrlDragButton22ConstructFromResourceLEv @ 235 NONAME ; #<thunk>#
-	_ZThn8_N26CAknFepCtrlMultiModeButton22ConstructFromResourceLEv @ 236 NONAME ; #<thunk>#
-	_ZN20CFepCtrlDropdownList14AddCandidatesLERK13RPointerArrayI7HBufC16ENS_9TListTypeE @ 237 NONAME
-	_ZN20CFepCtrlDropdownList21SetFlagCandidateExistEi @ 238 NONAME
-	_ZN20CFepCtrlDropdownList29SetEventIdForCandidateExistedEi @ 239 NONAME
-	_ZN20CFepCtrlDropdownList30SetEventIdForNextPageCandidateEi @ 240 NONAME
-	_ZN20CFepCtrlDropdownList34SetEventIdForPreviousPageCandidateEi @ 241 NONAME
-	_ZThn448_NK20CFepCtrlDropdownList14CandidateCountEv @ 242 NONAME ; #<thunk>#
-	_ZThn448_NK20CFepCtrlDropdownList17IsEnableSecondaryEv @ 243 NONAME ; #<thunk>#
-	_ZThn452_N20CFepCtrlDropdownList18HandleControlEventEiP14CFepUiBaseCtrlRK7TDesC16 @ 244 NONAME ; #<thunk>#
-	_ZThn616_N19CAknFepCtrlRangeBar18HandleControlEventEiP14CFepUiBaseCtrlRK7TDesC16 @ 245 NONAME ; #<thunk>#
-	_ZThn616_N21CAknFepCtrlBaseWindow18HandleControlEventEiP14CFepUiBaseCtrlRK7TDesC16 @ 246 NONAME ; #<thunk>#
-	_ZThn720_N23CAknFepCtrlRepeatButton14HandleTimerOutEPK12CAknFepTimer @ 247 NONAME ABSENT ; #<thunk>#
-	_ZN20CFepCtrlDropdownList13SetCellMarginEii @ 248 NONAME
-	_ZN20CFepCtrlDropdownList16SetSpinBtnHeightEi @ 249 NONAME
-	_ZN20CFepCtrlDropdownList19SetCandTruncateTypeENS_17TCandTruncateTypeE @ 250 NONAME
-	_ZN20CFepCtrlDropdownList4NewLEP12CFepUiLayoutii6TPoint5TSizeii @ 251 NONAME
-	_ZN23CAknFepCtrlRawKeyButton21HandlePointerUpEventLERK6TPoint @ 252 NONAME
-	_ZN23CAknFepCtrlRawKeyButton22ConstructFromResourceLER15TResourceReader @ 253 NONAME
-	_ZN23CAknFepCtrlRawKeyButton22ConstructFromResourceLEv @ 254 NONAME
-	_ZN23CAknFepCtrlRawKeyButton23HandlePointerDownEventLERK6TPoint @ 255 NONAME
-	_ZN23CAknFepCtrlRawKeyButton4NewLEP12CFepUiLayoutiiii @ 256 NONAME ABSENT
-	_ZN23CAknFepCtrlRawKeyButton5NewLCEP12CFepUiLayoutiiii @ 257 NONAME ABSENT
-	_ZN23CAknFepCtrlRawKeyButtonC1EP12CFepUiLayoutiiii @ 258 NONAME ABSENT
-	_ZN23CAknFepCtrlRawKeyButtonC2EP12CFepUiLayoutiiii @ 259 NONAME ABSENT
-	_ZN23CAknFepCtrlRawKeyButtonD0Ev @ 260 NONAME
-	_ZN23CAknFepCtrlRawKeyButtonD1Ev @ 261 NONAME
-	_ZN23CAknFepCtrlRawKeyButtonD2Ev @ 262 NONAME
-	_ZTI23CAknFepCtrlRawKeyButton @ 263 NONAME ; #<TI>#
-	_ZTV23CAknFepCtrlRawKeyButton @ 264 NONAME ; #<VT>#
-	_ZThn8_N23CAknFepCtrlRawKeyButton22ConstructFromResourceLEv @ 265 NONAME ; #<thunk>#
-	_ZN23CAknFepCtrlRawKeyButton18HandlePointerLeaveERK6TPoint @ 266 NONAME
-	_ZN16CAknFepCtrlLabel10SetBitmapLEP10CFbsBitmap @ 267 NONAME
-	_ZN16CAknFepCtrlLabel11SizeChangedE5TRecti @ 268 NONAME
-	_ZN16CAknFepCtrlLabel12SetFontColorE4TRgb @ 269 NONAME
-	_ZN16CAknFepCtrlLabel13TextAlignmentEv @ 270 NONAME
-	_ZN16CAknFepCtrlLabel14SetMaskBitmapLEP10CFbsBitmap @ 271 NONAME
-	_ZN16CAknFepCtrlLabel16SetTextAlignmentEN16CGraphicsContext10TTextAlignE @ 272 NONAME
-	_ZN16CAknFepCtrlLabel4DrawEv @ 273 NONAME
-	_ZN16CAknFepCtrlLabel4NewLEP12CFepUiLayouti @ 274 NONAME
-	_ZN16CAknFepCtrlLabel7SetFontEPK5CFont @ 275 NONAME
-	_ZN16CAknFepCtrlLabel7SetFontERK9TFontSpec @ 276 NONAME
-	_ZN16CAknFepCtrlLabel7SetTextERK7TDesC16 @ 277 NONAME
-	_ZN16CAknFepCtrlLabelD0Ev @ 278 NONAME
-	_ZN16CAknFepCtrlLabelD1Ev @ 279 NONAME
-	_ZN16CAknFepCtrlLabelD2Ev @ 280 NONAME
-	_ZN22CPenInputSelectionList10RemoveItemEi @ 281 NONAME
-	_ZN22CPenInputSelectionList11CloseWindowEv @ 282 NONAME
-	_ZN22CPenInputSelectionList11SizeChangedE6TPoint5TSizei @ 283 NONAME
-	_ZN22CPenInputSelectionList14RemoveAllItemsEv @ 284 NONAME
-	_ZN22CPenInputSelectionList15SetTextPropertyEPK5CFont4TRgb @ 285 NONAME
-	_ZN22CPenInputSelectionList21HandlePointerUpEventLERK6TPoint @ 286 NONAME
-	_ZN22CPenInputSelectionList22ConstructFromResourceLEv @ 287 NONAME
-	_ZN22CPenInputSelectionList23HandlePointerDownEventLERK6TPoint @ 288 NONAME
-	_ZN22CPenInputSelectionList23HandlePointerMoveEventLERK6TPoint @ 289 NONAME
-	_ZN22CPenInputSelectionList4NewLEP12CFepUiLayouti6TPoint5TSizei @ 290 NONAME
-	_ZN22CPenInputSelectionList7DisplayEv @ 291 NONAME
-	_ZN22CPenInputSelectionList8AddItemLERK7TDesC16 @ 292 NONAME
-	_ZN22CPenInputSelectionList9SetItemsLERK13RPointerArrayI7HBufC16E @ 293 NONAME
-	_ZN22CPenInputSelectionListD0Ev @ 294 NONAME
-	_ZN22CPenInputSelectionListD1Ev @ 295 NONAME
-	_ZN22CPenInputSelectionListD2Ev @ 296 NONAME
-	_ZTI16CAknFepCtrlLabel @ 297 NONAME ; #<TI>#
-	_ZTI22CPenInputSelectionList @ 298 NONAME ; #<TI>#
-	_ZTV16CAknFepCtrlLabel @ 299 NONAME ; #<VT>#
-	_ZTV22CPenInputSelectionList @ 300 NONAME ; #<VT>#
-	_ZThn8_N22CPenInputSelectionList22ConstructFromResourceLEv @ 301 NONAME ; #<thunk>#
-	_ZN25PenInputModeSwitchFactory13CreateSwitchLEP12CFepUiLayouti16TPluginInputMode @ 302 NONAME ABSENT
-	_ZN25PenInputModeSwitchFactory13ReleaseSwitchEP28MPenInputModeSwitchInterface @ 303 NONAME ABSENT
-	_ZTI24CPenInputModeSwitchUtils @ 304 NONAME ABSENT ; #<TI>#
-	_ZTV24CPenInputModeSwitchUtils @ 305 NONAME ABSENT ; #<VT>#
-	_ZN20CFepCtrlDropdownList15SetFuzzyBoundryEi @ 306 NONAME
-	_ZN20CFepCtrlDropdownList17SetCandExpandTypeENS_11TExpandTypeE @ 307 NONAME
-	_ZN23CAknFepCtrlCommonButton11SizeChangedE5TRectS0_i @ 308 NONAME
-	_ZN23CAknFepCtrlCommonButton12SetHighlightEi @ 309 NONAME
-	_ZN23CAknFepCtrlCommonButton19SetForgroundBmpRectERK5TRect @ 310 NONAME
-	_ZN23CAknFepCtrlCommonButton22ConstructFromResourceLER15TResourceReader @ 311 NONAME
-	_ZN23CAknFepCtrlCommonButton22ConstructFromResourceLEv @ 312 NONAME
-	_ZN23CAknFepCtrlCommonButton4DrawEv @ 313 NONAME
-	_ZN23CAknFepCtrlCommonButton4NewLEP12CFepUiLayouti11TAknsItemIDS2_S2_ @ 314 NONAME
-	_ZN23CAknFepCtrlCommonButton5NewLCEP12CFepUiLayouti11TAknsItemIDS2_S2_ @ 315 NONAME
-	_ZN23CAknFepCtrlCommonButton9SetActiveEi @ 316 NONAME
-	_ZN23CAknFepCtrlCommonButtonC1EP12CFepUiLayouti11TAknsItemIDS2_S2_ @ 317 NONAME
-	_ZN23CAknFepCtrlCommonButtonC2EP12CFepUiLayouti11TAknsItemIDS2_S2_ @ 318 NONAME
-	_ZN23CAknFepCtrlCommonButtonD0Ev @ 319 NONAME
-	_ZN23CAknFepCtrlCommonButtonD1Ev @ 320 NONAME
-	_ZN23CAknFepCtrlCommonButtonD2Ev @ 321 NONAME
-	_ZN23CAknFepCtrlRawKeyButton4NewLEP12CFepUiLayouti11TAknsItemIDS2_S2_iii @ 322 NONAME
-	_ZN23CAknFepCtrlRawKeyButton5NewLCEP12CFepUiLayouti11TAknsItemIDS2_S2_iii @ 323 NONAME
-	_ZN23CAknFepCtrlRawKeyButtonC1EP12CFepUiLayouti11TAknsItemIDS2_S2_iii @ 324 NONAME
-	_ZN23CAknFepCtrlRawKeyButtonC2EP12CFepUiLayouti11TAknsItemIDS2_S2_iii @ 325 NONAME
-	_ZTI23CAknFepCtrlCommonButton @ 326 NONAME ; #<TI>#
-	_ZTV23CAknFepCtrlCommonButton @ 327 NONAME ; #<VT>#
-	_ZThn8_N23CAknFepCtrlCommonButton22ConstructFromResourceLEv @ 328 NONAME ; #<thunk>#
-	_ZN23CAknFepCtrlRawKeyButton12OnDeActivateEv @ 329 NONAME
-	_ZN31CPeninputLayoutInputmodelChoice14SwitchListRectEv @ 330 NONAME
-	_ZN31CPeninputLayoutInputmodelChoice15SetSecretEditorEi @ 331 NONAME
-	_ZN31CPeninputLayoutInputmodelChoice16PopUpSwitchListLERK5TRect @ 332 NONAME
-	_ZN31CPeninputLayoutInputmodelChoice4NewLEP12CFepUiLayouti16TPluginInputMode @ 333 NONAME
-	_ZN31CPeninputLayoutInputmodelChoiceD0Ev @ 334 NONAME
-	_ZN31CPeninputLayoutInputmodelChoiceD1Ev @ 335 NONAME
-	_ZN31CPeninputLayoutInputmodelChoiceD2Ev @ 336 NONAME
-	_ZTI31CPeninputLayoutInputmodelChoice @ 337 NONAME ; #<TI>#
-	_ZTV31CPeninputLayoutInputmodelChoice @ 338 NONAME ; #<VT>#
-	_ZN23CAknFepCtrlCommonButton17SetForegroundBmpLEP10CFbsBitmapS1_ @ 339 NONAME
-	_ZN23CAknFepCtrlCommonButton18HandlePointerLeaveERK6TPoint @ 340 NONAME
-	_ZN23CAknFepCtrlCommonButton21HandlePointerUpEventLERK6TPoint @ 341 NONAME
-	_ZN23CAknFepCtrlCommonButton23HandlePointerDownEventLERK6TPoint @ 342 NONAME
-	_ZN26CAknFepCtrlMultiModeButton15DisableOneModesEi @ 343 NONAME
-	_ZN19CAknFepCtrlRangeBar20SetDispalyCellRectsLERK6RArrayI5TRectES4_ @ 344 NONAME
-	_ZN19CPeninputVkbCtrlExt11SizeChangedERK5TRect @ 345 NONAME
-	_ZN19CPeninputVkbCtrlExt4NewLERK5TRectP12CFepUiLayoutiPK5CFonti @ 346 NONAME
-	_ZN19CPeninputVkbCtrlExtC1ERK5TRectP12CFepUiLayoutiRK9TFontSpeci @ 347 NONAME
-	_ZN19CPeninputVkbCtrlExtC2ERK5TRectP12CFepUiLayoutiRK9TFontSpeci @ 348 NONAME
-	_ZN20CAknFepCtrlVkbLayout22SetIrregularResourceIdEl @ 349 NONAME
-	_ZN20CAknFepCtrlVkbLayout31ConstructFromIrregularResourceLEv @ 350 NONAME
-	_ZN22CPeninputVkbLayoutInfo10SetKeyInfoEiiRK5TRectS2_PK5CFont @ 351 NONAME
-	_ZN22CPeninputVkbLayoutInfo15ResetLayoutInfoERK5TSize @ 352 NONAME
-	_ZN24CAknFepCtrlBaseWindowExt13SetDragEnableEi @ 353 NONAME
-	_ZN24CAknFepCtrlBaseWindowExt14BaseConstructLEv @ 354 NONAME
-	_ZN24CAknFepCtrlBaseWindowExt18HandleControlEventEiP14CFepUiBaseCtrlRK7TDesC16 @ 355 NONAME
-	_ZN24CAknFepCtrlBaseWindowExt22ConstructFromResourceLEv @ 356 NONAME
-	_ZN24CAknFepCtrlBaseWindowExt25CreateBaseWindowControlsLEsl @ 357 NONAME
-	_ZN24CAknFepCtrlBaseWindowExt4DrawEv @ 358 NONAME
-	_ZN24CAknFepCtrlBaseWindowExt5CloseEv @ 359 NONAME
-	_ZN24CAknFepCtrlBaseWindowExt7ControlEi @ 360 NONAME
-	_ZN24CAknFepCtrlBaseWindowExt7DoCloseEv @ 361 NONAME
-	_ZN24CAknFepCtrlBaseWindowExtC2EP12CFepUiLayouti @ 362 NONAME
-	_ZN24CAknFepCtrlBaseWindowExtD0Ev @ 363 NONAME
-	_ZN24CAknFepCtrlBaseWindowExtD1Ev @ 364 NONAME
-	_ZN24CAknFepCtrlBaseWindowExtD2Ev @ 365 NONAME
-	_ZTI24CAknFepCtrlBaseWindowExt @ 366 NONAME ; #<TI>#
-	_ZTV24CAknFepCtrlBaseWindowExt @ 367 NONAME ; #<VT>#
-	_ZThn616_N24CAknFepCtrlBaseWindowExt18HandleControlEventEiP14CFepUiBaseCtrlRK7TDesC16 @ 368 NONAME ; #<thunk>#
-	_ZThn8_N24CAknFepCtrlBaseWindowExt22ConstructFromResourceLEv @ 369 NONAME ; #<thunk>#
-	_ZN20CAknFepCtrlVkbLayout25SetNonIrregularResourceIdEl @ 370 NONAME
-	_ZN20CAknFepCtrlVkbLayout34ConstructFromNonIrregularResourceLEv @ 371 NONAME
-	_ZNK26CAknFepCtrlMultiModeButton17GetRealCaseByModeEi @ 372 NONAME
-	_ZN19CAknFepCtrlRangeBar28HideRangeUsingIndicatorStyleEi @ 373 NONAME
-	_ZN19CAknFepCtrlRangeBar28ShowRangeUsingIndicatorStyleEi @ 374 NONAME
-	_ZN24CFepLayoutScrollableList10SetImgFrIdE11TAknsItemIDS0_S0_S0_S0_S0_ @ 375 NONAME
-	_ZN24CFepLayoutScrollableList11SizeChangedE5TSizeiiS0_S0_ @ 376 NONAME
-	_ZN24CFepLayoutScrollableList12CalcPageInfoEv @ 377 NONAME
-	_ZN24CFepLayoutScrollableList15SetTextPropertyEPK5CFont4TRgb @ 378 NONAME
-	_ZN24CFepLayoutScrollableList22ConstructFromResourceLEv @ 379 NONAME
-	_ZN24CFepLayoutScrollableList4NewLEP12CFepUiLayouti5TSizeiiS2_S2_ @ 380 NONAME
-	_ZN24CFepLayoutScrollableList5NewLCEP12CFepUiLayouti5TSizeiiS2_S2_ @ 381 NONAME
-	_ZN24CFepLayoutScrollableListD0Ev @ 382 NONAME
-	_ZN24CFepLayoutScrollableListD1Ev @ 383 NONAME
-	_ZN24CFepLayoutScrollableListD2Ev @ 384 NONAME
-	_ZTI24CFepLayoutScrollableList @ 385 NONAME ; #<TI>#
-	_ZTV24CFepLayoutScrollableList @ 386 NONAME ; #<VT>#
-	_ZThn8_N24CFepLayoutScrollableList22ConstructFromResourceLEv @ 387 NONAME ; #<thunk>#
-	_ZN23CAknFepCtrlCommonButton4MoveERK6TPoint @ 388 NONAME
-	_ZN25CPeninputCommonChoiceList12AddItemRectLERK5TRect @ 389 NONAME
-	_ZN25CPeninputCommonChoiceList12ReCalcLayoutEv @ 390 NONAME
-	_ZN25CPeninputCommonChoiceList13SetListSkinIDE11TAknsItemIDS0_ @ 391 NONAME
-	_ZN25CPeninputCommonChoiceList13SetTextLayoutERK18TAknTextLineLayout @ 392 NONAME
-	_ZN25CPeninputCommonChoiceList18RemoveAllItemsRectEv @ 393 NONAME
-	_ZN25CPeninputCommonChoiceList24SetListColumnNumWithLafLEi @ 394 NONAME
-	_ZN25CPeninputCommonChoiceList4DrawEv @ 395 NONAME
-	_ZN25CPeninputCommonChoiceList4NewLEP12CFepUiLayouti11TAknsItemIDS2_22ECommonChoiceListStyle @ 396 NONAME
-	_ZN25CPeninputCommonChoiceListD0Ev @ 397 NONAME
-	_ZN25CPeninputCommonChoiceListD1Ev @ 398 NONAME
-	_ZN25CPeninputCommonChoiceListD2Ev @ 399 NONAME
-	_ZTI25CPeninputCommonChoiceList @ 400 NONAME ; #<TI>#
-	_ZTV25CPeninputCommonChoiceList @ 401 NONAME ; #<VT>#
-	_ZN24CFepLayoutScrollableList21SetListSeperationRectERK5TRect @ 402 NONAME
-	_ZN25CPeninputCommonChoiceList7HitTestERK6TPoint @ 403 NONAME
-	_ZN21CAknFepCtrlDragButton11SizeChangedE5TRectS0_i @ 404 NONAME
-	_ZN21CAknFepCtrlDragButton17SetForegroundBmpLEP10CFbsBitmapS1_ @ 405 NONAME
-	_ZN21CAknFepCtrlDragButton19SetForgroundBmpRectERK5TRect @ 406 NONAME
-	_ZN21CAknFepCtrlDragButton23HandlePointerDownEventLERK6TPoint @ 407 NONAME
-	_ZN21CAknFepCtrlDragButton4DrawEv @ 408 NONAME
-	_ZN21CAknFepCtrlDragButton4MoveERK6TPoint @ 409 NONAME
-	_ZN22CAknFepCtrlEventButton4NewLEP12CFepUiLayoutiii11TAknsItemIDS2_S2_ @ 410 NONAME
-	_ZN22CAknFepCtrlEventButton5NewLCEP12CFepUiLayoutiii11TAknsItemIDS2_S2_ @ 411 NONAME
-	_ZN22CAknFepCtrlEventButtonC1EP12CFepUiLayoutiii11TAknsItemIDS2_S2_ @ 412 NONAME
-	_ZN22CAknFepCtrlEventButtonC2EP12CFepUiLayoutiii11TAknsItemIDS2_S2_ @ 413 NONAME
-	_ZN23CAknFepCtrlCommonButton18HandlePointerEnterERK6TPoint @ 414 NONAME
-	_ZN23CAknFepCtrlCommonButton22SetDraw3PieceFrameInfoE17TDraw3PiecesFrame @ 415 NONAME
-	_ZN23CAknFepCtrlRepeatButton4NewLEP12CFepUiLayoutiii11TAknsItemIDS2_S2_ @ 416 NONAME
-	_ZN23CAknFepCtrlRepeatButton5NewLCEP12CFepUiLayoutiii11TAknsItemIDS2_S2_ @ 417 NONAME
-	_ZN23CAknFepCtrlRepeatButtonC1EP12CFepUiLayoutiii11TAknsItemIDS2_S2_ @ 418 NONAME
-	_ZN23CAknFepCtrlRepeatButtonC2EP12CFepUiLayoutiii11TAknsItemIDS2_S2_ @ 419 NONAME
-	_ZN26CAknFepCtrlMultiModeButton11SizeChangedE5TRectS0_i @ 420 NONAME
-	_ZN26CAknFepCtrlMultiModeButton4NewLEP12CFepUiLayouti11TAknsItemIDS2_S2_ @ 421 NONAME
-	_ZN26CAknFepCtrlMultiModeButton5NewLCEP12CFepUiLayouti11TAknsItemIDS2_S2_ @ 422 NONAME
-	_ZN26CAknFepCtrlMultiModeButtonC1EP12CFepUiLayouti11TAknsItemIDS2_S2_ @ 423 NONAME
-	_ZN26CAknFepCtrlMultiModeButtonC2EP12CFepUiLayouti11TAknsItemIDS2_S2_ @ 424 NONAME
-	_ZThn796_N23CAknFepCtrlRepeatButton14HandleTimerOutEPK12CAknFepTimer @ 425 NONAME ABSENT ; #<thunk>#
-	_ZN24CFepLayoutScrollableList4HideEi @ 426 NONAME
-	_ZN20CFepCtrlDropdownList20SetDropdownListImgIDE21TDropdownListDrawInfo @ 427 NONAME
-	_ZN19CPeninputVkbCtrlExt9DimKeySetEPK7HBufC16i @ 428 NONAME
-	_ZThn804_N23CAknFepCtrlRepeatButton14HandleTimerOutEPK12CAknFepTimer @ 429 NONAME ; #<thunk>#
-	_ZN27CAknFepCtrlMultiImageButton11SizeChangedE5TRectS0_i @ 430 NONAME
-	_ZN27CAknFepCtrlMultiImageButton22ConstructFromResourceLER15TResourceReader @ 431 NONAME
-	_ZN27CAknFepCtrlMultiImageButton22ConstructFromResourceLEv @ 432 NONAME
-	_ZN27CAknFepCtrlMultiImageButton4DrawEv @ 433 NONAME
-	_ZN27CAknFepCtrlMultiImageButton4MoveERK6TPoint @ 434 NONAME
-	_ZN27CAknFepCtrlMultiImageButton4NewLEP12CFepUiLayouti11TAknsItemIDS2_S2_ @ 435 NONAME
-	_ZN27CAknFepCtrlMultiImageButton5NewLCEP12CFepUiLayouti11TAknsItemIDS2_S2_ @ 436 NONAME
-	_ZN27CAknFepCtrlMultiImageButtonC1EP12CFepUiLayouti11TAknsItemIDS2_S2_ @ 437 NONAME
-	_ZN27CAknFepCtrlMultiImageButtonC2EP12CFepUiLayouti11TAknsItemIDS2_S2_ @ 438 NONAME
-	_ZN27CAknFepCtrlMultiImageButtonD0Ev @ 439 NONAME
-	_ZN27CAknFepCtrlMultiImageButtonD1Ev @ 440 NONAME
-	_ZN27CAknFepCtrlMultiImageButtonD2Ev @ 441 NONAME
-	_ZTI27CAknFepCtrlMultiImageButton @ 442 NONAME ; #<TI>#
-	_ZTV27CAknFepCtrlMultiImageButton @ 443 NONAME ; #<VT>#
-	_ZThn8_N27CAknFepCtrlMultiImageButton22ConstructFromResourceLEv @ 444 NONAME ; #<thunk>#
-	_ZN19CPeninputVkbCtrlExt22ConstructFromResourceLEv @ 445 NONAME
-	_ZThn8_N19CPeninputVkbCtrlExt22ConstructFromResourceLEv @ 446 NONAME ; #<thunk>#
-	_ZN24CFepLayoutScrollableList10ConstructLEv @ 447 NONAME
-	_ZN24CFepLayoutScrollableList12DrawPageInfoEv @ 448 NONAME
-	_ZN24CFepLayoutScrollableList12ReCalcLayoutEv @ 449 NONAME
-	_ZN24CFepLayoutScrollableList15UpdatePageInfoLEii @ 450 NONAME
-	_ZN24CFepLayoutScrollableList18CalculateItemWidthEv @ 451 NONAME
-	_ZN24CFepLayoutScrollableList18HandleControlEventEiP14CFepUiBaseCtrlRK7TDesC16 @ 452 NONAME
-	_ZN24CFepLayoutScrollableList22UpdateNaviButtonStatesEv @ 453 NONAME
-	_ZN24CFepLayoutScrollableList4DrawEv @ 454 NONAME
-	_ZN24CFepLayoutScrollableList4MoveERK6TPoint @ 455 NONAME
-	_ZN24CFepLayoutScrollableList7HitTestERK6TPoint @ 456 NONAME
-	_ZN24CFepLayoutScrollableList8DrawItemEii @ 457 NONAME
-	_ZN24CFepLayoutScrollableListC1EP12CFepUiLayouti5TSizeiiS2_S2_ @ 458 NONAME
-	_ZN24CFepLayoutScrollableListC2EP12CFepUiLayouti5TSizeiiS2_S2_ @ 459 NONAME
-	_ZN25CPeninputCommonChoiceListC1EP12CFepUiLayouti11TAknsItemIDS2_22ECommonChoiceListStyle @ 460 NONAME
-	_ZN25CPeninputCommonChoiceListC2EP12CFepUiLayouti11TAknsItemIDS2_22ECommonChoiceListStyle @ 461 NONAME
-	_ZThn768_N24CFepLayoutScrollableList18HandleControlEventEiP14CFepUiBaseCtrlRK7TDesC16 @ 462 NONAME ; #<thunk>#
-	_ZN23CAknFepCtrlRepeatButton18CancelPointerDownLEv @ 463 NONAME
-	_ZN20CFepCtrlDropdownList4NewLEP12CFepUiLayoutii6TPointPK5CFont5TSizeiiiiiiNS_11THDirectionEi @ 464 NONAME
-	_ZN20CFepCtrlDropdownList16SetSecondaryListER6RArrayIiEi @ 465 NONAME
-	_ZN20CFepCtrlDropdownList10ShowBubbleEi @ 466 NONAME
-	_ZN20CFepCtrlDropdownList12SetFrameDiffEiiii @ 467 NONAME
-	_ZN20CFepCtrlDropdownList13SetBubbleSizeERK5TSize @ 468 NONAME
-	_ZN20CFepCtrlDropdownList13SetTextFormatE18TAknTextLineLayout @ 469 NONAME
-	_ZN20CFepCtrlDropdownList17SetBubbleTextFontEPK5CFont @ 470 NONAME
-	_ZN20CFepCtrlDropdownList20SetBubbleBitmapParamEP10CFbsBitmapS1_11TAknsItemID @ 471 NONAME
-	_ZN20CFepCtrlDropdownList10ReDrawRectERK5TRect @ 472 NONAME
-	_ZN23CAknFepCtrlCommonButton18CancelPointerDownLEv @ 473 NONAME
-	_ZN20CFepCtrlDropdownList4HideEi @ 474 NONAME
-
--- a/textinput/peninputcommonctrls/group/bld.inf	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
-* 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:  Build information file for project ?myapp
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_EXPORTS 
-
-../rom/peninputcommonctrls.iby CORE_MW_LAYER_IBY_EXPORT_PATH( peninputcommonctrls.iby )
-../rom/peninputcommonctrlsresources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(peninputcommonctrlsresources.iby)
-../loc/peninputcommonctrls.loc MW_LAYER_LOC_EXPORT_PATH(peninputcommonctrls.loc)
-
-// From peninputbuttons
-../inc/peninputvkbctrl/peninputvkbctrllayout.h              |../../../inc/peninputvkbctrllayout.h
-../inc/peninputvkbctrl/peninputvkbctrllayout.inl            |../../../inc/peninputvkbctrllayout.inl
-../inc/peninputvkbctrl/peninputvkbctrlext.h                 |../../../inc/peninputvkbctrlext.h
-
-// From peninputgeneralheaders
-../inc/peninputgeneralheaders/peninputcommonctrls.hrh       |../../../inc/peninputcommonctrls.hrh
-../inc/peninputgeneralheaders/peninputcommonctrls.rh        |../../../inc/peninputcommonctrls.rh
-
-// From peninputbuttons
-../inc/peninputbuttons/peninputbutton.h                     |../../../inc/peninputbutton.h
-../inc/peninputbuttons/peninputdragbutton.h                 |../../../inc/peninputdragbutton.h
-../inc/peninputbuttons/peninputeventbutton.h                |../../../inc/peninputeventbutton.h
-../inc/peninputbuttons/peninputmultimodebutton.h            |../../../inc/peninputmultimodebutton.h
-../inc/peninputbuttons/peninputmultimodebutton.inl          |../../../inc/peninputmultimodebutton.inl
-../inc/peninputbuttons/peninputrepeatbutton.h               |../../../inc/peninputrepeatbutton.h
-../inc/peninputbuttons/peninputrawkeybutton.h               |../../../inc/peninputrawkeybutton.h
-../inc/peninputbuttons/peninputrawkeybutton.inl             |../../../inc/peninputrawkeybutton.inl
-../inc/peninputbuttons/peninputcommonbutton.h               |../../../inc/peninputcommonbutton.h
-../inc/peninputbuttons/peninputmultiimagebutton.h               |../../../inc/peninputmultiimagebutton.h
-
-// From peninputbasewindow
-../inc/peninputbasewindow/peninputbasewindow.h              |../../../inc/peninputbasewindow.h
-../inc/peninputbasewindow/peninputbasewindow.inl            |../../../inc/peninputbasewindow.inl
-../inc/peninputbasewindow/peninputbasewindowext.h              |../../../inc/peninputbasewindowext.h
-../inc/peninputbasewindow/peninputbasewindowext.inl            |../../../inc/peninputbasewindowext.inl
-
-
-// From peninputrangebar
-../inc/peninputrangebar/peninputrangebar.h                  |../../../inc/peninputrangebar.h
-../inc/peninputrangebar/peninputrangebar.inl                |../../../inc/peninputrangebar.inl
-
-// From peninputdropdownlist
-../inc/peninputdropdownlist/peninputdropdownlist.h          |../../../inc/peninputdropdownlist.h
-../inc/peninputdropdownlist/peninputdropdownlist.rh         |../../../inc/peninputdropdownlist.rh
-../inc/peninputdropdownlist/peninputdropdownlistcontext.h   |../../../inc/peninputdropdownlistcontext.h
-
-// From peninputselectionlist
-../inc/peninputselectionlist/peninputselectionlist.h        |../../../inc/peninputselectionlist.h  
-../inc/peninputselectionlist/peninputlayoutinputmodechoice.h              |../../../inc/peninputlayoutinputmodechoice.h
-../inc/peninputselectionlist/peninputscrollablelist.h       |../../../inc/peninputscrollablelist.h
-../inc/peninputselectionlist/peninputcommonchoicelist.h			|../../../inc/peninputcommonchoicelist.h
-       
-// From peninputlabel
-../inc/peninputlabel/peninputlabel.h                        |../../../inc/peninputlabel.h
-
-
-PRJ_MMPFILES
-
-//gnumakefile peninputcommonctrls_icons.mk
-
-../group/peninputcommonctrls.mmp
-
-PRJ_EXTENSIONS
-START EXTENSION s60/mifconv
-OPTION TARGETFILE peninputmodeswitcher.mif
-OPTION HEADERFILE peninputmodeswitcher.mbg
-OPTION SOURCEFILE iconlist.txt
-END
-// End Of File
--- a/textinput/peninputcommonctrls/group/iconlist.txt	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
--c8,8 qgn_graf_fep_candi_list_sec.svg                                  
--c8,8 qgn_graf_fep_candi_list_sel.svg                                  
-
--- a/textinput/peninputcommonctrls/group/peninputcommonctrls.mmp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,129 +0,0 @@
-/*
-* 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:  Project file for common controls
-*
-*/
-
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-TARGET          peninputcommonctrls.dll
-TARGETTYPE      DLL
-UID             0x1000008D 0x10281859
-CAPABILITY      CAP_GENERAL_DLL
-
-// From peninputbuttons
-SOURCEPATH      ../src/peninputbuttons
-SOURCE          peninputbutton.cpp
-
-// From peninputbasewindow
-SOURCEPATH      ../src/peninputbasewindow
-SOURCE          peninputbasewindow.cpp
-SOURCE          peninputbasewindowext.cpp
-
-// From peninputrangebar
-SOURCEPATH      ../src/peninputrangebar
-SOURCE          peninputrangebar.cpp
-
-// From peninputvkbctrl
-SOURCEPATH      ../src/peninputvkbctrl
-SOURCE          peninputvkbctrllayout.cpp
-SOURCE          peninputvkbctrlext.cpp
-
-// From peninputdropdownlist
-SOURCEPATH      ../src/peninputdropdownlist
-SOURCE          peninputbitmapdb.cpp
-SOURCE          peninputcandidate.cpp
-SOURCE          peninputdropdownlist.cpp
-SOURCE          peninputlist.cpp
-SOURCE          peninputlistmanager.cpp
-SOURCE          peninputlistmultirowwithicon.cpp
-SOURCE          peninputlistmultirowwithouticon.cpp
-SOURCE          peninputlistonerowwithicon.cpp
-SOURCE          peninputlistonerowwithouticon.cpp
-SOURCE          peninputpages.cpp
-SOURCE          peninputlistmultirowrollwithicon.cpp
-SOURCE          peninputlistonerowrollwithicon.cpp
-SOURCE          peninputlistexpandablemultirowwithouticon.cpp
-SOURCE			peninputlistmultirowwithiconwithbubble.cpp
-SOURCE			peninputlistonerowwithiconwithbubble.cpp
-SOURCE			peninputlistonerowwithouticonwithbubble.cpp
-SOURCE			peninputlistmultirowrollwithiconwithbubble.cpp
-SOURCE			peninputlistonerowrollwithiconwithbubble.cpp
-
-// From peninputselectionlist
-SOURCEPATH      ../src/peninputselectionlist
-SOURCE          peninputselectionlist.cpp
-SOURCE          peninputlayoutinputmodechoice.cpp
-SOURCE          peninputscrollablelist.cpp
-SOURCE		peninputcommonchoicelist.cpp
-// From peninputlabel
-SOURCEPATH      ../src/peninputlabel
-SOURCE           peninputlabel.cpp
-
-USERINCLUDE     ../inc/peninputbasewindow
-USERINCLUDE     ../inc/peninputbuttons
-USERINCLUDE     ../inc/peninputgeneralheaders
-USERINCLUDE     ../inc/peninputdropdownlist
-USERINCLUDE     ../inc/peninputrangebar
-USERINCLUDE     ../inc/peninputselectionlist
-USERINCLUDE     ../inc/peninputlabel
-USERINCLUDE     ../inc/peninputvkbctrl
-
-
-// This is a SYSTEMINCLUDE macro containing the middleware
-// layer specific include directories
-MW_LAYER_SYSTEMINCLUDE
-
-SYSTEMINCLUDE   /epoc32/include/ecom
-SYSTEMINCLUDE   ../../../inc
-SYSTEMINCLUDE   ../../inc
-
-SOURCEPATH      ../srcdata
-
-// general resource file
-
-START RESOURCE  peninputmodeswitchutilsnew.rss
-HEADER
-TARGETPATH      RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END
-START RESOURCE  peninputmodeswitchutils.rss
-TARGETPATH      RESOURCE_FILES_DIR
-END
-
-LIBRARY         euser.lib 
-LIBRARY         cone.lib
-LIBRARY         ws32.lib 
-LIBRARY         bafl.lib 
-LIBRARY         efsrv.lib 
-LIBRARY         bitgdi.lib 
-LIBRARY         gdi.lib 
-LIBRARY         fbscli.lib
-LIBRARY         aknicon.lib 
-LIBRARY         peninputlayoutcontrol.lib
-LIBRARY         peninputpluginutils.lib
-LIBRARY         aknskins.lib
-LIBRARY         avkon.lib
-LIBRARY         eikcore.lib
-LIBRARY         aknlayout.lib 
-LIBRARY         AknLayout2Scalable.lib 
-LIBRARY         commonengine.lib
-LIBRARY         CentralRepository.lib
-#ifdef RD_TACTILE_FEEDBACK
-LIBRARY                 FeatMgr.lib                // feature manager
-LIBRARY                 touchfeedback.lib
-#endif // RD_TACTILE_FEEDBACK
-// End Of File
--- a/textinput/peninputcommonctrls/group/peninputcommonctrls_icons.mk	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-#
-# Copyright (c) 2004 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: 
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\Z
-else
-ZDIR=\epoc32\data\z
-endif
-
-# ----------------------------------------------------------------------------
-# Configuration for AknFep icons.
-# ----------------------------------------------------------------------------
-
-TARGETDIR=$(ZDIR)\resource\apps
-HEADERDIR=\epoc32\include
-ICONTARGETFILENAME=$(TARGETDIR)\peninputmodeswitcher.mif
-HEADERFILENAME=$(HEADERDIR)\peninputmodeswitcher.mbg
-
-do_nothing :
-	@rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN :
-	@del $(ICONTARGETFILENAME)
-	@del $(HEADERFILENAME)
-	@del $(TARGETDIR)\peninputmodeswitcher.mbm
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-# ----------------------------------------------------------------------------
-# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by
-# MifConv if the mask depth is defined.
-#
-# NOTE 2: Usually, source paths should not be included in the bitmap
-# definitions. MifConv searches for the icons in all icon directories in a
-# predefined order, which is currently \s60\icons, \s60\bitmaps2.
-# The directory \s60\icons is included in the search only if the feature flag
-# __SCALABLE_ICONS is defined.
-# ----------------------------------------------------------------------------
-
-RESOURCE:
-	mifconv $(ICONTARGETFILENAME) /h$(HEADERFILENAME) /Ficonlist.txt
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
-	@echo $(HEADERFILENAME)&& \
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
--- a/textinput/peninputcommonctrls/inc/peninputbasewindow/peninputbasewindow.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,209 +0,0 @@
-/*
-* 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:  CAknFepCtrlBaseWindow
-*
-*/
-
-
-#ifndef C_CAKNFEPCTRLBASEWINDOW_H
-#define C_CAKNFEPCTRLBASEWINDOW_H
-
-//  INCLUDES
-#include <peninputlayoutctrlgroup.h>
-
-// FORWARD DECLARATIONS
-class CFepUiLayout;
-class CAknFepCtrlButton;
-class CAknFepCtrlDragButton;
-class CAknFepCtrlCommonButton;
-/**
- *  Class definiton for base window
- *
- *  @lib fepcommonctrls.lib
- *  @since S60 v3.2
- */
-class CAknFepCtrlBaseWindow : public CControlGroup, public MEventObserver
-    {    
-public:
-    
-    /**
-     * destructor.
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C virtual ~CAknFepCtrlBaseWindow();
-    
-    /**
-     * Resize 
-     *
-     * @since S60 v3.2
-     * @param aLandscapeStyle Current screen is landscape or not
-     * @return None
-     */          
-    virtual void SizeChanged(TBool aLandscapeStyle) = 0;
-    
-    /**
-     * Close window
-     *
-     * @since S60 v3.2
-     * @return None
-     */          
-    IMPORT_C void Close();
-    
-    /**
-     * Enable or disable drag window
-     *
-     * @since S60 v3.2
-     * @param aEnable ETrue to enable otherwise disable drag
-     * @return None
-     */          
-    IMPORT_C void SetDragEnable(TBool aEnable);
-
-    /**
-     * Get the control by control id
-     *
-     * @since S60 v3.2
-     * @param aCtrlId The control id
-     * @return Pointer to the control found;otherwise NULL
-     */          
-    IMPORT_C CFepUiBaseCtrl* Control(TInt aCtrlId);
-    
-    /**
-     * Get Header Pane
-     *
-     * @since S60 v3.2
-     * @return Pointer to header pane
-     */          
-    inline CControlGroup* HeaderPane() const;
-    
-    /**
-     * Get Client Pane
-     *
-     * @since S60 v3.2
-     * @return client pane
-     */          
-    inline CControlGroup* ClientPane() const;
-    
-    /**
-     * Get the title bar
-     *
-     * @since S60 v3.2
-     * @return Pointer to title bar
-     */          
-    inline CControlGroup* TitleBar() const;
-    
-    /**
-     * Get Client Pane
-     *
-     * @since S60 v3.2
-     * @return Pointer to move button
-     */          
-    inline CAknFepCtrlDragButton* MoveButton() const;
-
-    /**
-     * Get close button
-     *
-     * @since S60 v3.2
-     * @return Pointer to close button
-     */          
-    inline CAknFepCtrlCommonButton* CloseButton() const;
-
-// from base class MEventObserver
-
-    /**
-     * From MEventObserver.
-     * Handle the observer event
-     *
-     * @since S60 v3.2
-     * @param aEventType Event type
-     * @param aCtrl Sender control
-     * @param aEventData Event data
-     */
-    IMPORT_C void HandleControlEvent(TInt aEventType, CFepUiBaseCtrl* aCtrl, 
-                                     const TDesC& aEventData);
-    
-// from base class CControlGroup
-
-    /**
-     * From CControlGroup.
-     * Draw window
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C void Draw();
-    
-protected:
-
-    /**
-     * C++ default constructor
-     *
-     * @since S60 v3.2
-     * @param aFepUiLayout A Ui Layout environment (CFepUiLayout)
-     * @param aControlId Control id
-     */          
-    IMPORT_C CAknFepCtrlBaseWindow( CFepUiLayout* aFepUiLayout, 
-                         TInt aControlId); 
-    
-    /**
-     * Symbian second-phase constructor
-     *
-     * @since S60 v3.2
-     * @return None
-     */          
-    IMPORT_C void BaseConstructL();
-
-    /**
-     * call back function when closing window
-     *
-     * @since S60 v3.2
-     * @return ETrue for allowing close window; otherwise EFalse
-     */          
-    IMPORT_C virtual TBool DoClose();
-
-private:// data
-  
-    /**
-     * The title bar (Own)
-     */
-    CControlGroup* iTitleBar;
-    
-    /**
-     * The move drag button (Own)
-     */
-    CAknFepCtrlDragButton* iMoveButton;
-
-    /**
-     * The close button (Own)
-     */
-    CAknFepCtrlCommonButton* iCloseButton;
-    
-    /**
-     * The header pane (Own)
-     */
-    CControlGroup* iHeaderPane;
-
-    /**
-     * The client pane (Own)
-     */
-    CControlGroup* iClientPane;
-    
-    };
-
-#include "peninputbasewindow.inl"
-    
-#endif // C_CAKNFEPCTRLBASEWINDOW_H
-
-// End Of File
--- a/textinput/peninputcommonctrls/inc/peninputbasewindow/peninputbasewindow.inl	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
-* 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:  inline file of aknfepctrlbasewindow.h
-*
-*/
-
-
-inline CControlGroup* CAknFepCtrlBaseWindow::HeaderPane() const
-    {
-    return iHeaderPane;
-    }
-        
-inline CControlGroup* CAknFepCtrlBaseWindow::ClientPane() const
-    {
-    return iClientPane;
-    }
-
-inline CControlGroup* CAknFepCtrlBaseWindow::TitleBar() const
-    {
-    return iTitleBar;
-    }
-
-inline CAknFepCtrlDragButton* CAknFepCtrlBaseWindow::MoveButton() const
-    {
-    return iMoveButton;
-    }
-
-inline CAknFepCtrlCommonButton* CAknFepCtrlBaseWindow::CloseButton() const
-    {
-    return iCloseButton;
-    }
-
-// End Of File
--- a/textinput/peninputcommonctrls/inc/peninputbasewindow/peninputbasewindowext.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,184 +0,0 @@
-/*
-* 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:  CAknFepCtrlBaseWindowExt
-*
-*/
-
-
-#ifndef C_CAKNFEPCTRLBASEWINDOWEXT_H
-#define C_CAKNFEPCTRLBASEWINDOWEXT_H
-
-//  INCLUDES
-
-#include <peninputlayout.h>
-#include <peninputlayoutctrlgroup.h>
-#include "peninputcommonbutton.h"
-#include "peninputeventbutton.h"
-#include "peninputrepeatbutton.h"
-#include "peninputinputcontextfield.h"
-
-
-// FORWARD DECLARATIONS
-class CFepUiLayout;
-class CAknFepCtrlButton;
-class CAknFepCtrlRepeatButton;
-class CAknFepCtrlDragButton;
-class CPeninputLayoutInputmodelChoice;
-class CFepLayoutMultiLineIcf;
-/**
- *  Class definiton for base window
- *
- *  @lib fepcommonctrls.lib
- *  @since S60 v3.2
- */
-class CAknFepCtrlBaseWindowExt : public CControlGroup, public MEventObserver
-    {    
-public:
-    
-    /**
-     * destructor.
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C virtual ~CAknFepCtrlBaseWindowExt();
-    
-    /**
-     * Resize 
-     *
-     * @since S60 v3.2
-     * @param aLandscapeStyle Current screen is landscape or not
-     * @return None
-     */          
-    virtual void SizeChanged(TBool aLandscapeStyle) = 0;
-    
-    /**
-     * Close window
-     *
-     * @since S60 v3.2
-     * @return None
-     */          
-    IMPORT_C void Close();
-    
-    /**
-     * Enable or disable drag window
-     *
-     * @since S60 v3.2
-     * @param aEnable ETrue to enable otherwise disable drag
-     * @return None
-     */          
-    IMPORT_C void SetDragEnable(TBool aEnable);
-
-    /**
-     * Get the control by control id
-     *
-     * @since S60 v3.2
-     * @param aCtrlId The control id
-     * @return Pointer to the control found;otherwise NULL
-     */          
-    IMPORT_C CFepUiBaseCtrl* Control(TInt aCtrlId);
-    
-// from base class MEventObserver
-
-    /**
-     * From MEventObserver.
-     * Handle the observer event
-     *
-     * @since S60 v3.2
-     * @param aEventType Event type
-     * @param aCtrl Sender control
-     * @param aEventData Event data
-     */
-    IMPORT_C void HandleControlEvent(TInt aEventType, CFepUiBaseCtrl* aCtrl, 
-                                     const TDesC& aEventData);
-    
-// from base class CControlGroup
-
-    /**
-     * From CControlGroup.
-     * Draw window
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C void Draw();
-    
-protected:
-
-    /**
-     * C++ default constructor
-     *
-     * @since S60 v3.2
-     * @param aFepUiLayout A Ui Layout environment (CFepUiLayout)
-     * @param aControlId Control id
-     */          
-    IMPORT_C CAknFepCtrlBaseWindowExt( CFepUiLayout* aFepUiLayout, 
-                                       TInt aControlId); 
-    
-    /**
-     * Symbian second-phase constructor
-     *
-     * @since S60 v3.2
-     * @return None
-     */          
-    IMPORT_C void BaseConstructL();
-
-    /**
-     * call back function when closing window
-     *
-     * @since S60 v3.2
-     * @return ETrue for allowing close window; otherwise EFalse
-     */          
-    IMPORT_C virtual TBool DoClose();
-    
-    IMPORT_C void ConstructFromResourceL();
-
-    IMPORT_C virtual void CreateBaseWindowControlsL( TInt16 aControlId, TInt32 aImageId ); 
-    
-    virtual TBool CreateCustomControlL( TInt16 aControlId, TInt32 aImageId );
-    
-    virtual void AddCustomControlGroupL(CFepUiBaseCtrl* aCtrl);
-        
-private:
-
-    void ReadIcfInfoL(TResourceReader aResReader,
-                     CFepInputContextField* icf);
-    void ReadMultiLineIcfInforL( TResourceReader aResReader,
-                                CFepLayoutMultiLineIcf* icf  );
-    
-    void ReadShadowInfoL( TInt aResId );
-
-    inline CAknFepCtrlCommonButton* CloseButton() const;
-    
-    inline void SetCloseButton(CAknFepCtrlCommonButton* aCloseBtn);
-    
-    void ReadBackgroundInfoL( TInt aResId );
-private:// data
-  
-    /**
-     * The close button (Own)
-     */
-    CAknFepCtrlCommonButton* iCloseButton;
-
-    TBool iFirstTimeConstruct;
-        
-    CCoeEnv* iCoeEnv;
-
-    };
-
-#include "peninputbasewindowext.inl"
-    
-#endif // C_CAKNFEPCTRLBASEWINDOWEXT_H
-
-// End Of File
--- a/textinput/peninputcommonctrls/inc/peninputbasewindow/peninputbasewindowext.inl	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* 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:  inline file of aknfepctrlbasewindow.h
-*
-*/
-
-        
-inline CAknFepCtrlCommonButton* CAknFepCtrlBaseWindowExt::CloseButton() const
-    {
-    return iCloseButton;
-    }
-
-inline void CAknFepCtrlBaseWindowExt::SetCloseButton(CAknFepCtrlCommonButton* aCloseBtn)
-    {
-    iCloseButton = aCloseBtn;
-    }
-
-// End Of File
--- a/textinput/peninputcommonctrls/inc/peninputbuttons/peninputbutton.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,175 +0,0 @@
-/*
-* 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:  Interface of normal button and multidisplay button
-*
-*/
-
-
-#ifndef C_CAKNFEPCTRLBUTTON_H
-#define C_CAKNFEPCTRLBUTTON_H
-
-// system includes
-#include <peninputlayoutbasecontrol.h>
-#include <peninputlayoutbutton.h>
-
-// forward declarations
-class TResourceReader;
-
-// class declarations
-/**
- *  Basic functionality for graphic buttons
- *  It provides creation from resource and can react according to SizeChanged Msg
- *
- *  @lib fepcommonctrls.lib
- *  @since S60 v3.2
- */
-class CAknFepCtrlButton : public CButtonBase
-    {
-public: 
-        
-    /**
-     * Two-phased constructor.
-     *
-     * @since S60 v3.2
-     * @param aUiLayout An instance of CFepUiLayout
-     * @param aControlId The control id of input range button
-     * @return The pointer point to CAknFepCtrlButton type object
-     */
-    IMPORT_C static CAknFepCtrlButton* NewL(CFepUiLayout* aUiLayout, TInt aControlId);
-        
-    /**
-     * Two-phased constructor.
-     *
-     * @since S60 v3.2
-     * @param aUiLayout An instance of CFepUiLayout
-     * @param aControlId The control id of input range button
-     * @return The pointer point to CAknFepCtrlButton type object
-     */
-    IMPORT_C static CAknFepCtrlButton* NewLC(CFepUiLayout* aUiLayout, TInt aControlId);
-
-    /**
-     * Destructor.
-     *
-     * @since S60 v3.2
-     */
-    IMPORT_C virtual ~CAknFepCtrlButton();
-
-    /**
-     * This function creates the input range button from resource.
-     *
-     * @since S60 v3.2
-     * @param aReader A Reader which is created against the AKN_FEP_BUTTON resource type
-     * @return None
-     */
-    IMPORT_C void ConstructFromResourceL(TResourceReader& aReader);
-    
-    /**
-     * This function creates the input range button from resource,
-     * before calling this function, caller should set resource id of 
-     * range button first
-     * 
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C void ConstructFromResourceL();
-
-    /**
-     * This function handles the SizeChanged event, it resizes all images and rects
-     *
-     * @since S60 v3.2
-     * @param aRect New button extent
-     * @param aIsReloadImages Whether resize images as well, 
-     * if only the position of the button changed, no need to reset the images as well
-     * @return Nothing
-     */
-    IMPORT_C void SizeChanged(TRect aRect, TBool aIsReloadImages = EFalse);
-
-    /**
-     * Draws UI
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C void Draw();
-
-    /**
-     * Set active for this button
-     *
-     * @since S60 v3.2
-     * @param aActiveFlag active the button or desactive it
-     * @return None
-     */
-    IMPORT_C void SetActive(TBool aActiveFlag);
-
-    /**
-     * Set high light for the button
-     *
-     * @since S60 v3.2
-     * @param aIsHighlight highlight the button or cancel high light it
-     * @return None
-     */
-    IMPORT_C void SetHighlight(TBool aIsHighlight);
-    
-     /**
-     * From CFepUiBaseCtrl
-     * Handle pointer levae event. 
-     * This will be called only when it's got pointer down event before and 
-     * now pointer leaves without pointer up event
-     *
-     * @since S60 V4.0
-     * @param aPoint current pointer position
-     */
-    virtual void HandlePointerLeave(const TPoint& aPoint);        
-
-protected:
-
-    /**
-     * C++ default constructor.
-     *
-     * @since S60 v3.2
-     * @param aUiLayout An instance of CFepUiLayout
-     * @param aControlId The control id of input range button
-     */
-    IMPORT_C CAknFepCtrlButton(CFepUiLayout* aUiLayout, TInt aControlId);
-    
-    void ResizeBitmaps(TSize aSize);
-    
-protected:
-
-    /**
-     * The first time construct flag of button
-     */
-    TBool iFirstTimeConstruct;
-
-private:
-
-    /**
-     * Array of background bmp (not own)
-     */
-    RPointerArray<CFbsBitmap> iBmpList;
-    
-    /**
-     * Array of background mask bmp (not own)
-     */
-    RPointerArray<CFbsBitmap> iMaskBmpList;
-
-    /**
-     * The highlight flag of the button
-     */
-    TBool iHighlight;
-    };    
-
-#endif // C_CAKNFEPCTRLBUTTON_H
-            
-// End Of File
--- a/textinput/peninputcommonctrls/inc/peninputbuttons/peninputcommonbutton.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,386 +0,0 @@
-/*
-* 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:  Interface of normal button and multidisplay button
-*
-*/
-
-
-#ifndef C_CAKNFEPCTRLCOMMONBUTTON_H
-#define C_CAKNFEPCTRLCOMMONBUTTON_H
-
-// system includes
-#include <AknsConstants.h>
-#include <peninputlayoutbasecontrol.h>
-#include <peninputlayoutbutton.h>
-#include <AknLayout2Def.h>
-#include <peninputpluginutils.h>
-
-// forward declarations
-class TResourceReader;
-
-struct TDraw3PiecesFrame
-	{
-    TAknsItemID iImgLeftID;
-    TAknsItemID iImgMiddleID;
-    TAknsItemID iImgRightID;
-	TRect iInnerRect;
-	    
-    TDraw3PiecesFrame(TAknsItemID aImgLeftID,
-    					  TAknsItemID aImgMiddleID,
-    					  TAknsItemID aImgRightID,
-    					  TRect aInnerRect)
-    	{
-    	
-    	iImgLeftID = aImgLeftID;
-    	iImgMiddleID = aImgMiddleID;
-    	iImgRightID = aImgRightID;
-    		 
-    	iInnerRect = aInnerRect;
-    		
-    	};
-    	
-    TDraw3PiecesFrame()
-    	{
-    	
-    	};
-	};    
-
-// class declarations
-/**
- *  Basic functionality for graphic buttons
- *  It provides creation from resource and can react according to SizeChanged Msg
- *
- *  @lib fepcommonctrls.lib
- *  @since S60 v3.2
- */
-class CAknFepCtrlCommonButton : public CButtonBase
-    {
-public: 
-        
-    /**
-     * Two-phased constructor.
-     *
-     * @since S60 v3.2
-     * @param aUiLayout An instance of CFepUiLayout
-     * @param aControlId The control id of input range button
-     * @return The pointer point to CAknFepCtrlCommonButton type object
-     */
-    IMPORT_C static CAknFepCtrlCommonButton* NewL(CFepUiLayout* aUiLayout, 
-    						TInt aControlId,
-    						TAknsItemID aNormalID,
-    						TAknsItemID aPressedID,
-    						TAknsItemID aInactiveID);
-        
-    /**
-     * Two-phased constructor.
-     *
-     * @since S60 v3.2
-     * @param aUiLayout An instance of CFepUiLayout
-     * @param aControlId The control id of input range button
-     * @return The pointer point to CAknFepCtrlCommonButton type object
-     */
-    IMPORT_C static CAknFepCtrlCommonButton* NewLC(CFepUiLayout* aUiLayout, 
-    						TInt aControlId,
-							TAknsItemID aNormalID,
-    						TAknsItemID aPressedID,
-    						TAknsItemID aInactiveID);
-    /**
-     * Destructor.
-     *
-     * @since S60 v3.2
-     */
-    IMPORT_C virtual ~CAknFepCtrlCommonButton();
-
-    /**
-     * This function creates the input range button from resource.
-     *
-     * @since S60 v3.2
-     * @param aReader A Reader which is created against the AKN_FEP_BUTTON resource type
-     * @return None
-     */
-    IMPORT_C void ConstructFromResourceL(TResourceReader& aReader);
-    
-    /**
-     * This function creates the input range button from resource,
-     * before calling this function, caller should set resource id of 
-     * range button first
-     * 
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C void ConstructFromResourceL();
-
-    /**
-     * This function handles the SizeChanged event, it resizes all images and rects
-     *
-     * @since S60 v3.2
-     * @param aRect New button extent
-     * @param aInnerRect New button inner
-     * @param aIsReloadImages Whether resize images as well, 
-     * if only the position of the button changed, no need to reset the images as well
-     * @return Nothing
-     */
-    IMPORT_C void SizeChanged(TRect aRect, TRect aInnerRect, TBool aIsReloadImages = EFalse);
-
-    /**
-     * Draws UI
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C void Draw();
-
-    /**
-     * Set active for this button
-     *
-     * @since S60 v3.2
-     * @param aActiveFlag active the button or desactive it
-     * @return None
-     */
-    IMPORT_C void SetActive(TBool aActiveFlag);
-
-    /**
-     * Set high light for the button
-     *
-     * @since S60 v3.2
-     * @param aIsHighlight highlight the button or cancel high light it
-     * @return None
-     */
-    IMPORT_C void SetHighlight(TBool aIsHighlight);
-	
-	/**
-     * Set Forground bitmap position
-     *
-     * @since S60 v3.2
-     * @param aRect Forground bitmap position
-     * @return None
-     */
-	IMPORT_C void SetForgroundBmpRect(const TRect& aRect);
-
-    IMPORT_C void SetForegroundBmpL(CFbsBitmap* aBmp,
-	                                  CFbsBitmap* aMaskBmp);
-	         
-    IMPORT_C void SetDraw3PieceFrameInfo(TDraw3PiecesFrame a3PiecesFrameInfo);
-    
-	/**
-     * Cancel pointer down state
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C void CancelPointerDownL();
-    
-	/**
-     * Set text line layout
-     *
-     * @since S60 V4.0
-     * @param aTextFormat Text line layout to be set
- 	 * @return None
-     */                  	
-    inline void SetTextFormat(TAknTextLineLayout aTextFormat);
-    
-	/**
-     * Set text to be shown on button
-     *
-     * @since S60 V4.0
-     * @param aText Text to be shown on button
- 	 * @return None
-     */
-    inline void SetTextL(const TDesC& aText);
-
-    inline void SetImageFrameId( TAknsItemID aNormalID,
-    							 TAknsItemID aPressedID,
-    							 TAknsItemID aInactiveID );
-    
-    							 
-	inline void Set3PiecesColorIcons( CPenInput3PiecesColorIcons* aColorIcons ); 
-	
-	/**
-     * Set text color group
-     *
-     * @since S60 V4.0
-     * @param aColorGroup Text color group
- 	 * @return None
-     */
-	inline void SetTextColorIndex( TInt aColorGroup );   							 
-	inline TInt TextColorIndex() const;
-	
-	inline CFbsBitmap* ForgroundBmp();
-    inline CFbsBitmap* ForgroundBmpMask();
-    inline const TRect& ForgroundBmpRect() const;
-protected:
-
-    /**
-     * C++ default constructor.
-     *
-     * @since S60 v3.2
-     * @param aUiLayout An instance of CFepUiLayout
-     * @param aControlId The control id of input range button
-     */
-    IMPORT_C CAknFepCtrlCommonButton(CFepUiLayout* aUiLayout, 
-    								 TInt aControlId,
-    								 TAknsItemID aNormalID,
-    								 TAknsItemID aPressedID,
-    								 TAknsItemID aInactiveID);
-			
-    
-    void ResizeBitmaps(TSize aInnerSize);
-    
-    void DeleteForgroundRes();
-    
-    void CreateDimmedMaskL( CFbsBitmap*& aDimmedMask,
-                            const CFbsBitmap* aMask
-                        	/*TScaleMode aScaleMode*/ );
-                        	
-    /**
-     * From CFepUiBaseCtrl
-     * Handle pointer down event
-     *
-     * @since S60 V4.0
-     * @param aPoint The point position relative the layout
-     * @return The control which handles the event.     
-     */                                        
-    IMPORT_C virtual CFepUiBaseCtrl* HandlePointerDownEventL(const TPoint& aPoint);
-	
-	/**
-     * From CFepUiBaseCtrl
-     * Handle pointer up event
-     *
-     * @since S60 V4.0
-     * @param aPoint The point position relative the layout
- 	 * @return The control which handles the event
-     */                  
-    IMPORT_C virtual CFepUiBaseCtrl* HandlePointerUpEventL(const TPoint& aPoint);
-	
-	/**
-     * From CFepUiBaseCtrl
-     * Handle pointer up event
-     *
-     * @since S60 V4.0
-     * @param aPoint The point position relative the layout
- 	 * @return The control which handles the event
-     */                  	
-    IMPORT_C virtual void HandlePointerLeave(const TPoint& aPt);
-    
-    IMPORT_C virtual void HandlePointerEnter(const TPoint& aPt);
-	
-    IMPORT_C void Move(const TPoint& aOffset);
-protected:
-
-    /**
-     * The first time construct flag of button
-     */
-    TBool iFirstTimeConstruct;
-
-    /**
-     * The highlight flag of the button
-     */
-    TBool iHighlight;
-    
-    TBool iPressed;
-
-private:
-
-    /**
-     * Froground bitmap and it's mask
-     */
-    CFbsBitmap* iForgroundBmp;
-    CFbsBitmap* iForgroundBmpMask;
-    
-    /**
-     * Froground Dimmed bitmap's mask
-     */
-    CFbsBitmap* iForgroundDimBmpMask;
-    
-    /**
-     * Froground bitmap's position
-     */
-    TRect iForgroundBmpRect;
-    
-    /**
-     * The img ID of button in various states
-     */
-    TAknsItemID iNormalImgID;
-    TAknsItemID iPressedImgID;
-    TAknsItemID iInactiveImgID;    
-
-    HBufC* iText;
-    TAknTextLineLayout iTextFormat;
-    
-    TDraw3PiecesFrame iDraw3PiecesInfo;
-    /**
-     * The 3 pieces color icon (owned)
-     */    
-    CPenInput3PiecesColorIcons* iColorIcons;
-    /**
-     * Text color index
-     */
-    TInt iTextColorIndex;
-    };
-
-inline void CAknFepCtrlCommonButton::SetTextFormat(TAknTextLineLayout aTextFormat)
-    {
-    iTextFormat = aTextFormat;
-    }
-
-inline void CAknFepCtrlCommonButton::SetTextL(const TDesC& aText)
-    {
-    delete iText;
-    iText = NULL;
-    iText = aText.AllocL();
-    }
-
-inline void CAknFepCtrlCommonButton::SetImageFrameId( TAknsItemID aNormalID,
-                                                      TAknsItemID aPressedID,
-                                                      TAknsItemID aInactiveID )
-    {
-    iNormalImgID = aNormalID;
-    iPressedImgID = aPressedID;
-    iInactiveImgID = aInactiveID;
-    }
-    
-inline void CAknFepCtrlCommonButton::
-			Set3PiecesColorIcons( CPenInput3PiecesColorIcons* aColorIcons )
-	{
-	delete iColorIcons;
-	iColorIcons = aColorIcons;
-	}
-
-inline void CAknFepCtrlCommonButton::SetTextColorIndex( TInt aColorGroup )
-	{
-	iTextColorIndex = aColorGroup;
-	}
-	
-inline TInt CAknFepCtrlCommonButton::TextColorIndex() const
-	{
-	return iTextColorIndex;
-	}
-	
-inline CFbsBitmap* CAknFepCtrlCommonButton::ForgroundBmp()
-    {
-    return iForgroundBmp;
-    }
-
-inline CFbsBitmap* CAknFepCtrlCommonButton::ForgroundBmpMask()
-    {
-    return iForgroundBmpMask;
-    }
-    		
-inline const TRect& CAknFepCtrlCommonButton::ForgroundBmpRect() const
-	{
-	return iForgroundBmpRect;
-	}    		
-#endif // C_CAKNFEPCTRLCOMMONBUTTON_H
-            
-// End Of File
--- a/textinput/peninputcommonctrls/inc/peninputbuttons/peninputdragbutton.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,242 +0,0 @@
-/*
-* 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:  Interface of normal button and multidisplay button
-*
-*/
-
-
-#ifndef C_CAKNFEPCTRLDRAGBUTTON_H
-#define C_CAKNFEPCTRLDRAGBUTTON_H
-
-// system includes
-#include <AknsConstants.h>
-#include <AknLayout2Def.h>
-#include <peninputlayoutbasecontrol.h>
-#include <peninputlayoutbutton.h>
-
-// forward declarations
-class TResourceReader;
-
-/**
- *  Basic functionality for drag button
- *  It provides creation from resource and can react according to SizeChanged Msg
- *
- *  @lib fepcommonctrls.lib
- *  @since S60 v3.2
- */
-class CAknFepCtrlDragButton : public CDragBar
-    {
-public:  
-    
-    /**
-     * Symbian constructor.
-     *
-     * @since S60 v3.2
-     * @param aUiLayout The Ui layout
-     * @param aControlId The control id
-     * @return Pointer to created CAknFepCtrlDragButton object
-     */
-    IMPORT_C static CAknFepCtrlDragButton* NewL(CFepUiLayout* aUiLayout, TInt aControlId);
-    
-    /**
-     * Symbian constructor.
-     *
-     * @since S60 v3.2
-     * @param aUiLayout The Ui layout
-     * @param aControlId The control id
-     * @return Pointer to created CAknFepCtrlDragButton object
-     */
-    IMPORT_C static CAknFepCtrlDragButton* NewLC(CFepUiLayout* aUiLayout, TInt aControlId);
-   
-    /**
-     * destructor.
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C virtual ~CAknFepCtrlDragButton();
-       
-    /**
-     * This function creates the button from resource.
-     *
-     * @since S60 v3.2
-     * @param aReader A Reader which is created against the AKN_FEP_BUTTON resource type
-     * @return None
-     */
-    IMPORT_C void ConstructFromResourceL(TResourceReader& aReader);
-    
-    /**
-     * This function creates button from resource, before calling 
-     * this function, caller should set resource id of button first
-     * 
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C void ConstructFromResourceL();
-    
-    /**
-     * This function handles the SizeChanged event, it resizes all images and rects
-     *
-     * @since S60 v3.2
-     * @param aRect New button extent
-     * @param aIsReloadImages ETrue for resizing images; otherwise EFalse
-     * @return None
-     */
-    IMPORT_C void SizeChanged(TRect aRect, TRect aInnerRect = TRect(), 
-                              TBool aIsReloadImages = EFalse);
-
-	/**
-     * Set Forground bitmap position
-     *
-     * @since S60 v3.2
-     * @param aRect Forground bitmap position
-     * @return None
-     */
-	IMPORT_C void SetForgroundBmpRect(const TRect& aRect);
-
-    IMPORT_C void SetForegroundBmpL(CFbsBitmap* aBmp,
-	                                  CFbsBitmap* aMaskBmp);
-
-    /**
-     * Draws UI
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C void Draw();
-
-	IMPORT_C void Move(const TPoint& aOffset);
-
-    /**
-     * From CFepUiBaseCtrl
-     * Handle pointer down event
-     *
-     * @since S60 V4.0
-     * @param aPoint The point position relative the layout
-     * @return The control which handles the event.     
-     */                                        
-    IMPORT_C virtual CFepUiBaseCtrl* HandlePointerDownEventL(const TPoint& aPoint);
-
-	/**
-     * Set text line layout
-     *
-     * @since S60 V4.0
-     * @param aTextFormat Text line layout to be set
- 	 * @return None
-     */                  	
-    inline void SetTextFormat(TAknTextLineLayout aTextFormat);
-    
-	/**
-     * Set text to be shown on button
-     *
-     * @since S60 V4.0
-     * @param aText Text to be shown on button
- 	 * @return None
-     */
-    inline void SetTextL(const TDesC& aText);
-
-    inline void SetImageFrameId( TAknsItemID aNormalID,
-    							 TAknsItemID aPressedID,
-    							 TAknsItemID aInactiveID );
-protected:
-
-    /**
-     * C++ default constructor.
-     *
-     * @since S60 v3.2
-     * @param aUiLayout The Ui layout
-     * @param aControlId The control id
-     * @return None
-     */
-    IMPORT_C CAknFepCtrlDragButton(CFepUiLayout* aUiLayout, TInt aControlId);
-    
-    
-    
-    void ResizeBitmaps(TSize aSize);
-    
-    void DeleteForgroundRes();
-    
-    void CreateDimmedMaskL( CFbsBitmap*& aDimmedMask,
-                            const CFbsBitmap* aMask
-                        	/*TScaleMode aScaleMode*/ );
-    
-
-private:
-    /**
-     * Array of background bmp (not own)
-     */
-    RPointerArray<CFbsBitmap> iBmpList;
-    
-    /**
-     * Array of background mask bmp (not own)
-     */
-    RPointerArray<CFbsBitmap> iMaskBmpList;
-
-    /**
-     * The first time construct flag of button
-     */
-    TBool iFirstTimeConstruct;
-    
-    /**
-     * Froground bitmap and it's mask
-     */
-    CFbsBitmap* iForgroundBmp;
-    CFbsBitmap* iForgroundBmpMask;
-    
-    /**
-     * Froground Dimmed bitmap's mask
-     */
-    CFbsBitmap* iForgroundDimBmpMask;
-    
-    /**
-     * Froground bitmap's position
-     */
-    TRect iForgroundBmpRect;
-    
-    /**
-     * The img ID of button in various states
-     */
-    TAknsItemID iNormalImgID;
-    TAknsItemID iPressedImgID;
-    TAknsItemID iInactiveImgID;
-
-    HBufC* iText;
-    TAknTextLineLayout iTextFormat;    
-    };
-    
-
-inline void CAknFepCtrlDragButton::SetTextFormat(TAknTextLineLayout aTextFormat)
-    {
-    iTextFormat = aTextFormat;
-    }
-
-inline void CAknFepCtrlDragButton::SetTextL(const TDesC& aText)
-    {
-    delete iText;
-    iText = NULL;
-    iText = aText.AllocL();
-    }
-
-inline void CAknFepCtrlDragButton::SetImageFrameId( TAknsItemID aNormalID,
-                                                      TAknsItemID aPressedID,
-                                                      TAknsItemID aInactiveID )
-    {
-    iNormalImgID = aNormalID;
-    iPressedImgID = aPressedID;
-    iInactiveImgID = aInactiveID;
-    }    
-
-#endif // C_CAKNFEPCTRLDRAGBUTTON_H
-
-// End Of File
--- a/textinput/peninputcommonctrls/inc/peninputbuttons/peninputeventbutton.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,251 +0,0 @@
-/*
-* 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:  Interface of normal button and multidisplay button
-*
-*/
-
-
-#ifndef C_CAKNFEPCTRLEVENTBUTTON_H
-#define C_CAKNFEPCTRLEVENTBUTTON_H
-
-// system includes
-#include <peninputlayoutbasecontrol.h>
-#include <peninputlayoutbutton.h>
-#include <peninputbutton.h>
-#include <peninputcommonbutton.h>
-
-// forward declarations
-class TResourceReader;
-
-// class declarations
-/**
- *  Basic functionality for graphic buttons
- *  It provides creation from resource and can react according to SizeChanged Msg
- *
- *  @lib fepcommonctrls.lib
- *  @since S60 v3.2
- */
-class CAknFepCtrlEventButton : public CAknFepCtrlCommonButton
-    {
-public:
-
-    /**
-     * Symbian constructor.
-     *
-     * @since S60 v3.2
-     * @param aUiLayout The layout
-     * @param aControlId The control id
-     * @param aEvent An event Id to be sent
-     * @param aUnicode A Unicode value to be sent
-     * @return Pointer to created CAknFepCtrlEventButton object
-     */
-    IMPORT_C static CAknFepCtrlEventButton* NewL(CFepUiLayout* aUiLayout, 
-                                                 TInt aControlId, 
-                                                 TInt aEvent = 0xFFFF,
-                                                 TInt aUnicode = 0,
-											      TAknsItemID aNormalID = KAknsIIDQsnFrFunctionButtonNormal,
-			    								  TAknsItemID aPressedID = KAknsIIDQsnFrFunctionButtonPressed,
-			    								  TAknsItemID aInactiveID = KAknsIIDQsnFrFunctionButtonInactive);
-
-    /**
-     * Symbian constructor.
-     *
-     * @since S60 v3.2
-     * @param aUiLayout The layout
-     * @param aControlId The control id
-     * @param aEvent An event Id to be sent
-     * @param aUnicode A Unicode value to be sent
-     * @return Pointer to created CAknFepCtrlEventButton object
-     */                                           
-    IMPORT_C static CAknFepCtrlEventButton* NewLC(CFepUiLayout* aUiLayout, 
-                                                  TInt aControlId, 
-                                                  TInt aEvent = 0xFFFF,
-                                                  TInt aUnicode = 0,
-											      TAknsItemID aNormalID = KAknsIIDQsnFrFunctionButtonNormal,
-			    								  TAknsItemID aPressedID = KAknsIIDQsnFrFunctionButtonPressed,
-			    								  TAknsItemID aInactiveID = KAknsIIDQsnFrFunctionButtonInactive);
-
-    /**
-     * destructor.
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C virtual ~CAknFepCtrlEventButton();
-
-    /**
-     * From CButtonBase
-     * Handle button up event. cancel all timers
-     *
-     * @since S60 v3.2
-     * @param aPoint Point position
-     * @return The control who handles the event
-     */
-    IMPORT_C virtual CFepUiBaseCtrl* HandlePointerUpEventL(const TPoint& aPoint);
-    
-    /**
-     * This function gets the current Event Id
-     *
-     * @since S60 v3.2
-     * @return Current Event Id
-     */      
-    IMPORT_C TInt Event() const;
-    
-    /**
-     * This function gets the current Unicode value
-     *
-     * @since S60 v3.2
-     * @return Current Unicode value
-     */    
-    IMPORT_C TInt Unicode() const;
-    
-    /**
-     * This function sets the Event Id sent by this button
-     *
-     * @since S60 v3.2
-     * @param aEvent An event Id to be sent
-     * @return None
-     */
-    IMPORT_C void SetEvent(TInt aEvent);
-    
-    /**
-     * This function sets the Unicode value sent by this button
-     *
-     * @since S60 v3.2
-     * @param aUnicode A Unicode value to be sent
-     * @return None
-     */
-    IMPORT_C void SetUnicode(TInt aUnicode);           
-
-    /**
-     * This function sets the text written on the button
-     *
-     * @since S60 v3.2
-     * @param aText the text will be shown
-     * @return None
-     */
-    IMPORT_C void SetText(const TDesC& aText);
-
-    /**
-     * This function set the font used to draw the text
-     *
-     * @since S60 v3.2
-     * @param aFont the font
-     * @return None
-     */
-    IMPORT_C void SetFont(const CFont* aFont);
-
-    /**
-     * This function set the shadow font used to draw the text
-     *
-     * @since S60 v3.2
-     * @param aFont the shadow font
-     * @return None
-     */
-    IMPORT_C void SetShadowFont(const CFont* aFont);
-
-    /**
-     * This function set the font color used to draw the text
-     *
-     * @since S60 v3.2
-     * @param aColor the font color
-     * @return None
-     */
-    IMPORT_C void SetFontColor(const TRgb aColor);
-
-    /**
-     * This function set the shadow font color used to draw the text
-     *
-     * @since S60 v3.2
-     * @param aColor the shadow font color
-     * @return None
-     */
-    IMPORT_C void SetShadowFontColor(const TRgb aColor);
-
-    /**
-     * Draw function
-     *
-     * @since S60 v3.2
-     * @return None
-     */        
-    IMPORT_C void Draw();
-    
-protected:
-
-    /**
-     * C++ constructor.
-     *
-     * @since S60 v3.2
-     * @param aUiLayout Ui Layout who contains this control
-     * @param aControlId Control Id
-     * @param aEvent An event Id to be sent
-     * @param aUnicode A Unicode value to be sent
-     * @return None 
-     */
-    IMPORT_C CAknFepCtrlEventButton(CFepUiLayout* aUiLayout, 
-                                    TInt aControlId, 
-                                    TInt aEvent,
-                                    TInt aUnicode,
-							        TAknsItemID aNormalID = KAknsIIDQsnFrFunctionButtonNormal,
-								    TAknsItemID aPressedID = KAknsIIDQsnFrFunctionButtonPressed,
-								    TAknsItemID aInactiveID = KAknsIIDQsnFrFunctionButtonInactive);
-    /**
-     * Display button caption.
-     *
-     * @since S60 v3.2
-     * @return None 
-     */
-    IMPORT_C void DisplayText();
-    
-private:
-
-    /**
-     * Event Id
-     */
-    TInt iEvent;
-    
-    /**
-     * Unicode value
-     */    
-    TInt iUnicode;    
-    
-    /**
-     * Text shown on button
-     */    
-    HBufC* iText;
-    
-    /**
-     * the font used to show the text
-     */    
-    const CFont* iFont;    
-
-    /**
-     * the shadow font used to show the text
-     */    
-    const CFont* iShadowFont;    
-    
-    /**
-     * the font color used to show the text
-     */    
-    TRgb iFontColor;    
-
-    /**
-     * the shadow font color used to show the text
-     */    
-    TRgb iShadowFontColor;    
-    };  
-
-#endif // C_CAKNFEPCTRLEVENTBUTTON_H
-
-// End Of File
--- a/textinput/peninputcommonctrls/inc/peninputbuttons/peninputmultiimagebutton.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,231 +0,0 @@
-/*
-* 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:  Interface of normal button and multidisplay button
-*
-*/
-
-
-#ifndef C_CAKNFEPCTRLMULTIIMAGEBUTTON_H
-#define C_CAKNFEPCTRLMULTIIMAGEBUTTON_H
-
-// system includes
-#include <AknsConstants.h>
-#include <peninputlayoutbasecontrol.h>
-#include <peninputlayoutbutton.h>
-#include <peninputcommonbutton.h>
-
-// forward declarations
-class TResourceReader;
-
-
-// class declarations
-/**
- *  Basic functionality for graphic buttons
- *  It provides creation from resource and can react according to SizeChanged Msg
- *
- *  @lib fepcommonctrls.lib
- *  @since S60 v3.2
- */
-class CAknFepCtrlMultiImageButton : public CAknFepCtrlCommonButton
-    {
-public: 
-        
-    /**
-     * Two-phased constructor.
-     *
-     * @since S60 v3.2
-     * @param aUiLayout An instance of CFepUiLayout
-     * @param aControlId The control id of input range button
-     * @return The pointer point to CAknFepCtrlMultiImageButton type object
-     */
-    IMPORT_C static CAknFepCtrlMultiImageButton* NewL(CFepUiLayout* aUiLayout, 
-    						TInt aControlId,
-    						TAknsItemID aNormalID,
-    						TAknsItemID aPressedID,
-    						TAknsItemID aInactiveID);
-        
-    /**
-     * Two-phased constructor.
-     *
-     * @since S60 v3.2
-     * @param aUiLayout An instance of CFepUiLayout
-     * @param aControlId The control id of input range button
-     * @return The pointer point to CAknFepCtrlMultiImageButton type object
-     */
-    IMPORT_C static CAknFepCtrlMultiImageButton* NewLC(CFepUiLayout* aUiLayout, 
-    						TInt aControlId,
-							TAknsItemID aNormalID,
-    						TAknsItemID aPressedID,
-    						TAknsItemID aInactiveID);
-    /**
-     * Destructor.
-     *
-     * @since S60 v3.2
-     */
-    IMPORT_C virtual ~CAknFepCtrlMultiImageButton();
-
-    /**
-     * This function creates the input range button from resource.
-     *
-     * @since S60 v3.2
-     * @param aReader A Reader which is created against the AKN_FEP_BUTTON resource type
-     * @return None
-     */
-    IMPORT_C void ConstructFromResourceL(TResourceReader& aReader);
-    
-    /**
-     * This function creates the input range button from resource,
-     * before calling this function, caller should set resource id of 
-     * range button first
-     * 
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C void ConstructFromResourceL();
-
-    /**
-     * This function handles the SizeChanged event, it resizes all images and rects
-     *
-     * @since S60 v3.2
-     * @param aRect New button extent
-     * @param aInnerRect New button inner
-     * @param aIsReloadImages Whether resize images as well, 
-     * if only the position of the button changed, no need to reset the images as well
-     * @return Nothing
-     */
-    IMPORT_C void SizeChanged(TRect aRect, TRect aInnerRect, TBool aIsReloadImages = EFalse);
-
-    /**
-     * Draws UI
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C void Draw();
-                   
-	/**
-     * Set text line layout
-     *
-     * @since S60 V4.0
-     * @param aTextFormat Text line layout to be set
- 	 * @return None
-     */                  	
-    inline void SetTextFormat(TAknTextLineLayout aTextFormat);
-    
-	/**
-     * Set text to be shown on button
-     *
-     * @since S60 V4.0
-     * @param aText Text to be shown on button
- 	 * @return None
-     */
-    inline void SetTextL(const TDesC& aText);
-
-    inline void SetImageFrameId( TAknsItemID aNormalID,
-    							 TAknsItemID aPressedID,
-    							 TAknsItemID aInactiveID );
-    							 
-	IMPORT_C void Move(const TPoint& aOffset);    
-								 
-protected:
-
-    /**
-     * C++ default constructor.
-     *
-     * @since S60 v3.2
-     * @param aUiLayout An instance of CFepUiLayout
-     * @param aControlId The control id of input range button
-     */
-    IMPORT_C CAknFepCtrlMultiImageButton(CFepUiLayout* aUiLayout, 
-    								 TInt aControlId,
-    								 TAknsItemID aNormalID,
-    								 TAknsItemID aPressedID,
-    								 TAknsItemID aInactiveID);
-			
-    
-    void ResizeBitmaps(TSize aInnerSize);
-    
-    void DeleteForgroundRes();
-    
-    void CreateDimmedMaskL( CFbsBitmap*& aDimmedMask,
-                            const CFbsBitmap* aMask
-                        	/*TScaleMode aScaleMode*/ );
-                        	
-private:
-    /**
-     * Froground bitmap and it's mask
-     */
-    CFbsBitmap* iForground1Bmp;
-    CFbsBitmap* iForground1BmpMask;
-    
-    /**
-     * Froground Dimmed bitmap's mask
-     */
-    CFbsBitmap* iForground1DimBmpMask;
-    
-    /**
-     * Froground bitmap's position
-     */
-    TRect iForground1BmpRect;
-    
-    /**
-     * Froground bitmap and it's mask
-     */
-    CFbsBitmap* iForground2Bmp;
-    CFbsBitmap* iForground2BmpMask;
-    
-    /**
-     * Froground Dimmed bitmap's mask
-     */
-    CFbsBitmap* iForground2DimBmpMask;
-    
-    /**
-     * Froground bitmap's position
-     */
-    TRect iForground2BmpRect;    
-    
-    /**
-     * The img ID of button in various states
-     */
-    TAknsItemID iNormalImgID;
-    TAknsItemID iPressedImgID;
-    TAknsItemID iInactiveImgID;
-
-    HBufC* iText;
-    TAknTextLineLayout iTextFormat;
-    };
-
-inline void CAknFepCtrlMultiImageButton::SetTextFormat(TAknTextLineLayout aTextFormat)
-    {
-    iTextFormat = aTextFormat;
-    }
-
-inline void CAknFepCtrlMultiImageButton::SetTextL(const TDesC& aText)
-    {
-    delete iText;
-    iText = NULL;
-    iText = aText.AllocL();
-    }
-
-inline void CAknFepCtrlMultiImageButton::SetImageFrameId( TAknsItemID aNormalID,
-                                                      TAknsItemID aPressedID,
-                                                      TAknsItemID aInactiveID )
-    {
-    iNormalImgID = aNormalID;
-    iPressedImgID = aPressedID;
-    iInactiveImgID = aInactiveID;
-    }
-#endif // C_CAKNFEPCTRLMULTIIMAGEBUTTON_H
-            
-// End Of File
--- a/textinput/peninputcommonctrls/inc/peninputbuttons/peninputmultimodebutton.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,437 +0,0 @@
-/*
-* 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:  Interface of normal button and multidisplay button
-*
-*/
-
-
-#ifndef C_CAKNFEPCTRLMULTIMODEBUTTON_H
-#define C_CAKNFEPCTRLMULTIMODEBUTTON_H
-
-// system includes
-#include <AknsConstants.h>
-#include <peninputlayoutbasecontrol.h>
-#include <peninputlayoutbutton.h>
-//#include <peninputbutton.h>
-#include <peninputcommonbutton.h>
-
-// forward declarations
-class TResourceReader;
-
-struct TAknFepModeIndicator
-    {
-    /**
-     * Range id of button
-     */
-    TInt iRangeId;
-  
-    /**
-     * Real mode(case) of button
-     */
-    TInt iModeId;    
-            
-    /**
-     * Permitted or not
-     */
-    TBool iPermitted;
-    };
-
-/**
- *  Basic functionality for multi display modes graphic buttons
- *  It provides creation from resource and can react according to SizeChanged Msg
- *
- *  @lib fepcommonctrls.lib
- *  @since Series 60 release 4.0
- */
-class CAknFepCtrlMultiModeButton : public CAknFepCtrlCommonButton
-    {
-public:
-        
-    /**
-     * Two-phased constructor.
-     *
-     * @since S60 v3.2
-     * @param aUiLayout An instance of CFepUiLayout
-     * @param aControlId The control id of input range button
-     * @return The pointer point to CAknFepCtrlMultiModeButton type object
-     */
-    IMPORT_C static CAknFepCtrlMultiModeButton* NewL(CFepUiLayout* aUiLayout, TInt aControlId,
-                                    TAknsItemID aNormalID = KAknsIIDQsnFrFunctionButtonNormal,
-                                    TAknsItemID aPressedID = KAknsIIDQsnFrFunctionButtonPressed,
-                                    TAknsItemID aInactiveID = KAknsIIDQsnFrFunctionButtonInactive);
-        
-    /**
-     * Two-phased constructor.
-     *
-     * @since S60 v3.2
-     * @param aUiLayout An instance of CFepUiLayout
-     * @param aControlId The control id of input range button
-     * @return The pointer point to CAknFepCtrlMultiModeButton type object
-     */        
-    IMPORT_C static CAknFepCtrlMultiModeButton* NewLC(CFepUiLayout* aUiLayout, TInt aControlId,
-                                    TAknsItemID aNormalID = KAknsIIDQsnFrFunctionButtonNormal,
-                                    TAknsItemID aPressedID = KAknsIIDQsnFrFunctionButtonPressed,
-                                    TAknsItemID aInactiveID = KAknsIIDQsnFrFunctionButtonInactive);
-      
-    /**
-     * Destructor.
-     *
-     * @since S60 v3.2
-     */        
-    IMPORT_C virtual ~CAknFepCtrlMultiModeButton();
-
-    /**
-     * This function creates the button from resource.
-     * The function will leave if the count of display modes is invalid
-     *
-     * @since S60 v3.2
-     * @param aReader A Reader which is created against the AKN_FEP_MULTIPLE_IMAGE_BUTTON resource type
-     * @return None
-     */
-    IMPORT_C void ConstructFromResourceL(TResourceReader& aReader);
-    
-    /**
-     * This function creates button from resource, before calling 
-     * this function, caller should set resource id of button first
-     * 
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C void ConstructFromResourceL();
-
-    /**
-     * Add new display mode to button from resource reader
-     *
-     * @since S60 v3.2
-     * @param aReader A Reader which is created against the AKN_FEP_BUTTON_IMAGE resource type
-     * @return None
-     */
-    IMPORT_C void AddModeL(TResourceReader& aReader);
-
-    /**
-     * Set button to given display mode
-     *
-     * @since S60 v3.2
-     * @param aType The image type of button, active or nonactive
-     * @param aModeIndex The index of given display mode
-     * @return None
-     */
-    IMPORT_C void SetCurrentModeL(const TButtonBmpType aType, const TInt aModeIndex);
-
-    /**
-     * Get the mode index of next display mode
-     *
-     * @since S60 v3.2
-     * @return Next display mode of button
-     */
-    IMPORT_C TInt NextMode() const;
-
-    /**
-     * Set font color for text shown in button
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C void SetFontColor(const TRgb aFontColor);
-
-    /**
-     * Set shadow font color for text shown in button
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C void SetShadowFontColor(const TRgb aShadowFontColor);
-    
-    /**
-     * This function handles the SizeChanged event, it resizes all images and rects
-     *
-     * @since S60 v3.2
-     * @param aRect New button extent
-     * @param aIsReloadImages Whether resize images as well, 
-     * if only the position of the button changed, no need to reset the images as well
-     * @return Nothing
-     */
-    IMPORT_C void SizeChanged(TRect aRect, TRect aInnerRect = TRect(),
-                              TBool aIsReloadImages = EFalse);
-
-    /**
-     * This function used to set permitted mode(case) in given range
-     *
-     * @since S60 v3.2
-     * @param aRangId Range id
-     * @param aRealCaseId The real case id
-     * @param aPermit ETrue means permit given range and case, otherwise EFalse
-     * @return KErrNone if operation successfully, KErrNotSupported otherwise
-     */
-    IMPORT_C TInt SetPermittedModes(const TInt aRangeId, const TInt aRealCaseId, TBool aPermit);
-    
-    /**
-     * This function used to set permitted range, all case in given range will be enable or not
-     *
-     * @since S60 v3.2
-     * @param aRangId Range id
-     * @param aPermit ETrue means permit given range, otherwise EFalse
-     * @return KErrNone if operation successfully, KErrNotSupported otherwise
-     */
-    IMPORT_C TInt SetPermittedRange(const TInt aRangeId, TBool aPermit);
-    
-    /**
-     * Enable all modes
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C void EnableAllModes();
-    
-    /**
-     * Disable all modes
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C void DisableAllModes();
-    
-    IMPORT_C void DisableOneModes(const TInt aRangeId);
-    
-    /**
-     * Judge if given range supported by this button
-     *
-     * @since S60 v3.2
-     * @param aRange Given range id
-     * @return ETrue if given range supported, otherwise EFalse
-     */
-    IMPORT_C TBool IsGivenRangeSupported(const TInt aRange);
-    
-    /**
-     * Set range
-     *
-     * @since S60 v3.2
-     * @param aRange The given range
-     * @return KErrNone if operation successfully, otherwise KErrNotSupported
-     */
-    IMPORT_C TInt SetRange(const TInt aRange);
-    
-    /**
-     * Get current active range
-     *
-     * @since S60 v3.2
-     * @return Current active range if it is permitted, otherwise KErrNotSupported
-     */
-    IMPORT_C TInt CurrentRange() const;
-    
-    /**
-     * Get range of given mode index
-     *
-     * @since S60 v3.2
-     * @param aModeIndex Index of given mode
-     * @return Range of given mode if mode exist, otherwise KErrNotSupported
-     */
-    IMPORT_C TInt RangeOfGivenMode(TInt aModeIndex) const;
-    
-    /**
-     * Get real case by given mode index
-     *
-     * @since S60 v3.2
-     * @param aModeIndex Index of given mode
-     * @return Real case of given mode index if index valid, otherwise KErrNotFound
-     */
-    IMPORT_C TInt GetRealCaseByMode(TInt aModeIndex) const; 
-    
-    /**
-     * Get range list
-     *
-     * @since S60 v3.2
-     * @param aList Carry the range list on return
-     * @return None
-     */
-    void GetRangeListL(RArray<TInt>& aList);
-
-    /**
-     * Get index of current display mode
-     *
-     * @since S60 v3.2
-     * @return Index of current display mode of button
-     */
-    inline TInt CurrentMode() const;
-
-    /**
-     * Get counts of display modes
-     *
-     * @since S60 v3.2
-     * @return Counts of display modes of button
-     */
-    inline TInt NumberOfModes() const;
-    
-    /**
-     * Set font for text shown in button
-     *
-     * @since S60 v3.2
-     * @param aFont The font to be set for button
-     * @return None
-     */
-    inline void SetFont(const CFont* aFont);
-
-    /**
-     * Set font for text shown in button
-     *
-     * @since S60 v3.2
-     * @param aShadowFont The font to be set for shadow text on button
-     * @return None
-     */
-    inline void SetShadowFont(const CFont* aShadowFont);
-    
-protected:
-        
-    /**
-     * C++ default constructor.
-     */
-    IMPORT_C CAknFepCtrlMultiModeButton(CFepUiLayout* aUiLayout, 
-                                        TInt aControlId,
-                                         TAknsItemID aNormalID = KAknsIIDQsnFrFunctionButtonNormal,
-                                         TAknsItemID aPressedID = KAknsIIDQsnFrFunctionButtonPressed,
-				                         TAknsItemID aInactiveID = KAknsIIDQsnFrFunctionButtonInactive);
-
-    /**
-     * Judge if image resource of button already exist
-     *
-     * @since S60 v3.2
-     * @param aResId The image resource id
-     * @return ETrue if image resource already exist, EFalse otherwise
-     */
-    IMPORT_C TBool ImageAlreadyExist(const TInt32 aResId);
-    
-    /**
-     * Set bitmaps for button according to desired display mode
-     *
-     * @since S60 v3.2
-     * @param aType The image type for button, can be active or nonactive etc.
-     * @param aMode The desired display mode index
-     * @return None
-     */
-    IMPORT_C void SetButtonBmpL(const TButtonBmpType aType , const TInt aMode);
-    
-    /**
-     * Display text for button according to current display mode
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C void DisplayText();
-    
-    /**
-     * Draws UI
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C void Draw();
-    
-    void ResizeBitmaps(TSize aSize);
-    
-private:
-
-    /**
-     * Duplicate bitmap
-     *
-     * @since S60 v3.2
-     * @param aSourceBmp The source bitmap
-     * @return Pointer to created bitmap
-     */
-    CFbsBitmap* DuplicateBitmapL(CFbsBitmap* aSourceBmp);
-
-    /**
-     * Transfer bitmap ownship from multimode button to outside.
-     *
-     * @since S60 v3.2
-     * @param aRemoved The bitmap to be transfered
-     * @return None
-     */
-    void TransferOwnership(CFbsBitmap* aRemoved);
-
-private: // data
-    /**
-     * Array of foreground bitmaps in different modes
-     */
-     RPointerArray<CFbsBitmap> iForegroundBmpList;
-    /**
-     * Array of foreground mask bitmaps in different modes
-     */
-     RPointerArray<CFbsBitmap> iForegroundMaskBmpList;
-    /**
-     * Froground bitmap's position
-     */
-    TRect iForgroundBmpRect;
-     
-    
-    /**
-     * Array of image resource Id list
-     */
-    RArray<TInt32> iImageResIdList;
-    
-    /**
-     * The index of current display mode
-     */
-    TInt iCurrentMode;
-    
-    /**
-     * The counts of display modes of button
-     */
-    TInt iNumberOfModes;
-    
-    /**
-     * Font of text shown in button
-     */
-    const CFont* iFont;
-
-    /**
-     * Font of shadow text shown in button
-     */
-    const CFont* iShadowFont;
-    
-    /**
-     * Font color of text shown in button
-     */
-    TRgb iFontColor;
-
-    /**
-     * Shadow Font color of text shown in button
-     */
-    TRgb iShadowFontColor;
-
-    /**
-     * Array of text shown on button
-     */
-    RPointerArray<HBufC> iModeTextList;
-
-    /**
-     * Array of owned bitmap
-     */
-    //RPointerArray<CFbsBitmap> iOwnedBitmaps;
-    
-    /**
-     * Array of modes
-     */
-    RPointerArray<TAknFepModeIndicator> iModesList; 
-
-    /**
-     * Current bitmap type, active or nonactive
-     */
-    TButtonBmpType iCurrentBmpType;
-    };    
-
-#include "peninputmultimodebutton.inl"
-
-#endif // C_CAKNFEPCTRLMULTIMODEBUTTON_H
-
-// End Of File
--- a/textinput/peninputcommonctrls/inc/peninputbuttons/peninputmultimodebutton.inl	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* 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:  inline file of button
-*
-*/
-
-
-inline TInt CAknFepCtrlMultiModeButton::NumberOfModes() const
-    {
-    return iNumberOfModes;
-    }
-
-inline TInt CAknFepCtrlMultiModeButton::CurrentMode() const
-    {
-    return iCurrentMode;
-    }
-    
-inline void CAknFepCtrlMultiModeButton::SetFont(const CFont* aFont)
-    {
-    iFont = aFont;
-    }
-    
-inline void CAknFepCtrlMultiModeButton::SetShadowFont(const CFont* aShadowFont)
-	{
-	iShadowFont = aShadowFont;
-	}
-
-// End Of File
--- a/textinput/peninputcommonctrls/inc/peninputbuttons/peninputrawkeybutton.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-/*
-* 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 C_CAKNFEPCTRLRAWKEYBUTTON_H
-#define C_CAKNFEPCTRLRAWKEYBUTTON_H
-
-// system includes
-#include <AknsConstants.h>
-#include <peninputlayoutbasecontrol.h>
-#include <peninputlayoutbutton.h>
-#include <peninputcommonbutton.h>
-
-// forward declarations
-class TResourceReader;
-
-class CAknFepCtrlRawKeyButton : public CAknFepCtrlCommonButton
-    {
-public:
-
-    IMPORT_C static CAknFepCtrlRawKeyButton* NewL(CFepUiLayout* aUiLayout, 
-                                                  TInt aControlId,
-                                                  TAknsItemID aNormalID,
-    											  TAknsItemID aPressedID,
-    											  TAknsItemID aInactiveID,
-                                                  TInt aDownEvent = 0xffff,
-                                                  TInt aUpEvent = 0xffff,
-                                                  TInt aScanCode = 0);
-
-    IMPORT_C static CAknFepCtrlRawKeyButton* NewLC(CFepUiLayout* aUiLayout, 
-                                                   TInt aControlId,                                                    
-                                                   TAknsItemID aNormalID,
-    											   TAknsItemID aPressedID,
-    											   TAknsItemID aInactiveID,
-                                                   TInt aDownEvent = 0xffff,
-                                                   TInt aUpEvent = 0xffff,
-                                                   TInt aScanCode = 0);
-
-    IMPORT_C virtual ~CAknFepCtrlRawKeyButton();
-
-    IMPORT_C CFepUiBaseCtrl* HandlePointerDownEventL(const TPoint& aPoint);
-    IMPORT_C CFepUiBaseCtrl* HandlePointerUpEventL(const TPoint& aPoint);
-    IMPORT_C void HandlePointerLeave(const TPoint& aPoint);
-    IMPORT_C void ConstructFromResourceL(TResourceReader& aReader);
-    IMPORT_C void ConstructFromResourceL();
-    IMPORT_C void OnDeActivate();
-    
-    inline void SetDownEvent(TInt aEvent);
-    inline void SetUpEvent(TInt aEvent);
-    inline TInt DownEvent() const;
-    inline TInt UpEvent() const;
-    inline TInt ScanCode() const;
-    inline void SetScanCode(TInt aScanCode);
-    
-protected:
-
-    IMPORT_C CAknFepCtrlRawKeyButton(CFepUiLayout* aUiLayout, 
-                                     TInt aControlId,                         
-                                     TAknsItemID aNormalID,
-									 TAknsItemID aPressedID,
-									 TAknsItemID aInactiveID, 
-                                     TInt aDownEvent,
-                                     TInt aUpEvent,
-                                     TInt aScanCode);
-
-private:
-
-    TInt iDownEvent;
-    TInt iUpEvent;
-    TInt iScanCode;
-    // indicate whether last event is pointer down event
-    TBool iLastPntDownEvent;
-    };  
-
-#include "peninputrawkeybutton.inl"
-#endif // C_CAKNFEPCTRLRAWKEYBUTTON_H
-
-// End Of File
--- a/textinput/peninputcommonctrls/inc/peninputbuttons/peninputrawkeybutton.inl	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* 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:
-*
-*/
-inline TInt CAknFepCtrlRawKeyButton::DownEvent() const
-    {                           
-    return iDownEvent;
-    }
-
-inline TInt CAknFepCtrlRawKeyButton::UpEvent() const
-    {                           
-    return iUpEvent;
-    }
-
-inline TInt CAknFepCtrlRawKeyButton::ScanCode() const
-    {             
-    return iScanCode;                                     
-    }
-
-inline void CAknFepCtrlRawKeyButton::SetDownEvent(TInt aEvent)
-    {               
-    iDownEvent = aEvent;
-    }
-
-inline void CAknFepCtrlRawKeyButton::SetUpEvent(TInt aEvent)
-    {               
-    iUpEvent = aEvent;
-    }
-
-inline void CAknFepCtrlRawKeyButton::SetScanCode(TInt aScanCode)
-    {                                                
-    iScanCode = aScanCode;  
-    }
-
-// End Of File
--- a/textinput/peninputcommonctrls/inc/peninputbuttons/peninputrepeatbutton.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,198 +0,0 @@
-/*
-* 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:  Interface of normal button and multidisplay button
-*
-*/
-
-
-#ifndef C_CAKNFEPCTRLREPEATBUTTON_H
-#define C_CAKNFEPCTRLREPEATBUTTON_H
-
-// system includes
-#include <peninputlayoutbasecontrol.h>
-#include <peninputlayoutbutton.h>
-#include <peninputpluginutils.h>
-#include <peninputeventbutton.h>
-
-// forward declarations
-class TResourceReader;
-
-/**
- *  CAknFepCtrlRepeatButton
- *
- *  @lib fepcommonctrls.lib
- *  @since S60 v3.2
- */
-class CAknFepCtrlRepeatButton: public CAknFepCtrlEventButton, public MAknFepTimerHandler
-{
-public:
-    
-    /**
-     * Symbian constructor.
-     *
-     * @since S60 v3.2
-     * @param aUiLayout The layout
-     * @param aControlId The control id
-     * @param aEvent An event to be repeatedly sent
-     * @param aUnicode A Unicode value to be repeatedly sent
-     * @return Pointer to created CAknFepCtrlRepeatButton object
-     */
-    IMPORT_C static CAknFepCtrlRepeatButton* NewL(CFepUiLayout* aUiLayout, 
-                                                  TInt aControlId, 
-                                                  TInt aEvent = 0xFFFF,
-                                                  TInt aUnicode = 0,
-											      TAknsItemID aNormalID = KAknsIIDQsnFrFunctionButtonNormal,
-			    								  TAknsItemID aPressedID = KAknsIIDQsnFrFunctionButtonPressed,
-			    								  TAknsItemID aInactiveID = KAknsIIDQsnFrFunctionButtonInactive);
-
-    /**
-     * Symbian constructor.
-     *
-     * @since S60 v3.2
-     * @param aUiLayout The layout
-     * @param aControlId The control id
-     * @param aEvent An event to be repeatedly sent
-     * @param aUnicode A Unicode value to be repeatedly sent
-     * @return Pointer to created CAknFepCtrlRepeatButton object
-     */
-    IMPORT_C static CAknFepCtrlRepeatButton* NewLC(CFepUiLayout* aUiLayout, 
-                                                   TInt aControlId, 
-                                                   TInt aEvent = 0xFFFF,
-                                                   TInt aUnicode = 0,
-											      TAknsItemID aNormalID = KAknsIIDQsnFrFunctionButtonNormal,
-			    								  TAknsItemID aPressedID = KAknsIIDQsnFrFunctionButtonPressed,
-			    								  TAknsItemID aInactiveID = KAknsIIDQsnFrFunctionButtonInactive);
-    /**
-     * destructor.
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C virtual ~CAknFepCtrlRepeatButton();
-
-    /**
-     * Set the repeat interval.
-     *
-     * @since S60 v3.2
-     * @param aTime Interval in ms.
-     * @return None
-     */
-    IMPORT_C void SetRepeatInterval(const TTimeIntervalMicroSeconds32& aTime);
-
-    /**
-     * Cancel key sending
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C void CancelRepeat();
-
-// from base class MAknFepHwrTimerHandler
-    
-    /**
-     * from MAknFepHwrTimerHandler
-     * HandleTimerOut. Handling time out event
-     *
-     * @since S60 v3.2
-     * @param aTimer The timer which sending the request
-     * @return None
-     */                
-    IMPORT_C void HandleTimerOut(const CAknFepTimer* aTimer);
-
-protected:
-    
-    /**
-     * C++ constructor.
-     *
-     * @since S60 v3.2
-     * @param aUiLayout Ui Layout who contains this control
-     * @param aCtrlId Control Id
-     * @param aEvent An event to be repeatedly sent
-     * @param aUnicode A Unicode value to be repeatedly sent     
-     * @return None 
-     */
-    IMPORT_C CAknFepCtrlRepeatButton(CFepUiLayout* aUiLayout, 
-                                     TInt aCtrlId,
-                                     TInt aEvent,
-                                     TInt aUnicode,
-											      TAknsItemID aNormalID = KAknsIIDQsnFrFunctionButtonNormal,
-			    								  TAknsItemID aPressedID = KAknsIIDQsnFrFunctionButtonPressed,
-			    								  TAknsItemID aInactiveID = KAknsIIDQsnFrFunctionButtonInactive);
-
-// from base class CButtonBase
-
-    /**
-     * From CButtonBase
-     * Handle button down event. start long press timer        
-     *
-     * @since S60 v3.2
-     * @param aPt Point position
-     * @return The control who handles the event
-     */                
-    IMPORT_C CFepUiBaseCtrl* HandlePointerDownEventL(const TPoint& aPt);
-    
-    /**
-     * From CButtonBase
-     * Handle button up event. cancel all timers
-     *
-     * @since S60 v3.2
-     * @param aPt Point position
-     * @return The control who handles the event
-     */                
-    IMPORT_C CFepUiBaseCtrl* HandlePointerUpEventL(const TPoint& aPt);
-    
-    /**
-     * From CButtonBase
-     * Handle pointer levae event. 
-     *
-     * @since S60 v3.2
-     * @param aPoint current pointer position
-     * @return Nothing
-     */
-    IMPORT_C void HandlePointerLeave(const TPoint& aPoint);
-
-    IMPORT_C void CancelPointerDownL();
-    
-    /**
-     * Symbian 2nd phase constructor.
-     */
-    IMPORT_C void ConstructL();  
-    
-private:
-
-    /**
-     * interval of long press
-     */
-    TTimeIntervalMicroSeconds32 iLongPressInterval;
-
-    /**
-     * interval of repeat 
-     */
-    TTimeIntervalMicroSeconds32 iRepeatInterval;
-
-    /**
-     * long press timer (Own)
-     */
-    CAknFepTimer* iLongPressTimer;
-
-    /**
-     * repeat timer (Own)
-     */
-    CAknFepTimer* iRepeatTimer;
-    
-};
-
-#endif // C_CAKNFEPCTRLREPEATBUTTON_H
-
-// End Of File
--- a/textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputbitmapdb.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,232 +0,0 @@
-/*
-* 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:  bitmap db manager,which is used by drop down list
-*
-*/
-
-
-#ifndef C_BITMAPDB_H
-#define C_BITMAPDB_H
-
-#include <e32base.h>
-#include <w32std.h>
-#include <barsread.h>
-#include <AknsUtils.h>
-
-/**
- *  Bitmap db manager
- *
- *  Bitmap db manager used by drop down list
- *
- *  @lib FepCtrlDropdownList.lib
- *  @since S60 v3.2
- */    
-NONSHARABLE_CLASS(CBitmapDb) : public CBase
-    {
-
-public:
-    /**
-     *  bitmap type
-     *
-     *  defines the types from bitmap database used by drop down list. 
-     *
-     *  @lib FepCtrlDropdownList.lib
-     *  @since S60 v3.2
-     */
-    enum TBitmapType
-        {
-        EBitmapListBg,
-        
-        EBitmapListBgMask,
-        
-        // the primary background bitmap
-        EBitmapPrimary,
-        
-        // the primary Mask background bitmap
-        EBitmapPrimaryMask,
-
-        // the secondary background bitmap
-        EBitmapSecondary,
-
-        // the secondary Mask background bitmap
-        EBitmapSecondaryMask,
-
-        // the highlight cell background bitmap
-        EBitmapHighlight,        
-        
-        // the highlight cell Mask background bitmap
-        EBitmapHighlightMask,        
-
-        // the pen down cell background bitmap
-        EBitmapPenDown,        
-        
-        // the pen down cell Mask background bitmap
-        EBitmapPenDownMask,         
-        
-        // disable bitmap for page down button
-        EBitmapNextDisable,
-        
-        // disable mask bitmap for page down button
-        EBitmapNextDisableMask,
-
-        // bitmap for page down button
-        EBitmapNext,
-
-        // mask bitmap for page down button
-        EBitmapNextMask,
-
-        // pressed bitmap for page down button
-        EBitmapNextPress,
-
-        // pressed mask bitmap for page down button
-        EBitmapNextPressMask,
-
-        // bitmap for page close button
-        EBitmapClose,
-
-        // mask bitmap for page close button
-        EBitmapCloseMask,
-
-        // pressed bitmap for page close button
-        EBitmapClosePress,
-
-        // pressed mask bitmap for page close button
-        EBitmapClosePressMask,
-
-        // bitmap for page up button
-        EBitmapPrevious,
-
-        // mask bitmap for page up button
-        EBitmapPreviousMask,
-
-        // pressed bitmap for page up button
-        EBitmapPreviousPress,
-
-        // pressed mask bitmap for page up button
-        EBitmapPreviousPressMask,
-        EBitmapExpand,
-        
-        EBitmapExpandMask,
-        
-        EBitmapExpandPress,
-        
-        EBitmapExpandPressMask,
-        
-        EBitmapLastType = EBitmapExpandPressMask
-        };    
-
-public:  // Method
-
-    /**
-     * Create a object of CBitmapDb, static method
-     *
-     * @since S60 v3.2
-     * @param aReader resource reader which provide the bitmap(mask) id
-     * @param aBitmapSize the size needed to set for the bitmap
-     * @return CBitmapDb pointer.
-     */
-     static CBitmapDb* NewL(TResourceReader& aReader, 
-                            TSize aBitmapSize,
-                            TSize aExpandSize,
-                            TSize aSpinBtnSize);
-
-    /**
-     * Destructor
-     *
-     * @since S60 v3.2
-     */  
-    virtual ~CBitmapDb();
-    
-    /**
-     * Get bitmap from the database
-     *
-     * @since S60 v3.2
-     * @param aType bitmap type
-     * @return the destination bitmap, Null if can't find
-     */    
-    const CFbsBitmap* GetBitMap(const TBitmapType aType);
-    
-    void ConstructFromResourceL(TResourceReader& aReader, 
-                                TSize aBitmapSize,
-                                TSize aExpandSize,
-                                TSize aSpinBtnSize);
-
-    /**
-     * Get text color of drop down list
-     *
-     * @since S60 v3.2
-     * @return Text color of drop down list
-     */    
-    const TRgb TextColor();
-
-    /**
-     * Get frame color of drop down list
-     *
-     * @since S60 v3.2
-     * @return Frame color of drop down list
-     */    
-    const TRgb FrameColor();
-    
-    static void CreateDimmedMaskL( CFbsBitmap*& aDimmedMask,
-                                        		 const CFbsBitmap* aMask
-                                        		 /*TScaleMode aScaleMode*/ );
-                                        		 
-	void SizeChanged(TSize aSize);
-private: // Data
-
-    /**
-     * 2nd construct method
-     *
-     * @since S60 v3.2
-     * @param aReader resource reader which provide the bitmap(mask) id
-     * @param aBitmapSize the size needed to set for the bitmap
-     * @return None
-     */    
-    void ConstructL(TResourceReader& aReader, 
-                    TSize aBitmapSize,
-                    TSize aExpandSize,
-                    TSize aSpinBtnSize);
-
-    // txin
-    void CreateIconL(const TDesC& aBmpFileName,
-                     TAknsItemID aId,
-                     CFbsBitmap** aBmp,
-                     CFbsBitmap** aMaskBmp,
-                     TInt aBmpId,
-                     TInt aMaskBmpId,
-                     TSize aSize,
-                     TBool aColorIcon);
-    // end
-    
-private: // Data
-
-    /**
-     * the bitmap array
-     */    
-    RPointerArray<CFbsBitmap> iBmpList;
-    
-    /**
-     * the text color of drop down list
-     */    
-    TRgb iTextColor;
-    
-    /**
-     * the frame color of drop down list
-     */    
-    TRgb iFrameColor;
-    };
-
-#endif // C_BITMAPDB_H
-
-// End Of File
--- a/textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputcandidate.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,172 +0,0 @@
-/*
-* 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:  candidate stands for every cell in drop down list
-*
-*/
-
-
-#ifndef C_CANDIDATE_H
-#define C_CANDIDATE_H
-
-#include <e32base.h>
-#include <w32std.h>
-
-// class forward decalaration
-class CFont;
-class MFepCtrlDropdownListContext;
-
-/**
- *  The following class packs the info and operation of every cell
- *
- *  the class encapsulates all properties and methods of the cell which
- *  is the basic unit the drop down list
- *
- *  @lib FepCtrlDropdownList.lib
- *  @since S60 v3.2
- */
-NONSHARABLE_CLASS(CCandidate) : public CBase
-    {
-
-public:  
-
-    static CCandidate* NewL(const TDesC& aString,
-                            MFepCtrlDropdownListContext* aOwner);
-
-    /**
-     * Destructor
-     *
-     * @since S60 v3.2
-     */        
-    virtual ~CCandidate();        
-
-    /**
-     * Get Candidate
-     *
-     * @since S60 v3.2
-     * @param aString Candidate string
-     * @return Candidate string
-     */        
-    const TDesC& GetCandidate();        
-
-    /**
-     * Get rectangle of the candidate
-     *
-     * @since S60 v3.2
-     * @return Rectangle occupied by candidate string.
-     */      
-    const TRect& GetRect() const;
-
-
-    /**
-     * Move rectangle of the candidate
-     *
-     * @since S60 v3.2
-     * @return None.
-     */      
-    void Move(const TPoint& aOffsetPoint);
-    
-    /**
-     * Set position of the candidate rectangle
-     *
-     * @since S60 v3.2
-     * @param aLeftTopPosition the left top point
-     * @param aWidthForOneUnit the width of one cell
-     * @param aHeight the height of one cell
-     * @param aTextFont the font which will be used for draw text
-     * @return the columns the cell occupies.
-     */     
-    TInt SetPositionL(const TPoint& aLeftTopPosition, 
-                      TInt aWidthForOneUnit, 
-                      TInt aHeight, 
-                      const CFont* aTextFont,
-                      TInt aCellHorizontalMargin);
-
-    /**
-     * draw the text for the candidate
-     *
-     * @since S60 v3.2
-     * @param aGc graphics context
-     * @param aAlignment the alighment style, can be any of ECenter, ELeft, ERight
-     * @param aTextColor the color for the text
-     * @param aSpecialTextColor the color for special text
-     * @param aFixedText the fixed text, it has default value of KNullDesC16
-     * @return the columns the cell occupies.
-     */       
-    virtual void DrawText(CFbsBitGc& aGc, 
-                          const CGraphicsContext::TTextAlign aAlignment, 
-                          const TInt aTextMargin, 
-                          TRgb aTextColor, 
-                          TRgb aSpecialTextColor, 
-                          const TDesC& aFixedText = KNullDesC16);
-    
-    TInt CalculateDisplayTextL(const TInt aWidthForOneUnit, 
-                               const CFont* aTextFont,
-                               TInt aColNum);     
-private: // Method     
-    /**
-     * Constructor
-     *
-     * @since S60 v3.2
-     * @param aString Candidate string
-     */        
-    CCandidate(const TDesC& aString, MFepCtrlDropdownListContext* aOwner);
-    void ConstructL();
-    /**
-     * draw the text for the candidate
-     *
-     * @since S60 v3.2
-     * @param aWidthForOneUnit the width of one cell
-     * @param aTextFont the font which will be used for drawing the text
-     * @return the columns the cell occupies.
-     */ 
-    TInt CalculateCells(const TInt aWidthForOneUnit, 
-                        const CFont* aTextFont,
-                        const TDesC& aText);
-
-//    TInt CalculateDisplayTextL(const TInt aWidthForOneUnit, 
-//                               const CFont* aTextFont,
-//                               TInt aColNum);
-
-private: // Data
-
-    /**
-     * the candidate text
-     */
-    const TDesC& iCandidate;
-    // used when candidate may be truncated
-    HBufC* iDisplayText;
-
-    /**
-     * the baseline offset used for drawing the text
-     */    
-    TInt iBaselineOffset;             
-
-    /**
-     * the rectangle of the candidate
-     */    
-    TRect iRect; 
-    
-    /**
-     * the font which will be used for drawing the text
-     * Not own.
-     */
-    const CFont* iTextFont;
-    
-    // not own
-    MFepCtrlDropdownListContext* iOwner;
-    };
-
-#endif // C_CANDIDATE_H
-
-// End Of File
--- a/textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputdropdownlist.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1418 +0,0 @@
-/*
-* 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:  drop-down list control
-*
-*/
-
-
-#ifndef C_CFEPCTRLDROPDOWNLIST_H
-#define C_CFEPCTRLDROPDOWNLIST_H
-
-// INCLUDES
-#include <e32std.h>
-#include <w32std.h>
-#include <barsread.h>
-#include <peninputdropdownlistcontext.h>
-#include <peninputlayoutbasecontrol.h>
-#include <AknsUtils.h>
-
-
-/** class forward decalaration */
-class CCandidate;
-class CPages;
-class CBitmapDb;
-class CListManager;
-class MEventObserver;
-class CBubbleCtrl;
-class TAknTextLineLayout;
-
-/** The max length for fixed text */
-const TInt KMaxFixedTextNumber = 32;
-const TInt KDropDownListCtrlType = EUserCtrlBase | ECtrlBaseCtrl;
-
-/**
- *  The interface dealing with outer event from any control except the list
- *
- *  The interface dealing with outer event from any control except the list
- *
- *  @lib FepCtrlDropdownList.lib
- *  @since S60 v3.2
- */
-class MListEventHandler
-    {
-    
-public:
-
-    /**
-     * The method will be called when there is event from any control except from the list
-     *
-     * @since S60 v3.2
-     * @param aEventType The event type
-     * @param aCtrl The control who sends out the event
-     * @param aEventData The data relative with the event
-     */    
-    virtual void HandleListOuterEvent(TInt aEventType, CFepUiBaseCtrl* aCtrl, 
-                                      const TDesC& aEventData);  
-    
-    };
-
-/**
- *  The drop-down list control
- *
- *  The drop-down list control
- *
- *  @lib FepCtrlDropdownList.lib
- *  @since S60 v3.2
- */
-class CFepCtrlDropdownList : public CFepUiBaseCtrl,  
-                             public MFepCtrlDropdownListContext,
-                             public MEventObserver
-    { 
-
-public: // internal type definition
-    /**
-     *  The type of list, expandable or no-expandable
-     *
-     *  The type of list, expandable or no-expandable
-     *
-     *  @lib FepCtrlDropdownList.lib
-     *  @since S60 v3.2
-     */ 
-    enum TListType
-        {
-        EListExpandable,
-        EListExpandableWithBubble,
-        EListNoExpandable,
-        EListNoExpandableWithBubble,
-        EListExpandableWithoutIcon,
-        EListExpandableRollWithIcon,
-		EListExpandableRollWithIconWithBubble,
-        EListExpandableMultiRowWithoutIcon      
-        };
-
-    enum TCandTruncateType
-        {
-        // beginning part of candidate are hide
-        ECandTruncateFromBeginning,
-        // end part of candidate are shown as ellipsis
-        ECandTruncateAsEllipsis,
-        // end part of candidate are hide
-        ECandTruncateFromEnd
-        };
-
-    enum TExpandType
-        {
-        ECandExpandUpward,
-        ECandExpandDownward
-        };
-
-    // horizontal direction of candidate list: shrink and expanded
-    enum THDirection
-        {
-        ECandFromLToR,
-        ECandFromRToL
-        };
-
-public: //Method
-
-    /**
-     * Destructor
-     *
-     * @since S60 v3.2
-     * @return None.
-     */ 
-    IMPORT_C virtual ~CFepCtrlDropdownList();
-
-    /**
-     * Create one CFepCtrlDropdownList object
-     *
-     * @since S60 v3.2
-     * @param aTopLeftPoint The top left point of the drop down list
-     * @param aUiLayout The layout plugin
-     * @param aControlId This control ID
-     * @param aReader The reader from which the bitmaps ID can be read
-     * @param aCellWidth The width of one basic cell
-     * @param aCellHeight The height of one basic cell
-     * @param aNaviWidth The width of navidation
-     * @param aColNum The number of columns in one row
-     * @param aRowNum The number of rows
-     * @param aFont The font used to draw the text
-     * @param aHandler The handle which will deal with outer event to this control
-     * @param aAlignment The alighment used to draw text
-     * @param aTextMargin if alignment is not ECenter, the margin is used      
-     * @param aBorderColor The color of border
-     * @param aBgColor The color of background
-     * @param aNavigationBgColor The background color of navigation area
-     * @param aTextColor The color of text
-     * @param aSpecialTextColor The color of special text
-     * @param aHighLightTextColor The color of highlight text
-     * @param aHighLightBgColor The background color of high light
-     * @param aButtonDownBgColor The background color when button pressing
-     * @return The CFepCtrlDropdownList object.
-     */        
-    IMPORT_C static CFepCtrlDropdownList* NewL(const TPoint& aTopLeftPoint,
-                                                CFepUiLayout* aUiLayout,
-                                                TInt aControlId,
-                                                TResourceReader& aReader,
-                                                const TInt aCellWidth,
-                                                const TInt aCellHeight,
-                                                const TInt aNaviWidth,
-                                                const TInt aColNum,
-                                                const TInt aRowNum,
-                                                const CFont* aFont = NULL,
-                                                MListEventHandler* aHandler = NULL,
-                                                const CGraphicsContext::TTextAlign aAlignment = CGraphicsContext::ECenter,
-                                                const TInt aTextMargin = 3,
-                                                const TRgb aBorderColor = KRgbBlack,
-                                                const TRgb aBgColor = TRgb(0xeeeeee),
-                                                const TRgb aNavigationBgColor = TRgb(0xeeeeee), 
-                                                const TRgb aTextColor = KRgbBlack,
-                                                const TRgb aSpecialTextColor = KRgbBlack,
-                                                const TRgb aHighLightTextColor = KRgbBlack,
-                                                const TRgb aHighLightBgColor = TRgb(0xcccccc),
-                                                const TRgb aButtonDownBgColor = KRgbGray);
-    IMPORT_C static CFepCtrlDropdownList* NewL(CFepUiLayout* aUiLayout,
-                                               TInt aControlId,
-                                               TInt aResId,
-                                               TPoint aTopLeftPoint,
-                                               TSize aCellSize,
-                                               TInt aColNum,
-                                               TInt aRowNum);
-
-    IMPORT_C static CFepCtrlDropdownList* NewL(CFepUiLayout* aUiLayout,
-                                               TInt aControlId,
-                                               TInt aResId,
-                                               TPoint aTopLeftPoint,
-                                               const CFont* aFont,
-                                               TSize aCellSize,
-                                               TInt aNaviWidth,
-                                               TInt aColNum,
-                                               TInt aRowNum,
-                                               TInt aSpinBtnHeight,
-                                               TInt aHorizontalCellMargin = 0,
-                                               TInt aVerticalCellMargin = 0,
-                                               THDirection aDirection = ECandFromLToR,
-                                               TBool aPageShown = ETrue);
-
-    /**
-     * Create one CFepCtrlDropdownList object, need to pop up yourself
-     *
-     * @since S60 v3.2
-     * @param aTopLeftPoint The top left point of the drop down list
-     * @param aUiLayout The layout plugin
-     * @param aControlId This control ID
-     * @param aReader The reader from which the bitmaps ID can be read
-     * @param aCellWidth The width of one basic cell
-     * @param aCellHeight The height of one basic cell
-     * @param aNaviWidth The width of navidation
-     * @param aColNum The number of columns in one row
-     * @param aRowNum The number of rows
-     * @param aFont The font used to draw the text
-     * @param aHandler The handle which will deal with outer event to this control
-     * @param aAlignment The alighment used to draw text
-     * @param aTextMargin if alignment is not ECenter, the margin is used      
-     * @param aBorderColor The color of border
-     * @param aBgColor The color of background
-     * @param aNavigationBgColor The background color of navigation area
-     * @param aTextColor The color of text
-     * @param aSpecialTextColor The color of special text
-     * @param aHighLightTextColor The color of highlight text
-     * @param aHighLightBgColor The background color of high light
-     * @param aButtonDownBgColor The background color when button pressing
-     * @return The CFepCtrlDropdownList object.
-     */        
-    IMPORT_C static CFepCtrlDropdownList* NewLC(const TPoint& aTopLeftPoint,
-                                                CFepUiLayout* aUiLayout,
-                                                TInt aControlId,
-                                                TResourceReader& aReader,
-                                                const TInt aCellWidth,
-                                                const TInt aCellHeight,
-                                                const TInt aNaviWidth,
-                                                const TInt aColNum,
-                                                const TInt aRowNum,
-                                                const CFont* aFont = NULL,
-                                                MListEventHandler* aHandler = NULL,
-                                                const CGraphicsContext::TTextAlign aAlignment = CGraphicsContext::ECenter,
-                                                const TInt aTextMargin = 3,
-                                                const TRgb aBorderColor = KRgbBlack,
-                                                const TRgb aBgColor = TRgb(0xeeeeee),
-                                                const TRgb aNavigationBgColor = TRgb(0xeeeeee), 
-                                                const TRgb aTextColor = KRgbBlack,
-                                                const TRgb aSpecialTextColor = KRgbBlack,
-                                                const TRgb aHighLightTextColor = KRgbBlack,
-                                                const TRgb aHighLightBgColor = TRgb(0xcccccc),
-                                                const TRgb aButtonDownBgColor = KRgbGray);
-
-    /**
-     * Size change function
-     *
-     * @since S60 v3.2
-     * @param aCellWidth The width of one basic cell
-     * @param aCellHeight The height of one basic cell
-     * @param aNaviWidth The width of navidation
-     * @param aTopLeftPoint The top left point of the drop down list
-     * @param aColNum The number of columns in one row
-     * @param aRowNum The number of rows
-     * @return None.
-     */                                                   
-    IMPORT_C void SizeChanged(const TInt aCellWidth, const TInt aCellHeight, 
-                               const TInt aNaviWidth, const TPoint aTopLeftPoint = TPoint(0,0),
-                               const TInt aColNum = 0, const TInt aRowNum = 0);
-    
-    /**
-     * Set top left point of the list
-     *
-     * @since S60 v3.2
-     * @param aTopLeftPoint The top left point of the drop down list
-     * @return None.
-     */                                                   
-    IMPORT_C void SetTopLeftPoint(const TPoint aTopLeftPoint);
-    
-    /**
-     * Set the width of one basic cell
-     *
-     * @since S60 v3.2
-     * @param aCellWidth The width of one basic cell
-     * @return None.
-     */                                                   
-    IMPORT_C void SetCellWidth(const TInt aCellWidth);
-
-    /**
-     * Set the height of one basic cell
-     *
-     * @since S60 v3.2
-     * @param aCellHeight The height of one basic cell
-     * @return None.
-     */                                                   
-    IMPORT_C void SetCellHeight(const TInt aCellHeight);
-
-    /**
-     * Set width of navigation 
-     *
-     * @since S60 v3.2
-     * @param aNaviWidth The width of navidation
-     * @return None.
-     */                                                   
-    IMPORT_C void SetNaviWidth(const TInt aNaviWidth);
-    IMPORT_C void SetSpinBtnHeight(const TInt aHeight);
-    IMPORT_C void SetCellMargin(const TInt aHorizontalMargin, const TInt aVerticalMargin);
-   
-    /**
-     * Set column numbers
-     *
-     * @since S60 v3.2
-     * @param aColNum The number of columns in one row
-     * @return None.
-     */                                                   
-    IMPORT_C void SetColNum(const TInt aColNum);
-    
-    /**
-     * Set or unset highlight for cells.
-     *
-     * @since S60 v3.2
-     * @param aCellIndex Which cell would be set
-     * @param aHighlight The flag of highlight, set highlight if ETrue, otherwise cancel highlight
-     * @return None.
-     */  
-    IMPORT_C void SetHighlightCell(const TInt aCellIndex, TBool aHighlight = ETrue,
-                                   const TBool aIsDraw = ETrue );
-
-    
-    /**
-     * Set row numbers
-     *
-     * @since S60 v3.2
-     * @param aRowNum The number of rows
-     * @return None.
-     */                                                  
-    IMPORT_C void SetRowNum(const TInt aRowNum);
-    
-    /**
-     * Set border color
-     *
-     * @since S60 v3.2
-     * @param aBorderColor The border color
-     * @param aReDraw Redraw if ETrue, otherwise not redraw
-     * @return None.
-     */                                                   
-    IMPORT_C void SetBorderColor(TRgb aBorderColor, TBool aReDraw = EFalse);
-
-    /**
-     * Set background color for the whole area
-     *
-     * @since S60 v3.2
-     * @param aBgColor The background color
-     * @param aReDraw Redraw if ETrue, otherwise not redraw
-     * @return None.
-     */                                                   
-    IMPORT_C void SetBgColor(TRgb aBgColor, TBool aReDraw = EFalse);
-
-    /**
-     * Set background for navigation area
-     *
-     * @since S60 v3.2
-     * @param aNavigationBgColor The background color of navigation area
-     * @param aReDraw Redraw if ETrue, otherwise not redraw
-     * @return None.
-     */                                                   
-    IMPORT_C void SetNavigationBgColor(TRgb aNavigationBgColor, TBool aReDraw = EFalse);
-
-    /**
-     * Set text color
-     *
-     * @since S60 v3.2
-     * @param aTextColor The color used to draw text
-     * @param aReDraw Redraw if ETrue, otherwise not redraw
-     * @return None.
-     */                                                   
-    IMPORT_C void SetTextColor(TRgb aTextColor, TBool aReDraw = EFalse);
-
-    /**
-     * Set color for special text
-     *
-     * @since S60 v3.2
-     * @param aSpecialTextColor The color used to draw special text
-     * @param aReDraw Redraw if ETrue, otherwise not redraw
-     * @return None.
-     */                                                   
-    IMPORT_C void SetSpecialTextColor(TRgb aSpecialTextColor, TBool aReDraw = EFalse);
-
-    /**
-     * Set color for high light text
-     *
-     * @since S60 v3.2
-     * @param aHighLightTextColor The color used to draw high light text
-     * @param aReDraw Redraw if ETrue, otherwise not redraw
-     * @return None.
-     */                                                   
-    IMPORT_C void SetHighLightTextColor(TRgb aHighLightTextColor, TBool aReDraw = EFalse);
-
-    /**
-     * Set background color for highlight
-     *
-     * @since S60 v3.2
-     * @param aHighLightBgColor The background color of high light area
-     * @param aReDraw Redraw if ETrue, otherwise not redraw
-     * @return None.
-     */                                                   
-    IMPORT_C void SetHighLightBgColor(TRgb aHighLightBgColor, TBool aReDraw = EFalse);
-   
-    /**
-     * The method will be called when there is event from any control except from the list
-     *
-     * @since S60 v3.2
-     * @param aFont The font used to draw text
-     * @param aReDraw Redraw if ETrue, otherwise not redraw
-     * @return None.
-     */                                                   
-    IMPORT_C void SetFont(const CFont* aFont, TBool aReDraw = EFalse);
-
-    /**
-     * Set text alignment
-     *
-     * @since S60 v3.2
-     * @param aAlignment The alignment used to draw text
-     * @param aReDraw Redraw if ETrue, otherwise not redraw
-     * @return None.
-     */                                                   
-    IMPORT_C void SetTextAlighment(const CGraphicsContext::TTextAlign aAlignment, 
-                                   TBool aReDraw = EFalse);
-
-    /**
-     * Set text margin if alignment is not ECenter
-     *
-     * @since S60 v3.2
-     * @param aTextMargin the margin used to draw text
-     * @param aReDraw Redraw if ETrue, otherwise not redraw
-     * @return None.
-     */                                                   
-    IMPORT_C void SetTextMargin(const TInt aTextMargin, TBool aReDraw = EFalse);
-    
-    /**
-     * set secondary list
-     *
-     * @since S60 v3.2
-     * @param aIndex the cell index need to set new color
-     * @param aBgColor The background color
-     * @param aReDraw Redraw if ETrue, otherwise not redraw
-     * @return None.
-     */                                                   
-    IMPORT_C void SetSecondaryList(RArray<TInt>& aIndexList, TBool aReDraw = EFalse);
-    
-    /**
-     * Set event handler when there is out event coming
-     *
-     * @since S60 v3.2
-     * @param aHandler The event handler, which has implemented the interface of MListEventHandler
-     * @return None.
-     */                                                   
-    IMPORT_C void SetListEventHandler(MListEventHandler* aHandler);
-
-    /**
-     * Set event id when candidate is selected
-     *
-     * @since S60 v3.2
-     * @param aEventId The event id when candidate is selected
-     * @return The CListMultiRowWithIcon pointer.
-     */                                                   
-    IMPORT_C void SetEventIdForCandidateSelected(TInt aEventId);
-    
-    /**
-     * Set event id when need to get next page candidate
-     *
-     * @since S60 v3.2
-     * @param aEventId The event id need next page candidate
-     * @return None
-     */
-    IMPORT_C void SetEventIdForNextPageCandidate(TInt aEventId);
-    
-    /**
-     * Set event id when need to get previous page candidate
-     *
-     * @since S60 v3.2
-     * @param aEventId The event id need previous page candidate
-     * @return None
-     */
-    IMPORT_C void SetEventIdForPreviousPageCandidate(TInt aEventId);
-    
-    /**
-     * Set event id when need to judge if candidate exist
-     *
-     * @since S60 v3.2
-     * @param aEventId The event id judge if candidate exist
-     * @return None
-     */
-    IMPORT_C void SetEventIdForCandidateExisted(TInt aEventId);
-    
-    /**
-     * Set candidates for the list
-     *
-     * @since S60 v3.2
-     * @param aCandidates the candidates array
-     * @param aListType The list type used when redraw
-     * @param aFixedText The fixed text(only used in English)
-     * @return None.
-     */                                                   
-    IMPORT_C void SetCandidatesL(const RPointerArray<HBufC>& aCandidates, 
-                                 const TListType aListType  = EListExpandable,
-                                 const TDesC& aFixedText = KNullDesC16);
-
-    IMPORT_C void SetCandTruncateType(
-                                const TCandTruncateType aTruncateType = ECandTruncateFromEnd);
-                                 
-    /**
-     * Add candidates for the list
-     *
-     * @since S60 v3.2
-     * @param aCandidates the candidates array
-     * @param aListType The list type used when redraw
-     * @return None.
-     */
-    IMPORT_C void AddCandidatesL(const RPointerArray<HBufC>& aCandidates,
-                                 const TListType aListType  = EListExpandable);
-
-    /**
-     * Reset and clear all candidates in the list and redraw the list
-     *
-     * @since S60 v3.2
-     * @param aListType The list type used when redraw
-     * @return None.
-     */                                              
-    IMPORT_C void ResetAndClear(const TListType aListType = EListNoExpandable);
-
-
-    /**
-     * Fold the expanding list
-     *
-     * @since S60 v3.2
-     * @return None.
-     */                                                   
-    IMPORT_C void FoldList();
-
-// from base class CFepUiBaseCtrl  
-
-    /**
-     * Draw the list
-     *
-     * @since S60 v3.2
-     * @return None
-     */                         
-    IMPORT_C void Draw();                                
-
-    /**
-     * Active the control
-     *
-     * @since S60 v3.2
-     * @return None
-     */                         
-    IMPORT_C void SetActive(TBool aActiveFlag);
-    
-    /**
-     * Get rect of the drop down list
-     *
-     * @since S60 v3.2
-     * @return The rect of the drop down list
-     */  
-    IMPORT_C const TRect& Rect();
-
-    /**
-     * Handle pointer down event
-     *
-     * @since S60 v3.2
-     * @param aPoint The point position relative the layout
-     */                                        
-    IMPORT_C CFepUiBaseCtrl* HandlePointerDownEventL(const TPoint& aPoint);
-    
-    /**
-     * Handle pointer move event
-     *
-     * @since S60 v3.2
-     * @param aPoint The point position relative the layout
-     */                  
-    IMPORT_C CFepUiBaseCtrl* HandlePointerMoveEventL(const TPoint& aPoint);
-    
-    /**
-     * Handle pointer up event
-     *
-     * @since S60 v3.2
-     * @param aPoint The point position relative the layout
-     */                  
-    IMPORT_C CFepUiBaseCtrl* HandlePointerUpEventL(const TPoint& aPoint);
-
-    /**
-     * Handle pointer leave event
-     *
-     * @since S60 v3.2
-     * @param aPoint The point position relative the layout
-     */                  
-    IMPORT_C void HandlePointerLeave(const TPoint& aPoint);
-
-// from interface MEventObserver  
-
-    /**
-     * Handle event 
-     * @since Series 60 3.1
-     * @param aEventType The event type
-     * @param aCtrl The control who sends the event
-     * @param aEventData The event data
-     * @return None
-     */  
-    IMPORT_C void HandleControlEvent(TInt aEventType, CFepUiBaseCtrl* aCtrl, 
-                                     const TDesC& aEventData);
-
-// from base class CFepUiBaseCtrl   
-   
-    /**
-     * Move the drop down list
-     * @since Series 60 3.1
-     * @param aOffset The offset point
-     * @return None
-     */     
-    IMPORT_C void Move(const TPoint& aOffset);
-
-    /**
-     * Hide the control
-     * @since Series 60 3.1
-     * @return None
-     */     
-    IMPORT_C void OnDeActivate();  
-
-    /**
-     * Hide or show dropdown list.
-     *     
-     * @param aFlag ETrue if want to hide the control.
-     */                                               
-    IMPORT_C void Hide( TBool aFlag );      
-    
-// from interface MContext
-
-    /**
-     * Get the candidate count
-     *
-     * @since S60 v3.2
-     * @return the candidate count.
-     */                                                   
-    IMPORT_C TInt CandidateCount() const;
-
-    /**
-     * Enable multi color or not
-     *
-     * @since S60 v3.2
-     * @param aEnable Enable mutil color if ETrue, otherwise disable
-     * @param aReDraw Redraw if ETrue, otherwise not redraw
-     * @return None.
-     */                                                   
-    IMPORT_C void EnableSecondary(TBool aEnable, TBool aReDraw = EFalse);
-
-    /**
-     * Get the flag of enable or disable multi color
-     *
-     * @since S60 v3.2
-     * @return ETrue if enable, or EFalse.
-     */                                                     
-    IMPORT_C TBool IsEnableSecondary() const;
-    
-    /**
-     * This function creates drop down list from resource, before calling 
-     * this function, caller should set resource id of drop down list first
-     * 
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C void ConstructFromResourceL();
-
-    /**
-     * Get secondary list
-     *
-     * @since S60 v3.2
-     * @return color array.
-     */                                                   
-    const RArray<TInt>& GetSecondaryList() const;
-
-    /**
-     * Draw mask for the appointed rect
-     * @since Series 60 3.1
-     * @param aRect The rect which will be redrawn
-     * @return None
-     */     
-    void DrawMask(TRect aRect);
-
-    /**
-     * Active bitmap context
-     * @since Series 60 3.1
-     * @return None
-     */         
-    void ActivateBitmapContext();
-    
-    /**
-     * Get the graphics context
-     * @since Series 60 3.1
-     * @return The graphics context
-     */ 
-    CFbsBitGc* Gc();
-
-    /**
-     * Get the first candidate visible
-     *
-     * @since S60 v3.2
-     * @return The first candidate index.
-     */
-    TInt GetFirstCandidateIndex();
-
-    /**
-     * Get the first candidate visible
-     *
-     * @since S60 v3.2
-     * @return The last candidate index.
-     */
-    TInt GetLastCandidateIndex();
-
-    /**
-     * Set the first candidate visible
-     *
-     * @since S60 v3.2
-     * @return None.
-     */
-    void SetFirstCandidateIndex(TInt aFirstIndex);
-
-    /**
-     * Set the first candidate visible
-     *
-     * @since S60 v3.2
-     * @return None.
-     */
-    void SetLastCandidateIndex(TInt aLastIndex);
-    
-    /**
-     * Get the appointed candidate
-     * @since Series 60 3.1
-     * @param aIndex The index which will be check out
-     * @return The appointed candidate
-     */ 
-    CCandidate* GetCandidate(TInt aIndex);
-    
-    /**
-     * Get top left point
-     * @since Series 60 3.1
-     * @return The top left point
-     */ 
-    TPoint GetTopLeftPoint();
-    
-    /**
-     * Get cell width
-     * @since Series 60 3.1
-     * @return The cell width
-     */ 
-    TInt GetCellWidth();
-    
-    /**
-     * Get cell height
-     * @since Series 60 3.1
-     * @return The cell height
-     */ 
-    TInt GetCellHeight();
-    
-    /**
-     * Get navigation width
-     * @since Series 60 3.1
-     * @return The navigation width
-     */ 
-    TInt GetNaviWidth();
-    
-    TInt GetSpinBtnHeight();
-    TInt GetCellHorizontalMargin();
-    TInt GetCellVerticalMargin();
-    TInt ListType();
-    TInt OneRowStartCandIdx();
-    void SetOneRowStartCandIdx(TInt aOriginalCandIdx);
-    TInt GetOriginalFirstCandIdx();
-    void SetOriginalFirstCandIdx(TInt aOriginalFirstCandIdx);
-    TInt CandTruncateType();
-    CList* ActiveList();
-    void SetUpdateListReDrawFlag(TBool aReDraw);
-    TBool GetUpdateListRedrawFlag();
-    IMPORT_C void SetFuzzyBoundry(TInt aFuzzyBoundry);
-    TInt FuzzyBoundry();
-    TInt CandExpandType();
-    IMPORT_C void SetCandExpandType(const TExpandType aType = ECandExpandDownward);
-    TInt CandHDirection();
-    inline void SetHDirection(const THDirection aDirection = ECandFromLToR);
-
-    // when drop down list is expandable, decide pageup/pagedown shown or not 
-    TBool PageCtrlShown();
-    inline void SetPageCtrlShown(TBool aShown = ETrue);
-
-    /**
-     * Get columns number
-     * @since Series 60 3.1
-     * @return The top left point
-     */ 
-    TInt GetColNum();
-
-    /**
-     * Get rows number
-     * @since Series 60 3.1
-     * @return The top left point
-     */ 
-    TInt GetRowNum();
-
-    /**
-     * Get the font used to draw text
-     * @since Series 60 3.1
-     * @return The font used to draw text
-     */ 
-    const CFont* GetFont();
-    
-    /**
-     * Get alignment used to draw the text
-     * @since Series 60 3.1
-     * @return The alignment used to draw the text
-     */ 
-    CGraphicsContext::TTextAlign GetAlignment();
-
-    /**
-     * Get text margin used to draw the text
-     * @since S60 v3.2
-     * @return The margin used to draw the text
-     */ 
-    TInt GetTextMargin();
-        
-    /**
-     * Get background color
-     * @since Series 60 3.1
-     * @return The background color
-     */ 
-    TRgb GetBgColor();
-
-    /**
-     * Get button down color
-     * @since Series 60 3.1
-     * @return The background color
-     */ 
-    TRgb GetButtonDownBgColor();    
-        
-    /**
-     * Get border color
-     * @since Series 60 3.1
-     * @return The border color
-     */ 
-    TRgb GetBorderColor();
-    
-    /**
-     * Get text color
-     * @since Series 60 3.1
-     * @return The text color
-     */ 
-    TRgb GetTextColor();    
-        
-    /**
-     * Get background color for highlight area
-     * @since Series 60 3.1
-     * @return The background color for highlight area
-     */ 
-    TRgb GetHighLightBgColor();
-    
-    /**
-     * Get high light text color
-     * @since Series 60 3.1
-     * @return The high light text color
-     */ 
-    TRgb GetHighLightTextColor();
-    
-    /**
-     * Get special text color
-     * @since Series 60 3.1
-     * @return The special text color
-     */ 
-    TRgb GetSpecialTextColor();
-    
-    /**
-     * Get fixed text
-     * @since Series 60 3.1
-     * @return The fixed text
-     */ 
-    TDesC GetFixedText();
-
-    /**
-     * Get highlight cell list
-     * @since Series 60 3.1
-     * @return The highlight cell list
-     */
-    const RArray<TInt>& GetHighlightList() const;
-
-    /**
-     * Get page manager
-     * @since Series 60 3.1
-     * @return The page manager
-     */
-    CPages* GetPages();
-
-    /**
-     * Get bitmap manager
-     * @since Series 60 3.1
-     * @return The bitmap manager
-     */    
-    CBitmapDb* GetBitmapDb();
-        
-    /**
-     * Report event when candidate is selected
-     * @since Series 60 3.1
-     * @param aCandidate The candidate string
-     * @param aSelectedIndex The index of the selected candidate
-     * @return None
-     */
-    void ReportCandidateSelectEventL(const TDesC& aCandidate, const TInt aSelectedIndex);
-    
-    /**
-     * Invalidate some rect and redraw it
-     * @since Series 60 3.1
-     * @param aRect The rect which will be redrawn
-     * @param aUpdateAll Update all or not
-     * @return None
-     */
-    void Invalidate(const TRect& aRect,TBool aUpdateAll = EFalse); 
-
-    /**
-     * Change active list
-     *
-     * @since S60 v3.2
-     * @param aList The new active list
-     * @param aLastIndex The last visible candidate index  
-     * @return None.
-     */
-    void ChangeActiveList(CList* aList, TInt aLastIndex = 0); 
-    
-    /**
-     * Get pen size
-     *
-     * @since S60 v3.2
-     * @return The pen size.
-     */
-    const TSize GetPenSize();
-                                                                  
-    /**
-     * Set pointer capture
-     *
-     * @since S60 v3.2
-     * @param aFlag ETrue to capture pointer, otherwise EFalse
-     * @return None.
-     */
-    void SetCapture(TBool aFlag);
-    
-    /**
-     * Notify get next candidate page
-     *
-     * @since S60 v3.2
-     * @return None.
-     */
-    void NotifyGetNextPage();
-    
-    /**
-     * Notify get previous candidate page
-     *
-     * @since S60 v3.2
-     * @return None.
-     */
-    void NotifyGetPreviousPage();
-    
-    /**
-     * Notify close candidate page
-     *
-     * @since S60 v3.2
-     * @return None.
-     */
-    void NotifyClosePage();    
-    
-    /**
-     * Set flag of if next candidate after last page eixsted
-     *
-     * @since S60 v3.2
-     * @param aFlag ETrue if candidate exist, otherwise EFalse
-     * @return None
-     */
-    IMPORT_C void SetFlagCandidateExist(TBool aFlag);
-
-    /**
-     * Judge if next candidate existed
-     *
-     * @since S60 v3.2
-     * @return ETrue if candidate exist, otherwise EFalse
-     */
-    TBool NextCandidateExist();
-
-    /**
-     * Auto change active list
-     *
-     * @since S60 v3.2
-     * @param aLastIndex The last visible candidate index  
-     * @return None.
-     */
-    void AutoChangeActiveList( TInt aLastIndex = 0 ); 
-    
-    /**
-     * Set dropdown list image ID
-     *
-     * @since S60 v3.2
-     * @param TDropdownListDrawInfo image information
-     * @return None.
-     */
-	IMPORT_C void SetDropdownListImgID(TDropdownListDrawInfo aDropdownListDrawInfo);
-	
-    /**
-     * Show preview bubble
-     *
-     * @since S60 v3.2
-     * @param aFlag Show/Hide flag
-     * @return None.
-     */	
-	IMPORT_C void ShowBubble(TBool aFlag);
-	
-    /**
-     * Set bubble bitmap param
-     *
-     * @since S60 v3.2
-     * @param aBmpId 
-     * @param aMaskBmpId
-     * @param aBgSkinId
-     * @return None.
-     */		
-	IMPORT_C void SetBubbleBitmapParam(CFbsBitmap* aBmpId,
-                                       CFbsBitmap* aMaskBmpId ,
-                                       TAknsItemID aBgSkinId );
-    
-    /**
-     * Set bubble text font
-     *
-     * @since S60 v3.2
-     * @param aFont Text font
-     * @return None.
-     */		                                   
-    IMPORT_C void SetBubbleTextFont(const CFont* aFont);                                  
-                                       
-    /**
-     * Set bubble text format
-     *
-     * @since S60 v3.2
-     * @param aTextFormat Text format
-     * @return None.
-     */		                                   	
-	IMPORT_C void SetTextFormat(TAknTextLineLayout aTextFormat);
-		
-    /**
-     * Set bubble text format
-     *
-     * @since S60 v3.2
-     * @param aLeftDiff
-     * @param aTopDiff
-     * @param aRightDiff
-     * @param aBottomDiff
-     * @return None.
-     */		                                   	
-	IMPORT_C void SetFrameDiff(TInt aLeftDiff, TInt aTopDiff,
-                               TInt aRightDiff,TInt aBottomDiff);
-	
-    /**
-     * Set bubble size
-     *
-     * @since S60 v3.2
-     * @param aSize
-     * @return None.
-     */		                                   		
-	IMPORT_C void SetBubbleSize(const TSize& aSize);
-	
-    /**
-     * show preview bubble
-     *
-     * @since S60 v3.2
-     * @param aRect
-     * @param aText
-     * @return None.
-     */		                                   		
-	void DrawBubble(const TRect aRect, const TDesC& aText);
-	
-    /**
-     * Hide preview bubble
-     *
-     * @since S60 v3.2
-     * @return None.
-     */		                                   		
-	void ClearBubble();
-
-    /**
-     * ReDraw preview bubble
-     *
-     * @since S60 v3.2
-     * @return None.
-     */		                                   		
-	void ReDrawBubble();
-	
-	CFepUiLayout* UiLayout();
-
-    /**
-     * Redraw dropdown list
-     *
-     * @since S60 v3.2
-     * @param aRect Redraw rect.
-     * @return None.
-     */		                                   		
-    IMPORT_C void ReDrawRect(const TRect& aRect);
-protected:    
-
-    /**
-     * Constructor
-     *
-     * @since S60 v3.2
-     * @param aTopLeftPoint The top left point of the drop down list
-     * @param aUiLayout The layout plugin
-     * @param aControlId This control ID
-     * @param aReader The reader from which the bitmaps ID can be read
-     * @param aCellWidth The width of one basic cell
-     * @param aCellHeight The height of one basic cell
-     * @param aNaviWidth The width of navidation
-     * @param aColNum The number of columns in one row
-     * @param aRowNum The number of rows
-     * @param aFont The font used to draw the text
-     * @param aHandler The handle which will deal with outer event to this control
-     * @param aAlignment The alignment used to draw text
-     * @param aTextMargin if alignment is not ECenter, the margin is used 
-     * @param aBorderColor The color of border
-     * @param aBgColor The color of background
-     * @param aNavigationBgColor The background color of navigation area
-     * @param aTextColor The color of text
-     * @param aSpecialTextColor The color of special text
-     * @param aHighLightTextColor The color of highlight text
-     * @param aHighLightBgColor The background color of high light
-     * @param aButtonDownBgColor The background color when button pressing
-     */
-    CFepCtrlDropdownList(const TPoint& aTopLeftPoint,
-                         CFepUiLayout* aUiLayout,
-                         TInt aControlId,
-                         const TInt aCellWidth,
-                         const TInt aCellHeight,
-                         const TInt aNaviWidth,
-                         const TInt aColNum,
-                         const TInt aRowNum,
-                         const CFont* aFont,
-                         MListEventHandler* aHandler,                               
-                         const CGraphicsContext::TTextAlign aAlignment,
-                         const TInt aTextMargin,
-                         const TRgb aBorderColor,
-                         const TRgb aBgColor,
-                         const TRgb aNavigationBgColor, 
-                         const TRgb aTextColor,
-                         const TRgb aSpecialTextColor,
-                         const TRgb aHighLightTextColor,
-                         const TRgb aHighLighttBgColor,
-                         const TRgb aButtonDownBgColor);
-                         
-    CFepCtrlDropdownList(CFepUiLayout* aUiLayout,
-                         TInt aControlId,
-                         TPoint aTopLeftPoint,
-                         TSize aCellSize,
-                         TInt aColNum,
-                         TInt aRowNum);
-                         
-    CFepCtrlDropdownList(CFepUiLayout* aUiLayout,
-                         TInt aControlId,
-                         TInt aResId,
-                         TPoint aTopLeftPoint,
-                         const CFont* aFont,
-                         TSize aCellSize,
-                         TInt aNaviWidth,
-                         TInt aColNum,
-                         TInt aRowNum,
-                         TInt aSpinBtnHeight,
-                         TInt aHorizontalCellMargin,
-                         TInt aVerticalCellMargin,
-                                               THDirection aDirection,
-                                               TBool aPageShown);
-                         
-
-        
-    /**
-     * 2nd construct function
-     * @since Series 60 3.1
-     * @param aTopLeftPoint The top left point
-     * @param aReader The reader from which the bitmaps ID can be read
-     * @return None
-     */ 
-    void ConstructL(const TPoint& aTopLeftPoint, TResourceReader& aReader);
-
-    void ConstructL(TPoint aTopLeftPoint, TInt aResId);
-    
-private:
-
-    /**
-     * The list manager
-     * Not own
-     */
-    CListManager* iListManager;
-        
-    /**
-     * The bitmap database
-     * Own
-     */
-    CBitmapDb* iBitmapDb;
-
-    /**
-     * The pages manager
-     * Own
-     */
-    CPages* iPages;
-
-    /**
-     * The candidate list
-     * Own
-     */
-    RPointerArray<CCandidate> iCandidatelist;
-    
-    /**
-     * The candidate color list
-     * Own
-     */
-    RArray<TInt> iSecondaryList;
-
-    /**
-     * The high light list
-     * Own
-     */
-    RArray<TInt> iHighlightList;
-
-    /**
-     * The flag of multi color enable or disable
-     */
-    TBool iEnableSecondary;
-      
-    /**
-     * The first candidate index in the list
-     */
-    TInt iFirstCandidateIndex;
-
-    /**
-     * The last candidate index in the list
-     */
-    TInt iLastCandidateIndex;
-
-    /**
-     * The font used to draw the text
-     * Own
-     */
-    const CFont* iFont;
-    
-    const CFont* iBubbleFont;
-
-    /**
-     * Cell width
-     */
-    TInt iCellWidth;
-
-    /**
-     * Cell height
-     */
-    TInt iCellHeight;
-
-    /**
-     * navigation width
-     */
-    TInt iNaviWidth;
-    
-    TInt iSpinBtnHeight;
-    TInt iCellHorizontalMargin;
-    TInt iCellVerticalMargin;
-    TInt iOriginalCandIdx;
-    TInt iOriginalFirstCandIdx;
-    TBool iUpdateListReDraw;
-
-    /**
-     * alignment used to draw the text
-     */
-    CGraphicsContext::TTextAlign iAlignment;
-
-    /**
-     * the margin used to draw the text if alignment is not ECenter
-     */
-    TInt iTextMargin;
-
-    /**
-     * The columns number
-     */
-    TInt iColNum;
-
-    /**
-     * The rows number
-     */
-    TInt iRowNum;
-
-    /**
-     * The border color
-     */
-    TRgb iBorderColor;
-
-    /**
-     * The background color of the whole list
-     */
-    TRgb iBgColor;
-
-    /**
-     * The navigation background color
-     */
-    TRgb iNavigationBgColor;
-
-    /**
-     * The text color
-     */
-    TRgb iTextColor;
-
-    /**
-     * The special text color
-     */
-    TRgb iSpecialTextColor;
-
-    /**
-     * The highlight text color
-     */
-    TRgb iHighLightTextColor;
-
-    /**
-     * The background color of highlight area 
-     */
-    TRgb iHighLightBgColor;
-
-    /**
-     * The background color when button down
-     */
-    TRgb iButtonDownBgColor;
-
-    /**
-     * The top left point the list
-     */
-    TPoint iTopLeftPoint;
-
-    /**
-     * The fixed text
-     */
-    TBuf<KMaxFixedTextNumber> iFixedText;
-    
-    /**
-     * The event ID for candidate selected
-     */
-    TInt iEventIdForCandidateSelected;
-    
-    /**
-     * The event ID for next page candidate
-     */
-    TInt iEventIdForNextPageCandidate;
-    
-    /**
-     * The event ID for previous page candidate
-     */
-    TInt iEventIdForPreviousPageCandidate;
-    
-    /**
-     * The event ID for judge if candidate existed
-     */
-    TInt iEventIdForCandidateExisted;
-
-    /**
-     * The event handler when out event coming
-     * Not own
-     */
-    MListEventHandler* iListEventHandler;
-
-    /**
-     * The first time construct flag of drop down list
-     */
-    TBool iFirstTimeConstruct;
-    
-    /**
-     * The flag to indicate that candidate existed or not at given position
-     */
-    TBool iCandidateExisted;
-    
-    /**
-     * The type of drop down list.
-     */
-    TListType iListType;
-
-    TCandTruncateType iCandTruncateType;
-
-    TInt iFuzzyBoundry;
-    
-    TExpandType iCandExpandType;
-    
-    THDirection iCandHDirection;
-    
-    TBool iPageCtrlShown;
-    
-    CBubbleCtrl* iBubbleCtrl;
-    
-    TBool iIsShowBubble;
-    
-    TSize iBubbleSize;
-    
-    TInt iBubbleVerticalMargin;
-    };    
-        
-#endif // C_CFEPCTRLDROPDOWNLIST_H
-
-inline void CFepCtrlDropdownList::SetHDirection(const THDirection aDirection)
-    {
-    iCandHDirection = aDirection;
-    }
-
-inline void CFepCtrlDropdownList::SetPageCtrlShown(TBool aShown)
-    {
-    iPageCtrlShown = aShown;
-    }
-// End Of File
--- a/textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputdropdownlist.rh	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-/*
-* 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:  Resource headers for project FEP control
-*
-*/
-
-
-#ifndef FEP_CTRL_DROP_DOWN_LIST_RH
-#define FEP_CTRL_DROP_DOWN_LIST_RH
-
-// INCLUDES
-#include <uikon.rh>
-
-//  STRUCTURE DEFINITIONS
-
-// -----------------------------------------------------------------------------
-// FEP_CTRL_DROP_DOWN_LIST_IMSGE
-// Resource definition for dropdownlist
-// -----------------------------------------------------------------------------
-//
-STRUCT FEP_CTRL_DROP_DOWN_LIST_IMAGE
-    {
-    // mbm file name
-    LTEXT bmpfile="";
-
-    LONG imgmajorskinid=0xffff;
-
-	// list bg
-	WORD bmpListBg=0xffff;
-	WORD bmpListBgMask=0xffff;
-	WORD bmpListBgskinid=0xffff;
-
-    // primary bg
-    WORD bmpPrimary=0xffff;
-    WORD bmpPrimaryMask=0xffff;
-    WORD bmpPrimaryskinid=0xffff;
-
-    // secondary mask bg
-    WORD bmpSecondary=0xffff;      
-    WORD bmpSecondaryMask=0xffff;
-    WORD bmpSecondaryskinid=0xffff;
-
-    // highlight bg
-    WORD bmpHighlight=0xffff;
-    WORD bmpHighlightMask=0xffff;
-    WORD bmpHighlightskinid=0xffff;
-
-    // pen down bg
-    WORD bmpPenDown=0xffff;
-    WORD bmpPenDownMask=0xffff;
-    WORD bmpPenDownskinid=0xffff;
-    
-    // disable bitmap
-    WORD bmpNextDisable=0xffff;       
-    WORD bmpNextDisableMask=0xffff;
-    WORD bmpNextDisableskinid=0xffff;
-    
-    // bitmap
-    WORD bmpNext=0xffff;
-    WORD bmpNextMask=0xffff;
-    WORD bmpNextskinid=0xffff;
-    
-    // bitmap
-    WORD bmpNextPress=0xffff;     
-    WORD bmpNextPressMask=0xffff;
-    WORD bmpNextPressskinid=0xffff;
-
-    // bitmap
-    WORD bmpClose=0xffff;
-    WORD bmpCloseMask=0xffff;
-    WORD bmpCloseskinid=0xffff;
-
-    // bitmap
-    WORD bmpClosePress=0xffff;
-    WORD bmpClosePressMask=0xffff;
-    WORD bmpClosePressskinid=0xffff;
-
-    // bitmap
-    WORD bmpPrevious=0xffff;
-    WORD bmpPreviousMask=0xffff;
-    WORD bmpPreviousskinid=0xffff;
-
-    // bitmap
-    WORD bmpPreviousPress=0xffff;
-    WORD bmpPreviousPressMask=0xffff;
-    WORD bmpPreviousPressskinid=0xffff;
-    
-    WORD bmpExpand=0xffff;
-    WORD bmpExpandMask=0xffff;
-    WORD bmpExpandskinid=0xffff;
-    
-    WORD bmpExpandPress=0xffff;
-    WORD bmpExpandPressMask=0xffff;
-    WORD bmpExpandPressskinid=0xffff;
-
-    // text color
-    LONG colormajorskinid=0xffff;
-    WORD textcolorgrp=0xffff;
-    WORD textcoloridx=0xffff;
-    
-    // border color
-    LONG bordercolormajorskinid=0xffff;
-    WORD bordercolorgrp=0xffff;
-    WORD bordercoloridx=0xffff;
-    } 
-     
-#endif  // FEP_CTRL_DROP_DOWN_LIST_IMSGE
-
-// End Of File
--- a/textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputdropdownlistcontext.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,465 +0,0 @@
-/*
-* 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:  context for list
-*
-*/
-
-
-#ifndef M_DROP_DOWN_LIST_CONTEXT_H
-#define M_DROP_DOWN_LIST_CONTEXT_H
-
-#include <e32base.h>
-#include <w32std.h>
-#include <AknsDrawUtils.h> 
-
-class CCandidate;
-class CPages;
-class CBitmapDb;
-class CList;
-
-struct TDropdownListDrawInfo
-    {
-    TAknsItemID iInactiveBtnImgID;
-    TAknsItemID iNormalBtnImgID;
-    TAknsItemID iPressedBtnImgID;
-
-    TAknsItemID iCandidateLeftImgID;
-    TAknsItemID iCandidateMiddleImgID;
-    TAknsItemID iCandidateRightImgID;
-    
-    TAknsItemID iCandidatePressedLeftImgID;
-    TAknsItemID iCandidatePressedMiddleImgID;
-    TAknsItemID iCandidatePressedRightImgID;
-    
-    TRgb iCandidatesHighlightColor;
-    
-    TBool iSupportSkin;
-    
-    TDropdownListDrawInfo(TAknsItemID aInactiveBtnImgID,
-                          TAknsItemID aNormalBtnImgID,
-                          TAknsItemID aPressedBtnImgID,
-                          
-                          TAknsItemID aCandidateLeftImgID,
-                          TAknsItemID aCandidateMiddleImgID,
-                          TAknsItemID aCandidateRightImgID,
-                      
-                          TAknsItemID aCandidatePressedLeftImgID,
-                          TAknsItemID aCandidatePressedMiddleImgID,
-                          TAknsItemID aCandidatePressedRightImgID,
-
-                          TRgb aCandidatesHighlightColor,
-                          TBool aSupportSkin = EFalse)
-        {
-        
-        iInactiveBtnImgID = aInactiveBtnImgID;
-        iNormalBtnImgID = aNormalBtnImgID;
-        iPressedBtnImgID = aPressedBtnImgID;
-            
-        iCandidateLeftImgID = aCandidateLeftImgID;
-        iCandidateMiddleImgID = aCandidateMiddleImgID;
-        iCandidateRightImgID = aCandidateRightImgID;
-
-        iCandidatePressedLeftImgID = aCandidatePressedLeftImgID;
-        iCandidatePressedMiddleImgID = aCandidatePressedMiddleImgID;
-        iCandidatePressedRightImgID = aCandidatePressedRightImgID;      
-        
-        iCandidatesHighlightColor = aCandidatesHighlightColor;
-        
-        iSupportSkin = aSupportSkin;
-            
-        };
-        
-    TDropdownListDrawInfo()
-        {
-        iSupportSkin = EFalse;
-        };
-    };    
-
-
-
-/**
- *  Context for list
- *
- *  it provide all functions used by list
- *
- *  @lib FepCtrlDropdownList.lib
- *  @since S60 v3.2
- */
-class MFepCtrlDropdownListContext
-    {
-public:  // Method
-
-    /**
-     * Draw mask for the appointed rect
-     * @since S60 v3.2
-     * @param aRect the rect which will be redrawn
-     * @return None
-     */     
-    virtual void DrawMask(TRect aRect) = 0;
-
-    /**
-     * Active bitmap context
-     * @since S60 v3.2
-     * @return None
-     */         
-    virtual void ActivateBitmapContext() = 0;
-    
-    /**
-     * Get the graphics context
-     * @since S60 v3.2
-     * @return The graphics context
-     */ 
-    virtual CFbsBitGc* Gc() = 0;
-
-    /**
-     * Get the candidate count
-     *
-     * @since S60 v3.2
-     * @return The candidate count.
-     */      
-    virtual TInt CandidateCount() const = 0;
-
-    /**
-     * Get the first candidate visible
-     *
-     * @since S60 v3.2
-     * @return The first candidate index.
-     */
-    virtual TInt GetFirstCandidateIndex() = 0;
-
-    /**
-     * Get the first candidate visible
-     *
-     * @since S60 v3.2
-     * @return The last candidate index.
-     */
-    virtual TInt GetLastCandidateIndex() = 0;
-
-    /**
-     * Set the first candidate visible
-     *
-     * @since S60 v3.2
-     * @param aFirstIndex the first candidate index
-     * @return None.
-     */
-    virtual void SetFirstCandidateIndex(TInt aFirstIndex) = 0;
-
-    /**
-     * Set the first candidate visible
-     *
-     * @since S60 v3.2
-     * @param aLastIndex the last candidate index
-     * @return None.
-     */
-    virtual void SetLastCandidateIndex(TInt aLastIndex) = 0;
-
-    /**
-     * Get the appointed candidate
-     * @since S60 v3.2
-     * @param aIndex The index which will be check out
-     * @return The appointed candidate
-     */ 
-    virtual CCandidate* GetCandidate(TInt aIndex) = 0;
-    
-    /**
-     * Get top left point
-     * @since S60 v3.2
-     * @return The top left point
-     */ 
-    virtual TPoint GetTopLeftPoint() = 0;
-    
-    /**
-     * Get cell width
-     * @since S60 v3.2
-     * @return Cell width
-     */ 
-    virtual TInt GetCellWidth() = 0;
-    
-    /**
-     * Get cell height
-     * @since S60 v3.2
-     * @return Cell height
-     */ 
-    virtual TInt GetCellHeight() = 0;
-    
-    /**
-     * Get navigation width
-     * @since S60 v3.2
-     * @return Navigation width
-     */ 
-    virtual TInt GetNaviWidth() = 0;
-    virtual TInt GetSpinBtnHeight() = 0;
-    virtual TInt GetCellHorizontalMargin() = 0;
-    virtual TInt GetCellVerticalMargin() = 0;
-    virtual TInt ListType() = 0;
-    virtual TInt OneRowStartCandIdx() = 0;
-    virtual void SetOneRowStartCandIdx(TInt aOriginalCandIdx) = 0;
-    virtual TInt GetOriginalFirstCandIdx() = 0;
-    virtual void SetOriginalFirstCandIdx(TInt aOriginalFirstCandIdx) = 0;
-    virtual TInt CandTruncateType() = 0;
-    virtual CList* ActiveList() = 0;
-    virtual void SetUpdateListReDrawFlag(TBool aReDraw) = 0;
-    virtual TBool GetUpdateListRedrawFlag() = 0;
-    // if set: when list expanded, and user press on region between
-    // list's rect and outerrect (list's rect plus fuzzy boundry)
-    // it still think that press inside list
-    virtual TInt FuzzyBoundry() = 0;
-    virtual TInt CandExpandType() = 0;
-    virtual TInt CandHDirection() = 0;
-    virtual TBool PageCtrlShown() = 0;
-
-    /**
-     * Get columns number
-     * @since S60 v3.2
-     * @return The top left point
-     */ 
-    virtual TInt GetColNum() = 0;
-
-    /**
-     * Get rows number
-     * @since S60 v3.2
-     * @return The top left point
-     */ 
-    virtual TInt GetRowNum() = 0;
-
-    /**
-     * Get the font used to draw text
-     * @since S60 v3.2
-     * @return The font used to draw text
-     */ 
-    virtual const CFont* GetFont() = 0;
-    
-    /**
-     * Get alignment used to draw the text
-     * @since S60 v3.2
-     * @return The alignment used to draw the text
-     */ 
-    virtual CGraphicsContext::TTextAlign GetAlignment() = 0;
-    
-    /**
-     * Get text margin used to draw the text
-     * @since S60 v3.2
-     * @return The margin used to draw the text
-     */ 
-    virtual TInt GetTextMargin() = 0;
-
-    /**
-     * Get background color
-     * @since S60 v3.2
-     * @return The background color
-     */ 
-    virtual TRgb GetBgColor() = 0;
-    
-    /**
-     * Get button down color
-     * @since S60 v3.2
-     * @return The background color
-     */ 
-    virtual TRgb GetButtonDownBgColor() = 0;    
-    
-    /**
-     * Get border color
-     * @since S60 v3.2
-     * @return The border color
-     */ 
-    virtual TRgb GetBorderColor() = 0;
-
-    /**
-     * Get text color
-     * @since S60 v3.2
-     * @return The text color
-     */ 
-    virtual TRgb GetTextColor() = 0;    
-    
-    /**
-     * Get background color for highlight area
-     * @since S60 v3.2
-     * @return The background color for highlight area
-     */ 
-    virtual TRgb GetHighLightBgColor() = 0;
-    
-    /**
-     * Get high light text color
-     * @since S60 v3.2
-     * @return The high light text color
-     */ 
-    virtual TRgb GetHighLightTextColor() = 0;
-    
-    /**
-     * Get special text color
-     * @since S60 v3.2
-     * @return The special text color
-     */ 
-    virtual TRgb GetSpecialTextColor() = 0;
-    
-    /**
-     * Get fixed text
-     * @since S60 v3.2
-     * @return The fixed text
-     */ 
-    virtual TDesC GetFixedText() = 0;
-    
-    /**
-     * Invalidate some rect and redraw it
-     * @since S60 v3.2
-     * @param aRect The rect which will be redrawn
-     * @param aUpdateAll Update all or not
-     * @return None
-     */
-    virtual void Invalidate(const TRect& aRect, TBool aUpdateAll = EFalse) = 0;   
-
-    /**
-     * Get secondary list
-     * @since S60 v3.2
-     * @return The secondary list
-     */     
-    virtual const RArray<TInt>& GetSecondaryList() const = 0;
-
-    /**
-     * Get the flag of enable or disable multi color
-     *
-     * @since S60 v3.2
-     * @return ETrue if enable, or EFalse.
-     */     
-    virtual TBool IsEnableSecondary() const= 0;
-
-    /**
-     * Get highlight cell list
-     * @since S60 v3.2
-     * @return The highlight cell list
-     */    
-    virtual const RArray<TInt>& GetHighlightList() const= 0;
-
-    /**
-     * Report event when candidate is selected
-     * @since S60 v3.2
-     * @param aCandidate The candidate string
-     * @param aSelectedIndex The index of the selected candidate
-     * @return None.
-     */
-    virtual void ReportCandidateSelectEventL(const TDesC& aCandidate, const TInt aSelectedIndex)= 0;
-    
-
-    /**
-     * Get page manager
-     * @since S60 v3.2
-     * @return page manager
-     */
-    virtual CPages* GetPages() = 0;
-
-    /**
-     * Get bitmap manager
-     * @since S60 v3.2
-     * @return The bitmap manager
-     */    
-    virtual CBitmapDb* GetBitmapDb() = 0;
-
-    /**
-     * Change active list
-     *
-     * @since S60 v3.2
-     * @param aList The new active list
-     * @param aLastIndex The last visible candidate index  
-     * @return None.
-     */
-    virtual void ChangeActiveList(CList* aList, TInt aLastIndex = 0) = 0; 
- 
-     /**
-     * Get pen size
-     *
-     * @since S60 v3.2
-     * @return The pen size.
-     */
-    virtual const TSize GetPenSize() = 0;
-    
-    /**
-     * Set pointer capture
-     *
-     * @since S60 v3.2
-     * @param aFlag ETrue to capture pointer, otherwise EFalse
-     * @return None.
-     */
-    virtual void SetCapture(TBool aFlag ) = 0;
-    
-    /**
-     * Get next candidate page
-     *
-     * @since S60 v3.2
-     * @return None.
-     */
-    virtual void NotifyGetNextPage() = 0;
-    
-    /**
-     * Get previous candidate page
-     *
-     * @since S60 v3.2
-     * @return None.
-     */
-    virtual void NotifyGetPreviousPage() = 0;
-    
-    /**
-     * Notify close candidate page
-     *
-     * @since S60 v3.2
-     * @return None.
-     */
-    virtual void NotifyClosePage() = 0;
-    
-    /**
-     * Judge if next candidate existed
-     *
-     * @since S60 v3.2
-     * @return ETrue if candidate exist, otherwise EFalse
-     */
-    virtual TBool NextCandidateExist() = 0;
-
-    /**
-     * Auto change active list
-     *
-     * @since S60 v3.2
-     * @param aLastIndex The last visible candidate index  
-     * @return None.
-     */
-    virtual void AutoChangeActiveList( TInt aLastIndex = 0 ) = 0; 
-    
-    /**
-     * Show preview bubble
-     *
-     * @since S60 v3.2
-     * @param aRect Bubble rect
-     * @param aText Review bubble text  
-     * @return None.
-     */
-    virtual void DrawBubble(const TRect aRect, const TDesC& aText) = 0;
-    
-    /**
-     * Hide preview bubble
-     *
-     * @since S60 v3.2
-     * @return None.
-     */    
-    virtual void ClearBubble() = 0;
-
-    /**
-     * Redraw preview bubble
-     *
-     * @since S60 v3.2
-     * @return None.
-     */    
-    virtual void ReDrawBubble() = 0;
-    };
-
-#endif // M_DROP_DOWN_LIST_CONTEXT_H
-
-// End Of File
--- a/textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputlist.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,368 +0,0 @@
-/*
-* 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:  Abstract base class for drop-down list objects
-*
-*/
-
-
-#ifndef C_CLIST_H
-#define C_CLIST_H
-
-//  INCLUDES
-#include <e32std.h>
-#include <w32std.h>
-#include <coedef.h>
-#include <peninputlayoutbasecontrol.h>
-
-#include "peninputbitmapdb.h"
-#include "peninputcandidate.h"
-#include "peninputpages.h"
-#include "peninputdropdownlistcontext.h"
-#include "peninputlistmanager.h"
-
-// class forward decalaration
-class CFont;
-
-// Empty rect 
-#define KEmptyRect TRect(0, 0, 0, 0);
-
-// Dummy rect, which is used to identify mouse down, but not click in valid area
-#define KDummyRect TRect(0, 0, 1, 1);
-
-
-/**
- *  abstract base list
- *
- *  abstract base list
- *
- *  @lib FepCtrlDropdownList.lib
- *  @since S60 v3.2
- */   
-NONSHARABLE_CLASS(CList) : public CBase
-    {
-    
-
-    
-public: //Methods
-
-    /**
-     * Destructor
-     *
-     * @since S60 v3.2
-     * @return None.     
-     */  
-    virtual ~CList();
-
-    /**
-     * Draw the list
-     *
-     * @since S60 v3.2
-     * @return None.     
-     */  
-    virtual void Draw();
-
-    /**
-     * Get rect of the list
-     *
-     * @since S60 v3.2
-     * @return the rect of the list
-     */               
-    virtual const TRect& Rect();
-
-    /**
-     * Update the list, including re-calculate the rect of candidates.
-     *
-     * @since S60 v3.2
-     * @param aRecalculate Re-calculate or not calculate the rect of candidates, the default is re-calculate
-     * @return None.     
-     */
-    virtual void UpdateListL(TBool aDrawFlag = ETrue, TBool aRecalculate = ETrue);
-
-    /**
-     * Deal with size change, it will be called when the size change
-     *
-     * @since S60 v3.2
-     * @return None.     
-     */    
-    virtual void SizeChanged();
-    
-    /**
-     * Deal with move event, it will be called when the drop down list is moved.
-     *
-     * @since S60 v3.2
-     * @param aOffsetPoint The offset point
-     * @return None.     
-     */    
-    virtual void Move(const TPoint& aOffsetPoint);
-
-    /**
-     * Set some cell to be high light.
-     *
-     * @since S60 v3.2
-     * @param aCellIndex The which cell would be set
-     * @param aHighlight The flag of highlight, set to highlight if ETrue, else cancel highlight
-     * @return None.     
-     */     
-    virtual  void SetHighlightCell(const TInt aCellIndex, TBool aHighlight, 
-                                   TBool aForceDraw = ETrue);
-
-    virtual void SetNextPageHighlightCellAfterOnePageL(const TInt aCellIndex);
-
-    /**
-     * Deal with the pointer down event.
-     *
-     * @since S60 v3.2
-     * @param aPoint The point of the mouse
-     * @return None.
-     */ 
-    virtual void HandlePointerDownL(const TPoint& aPoint);
-
-    /**
-     * Deal with the pointer up event.
-     *
-     * @since S60 v3.2
-     * @param aPoint The point of the mouse
-     * @return None.
-     */  
-    virtual void HandlePointerUpL(const TPoint& aPoint);
-
-    /**
-     * Deal with the pointer drag event.
-     *
-     * @since S60 v3.2
-     * @param aPoint The point of the mouse
-     * @return None.
-     */ 
-    virtual void HandlePointerDragL(const TPoint& aPoint);
-    
-    /**
-     * Deal with the pointer leave event.
-     *
-     * @since S60 v3.2
-     * @param aPoint The point of the mouse
-     * @return None.
-     */     
-    virtual void HandlePointerLeave(const TPoint& aPoint);
-    
-    /**
-     * Reset some status of the list.
-     *
-     * @since S60 v3.2
-     * @return None.
-     */       
-    virtual void ResetStatus();
-    
-    virtual TInt StartCandIdxOfLine(TInt aCandIndex);
-    
-    
-    void SetDropdownListImgID(TDropdownListDrawInfo aDropdownListDrawInfo);
-    						  
-protected: // Methods
-
-    /**
-     * Constructor.
-     *     
-     * @since S60 v3.2
-     * @param aManager The list manager
-     * @param aOwner The context of the drop down list     
-     * @return None.     
-     */  
-    CList(CListManager* aManager,MFepCtrlDropdownListContext *aOwner);
-
-    /**
-     * 2nd construct function.
-     *
-     * @since S60 v3.2
-     * @return None.          
-     */  
-    void ConstructL();
-
-    /**
-     * Find candidate according the assigned point.
-     *
-     * @since S60 v3.2
-     * @aPosition The position assigned
-     * @aIndex The index of the candidate which has been found
-     * @return The candidate which has been found, Null if not found.     
-     */  
-    CCandidate* FindCandidate(const TPoint& aPosition, TInt& aIndex);
-
-    /**
-     * Calculate the position of current visible candidates.
-     *
-     * @since S60 v3.2
-     * @return the last candidate visible.
-     */  
-    virtual TInt CalculatePositionsL();
-
-    /**
-     * Calculate all kinds of rectangles of list.
-     *
-     * @since S60 v3.2
-     * @return None.          
-     */  
-    virtual void CalculateAreas();
-   
-    /**
-     * Draw select cell, which can be candidates or buttons.
-     *
-     * @since S60 v3.2
-     * @param aRect The rect which will be drawn
-     * @param aIndicate Indicate the cell is pressed or not
-     * @return None.
-     */  
-    virtual void DrawSelection(const TRect& aRect, TBool aIndicate); 
-
-    /**
-     * Draw candidate when pressed.
-     *
-     * @since S60 v3.2
-     * @param aRect The rect which will be drawn
-     * @param aIndicate Indicate the cell is pressed or not
-     * @return None.
-     */  
-    virtual void DrawCandidatePress(const TRect& aRect, TBool aIndicate);
-
-    /**
-     * Draw navigation button when pressed.
-     *
-     * @since S60 v3.2
-     * @param aRect The rect which will be drawn
-     * @param aIndicate Indicate the button is pressed or not
-     * @return None.
-     */ 
-    virtual TBool DrawNavigationPress(const TRect& aRect, TBool aIndicate);
-
-    /**
-     * Draw all visible cells.
-     *
-     * @since S60 v3.2
-     * @return None.
-     */  
-    virtual void DrawCandidates();
-
-    /**
-     * Compare rects equal or not.
-     *
-     * @since S60 v3.2
-     * @param aSrcRect The source rect
-     * @param aDesRect The destination rect
-     * @return ETrue If the two rects are equal.     
-     */  
-    virtual TBool CompareRect(const TRect& aSrcRect, const TRect& aDesRect);
-
-    /**
-     * Draw highlight cell.
-     *
-     * @since S60 v3.2
-     * @param aIndicate Indicate the button is pressed or not
-     * @return None 
-     */  
-    virtual void DrawHighightCell(const TRect& aSrcRect, const TBool aIndidate);
-    
-protected: // Data
-
-    /**
-     * The drop down list
-     * Not own.
-     */  
-    MFepCtrlDropdownListContext *iOwner;
-
-    /**
-     * The list manager
-     * Not own.
-     */  
-    CListManager* iManager;
-    
-    /**
-     * the rectangle of the list
-     */  
-    TRect iRect;
-    
-    /**
-     * the content rectangle of the list
-     */  
-    TRect iContentRect;
-
-    /**
-     * the navigation rectangle of the list
-     */  
-    TRect iNavigationRect;
-
-    /**
-     * the next button rectangle of the list
-     */  
-    TRect iNavigationNextRect;
-
-    /**
-     * the previous button rectangle of the list
-     */  
-    TRect iNavigationPreviousRect;
-
-    /**
-     * the close button rectangle of the list
-     */  
-    TRect iNavigationCloseRect;
-    
-    /**
-     * the click rectangle of the list
-     */  
-    TRect iClickedRect;
-    
-    /**
-     * the move rectangle of cell, when mouse moved
-     */  
-    TRect iMoveLatestRect;
-
-    /**
-     * the candidate index clicked
-     */  
-    TInt iClickedCandidateIndex;
-    
-    /**
-     * the flag indicating the button is click or not
-     */  
-    TBool iIndicateButtonClicked;
-    
-    /**
-     * the flag indicating the next button is enable or disable
-     */  
-    TBool iNextButtonDisable;
-
-    /**
-     * the flag indicating the close button is enable or disable
-     */  
-    TBool iCloseButtonDisable;
-
-    /**
-     * the flag indicating the previous button is enable or disable
-     */  
-    TBool iPreviousButtonDisable;
-    
-    /**
-     * the flag indicating the list is multi rows or one row
-     */  
-    TBool iIsMultiRows;
-    
-    /**
-     * the flag indicating the list is multi rows or one row
-     */  
-    TBool iPenDownInCandidate;
-    
-    TDropdownListDrawInfo iDropdownListDrawInfo;
-    };
-
-#endif // C_CLIST_H
-
-// End Of File
--- a/textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputlistexpandablemultirowwithouticon.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-/*
-* 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:  Multi rows list without icon for drop-down list objects
-*
-*/
-
-
-#ifndef C_LISTEXPANDABLEMULTIROWWITHOUTICON_H
-#define C_LISTEXPANDABLEMULTIROWWITHOUTICON_H
-
-/**
- *  Multi rows list without icon for drop-down list
- *
- *  @lib FepCtrlDropdownList.lib
- *  @since S60 v3.2
- */  
-NONSHARABLE_CLASS(CListExpandableMultiRowWithoutIcon) : public CList
-    {
-    	
-public: // Methods
-
-    /**
-     * Create a object of CListArabicMultiRowWithoutIcon, static method
-     *
-     * @since S60 v3.2
-     * @param aManager Pointer to the list manager
-     * @param iOwner The drop down list
-     * @return The CListArabicMultiRowWithoutIcon pointer.
-     */
-    static CListExpandableMultiRowWithoutIcon* NewL(CListManager* aManager, 
-                                       MFepCtrlDropdownListContext* iOwner);
-    
-    /**
-     * Destructor
-     *
-     * @since S60 v3.2
-     */    
-    virtual ~CListExpandableMultiRowWithoutIcon();
-
-// from base class CList
-    
-     /**
-     * Draw the list
-     *
-     * @since S60 v3.2
-     */  
-    virtual void Draw();
-
-    /**
-     * Update the list, including re-calculate the rect of candidates.
-     *
-     * @since S60 v3.2
-     * @param aRecalculate Re-calculate or not calculate 
-	 *		  the rect of candidates, the default is re-calculate
-     */
-    virtual void UpdateListL(TBool aDrawFlag = ETrue, TBool aRecalculate = ETrue);
-
-    /**
-     * Deal with the pointer up event.
-     *
-     * @since S60 v3.2
-     * @param aPoint The point of the mouse
-     * @return None.     
-     */  
-    virtual void HandlePointerUpL(const TPoint& aPoint);
-
-    /**
-     * Deal with the pointer drag event.
-     *
-     * @since S60 v3.2
-     * @param aPoint The point of the mouse
-     * @return None.
-     */ 
-    virtual void HandlePointerDragL(const TPoint& aPoint);
-    
-protected: // Methods
-
-    /**
-     * Constructor.
-     *
-     * @since S60 v3.2
-     * @param aManager The list manager
-     * @param aOwner The context of the drop down list     
-     */  
-    CListExpandableMultiRowWithoutIcon( CListManager* aManager, 
-							  MFepCtrlDropdownListContext* aOwner);
-    
-private: //Methods
-
-    /**
-     * Calculate the position of current visible candidates.
-     *
-     * @since S60 v3.2
-     * @return the last candidate visible.
-     */  
-    virtual TInt CalculatePositionsL();
-
-    /**
-     * Calculate all kinds of rectangles of list.
-     *
-     * @since S60 v3.2
-     */  
-    virtual void CalculateAreas();
-
-    };
-
-#endif // C_LISTEXPANDABLEMULTIROWWITHOUTICON_H
-
-// End Of File
--- a/textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputlistmanager.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,267 +0,0 @@
-/*
-* 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:  List manager,which is used by drop down list
-*
-*/
-
-
-#ifndef C_LISTMANAGER_H
-#define C_LISTMANAGER_H
-
-#include <e32base.h>
-#include <w32std.h>
-
-/** class forward decalaration */
-class MFepCtrlDropdownListContext;
-class CList;
-class CListOneRowWithoutIcon;
-class CListOneRowWithoutIconWithBubble;
-class CListOneRowWithIcon;
-class CListOneRowWithIconWithBubble;
-class CListMultiRowWithIcon;
-class CListMultiRowWithIconWithBubble;
-class CListMultiRowWithoutIcon;
-class CListMultiRowRollWithIcon;
-class CListOneRowRollWithIcon;
-class CListExpandableMultiRowWithoutIcon;
-class CListOneRowRollWithIconWithBubble;
-class CListMultiRowRollWithIconWithBubble;
-
-/**
- *  List manager
- *
- *  List manager used by drop down list
- *
- *  @lib FepCtrlDropdownList.lib
- *  @since S60 v3.2
- */ 
-NONSHARABLE_CLASS(CListManager) : public CBase
-    {
-    
-public:  
-
-    /**
-     * Create a object of CPages, static method
-     *
-     * @since S60 v3.2
-     * @param aContext The context of the drop down list
-     * @return CPages pointer.
-     */
-    static CListManager* NewL(MFepCtrlDropdownListContext* aContext);
-    
-    /**
-     * Destructor
-     *
-     * @since S60 v3.2
-     */     
-    virtual ~CListManager();        
-
-    /**
-     * Get active list
-     *
-     * @since S60 v3.2
-     * @return active list.
-     */     
-    CList* ActiveList() const;  
-
-    /**
-     * Size change
-     *
-     * @since S60 v3.2
-     * @return None.
-     */         
-    void SizeChanged();
-
-    /**
-     * Move
-     *
-     * @since S60 v3.2
-     * @param aOffset The offset of move          
-     * @return None.
-     */       
-    void Move(const TPoint& aOffset);
-    
-    /**
-     * Set active list
-     *
-     * @since S60 v3.2
-     * @param aList The new active list       
-     * @return None.
-     */     
-    void SetActiveList(CList* aList);  
-               
-    /**
-     * Get the one row list without icon
-     * @since S60 v3.2
-     * @return the one row list without icon
-     */
-    CList* ListOneRowWithoutIcon() const;   
-    
-    /**
-     * Get the one row list without icon with bubble
-     * @since S60 v3.2
-     * @return the one row list without icon
-     */
-    CList* ListOneRowWithoutIconWithBubble() const;  
-    
-    /**
-     * Get the one row list with icon
-     * @since S60 v3.2
-     * @return the one row list with icon
-     */     
-    CList* ListOneRowWithIcon() const;
-    
-    /**
-     * Get the one row list with icon with bubble
-     * @since S60 v3.2
-     * @return the one row list with icon
-     */     
-    CList* ListOneRowWithIconWithBubble() const;
-    
-    /**
-     * Get the multi row list with icon
-     * @since S60 v3.2
-     * @return the multi row list with icon
-     */
-    CList* ListMultiRowWithIcon() const;    
-
-    /**
-     * Get the multi row list with icon with bubble
-     * @since S60 v3.2
-     * @return the multi row list with icon
-     */
-    CList* ListMultiRowWithIconWithBubble() const;
-    
-
-    /**
-     * Get the multi row list without icon
-     * @since S60 v3.2
-     * @return the multi row list without icon
-     */
-    CList* ListMultiRowWithoutIcon() const;    
-
-    CList* ListMultiRowRollWithIcon() const;
-    
-    CList* ListOneRowRollWithIcon() const;
-    CList* ListExpandableMultiRowWithoutIcon() const;
-    
-    /**
-     * Get the multi row roll list with icon with bubble
-     * @since S60 v3.2
-     * @return the multi row list with icon
-     */
-    CList* ListMultiRowRollWithIconWithBubble() const;
-    
-    /**
-     * Get the one row roll list with icon with bubble
-     * @since S60 v3.2
-     * @return the multi row list with icon
-     */
-    CList* ListOneRowRollWithIconWithBubble() const;
-
-    /**
-     * Reset some data
-     * @since S60 v4.0
-     * @return None.
-     */
-    void ResetStatus();  
-
-protected:
-
-    /**
-     * 2nd construct method
-     *
-     * @since S60 v3.2
-     * @param aContext The context of the drop down list     
-     * @return None
-     */      
-    void ConstructL(MFepCtrlDropdownListContext* aContext);  
-    
-private: // Data
-
-    /**
-     * The current active list
-     * Not own
-     */
-    CList* iActiveList;
-    
-    /**
-     * The one row list without icon
-     * Own
-     */
-    CListOneRowWithoutIcon* iListOneRowWithoutIcon;
-
-    /**
-     * The one row list without icon with bubble
-     * Own
-     */
-    CListOneRowWithoutIconWithBubble* iListOneRowWithoutIconWithBubble;
-    
-    /**
-     * The one row list with icon
-     * Own
-     */
-    CListOneRowWithIcon* iListOneRowWithIcon;
-
-    /**
-     * The one row list with icon with bubble
-     * Own
-     */
-    CListOneRowWithIconWithBubble* iListOneRowWithIconWithBubble;
-    
-    /**
-     * The multi row list with icon
-     * Own
-     */
-    CListMultiRowWithIcon* iListMultiRowWithIcon;
-    
-    /**
-     * The multi row list with icon with bubble
-     * Own
-     */
-    CListMultiRowWithIconWithBubble* iListMultiRowWithIconWithBubble;
-
-    /**
-     * The multi row list without icon
-     * Own
-     */
-    CListMultiRowWithoutIcon* iListMultiRowWithoutIcon;
-
-    CListMultiRowRollWithIcon* iListMultiRowRollWithIcon;
-    CListOneRowRollWithIcon* iListOneRowRollWithIcon;
-    CListExpandableMultiRowWithoutIcon* iListExpandableMultiRowWithoutIcon;
-    
-    /**
-     * The one row roll list with icon with bubble
-     * Own
-     */
-    CListOneRowRollWithIconWithBubble* iListOneRowRollWithIconWithBubble;
-    
-    /**
-     * The multi row roll list with icon with bubble
-     * Own
-     */
-    CListMultiRowRollWithIconWithBubble* iListMultiRowRollWithIconWithBubble;
-
-    /**
-     * The dropdownlist context
-     * Not Own
-     */
-    MFepCtrlDropdownListContext* iContext;
-       
-    };
-
-#endif // C_LISTMANAGER_H
-
-// End Of File
--- a/textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputlistmultirowrollwithicon.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-/*
-* 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 C_CLISTMULTIROWROLLWITHICON_H
-#define C_CLISTMULTIROWROLLWITHICON_H
-
-#include "peninputlistmultirowwithicon.h"
-
-// forward declaration
-class MFepCtrlDropdownListContext;
-
-NONSHARABLE_CLASS(CListMultiRowRollWithIcon) : public CListMultiRowWithIcon
-    {
-public: // Methods
-
-    static CListMultiRowRollWithIcon* NewL(CListManager* aManager, 
-                                           MFepCtrlDropdownListContext* iOwner);
-    
-    virtual ~CListMultiRowRollWithIcon();
-
-    // txin
-    virtual void HandlePointerDownL(const TPoint& aPoint);
-    // end
-
-    virtual void HandlePointerUpL(const TPoint& aPoint);
-
-    virtual void SetNextPageHighlightCellAfterOnePageL(const TInt aCellIndex);
-    
-    virtual void UpdateListL(TBool aDrawFlag = ETrue, TBool aRecalculate = ETrue);
-
-protected: // Methods
-
-    CListMultiRowRollWithIcon(CListManager* aManager, MFepCtrlDropdownListContext* aOwner);
-
-protected:
-
-    typedef struct TLineCandidateTag
-        {
-        TInt iStartIdx;
-        TInt iEndIdx;
-        } TLineCandidate;
-
-    TInt StartCandIdxOfLine(TInt aCandIndex);
-    
-    void ResetStatus();
-
-private:
-
-    virtual TInt CalculatePositionsL();
-    
-private: // Data member
-
-    // added by txin
-    RArray<TLineCandidate> iLines;
-    // end adding
-    };
-
-#endif // C_CLISTMULTIROWROLLWITHICON_H
\ No newline at end of file
--- a/textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputlistmultirowrollwithiconwithbubble.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* 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 C_CLISTMULTIROWROLLWITHICONWITHBUBBLE_H
-#define C_CLISTMULTIROWROLLWITHICONWITHBUBBLE_H
-
-#include "peninputlistmultirowrollwithicon.h"
-
-// forward declaration
-class MFepCtrlDropdownListContext;
-
-NONSHARABLE_CLASS(CListMultiRowRollWithIconWithBubble) : public CListMultiRowRollWithIcon
-    {
-public: // Methods
-
-    static CListMultiRowRollWithIconWithBubble* NewL(CListManager* aManager, 
-                                           MFepCtrlDropdownListContext* iOwner);
-    
-    virtual ~CListMultiRowRollWithIconWithBubble();
-
-    virtual void HandlePointerDownL(const TPoint& aPoint);
-
-    virtual void HandlePointerUpL(const TPoint& aPoint);
-    virtual void HandlePointerDragL(const TPoint& aPoint);
-
-    virtual TBool CompareRect(const TRect& aSrcRect, const TRect& aDesRect);
-protected: // Methods
-
-    CListMultiRowRollWithIconWithBubble(CListManager* aManager, MFepCtrlDropdownListContext* aOwner);
-
-
-    };
-
-#endif // C_CLISTMULTIROWROLLWITHICONWITHBUBBLE_H
\ No newline at end of file
--- a/textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputlistmultirowwithicon.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,189 +0,0 @@
-/*
-* 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:  Multi rows list with icon for drop-down list objects
-*
-*/
-
-
-#ifndef C_CLISTMULTIROWWITHICON_H
-#define C_CLISTMULTIROWWITHICON_H
-
-//  INCLUDES
-#include <e32std.h>
-#include <w32std.h>
-
-#include "peninputlist.h"
-#include "peninputcandidate.h"
-
-// class forward decalaration
-class MFepCtrlDropdownListContext;
-
-/**
- *  Multi rows list with icon for drop-down list
- *
- *  Multi rows list with icon for drop-down list
- *
- *  @lib FepCtrlDropdownList.lib
- *  @since S60 v3.2
- */  
-NONSHARABLE_CLASS(CListMultiRowWithIcon) : public CList
-    {
-    	
-public: // Methods
-
-    /**
-     * Create a object of CListMultiRowWithIcon, static method
-     *
-     * @since S60 v3.2
-     * @param aManager Pointer to the list manager
-     * @param iOwner The drop down list
-     * @return The CListMultiRowWithIcon pointer.
-     */
-    static CListMultiRowWithIcon* NewL(CListManager* aManager, 
-                                       MFepCtrlDropdownListContext* iOwner);
-    
-    /**
-     * Destructor
-     *
-     * @since S60 v3.2
-     */    
-    virtual ~CListMultiRowWithIcon();
-
-// from base class CList
-    
-     /**
-     * Draw the list
-     *
-     * @since S60 v3.2
-     */  
-    virtual void Draw();
-
-    /**
-     * Update the list, including re-calculate the rect of candidates.
-     *
-     * @since S60 v3.2
-     * @param aRecalculate Re-calculate or not calculate the rect of candidates, the default is re-calculate
-     */
-    virtual void UpdateListL(TBool aDrawFlag = ETrue, TBool aRecalculate = ETrue);
-
-    /**
-     * Deal with the pointer down event.
-     *
-     * @since S60 v3.2
-     * @param aPoint The point of the mouse
-     * @return None.
-     */ 
-    virtual void HandlePointerDownL(const TPoint& aPoint);
-
-    /**
-     * Deal with the pointer up event.
-     *
-     * @since S60 v3.2
-     * @param aPoint The point of the mouse
-     * @return None.     
-     */  
-    virtual void HandlePointerUpL(const TPoint& aPoint);
-
-    /**
-     * Deal with the pointer drag event.
-     *
-     * @since S60 v3.2
-     * @param aPoint The point of the mouse
-     * @return None.
-     */ 
-    virtual void HandlePointerDragL(const TPoint& aPoint);
-    
-protected: // Methods
-
-    /**
-     * Constructor.
-     *
-     * @param aManager The list manager
-     * @param aOwner The context of the drop down list     
-     * @since S60 v3.2
-     */  
-    CListMultiRowWithIcon(CListManager* aManager, MFepCtrlDropdownListContext* aOwner);
-
-// from base class CList
-
-    /**
-     * Draw navigation button when pressed.
-     *
-     * @since S60 v3.2
-     * @param aRect The rect which will be drawn
-     * @param aIndicate indicate the button is pressed or not
-     */ 
-    TBool DrawNavigationPress(const TRect& aRect, TBool aIndicate);        
-
-protected:
-
-    /**
-     * Calculate the position of current visible candidates.
-     *
-     * @since S60 v3.2
-     * @return the last candidate visible.
-     */  
-    virtual TInt CalculatePositionsL();
-
-    /**
-     * Calculate all kinds of rectangles of list.
-     *
-     * @since S60 v3.2
-     */  
-    virtual void CalculateAreas();
-
-    virtual void RefreshListL(TBool aRecalculate);
-
-protected:
-
-    /**
-     * the bitmap for close button
-     * Not own
-     */  
-    const CFbsBitmap* iBButtonClose;
-
-    /**
-     * the mask bitmap for close button
-     * Not own
-     */  
-    const CFbsBitmap* iBButtonMaskClose;
-
-    /**
-     * the bitmap for next button
-     * Not own
-     */  
-    const CFbsBitmap* iBButtonDown;
-
-    /**
-     * the mask bitmap for next button
-     * Not own
-     */  
-    const CFbsBitmap* iBButtonMaskDown;
-
-    /**
-     * the bitmap for up button
-     * Not own
-     */  
-    const CFbsBitmap* iBButtonUp;
-
-    /**
-     * the mask bitmap for up button
-     * Not own
-     */  
-    const CFbsBitmap* iBButtonMaskUp;
-    };
-
-#endif //C_CLISTMULTIROWWITHICON_H
-
-// End Of File
--- a/textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputlistmultirowwithiconwithbubble.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,122 +0,0 @@
-/*
-* 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 C_CLISTMULTIROWWITHICONWITHBUBBLE_H
-#define C_CLISTMULTIROWWITHICONWITHBUBBLE_H
-
-//  INCLUDES
-#include <e32std.h>
-#include <w32std.h>
-
-#include "peninputlist.h"
-#include "peninputcandidate.h"
-#include "peninputlistmultirowwithicon.h"
-
-// class forward decalaration
-class MFepCtrlDropdownListContext;
-
-/**
- *  Multi rows list with icon for drop-down list
- *
- *  Multi rows list with icon for drop-down list
- *
- *  @lib FepCtrlDropdownList.lib
- *  @since S60 v3.2
- */  
-NONSHARABLE_CLASS(CListMultiRowWithIconWithBubble) : public CListMultiRowWithIcon
-    {
-    	
-public: // Methods
-
-    /**
-     * Create a object of CListMultiRowWithIcon, static method
-     *
-     * @since S60 v3.2
-     * @param aManager Pointer to the list manager
-     * @param iOwner The drop down list
-     * @return The CListMultiRowWithIcon pointer.
-     */
-    static CListMultiRowWithIconWithBubble* NewL(CListManager* aManager, 
-                                       MFepCtrlDropdownListContext* iOwner);
-    
-    /**
-     * Destructor
-     *
-     * @since S60 v3.2
-     */    
-    virtual ~CListMultiRowWithIconWithBubble();
-
-// from base class CListMultiRowWithIcon
-
-    /**
-     * Deal with the pointer down event.
-     *
-     * @since S60 v3.2
-     * @param aPoint The point of the mouse
-     * @return None.
-     */ 
-    virtual void HandlePointerDownL(const TPoint& aPoint);
-
-    /**
-     * Deal with the pointer up event.
-     *
-     * @since S60 v3.2
-     * @param aPoint The point of the mouse
-     * @return None.     
-     */  
-    virtual void HandlePointerUpL(const TPoint& aPoint);
-
-    /**
-     * Deal with the pointer drag event.
-     *
-     * @since S60 v3.2
-     * @param aPoint The point of the mouse
-     * @return None.
-     */ 
-    virtual void HandlePointerDragL(const TPoint& aPoint);
-    
-protected: // Methods
-
-    /**
-     * Constructor.
-     *
-     * @param aManager The list manager
-     * @param aOwner The context of the drop down list     
-     * @since S60 v3.2
-     */  
-    CListMultiRowWithIconWithBubble(CListManager* aManager, MFepCtrlDropdownListContext* aOwner);
-
-// from base class CList
-
-    /**
-     * Compare rects equal or not.
-     *
-     * @since S60 v3.2
-     * @param aSrcRect The source rect
-     * @param aDesRect The destination rect
-     * @return ETrue If the two rects are equal.     
-     */  
-    virtual TBool CompareRect(const TRect& aSrcRect, const TRect& aDesRect);
-
-protected:
-
-
-    };
-
-#endif //C_CLISTMULTIROWWITHICONWITHBUBBLE_H
-
-// End Of File
--- a/textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputlistmultirowwithouticon.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-/*
-* 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:  Multi rows list without icon for drop-down list objects
-*
-*/
-
-
-#ifndef C_LISTMULTIROWWITHOUTICON_H
-#define C_LISTMULTIROWWITHOUTICON_H
-
-/**
- *  Multi rows list without icon for drop-down list
- *
- *  @lib FepCtrlDropdownList.lib
- *  @since S60 v3.2
- */  
-NONSHARABLE_CLASS(CListMultiRowWithoutIcon) : public CList
-    {
-    	
-public: // Methods
-
-    /**
-     * Create a object of CListMultiRowWithoutIcon, static method
-     *
-     * @since S60 v3.2
-     * @param aManager Pointer to the list manager
-     * @param iOwner The drop down list
-     * @return The CListMultiRowWithoutIcon pointer.
-     */
-    static CListMultiRowWithoutIcon* NewL(CListManager* aManager, 
-                                       MFepCtrlDropdownListContext* iOwner);
-    
-    /**
-     * Destructor
-     *
-     * @since S60 v3.2
-     */    
-    virtual ~CListMultiRowWithoutIcon();
-
-// from base class CList
-    
-     /**
-     * Draw the list
-     *
-     * @since S60 v3.2
-     */  
-    virtual void Draw();
-
-    /**
-     * Update the list, including re-calculate the rect of candidates.
-     *
-     * @since S60 v3.2
-     * @param aRecalculate Re-calculate or not calculate 
-	 *		  the rect of candidates, the default is re-calculate
-     */
-    virtual void UpdateListL(TBool aDrawFlag = ETrue, TBool aRecalculate = ETrue);
-
-    /**
-     * Deal with the pointer up event.
-     *
-     * @since S60 v3.2
-     * @param aPoint The point of the mouse
-     * @return None.     
-     */  
-    virtual void HandlePointerUpL(const TPoint& aPoint);
-
-    /**
-     * Deal with the pointer drag event.
-     *
-     * @since S60 v3.2
-     * @param aPoint The point of the mouse
-     * @return None.
-     */ 
-    virtual void HandlePointerDragL(const TPoint& aPoint);
-    
-protected: // Methods
-
-    /**
-     * Constructor.
-     *
-     * @since S60 v3.2
-     * @param aManager The list manager
-     * @param aOwner The context of the drop down list     
-     */  
-    CListMultiRowWithoutIcon( CListManager* aManager, 
-							  MFepCtrlDropdownListContext* aOwner);
-    
-private: //Methods
-
-    /**
-     * Calculate the position of current visible candidates.
-     *
-     * @since S60 v3.2
-     * @return the last candidate visible.
-     */  
-    virtual TInt CalculatePositionsL();
-
-    /**
-     * Calculate all kinds of rectangles of list.
-     *
-     * @since S60 v3.2
-     */  
-    virtual void CalculateAreas();
-
-    };
-
-#endif // C_LISTMULTIROWWITHOUTICON_H
-
-// End Of File
--- a/textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputlistonerowrollwithicon.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* 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 C_CLISTONEROWROLLWITHICON_H
-#define C_CLISTONEROWROLLWITHICON_H
-
-#include "peninputlistonerowwithicon.h"
-
-NONSHARABLE_CLASS(CListOneRowRollWithIcon) : public CListOneRowWithIcon
-    {
-
-public: // Methods
-
-    static CListOneRowRollWithIcon* NewL(CListManager* aManager,
-                                         MFepCtrlDropdownListContext* iOwner);
-
-    virtual ~CListOneRowRollWithIcon();
-
-    // not needed, dim next button same as its base class
-    // virtual void Draw();
-
-    virtual void HandlePointerDownL(const TPoint& aPoint);
-
-    virtual void HandlePointerUpL(const TPoint& aPoint);
-
-    virtual void HandlePointerDragL(const TPoint& aPoint);
-
-    virtual void SetHighlightCell(const TInt aCellIndex, TBool aHighlight, 
-                                  TBool aForceDraw = ETrue);
-
-protected: // Methods
-
-    CListOneRowRollWithIcon(CListManager* aManager, MFepCtrlDropdownListContext* aOwner);
-    };
-
-#endif // C_CLISTONEROWROLLWITHICON_H
\ No newline at end of file
--- a/textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputlistonerowrollwithiconwithbubble.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* 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 C_CLISTONEROWROLLWITHICONWITHBUBBLE_H
-#define C_CLISTONEROWROLLWITHICONWITHBUBBLE_H
-
-#include "peninputlistonerowrollwithicon.h"
-
-NONSHARABLE_CLASS(CListOneRowRollWithIconWithBubble) : public CListOneRowRollWithIcon
-    {
-
-public: // Methods
-
-    static CListOneRowRollWithIconWithBubble* NewL(CListManager* aManager,
-                                         MFepCtrlDropdownListContext* iOwner);
-
-    virtual ~CListOneRowRollWithIconWithBubble();
-
-    // not needed, dim next button same as its base class
-    // virtual void Draw();
-
-    virtual void HandlePointerDownL(const TPoint& aPoint);
-
-    virtual void HandlePointerUpL(const TPoint& aPoint);
-
-    virtual void HandlePointerDragL(const TPoint& aPoint);
-
-    virtual void HandlePointerLeave(const TPoint& aPoint);
-    virtual TBool CompareRect(const TRect& aSrcRect, const TRect& aDesRect);
-
-protected: // Methods
-
-    CListOneRowRollWithIconWithBubble(CListManager* aManager, MFepCtrlDropdownListContext* aOwner);
-    };
-
-#endif // C_CLISTONEROWROLLWITHICON_H
\ No newline at end of file
--- a/textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputlistonerowwithicon.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +0,0 @@
-/*
-* 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:  One rows list with icon for drop-down list objects
-*
-*/
-
-
-#ifndef C_CLISTONEROWWITHICON_H
-#define C_CLISTONEROWWITHICON_H
-
-//  INCLUDES
-#include <e32std.h>
-#include <w32std.h>
-
-#include "peninputlist.h"
-#include "peninputcandidate.h"
-
-// class forward decalaration
-class MFepCtrlDropdownListContext;
-
-/**
- *  One rows list without icon for drop-down list
- *
- *  One rows list without icon for drop-down list
- *
- *  @lib FepCtrlDropdownList.lib
- *  @since S60 v3.2
- */  
-NONSHARABLE_CLASS(CListOneRowWithIcon) : public CList
-    {
-
-public: // Methods
-
-    /**
-     * Create a object of CListOneRowWithIcon, static method
-     *
-     * @since S60 v3.2
-     * @param aManager Pointer to the list manager
-     * @param iOwner The drop down list
-     * @return CListOneRowWithIcon pointer.
-     */
-    static CListOneRowWithIcon* NewL(CListManager* aManager,
-                                     MFepCtrlDropdownListContext* iOwner);
-
-    /**
-     * Destructor
-     *
-     * @since S60 v3.2
-     */    
-    virtual ~CListOneRowWithIcon();
-
-// from base class CList
-    
-     /**
-     * Draw the list
-     *
-     * @since S60 v3.2
-     */
-    virtual void Draw();
-
-    /**
-     * Update the list, including re-calculate the rect of candidates.
-     *
-     * @since S60 v3.2
-     * @param aRecalculate Re-calculate or not calculate the rect of candidates, the default is re-calculate
-     */
-    virtual void UpdateListL(TBool aDrawFlag = ETrue, TBool aRecalculate = ETrue);
-
-  /**
-     * Deal with the pointer down event.
-     *
-     * @since S60 v3.2
-     * @param aPoint The point of the mouse
-     * @return None.
-     */ 
-    virtual void HandlePointerDownL(const TPoint& aPoint);
-
-    /**
-     * Deal with the pointer up event.
-     *
-     * @since S60 v3.2
-     * @param aPoint The point of the mouse
-     * @return None.
-     */  
-    virtual void HandlePointerUpL(const TPoint& aPoint);
-
-    /**
-     * Deal with the pointer drag event.
-     *
-     * @since S60 v3.2
-     * @param aPoint The point of the mouse
-     * @return None.
-     */ 
-    virtual void HandlePointerDragL(const TPoint& aPoint);
-
-protected: // Methods
-
-    /**
-     * Constructor.
-     *
-     * @param aManager The list manager
-     * @param aOwner The context of the drop down list          
-     * @since S60 v3.2
-     */  
-    CListOneRowWithIcon(CListManager* aManager, MFepCtrlDropdownListContext* aOwner);
-
-// from base class CList
-
-    /**
-     * Draw navigation button when pressed.
-     *
-     * @since S60 v3.2
-     * @param aRect The rect which will be drawn
-     * @param aIndicate Indicate the button is pressed or not
-     */ 
-    TBool DrawNavigationPress(const TRect& aRect, TBool aIndicate);
-
-protected:
-
-    /**
-     * Calculate the position of current visible candidates.
-     *
-     * @since S60 v3.2
-     * @return the last candidate visible.
-     */  
-    virtual TInt CalculatePositionsL();
-
-    /**
-     * Calculate all kinds of rectangles of list.
-     *
-     * @since S60 v3.2
-     */  
-    virtual void CalculateAreas();
-
-protected:
-
-    /**
-     * the bitmap for next button
-     * Not own     
-     */  
-    const CFbsBitmap* iBButtonDown;
-
-    /**
-     * the mask bitmap for next button
-     * Not own
-     */  
-    const CFbsBitmap* iBButtonMaskDown;
-    
-    };
-
-#endif //C_CLISTONEROWWITHICON_H
-
-// End Of File
--- a/textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputlistonerowwithiconwithbubble.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,135 +0,0 @@
-/*
-* 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 C_CLISTONEROWWITHICONWITHBUBBLE_H
-#define C_CLISTONEROWWITHICONWITHBUBBLE_H
-
-//  INCLUDES
-#include <e32std.h>
-#include <w32std.h>
-
-#include "peninputlist.h"
-#include "peninputlistonerowwithicon.h"
-#include "peninputcandidate.h"
-
-// class forward decalaration
-class MFepCtrlDropdownListContext;
-
-/**
- *  One rows list without icon for drop-down list
- *
- *  One rows list without icon for drop-down list
- *
- *  @lib FepCtrlDropdownList.lib
- *  @since S60 v3.2
- */  
-NONSHARABLE_CLASS(CListOneRowWithIconWithBubble) : public CListOneRowWithIcon
-    {
-
-public: // Methods
-
-    /**
-     * Create a object of CListOneRowWithIcon, static method
-     *
-     * @since S60 v3.2
-     * @param aManager Pointer to the list manager
-     * @param iOwner The drop down list
-     * @return CListOneRowWithIcon pointer.
-     */
-    static CListOneRowWithIconWithBubble* NewL(CListManager* aManager,
-                                     MFepCtrlDropdownListContext* iOwner);
-
-    /**
-     * Destructor
-     *
-     * @since S60 v3.2
-     */    
-    virtual ~CListOneRowWithIconWithBubble();
-
-// from base class CListOneRowWithIcon
-    
-  /**
-     * Deal with the pointer down event.
-     *
-     * @since S60 v3.2
-     * @param aPoint The point of the mouse
-     * @return None.
-     */ 
-    virtual void HandlePointerDownL(const TPoint& aPoint);
-
-    /**
-     * Deal with the pointer up event.
-     *
-     * @since S60 v3.2
-     * @param aPoint The point of the mouse
-     * @return None.
-     */  
-    virtual void HandlePointerUpL(const TPoint& aPoint);
-
-    /**
-     * Deal with the pointer drag event.
-     *
-     * @since S60 v3.2
-     * @param aPoint The point of the mouse
-     * @return None.
-     */ 
-    virtual void HandlePointerDragL(const TPoint& aPoint);
-
- // from base class CList    
-    /**
-     * Deal with the pointer leave event.
-     *
-     * @since S60 v3.2
-     * @param aPoint The point of the mouse
-     * @return None.
-     */     
-    virtual void HandlePointerLeave(const TPoint& aPoint);
-
-protected: // Methods
-
-    /**
-     * Constructor.
-     *
-     * @param aManager The list manager
-     * @param aOwner The context of the drop down list          
-     * @since S60 v3.2
-     */  
-    CListOneRowWithIconWithBubble(CListManager* aManager, MFepCtrlDropdownListContext* aOwner);
-
-// from base class CList
-
-    /**
-     * Compare rects equal or not.
-     *
-     * @since S60 v3.2
-     * @param aSrcRect The source rect
-     * @param aDesRect The destination rect
-     * @return ETrue If the two rects are equal.     
-     */  
-    virtual TBool CompareRect(const TRect& aSrcRect, const TRect& aDesRect);
-
-protected:
-
-
-protected:
-
-    
-    };
-
-#endif //C_CLISTONEROWWITHICONWITHBUBBLE_H
-
-// End Of File
--- a/textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputlistonerowwithouticon.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,139 +0,0 @@
-/*
-* 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:  One rows list with icon for drop-down list objects
-*
-*/
-
-
-#ifndef C_CLISTONEROWWITHOUTICON_H
-#define C_CLISTONEROWWITHOUTICON_H
-
-//  INCLUDES
-#include <e32std.h>
-#include <w32std.h>
-
-#include "peninputlist.h"
-#include "peninputcandidate.h"
-
-// class forward decalaration
-class MFepCtrlDropdownListContext;
-
-/**
- *  One rows list with icon for drop-down list
- *
- *  One rows list with icon for drop-down list
- *
- *  @lib FepCtrlDropdownList.lib
- *  @since S60 v3.2
- */  
-NONSHARABLE_CLASS(CListOneRowWithoutIcon) : public CList
-    {
-  
-public:  // Methods
-
-    /**
-     * Create a object of CListOneRowWithoutIcon, static method
-     *
-     * @since S60 v3.2
-     * @param iOwner The drop down list
-     * @return The CListOneRowWithoutIcon pointer.
-     */
-    static CListOneRowWithoutIcon* NewL(CListManager* aManager, 
-                                        MFepCtrlDropdownListContext* iOwner);
-
-    /**
-     * Destructor
-     *
-     * @since S60 v3.2
-     */    
-    virtual ~CListOneRowWithoutIcon();
-
-// from base class CList
-
-    /**
-     * Draw the list
-     *
-     * @since S60 v3.2
-     */  
-    virtual void Draw();
-
-    /**
-     * Update the list, including re-calculate the rect of candidates.
-     *
-     * @since S60 v3.2
-     * @param aRecalculate Re-calculate or not calculate the rect of candidates, the default is re-calculate
-     */
-    virtual void UpdateListL(TBool aDrawFlag = ETrue, TBool aRecalculate = ETrue);
-
-    /**
-     * Deal with the pointer down event.
-     *
-     * @since S60 v3.2
-     * @param aPoint The point of the mouse
-     * @return None.
-     */ 
-    virtual void HandlePointerDownL(const TPoint& aPoint);
-
-    /**
-     * Deal with the pointer up event.
-     *
-     * @since S60 v3.2
-     * @param aPoint The point of the mouse
-     * @return None.
-     */  
-    virtual void HandlePointerUpL(const TPoint& aPoint);
-
-    /**
-     * Deal with the pointer drag event.
-     *
-     * @since S60 v3.2
-     * @param aPoint The point of the mouse
-     * @return None.
-     */ 
-    virtual void HandlePointerDragL(const TPoint& aPoint);
-
-                   
-protected:  // Methods
-
-    /**
-     * Constructor.
-     *
-     * @param aManager The list manager
-     * @param aOwner The context of the drop down list           
-     * @since S60 v3.2
-     */  
-    CListOneRowWithoutIcon(CListManager* aManager, MFepCtrlDropdownListContext* aOwner);
-                   
-private: //Methods
-
-    /**
-     * Calculate the position of current visible candidates.
-     *
-     * @since S60 v3.2
-     * @return the last candidate visible.
-     */  
-    virtual TInt CalculatePositionsL();
-
-    /**
-     * Calculate all kinds of rectangles of list.
-     *
-     * @since S60 v3.2
-     */  
-    virtual void CalculateAreas();
-
-    };
-
-#endif //C_CLISTONEROWWITHOUTICON_H
-
-// End Of File
--- a/textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputlistonerowwithouticonwithbubble.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,132 +0,0 @@
-/*
-* 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 C_CLISTONEROWWITHOUTICONWITHBUBBLE_H
-#define C_CLISTONEROWWITHOUTICONWITHBUBBLE_H
-
-//  INCLUDES
-#include <e32std.h>
-#include <w32std.h>
-
-#include "peninputlist.h"
-#include "peninputlistonerowwithouticon.h"
-#include "peninputcandidate.h"
-
-// class forward decalaration
-class MFepCtrlDropdownListContext;
-
-/**
- *  One rows list with icon for drop-down list
- *
- *  One rows list with icon for drop-down list
- *
- *  @lib FepCtrlDropdownList.lib
- *  @since S60 v3.2
- */  
-NONSHARABLE_CLASS(CListOneRowWithoutIconWithBubble) : public CListOneRowWithoutIcon
-    {
-  
-public:  // Methods
-
-    /**
-     * Create a object of CListOneRowWithoutIcon, static method
-     *
-     * @since S60 v3.2
-     * @param iOwner The drop down list
-     * @return The CListOneRowWithoutIcon pointer.
-     */
-    static CListOneRowWithoutIconWithBubble* NewL(CListManager* aManager, 
-                                        MFepCtrlDropdownListContext* iOwner);
-
-    /**
-     * Destructor
-     *
-     * @since S60 v3.2
-     */    
-    virtual ~CListOneRowWithoutIconWithBubble();
-
-// from base class CList
-
-    /**
-     * Deal with the pointer down event.
-     *
-     * @since S60 v3.2
-     * @param aPoint The point of the mouse
-     * @return None.
-     */ 
-    virtual void HandlePointerDownL(const TPoint& aPoint);
-
-    /**
-     * Deal with the pointer up event.
-     *
-     * @since S60 v3.2
-     * @param aPoint The point of the mouse
-     * @return None.
-     */  
-    virtual void HandlePointerUpL(const TPoint& aPoint);
-
-    /**
-     * Deal with the pointer drag event.
-     *
-     * @since S60 v3.2
-     * @param aPoint The point of the mouse
-     * @return None.
-     */ 
-    virtual void HandlePointerDragL(const TPoint& aPoint);
-
-
- // from base class CList    
-    /**
-     * Deal with the pointer leave event.
-     *
-     * @since S60 v3.2
-     * @param aPoint The point of the mouse
-     * @return None.
-     */     
-    virtual void HandlePointerLeave(const TPoint& aPoint);  
-                   
-protected:  // Methods
-
-    /**
-     * Constructor.
-     *
-     * @param aManager The list manager
-     * @param aOwner The context of the drop down list           
-     * @since S60 v3.2
-     */  
-    CListOneRowWithoutIconWithBubble(CListManager* aManager, MFepCtrlDropdownListContext* aOwner);
-  
-// from base class CList
-
-    /**
-     * Compare rects equal or not.
-     *
-     * @since S60 v3.2
-     * @param aSrcRect The source rect
-     * @param aDesRect The destination rect
-     * @return ETrue If the two rects are equal.     
-     */  
-    virtual TBool CompareRect(const TRect& aSrcRect, const TRect& aDesRect);  
-                   
-private: //Methods
-
-
-    };
-
-#endif //C_CLISTONEROWWITHOUTICON_H
-
-// End Of File
--- a/textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputpages.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,131 +0,0 @@
-/*
-* Copyright (c) 2200 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:  Pages manager,which is used by drop down list
-*
-*/
-
-
-#ifndef C_PAGES_H
-#define C_PAGES_H
-
-#include <e32base.h>
-#include <w32std.h>
-
-/**
- *  Pages manager
- *
- *  Pages manager used by drop down list
- *
- *  @lib FepCtrlDropdownList.lib
- *  @since S60 v3.2
- */ 
-NONSHARABLE_CLASS(CPages) : public CBase
-    {
-    
-public:  
-
-    /**
-     * Create a object of CPages, static method
-     *
-     * @since S60 v3.2
-     * @return CPages pointer.
-     */
-    static CPages* NewL();
-    
-    /**
-     * Destructor
-     *
-     * @since S60 v3.2
-     */     
-    virtual ~CPages();        
- 
-    /**
-     * Add one page into the page list
-     *
-     * @since S60 v3.2
-     * @param aFirstIndex The first index of the page
-     * @param aLastIndex The last index of the page    
-     * @return None.
-     */
-    void AddPage(const TInt aFirstIndex, const TInt aLastIndex); 
-           
-    /**
-     * Get previous index according the appointed last index
-     *
-     * @since S60 v3.2
-     * @param aLastIndex The current last index 
-     * @param aFirstIndexOfPrevious Returned first index of previous page
-     * @param aLastIndexOfPrevious Returned last index of previous page
-     * @return The find result, ETrue if success, else EFalse.
-     */
-    TBool GetPreviousIndex(const TInt aLastIndex, 
-                           TInt& aFirstIndexOfPrevious, 
-                           TInt& aLastIndexOfPrevious) const;
-    
-    /**
-     * Reset the pages, clear all pages
-     *
-     * @since S60 v3.2
-     * @return None.
-     */
-    void Reset();
-    
-    /**
-     * Get page count in the list
-     *
-     * @since S60 v3.2
-     * @return Page count.
-     */
-    TInt PageCount() const;    
-    
-    /**
-     * Get page by appointed postion.
-     *
-     * @since S60 v3.2
-     * @param aPos The appointed postion
-     * @param aFirstIndex Returned first index of page
-     * @param aLastIndex Returned last index of page
-     * @return The find result, ETrue if success, else EFalse.
-     */
-    TBool GetPageIndexByPos(const TInt aPos, 
-                            TInt& aFirstIndex, 
-                            TInt& aLastIndex) const;
-    
-protected:
-
-    /**
-     * 2nd construct method
-     *
-     * @since S60 v3.2
-     * @return None
-     */      
-    void ConstructL();  
-    
-private: // Data
-
-    /**
-     * the list for first indexes 
-     */  
-    RArray<TInt> iFirstIndexList;
-    
-    /**
-     * the list for last indexes 
-     */  
-    RArray<TInt> iLastIndexList;
-      
-    };
-
-#endif // C_PAGES_H
-
-// End Of File
--- a/textinput/peninputcommonctrls/inc/peninputgeneralheaders/peninputcommonctrls.hrh	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
-* 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:  Resource headers for project common controls for fep
-*
-*/
-
-
-#ifndef AKNFEPCOMMONCTRLS_HRH
-#define AKNFEPCOMMONCTRLS_HRH
-
-enum TButtonType
-    {
-    EButtonTypeNormal = 0,
-    EButtonTypeMultiMode,
-    EButtonTypePopupMode
-    };
-    
-enum TRangeType
-    {
-    ERangeTypeNormal = 0,
-    ERangeTypeMixed
-    };
-
-#endif // AKNFEPCOMMONCTRLS_HRH
-
-// End Of File
--- a/textinput/peninputcommonctrls/inc/peninputgeneralheaders/peninputcommonctrls.rh	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,318 +0,0 @@
-/*
-* 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:  Resource headers for project hwrboxbased
-*
-*/
-
-
-#ifndef AKNFEPCOMMONCTRLS_RH
-#define AKNFEPCOMMONCTRLS_RH
-
-//  INCLUDES
-#include <uikon.rh>
-#include "AknFepGlobalEnums.h"
-
-// CONSTANT DEFINE
-#define DEFAULT_ICON_COLOR_GROUP 29
-
-//  STRUCTURE DEFINITIONS
-
-// -----------------------------------------------------------------------------
-// AKN_FEP_INPUTRANGE
-// Resource definition for input range
-// -----------------------------------------------------------------------------
-//
-STRUCT AKN_FEP_INPUTRANGE
-    {
-    WORD rangeid=0;
-    WORD rangetype=0;
-    WORD ctrlid=0;
-    WORD ctrltype=0;
-    LLINK indicator;
-    // only meaningful when whole range bar action style is ERangeBarUsingIndicatorStyle
-    // default is hided when actived
-    WORD actionstyle=0; 
-    // shown by default
-    WORD hide=0;  
-    // only meaningful when whole range bar action style is ERangeBarUsingIndicatorStyle,
-    // while every indicator's position is fixed, following value is position index in
-    // cellrect list
-    WORD posidx=0;
-    }
-
-// -----------------------------------------------------------------------------
-// AKN_FEP_INPUTRANGE_LIST
-// Resource definition for input mode list
-// -----------------------------------------------------------------------------
-//
-STRUCT AKN_FEP_INPUTRANGE_LIST
-    {
-    STRUCT ranges[];
-    WORD default=0;
-    }
-    
-// -----------------------------------------------------------------------------
-// AKN_FEP_BUTTON_IMAGE
-// Resource definition for button
-// -----------------------------------------------------------------------------
-//
-STRUCT AKN_FEP_BUTTON_IMAGE
-    {
-    LTEXT bmpfile="";
-    LONG imgmajorskinid=0xffff;
-		WORD colorgroup=DEFAULT_ICON_COLOR_GROUP;
-		
-    WORD nactive=0xffff;
-    WORD nactivemsk=0xffff;
-    WORD nactiveskinid=0xffff;     
-    
-    WORD nactivep=0xffff;
-    WORD nactivepmsk=0xffff;
-    WORD nactivepskinid=0xffff;
-    
-    WORD active=0xffff;
-    WORD activemsk=0xffff;
-    WORD activeskinid=0xffff;
-    
-    WORD activep=0xffff;
-    WORD activepmsk=0xffff;
-    WORD activepskinid=0xffff;
-    
-    WORD disable=0xffff;
-    WORD disablemsk=0xffff;
-    WORD disableskinid=0xffff;    
-
-    WORD moveindicator=0xffff;
-    WORD moveindicatormsk=0xffff;
-    WORD moveindicatorskinid=0xffff;
-    }
-    
-// -----------------------------------------------------------------------------
-// AKN_FEP_COMMON_BUTTON_IMAGE
-// Resource definition for button
-// -----------------------------------------------------------------------------
-//
-STRUCT AKN_FEP_COMMON_BUTTON_IMAGE
-    {
-    LTEXT bmpfile="";
-    LONG imgmajorskinid=0xffff;
-		WORD colorgroup=DEFAULT_ICON_COLOR_GROUP;
-		
-    WORD forground=0xffff;
-    WORD forgroundmsk=0xffff;
-    WORD forgroundskinid=0xffff;     
-    }
-
-// -----------------------------------------------------------------------------
-// AKN_FEP_RAWKEY_BUTTON
-// Resource definition of raw key buttons which can be used to simulate itut keys
-// -----------------------------------------------------------------------------
-//
-STRUCT AKN_FEP_RAWKEY_BUTTON
-    {
-    WORD scancode = 0xffff;
-    LLINK buttonimage; // link to AKN_FEP_BUTTON_IMAGE
-    }
-
-// -----------------------------------------------------------------------------
-// AKN_FEP_MULTIPLE_MODE_BUTTON
-// Resource definition of image list for buttons which can have multiple images
-// -----------------------------------------------------------------------------
-//
-STRUCT AKN_FEP_MULTIPLE_MODE_BUTTON
-    {
-    LONG colormajorskinid=0xffff;
-    WORD textcolorgrp=0xffff;
-    WORD textcoloridx=0xffff;
-    WORD shadowtextcoloridx=0xffff;
-    STRUCT modes[];
-    WORD defaultmode = 0;
-    }
-    
-// -----------------------------------------------------------------------------
-// AKN_FEP_MULTI_IMAGE_BUTTON_IMAGE
-// Resource definition for button
-// -----------------------------------------------------------------------------
-//
-STRUCT AKN_FEP_MULTI_IMAGE_BUTTON_IMAGE
-    {
-    LTEXT bmpfile="";
-    LONG imgmajorskinid=0xffff;
-		WORD colorgroup=DEFAULT_ICON_COLOR_GROUP;
-		
-    WORD forground1=0xffff;
-    WORD forground1msk=0xffff;
-    WORD forground1skinid=0xffff;
-    
-    WORD forground2=0xffff;
-    WORD forground2msk=0xffff;
-    WORD forground2skinid=0xffff;     
-    }    
-    
-STRUCT AKN_FEP_BUTTON_MODE
-    {
-    LLINK modeimage;
-    LTEXT modestring="";
-    WORD rangeid=0xffff;
-    WORD modeid=0xffff;
-    }
-
-// -----------------------------------------------------------------------------
-// AKN_FEP_SELECTION_LIST_IMAGE
-// Resource definition of selection list
-// -----------------------------------------------------------------------------
-//
-STRUCT AKN_FEP_SELECTION_LIST_IMAGE
-    {
-    LTEXT bmpfile="";
-    LONG imgmajorskinid = 0xffff;
-
-    WORD normalbmp = 0xffff;
-    WORD normalmsk = 0xffff;
-    WORD normalskinid = 0xffff;
-
-    WORD highlightbmp = 0xffff;
-    WORD highlightmsk = 0xffff;
-    WORD highlightskinid = 0xffff;
-    }
-
-// -----------------------------------------------------------------------------
-// AKN_FEP_INPUTMODE_NAME
-// Resource definition of inputmode name
-// -----------------------------------------------------------------------------
-//
-STRUCT AKN_FEP_INPUTMODE_NAME
-    {
-    LONG modeid= EPluginInputModeNone;
-    LTEXT txt = "";
-    }
-
-// -----------------------------------------------------------------------------
-// AKN_FEP_INPUTMODE_NAME_ARRAY
-// Resource definition of inputmode name ARRAY
-// -----------------------------------------------------------------------------
-//    
-STRUCT AKN_FEP_INPUTMODE_NAMEARRAY
-    {
-    STRUCT names[];
-    }  
-      
-STRUCT AKN_FEP_NONIRREGULAR_VKB_BITMAP
-    {
-    LTEXT bmpfile="";
-    LONG imgmajorskinid=0xffff;
-        
-    WORD normal=0xffff;
-    WORD normalmsk=0xffff;
-    WORD normalskinid=0xffff;     
-    
-    WORD highlight=0xffff;
-    WORD highlightmsk=0xffff;
-    WORD highlightskinid=0xffff;
-    
-    WORD dimmed=0xffff;
-    WORD dimmedmsk=0xffff;
-    WORD dimmedskinid=0xffff;
-    }        
-
-STRUCT AKN_FEP_IRREGULAR_VKB_BITMAP
-    {
-    LTEXT bmpfile="";
-    
-    WORD leftdownnormal=0xffff;
-    WORD leftdownnormalmask=0xffff;
-    WORD leftdownnormalskinid=0xffff;
-    WORD leftdownpressed=0xffff;
-    WORD leftdownpressedmask=0xffff;
-    WORD leftdownpressedkinid=0xffff;
-    WORD leftdowndimmed=0xffff;
-    WORD leftdowndimmedmask=0xffff;
-    WORD leftdowndimmedskinid=0xffff;
-
-    WORD middleupnormal=0xffff;
-    WORD middleupnormalmask=0xffff;
-    WORD middleupnormalskinid=0xffff;
-    WORD middleuppressed=0xffff;
-    WORD middleuppressedmask=0xffff;
-    WORD middleuppressedkinid=0xffff;
-    WORD middleupdimmed=0xffff;
-    WORD middleupdimmedmask=0xffff;
-    WORD middleupdimmedskinid=0xffff;
-
-    WORD middledownnormal=0xffff;
-    WORD middledownnormalmask=0xffff;
-    WORD middledownnormalskinid=0xffff;
-    WORD middledownpressed=0xffff;
-    WORD middledownpressedmask=0xffff;
-    WORD middledownpressedkinid=0xffff;
-    WORD middledowndimmed=0xffff;
-    WORD middledowndimmedmask=0xffff;
-    WORD middledowndimmedskinid=0xffff;
-
-    WORD rightdownnormal=0xffff;
-    WORD rightdownnormalmask=0xffff;
-    WORD rightdownnormalskinid=0xffff;
-    WORD rightdownpressed=0xffff;
-    WORD rightdownpressedmask=0xffff;
-    WORD rightdownpressedskinid=0xffff;
-    WORD rightdowndimmed=0xffff;
-    WORD rightdowndimmedmask=0xffff;
-    WORD rightdowndimmedskinid=0xffff;
-
-    WORD rightupnormal=0xffff;
-    WORD rightupnormalmask=0xffff;
-    WORD rightupnormalskinid=0xffff;
-    WORD rightuppressed=0xffff;
-    WORD rightuppressedmask=0xffff;
-    WORD rightuppressedskinid=0xffff;
-    WORD rightupwndimmed=0xffff;
-    WORD rightupwndimmedmask=0xffff;
-    WORD rightupwndimmedskinid=0xffff;
-    }        
-
-// -----------------------------------------------------------------------------
-// AKN_FEP_SCROLLABLE_LIST_IMAGE
-// Resource definition for button
-// -----------------------------------------------------------------------------
-//
-STRUCT AKN_FEP_SCROLLABLE_LIST_IMAGE
-    {
-    LTEXT bmpfile="";
-    LONG imgmajorskinid=0xffff;
-
-    LLINK pageup;
-    LLINK pagedown;
-    WORD listsep=0xffff;
-    WORD listsepmsk=0xffff;
-    WORD listspeskinid=0xffff;
-    }
-
-// -----------------------------------------------------------------------------
-// AKN_FEP_COLOR_ICON_IMAGE
-// Resource definition for color icon
-// -----------------------------------------------------------------------------
-//
-STRUCT AKN_FEP_COLOR_ICON_IMAGE
-	 	{
-		LTEXT bmpfile="";
-    LONG imgmajorskinid=0xffff;
-    WORD colorgroup=DEFAULT_ICON_COLOR_GROUP;
-    
-		WORD iconimage=0xffff;
-		WORD iconimagemsk=0xffff;
-		WORD iconimageskinid=0xffff;    
-   	}
-#endif // AKNFEPCOMMONCTRLS_RH
-
-// End Of File
--- a/textinput/peninputcommonctrls/inc/peninputlabel/peninputlabel.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,213 +0,0 @@
-/*
-* Copyright (c) 2005-2006 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:  header file of button and dragbar
-*
-*/
-
-#ifndef C_CAKNFEPCTRLLABEL_H
-#define C_CAKNFEPCTRLLABEL_H
-
-#include <peninputlayoutbasecontrol.h>
-/**
- *  CAknFepCtrlLabel
- *
- *  Label control. This class could be used directly by user.
- *
- *  @lib peninputlayoutcontrol.lib
- *  @since S60 V5.0
- */
-class CAknFepCtrlLabel: public CFepUiBaseCtrl
-    {
-    
-public: 
-    //constructor and destructor
-    /**
-     * Destructor.        
-     *
-     * @since S60 V4.0        
-     */                  
-    IMPORT_C virtual ~CAknFepCtrlLabel();
-
-    /**
-     * Factory function.        
-     *
-     * @since S60 V4.0        
-     * @param aRect The rectangle area for this control
-     * @param aUiLayout Ui layout who contains this control.Ownership not transferred
-     * @param aControlId control Id
-     * @return An instance of CButtonBase class        
-     */                               
-    IMPORT_C static CAknFepCtrlLabel* NewL(CFepUiLayout* aUiLayout,TInt aControlId);
-
-    /**
-     * Set bitmap for given status .        
-     *
-     * @since S60 V4.0        
-     * @param aBmp The bitmap. Ownership transferred to button
-     * @param aType The bitmap type used for
-     */                                 
-    IMPORT_C void SetBitmapL(CFbsBitmap* aBmp);
-
-    /**
-     * Set mask bitmap for given status.        
-     *
-     * @since S60 V4.0        
-     * @param aBmp The bitmap. Ownership transferred to button
-     * @param aType The bitmap type used for
-     */                                 
-    IMPORT_C void SetMaskBitmapL(CFbsBitmap* aBmp);
-
-    //from base class CFepUiBaseCtrl
-    /**
-     * From CFepUiBaseCtrl
-     * Draw control
-     *
-     * @since S60 V4.0
-     */                               
-    IMPORT_C virtual void Draw();    
-
-    /* Set the font for caption
-     *
-     * @since S60 V4.0
-     * @param aFontSpec the font spec to be used.
-     */                                                   
-    IMPORT_C virtual void SetFont(const TFontSpec& aFontSpec);
-    
-    /**
-     * Set font information
-     *
-     * @since S60 V4.0          
-     * @param aFont The font info for key drawing.Ownership not transferred
-     */
-    IMPORT_C virtual void SetFont(const CFont* aFont);    
-
-    /**
-     * Set font text color
-     *
-     * @since S60 V4.0
-     * @param aColor Color for font text
-     */
-     IMPORT_C virtual void SetFontColor(const TRgb aColor);
-     
-     
-    /**
-     * Set text to label
-     *
-     * @since S60 v3.2
-     * @param aText Display text in lable
-     * @return None
-     */
-    IMPORT_C void SetText(const TDesC& aText); 
-    
-    /**
-     * Label size changed
-     *
-     * @since S60 v3.2
-     * @param aNewRect New rect for label
-     * @param aIsReloadImages resize image     
-     * @return None
-     */
-    IMPORT_C virtual void SizeChanged(TRect aNewRect, TBool aIsReloadImages);
-    
-    /**
-     * Set aligment
-     *
-     * @since S60 v3.2
-     * @param aAlignment Text alignment
-     * @return None
-     */
-    IMPORT_C virtual void SetTextAlignment(CGraphicsContext::TTextAlign aAlignment);
-        
-    /**
-     * Get aligment
-     *
-     * @since S60 v3.2
-     * @return Text alignment
-     */
-    IMPORT_C virtual CGraphicsContext::TTextAlign TextAlignment();
-    
-protected:   
-
-    /**
-     * Constructor
-     *
-     * @since S60 V4.0
-     * @param aRect The rectangle area for this control
-     * @param aUiLayout Ui layout who contains this control.Ownership not transferred
-     * @param aControlId control Id
-     */           
-    CAknFepCtrlLabel(CFepUiLayout* aUiLayout,TInt aControlId);
-
-    /**
-     * Bitmaps size changed
-     *
-     * @since S60 v3.2
-     * @param aSize New size for bitmaps
-     * @return None
-     */
-    void ResizeBitmaps(TSize aSize);            
-
-private:    
-
-    /**
-     * bitmap for dimmed state
-     * Own.
-     */
-    CFbsBitmap* iBmp;   
-         
-    /**
-     * mask bitmap for dim stute
-     * Own.
-     */
-    CFbsBitmap* iMaskBmp;
-    
-    /**
-     * lable caption
-     */
-    HBufC* iText;
-    
-    /**
-     * Font object for key drawing
-     * Ownership depends on flag iFontOwnership.
-     */          
-    CFont* iFont;
-
-    /**
-     * Font information for key drawing
-     */     
-    TFontSpec iFontSpec;
-
-    /**
-     *  Flag ownership flag. ETrue if CFont object is owned by this control.
-     */
-    TBool iFontOwnership;
-        
-    /**
-     * Baseline for caption
-     */
-    TInt iBaseline;
-    
-    /**
-     * Pen color for first level caption
-     */     
-    TRgb iFontColor;
-
-    /**
-     * Text alignment
-     */     
-    CGraphicsContext::TTextAlign iAlignment;
-
-    };
-
-#endif // C_CAKNFEPCTRLLABEL_H
\ No newline at end of file
--- a/textinput/peninputcommonctrls/inc/peninputrangebar/peninputrangebar.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,616 +0,0 @@
-/*
-* 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:  Control group of different input ranges
-*
-*/
-
-
-#ifndef C_CAKNFEPCTRLRANGEBAR_H
-#define C_CAKNFEPCTRLRANGEBAR_H
-
-// system includes
-#include <peninputlayoutctrlgroup.h>
-
-// forward declarations
-class CFbsBitmap;
-class TResourceReader;
-class CAknFepCtrlButton;
-class CAknFepCtrlCommonButton;
-// class declaration
-/**
- *  This is the class definition for control group of different
- *  input ranges
- *
- *  @lib fepcommonctrls.lib
- *  @since S60 v3.2
- */
-class CAknFepCtrlRangeBar : public CControlGroup , public MEventObserver
-    {
-public:
-
-    /**
-     * Style of range bar, can be horizontal or vertical
-     */
-    enum TButtonGroupStyle
-        {
-        EBtnGroupHorizontal,
-        EBtnGroupVertical
-        }; 
-
-    /**
-     * Action style of range bar, can be hide or highlight
-    */
-    enum TRangeBarActionStyle
-        {
-        ERangeBarActionStyleHide,     // all indicators action style are unitary: hide
-        ERangeBarActionStyleHighLight, // all indicators action style are unitary: highlight
-        ERangeBarUsingIndicatorStyle // every indicator can have different action style
-        }; 
-
-    /**
-     * Action style of indicator, can be hide or visible
-     * for using indicaotr action style, every indicator's position is fixed
-     */
-    enum TIndicatorActionStyle
-        {
-        EIndicatorActionStyleHide, // hide
-        EIndicatorActionStyleHighLight, // visible and highlight
-        EIndicatorActionStyleNormal // just like normal button press, highlight not latched
-        };
-
-    /**
-     * Two-phased constructor.
-     *
-     * @since S60 v3.2
-     * @param aUiLayout An instance of CFepUiLayout
-     * @param aUtils An instance of the resource environment
-     * @param aControlId The control id of the Range Bar
-     * @param aStyle The style of Range Bar, can be vertical or horizontal
-     * @return The pointer point to CAknFepCtrlRangeBar type object
-     */
-    IMPORT_C static CAknFepCtrlRangeBar* NewL(CFepUiLayout* aUiLayout, 
-                                              TInt aControlId , 
-                                              TButtonGroupStyle aStyle);
-    
-    /**
-     * Two-phased constructor.
-     *
-     * @since S60 v3.2
-     * @param aUiLayout An instance of CFepUiLayout
-     * @param aUtils An instance of the resource environment
-     * @param aControlId A control id of the Range Bar
-     * @param aStyle the style of Range Bar, can be vertical or horizontal     
-     * @return The pointer point to CAknFepCtrlRangeBar type object
-     */
-    IMPORT_C static CAknFepCtrlRangeBar* NewLC(CFepUiLayout* aUiLayout, 
-                                               TInt aControlId , 
-                                               TButtonGroupStyle aStyle);            
-
-    /**
-     * Destructor.
-     *
-     * @since S60 v3.2
-     */
-    IMPORT_C virtual ~CAknFepCtrlRangeBar();
-
-    /**
-     * This function creates the Range Bar from resource type AKN_FEP_INPUTRANGE_LIST.
-     * The function will leave if the count of input ranges is invalid
-     *
-     * @since S60 v3.2
-     * @param aReader A resource reader against AKN_FEP_INPUTMODE_LIST
-     * @return None
-     */
-    IMPORT_C void ConstructFromResourceL(TResourceReader& aReader);
-
-    /**
-     * Refresh the curent Mode Control aera
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C void RefreshUI();
-
-    /**
-     * Handles the SizeChanged event
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C void SizeChanged(const TRect aRect);
-
-    /**
-     * Set active input range
-     *
-     * @since S60 v3.2
-     * @param aRange A specified input range
-     * @return ETrue if given input range set successfully, EFalse otherwise
-     */
-    IMPORT_C TBool SetRange(const TInt aRange);
-        
-    /**
-     * Set mode of given range
-     *
-     * @since S60 v3.2
-     * @param aRange A specified input range
-     * @param aModeIndex The mode index in given range
-     * @return None
-     */
-    IMPORT_C void SetCaseL(const TInt aRange, const TInt aModeIndex);
-        
-    /**
-     * Set permitted input ranges
-     *
-     * @since S60 v3.2
-     * @param aPermitted Used to decide which input ranges permitted
-     * @return None
-     */
-    IMPORT_C void SetPermittedRanges(const TInt aPermitted);
-
-    /**
-     * Permit given range or not
-     *
-     * @since S60 v3.2
-     * @param aRangeId The range id of given range
-     * @param aPermit Used to enable given range or not
-     * @return None
-     */
-    IMPORT_C void SetPermittedRange(const TInt aRangeId, TBool aPermit);
-
-    /**
-     * Permit given range & case or not
-     *
-     * @since S60 v3.2
-     * @param aRangeId The range id of given range
-     * @param aRealCaseId The real case id in given range
-     * @param aPermit Used to enable given range & case or not
-     * @return None
-     */
-    IMPORT_C void SetPermittedCase(const TInt aRangeId,
-                                   const TInt aRealCaseId,
-                                   TBool aPermit);
-
-    /**
-     * Hide given range, used when whole rangebar's actions tyle is 
-     * hide or highlight
-     *
-     * @since S60 v3.2
-     * @param aRange Given input range to be hide
-     * @return KErrNone if the button represent given range hided successfully, 
-     * otherwise system wide error codes
-     */
-    IMPORT_C void HideRange(const TInt aRange);
-
-    /**
-     * Hide given range, function only used when whole range bar's action
-     * style is using indicator style
-     *
-     * @since S60 v3.2
-     * @param aRange Given input range to be hide
-     * @return None 
-     */
-    IMPORT_C void HideRangeUsingIndicatorStyle(const TInt aRange);
-
-    /**
-     * Show given range, used when whole rangebar's action style is 
-     * hide or highlight
-     *
-     * @since S60 v3.2
-     * @param aRange Given range to be shown
-     * @return None
-     */
-    IMPORT_C void ShowRange(const TInt aRange);
-
-    /**
-     * Show given range, function only used when whole range bar's action
-     * style is using indicator style
-     *
-     * @since S60 v3.2
-     * @param aRange Given range to be shown
-     * @return None
-     */
-    IMPORT_C void ShowRangeUsingIndicatorStyle(const TInt aRange);
-        
-    /**
-     * Add new input range
-     *
-     * @since S60 v3.2
-     * @param aReader Given resource reader for new input range
-     * @return None
-     */
-    IMPORT_C void AddRangeL(TResourceReader& aReader);        
-        
-    /**
-     * Get current real case of given Range
-     *
-     * @since S60 v3.2
-     * @param aRange Given range
-     * @return Current real case of given range
-     */
-    IMPORT_C TInt GetCase(TInt aRange) const;
-
-    /**
-     * Set font of range bar, this function should be called
-     * by container of range bar
-     *
-     * @since S60 v3.2
-     * @param aFont The font to be set for range bar
-     * @return None
-     */
-    IMPORT_C void SetFont(const CFont* aFont);
-
-    /**
-     * Move range bar according to offset
-     *
-     * @since S60 v3.2
-     * @param aOffset The moving offset
-     * @return None
-     */
-    IMPORT_C void Move(const TPoint& aOffset);
-
-    /**
-     * Set event id which will be sent out when range button is click
-     *
-     * @since S60 v3.2
-     * @param aEventId the event id
-     * @return None
-     */
-    IMPORT_C void SetEventIdForRange(TInt aEventId);
-    
-    /**
-     * Set event id which will be sent out when case button is click
-     *
-     * @since S60 v3.2
-     * @param aEventId the event id
-     * @return None
-     */
-    IMPORT_C void SetEventIdForCase(TInt aEventId);
-
-    /**
-     * Display all ranges whether it is IsHide
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C void ShowAllRanges();
-    
-    /**
-     * DrawRangeBar
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C void Draw();
-
-    /**
-     * SetActionStyle
-     *
-     * @since S60 v3.2
-     * @param aActionStyle action style
-     * @return None
-     */
-    IMPORT_C void SetActionStyle(TRangeBarActionStyle aActionStyle);
-
-    /**
-     * ActiveRange
-     *
-     * @since S60 v3.2
-     * @param aRange range to be activated
-     * @return None
-     */
-    IMPORT_C void ActiveRange(TInt aRange);
-        
-    /**
-     * Get the current input range
-     *
-     * @since S60 v3.2
-     * @return Current Input Range
-     */
-    inline TInt InputRange() const;    
-
-    /**
-     * Set display style of range bar
-     *
-     * @since S60 v3.2
-     * @param aNewStyle The style of range bar, can be vertical or horizontal
-     * @return None
-     */
-    inline void SetStyle(const TButtonGroupStyle aNewStyle);        
-        
-    /**
-     * Get display style of range bar
-     *
-     * @since S60 v3.2
-     * @return Current display style of range bar
-     */
-    inline TInt Style() const;
- 
-    /**
-     * Set layout rect of range bar, this function should be called
-     * by container of range bar
-     *
-     * @since S60 v3.2
-     * @param aRect The layout rect to be set for range bar
-     * @return None
-     */
-    inline void SetCellRect(const TRect aRect);
-
-    /**
-     * Set display cell rects
-     *
-     * @since S60 v3.2 
-     * @return None
-     */
-    IMPORT_C void SetDispalyCellRectsL( const RArray<TRect>& aRects,
-    						  			const RArray<TRect>& aInnerRects ); 
-
-    
-protected:
-
-    /**
-     * From MEventObserver.
-     * Handle event
-     *
-     * @since S60 v3.2
-     * @param aEventType The event type
-     * @param aCtrl The pointer points to control who sends event
-     * @param aEventData The event data
-     * @return None
-     */
-    IMPORT_C void HandleControlEvent(TInt aEventType, CFepUiBaseCtrl* aCtrl, 
-                                     const TDesC& aEventData);
-        
-    /**
-     * C++ default constructor.
-     *
-     * @since S60 v3.2
-     * @param aUiLayout An instance of CFepUiLayout
-     * @param aControlId The control id of the Range Bar
-     * @param aStyle The style of Range Bar, vertical or horizontal
-     */
-    IMPORT_C CAknFepCtrlRangeBar(CFepUiLayout* aUiLayout, TInt aControlId, 
-                                 TButtonGroupStyle aStyle);
-
-    /**
-     * By default Symbian 2nd phase constructor is private.
-     *
-     * @since S60 v3.2
-     * @param aUtils An instance of the resource environment
-     * @return None
-     */
-    IMPORT_C void ConstructL();
-    
-    /**
-     * handle pointer down event.
-     *
-     * @since S60 v3.2
-     * @param aPoint 
-     * @return control
-     */
-    virtual CFepUiBaseCtrl* HandlePointerDownEventL(const TPoint& aPoint);
-public: // data
-
-    /**
-     * Position of the default indicator
-     */
-    TRect iIndicatorRect;
-    
-protected: // data
-
-    /**
-     * This class declares the range indicator
-     * Purpose of this class is to save some information for each indicator
-     *
-     * @since S60 v3.2
-     */  
-    class TAknFepRangeIndicator
-        {
-    public: // data
-        /**
-         * Control type of button
-         */
-        TInt iCtrlType;
-  
-        /**
-         * Id of the input range
-         */
-        TInt iInputRange;    
-        
-        /**
-         * Type of input range, used to judge if it is mixed
-         */
-        TInt iRangeType;
-            
-        /**
-         * control Id of button
-         */
-        TInt iCtrlId;
-            
-        /**
-         * Is button that represent iInputRange hided
-         */
-        TBool iIsHide;
-            
-        /**
-         * Pointer to the indicator button (Own)
-         */
-        CAknFepCtrlCommonButton* iIndicator;
-        
-        /**
-         * Indicator action style,
-         * value from TIndicatorActionStyle
-         */
-        TInt iActionStyle;
-
-        /**
-         * Indicator position index in cellrects list 
-         * only meaningful when whole action style is 
-         * ERangeBarUsingIndicatorStyle
-         */
-        TInt iPosIdx;
-        }; 
-
-private:
-
-    /**
-     * Set layout rect of whole range bar
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    void SetWholeRect();
-    
-    /**
-     * Get number of input ranges hided
-     *
-     * @since S60 v3.2 
-     * @return Number of hided input ranges
-     */
-    TInt NumOfHidedRange();
-    
-    /**
-     * Judge if button in given index has mixed range
-     *
-     * @since S60 v3.2 
-     * @param aIndex Given index
-     * @return ETrue if given index has mixed range, otherwise EFalse
-     */
-    TBool IsMixedRange(const TInt aIndex);
-    
-    /**
-     * Report range or mode change event to observer
-     *
-     * @since S60 v3.2 
-     * @param aEventId the event id
-     * @param aEventData the event data
-     * @return None
-     */
-    void ReportEventToObserver(const TInt aEventId, const TInt aEventData);
-    
-    /**
-     * Set new position to sub controls
-     *
-     * @since S60 v3.2 
-     * @return None
-     */
-    void SetIndicatorRect();
-    
-    /**
-     * update new position to sub controls
-     * this function used when indicator's rect get from cell rects list
-     * and whole range bar's action style is highlight or hide
-     *
-     * @since S60 v3.2 
-     * @return None
-     */
-    void UpdateIndicatorRect( TBool aUpdateImage );
-
-    /**
-     * update new position to sub controls
-     * this function only used when indicator's rect get from cell rects list, 
-     * and whole range bar's action style is using indicator style, every 
-     * indicator's position is fixed
-     *
-     * @since S60 v3.2 
-     * @return None
-     */
-    void UpdateIndicatorRectForUsingIndicatorStyle(TBool aUpdateImage);
-
-    /**
-     * Get indicator index by given range
-     *
-     * @since S60 v3.2 
-     * @return Indicator index
-     */
-    TInt IndicatorIdxByRange(TInt aRange);
-
-    /**
-     * this function only used when indicator's rect get from cell rects list, 
-     * and whole range bar's action style is using indicator style, and indicator
-     * to be hiden is using hide action style
-     *
-     * @since S60 v3.2 
-     * @param aIdx Indicator index to be hiden
-     * @param aHide Whether hide or show indicator
-     * @return None
-     */
-    void HideRangeForHidingIndicatorStyle(TInt aIdx, TBool aHide);
-
-private: // data
-
-    /**
-     * Array of input range indicators
-     */
-    RPointerArray<TAknFepRangeIndicator> iIndicators;
-        
-    /**
-     * Current active input range
-     */
-    TInt iInputRange;       
-        
-    /**
-     * A rect used to erase the screen
-     */
-    TRect iEraseRect;
-    
-    /**
-     * Style of range bar
-     */
-    TButtonGroupStyle iStyle;
-
-    /**
-     * Current font of range bar
-     */
-    const CFont* iFont;
-    
-    /**
-     * event id for range button click
-     */
-    TInt iEventIdForRange;
-    
-    /**
-     * event id for case button click
-     */
-    TInt iEventIdForCase;
-    
-    /**
-     * Whether resize images as well, 
-     * if only the position of the button changed, 
-     * no need to reset the images as well
-     */
-    TBool iIsReloadImages;
-
-    /**
-     * action style
-     */
-    TRangeBarActionStyle iActionStyle;
-    
-    /**
-     * First time construct flag
-     */
-    TBool iFirstTimeConstruct;
-    
-    /**
-     * Rangebar cell rect
-     */
-    RArray<TRect> iCellRects;
-    RArray<TRect> iCellInnerRects;
-    TBool iCellChanged;
-    };
-
-#include "peninputrangebar.inl"
-
-#endif // C_CAKNFEPCTRLRANGEBAR_H
-            
-// End Of File
--- a/textinput/peninputcommonctrls/inc/peninputrangebar/peninputrangebar.inl	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* 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:  inline file of range bar
-*
-*/
-
-
-inline TInt CAknFepCtrlRangeBar::InputRange() const
-    {
-    return iInputRange;
-    }
-
-inline void CAknFepCtrlRangeBar::SetStyle(const TButtonGroupStyle aNewStyle)
-    {
-    iStyle = aNewStyle;
-    }
-
-inline TInt CAknFepCtrlRangeBar::Style() const
-    {
-    return iStyle;
-    }
-    
-inline void CAknFepCtrlRangeBar::SetCellRect(const TRect aRect)
-    {
-    iIndicatorRect = aRect;
-    }
-
-// End Of File
--- a/textinput/peninputcommonctrls/inc/peninputselectionlist/peninputcommonchoicelist.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,190 +0,0 @@
-/*
-* Copyright (c) 2005-2006 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:  header file of choice list window
-*
-*/
-
-#ifndef C_PENINPUTCOMMONCHOICELIST_H
-#define C_PENINPUTCOMMONCHOICELIST_H
-
-// INCLUDES
-#include <w32std.h>
-#include <e32base.h>
-#include <peninputlayoutchoicelist.h>
-#include <AknsConstants.h>
-
-/** class forward decalaration */
-class CFepUiLayout;
-
-enum ECommonChoiceListStyle
-	{
-	EFixedLength,
-	EAutoFitLength
-	};
-	
-/**
- *  CPeninputCommonChoiceList class 
- *
- *  This class for touch input common choice list. The prop. of 
- *  this control is depend on laf data.
- *
- *  @lib 
- *  @since S60 v5.0
- */
-class CPeninputCommonChoiceList : public CFepLayoutChoiceList
-    {
-public: 
-
-    /**
-     * Symbian Constructor
-     *
-     * @since S60 v5.0
-     * @param aUiLayout 		Pointer to uilayout
-     * @param aControlId 		Choice list id
-     * @param aItemSkinID 		Item skin id
-     * @param aBackgroundSkinID Background skin id
-     * @return Pointer to created CPeninputCommonChoiceList object
-     */
-    IMPORT_C static CPeninputCommonChoiceList* NewL( CFepUiLayout* aUiLayout, 
-    											     TInt aControlId,
-    											     TAknsItemID aItemSkinID,
-    											     TAknsItemID aBackgroundSkinID,
-    											     ECommonChoiceListStyle aListStyle = EAutoFitLength);
-
-    /**
-     * Destructor
-     *
-     * @since S60 v5.0
-     * @return None
-     */
-    IMPORT_C virtual ~CPeninputCommonChoiceList();
-    
-    /**
-     * Add rect of item to the end of list
-     *
-     * @param aRect 	The rect of the item
-     * @since S60 v5.0
-     * @return None
-     */    
-    IMPORT_C void AddItemRectL( const TRect& aRect );
-    
-    /**
-     * Remove all the rects of item
-     *
-     * @since S60 v5.0
-     * @return None
-     */    
-    IMPORT_C void RemoveAllItemsRect();
-    
-    /**
-     * Set text layout data
-     *
-     * @param aTextLayout 	Text layout from laf data
-     * @since S60 v5.0
-     * @return None
-     */    
-    IMPORT_C void SetTextLayout( const TAknTextLineLayout& aTextLayout );
-    
-    /**
-     * Set list column count. The maxium column of the control is based on the laf
-     * Any number exceeds the maxium will be ignored.
-     *
-     * @param aMaxCount 
-     * @since S60 v5.0
-     * @return None
-     */   
-    IMPORT_C void SetListColumnNumWithLafL( TInt aMaxCount);
-    
-    /**
-     * Set skin ID
-     *
-     * @param aItemSkinID  			item skin ID
-     * @param aBackgroundSkinID  	background skin ID
-     * @since S60 v5.0
-     * @return None
-     */   
-    IMPORT_C void SetListSkinID( TAknsItemID aItemSkinID, TAknsItemID aBackgroundSkinID );
-    /**
-     * Hit Test
-     *
-     * @param aPoint  			touched point
-     * @return Index of list.
-     */       
-    IMPORT_C TInt HitTest(const TPoint& aPoint);    							 
-protected:
-    /**
-     * Constructor.        
-     *
-     * @since S60 V4.0        
-     * @param aUiLayout Ui layout who contains this control.Ownership not transferred
-     * @param aControlId control Id
-     * @param aItemSkinID 		Item skin id
-     * @param aBackgroundSkinID Background skin id
-     */  
-	IMPORT_C CPeninputCommonChoiceList( CFepUiLayout* aUiLayout, 
-							   TInt aControlId,
-							   TAknsItemID aItemSkinID,
-							   TAknsItemID aBackgroundSkinID,
-							   ECommonChoiceListStyle aListStyle );
-
-	TInt MaxWidthOfListItem();
-private:
-	/**
-     * Choice list draw function
-     *
-     * @since S60 V4.0
-     * @return None.     
-     */
-    IMPORT_C virtual void Draw();
-    
-	/**
-     * Calculate rect based on item count. (only length, suppose the count is fixed)
-     *
-     * @since S60 V4.0
-     * @return None.     
-     */
-    IMPORT_C virtual void ReCalcLayout();  
-     
-    void DrawBackground();
-    void DrawItem( TInt aIndex, TBool aIsFocus );
-private: // data
-    /**
-     * Item rect array.
-     */
-	RArray<TRect> iItemRects;
-	
-    /**
-     * Item text layout
-     */	
-	TAknTextLineLayout iTextLayout;
-	
-    /**
-     * The skin ID of sub item and background
-     */
-    TAknsItemID iItemSkinID;
-    TAknsItemID iBackgroundSkinID;
-    
-    /**
-     * The style of the list
-     */
-	ECommonChoiceListStyle iListStyle;
-	
-    /**
-     * The last column number of the list
-     */
-	TInt iLastColumnNum;
-    };
-
-#endif //C_PENINPUTCOMMONCHOICELIST_H
-//End Of File
--- a/textinput/peninputcommonctrls/inc/peninputselectionlist/peninputlayoutinputmodechoice.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,247 +0,0 @@
-/*
-* Copyright (c) 2005-2006 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:  header file of choice list window
-*
-*/
-
-#ifndef C_FEPLAYOUTINPUTMODELCHOICE_H
-#define C_FEPLAYOUTINPUTMODELCHOICE_H
-
-// INCLUDES
-#include <w32std.h>
-#include <e32base.h>
-#include <peninputcommonchoicelist.h>
-#include <AknFepGlobalEnums.h>
-
-/** class forward decalaration */
-class CFepUiLayout;
-class CRepository;
-
-//CONSTANT
-const TInt KTouchInputModeCount = 4;
-
-/**
- *  CPeninputLayoutInputmodelChoice class 
- *
- *  This class for touch input mode switch 
- *
- *  @lib peninputmodeswitchutils
- *  @since S60 v5.0
- */
-class CPeninputLayoutInputmodelChoice : public CPeninputCommonChoiceList
-    {
-
-public: 
-
-    /**
-     * Symbian Constructor
-     *
-     * @since S60 v5.0
-     * @param aUiLayout Pointer to uilayout
-     * @param aControlId Choice list id
-     * @param aInputMode Pen input mode
-     * @return Pointer to created CPeninputLayoutInputmodelChoice object
-     */
-    IMPORT_C static CPeninputLayoutInputmodelChoice* NewL(CFepUiLayout* aUiLayout, TInt aControlId,
-                                                          TPluginInputMode aInputMode);
-
-    /**
-     * Destructor
-     *
-     * @since S60 v5.0
-     * @return None
-     */
-    IMPORT_C virtual ~CPeninputLayoutInputmodelChoice();
-    
-   
-    /**
-     * Pop up touch input switch list
-     *
-     * @since S60 v5.0
-     * @param aPoint Reference to pop up windows left and top point 
-     * @param aListUnderBtn list is under the button
-     * @return none
-     */
-    IMPORT_C void PopUpSwitchListL( const TRect& aRtControl );
-    
-    /**
-     * Set current editor is Secret
-     *
-     * @since S60 V4.0
-     * @param aLanguage Input language
-     * @return none
-     */                                              
-    IMPORT_C void SetSecretEditor(TBool aSecure);
-     
-     /**
-     * Get switch list rect
-     *
-     * @since S60 v5.0
-     * @return list rect
-     */
-     IMPORT_C TRect SwitchListRect(); 
-
-private:
-
-    /**
-     * Symbian second-phase constructor
-     *
-     * @since S60 v5.0
-     * @return None
-     */
-    void CustomConstructL();
-   
-   /**
-     * Initialize internal control
-     *
-     * @since S60 v5.0
-     * @return none
-     */
-    void DoInitializeControlL();    
-    
-    /**
-     * C++ constructor.
-     *
-     * @since S60 v5.0
-     * @param aUiLayout Pointer to uilayout
-     * @param aInputMode Pen input mode   
-     * @return None
-     */
-    CPeninputLayoutInputmodelChoice(CFepUiLayout* aUiLayout, TInt aControlId, 
-                                    TPluginInputMode aInputMode);
-    
-    /**
-     * Insert choice item to input mode switch list
-     *
-     * @since S60 v5.0
-     * @param aReader Reference to resource reader   
-     * @param aRsFile Reference to file resource
-     * @return None
-     */
-    void CreateChoiceItemL( TResourceReader &aReader, RResourceFile& aRsFile );
- 
-     /**
-     * Create choice item icon
-     *
-     * @since S60 v5.0
-     * @param aReader Reference to resource reader   
-     * @param aBmpFileName Reference to file name
-     * @param aMajorSkinId Major skin id
-     * @return ETrue for creating icon successfully; otherwise EFalse
-     */
-    TBool CreateItemIconL(TResourceReader &aReader, CFbsBitmap** aImg, TPtrC& aBmpFileName, 
-        TInt32 aMajorSkinId);
-        
-     /**
-     * Get main pane rect
-     *
-     * @since S60 v5.0
-     * @return Main pane rect
-     */
-    TRect MainPaneRect();
-     
-     /**
-     * nsert list item
-     *
-     * @since S60 v5.0
-     * @param aIndex Item array index
-     * @param aInputMode Pen input mode
-     * @return none
-     */
-     void InsertListItemL( const CFepLayoutChoiceList::SItem& item,TInt aInputMode );
-
-        /**
-     * Application size Changed
-     *
-     * @since S60 v5.0
-     * @return none
-     */
-    void SizeChanged(); 
-    
-        
-    /**
-     * Get hide flag
-     *
-     * @since S60 V4.0
-     * @return ETrue if control is hiden, otherwise EFalse
-     */                                              
-    TBool Hiden();
-    
-    /**
-     * Reset choice list item
-     *
-     * @since S60 v5.0
-     * @return none
-     */
-     void ResetListItemL(); 
-private: // data
-
-    CFepUiLayout* iUiLayout;   
-    /**
-     * The background bitmap of popup window
-     */      
-    CFbsBitmap* iPopupWndBgImg;
-    
-    /**
-     * The focus bitmap of popup window (not own)
-     */  
-    CFbsBitmap* iPopupWndFocusImg;
-    
-    /**
-     * Popup window item size
-     */
-    TSize iPopupItemSize;  
-    
-    /**
-     * This control is construced
-     */
-    TBool iConstructed; 
-
-    /**
-     * This control is construced
-     */
-    TPluginInputMode iCurPluginInputMode;
-    
-    /**
-     * Input mode item array
-     */
-    //CFepLayoutChoiceList::SItem iInputModeItem[KTouchInputModeCount];
-
-    RArray<CFepLayoutChoiceList::SItem> iInputModeItems;
-    /**
-     * Editor secure flag
-     */
-    TBool iSecretEditor;
-
-    /**
-     * Editor secure flag
-     */
-    TRect iItemRect;
-
-    
-    /**
-     *  Text input language
-     */
-    TLanguage iInputLanguage;
-    
-    /**
-     *  fep repository key
-     */
-     CRepository*  iAknFepRepository;
-
-    };
-
-//#include "peninputlayoutchoicelist.inl"
-#endif //C_FEPLAYOUTINPUTMODELCHOICE_H
-//End Of File
--- a/textinput/peninputcommonctrls/inc/peninputselectionlist/peninputscrollablelist.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,245 +0,0 @@
-/*
-* Copyright (c) 2008-2008 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:  header file of button and dragbar
-*
-*/
-
-#ifndef C_FEPLAYOUTSCROLLABLELIST_H
-#define C_FEPLAYOUTSCROLLABLELIST_H
-
-#include <peninputlayoutchoicelist.h>
-#include <AknLayout2Def.h>
-#include <AknsConstants.h>
-#include <e32cmn.h>
-
-#define FORMATPAGEINFO(des, ktxt, parm...) {des.Format(ktxt, parm);};
-
-class CAknFepCtrlCommonButton;
-
-class CFepLayoutScrollableList : public CFepLayoutChoiceList, public MEventObserver
-    {
-public:
-    IMPORT_C static CFepLayoutScrollableList* NewL(CFepUiLayout* aUiLayout,
-                                                   TInt aControlId,
-                                                   TSize aItemSize,
-                                                   TInt aHorizontalMargin,
-                                                   TInt aVerticalMargin,
-                                                   TSize aNaviSize,
-                                                   TSize aNaviInnerSize);
-
-    IMPORT_C static CFepLayoutScrollableList* NewLC(CFepUiLayout* aUiLayout,
-                                                    TInt aControlId,
-                                                    TSize aItemSize,
-                                                    TInt aHorizontalMargin,
-                                                    TInt aVerticalMargin,
-                                                    TSize aNaviSize,
-                                                    TSize aNaviInnerSize);
-
-    IMPORT_C virtual ~CFepLayoutScrollableList();
-
-    IMPORT_C void ConstructFromResourceL();
-
-    IMPORT_C void SizeChanged(TSize aItemSize,
-                              TInt aHorizontalMargin,
-                              TInt aVerticalMargin,
-                              TSize aNaviSize,
-                              TSize aNaviInnerSize);
-
-    IMPORT_C void SetTextProperty(const CFont* aFont,
-                                  TRgb aFontColor);
-
-    IMPORT_C void SetImgFrId(TAknsItemID aBgFrId, 
-                           TAknsItemID aNaviFrId,
-                           TAknsItemID aNaviActiveFrId,
-                           TAknsItemID aNaviDimFrId,
-                           TAknsItemID aItemFrId,
-                           TAknsItemID aItemActiveFrId);
-
-    inline void SetTextLineLayout(TAknTextLineLayout aTextLine);
-
-    inline void SetPageInfoTextLineLayout(TAknTextLineLayout aTextLine);
-    inline void SetPageInfoFormatL(const TDesC& aFormat);
-
-    // if current page include special item, the count also include
-    // special item
-    inline void SetOnePageItemCount(TInt aItemCount);
-
-    inline void SetSpecialItemOn(TBool aOn);
-
-    // get whole control width except item width
-    inline TInt CtrlWidthExceptItem();
-
-    // get whole control height
-    inline TInt CtrlHeight();
-
-    IMPORT_C void Draw();
-    
-    IMPORT_C void ReCalcLayout();
-    
-    IMPORT_C void UpdateNaviButtonStates();
-	
-	IMPORT_C void SetListSeperationRect( const TRect& aRect );
-	
-	inline void SetPageInfoResID( TInt aResID );
-
-    /**
-     * Hide or shoe control. A hiden control will not handle the event.
-     *
-     * @since S60 V4.0
-     * @param aFlag ETrue if want to hide the control.
-     */                                               
-    IMPORT_C virtual void Hide(TBool aFlag);
-    
-protected:
-
-    IMPORT_C CFepLayoutScrollableList(CFepUiLayout* aUiLayout,
-                             TInt aControlId,
-                             TSize aItemSize,
-                             TInt aHorizontalMargin,                             
-                             TInt aVerticalMargin,
-                             TSize aNaviSize,
-                             TSize aNaviInnerSize);
-
-    IMPORT_C void ConstructL(); 
-    
-    IMPORT_C TInt HitTest(const TPoint& aPoint);
-
-    IMPORT_C virtual void DrawItem(TInt aItemIndex, TBool aItemActive = EFalse);
-
-    IMPORT_C virtual void CalculateItemWidth();
-    
-    IMPORT_C virtual void DrawPageInfo();
-
-
-    void ScrollPageUp();
-    
-    void ScrollPageDown();
-
-    IMPORT_C void Move(const TPoint& aOffset);
-                            
-private:
-    void CalcPageInfo();
-protected:
-    //from MEventObserver
-    IMPORT_C void HandleControlEvent(TInt aEventType, CFepUiBaseCtrl* aCtrl,
-                            const TDesC& aEventData);
-                            
-    IMPORT_C void UpdatePageInfoL( TInt aCurrentPage, TInt aTotalPage );                        
-	
-#ifdef RD_TACTILE_FEEDBACK	
-	// Update tactile feedback area when scroll page up and down.
-	void UpdateFeedbackArea();
-#endif // RD_TACTILE_FEEDBACK
-	
-protected:
-    TPoint iTopLeftPoint;
-    TSize iItemSize;
-    TSize iNaviSize;
-    TSize iNaviInnerSize;
-    TInt iHorizontalMargin;
-    TInt iVerticalMargin;
-    TInt iBaselineOffset;
-    const CFont* iFont;
-    TRgb iFontColor;
-    TAknTextLineLayout iTextLine;
-    TBool iTextLineSet;    
-    TAknTextLineLayout iPageInfoTextLine;
-    TBool iPageInfoLineSet;
-
-    RPointerArray<CFbsBitmap> iBmpList;
-
-    TAknsItemID iBgFrId;
-    // used for special item
-    TAknsItemID iItemFrId;
-    TAknsItemID iItemActiveFrId;
-
-    TBool iSpecialItemOn;
-    TBool iNaviBtnShown;
-
-    HBufC* iPageInfoFormat;
-    HBufC* iPageInfo;
-    TInt iCurrentPage;
-    TInt iTotalPages;
-
-    //TPoint iTlPos;
-    TInt iOnePageItemCnt;
-    TRect iContentRect;
-    TRect iScrollRect;
-    TRect iPageUpRect;
-    TRect iPageDownRect;
-    TRect iPageInfoRect;
-    RArray<TRect> iItemRects;
-    CAknFepCtrlCommonButton* iPageUp;
-    CAknFepCtrlCommonButton* iPageDown;
-    
-    // List speration 
-    TRect iSeperationRect;
-    CFbsBitmap* iSeperationBmp;	//own
-    CFbsBitmap* iSeperationMaskBmp; // own
-    
-    // Res ID of page info
-    TInt iPageInfoResID;
-    
-    TRect iLastPageItemRect;
-    TInt iInitItemWidth;
-    };
-
-inline void CFepLayoutScrollableList::SetTextLineLayout(TAknTextLineLayout aTextLine)
-    {
-    iTextLine = aTextLine;
-    iTextLineSet = ETrue;
-    }
-inline void CFepLayoutScrollableList::SetPageInfoTextLineLayout(TAknTextLineLayout aTextLine)
-    {
-    iPageInfoTextLine = aTextLine;
-    iPageInfoLineSet = ETrue;
-    }
-
-inline void CFepLayoutScrollableList::SetPageInfoFormatL(const TDesC& aFormat)
-    {
-    delete iPageInfoFormat;
-    iPageInfoFormat = NULL;
-    iPageInfoFormat = aFormat.AllocL();
-
-    // on the assumption that page info do not beyond 100
-    delete iPageInfo;
-    iPageInfo = NULL;
-    iPageInfo = HBufC::NewL(aFormat.Length() + 6);
-    }
-
-inline void CFepLayoutScrollableList::SetOnePageItemCount(TInt aItemCount)
-    {
-    iOnePageItemCnt = aItemCount;
-    }
-
-inline void CFepLayoutScrollableList::SetSpecialItemOn(TBool aOn)
-    {
-    iSpecialItemOn = aOn;
-    }
-
-inline TInt CFepLayoutScrollableList::CtrlWidthExceptItem()
-    {
-    return 4*iHorizontalMargin + iNaviSize.iWidth;
-    }
-
-inline TInt CFepLayoutScrollableList::CtrlHeight()
-    {
-    return (iOnePageItemCnt + 1)*iVerticalMargin + iOnePageItemCnt*iItemSize.iHeight;
-    }
-
-inline void CFepLayoutScrollableList::SetPageInfoResID( TInt aResID )	
-	{
-	iPageInfoResID = aResID;	
-	}
-#endif //C_FEPLAYOUTSCROLLABLELIST_H
--- a/textinput/peninputcommonctrls/inc/peninputselectionlist/peninputselectionlist.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,146 +0,0 @@
-/*
-* 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 C_CPENINPUTSELECTIONLIST_H
-#define C_CPENINPUTSELECTIONLIST_H
-
-#include <peninputlayoutbasecontrol.h>
-#include <AknLayout2Def.h>
-#include <AknsConstants.h>
-
-class CPenInputSelectionList : public CFepUiBaseCtrl
-    {
-public:
-    struct SItem
-        {
-        SItem(TRect aRect, const TDesC& aText)
-            :iRect(aRect), iText(aText)
-            {
-            }
-
-        TRect iRect;
-        const TDesC& iText;
-        };    
-
-    enum TSelectionListBmpType
-        {
-        EBmpNormal,
-        EBmpNormalMask,
-        EBmpHighlight,
-        EBmpHighlightMask,
-        EBmpLastType = EBmpHighlightMask
-        };
-
-public:
-    IMPORT_C static CPenInputSelectionList* NewL(CFepUiLayout* aUiLayout,
-                                                 TInt aControlId,
-                                                 TPoint aTopLeftPoint,
-                                                 TSize aItemSize,
-                                                 TInt aItemHorizontalMargin);
-
-    IMPORT_C ~CPenInputSelectionList();
-
-    IMPORT_C void SizeChanged(TPoint aTopLeftPoint,
-                              TSize aItemSize,
-                              TInt aItemHorizontalMargin);
-    
-    // control rect is calculated by item count
-    IMPORT_C void SetItemsL(const RPointerArray<HBufC>& aItemList);
-
-    IMPORT_C void AddItemL(const TDesC& aItem);
-
-    IMPORT_C void RemoveItem(TInt aItemIndex);
-    
-    IMPORT_C void RemoveAllItems();
-
-    IMPORT_C void ConstructFromResourceL();
-
-    IMPORT_C void SetTextProperty(const CFont* aFont,
-                                  TRgb aFontColor);
-
-    IMPORT_C CFepUiBaseCtrl* HandlePointerDownEventL(const TPoint& aPoint);
-    IMPORT_C CFepUiBaseCtrl* HandlePointerUpEventL(const TPoint& aPoint);
-    IMPORT_C CFepUiBaseCtrl* HandlePointerMoveEventL(const TPoint& aPoint);
-
-    IMPORT_C void Display();
-
-    IMPORT_C void CloseWindow();
-
-    inline void SetTextLineLayout(TAknTextLineLayout aTextLine);
-    
-    inline void SetEventIdForItemSelected(TInt aEventId);
-    
-    inline void SetBgFrId(TAknsItemID aFrId, TAknsItemID aCenterFrId);
-    
-    void Draw();
-
-private:
-
-    CPenInputSelectionList(CFepUiLayout* aUiLayout,
-                           TInt aControlId,
-                           TPoint aTopLeftPoint,
-                           TSize aItemSize,
-                           TInt aItemHorizontalMargin);
-
-    void ConstructL();
-
-    void RecalculateCtrlRect();
-
-    // get item whose region contains the point
-    TInt HitTest(const TPoint& aPoint);
-
-    void DrawItem(TInt aItemIndex);
-
-	void CalculateFrameRects(const TRect aRect, TRect& aOuterRect, TRect& aInnerRect) const;
-private:
-
-    RArray<SItem> iItemList;
-    TPoint iTopLeftPoint;
-    TSize iItemSize;
-    TInt iItemHorizontalMargin;
-    TInt iBaselineOffset;
-    const CFont* iFont;
-    TRgb iFontColor;
-    TAknTextLineLayout iTextLine;
-
-    TInt iFocusItemIndex;
-
-    RPointerArray<CFbsBitmap> iBmpList;
-    
-    TInt iEventId;
-    TBool iTextLineSet;
-    TAknsItemID iFrId;
-    TAknsItemID iCenterFrId;
-    };
-
-inline void CPenInputSelectionList::SetTextLineLayout(TAknTextLineLayout aTextLine)
-    {
-    iTextLine = aTextLine;
-    iTextLineSet = ETrue;
-    }
-
-inline void CPenInputSelectionList::SetEventIdForItemSelected(TInt aEventId)
-    {
-    iEventId = aEventId;
-    }
-
-inline void CPenInputSelectionList::SetBgFrId(TAknsItemID aFrId, TAknsItemID aCenterFrId)
-    {
-    iFrId = aFrId;
-    iCenterFrId = aCenterFrId;
-    }
-
-#endif // C_CPENINPUTSELECTIONLIST_H
\ No newline at end of file
--- a/textinput/peninputcommonctrls/inc/peninputvkbctrl/peninputvkbctrlext.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,191 +0,0 @@
-/*
-* 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:  vkb extenting control 
-*
-*/
-
-
-#ifndef C_CPENINPUTVKBCTRLEXT_H
-#define C_CPENINPUTVKBCTRLEXT_H
-
-// System includes
-#include <peninputlayoutvkb.h>
-
-// Forward decalaration
-class CPeninputVkbLayoutInfo;
-
-/**
- *  vkb extenting control class
- *
- *  @lib peninputcommonlayout.lib
- *  @since S60 v3.2
- */
-class CPeninputVkbCtrlExt : public CVirtualKeyboard
-    {
-   
-public:
-
-    /**
-     * Create one CPeninputVkbCtrlExt object
-     *
-     * @since S60 v3.2
-     * @param aRect The rectangle of the control
-     * @param aUiLayout The layout plugin
-     * @param aControlId This control ID
-     * @param aFont The pointer to CFont object
-     * @return The pointer to CPeninputVkbCtrlExt object
-     */                                                                      
-    IMPORT_C static CPeninputVkbCtrlExt* NewL( const TRect& aRect, 
-                                               CFepUiLayout* aUiLayout,
-                                               TInt aControlId,
-                                               const CFont* aFont,
-                                               TBool aIrregular = EFalse);
-                                   
-    /**
-     * Destructor
-     *
-     * @since S60 v3.2
-     * @return None
-     */                                    
-    IMPORT_C virtual ~CPeninputVkbCtrlExt();
-    
-    /**
-     * Handle size changing of vkb extenting control
-     *
-     * @since S60 v3.2
-     * @param aUnitWidth Width of unit of vkb extenting control
-     * @param aUnitHeight Height of unit of vkb extenting control
-     * @param aLeftTopPoint The left top point of vkb extenting control
-     * @return None
-     */     
-    IMPORT_C void SizeChanged( const TInt aUnitWidth,
-                               const TInt aUnitHeight,
-                               const TPoint& aLeftTopPoint ); 
-                               
-    /**
-     * Handle size changing of vkb extenting control
-     *
-     * @since S60 v3.2
-     * @param aUnitWidth Width of unit of vkb extenting control
-     * @param aUnitHeight Height of unit of vkb extenting control
-     * @param aLeftTopPoint The left top point of vkb extenting control
-     * @return None
-     */     
-    IMPORT_C void SizeChanged( const TRect& aRect );                                
-
-    /**
-     * Reorganize Vkb Keys
-     *
-     * @since S60 v3.2
-     * @param aVkbLayout The vkb layout info
-     * @return None
-     */     
-    IMPORT_C void ReorganizeVkbKeys( CPeninputVkbLayoutInfo* aVkbLayoutInfo );
-    
-    /**
-     * Move the vkb extenting control
-     *
-     * @since S60 v3.2
-     * @param aOffset The offset to be moved
-     * @return None
-     */     
-    IMPORT_C void Move( const TPoint& aOffset );
-    
-    /**
-     * Reset some value of the control
-     *
-     * @since S60 v3.2
-     * @return None
-     */    
-    IMPORT_C void Reset();
-    
-    /**
-     * Dim keys in vkb extenting control
-     *
-     * @since S60 v3.2
-     * @param aPermitted The permitted unicodes
-     * @return None
-     */     
-    IMPORT_C void DimKeys( const HBufC* aPermitted );
-
-    /**
-     * Cancel dim of all keys
-     *
-     * @since S60 v3.2
-     * @return None
-     */  
-    IMPORT_C void CancelDims();
-
-    /**
-     * Dim keys in vkb extenting control
-     *
-     * @since S60 v3.2
-     * @param aSet The unicodes set
-     * @param aDim The flag of dim or not
-     * @return None
-     */   
-    IMPORT_C void DimKeySet( const HBufC* aSet, TBool aDim );  
-    
-    /**
-     * Read resource and construct
-     *
-     * @since S60 v5.0
-     * @return None
-     */  
-     IMPORT_C void ConstructFromResourceL();               
-protected:
-
-    /* 
-     * Constructor
-     *
-     * @since S60 v3.2
-     * @param aRect The rectangle of the control
-     * @param aUiLayout The layout plugin
-     * @param aControlId The control ID
-     * @param aFontSpec The specification of font
-     * @return None
-     */ 
-    IMPORT_C CPeninputVkbCtrlExt( const TRect& aRect, 
-                                  CFepUiLayout* aUiLayout,
-                                  TInt aControlId,
-                                  const TFontSpec& aFontSpec,
-                                  TBool aIrregular = EFalse);
-
-protected: // Data
-    /**
-     * The vkb layout info
-     * Not own
-     */
-    CPeninputVkbLayoutInfo* iVkbLayoutInfo;
-
-private: // Data
-
-    
-    /**
-     * The unit width
-     */
-    TInt iUnitWidth;
-
-    /**
-     * The unit height
-     */
-    TInt iUnitHeight;
-
-    /**
-     * The left top point
-     */
-    TPoint iLeftTopPoint;
-    };  
-
-#endif // C_CPENINPUTVKBCTRLEXT_H
--- a/textinput/peninputcommonctrls/inc/peninputvkbctrl/peninputvkbctrllayout.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,786 +0,0 @@
-/*
-* 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:  vkb layout inline function 
-*
-*/
-
-
-#ifndef C_CAKNFEPCTRLVKBLAYOUT_H
-#define C_CAKNFEPCTRLVKBLAYOUT_H
-
-// system includes
-#include <barsread.h>
-#include <peninputvkbctrlext.h>
-
-// forward declarations
-class CPeninputVkbLayoutInfo;
-class CPeninputVkbCtrlExt;
-
-// class declarations
-/**
- *  Basic functionality for graphic buttons
- *  It provides creation from resource and can react according to SizeChanged Msg
- *
- *  @lib fepcommonctrls.lib
- *  @since S60 v3.2
- */
-class CAknFepCtrlVkbLayout : public CBase
-    {
-public: 
-        
-    /**
-     * Two-phased constructor.
-     *
-     * @since S60 v3.2
-     * @param aUiLayout An instance of CFepUiLayout
-     * @param aControlId The control id of input range button
-     * @return The pointer point to CAknFepCtrlButton type object
-     */
-    IMPORT_C static CAknFepCtrlVkbLayout* NewL();
-        
-    /**
-     * Two-phased constructor.
-     *
-     * @since S60 v3.2
-     * @param aUiLayout An instance of CFepUiLayout
-     * @param aControlId The control id of input range button
-     * @return The pointer point to CAknFepCtrlButton type object
-     */
-    IMPORT_C static CAknFepCtrlVkbLayout* NewLC();
-
-    /**
-     * Destructor.
-     *
-     * @since S60 v3.2
-     */
-    IMPORT_C virtual ~CAknFepCtrlVkbLayout();
-
-    /**
-     * This function creates the input range button from resource,
-     * before calling this function, caller should set resource id of 
-     * range button first
-     * 
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C void ConstructFromResourceL();
-    
-    /**
-     * This function get the vkb layout info list
-     *
-     * @since S60 v3.2
-     * @return The vkb layout info list
-     */
-    IMPORT_C RPointerArray<CPeninputVkbLayoutInfo> VkbLayoutInfoList();
-      
-    /**
-     * Get virtual keyboard
-     *
-     * @since S60 v3.2
-     * @return The pointer to CPeninputVkbCtrlExt object
-     */     
-    IMPORT_C void SetVkbKeyboard( CPeninputVkbCtrlExt* aVkbCtrl );
-
-    /**
-     * This function get the vkb layout ID
-     *
-     * @since S60 v3.2
-     * @return The vkb layout ID
-     */
-    IMPORT_C void ChangeVkbLayout( TInt aVkbLayoutId );
-     
-    /**
-     * Set resource Id
-     *
-     * @since S60 V4.0
-     * @param aResId The resource id;
-     */                
-    IMPORT_C void SetResourceId(TInt32 aResId);    
-    
-    /**
-     * Set resource Id
-     *
-     * @since S60 V4.0
-     * @param aResId The resource id;
-     */                
-    IMPORT_C void SetIrregularResourceId(TInt32 aResId);
-    
-    /**
-     * Set resource Id
-     *
-     * @since S60 V4.0
-     * @param aResId The resource id;
-     */                
-    IMPORT_C void SetNonIrregularResourceId(TInt32 aResId);
-
-    /**
-     * This function creates the input range button from resource,
-     * before calling this function, caller should set resource id of 
-     * range button first
-     * 
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C void ConstructFromIrregularResourceL();            
-    
-    /**
-     * This function creates the input range button from resource,
-     * before calling this function, caller should set resource id of 
-     * range button first
-     * 
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C void ConstructFromNonIrregularResourceL();   
-          
-    /**
-     * Reset
-     *
-     * @since S60 V4.0
-     */                
-    IMPORT_C void Reset();  
-    
-protected:
-
-    /**
-     * C++ default constructor.
-     *
-     * @since S60 v3.2
-     * @param aUiLayout An instance of CFepUiLayout
-     * @param aControlId The control id of input range button
-     */
-    CAknFepCtrlVkbLayout();
-    
-    void ConstructL();
-    
-private:
-
-    void CreateIrregularKeyBitmapsL(TResourceReader& reader, 
-                                   TPtrC& bmpFileName, 
-                                   TVirtualKeyIrregularKeyType aKeyType);
-                                   
-    void CreateIrregularKeyBitmapL(TResourceReader& reader, TPtrC& bmpFileName, 
-                                  TVirtualKeyIrregularKeyType aKeyType ,
-                                  TVirtualKeyIrregularKeyState aKeyState, 
-                                  TVirtualKeyIrregularKeyState aKeyStateMask);        
-
-protected:
-
-    RPointerArray<CPeninputVkbLayoutInfo> iVkbLayoutInfoList;
-    
-    /**
-     * The first time construct flag of button
-     */
-    TBool iFirstTimeConstruct;
-    
-    /**
-     * The resource Id associatied with this control
-     */
-    TInt32 iResourceId;
-    
-    /**
-     * The resource Id associatied with this control
-     */
-    TInt32 iIrregularResId;    
-	
-	/**
-     * The resource Id associatied with this control
-     */
-    TInt32 iNonIrregularResId;
-private:
-        
-    /**
-     * The vkb extenting control for vkb area
-     * Not own
-     */
-    CPeninputVkbCtrlExt* iVkbCtrl;
-    
-    /**
-     * The vkb layout ID
-     */
-    TInt iVkbLayoutId;
-    };    
-
-
-
-class CVirtualKey;
-
-/**
- *  Vkb key info definition
- *
- *  This class is to define key info. Application can create it from  
- *  resource file. Key info includes Unicode, begin row, end row,  
- *  begin column and end column. 
- *
- *  @lib peninputvkb.lib
- *  @since S60 v3.2
- */
-class CPeninputVkbKeyInfo : public CBase
-    {
-
-public:
-
-    /**
-     * Two-phase constructor
-     *
-     * @since S60 v3.2
-     * @param aReader Resource reader    
-     * @return The pointer to CPeninputVkbKeyInfo object
-     */
-    IMPORT_C static CPeninputVkbKeyInfo* NewL( TResourceReader& aReader );
-
-    /**
-     * Destructor
-     *
-     * @since S60 v3.2
-     * @return None
-     */     
-    IMPORT_C virtual ~CPeninputVkbKeyInfo();
-
-    /**
-     * Get unicode logical string
-     *
-     * @since S60 v3.2
-     * @return unicode logical string
-     */ 
-    inline HBufC* Unicode() const;  
-
-    /**
-     * Get key's scan code
-     *
-     * @since S60 v3.2
-     * @return Key's scan code
-     */ 
-    inline TInt ScanCode() const;  
-    
-    /**
-     * Get key's begin row
-     *
-     * @since S60 v3.2
-     * @return Key's begin row
-     */       
-    inline TInt BeginRow() const;
-    
-    /**
-     * Get key's begin column
-     *
-     * @since S60 v3.2
-     * @return Key's begin column
-     */       
-    inline TInt BeginColumn() const;
- 
-    /**
-     * Get key's end row
-     *
-     * @since S60 v3.2
-     * @return Key's end row
-     */       
-    inline TInt EndRow() const;
-
-    /**
-     * Get key's end column
-     *
-     * @since S60 v3.2
-     * @return Key's end column
-     */       
-    inline TInt EndColumn() const;
-
-    /**
-     * Get high light bitmap index
-     *
-     * @since S60 v3.2
-     * @return High light bitmap index
-     */     
-    inline TInt HighlightBmpIndex()const;
-
-    /**
-     * Get high light mask bitmap index
-     *
-     * @since S60 v3.2
-     * @return High light mask bitmap index
-     */     
-    inline TInt HighlightMaskBmpIndex() const;    
-    
-    /**
-     * Get virtual key
-     *
-     * @since S60 v3.2
-     * @return The pointer to CVirtualKey object
-     */     
-    inline CVirtualKey* Key() const;
-    
-    void SetIrregularKeyType(TInt aColumns);
-
-protected:
-
-    /**
-     * Second phase constructor
-     *
-     * @since S60 v3.2
-     * @param aReader Resource reader
-     * @return None
-     */
-    void ConstructL( TResourceReader& aReader );
-
-    /**
-     * Contruct from resource
-     *
-     * @since S60 v3.2
-     * @param aReader Resource reader    
-     * @return None
-     */    
-    void ConstructFromResourceL( TResourceReader& aReader );
-
-private: 
-
-    /**
-     * Create key
-     *
-     * @since S60 v3.2
-     * @return None
-     */     
-    void CreateKeyL();
-    
-    TVirtualKeyIrregularKeyType KeyTypeFromColumn(TInt aColumns);
-    
-private: // data
-
-    /**
-     * Key unicode string
-     */ 
-    HBufC* iUnicode;
-    
-    /**
-     * Scan code 
-     */     
-    TInt iScanCode;
-    
-    /**
-     * Begin row
-     */     
-    TInt iBeginRow;
-
-    /**
-     * Begin column
-     */     
-    TInt iBeginColumn;
-    
-    /**
-     * End row
-     */     
-    TInt iEndRow;
-    
-    /**
-     * End column
-     */     
-    TInt iEndColumn;
-    
-    /**
-     * High light bitmap index
-     */     
-    TInt iHighlightBmpIndex;
-    
-    /**
-     * High light mask bitmap index
-     */     
-    TInt iHighlightMaskBmpIndex;
-
-    /**
-     * Virtual key 
-     * Own
-     */    
-    CVirtualKey* iKey;
-    
-    };
-
-/**
- *  vkb layout definition
- *
- *  This class is to implement vkb layout. Application can create it from resource 
- *  file. This class is to control vkb interface layout. 
- *
- *  @lib peninputvkb.lib
- *  @since S60 v3.2
- */   
-class CPeninputVkbLayoutInfo : public CBase
-    {
-
-public:
-
-    /**
-     * Two-phase constructor
-     *
-     * @since S60 v3.2
-     * @param aReader Resource reader    
-     * @return The pointer to CPeninputVkbLayoutInfo object
-     */
-    IMPORT_C static CPeninputVkbLayoutInfo* NewL( 
-                                        TResourceReader& aReader );
-
-    /**
-     * Two-phase constructor
-     * 
-     * @since S60 v3.2
-     * @param aReader Resource reader    
-     * @return The pointer to CPeninputVkbLayoutInfo object
-     */
-    IMPORT_C static CPeninputVkbLayoutInfo* NewLC( 
-                                      TResourceReader& aReader );
-
-    /**
-     * Get real size from vkb layout
-     *
-     * @since S60 v3.2
-     * @param aUnitWidth Unit width    
-     * @param aUnitHeight Unit height
-     * @return The unit size
-     */
-    IMPORT_C const TSize GetRealSize( const TInt aUnitWidth, 
-                                      const TInt aUnitHeight ) const;
- 
-    /**
-     * Reset unit size 
-     *
-     * @since S60 v3.2
-     * @param aUnitWidth Unit width
-     * @param aUnitHeight Unit height
-     * @param aUnitCharWidth Unit char width
-     * @param aUnitCharHeight Unit char height
-     * @param aCharLeftTopPoint Left top point of unit char
-     * @return None
-     */   
-    IMPORT_C void ResetSize( const TInt aUnitWidth,
-                             const TInt aUnitHeight,
-                             const TInt aUnitCharWidth,
-                             const TInt aUnitCharHeight,
-                             const TPoint& aCharLeftTopPoint,
-                             const CFont* aFont );
-                             
-                             
-    /**
-     * Reset unit size 
-     *
-     * @since S60 v3.2
-     * @param aSize Keyboard size
-     * @return None
-     */   
-    IMPORT_C void ResetLayoutInfo( const TSize& aSize);                             
-
-
-
-    /**
-     * Reset unit size 
-     *
-     * @since S60 v3.2
-     * @param aUnitWidth Unit width
-     * @param aUnitHeight Unit height
-     * @param aUnitCharWidth Unit char width
-     * @param aUnitCharHeight Unit char height
-     * @param aCharLeftTopPoint Left top point of unit char
-     * @return None
-     */   
-    IMPORT_C void SetKeyInfo(const TInt aRow,
-                             const TInt aColumn,
-                             const TRect& aKeyRect,
-                             const TRect& aCharRect, 
-                             const CFont* aFont );                             
-
-
-
-
-    /**
-     * Destructor
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C virtual ~CPeninputVkbLayoutInfo();
-            
-    /**
-     * Find the key from the vkb accroding to the unicode
-     *
-     * @since S60 v3.2
-     * @param aUnicode Unicode  
-     * @return The pointer to CPeninputVkbKeyInfo object
-     */    
-    IMPORT_C CPeninputVkbKeyInfo* FindKey( const TInt aUnicode ) const;
-
-    /**
-     * Get layout id
-     *
-     * @since S60 v3.2
-     * @return Layout id
-     */
-    inline TInt LayoutID() const;
-
-    /**
-     * Get column count 
-     *
-     * @since S60 v3.2
-     * @return Column count
-     */
-    inline TInt Columns() const;
-
-    /**
-     * Get row count
-     *
-     * @since S60 v3.2
-     * @return Row count 
-     */
-    inline TInt Rows() const;
-
-    /**
-     * Get the unit's width
-     *
-     * @since S60 v3.2
-     * @return The unit's width 
-     */
-    inline TInt UnitWidth() const;
-
-    /**
-     * Get the unit's height
-     *
-     * @since S60 v3.2
-     * @return The unit's height 
-     */
-    inline TInt UnitHeight() const;
-
-    /**
-     * Get the char's width
-     *
-     * @since S60 v3.2
-     * @return The char's width 
-     */
-    inline TInt UnitCharWidth() const;
-
-    /**
-     * Get the char's height
-     *
-     * @since S60 v3.2
-     * @return The char's height 
-     */
-    inline TInt UnitCharHeight() const;
-
-    /**
-     * Get the char's left top point
-     *
-     * @since S60 v3.2
-     * @return The char's left top point 
-     */
-    inline TPoint CharLeftTopPoint() const;
-
-    /**
-     * Get the char's font
-     *
-     * @since S60 v3.2
-     * @return The char's font 
-     */
-    inline const CFont* CharFont() const;
-                    
-    /**
-     * Get background bitmap
-     *
-     * @since S60 v3.2
-     * @return The pointer to background bitmap
-     */
-    inline CFbsBitmap* BgBmp() const;
-
-    /**
-     * Get mask bitmap
-     *
-     * @since S60 v3.2
-     * @return The pointer to background mask bitmap
-     */
-    inline CFbsBitmap* BgMaskBmp() const;
-
-    /**
-     * Get dim bitmap
-     *
-     * @since S60 v3.2
-     * @return The pointer to dim bitmap
-     */
-    inline CFbsBitmap* DimBmp() const;
-
-    /**
-     * Get dim mask bitmap
-     *
-     * @since S60 v3.2
-     * @return The pointer to dim mask bitmap
-     */
-    inline CFbsBitmap* DimMaskBmp() const;
-
-    /**
-     * Get key info array 
-     *
-     * @since S60 v3.2
-     * @return Key info array
-     */
-    inline RPointerArray<CPeninputVkbKeyInfo> KeyInfoList() const;
-    
-    /**
-     * Get high light bitmap array
-     *
-     * @since S60 v3.2
-     * @return High light bitmap array
-     */
-    inline RPointerArray<CFbsBitmap> HighlightBmps() const;
-
-    /**
-     * Get high light mask bitmap array
-     *
-     * @since S60 v3.2
-     * @return High light mask bitmap array
-     */
-    inline RPointerArray<CFbsBitmap> HighlightMaskBmps() const;
-
-    /**
-     * Move key to certain point
-     *
-     * @since S60 v3.2
-     * @param aTopLeft Point to move  
-     * @return None
-     */
-    IMPORT_C void MoveKeys( const TPoint& aTopLeft );
-    
-    /**
-     * Construct from resourcr file
-     *
-     * @since S60 v3.2
-     * @param aReader Resource reader    
-     * @return None
-     */ 
-    void ConstructFromResourceL( TResourceReader& aReader, 
-                                 CPeninputVkbCtrlExt* aVkbCtrl = NULL, 
-                                 TInt aVkbLayoutId = 0 );
-    
-protected:
-
-    /**
-     * C++ default constructor
-     *
-     * @since S60 v3.2
-     * @return None
-     */  
-    CPeninputVkbLayoutInfo();
-
-    /**
-     * Symbian second-phase constructor
-     *
-     * @since S60 v3.2
-     * @param aReader Resource reader    
-     * @return None
-     */ 
-    void ConstructL( TResourceReader& aReader );      
-   
-public:
-    TBool iIrregular;     
-                
-private: // data
-
-    /**
-     * Layout id
-     */  
-    TInt iLayoutID;
-
-    /**
-     * Column count
-     */  
-    TInt iColumns;
-
-    /**
-     * Row count 
-     */  
-    TInt iRows;
-    
-    /**
-     * Unit width 
-     */  
-    TInt iUnitWidth;
-    
-    /**
-     * Unit height 
-     */  
-    TInt iUnitHeight;
- 
-    /**
-     * Unit char width
-     */  
-    TInt iUnitCharWidth;
- 
-    /**
-     * Unit char height  
-     */  
-    TInt iUnitCharHeight;
-    
-    /**
-     * Char left top point  
-     */  
-    TPoint iCharLeftTopPoint;
-    
-    /**
-     * Key font  
-     */  
-    const CFont* iFont;
-
-    /**
-     * Last point
-     */  
-    TPoint iLastTopLeft;
-
-    /**
-     * Background bitmap
-     * Own
-     */  
-    CFbsBitmap* iBgBmp;
-
-    /**
-     * Background mask bitmap
-     * Own
-     */  
-    CFbsBitmap* iBgMaskBmp;
-
-    /**
-     * Dim bitmap
-     * Own
-     */  
-    CFbsBitmap* iDimBmp;
-
-    /**
-     * Dim mask bitmap
-     * Own
-     */  
-    CFbsBitmap* iDimMaskBmp;
-
-    /**
-     * Key info array
-     */  
-    RPointerArray<CPeninputVkbKeyInfo> iKeyInfoList;
-    
-    /**
-     * High light bitmap array
-     */  
-    RPointerArray<CFbsBitmap> iHighlightBmps;
-
-    /**
-     * High light mask bitmap array
-     */  
-    RPointerArray<CFbsBitmap> iHighlightMaskBmps;
-    
-    };
- 
-#include "peninputvkbctrllayout.inl"
-
-#endif // C_CAKNFEPCTRLVKBLAYOUT_H
-            
-// End Of File
--- a/textinput/peninputcommonctrls/inc/peninputvkbctrl/peninputvkbctrllayout.inl	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,270 +0,0 @@
-/*
-* 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:  vkb layout inline function 
-*
-*/
-
-    
-// -----------------------------------------------------------------------------
-// CPeninputVkbKeyInfo::Unicode
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline HBufC* CPeninputVkbKeyInfo::Unicode() const
-    {
-    return iUnicode;
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputVkbKeyInfo::ScanCode
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline TInt CPeninputVkbKeyInfo::ScanCode() const
-    {
-    return iScanCode;
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputVkbKeyInfo::BeginRow
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline TInt CPeninputVkbKeyInfo::BeginRow() const
-    {
-    return iBeginRow;
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputVkbKeyInfo::BeginColumn
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline TInt CPeninputVkbKeyInfo::BeginColumn() const
-    {
-    return iBeginColumn;
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputVkbKeyInfo::EndRow
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline TInt CPeninputVkbKeyInfo::EndRow() const
-    {
-    return iEndRow;
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputVkbKeyInfo::EndColumn
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline TInt CPeninputVkbKeyInfo::EndColumn() const
-    {
-    return iEndColumn;
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputVkbKeyInfo::HighlightBmpIndex
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline TInt CPeninputVkbKeyInfo::HighlightBmpIndex() const 
-    {
-    return iHighlightBmpIndex;
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputVkbKeyInfo::HighlightMaskBmpIndex
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline TInt CPeninputVkbKeyInfo::HighlightMaskBmpIndex() const 
-    {
-    return iHighlightMaskBmpIndex;
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputVkbKeyInfo::Key
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline CVirtualKey* CPeninputVkbKeyInfo::Key() const 
-    {
-    return iKey;
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputVkbLayoutInfo::LayoutID
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline TInt CPeninputVkbLayoutInfo::LayoutID() const
-    {
-    return iLayoutID;
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputVkbLayoutInfo::Columns
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline TInt CPeninputVkbLayoutInfo::Columns() const
-    {
-    return iColumns;
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputVkbLayoutInfo::Rows
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline TInt CPeninputVkbLayoutInfo::Rows() const
-    {
-    return iRows;
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputVkbLayoutInfo::UnitWidth
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline TInt CPeninputVkbLayoutInfo::UnitWidth() const
-    {
-    return iUnitWidth;
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputVkbLayoutInfo::UnitHeight
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline TInt CPeninputVkbLayoutInfo::UnitHeight() const
-    {
-    return iUnitHeight;
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputVkbLayoutInfo::UnitCharWidth
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline TInt CPeninputVkbLayoutInfo::UnitCharWidth() const
-    {
-    return iUnitCharWidth;
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputVkbLayoutInfo::UnitCharHeight
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline TInt CPeninputVkbLayoutInfo::UnitCharHeight() const
-    {
-    return iUnitCharHeight;
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputVkbLayoutInfo::CharLeftTopPoint
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline TPoint CPeninputVkbLayoutInfo::CharLeftTopPoint() const
-    {
-    return iCharLeftTopPoint;
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputVkbLayoutInfo::CharFont
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline const CFont* CPeninputVkbLayoutInfo::CharFont() const
-    {
-    return iFont;
-    } 
-    
-// -----------------------------------------------------------------------------
-// CPeninputVkbLayoutInfo::BgBmp
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline CFbsBitmap* CPeninputVkbLayoutInfo::BgBmp() const
-    {
-    return iBgBmp;
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputVkbLayoutInfo::BgMaskBmp
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline CFbsBitmap* CPeninputVkbLayoutInfo::BgMaskBmp() const 
-    {
-    return iBgMaskBmp;
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputVkbLayoutInfo::DimBmp
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline CFbsBitmap* CPeninputVkbLayoutInfo::DimBmp() const 
-    {
-    return iDimBmp;
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputVkbLayoutInfo::DimMaskBmp
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline CFbsBitmap* CPeninputVkbLayoutInfo::DimMaskBmp() const 
-    {
-    return iDimMaskBmp;
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputVkbLayoutInfo::KeyInfoList
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline RPointerArray<CPeninputVkbKeyInfo> 
-    CPeninputVkbLayoutInfo::KeyInfoList() const 
-    {
-    return iKeyInfoList;
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputVkbLayoutInfo::HighlightBmps
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline RPointerArray<CFbsBitmap> 
-    CPeninputVkbLayoutInfo::HighlightBmps() const 
-    {
-    return iHighlightBmps;
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputVkbLayoutInfo::HighlightMaskBmps
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline RPointerArray<CFbsBitmap> 
-    CPeninputVkbLayoutInfo::HighlightMaskBmps() const
-    {
-    return iHighlightMaskBmps;     
-    }
--- a/textinput/peninputcommonctrls/loc/peninputcommonctrls.loc	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-/*
-* Copyright (c) 2008 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:  Localization strings for touch input common contrls
-*
-*/
-
-
-//  LOCALISATION STRINGS
-
-//d:Text in touch input mode swither list
-//d:virtual ITUT touch input method
-//l:list_single_pane_t1_cp2
-//r: 5.0   
-#define qtn_input_switcher_itu_t "Virtual ITU-T"
-
-//d:Text in touch input mode swither list
-//d:full sreen qwerty touch input method
-//l:list_single_pane_t1_cp2
-//r: 5.0   
-#define qtn_input_switcher_fs_qwerty "Full Screen Qwerty"
-
-//d:Text in touch input mode swither list
-//d:small virtual key board touch input method
-//l:list_single_pane_t1_cp2
-//r: 5.0   
-#define qtn_input_switcher_vkb "VKB"
-
-//d:Text in touch input mode swither list
-//d:Handwritting Recognition touch input method
-//l:list_single_pane_t1_cp2
-//r: 5.0   
-#define qtn_input_switcher_hwr "HWR"
-
-//d:Text in touch input mode swither list
-//d:full screen HWR touch input method
-//l:list_single_pane_t1_cp2
-//r: 5.0   
-#define qtn_input_switcher_fs_hwr "Full Screen HWR"
-
-
-//d:Text in candidate match selection list
-//d:The last item meaning to enger the spell mode
-//l:list_vitu2_match_list_item_pane_t1
-//r: 5.0   
-#define qtn_t9_match_selection_list "Spell"
-
-
-//d:column for ICF prompt text
-//l:field_vitu2_entry_pane_t1
-//r: 5.0   
-#define qtn_colon_in_prompt ":"
-
-
-
-//d:Text in candidate listt
-//d:current page /total pages information
-//l:vitu2_page_scroll_pane_t1
-//r: 5.0   
-#define qtn_paging_number_match_selection "%0N/%1N"
-
-
-//d:Text for T9 spelling prompt text
-//l:popup_vitu2_query_window_t1
-//r: 5.0   
-#define qtn_t9_spell_query "Word"
--- a/textinput/peninputcommonctrls/rom/peninputcommonctrls.iby	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* 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:  Image description file for project peninputcommonctrls
-*
-*/
-
-
-#ifndef PENINPUTCOMMONCTRLS_IBY
-#define PENINPUTCOMMONCTRLS_IBY
-
-#include <data_caging_paths_for_iby.hrh>
-#include <bldvariant.hrh>
-
-#ifdef __PEN_SUPPORT
-#ifdef RD_SCALABLE_UI_V2 
-
-file=ABI_DIR\BUILD_DIR\peninputcommonctrls.dll        SHARED_LIB_DIR\peninputcommonctrls.dll
-
-// switchutils
-data=DATAZ_\RESOURCE_FILES_DIR\apps\peninputmodeswitcher.mif     RESOURCE_FILES_DIR\apps\peninputmodeswitcher.mif   
-
-#endif // RD_SCALABLE_UI_V2
-#endif // __PEN_SUPPORT
-
-#endif // PENINPUTCOMMONCTRLS_IBY
--- a/textinput/peninputcommonctrls/rom/peninputcommonctrlsresources.iby	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* 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:  Image description file for project peninputcommonctrls
-*
-*/
-
-
-#ifndef PENINPUTCOMMONCTRLS_IBY
-#define PENINPUTCOMMONCTRLS_IBY
-
-#include <data_caging_paths_for_iby.hrh>
-#include <bldvariant.hrh>
-
-#ifdef __PEN_SUPPORT
-#ifdef RD_SCALABLE_UI_V2 
-// switchutils
-data=DATAZ_\RESOURCE_FILES_DIR\peninputmodeswitchutilsnew.rsc    RESOURCE_FILES_DIR\peninputmodeswitchutilsnew.rsc   
-
-#endif // RD_SCALABLE_UI_V2
-#endif // __PEN_SUPPORT
-
-#endif // PENINPUTCOMMONCTRLS_IBY
--- a/textinput/peninputcommonctrls/src/peninputbasewindow/peninputbasewindow.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,192 +0,0 @@
-/*
-* 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:  CAknFepCtrlBaseWindow
-*
-*/
-
-
-//  INCLUDES
-#include <peninputbutton.h>
-#include <peninputdragbutton.h>
-#include <peninputbasewindow.h>
-#include <peninputcommonbutton.h>
-#include <AknIconUtils.h>
-// ---------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------
-//
-EXPORT_C CAknFepCtrlBaseWindow::CAknFepCtrlBaseWindow(CFepUiLayout* aFepUiLayout, 
-                                          TInt aControlId)
-    :CControlGroup(aFepUiLayout,aControlId)
-    {
-    }
-
-// ---------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlBaseWindow::BaseConstructL()
-    {
-    CControlGroup::ConstructL();
-    
-    iTitleBar = CControlGroup::NewL(UiLayout(), 0, EFalse);
-    iClientPane = CControlGroup::NewL(UiLayout(), 0, EFalse);
-     
-    iMoveButton = CAknFepCtrlDragButton::NewL(UiLayout(), 0);
-    
-    iMoveButton->SetImageFrameId(KAknsIIDQsnFrFunctionButtonNormal,
-        									  KAknsIIDQsnFrFunctionButtonPressed,
-        									  KAknsIIDQsnFrFunctionButtonInactive);       
-    
-    iCloseButton = CAknFepCtrlCommonButton::NewL(UiLayout(), 0, 
-            								  KAknsIIDQsnFrFunctionButtonNormal,
-        									  KAknsIIDQsnFrFunctionButtonPressed,
-        									  KAknsIIDQsnFrFunctionButtonInactive);
-    iHeaderPane = CControlGroup::NewL(UiLayout(), 0, EFalse);
-
-    iTitleBar->AddControlL(iMoveButton);
-    iTitleBar->AddControlL(iHeaderPane);
-    iTitleBar->AddControlL(iCloseButton);
-    iCloseButton->AddEventObserver(this);
-    iMoveButton->AddPositionObserver(this);
-    
-    AddControlL(iTitleBar);
-    AddControlL(iClientPane);
-    }
-    
-// ---------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------
-//
-EXPORT_C CAknFepCtrlBaseWindow::~CAknFepCtrlBaseWindow()
-    {
-    }
-
-// ---------------------------------------------------------
-// Draw window frame and sub controls
-// ---------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlBaseWindow::Draw()
-    {
-	if(!AbleToDraw())
-        return;
-
-    //Clear();
-    DrawOpaqueMaskBackground( Rect() );
-    CFbsBitGc* gc= static_cast<CFbsBitGc*> ( BitGc());
-/*
-    gc->Activate( MaskBitmapDevice() );
-    gc->SetBrushStyle( CGraphicsContext::ENullBrush );
-    gc->SetBrushColor( MaskBkCol() );
-    gc->SetPenSize( PenSize());
-    gc->SetPenColor( PenColor() );
-
-    gc->DrawRect( Rect());
-    TRect rect = iTitleBar->Rect();
-    gc->DrawRect(rect);
-*/
-    // ----- draw bitmaps -----
-    gc->Activate( BitmapDevice() ); 
-    gc->SetBrushColor( TRgb(KOpaqueColor) );
-    gc->SetPenColor( TRgb(KOpaqueColor) );
-    gc->DrawRect( Rect());
-    if( BackgroundBmp() && BackgroundBmp()->SizeInPixels() != Rect().Size() )    
-    	AknIconUtils::SetSize(BackgroundBmp(), Rect().Size(), EAspectRatioNotPreserved);
-    
-	DrawBackground();
-	CControlGroup::Draw();
-    }
-
-// ---------------------------------------------------------
-// Close window
-// ---------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlBaseWindow::Close()
-    {
-    if (DoClose())
-        {
-        Hide(ETrue);
-        }
-    }
-
-// ---------------------------------------------------------
-// Enable or disable drag window
-// ---------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlBaseWindow::SetDragEnable(TBool aEnable)
-    {
-    if (iMoveButton)
-        {
-        iMoveButton->EnableDragging(aEnable);
-        }
-    }
-
-// ---------------------------------------------------------
-// Handle close event
-// ---------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlBaseWindow::HandleControlEvent(TInt aEventType, 
-                                             CFepUiBaseCtrl* aCtrl, 
-                                             const TDesC& /*aEventData*/)
-    {
-    if (aEventType == EEventButtonUp)
-        {
-        if (aCtrl == iCloseButton)
-            {
-            Close();
-            }
-        }
-    }
-
-EXPORT_C TBool CAknFepCtrlBaseWindow::DoClose()
-    {
-    return ETrue;
-    }
-    
-EXPORT_C CFepUiBaseCtrl* CAknFepCtrlBaseWindow::Control(TInt aCtrlId)
-    {
-    CFepUiBaseCtrl* ctrl = NULL;
-    RPointerArray<CFepUiBaseCtrl> todo;
-    TInt current = 0;
-    TBool notFound = ETrue;
-    
-    todo.Append(this);
-    
-    while (current < todo.Count() && notFound)
-        {
-        ctrl = todo[current];
-        if(ctrl->ControlId() == aCtrlId)
-            {
-            notFound = EFalse;     
-            }
-        else
-            {
-            if(ctrl->IsKindOfControl(ECtrlControlGroup))
-                {
-                CControlGroup* temp = static_cast<CControlGroup*>(ctrl);
-                for (int i = 0; i < temp->NumOfControls(); i++)
-                    {
-                    todo.Append(temp->At(i));
-                    }
-                }
-            current++;
-            }
-        }
-        
-    todo.Close();
-    
-    return notFound ? NULL : ctrl;
-    }    
-
-// End Of File
--- a/textinput/peninputcommonctrls/src/peninputbasewindow/peninputbasewindowext.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,691 +0,0 @@
-/*
-* 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:  CAknFepCtrlBaseWindowExt
-*
-*/
-
-
-//  INCLUDES
-#include <coemain.h>
-#include <bautils.h>
-#include <AknsItemID.h> 
-#include <AknsSkinInstance.h>
-#include <AknsUtils.h> 
-#include <aknlayoutscalable_avkon.cdl.h>
- #include <AknUtils.h> 
- 
-#include <peninputbutton.h>
-#include <peninputcommonbutton.h>
-#include <peninputdragbutton.h>
-#include <peninputbasewindowext.h>
-#include <peninputcommonlayoutglobalenum.h>
-
-#include <peninputlayoutinputmodechoice.h>
-#include <peninputlayoutmultilineicf.h>
-
-const TInt32 KInvalidResId = -1;
-const TInt KNotSupportSkin = -1;
-const TInt KInvalidImg = -1 ;
-const TUint32 KDefaultTextColor = 0x000000;
- 
-
-
-// ---------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------
-//
-EXPORT_C CAknFepCtrlBaseWindowExt::CAknFepCtrlBaseWindowExt(CFepUiLayout* aFepUiLayout, 
-                                          TInt aControlId)
-    :CControlGroup(aFepUiLayout,aControlId),
-    iCloseButton(NULL),
-    iFirstTimeConstruct(ETrue), 
-    iCoeEnv(CCoeEnv::Static())
-    {
-    }
-
-// ---------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlBaseWindowExt::BaseConstructL()
-    {
-    CControlGroup::ConstructL();
-    }
-    
-// ---------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------
-//
-EXPORT_C CAknFepCtrlBaseWindowExt::~CAknFepCtrlBaseWindowExt()
-    {
-    }
-
-// ---------------------------------------------------------
-// Draw window frame and sub controls
-// ---------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlBaseWindowExt::Draw()
-    {
-    if(Hiden() || !Ready())
-        {
-        return;
-        }
-
-    //Clear();
-    
-    DrawOpaqueMaskBackground( Rect() );
-    CFbsBitGc* gc= static_cast<CFbsBitGc*> ( BitGc());
-    /*
-    gc->Activate( MaskBitmapDevice() );
-    gc->SetBrushStyle( CGraphicsContext::ENullBrush );
-    gc->SetBrushColor( MaskBkCol() );
-    gc->SetPenSize( PenSize());
-    gc->SetPenColor( PenColor() );
-    gc->DrawRect( Rect());
-	*/
-    // ----- draw bitmaps -----
-
-    gc->Activate( BitmapDevice() ); 
-    gc->SetBrushColor( TRgb(KOpaqueColor) );
-    gc->SetPenColor( TRgb(KOpaqueColor) );
-    gc->DrawRect( Rect());
-    if( BackgroundBmp() && BackgroundBmp()->SizeInPixels() != Rect().Size() )    
-    	AknIconUtils::SetSize(BackgroundBmp(), Rect().Size(), EAspectRatioNotPreserved);
-    
-	DrawBackground();
-	CControlGroup::Draw();
-	/*
-    for(TInt i=0; i< NumOfControls(); i++)        
-        {
-        CFepUiBaseCtrl* ctrl = At(i);
-        if(!ctrl->Hiden())
-            {
-            ctrl->Draw();        
-            }
-        }*/
-    }
-
-// ---------------------------------------------------------
-// Close window
-// ---------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlBaseWindowExt::Close()
-    {
-    if (DoClose())
-        {
-        Hide(ETrue);
-        }
-    }
-
-// ---------------------------------------------------------
-// Enable or disable drag window
-// ---------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlBaseWindowExt::SetDragEnable(TBool /*aEnable*/)
-    {
-    /*if (iMoveButton)
-        {
-        iMoveButton->EnableDragging(aEnable);
-        }*/
-    }
-
-// ---------------------------------------------------------
-// Handle close event
-// ---------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlBaseWindowExt::HandleControlEvent(TInt aEventType, 
-                                             CFepUiBaseCtrl* aCtrl, 
-                                             const TDesC& /*aEventData*/)
-    {
-    if (aEventType == EEventButtonUp)
-        {
-        if (aCtrl->ControlId() == EPeninutWindowCtrlIdCloseBtn)
-            {
-            Close();
-            }
-        }
-    }
-
-EXPORT_C TBool CAknFepCtrlBaseWindowExt::DoClose()
-    {
-    return ETrue;
-    }
-    
-EXPORT_C CFepUiBaseCtrl* CAknFepCtrlBaseWindowExt::Control(TInt aCtrlId)
-    {
-    CFepUiBaseCtrl* ctrl = NULL;
-    RPointerArray<CFepUiBaseCtrl> todo;
-    TInt current = 0;
-    TBool notFound = ETrue;
-    
-    todo.Append(this);
-    
-    while (current < todo.Count() && notFound)
-        {
-        ctrl = todo[current];
-        if(ctrl->ControlId() == aCtrlId)
-            {
-            notFound = EFalse;     
-            }
-        else
-            {
-            if(ctrl->IsKindOfControl(ECtrlControlGroup))
-                {
-                CControlGroup* temp = static_cast<CControlGroup*>(ctrl);
-                for (int i = 0; i < temp->NumOfControls(); i++)
-                    {
-                    todo.Append(temp->At(i));
-                    }
-                }
-            current++;
-            }
-        }
-        
-    todo.Close();
-    
-    return notFound ? NULL : ctrl;
-    }    
-
-EXPORT_C void CAknFepCtrlBaseWindowExt::ConstructFromResourceL()
-    {    
-    if (iResourceId == KInvalidResId)
-    	{
-        User::Leave(KErrArgument);
-    	}
-
-    TResourceReader reader;
-    iCoeEnv->CreateResourceReaderLC(reader, iResourceId);
-
-    TInt supportskin = reader.ReadInt16();
-    
-    if (iFirstTimeConstruct&& (supportskin != KNotSupportSkin))
-        {
-    	UiLayout()->AddControlL(this);
-        }
-        
-    // Read information of shadow
-    const TInt32 shadowResId = reader.ReadInt32(); 
-    ReadShadowInfoL( shadowResId );
-     
-    // Read information of background 
-    const TInt32 backgroundResId = reader.ReadInt32(); 
-    ReadBackgroundInfoL( backgroundResId ); 
-    
-    // Read resource information to create base window controls
-     const TInt count = reader.ReadInt16();
-	
-	if( iFirstTimeConstruct )
-		{
-		for( TInt i = 0; i < count && iFirstTimeConstruct; i++ )
-	        {
-	        const TInt16 id = reader.ReadInt16();
-	        const TInt32 image = reader.ReadInt32();
-	        CreateBaseWindowControlsL( id, image );
-	        }    	
-		}
-	else
-		{
-		CControlGroup::ConstructFromResourceL();
-		// ReConstruct ICF when resource changed
-        CFepLayoutMultiLineIcf* multiIcf = 
-		    static_cast<CFepLayoutMultiLineIcf*>( Control(EPeninputWindowCtrlIdMultiLineICF));
-		if( multiIcf )
-			{
-			TResourceReader reader;
-			iCoeEnv->CreateResourceReaderLC( reader, multiIcf->ResourceId() );  
-			ReadMultiLineIcfInforL( reader, multiIcf );     
-			CleanupStack::PopAndDestroy( 1 );				
-			}
-		}
-    CleanupStack::PopAndDestroy(); // reader
-    
-    iFirstTimeConstruct = EFalse;
-    }
-
-TBool CAknFepCtrlBaseWindowExt::CreateCustomControlL( TInt16 /*aControlId*/, TInt32 /*aImageId*/ )
-	{
-	return EFalse;	
-	}
-	
-void CAknFepCtrlBaseWindowExt::AddCustomControlGroupL(CFepUiBaseCtrl* aCtrl)
-	{
-	AddControlL(aCtrl);
-	}
-
-EXPORT_C void CAknFepCtrlBaseWindowExt::CreateBaseWindowControlsL( TInt16 aControlId, 
-                                                                   TInt32 aImageId )
-    {
-    if (CreateCustomControlL(aControlId, aImageId))
-    	{
-    	return;	
-    	}
-    
-    switch ( aControlId )
-        {
-        case EPeninutWindowCtrlIdCloseBtn:
-            {
-            CAknFepCtrlCommonButton* closeButton = 
-            	CAknFepCtrlCommonButton::NewL(UiLayout(), aControlId, 
-            								  KAknsIIDQsnFrFunctionButtonNormal,
-        									  KAknsIIDQsnFrFunctionButtonPressed,
-        									  KAknsIIDQsnFrFunctionButtonInactive);
-
-            AddCustomControlGroupL( closeButton );
-
-            closeButton->AddEventObserver(this);
-            closeButton->SetResourceId( aImageId );
-            closeButton->ConstructFromResourceL();
-            SetCloseButton(closeButton);
-            }
-            break;
-        case EPeninutWindowCtrlIdInputContextField:
-            {
-            CFepInputContextField* icf= CFepInputContextField::NewL( TRect(), 
-                UiLayout(), aControlId ); 
-                
-            AddCustomControlGroupL( icf );
-
-            icf->SetFocus(ETrue);
-            icf->AddEventObserver( UiLayout() );
-            
-            TResourceReader reader;
-            iCoeEnv->CreateResourceReaderLC( reader, aImageId );  
-            ReadIcfInfoL( reader, icf);     
-            CleanupStack::PopAndDestroy( 1 );
-            }
-            break;
-        case EPeninputWindowCtrlIdMultiLineICF:
-            {
-            const CFont* icfFont = NULL;
-            TAknTextLineLayout textPaneTextLayout;
-    
-            textPaneTextLayout = 
-            AknLayoutScalable_Avkon::fep_vkb_top_text_pane_t1().LayoutLine();
-                        
-            icfFont = AknLayoutUtils::FontFromId( textPaneTextLayout.iFont, NULL );    
-            CFepLayoutMultiLineIcf* multiLineIcf = NULL;
-
-            if ( icfFont )
-                {
-                multiLineIcf = CFepLayoutMultiLineIcf::NewL( TRect(), 
-                    UiLayout(), aControlId, icfFont->HeightInPixels(),
-                    icfFont->FontMaxHeight(),icfFont );    
-                
-                AddCustomControlGroupL( multiLineIcf );
-
-                // Add layout as event observer
-                multiLineIcf->AddEventObserver( UiLayout() );
-                multiLineIcf->SetResourceId( aImageId );
-                multiLineIcf->SetFocus(ETrue);
-
-	            TResourceReader reader;
-	            iCoeEnv->CreateResourceReaderLC( reader, aImageId );  
-	            ReadMultiLineIcfInforL( reader,multiLineIcf );     
-	            CleanupStack::PopAndDestroy( 1 );
-                }
-            }
-            break;
-        case EPeninutWindowCtrlIdOptionBtn:
-            {
-            CAknFepCtrlEventButton* touchInputOptionButton = CAknFepCtrlEventButton::NewL( 
-        									  UiLayout(),
-        									  aControlId, EPeninputLayoutEventOption, 0, 
-        									  KAknsIIDQsnFrFunctionButtonNormal,
-        									  KAknsIIDQsnFrFunctionButtonPressed,
-        									  KAknsIIDQsnFrFunctionButtonInactive );
-            
-            AddCustomControlGroupL( touchInputOptionButton );
-
-            touchInputOptionButton->AddEventObserver( UiLayout() );
-            touchInputOptionButton->SetResourceId( aImageId ); 
-            touchInputOptionButton->ConstructFromResourceL();  
-            }
-            break;
-        case EPeninutWindowCtrlIdBackspaceBtn:
-            {
-            CAknFepCtrlRepeatButton* backspaceButton = CAknFepCtrlRepeatButton::NewL( 
-        									  UiLayout(), aControlId, EPeninputLayoutEventBack, EKeyBackspace, 
-        									  KAknsIIDQsnFrFunctionButtonNormal,
-        									  KAknsIIDQsnFrFunctionButtonPressed,
-        									  KAknsIIDQsnFrFunctionButtonInactive );
-                
-            AddCustomControlGroupL( backspaceButton );
-
-            backspaceButton->AddEventObserver( UiLayout() );
-            backspaceButton->SetResourceId( aImageId );
-            backspaceButton->ConstructFromResourceL();  
-            }
-            break;
-        case EPeninutWindowCtrlIdSpaceBtn:
-            {
-            CAknFepCtrlEventButton* spaceButton = CAknFepCtrlEventButton::NewL( 
-        									  UiLayout(), aControlId, EPeninputLayoutEventSpace, EKeySpace,
-        									  KAknsIIDQsnFrFunctionButtonNormal,
-        									  KAknsIIDQsnFrFunctionButtonPressed,
-        									  KAknsIIDQsnFrFunctionButtonInactive );
-            AddCustomControlGroupL( spaceButton );
-            spaceButton->AddEventObserver( UiLayout() );
-            spaceButton->SetResourceId( aImageId );
-            spaceButton->ConstructFromResourceL();  
-            }
-            break;
-        case EPeninutWindowCtrlIdEnterBtn:
-            {
-            CAknFepCtrlEventButton* enterButton = CAknFepCtrlEventButton::NewL( 
-        									  UiLayout(), aControlId, EPeninputLayoutEventEnter, EKeyEnter, 
-        									  KAknsIIDQsnFrFunctionButtonNormal,
-        									  KAknsIIDQsnFrFunctionButtonPressed,
-        									  KAknsIIDQsnFrFunctionButtonInactive  );
-            
-            AddCustomControlGroupL( enterButton );
-            enterButton->AddEventObserver(UiLayout());
-            enterButton->SetResourceId( aImageId );
-            enterButton->ConstructFromResourceL();  
-            }
-            break;
-        case EPeninutWindowCtrlIdSwitcherPopupWindow:
-            {
-            CPeninputLayoutInputmodelChoice* modeSwitchChoice = 
-                                                CPeninputLayoutInputmodelChoice::NewL( UiLayout(),
-                 EPeninutWindowCtrlIdSwitcherPopupWindow, 
-                 (TPluginInputMode)(UiLayout()->PenInputType()));
-                 modeSwitchChoice->SetListSkinID( KAknsIIDQsnFrList, KAknsIIDQsnFrPopupSub );
-            AddCustomControlGroupL( modeSwitchChoice );
-            modeSwitchChoice->AddEventObserver( UiLayout() );   
-            }   
-            break;
-        default:
-            {
-            }
-            break;
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// CAknFepCtrlBaseWindowExt::ReadShadowInfoL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-void CAknFepCtrlBaseWindowExt::ReadShadowInfoL( TInt aResId )
-    {
-    TResourceReader resReader;
-    iCoeEnv->CreateResourceReaderLC( resReader, aResId );
-     
-    TPtrC bmpFileName = resReader.ReadTPtrC();
-    TInt32 imgMajorSkinId = resReader.ReadInt32();
-
-    TAknsItemID id;
-    TInt skinitemid;
-    
-    MAknsSkinInstance* skininstance = AknsUtils::SkinInstance();
-
-    for ( TInt i = 0; i < KShadowBmpBr + 1; i++ )
-    	{
-        const TInt16 bmpId = resReader.ReadInt16();
-        const TInt16 bmpMskId = resReader.ReadInt16();
-        skinitemid = resReader.ReadInt16();
-        
-        id.Set(TInt(imgMajorSkinId), skinitemid);
-    	
-        if (bmpId != KInvalidImg)
-        	{
-            CFbsBitmap* shadowImg = NULL;
-            CFbsBitmap* shadowMaskImg = NULL;
-
-            if (bmpMskId != KInvalidImg)
-                {
-                AknsUtils::CreateIconL(skininstance, 
-                                       id,
-                                       shadowImg,
-                                       shadowMaskImg,
-                                       bmpFileName,
-                                       bmpId,
-                                       bmpMskId);
-                }
-            else
-                {
-                AknsUtils::CreateIconL(skininstance,
-                                       id,
-                                       shadowImg,
-                                       bmpFileName,
-                                       bmpId);
-                }
-            
-            UiLayout()->SetShadowBmp(shadowImg, shadowMaskImg, TShadowBitmapIndex(i));
-        	}
-    	}
-    CleanupStack::PopAndDestroy( 1 );
-    }
-    
-// ---------------------------------------------------------------------------
-// CAknFepCtrlBaseWindowExt::ReadBackgroundInfoL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-void CAknFepCtrlBaseWindowExt::ReadBackgroundInfoL( TInt aResId )
-    {
-    if( aResId == 0 )
-    	return;
-    
-    if( BackgroundBmp() )
-    	{
-    	CFbsBitmap* bkBmp = BackgroundBmp();
-    	delete bkBmp;	
-    	SetBackgroundBmp( NULL );
-    	}
-    if( BkMaskBmp() )
-    	{
-    	CFbsBitmap* bkMaskBmp = BkMaskBmp();
-    	delete bkMaskBmp;
-		SetBackgroundMaskBmp( NULL );
-    	}    
-    
-    TResourceReader resReader;
-    iCoeEnv->CreateResourceReaderLC( resReader, aResId );
-     
-    TPtrC bmpFileName = resReader.ReadTPtrC();
-    TInt32 imgMajorSkinId = resReader.ReadInt32();
-
-    TAknsItemID id;
-    TInt skinitemid;
-    
-    MAknsSkinInstance* skininstance = AknsUtils::SkinInstance();
-    const TInt16 bmpId = resReader.ReadInt16();
-    const TInt16 bmpMskId = resReader.ReadInt16();
-    skinitemid = resReader.ReadInt16();   
-    id.Set(TInt(imgMajorSkinId), skinitemid);
-	
-    if (bmpId != KInvalidImg)
-    	{
-    	CFbsBitmap* backgroundImg = NULL;
-    	CFbsBitmap* backgroundMaskImg = NULL;
-        if (bmpMskId != KInvalidImg)
-            {
-            AknsUtils::CreateIconL(skininstance, 
-                                   id,
-                                   backgroundImg,
-                                   backgroundMaskImg,
-                                   bmpFileName,
-                                   bmpId,
-                                   bmpMskId);
-            }
-        else
-            {
-            AknsUtils::CreateIconL(skininstance,
-                                   id,
-                                   backgroundImg,
-                                   bmpFileName,
-                                   bmpId);
-            }
-       
-        SetBackgroundBmp( backgroundImg );
-        SetBackgroundMaskBmp( backgroundMaskImg );           
-    	}
-    CleanupStack::PopAndDestroy( 1 );
-    }
-    
-// ---------------------------------------------------------------------------
-// CAknFepCtrlBaseWindowExt::ReadIcfInfoL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-void CAknFepCtrlBaseWindowExt::ReadIcfInfoL(TResourceReader aResReader,
-                                           CFepInputContextField* icf )
-    {
-    TPtrC bmpFileName = aResReader.ReadTPtrC();  
-    TInt32 imgMajorSkinId = aResReader.ReadInt32();
-
-    TAknsItemID id;
-    TInt skinitemid;
-    
-    MAknsSkinInstance* skininstance = AknsUtils::SkinInstance();
-
-    const TInt16 icfbgId = aResReader.ReadInt16();
-    const TInt16 icfbgmaskId = aResReader.ReadInt16();
-    skinitemid = aResReader.ReadInt16();
-
-    id.Set( TInt( imgMajorSkinId ), skinitemid );
-    
-    if ( icfbgId != KInvalidImg )
-    	{
-        CFbsBitmap* icfImg = NULL;
-
-        if (icfbgmaskId != KInvalidImg)
-            {
-            CFbsBitmap* icfmaskImg = NULL;
-            
-            AknsUtils::CreateIconL(skininstance,
-                                   id,
-                                   icfImg,
-                                   icfmaskImg,
-                                   bmpFileName,
-                                   icfbgId,
-                                   icfbgmaskId);
-            
-            AknIconUtils::SetSize(icfmaskImg, TSize(1,1), EAspectRatioNotPreserved);
-            icf->SetBackgroundMaskBitmapL(icfmaskImg);
-            }
-        else
-            {
-            AknsUtils::CreateIconL(skininstance,
-                                   id,
-                                   icfImg,
-                                   bmpFileName,
-                                   icfbgId);
-            }
-    	
-    	AknIconUtils::SetSize(icfImg, TSize(1,1), EAspectRatioNotPreserved);
-    	icf->SetBackgroundBitmapL(icfImg);
-    	}
-
-    // read text color
-    TRgb textcolor;
-    TInt32 colorMajorSkinId = aResReader.ReadInt32();
-    skinitemid = aResReader.ReadInt16();
-    
-    id.Set(TInt(colorMajorSkinId), skinitemid);
-
-    const TInt16 textcoloridx = aResReader.ReadInt16();
-    
-    TInt error = AknsUtils::GetCachedColor(skininstance, 
-                                           textcolor,
-                                           id,
-                                           textcoloridx);
-
-    if (error == KErrNone)
-        {
-        icf->SetTextColor( textcolor );
-        }
-    else
-        {
-        icf->SetTextColor( TRgb( KDefaultTextColor ) );
-        }    
-    }    
-    
-void CAknFepCtrlBaseWindowExt::ReadMultiLineIcfInforL( TResourceReader aResReader ,
-													  CFepLayoutMultiLineIcf* icf)
-    {
-    TPtrC bmpFileName = aResReader.ReadTPtrC();  
-    TInt32 imgMajorSkinId = aResReader.ReadInt32();
-
-    TAknsItemID id;
-    TInt skinitemid;
-    
-    MAknsSkinInstance* skininstance = AknsUtils::SkinInstance();
-
-    const TInt16 icfbgId = aResReader.ReadInt16();
-    const TInt16 icfbgmaskId = aResReader.ReadInt16();
-    skinitemid = aResReader.ReadInt16();
-
-    id.Set( TInt( imgMajorSkinId ), skinitemid );
-    
-    if ( icfbgId != KInvalidImg )
-    	{
-        CFbsBitmap* icfImg = NULL;
-
-        if (icfbgmaskId != KInvalidImg)
-            {
-            CFbsBitmap* icfmaskImg = NULL;
-            
-            AknsUtils::CreateIconL(skininstance,
-                                   id,
-                                   icfImg,
-                                   icfmaskImg,
-                                   bmpFileName,
-                                   icfbgId,
-                                   icfbgmaskId);
-            
-            AknIconUtils::SetSize(icfmaskImg, TSize(1,1), EAspectRatioNotPreserved);
-            icf->SetBackgroundMaskBitmapL(icfmaskImg);
-            }
-        else
-            {
-            AknsUtils::CreateIconL(skininstance,
-                                   id,
-                                   icfImg,
-                                   bmpFileName,
-                                   icfbgId);
-            }
-    	
-    	AknIconUtils::SetSize(icfImg, TSize(1,1), EAspectRatioNotPreserved);
-    	icf->SetBackgroundBitmapL(icfImg);
-    	}
-
-    // read text color
-    TRgb textcolor;
-    TInt32 colorMajorSkinId = aResReader.ReadInt32();
-    skinitemid = aResReader.ReadInt16();
-    
-    id.Set(TInt(colorMajorSkinId), skinitemid);
-
-    const TInt16 textcoloridx = aResReader.ReadInt16();
-    
-    TInt error = AknsUtils::GetCachedColor(skininstance, 
-                                           textcolor,
-                                           id,
-                                           textcoloridx);
-
-    if (error == KErrNone)
-        {
-        icf->SetTextColorL( textcolor );
-        }
-    else
-        {
-        icf->SetTextColorL( TRgb( KDefaultTextColor ) );
-        }    
-    }
-    
-    
-    
-// End Of File
--- a/textinput/peninputcommonctrls/src/peninputbuttons/peninputbutton.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,4098 +0,0 @@
-/*
-* 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:  Implementation of button
-*
-*/
-
-
-// system includes
-#include <barsread.h>
-#include <peninputlayout.h>
-#include <AknIconUtils.h>
-#include <coemain.h>
-#include <AknsUtils.h>
-#include <AknUtils.h>
-#include <AknsDrawUtils.h> 
-// user includes
-#include <peninputbutton.h>
-#include <peninputdragbutton.h>
-#include <peninputeventbutton.h>
-#include <peninputmultimodebutton.h>
-#include <peninputrepeatbutton.h>
-#include <peninputrawkeybutton.h>
-#include <peninputcommonbutton.h>
-#include <peninputmultiimagebutton.h>
-#include <peninputcommonctrls.hrh>
-#include <peninputcommonlayoutglobalenum.h>
-
-const TInt KInvalidBmp = -1 ;
-
-//default value for long press timer
-const TInt KLongPressInterval = 600000;
-
-//default value for repeat timer
-const TInt KRepeatInterval = 100000;
-
-//default text color and shadow text color
-const TUint32 KDefaultTextColor = 0x000000;
-const TUint32 KDefaultShadowTextColor = 0xffffff;
-const TInt32 KInvalidResId = -1;
-const TInt KInvalidEventId = 0xffff;
-//const TInt KFadingParamBlack = 255;
-//const TInt KFadingParamWhite = 0;
-
-const TInt KTransparency[256] =
-    { 
-    0, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7,
-    8, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 13, 13,
-    14, 14, 14, 14, 15, 15, 15, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 19,
-    19, 19, 20, 20, 20, 20, 21, 21, 21, 22, 22, 22, 23, 23, 23, 23, 24, 24,
-    24, 25, 25, 25, 26, 26, 26, 26, 27, 27, 27, 28, 28, 28, 29, 29, 29, 29,
-    30, 30, 30, 31, 31, 31, 32, 32, 32, 32, 33, 33, 33, 34, 34, 34, 35, 35,
-    35, 35, 36, 36, 36, 37, 37, 37, 38, 38, 38, 38, 39, 39, 39, 40, 40, 40,
-    41, 41, 41, 41, 42, 42, 42, 43, 43, 43, 44, 44, 44, 44, 45, 45, 45, 46,
-    46, 46, 47, 47, 47, 47, 48, 48, 48, 49, 49, 49, 50, 50, 50, 50, 51, 51,
-    51, 52, 52, 52, 53, 53, 53, 53, 54, 54, 54, 55, 55, 55, 56, 56, 56, 56,
-    57, 57, 57, 58, 58, 58, 59, 59, 59, 59, 60, 60, 60, 61, 61, 61, 62, 62,
-    62, 62, 63, 63, 63, 64, 64, 64, 65, 65, 65, 65, 66, 66, 66, 67, 67, 67,
-    68, 68, 68, 68, 69, 69, 69, 70, 70, 70, 71, 71, 71, 71, 72, 72, 72, 73,
-    73, 73, 74, 74, 74, 74, 75, 75, 75, 76, 76, 76, 77, 77 
-    };
-// Invalid function icon color group
-const TInt KInvalidColorGroup = -1;
-
-// ======== MEMBER FUNCTIONS ========
-   
-// ---------------------------------------------------------------------------
-// CAknFepCtrlButton::CAknFepCtrlButton
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CAknFepCtrlButton::CAknFepCtrlButton(CFepUiLayout* aUiLayout, TInt aControlId)
-: CButtonBase(TRect(), aUiLayout, aControlId), iFirstTimeConstruct(ETrue), iHighlight(EFalse) 
-    {
-    }
-    
-// ---------------------------------------------------------------------------
-// CAknFepCtrlButton::NewL
-// Two-phased constructor.
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CAknFepCtrlButton* CAknFepCtrlButton::NewL(CFepUiLayout* aUiLayout, TInt aControlId)
-    {
-    CAknFepCtrlButton* self = NewLC(aUiLayout, aControlId);
-    CleanupStack::Pop(self);
-    
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlButton::NewLC
-// Two-phased constructor.
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CAknFepCtrlButton* CAknFepCtrlButton::NewLC(CFepUiLayout* aUiLayout, TInt aControlId)
-    {
-    CAknFepCtrlButton* self = new (ELeave) CAknFepCtrlButton(aUiLayout, aControlId);
-    CleanupStack::PushL(self);
-    self->BaseConstructL();
-
-    return self;
-    }    
-    
-// -----------------------------------------------------------------------------
-// Destructor.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CAknFepCtrlButton::~CAknFepCtrlButton()
-    {
-    iBmpList.Close();
-    iMaskBmpList.Close();
-    }
-// ---------------------------------------------------------------------------
-// CAknFepCtrlButton::ConstructFromResourceL
-// The order of the image ids in the CButtonBase class must not be changed
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlButton::ConstructFromResourceL(TResourceReader& aReader)
-    {
-	if (!iFirstTimeConstruct)
-		{
-        iBmpList.Close();
-        iMaskBmpList.Close();
-        ResetBmpPool();
-		}
-    
-    TPtrC bmpFileName = aReader.ReadTPtrC();    // Read the file name of the bmps
-    TInt32 imgMajorSkinId = aReader.ReadInt32();
-   	TInt colorgroup = aReader.ReadInt16();
-    TAknsItemID id;
-
-    for (TInt ii = 0; ii < EBtnBmpLastType + 1; ++ii)
-        {
-        // Get the image ids and mask ids from resource
-        TInt bmpId = aReader.ReadInt16(); 
-        TInt bmpMskId = aReader.ReadInt16();
-        
-        // read skin item id
-        const TInt skinitemid = aReader.ReadInt16();
-        id.Set(TInt(imgMajorSkinId), skinitemid);
-        
-        if (bmpId != KInvalidBmp)
-            {
-        	CFbsBitmap* bmp = NULL;
-        	CFbsBitmap* maskbmp = NULL;
-
-        	if (bmpMskId != KInvalidBmp)
-        		{
-        		AknsUtils::CreateIconL(AknsUtils::SkinInstance(),
-        		                       id,
-        		                       bmp,
-        		                       maskbmp,
-        		                       bmpFileName,
-        		                       bmpId,
-        		                       bmpMskId);
-        		
-       		    // set maskbmp and size
-                SetMaskBitmapL(maskbmp, TButtonBmpType(EBtnBmpNonActive + ii));
-                iMaskBmpList.Append(maskbmp);
-                }
-            else
-                {
-        	    AknsUtils::CreateIconL(AknsUtils::SkinInstance(),
-        	                           id,
-        	                           bmp,
-        	                           bmpFileName,
-        	                           bmpId);
-                }
-
-            // set bmp and size
-            SetBitmapL(bmp, TButtonBmpType(EBtnBmpNonActive + ii));
-            iBmpList.Append(bmp);
-            }
-        }
-
-    if (!iFirstTimeConstruct)
-    	{
-        ResizeBitmaps(Rect().Size());
-    	Draw();
-    	}
-    
-    iFirstTimeConstruct = EFalse;    
-    }
-    
-// ---------------------------------------------------------------------------
-// CAknFepCtrlButton::ConstructFromResourceL
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlButton::ConstructFromResourceL()
-	{
-	if (iResourceId == KInvalidResId)
-		{
-        User::Leave(KErrArgument);
-		}
-	
-	if (!iFirstTimeConstruct)
-		{
-		// need to remove original bmp and maskbmp
-        iBmpList.Close();
-        iMaskBmpList.Close();
-        ResetBmpPool();
-		}
-
-    TResourceReader reader;
-    CCoeEnv::Static()->CreateResourceReaderLC(reader, iResourceId);
-
-    TPtrC bmpFileName = reader.ReadTPtrC();    // Read the file name of the bmps
-    TInt32 imgMajorSkinId = reader.ReadInt32();
-    TInt colorgroup = reader.ReadInt16();
-    TAknsItemID id;
-
-    for (TInt ii = 0; ii < EBtnBmpLastType + 1; ++ii)
-        {
-        // Get the image ids and mask ids from resource
-        TInt bmpId = reader.ReadInt16(); 
-        TInt bmpMskId = reader.ReadInt16();
-        
-        // read skin item id
-        const TInt skinitemid = reader.ReadInt16();
-        id.Set(TInt(imgMajorSkinId), skinitemid);
-        
-        if (bmpId != KInvalidBmp)
-            {
-        	CFbsBitmap* bmp = NULL;
-        	CFbsBitmap* maskbmp = NULL;
-
-        	if (bmpMskId != KInvalidBmp)
-        		{
-        		AknsUtils::CreateIconL(AknsUtils::SkinInstance(),
-        		                       id,
-        		                       bmp,
-        		                       maskbmp,
-        		                       bmpFileName,
-        		                       bmpId,
-        		                       bmpMskId);
-        		
-       		    // set maskbmp and size
-                SetMaskBitmapL(maskbmp, TButtonBmpType(EBtnBmpNonActive + ii));
-                iMaskBmpList.Append(maskbmp);
-                }
-            else
-                {
-        	    AknsUtils::CreateIconL(AknsUtils::SkinInstance(),
-        	                           id,
-        	                           bmp,
-        	                           bmpFileName,
-        	                           bmpId);
-                }
-
-            // set bmp and size
-            SetBitmapL(bmp, TButtonBmpType(EBtnBmpNonActive + ii));
-            iBmpList.Append(bmp);
-            }
-        }
-        
-    CleanupStack::PopAndDestroy(); // reader
-    
-    if (!iFirstTimeConstruct)
-    	{
-        ResizeBitmaps(Rect().Size());
-    	Draw();
-    	}
-
-    iFirstTimeConstruct = EFalse;    	
-	}
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlButton::Draw
-// Draws UI
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlButton::Draw()
-    {
-	if(!AbleToDraw())
-        return;
-    
-    if ( !BackgroundBmp() )
-        {
-        CButtonBase::Draw();
-        }
-
-    CFbsBitGc* gc = static_cast<CFbsBitGc*>(BitGc());        
-    
-    //mask bitmaps
-    gc->Activate( MaskBitmapDevice() );
-   
-    gc->SetBrushStyle( CGraphicsContext::ESolidBrush );
-    gc->SetBrushColor( TRgb(KOpaqueColor));//Non transparent at all
-    gc->SetPenStyle(CGraphicsContext::ESolidPen );
-    gc->SetPenSize( PenSize());
-    gc->SetPenColor( TRgb(KOpaqueColor) );
-    gc->DrawRect(Rect());   
-
-    // ----- draw bitmaps -----
-    gc->Activate( BitmapDevice() );   
-    if ( BackgroundBmp() )
-        {
-        TSize size=BackgroundBmp()->SizeInPixels();
-    
-        gc->DrawBitmap(Rect(), BackgroundBmp(),size);
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// CAknFepCtrlButton::SetActive
-// Set active for the button
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlButton::SetActive(TBool aActiveFlag)
-    {
-    if( IsDimmed() )
-        {
-        return;
-        }
-        
-    if(IsActive() != aActiveFlag)
-        {
-        CFepUiBaseCtrl::SetActive(aActiveFlag);
-        if(aActiveFlag || iHighlight)
-            {               
-            SetBackgroundBmp(Bitmap(EBtnBmpActive,EFalse));
-            SetBackgroundMaskBmp(Bitmap(EBtnBmpActive,ETrue));
-            //Hide(EFalse);   //active button won't be Hiden ???
-            }
-        else
-            {
-            SetBackgroundBmp(Bitmap(EBtnBmpNonActive,EFalse));
-            SetBackgroundMaskBmp(Bitmap(EBtnBmpNonActive,ETrue));
-            }
-        if(BitGc())
-            {       
-            Draw();
-            UpdateArea(Rect(),EFalse);
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlButton::SetHighlight
-// Set highlight for the button
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C void CAknFepCtrlButton::SetHighlight(TBool aIsHighlight)
-    {
-    iHighlight = aIsHighlight;
-
-    if ( iHighlight )
-        {
-        SetBackgroundBmp(Bitmap(EBtnBmpActive,EFalse));
-        SetBackgroundMaskBmp(Bitmap(EBtnBmpActive,ETrue));            
-        }
-    else
-        {
-        SetBackgroundBmp(Bitmap(EBtnBmpNonActive,EFalse));
-        SetBackgroundMaskBmp(Bitmap(EBtnBmpNonActive,ETrue));
-        }
-    Draw();
-    UpdateArea(Rect(), EFalse);         
-    }
-    
-// ---------------------------------------------------------------------------
-// CAknFepCtrlButton::ResizeBitmaps
-// This methods shall be called by the container's SizeChanged handler
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-void CAknFepCtrlButton::ResizeBitmaps(TSize aSize)
-    {
-    if (iMaskBmpList.Count() >= 1 && 
-        iMaskBmpList[0]->SizeInPixels() != aSize)
-        {
-        for( int ii = 0; ii < iMaskBmpList.Count(); ++ii )
-            {
-          	AknIconUtils::SetSize(iMaskBmpList[ii], aSize, EAspectRatioNotPreserved);
-            }
-        }
-
-    if (iBmpList.Count() >= 1 &&
-        iBmpList[0]->SizeInPixels() != aSize)
-        {
-        for( int ii = 0; ii < iBmpList.Count(); ++ii )
-            {
-       	    AknIconUtils::SetSize(iBmpList[ii], aSize, EAspectRatioNotPreserved);
-            }
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// CAknFepCtrlButton::SizeChanged
-// This methods shall be called by the container's SizeChanged handler
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlButton::SizeChanged(TRect aNewRect, TBool aIsReloadImages)
-    {
-    if ((aNewRect.Size().iWidth == 0 || aNewRect.Size().iHeight == 0) &&
-        (ControlId() != EPeninupWindowCtrlIdArrowLeftBtn && 
-         ControlId() != EPeninupWindowCtrlIdArrowRightBtn))
-        {
-   	    return;
-        }
-    
-    SetRect(aNewRect);
-
-    //if (aIsReloadImages)
-        {
-        ResizeBitmaps(aNewRect.Size());	
-        }
-
-    Draw();
-    UpdateArea(Rect(), EFalse);
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlButton::HandlePointerLeave
-// Handle pointer leave event
-// ---------------------------------------------------------------------------
-//           
-void CAknFepCtrlButton::HandlePointerLeave(const TPoint& aPt)
-    {
-    if( IsDimmed() )
-        return;
-    if( iHighlight )
-        {
-        SetBackgroundBmp(iActiveBmp);
-        SetBackgroundMaskBmp(iActiveMaskBmp);
-        }
-        
-    else
-        {
-        SetBackgroundBmp(iNonActiveBkBmp);
-        SetBackgroundMaskBmp(iNonActiveBkMaskBmp);
-        }
-    Draw();
-    UpdateArea(Rect(), EFalse);   
-    CFepUiBaseCtrl::HandlePointerLeave(aPt);
-    return ;
-    }
-    
-// -----------------------------------------------------------------------------
-// CAknFepCtrlDragButton::CAknFepCtrlDragButton
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CAknFepCtrlDragButton::CAknFepCtrlDragButton(CFepUiLayout* aUiLayout, TInt aControlId)
-: CDragBar(TRect(), aUiLayout, aControlId), iFirstTimeConstruct(ETrue)
-    {
-    }
-    
-// -----------------------------------------------------------------------------
-// Destructor.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CAknFepCtrlDragButton::~CAknFepCtrlDragButton()
-    {
-    iBmpList.Close();
-    iMaskBmpList.Close();
-    
-	DeleteForgroundRes();
-    delete iText;    
-    }
-
-    
-// -----------------------------------------------------------------------------
-// CAknFepCtrlDragButton::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CAknFepCtrlDragButton* CAknFepCtrlDragButton::NewL(CFepUiLayout* aUiLayout, 
-                                                            TInt aControlId)
-    {
-    CAknFepCtrlDragButton* self = NewLC(aUiLayout, aControlId);
-    CleanupStack::Pop(self);
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlDragButton::NewLC
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CAknFepCtrlDragButton* CAknFepCtrlDragButton::NewLC(CFepUiLayout* aUiLayout, 
-                                                             TInt aControlId)
-    {
-    CAknFepCtrlDragButton* self = new (ELeave) CAknFepCtrlDragButton(aUiLayout, aControlId);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-
-    return self;
-    }    
-    
-// -----------------------------------------------------------------------------
-// CAknFepCtrlDragButton::ConstructFromResourceL
-// The order of the image ids in the CButtonBase class must not be changed
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlDragButton::ConstructFromResourceL(TResourceReader& aReader)
-    {
-    /*
-	if (!iFirstTimeConstruct)
-		{
-        iBmpList.Close();
-        iMaskBmpList.Close();
-        ResetBmpPool();
-		}
-    
-    TPtrC bmpFileName = aReader.ReadTPtrC();
-    TInt32 imgMajorSkinId = aReader.ReadInt32();
-    TAknsItemID id;
-
-    for (TInt ii = 0; ii < EBtnBmpLastType + 1; ++ii)
-        {
-        const TInt16 bmpId = aReader.ReadInt16();
-        const TInt16 bmpMskId = aReader.ReadInt16();
-        
-        // read skin item id
-        const TInt skinitemid = aReader.ReadInt16();
-        id.Set(TInt(imgMajorSkinId), skinitemid);
-        
-        if (bmpId != KInvalidBmp)
-            {
-        	CFbsBitmap* bmp = NULL;
-        	CFbsBitmap* maskbmp = NULL;
-
-        	if (bmpMskId != KInvalidBmp)
-        		{
-        		AknsUtils::CreateIconL(AknsUtils::SkinInstance(),
-        		                       id,
-        		                       bmp,
-        		                       maskbmp,
-        		                       bmpFileName,
-        		                       bmpId,
-        		                       bmpMskId);
-        		
-                SetMaskBitmapL(maskbmp, TButtonBmpType(EBtnBmpNonActive + ii));
-                iMaskBmpList.Append(maskbmp);
-                }
-            else
-                {
-        	    AknsUtils::CreateIconL(AknsUtils::SkinInstance(),
-        	                           id,
-        	                           bmp,
-        	                           bmpFileName,
-        	                           bmpId);
-                }
-
-            SetBitmapL(bmp, TButtonBmpType(EBtnBmpNonActive + ii));
-            iBmpList.Append(bmp);
-            }
-        }
-    
-    if (!iFirstTimeConstruct)
-    	{
-        ResizeBitmaps(Rect().Size());
-    	Draw();
-    	}
-    
-    iFirstTimeConstruct = EFalse;*/
-	if (!iFirstTimeConstruct)
-		{
-        DeleteForgroundRes();
-		}
-    
-    TPtrC bmpFileName = aReader.ReadTPtrC();    // Read the file name of the bmps
-    TInt32 imgMajorSkinId = aReader.ReadInt32();
-    TInt colorGroup = aReader.ReadInt16();
-    TAknsItemID id;
-	
-    // Get the image ids and mask ids from resource
-    TInt bmpId = aReader.ReadInt16(); 
-    TInt bmpMskId = aReader.ReadInt16();
-    
-    // read skin item id
-    const TInt skinitemid = aReader.ReadInt16();
-    id.Set(TInt(imgMajorSkinId), skinitemid);
-    
-    if (bmpId != KInvalidBmp)
-        {
-    	if (bmpMskId != KInvalidBmp)
-    		{
-    		if( colorGroup == KInvalidColorGroup )
-    			{
-	    		AknsUtils::CreateIconL(AknsUtils::SkinInstance(),
-                       id,
-                       iForgroundBmp,
-                       iForgroundBmpMask,
-                       bmpFileName,
-                       bmpId,
-                       bmpMskId);	
-    			}
-			else
-				{
-			    AknsUtils::CreateColorIconL( AknsUtils::SkinInstance(),
-                             id,
-                             KAknsIIDQsnIconColors,
-                             colorGroup,
-                             iForgroundBmp,
-                             iForgroundBmpMask,
-                             bmpFileName,
-                             bmpId,
-                             bmpMskId,
-                             AKN_LAF_COLOR( 0 ) );   	
-				}
-
-        AknIconUtils::SetSize(iForgroundBmp, iForgroundBmpRect.Size(), EAspectRatioNotPreserved);
-        AknIconUtils::SetSize(iForgroundBmpMask, iForgroundBmpRect.Size(), 
-                              EAspectRatioNotPreserved);
-    		                       
-    		/*CreateDimmedMaskL( iForgroundDimBmpMask, 
-    						   iForgroundBmpMask );
-   			AknIconUtils::SetSize(iForgroundDimBmpMask, iForgroundBmpRect.Size(), 
-                              EAspectRatioNotPreserved);*/
-    		}
-    		else
-	        {
-		    AknsUtils::CreateIconL(AknsUtils::SkinInstance(),
-		                           id,
-		                           iForgroundBmp,
-		                           bmpFileName,
-		                           bmpId);
-		    AknIconUtils::SetSize(iForgroundBmp, iForgroundBmpRect.Size(), EAspectRatioNotPreserved);
-	        }
-        }
-	
-    if (!iFirstTimeConstruct)
-    	{
-        //ResizeBitmaps(iForgroundBmpRect.Size());
-    	Draw();
-    	}
-    
-    iFirstTimeConstruct = EFalse;    
-    
-    }
-    
-// -----------------------------------------------------------------------------
-// CAknFepCtrlDragButton::ConstructFromResourceL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlDragButton::ConstructFromResourceL()
-	{
-	/*
-	if (iResourceId == KInvalidResId)
-		{
-		User::Leave(KErrArgument);
-		}
-	
-	if (!iFirstTimeConstruct)
-		{
-        iBmpList.Close();
-        iMaskBmpList.Close();
-        ResetBmpPool();
-		}
-
-    TResourceReader reader;
-    CCoeEnv::Static()->CreateResourceReaderLC(reader, iResourceId);
-
-    TPtrC bmpFileName = reader.ReadTPtrC();
-    TInt32 imgMajorSkinId = reader.ReadInt32();
-    TAknsItemID id;
-
-    for (TInt ii = 0; ii < EBtnBmpLastType + 1; ++ii)
-        {
-        const TInt16 bmpId = reader.ReadInt16();
-        const TInt16 bmpMskId = reader.ReadInt16();
-        
-        // read skin item id
-        const TInt skinitemid = reader.ReadInt16();
-        id.Set(TInt(imgMajorSkinId), skinitemid);
-        
-        if (bmpId != KInvalidBmp)
-            {
-        	CFbsBitmap* bmp = NULL;
-        	CFbsBitmap* maskbmp = NULL;
-
-        	if (bmpMskId != KInvalidBmp)
-        		{
-        		AknsUtils::CreateIconL(AknsUtils::SkinInstance(),
-        		                       id,
-        		                       bmp,
-        		                       maskbmp,
-        		                       bmpFileName,
-        		                       bmpId,
-        		                       bmpMskId);
-        		
-                SetMaskBitmapL(maskbmp, TButtonBmpType(EBtnBmpNonActive + ii));
-                iMaskBmpList.Append(maskbmp);
-                }
-            else
-                {
-        	    AknsUtils::CreateIconL(AknsUtils::SkinInstance(),
-        	                           id,
-        	                           bmp,
-        	                           bmpFileName,
-        	                           bmpId);
-                }
-
-            SetBitmapL(bmp, TButtonBmpType(EBtnBmpNonActive + ii));
-            iBmpList.Append(bmp);
-            }
-        }
-        
-    CleanupStack::PopAndDestroy(); // reader
-    
-    if (!iFirstTimeConstruct)
-    	{
-        ResizeBitmaps(Rect().Size());
-        Draw();
-    	}
-    	
-    iFirstTimeConstruct = EFalse;*/
-	if (iResourceId == KInvalidResId)
-		{
-        return;
-		}
-	
-	if (!iFirstTimeConstruct)
-		{
-		// need to remove original bmp and maskbmp
-        DeleteForgroundRes();
-		}
-
-    TResourceReader reader;
-    CCoeEnv::Static()->CreateResourceReaderLC(reader, iResourceId);
-
-    TPtrC bmpFileName = reader.ReadTPtrC();    // Read the file name of the bmps
-    TInt32 imgMajorSkinId = reader.ReadInt32();
-    TInt colorGroup = reader.ReadInt16();
-    TAknsItemID id;
-	
-	// Get the image ids and mask ids from resource
-    TInt bmpId = reader.ReadInt16(); 
-    TInt bmpMskId = reader.ReadInt16();
-    
-    // Read skin item id
-    const TInt skinitemid = reader.ReadInt16();
-    id.Set(TInt(imgMajorSkinId), skinitemid);
-
-    if (bmpId != KInvalidBmp)
-        {
-    	if (bmpMskId != KInvalidBmp)
-    		{
-    		if( colorGroup == KInvalidColorGroup )
-    			{
-	    		AknsUtils::CreateIconL(AknsUtils::SkinInstance(),
-                       id,
-                       iForgroundBmp,
-                       iForgroundBmpMask,
-                       bmpFileName,
-                       bmpId,
-                       bmpMskId);	
-    			}
-			else
-				{
-			    AknsUtils::CreateColorIconL( AknsUtils::SkinInstance(),
-                             id,
-                             KAknsIIDQsnIconColors,
-                             colorGroup,
-                             iForgroundBmp,
-                             iForgroundBmpMask,
-                             bmpFileName,
-                             bmpId,
-                             bmpMskId,
-                             AKN_LAF_COLOR( 0 ) );   	
-				}
-
-    		AknIconUtils::SetSize(iForgroundBmp, iForgroundBmpRect.Size(), EAspectRatioNotPreserved);
-    		AknIconUtils::SetSize(iForgroundBmpMask, iForgroundBmpRect.Size(), 
-    		                      EAspectRatioNotPreserved);
-    		                       
-    		/*CreateDimmedMaskL( iForgroundDimBmpMask, iForgroundBmpMask );
-   			AknIconUtils::SetSize(iForgroundDimBmpMask, iForgroundBmpRect.Size(), 
-   			                      EAspectRatioNotPreserved);*/
-    		}
-    		else
-	        {
-		    AknsUtils::CreateIconL(AknsUtils::SkinInstance(),
-		                           id,
-		                           iForgroundBmp,
-		                           bmpFileName,
-		                           bmpId);
-		    AknIconUtils::SetSize(iForgroundBmp, iForgroundBmpRect.Size(), EAspectRatioNotPreserved);
-	        }
-        }
-
-    CleanupStack::PopAndDestroy(); // reader
-    
-    if (!iFirstTimeConstruct)
-    	{
-        //ResizeBitmaps(iForgroundBmpRect.Size());
-    	Draw();
-    	}
-
-    iFirstTimeConstruct = EFalse;    	
-    
-	}
-    
-    
-// ---------------------------------------------------------------------------
-// CAknFepCtrlDragButton::DeleteForgroundRes
-// This methods shall be called by the container's SizeChanged handler
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-void CAknFepCtrlDragButton::DeleteForgroundRes()
-	{
-    if( iForgroundBmp )
-		{
-		delete iForgroundBmp;
-		iForgroundBmp = NULL;
-		}
-	if( iForgroundBmpMask )
-		{
-		delete iForgroundBmpMask;
-		iForgroundBmpMask = NULL;
-		}
-	if( iForgroundDimBmpMask )
-		{
-		delete iForgroundDimBmpMask;
-		iForgroundDimBmpMask = NULL;
-		}
-	}    
-    
-// ---------------------------------------------------------------------------
-// CAknFepCtrlDragButton::CreateDimmedMaskL
-// This methods shall be called by the container's SizeChanged handler
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//	
-void CAknFepCtrlDragButton::CreateDimmedMaskL( CFbsBitmap*& aDimmedMask,
-                                        		 const CFbsBitmap* aMask
-                                        		 /*TScaleMode aScaleMode*/ )
-	{
-	    if (aMask && aMask->DisplayMode() == EGray256)
-	        {
-	        delete aDimmedMask;
-	        aDimmedMask = NULL;
-
-	        aDimmedMask = new (ELeave) CFbsBitmap;
-
-	        User::LeaveIfError(aDimmedMask->Create(aMask->SizeInPixels(), EGray256)); 
-	        CleanupStack::PushL(aDimmedMask);
-
-	        CFbsBitmapDevice* bitmapDevice = CFbsBitmapDevice::NewL(aDimmedMask);
-	        CleanupStack::PushL(bitmapDevice);
-
-	        CFbsBitGc* bitGc(NULL);
-	        User::LeaveIfError(bitmapDevice->CreateContext(bitGc));
-	        CleanupStack::PushL(bitGc);
-
-	        bitGc->SetPenStyle(CGraphicsContext::ESolidPen);
-	        bitGc->BitBlt(TPoint(0, 0), aMask);
-
-	        aDimmedMask->LockHeap();
-	        TInt w = aMask->SizeInPixels().iWidth; 
-	        TInt h = aMask->SizeInPixels().iHeight;
-	        TInt dataStride = aMask->DataStride() - w; 
-	        unsigned char* address = (unsigned char *)aDimmedMask->DataAddress();  
-
-	        for ( TInt i = 0; i < h; ++i )
-	            {
-	            for ( TInt j = 0; j < w; ++j )
-	                {
-	                *address = KTransparency[*address];
-	                ++address;
-	                }
-	            address += dataStride;         
-	            }
-
-	        aDimmedMask->UnlockHeap();
-
-	        //AknIconUtils::SetSize(aDimmedMask, aMask->SizeInPixels(), aScaleMode);
-
-	        CleanupStack::PopAndDestroy(2); // bitmapDevice, bitGc
-	        CleanupStack::Pop(1); // aDimmedMask
-	        }
-
-	}
-    
-    
-// ---------------------------------------------------------------------------
-// CAknFepCtrlDragButton::SetForgroundBmpRect
-// This methods shall be called by the container's SizeChanged handler
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlDragButton::SetForgroundBmpRect(const TRect& aRect)
-	{
-	iForgroundBmpRect = aRect;	
-	}    
-    
-// ---------------------------------------------------------------------------
-// CAknFepCtrlDragButton::SetForegroundBmpL
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//        
-EXPORT_C void CAknFepCtrlDragButton::SetForegroundBmpL(CFbsBitmap* aBmp,
-                                                         CFbsBitmap* aMaskBmp)
-    {
-    DeleteForgroundRes();
-
-    iForgroundBmp = aBmp;
-    iForgroundBmpMask = aMaskBmp;
-
-    ResizeBitmaps(iForgroundBmpRect.Size());
-    }
-
-EXPORT_C void CAknFepCtrlDragButton::Move(const TPoint& aOffset)
-    {
-    CButtonBase::Move(aOffset);
-    iForgroundBmpRect.Move( aOffset );
-    }    
-    
-// ---------------------------------------------------------------------------
-// CAknFepCtrlDragButton::HandlePointerDownEventL
-// Handle button down event
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//   
-EXPORT_C CFepUiBaseCtrl* CAknFepCtrlDragButton::HandlePointerDownEventL(const TPoint& aPt)
-	{
-    if( IsDimmed() )
-    	return NULL;
-    
-    CDragBar::HandlePointerDownEventL(aPt);
-		
-	SetReady(ETrue);
-    Draw();
-    UpdateArea(Rect(),EFalse);
-    ReportEvent(EEventButtonDown);
-    return this;
-	}    
-    
-// ---------------------------------------------------------------------------
-// CAknFepCtrlDragButton::Draw
-// Draws UI
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlDragButton::Draw()
-    {
-	if(!AbleToDraw())
-        return;
-    
-    CFbsBitGc* gc = static_cast<CFbsBitGc*>(BitGc());
-    
-    //mask bitmaps
-  	DrawOpaqueMaskBackground();  
-    TRect rect = Rect();        
-    TRect innerRect = rect;
-    innerRect.Shrink( 10, 10 );
-    
-    // ----- draw bitmaps -----
-    gc->Activate( BitmapDevice() );                
-    //gc->Clear(rect);
-    	
-	CFbsBitmap* bmpMask = NULL;
-	
-	// Draw background    
- 	if( IsDimmed() ) // Dimmed state
-    	{
-		AknsDrawUtils::DrawFrame( AknsUtils::SkinInstance(), 
-		                         *gc, 
-		                         rect, 
-		                         innerRect,
-		                         iInactiveImgID,
-		                         KAknsIIDDefault );
-    	if( iForgroundDimBmpMask )
-    		{
-    		delete iForgroundDimBmpMask;
-    		iForgroundDimBmpMask = NULL;
-    		}		                         
-    	TRAP_IGNORE(CreateDimmedMaskL( iForgroundDimBmpMask, 
-    					   iForgroundBmpMask ));
-		AknIconUtils::SetSize(iForgroundDimBmpMask, iForgroundBmpRect.Size(), 
-                              EAspectRatioNotPreserved);		                         
-		bmpMask = iForgroundDimBmpMask;    
-    	}
-    else
-    	{
-		// Normal state or pressed state
-		TAknsItemID ImgID = (IsDragging() | PointerDown()) ? iPressedImgID : iNormalImgID;
-		AknsDrawUtils::DrawFrame( AknsUtils::SkinInstance(), 
-	                     *gc, 
-	                     rect, 
-	                     innerRect,
-	                     ImgID,
-	                     KAknsIIDDefault ); 
-	    bmpMask = iForgroundBmpMask;            	    		
-    	}
-    
-    // Draw forground
-	if( iForgroundBmp )
-		{
-		TRect srcRect( TPoint( 0, 0 ), iForgroundBmp->SizeInPixels() );
-		if( bmpMask )
-			{
-			gc->BitBltMasked( iForgroundBmpRect.iTl, 
-							  iForgroundBmp, 
-							  srcRect,
-							  bmpMask,
-							  EFalse);
-			}
-		else
-			{
-			gc->BitBlt( iForgroundBmpRect.iTl,
-						iForgroundBmp,
-						srcRect );	
-			}
-		}
-
-    if (iText)
-        {
-        TAknLayoutText textLayout;
-        textLayout.LayoutText(Rect(), iTextFormat);
-        textLayout.DrawText(*gc, *iText);
-        }
-    }
-    
-    
-// -----------------------------------------------------------------------------
-// CAknFepCtrlDragButton::ResizeBitmaps
-// This methods shall be called by the container's SizeChanged handler
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CAknFepCtrlDragButton::ResizeBitmaps(TSize aInnerSize)
-    {
-    /*
-    if (iMaskBmpList.Count() >= 1 &&
-        iMaskBmpList[0]->SizeInPixels() != aSize)
-        {
-        for( TInt ii = 0; ii < iMaskBmpList.Count(); ++ii )
-            {
-       	    AknIconUtils::SetSize(iMaskBmpList[ii], aSize, EAspectRatioNotPreserved);
-            }
-        }
-        
-    if (iBmpList.Count() >= 1 &&
-        iBmpList[0]->SizeInPixels() != aSize)
-        {
-        for( TInt ii = 0; ii < iBmpList.Count(); ++ii )
-            {
-            AknIconUtils::SetSize(iBmpList[ii], aSize, EAspectRatioNotPreserved);
-            }
-        }*/
-    if( iForgroundBmp && ( iForgroundBmp->SizeInPixels() != aInnerSize ) )
-    	{
-    	AknIconUtils::SetSize( iForgroundBmp, aInnerSize, EAspectRatioNotPreserved );
-    	}
-    if( iForgroundBmpMask && ( iForgroundBmpMask->SizeInPixels() != aInnerSize ) )
-    	{
-    	AknIconUtils::SetSize( iForgroundBmpMask, aInnerSize, EAspectRatioNotPreserved );
-    	}    
-    	
-    /*TRAP_IGNORE(CreateDimmedMaskL(iForgroundDimBmpMask, 
-                                  iForgroundBmpMask));   */     
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlDragButton::SizeChanged
-// This methods shall be called by the container's SizeChanged handler
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlDragButton::SizeChanged(TRect aNewRect, 
-												 TRect aInnerRect, 
-												 TBool aIsReloadImages)
-    {
-    // Reset the position and the extent of the button aera
-    /*if (aNewRect.Size().iWidth == 0 || aNewRect.Size().iHeight == 0)
-        {
-   	    return;
-        }
-        
-    SetRect(aNewRect);
-
-    if (aIsReloadImages)
-        {
-        ResizeBitmaps(aNewRect.Size());
-        }
-
-    Draw();
-    UpdateArea(Rect(), ETrue);*/
-    
-    if (aNewRect.Size().iWidth == 0 || aNewRect.Size().iHeight == 0)
-        {
-   	    return;
-        }
-    
-    TRect oriRect = Rect();
-    SetRect(aNewRect);
-	iForgroundBmpRect = aInnerRect;
-	
-    if (aIsReloadImages)
-        {
-        ResizeBitmaps(aInnerRect.Size() );	
-        }
-	RootControl()->ReDrawRect( oriRect );
-    UpdateArea(oriRect, EFalse);
-    Draw();
-    UpdateArea(Rect(), EFalse);    
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlMultiModeButton::CAknFepCtrlMultiModeButton
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CAknFepCtrlMultiModeButton::CAknFepCtrlMultiModeButton(CFepUiLayout* aUiLayout, 
-                                     TInt aControlId,TAknsItemID aNormalID,
-                                     TAknsItemID aPressedID,TAknsItemID aInactiveID)
-         : CAknFepCtrlCommonButton(aUiLayout, aControlId, aNormalID, aPressedID, aInactiveID)
-    {
-    }
-    
-// -----------------------------------------------------------------------------
-// CAknFepCtrlMultiModeButton::NewL
-// Two-phased constructor.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CAknFepCtrlMultiModeButton* CAknFepCtrlMultiModeButton::NewL(CFepUiLayout* aUiLayout, 
-                                                    TInt aControlId,TAknsItemID aNormalID,
-                                                    TAknsItemID aPressedID,TAknsItemID aInactiveID)
-    {
-    CAknFepCtrlMultiModeButton* self = NewLC(aUiLayout, aControlId, 
-                                             aNormalID, aPressedID, aInactiveID);
-    CleanupStack::Pop(self);
-    
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlMultiModeButton::NewLC
-// Two-phased constructor.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CAknFepCtrlMultiModeButton* CAknFepCtrlMultiModeButton::NewLC(CFepUiLayout* aUiLayout, 
-                                                    TInt aControlId,TAknsItemID aNormalID,
-                                                    TAknsItemID aPressedID,TAknsItemID aInactiveID)
-    {
-    CAknFepCtrlMultiModeButton* self = new (ELeave) CAknFepCtrlMultiModeButton(aUiLayout, 
-                                                                               aControlId, 
-                                                                               aNormalID, 
-                                                                               aPressedID,
-                                                                               aInactiveID);
-    CleanupStack::PushL(self);
-    self->BaseConstructL();
-    
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// Destructor.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CAknFepCtrlMultiModeButton::~CAknFepCtrlMultiModeButton()
-    {
-    iImageResIdList.Close();
-    iForegroundBmpList.ResetAndDestroy();
-    iForegroundBmpList.Close();
-    iForegroundMaskBmpList.ResetAndDestroy();
-    iForegroundMaskBmpList.Close();
-        
-    iModeTextList.ResetAndDestroy();
-    iModeTextList.Close();  
-    
-    iModesList.ResetAndDestroy();
-    iModesList.Close();
-    }
-    
-// -----------------------------------------------------------------------------
-// CAknFepCtrlMultiModeButton::ConstructFromResourceL
-// The order of the image ids in the CButtonBase class must not be changed
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-
-EXPORT_C void CAknFepCtrlMultiModeButton::ConstructFromResourceL(TResourceReader& aReader)
-    {
-    if (!iFirstTimeConstruct)
-    	{
-        iImageResIdList.Close();
-        iForegroundBmpList.ResetAndDestroy();
-        iForegroundBmpList.Close();
-        iForegroundMaskBmpList.ResetAndDestroy();
-        iForegroundMaskBmpList.Close();
-             
-        iModeTextList.ResetAndDestroy();
-        iModeTextList.Close();  
-
-
-        iModesList.ResetAndDestroy();
-        iModesList.Close();
-    	
-        ResetBmpPool();
-    	}
-    
-    // read text color and shadow text color	
-    TInt32 colorMajorSkinId = aReader.ReadInt32();
-    const TInt skinitemid = aReader.ReadInt16();
-    TInt textcoloridx = aReader.ReadInt16();
-    TInt shadowtextcoloridx = aReader.ReadInt16();
-    
-    TAknsItemID id;
-    
-    id.Set(TInt(colorMajorSkinId), skinitemid);
-    TInt error = AknsUtils::GetCachedColor(AknsUtils::SkinInstance(),
-                                           iFontColor,
-                                           id,
-                                           textcoloridx);
-
-    if (error != KErrNone)
-        {
-    	iFontColor = TRgb(KDefaultTextColor);
-        }
-    
-    SetFontColor(iFontColor);    
-    
-    error = AknsUtils::GetCachedColor(AknsUtils::SkinInstance(),
-                                      iShadowFontColor,
-                                      id,
-                                      shadowtextcoloridx);
-                                      
-    if (error != KErrNone)
-        {
-    	iShadowFontColor = TRgb(KDefaultShadowTextColor);
-        }
-    
-    SetShadowFontColor(iShadowFontColor);    
-    
-    const TInt16 countModes = aReader.ReadInt16();      // Read the count of different cases
-    
-    if (countModes <= 0)
-        {
-        User::Leave(KErrArgument);
-        }
-
-    iNumberOfModes = 0;
-
-    for (TInt ii = 0; ii < countModes; ii++)
-        {
-        AddModeL(aReader);
-        iNumberOfModes++;
-        }
-        
-    if (iFirstTimeConstruct)
-    	{
-        if (iImageResIdList.Count() == 1)
-            {
-            // set background bimap for button    
-            SetButtonBmpL(EBtnBmpNonActive, 0);
-            iCurrentBmpType = EBtnBmpNonActive;
-            }
-
-        const TInt16 defaultModeIndex = aReader.ReadInt16();
-        SetCurrentModeL(EBtnBmpNonActive, defaultModeIndex);
-    	}
-    else
-    	{
-        SetButtonBmpL(iCurrentBmpType, iCurrentMode);
-        Draw();
-    	}
-
-    iFirstTimeConstruct = EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlMultiModeButton::ConstructFromResourceL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-
-EXPORT_C void CAknFepCtrlMultiModeButton::ConstructFromResourceL()
-	{
-    if (iResourceId == KInvalidResId)
-    	{
-    	return;
-    	}
- 
-    if (!iFirstTimeConstruct)
-    	{
-        iImageResIdList.Close();
-        iForegroundBmpList.ResetAndDestroy();
-        iForegroundBmpList.Close();
-        iForegroundMaskBmpList.ResetAndDestroy();
-        iForegroundMaskBmpList.Close();
-        
-        iModeTextList.ResetAndDestroy();
-        iModeTextList.Close();  
-
-
-        iModesList.ResetAndDestroy();
-        iModesList.Close();
-    	
-        ResetBmpPool();
-    	}
-    	
-    TResourceReader reader;
-    CCoeEnv::Static()->CreateResourceReaderLC(reader, iResourceId);
-	
-    // read text color and shadow text color	
-    TInt32 colorMajorSkinId = reader.ReadInt32();
-    const TInt skinitemid = reader.ReadInt16();
-    TInt textcoloridx = reader.ReadInt16();
-    TInt shadowtextcoloridx = reader.ReadInt16();
-    
-    TAknsItemID id;
-    
-    id.Set(TInt(colorMajorSkinId), skinitemid);
-    TInt error = AknsUtils::GetCachedColor(AknsUtils::SkinInstance(),
-                                           iFontColor,
-                                           id,
-                                           textcoloridx);
-
-    if (error != KErrNone)
-        {
-    	iFontColor = TRgb(KDefaultTextColor);
-        }
-    
-    SetFontColor(iFontColor);    
-    
-    error = AknsUtils::GetCachedColor(AknsUtils::SkinInstance(),
-                                      iShadowFontColor,
-                                      id,
-                                      shadowtextcoloridx);
-                                      
-    if (error != KErrNone)
-        {
-    	iShadowFontColor = TRgb(KDefaultShadowTextColor);
-        }
-    
-    SetShadowFontColor(iShadowFontColor);    
-
-    const TInt16 countModes = reader.ReadInt16();
-    
-    if (countModes <= 0)
-        {
-        User::Leave(KErrArgument);
-        }
-
-   	iNumberOfModes = 0;
-    
-    for (TInt ii = 0; ii < countModes; ii++)
-        {
-        AddModeL(reader);
-       	iNumberOfModes++;
-        }
-
-	
-    if (iFirstTimeConstruct)
-    	{
-        if (iImageResIdList.Count() == 1)
-            {
-            // set background bimap for button    
-            SetButtonBmpL(EBtnBmpNonActive, 0);
-            iCurrentBmpType = EBtnBmpNonActive;
-            }
-
-        const TInt16 defaultModeIndex = reader.ReadInt16();
-        SetCurrentModeL(EBtnBmpNonActive, defaultModeIndex);
-    	}
-    else
-    	{
-    	ResizeBitmaps(iForgroundBmpRect.Size());
-        SetButtonBmpL(iCurrentBmpType, iCurrentMode);
-        Draw();
-    	}	
-    	
-    CleanupStack::PopAndDestroy(); // reader
-    
-    iFirstTimeConstruct = EFalse;
-
-	}
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlMultiModeButton::AddModeL
-// Add new display mode from resource reader
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlMultiModeButton::AddModeL(TResourceReader& aReader)
-    {
-    const TInt32 imageResId = aReader.ReadInt32();
-    iModeTextList.Append(aReader.ReadHBufCL());
-    const TInt rangeId = aReader.ReadInt16();
-    const TInt modeId = aReader.ReadInt16();
-
-    TAknFepModeIndicator* modeIndicator = new (ELeave) TAknFepModeIndicator;
-    CleanupStack::PushL(modeIndicator);
-
-    modeIndicator->iRangeId = rangeId;
-    modeIndicator->iModeId = modeId;
-    modeIndicator->iPermitted = ETrue;
-
-    iModesList.AppendL(modeIndicator);
-    CleanupStack::Pop(modeIndicator); // indicator        
-
-    if ( imageResId != KInvalidBmp )
-        {
-        // switch mode means change image    
-        TResourceReader reader;
-        CCoeEnv::Static()->CreateResourceReaderLC(reader, imageResId);
-        
-        TPtrC bmpFileName = reader.ReadTPtrC();
-        TInt32 imgMajorSkinId = reader.ReadInt32();
-        TInt colorGroup = reader.ReadInt16();
-        TAknsItemID id;
-
-        for (TInt jj = 0; jj < /*EBtnBmpLastType +*/ 1; jj++)
-            {
-            const TInt16 bmpId = reader.ReadInt16();
-            const TInt16 bmpMskId = reader.ReadInt16();
-            const TInt16 skinitemid = reader.ReadInt16();
-            id.Set(TInt(imgMajorSkinId), skinitemid);
-
-            if (bmpId != KInvalidBmp)
-            	{
-            	CFbsBitmap* bmp = NULL;
-            	CFbsBitmap* maskbmp = NULL;
-            	
-        	    if (bmpMskId != KInvalidBmp)
-        	        {
-        	        if( colorGroup == KInvalidColorGroup )
-	        	    	{
-	        		    AknsUtils::CreateIconL(AknsUtils::SkinInstance(),
-	        		                           id,
-	        		                           bmp,
-	        		                           maskbmp,
-	        		                           bmpFileName,
-	        		                           bmpId,
-	        		                           bmpMskId);
-	        	    	}
-        	    	else
-	        	    	{
-	        	    	AknsUtils::CreateColorIconL( AknsUtils::SkinInstance(),
-				                             id,
-				                             KAknsIIDQsnIconColors,
-				                             colorGroup,
-				                             bmp,
-				                             maskbmp,
-				                             bmpFileName,
-				                             bmpId,
-				                             bmpMskId,
-				                             AKN_LAF_COLOR( 0 ) );   	
-	
-	        	    	}
-                    CleanupStack::PushL(maskbmp);
-                    AknIconUtils::SetSize(maskbmp, iForgroundBmpRect.Size(),
-                                          EAspectRatioNotPreserved);                    
-                    iForegroundMaskBmpList.AppendL(maskbmp);            
-                    CleanupStack::Pop(maskbmp);    
-                    
-        	        }
-        	    else
-        	        {
-        	        AknsUtils::CreateIconL(AknsUtils::SkinInstance(),
-        	                               id,
-        	                               bmp,
-        	                               bmpFileName,
-        	                               bmpId);
-
-        	        }
-        	    
-        	    CleanupStack::PushL(bmp);
-        	    AknIconUtils::SetSize(bmp, iForgroundBmpRect.Size(), EAspectRatioNotPreserved);
-        	    iForegroundBmpList.AppendL(bmp);        	    
-        	    CleanupStack::Pop(bmp);    
-                
-            	}
-            }
-        
-        CleanupStack::PopAndDestroy(); //reader
-        
-        iImageResIdList.Append(imageResId);
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// CAknFepCtrlMultiModeButton::SetButtonBmp
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlMultiModeButton::SetButtonBmpL(const TButtonBmpType aType , 
-                                                        const TInt aMode)
-    {
-    if ( !ForgroundBmp() || 
-         ForgroundBmp()->Handle() != iForegroundBmpList[aMode]->Handle() ||
-         !ForgroundBmpMask() || 
-         ForgroundBmpMask()->Handle() != iForegroundMaskBmpList[aMode]->Handle() )
-        {
-        CFbsBitmap* bmp = new (ELeave) CFbsBitmap;
-        if(iForegroundMaskBmpList.Count() > 0 && iForegroundBmpList[aMode])
-            {
-            CleanupStack::PushL( bmp );
-            
-            User::LeaveIfError(bmp->Duplicate(iForegroundBmpList[aMode]->Handle()));
-            
-            CleanupStack::Pop( bmp );            
-            }
-        else
-            {
-            delete bmp;
-            bmp = NULL;
-            }
-        CFbsBitmap* maskbmp = new (ELeave) CFbsBitmap;
-        
-        if(iForegroundMaskBmpList.Count() > 0 && iForegroundMaskBmpList[aMode])
-            {    
-            CleanupStack::PushL( maskbmp );
-            User::LeaveIfError(maskbmp->Duplicate(iForegroundMaskBmpList[aMode]->Handle()));    
-            CleanupStack::Pop( maskbmp );     
-            }
-        else
-            {
-            delete maskbmp;
-            maskbmp = NULL;
-            }
-        SetForegroundBmpL(bmp,maskbmp);
-        }
-    else if ( ForgroundBmp()->SizeInPixels() != iForegroundBmpList[aMode]->SizeInPixels() ||
-              ForgroundBmpMask()->SizeInPixels() != iForegroundMaskBmpList[aMode]->SizeInPixels())
-        {
-        ResizeBitmaps(iForegroundBmpList[aMode]->SizeInPixels());
-        }
-        
-    if(aType == EBtnBmpActivePressed
-      || aType == EBtnBmpNonActivePressed)
-        {
-        SetHighlight(ETrue);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlMultiModeButton::SetCurrentModeL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlMultiModeButton::SetCurrentModeL(const TButtonBmpType aType, 
-                                                          const TInt aModeIndex)
-    {
-    if ((aModeIndex >= 0) && 
-        (aModeIndex <= NumberOfModes()-1) && 
-        (iModesList[aModeIndex]->iPermitted))
-        {
-        iCurrentMode = aModeIndex;
-
-        if (iImageResIdList.Count() > 1)
-            {
-            // change mode means change image
-            SetButtonBmpL(aType, iCurrentMode);
-            iCurrentBmpType = aType;
-            }
-
-        Draw();
-        UpdateArea(Rect());
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlMultiModeButton::NextMode
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CAknFepCtrlMultiModeButton::NextMode() const
-    {
-    TInt startIndex = 0;
-
-    if (iCurrentMode < (NumberOfModes() -1))
-        {
-        startIndex = iCurrentMode + 1;
-        }
-
-    TBool find = EFalse;
-    
-    while (!find && (startIndex != iCurrentMode))
-        {
-        if (iModesList[startIndex]->iPermitted)
-            {
-            find = ETrue;
-            }
-        else
-            {
-            startIndex++;
-            
-            if (startIndex > (NumberOfModes()-1))
-                {
-                startIndex = 0;
-                }
-            }
-        }        
-
-    if (find)
-        {
-        return startIndex;
-        }
-    else
-        {
-        return iCurrentMode;
-        }    
-    }
-    
-// -----------------------------------------------------------------------------
-// CAknFepCtrlMultiModeButton::ImageAlreadyExist
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool CAknFepCtrlMultiModeButton::ImageAlreadyExist(const TInt32 aResId)
-    {
-    TBool findResId = EFalse;
-
-    for (TInt i=0; i<iImageResIdList.Count(); i++)
-        {
-        if (aResId == iImageResIdList[i])
-            {
-            findResId = ETrue;
-
-            break;
-            }
-        }
-
-    return findResId;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlMultiModeButton::DisplayText
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlMultiModeButton::DisplayText()
-    {
-    if ((iFont) && (iShadowFont))
-        {
-        // draw shadow text
-        BitGc()->UseFont(iShadowFont);
-
-        BitGc()->SetBrushStyle( CGraphicsContext::ENullBrush );
-        BitGc()->SetBrushColor( KRgbBlack);//Non transparent at all
-        BitGc()->SetPenColor(iShadowFontColor);
-        BitGc()->SetPenStyle(CGraphicsContext::ESolidPen);
-        BitGc()->SetPenSize( PenSize());
-
-        TPoint pointText;
-        TPoint pointShadowText;
-
-        TInt leftMarginOfText = 
-                     (Rect().Width() - iFont->TextWidthInPixels(*(iModeTextList[iCurrentMode])))/2;
-
-        pointText.iX = Rect().iTl.iX + leftMarginOfText;
-        pointText.iY = Rect().iTl.iY + Rect().Height()*3/4;
-
-        pointShadowText.iX = pointText.iX + 1;
-        pointShadowText.iY = pointText.iY + 1;
-
-        //BitGc()->DrawText(*(iModeTextList[iCurrentMode]), Rect(), Rect().Height()*3/4, CGraphicsContext::ECenter, Rect().Width()/2 - iFont->TextWidthInPixels(*(iModeTextList[iCurrentMode]))/2);
-        BitGc()->DrawText(*(iModeTextList[iCurrentMode]), pointShadowText);
-
-        BitGc()->DiscardFont();
-
-        // draw text
-        BitGc()->UseFont(iFont);
-
-        BitGc()->SetBrushStyle( CGraphicsContext::ENullBrush );
-        BitGc()->SetBrushColor( KRgbBlack);//Non transparent at all
-        BitGc()->SetPenColor(iFontColor);
-        BitGc()->SetPenStyle(CGraphicsContext::ESolidPen);
-        BitGc()->SetPenSize( PenSize());
-
-        //BitGc()->DrawText(*(iModeTextList[iCurrentMode]), Rect(), Rect().Height()*3/4+1, CGraphicsContext::ECenter, Rect().Width()/2 - iFont->TextWidthInPixels(*(iModeTextList[iCurrentMode]))/2-1);
-        BitGc()->DrawText(*(iModeTextList[iCurrentMode]), pointText);
-
-        BitGc()->DiscardFont();
-
-        //BitGc()->SetPenStyle(CGraphicsContext::ENullPen);        
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlMultiModeButton::Draw
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlMultiModeButton::Draw()
-    {
-	if(!AbleToDraw())
-        return;
-    
-    CAknFepCtrlCommonButton::Draw();
-    //CButtonBase::Draw();  
-    if ( iModeTextList.Count() )
-        {
-        if ((iModeTextList[iCurrentMode]) && (iModeTextList[iCurrentMode]->Length() > 0)) 
-            {
-            DisplayText();
-            }        
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlMultiModeButton::SetFontColor
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlMultiModeButton::SetFontColor(const TRgb aFontColor)
-    {
-    iFontColor = aFontColor;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlMultiModeButton::SetShadowFontColor
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlMultiModeButton::SetShadowFontColor(const TRgb aShadowFontColor)
-    {
-    iShadowFontColor = aShadowFontColor;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlMultiModeButton::SetPermittedModes
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CAknFepCtrlMultiModeButton::SetPermittedModes(const TInt aRangeId,
-                                                            const TInt aRealCaseId,
-                                                            TBool aPermit)
-    {
-    for (TInt i = 0; i < iModesList.Count(); i++)
-        {
-    	if ((iModesList[i]->iRangeId == aRangeId) && (iModesList[i]->iModeId == aRealCaseId))
-    	    {
-          	iModesList[i]->iPermitted = aPermit;
-            
-            return KErrNone;    
-    	    }
-        }
-    
-    return KErrNotSupported;    
-    }
-    
-// -----------------------------------------------------------------------------
-// CAknFepCtrlMultiModeButton::SetPermittedRange
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CAknFepCtrlMultiModeButton::SetPermittedRange(const TInt aRangeId, TBool aPermit)
-    {
-    TBool findRangeId = EFalse;
-    
-    for (TInt i = 0; i < iModesList.Count(); i++)
-        {
-        if ((iModesList[i]->iRangeId == aRangeId) && (iModesList[i]->iPermitted != aPermit))
-            {
-            iModesList[i]->iPermitted = aPermit;
-            findRangeId = ETrue;
-            }
-        }
-    
-    if (!findRangeId)
-        {
-        return KErrNotSupported;
-        }
-    else
-        {
-        return KErrNone;
-        }    
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlMultiModeButton::EnableAllModes
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlMultiModeButton::EnableAllModes()
-    {
-    for (TInt i = 0; i < iModesList.Count(); i++)
-        {
-        iModesList[i]->iPermitted = ETrue;
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// CAknFepCtrlMultiModeButton::DisableAllModes
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlMultiModeButton::DisableAllModes()
-    {
-    for (TInt i = 0; i < iModesList.Count(); i++)
-        {
-        iModesList[i]->iPermitted = EFalse;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlMultiModeButton::DisableAllModes
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlMultiModeButton::DisableOneModes(const TInt aRangeId)
-    {
-    for (TInt i = 0; i < iModesList.Count(); i++)
-        {
-        if(iModesList[i]->iRangeId == aRangeId)
-            {
-            iModesList[i]->iPermitted = EFalse;
-            TRAP_IGNORE(SetCurrentModeL(EBtnBmpNonActive, NextMode()));
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlMultiModeButton::IsGivenRangeSupported
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool CAknFepCtrlMultiModeButton::IsGivenRangeSupported(const TInt aRange)
-    {
-    for (TInt i = 0; i < iModesList.Count(); i++)
-        {
-        // judge if aRange is supported by at least 1 mode
-        if ((iModesList[i]->iRangeId == aRange) && (iModesList[i]->iPermitted))
-            {
-            return ETrue;
-            }
-        }
-    
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlMultiModeButton::SetRange
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CAknFepCtrlMultiModeButton::SetRange(const TInt aRange)
-    {
-    if (CurrentRange() != aRange)
-        {
-        for (TInt i = 0; i < iModesList.Count(); i++)
-            {
-    	    if ((iModesList[i]->iRangeId == aRange) && 
-    	        (iModesList[i]->iPermitted))
-    	        {
-                TRAP_IGNORE(SetCurrentModeL(EBtnBmpActive, i));
-                return KErrNone;
-    	        }
-            }
-        }
-    
-    return KErrNotSupported;    
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlMultiModeButton::CurrentRange
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CAknFepCtrlMultiModeButton::CurrentRange() const
-    {
-    if ((iCurrentMode >= 0) && (iCurrentMode <= (NumberOfModes()-1)))
-        {
-        return iModesList[iCurrentMode]->iRangeId;
-        }
-    else
-        {
-        return KErrNotFound;
-        }    
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlMultiModeButton::RangeOfGivenMode()
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CAknFepCtrlMultiModeButton::RangeOfGivenMode(TInt aModeIndex) const
-    {
-    if ((aModeIndex >= 0) && (aModeIndex <= NumberOfModes()-1))
-        {
-        return iModesList[aModeIndex]->iRangeId; 
-        }
-    
-    return KErrNotSupported;    
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlMultiModeButton::GetRealCaseByMode()
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CAknFepCtrlMultiModeButton::GetRealCaseByMode(TInt aModeIndex) const
-    {
-    if ((aModeIndex >= 0) && (aModeIndex <= NumberOfModes() -1))	
-        {
-        return iModesList[aModeIndex]->iModeId;
-        }
-    
-    return KErrNotFound;    
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlMultiModeButton::GetRangeListL()
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CAknFepCtrlMultiModeButton::GetRangeListL(RArray<TInt>& aList)
-    {
-    for (TInt i = 0; i < NumberOfModes(); i++)
-        {
-        if (aList.Find(iModesList[i]->iRangeId) == KErrNotFound)
-            {
-            aList.AppendL(iModesList[i]->iRangeId);
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlMultiModeButton::DuplicateBitmapL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CFbsBitmap* CAknFepCtrlMultiModeButton::DuplicateBitmapL(CFbsBitmap* aSourceBmp)
-    {
-    CFbsBitmap* bmp = new (ELeave) CFbsBitmap;
-    CleanupStack::PushL( bmp );
-    
-    User::LeaveIfError(bmp->Duplicate(aSourceBmp->Handle()));
-    
-    CleanupStack::Pop( bmp );
-    //iOwnedBitmaps.InsertInAddressOrder(bmp);
-    return bmp;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlMultiModeButton::ResizeBitmaps
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CAknFepCtrlMultiModeButton::ResizeBitmaps(TSize aSize)
-    {
-    if(iForegroundBmpList.Count() >= 1 && iForegroundBmpList[0]->SizeInPixels() != aSize
-    || iForegroundMaskBmpList.Count() >= 1 && iForegroundMaskBmpList[0]->SizeInPixels() != aSize)
-        {
-        for (TInt i=0; i<iForegroundBmpList.Count(); i++)
-            {
-          	AknIconUtils::SetSize(iForegroundBmpList[i], aSize, EAspectRatioNotPreserved);
-            }        
-        for (TInt i=0; i<iForegroundMaskBmpList.Count(); i++)
-            {
-          	AknIconUtils::SetSize(iForegroundMaskBmpList[i], aSize, EAspectRatioNotPreserved);
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlMultiModeButton::SizeChanged
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlMultiModeButton::SizeChanged(TRect aRect, TRect aInnerRect,
-                                                      TBool aIsReloadImages)
-    {
-    if (aRect.Size().iWidth == 0 || aRect.Size().iHeight == 0)
-        {
-    	  return;
-        }
-    SetRect(aRect);
-    
-    iForgroundBmpRect = aInnerRect;
-    
-    if (aIsReloadImages)
-        {
-        ResizeBitmaps(aInnerRect.Size());
-        }
-
-    TRAP_IGNORE(SetButtonBmpL(iCurrentBmpType, iCurrentMode));
-
-    CAknFepCtrlCommonButton::SizeChanged(aRect,aInnerRect,aIsReloadImages);
-/*    
-    Draw();
-    UpdateArea(Rect(), ETrue);
-*/    
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlMultiModeButton::TransferOwnership
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//    
-void CAknFepCtrlMultiModeButton::TransferOwnership(CFbsBitmap* aRemoved)
-    {
-/*    
-    TInt index = iOwnedBitmaps.FindInAddressOrder(aRemoved);
-    if( index != KErrNotFound )
-        {
-        iOwnedBitmaps.Remove(index);
-        }
-*/        
-    }
-    
-// -----------------------------------------------------------------------------
-// CAknFepCtrlEventButton::NewL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CAknFepCtrlEventButton* CAknFepCtrlEventButton::NewL(CFepUiLayout* aUiLayout, 
-                                                              TInt aControlId, 
-                                                              TInt aEvent,
-                                                              TInt aUnicode,
-                                                              TAknsItemID aNormalID,
-                                                              TAknsItemID aPressedID,
-                                                              TAknsItemID aInactiveID)
-    { 
-    CAknFepCtrlEventButton* self = NewLC(aUiLayout, aControlId, aEvent, aUnicode, 
-    									 aNormalID, aPressedID, aInactiveID);
-    CleanupStack::Pop(self);
-    
-    return self;                        
-    }
-    
-// -----------------------------------------------------------------------------
-// CAknFepCtrlEventButton::NewLC
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CAknFepCtrlEventButton* CAknFepCtrlEventButton::NewLC(CFepUiLayout* aUiLayout, 
-                                                               TInt aControlId, 
-                                                               TInt aEvent,
-                                                               TInt aUnicode,
-                                                               TAknsItemID aNormalID,
-                                                               TAknsItemID aPressedID,
-                                                               TAknsItemID aInactiveID)
-    { 
-    CAknFepCtrlEventButton* self = new (ELeave) CAknFepCtrlEventButton(aUiLayout, 
-                                                                       aControlId,
-                                                                       aEvent,
-                                                                       aUnicode,
-                                                                       aNormalID,
-                                                                       aPressedID,
-                                                                       aInactiveID);
-    CleanupStack::PushL(self);
-    self->BaseConstructL();
-
-    return self;                      
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlEventButton::CAknFepCtrlEventButton
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CAknFepCtrlEventButton::CAknFepCtrlEventButton(CFepUiLayout* aUiLayout, 
-                                                        TInt aControlId, 
-                                                        TInt aEvent,
-                                                        TInt aUnicode,
-                                                        TAknsItemID aNormalID,
-                                                        TAknsItemID aPressedID,
-                                                        TAknsItemID aInactiveID)
-    : CAknFepCtrlCommonButton(aUiLayout, aControlId, aNormalID, aPressedID, aInactiveID),
-	  iEvent(aEvent),iUnicode(aUnicode),iText(NULL) 
-    {        
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlEventButton::~CAknFepCtrlEventButton
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//                                    
-EXPORT_C CAknFepCtrlEventButton::~CAknFepCtrlEventButton()
-    {
-    delete iText;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlEventButton::HandlePointerUpEventL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CFepUiBaseCtrl* CAknFepCtrlEventButton::HandlePointerUpEventL(const TPoint& aPoint)
-    {
-    if (iEvent == 0xFFFF)
-        {
-        return CAknFepCtrlCommonButton::HandlePointerUpEventL(aPoint);
-        }
-    else
-        {
-        CAknFepCtrlCommonButton::HandlePointerUpEventL(aPoint);
-        if(IsDimmed())
-            {
-            return NULL;
-            }
-        
-        if(IsActive())
-            {
-            SetBackgroundBmp(Bitmap(EBtnBmpActive,EFalse));
-            SetBackgroundMaskBmp(Bitmap(EBtnBmpActive,ETrue));
-            }
-        else
-            {
-            SetBackgroundBmp(Bitmap(EBtnBmpNonActive,EFalse));
-            SetBackgroundMaskBmp(Bitmap(EBtnBmpNonActive,ETrue));
-            }
-            
-        SetActive(ETrue);
-        Draw();
-        UpdateArea(Rect(),EFalse);         
-        
-        TPtrC ptr = (TUint16*)(&iUnicode);
-        ReportEvent(iEvent,ptr);     
-        
-        return this;                                      
-        }    
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlEventButton::DisplayText
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlEventButton::DisplayText()
-    {
-    if ((iFont) && (iShadowFont))
-        {
-        CFbsBitGc* gc = static_cast<CFbsBitGc*>(BitGc());
-
-        gc->Activate(BitmapDevice());
-
-        // draw shadow text
-        gc->UseFont(iShadowFont);
-
-        gc->SetBrushStyle( CGraphicsContext::ENullBrush );
-        gc->SetBrushColor( KRgbBlack);//Non transparent at all
-        gc->SetPenColor(iShadowFontColor);
-        gc->SetPenStyle(CGraphicsContext::ESolidPen);
-        gc->SetPenSize( PenSize());
-
-        TPoint pointText;
-        TPoint pointShadowText;
-
-        TInt leftMarginOfText = (Rect().Width() - iFont->TextWidthInPixels(*iText))/2;
-
-        pointText.iX = Rect().iTl.iX + leftMarginOfText;
-        pointText.iY = Rect().iTl.iY + Rect().Height()*3/4;
-
-        pointShadowText.iX = pointText.iX + 1;
-        pointShadowText.iY = pointText.iY + 1;
-
-        gc->DrawText(*iText, pointShadowText);
-
-        gc->DiscardFont();
-
-        // draw text
-        gc->UseFont(iFont);
-
-        gc->SetBrushStyle( CGraphicsContext::ENullBrush );
-        gc->SetBrushColor( KRgbBlack);//Non transparent at all
-        gc->SetPenColor(iFontColor);
-        gc->SetPenStyle(CGraphicsContext::ESolidPen);
-        gc->SetPenSize( PenSize());
-
-        gc->DrawText(*iText, pointText);
-
-        gc->DiscardFont();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlEventButton::SetFontColor
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlEventButton::SetFontColor(const TRgb aColor)
-    {
-    iFontColor = aColor;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlEventButton::SetShadowFontColor
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlEventButton::SetShadowFontColor(const TRgb aColor)
-    {
-    iShadowFontColor = aColor;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlEventButton::Draw
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlEventButton::Draw()
-    {
-	if(!AbleToDraw())
-        return;
-    
-    CAknFepCtrlCommonButton::Draw();
-
-    if ( iText && (iText->Length() > 0 ) ) 
-        {
-        DisplayText();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlEventButton::SetText
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlEventButton::SetText(const TDesC& aText)
-    {
-    if ( iText )
-        {
-        delete iText;
-        iText = NULL;
-        }
-    TRAPD(err, iText = aText.AllocL());
-    if (err != KErrNone)
-        {
-        iText = NULL;
-        }
-    Draw();
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlEventButton::SetFont
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlEventButton::SetFont(const CFont* aFont)
-    {
-    iFont = aFont;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlEventButton::SetShadowFont
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlEventButton::SetShadowFont(const CFont* aFont)
-    {
-    iShadowFont = aFont;
-    }
-        
-// -----------------------------------------------------------------------------
-// CAknFepCtrlEventButton::Event
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CAknFepCtrlEventButton::Event() const
-    {                           
-    return iEvent;                       
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlEventButton::Unicode
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//    
-EXPORT_C TInt CAknFepCtrlEventButton::Unicode() const
-    {             
-    return iUnicode;                                     
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlEventButton::SetEvent
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//    
-EXPORT_C void CAknFepCtrlEventButton::SetEvent(TInt aEvent)
-    {               
-    iEvent = aEvent;                                   
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlEventButton::SetUnicode
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//    
-EXPORT_C void CAknFepCtrlEventButton::SetUnicode(TInt aUnicode)
-    {                                                
-    iUnicode = aUnicode;  
-    }
-
-// ---------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------
-//
-EXPORT_C CAknFepCtrlRepeatButton* CAknFepCtrlRepeatButton::NewLC(CFepUiLayout* aUiLayout, 
-                                                                 TInt aCtrlId,
-                                                                 TInt aEvent,
-                                                                 TInt aUnicode,
-                                                                 TAknsItemID aNormalID,
-                                                                 TAknsItemID aPressedID,
-                                                                 TAknsItemID aInactiveID)
-    {
-    //PRINTF((_L("CAknFepCtrlRepeatButton::NewLC(), aCtrlId = %d\n"), aCtrlId));
-    CAknFepCtrlRepeatButton *self = new(ELeave) CAknFepCtrlRepeatButton(aUiLayout, 
-                                                                        aCtrlId, 
-                                                                        aEvent, 
-                                                                        aUnicode,
-                                                                        aNormalID,
-                                                                        aPressedID,
-                                                                        aInactiveID);
-
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    
-    return self;
-    }
-
-// ---------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------
-//
-EXPORT_C CAknFepCtrlRepeatButton* CAknFepCtrlRepeatButton::NewL(CFepUiLayout* aUiLayout, 
-                                                                TInt aCtrlId,
-                                                                TInt aEvent,
-                                                                TInt aUnicode,
-                                                                TAknsItemID aNormalID,
-                                                                TAknsItemID aPressedID,
-                                                                TAknsItemID aInactiveID)
-    {
-    //PRINTF((_L("CAknFepCtrlRepeatButton::NewL(), aCtrlId = %d\n"), aCtrlId));
-    CAknFepCtrlRepeatButton *self = NewLC(aUiLayout, aCtrlId, aEvent, aUnicode,
-                                          aNormalID, aPressedID, aInactiveID);
-    CleanupStack::Pop(self);
-    
-    return self;
-    }
-        
-// ---------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------
-//
-EXPORT_C CAknFepCtrlRepeatButton::~CAknFepCtrlRepeatButton()
-    {
-    //PRINTF((_L("CAknFepCtrlRepeatButton::~CAknFepCtrlRepeatButton()\n")));
-    CancelRepeat();
-
-    delete iLongPressTimer;
-    delete iRepeatTimer;
-    }
-    
-// ---------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------
-//
-EXPORT_C CAknFepCtrlRepeatButton::CAknFepCtrlRepeatButton(CFepUiLayout* aUiLayout, 
-                                                          TInt aCtrlId,
-                                                          TInt aEvent,
-                                                          TInt aUnicode,
-                                                          TAknsItemID aNormalID,
-                                                          TAknsItemID aPressedID,
-                                                          TAknsItemID aInactiveID)
-    :CAknFepCtrlEventButton(aUiLayout, aCtrlId, aEvent, aUnicode,
-														aNormalID,
-														aPressedID,
-														aInactiveID)
-    {
-    iLongPressInterval = KLongPressInterval;
-    iRepeatInterval = KRepeatInterval;
-    }
-
-// ---------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlRepeatButton::ConstructL()
-    {
-    //PRINTF((_L("CAknFepCtrlRepeatButton::ConstructL()\n")));
-    BaseConstructL();
-    
-    iLongPressTimer = CAknFepTimer::NewL(this);
-    iRepeatTimer = CAknFepTimer::NewL(this);
-    }
-    
-// ---------------------------------------------------------
-// Time out event handler of both long press timer & repeat timer
-// ---------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlRepeatButton::HandleTimerOut(const CAknFepTimer* aTimer)
-    {
-    //PRINTF((_L("CAknFepCtrlRepeatButton::HandleTimerOut()--")));
-    if (aTimer == iLongPressTimer)
-        {
-        //PRINTF((_L("long press timer timeout\n")));
-        iRepeatTimer->SetTimer(iRepeatInterval);
-        }
-    else
-        {
-        if (aTimer == iRepeatTimer)
-            {
-            //PRINTF((_L("repeat timer timeout: EEventButtonUp reported\n")));
-            if ( Unicode() )
-                {
-                TInt unicode = Unicode();
-                TPtrC ptr = (TUint16*)(&unicode ) ;
-                ReportEvent(Event(),ptr);   
-#ifdef RD_TACTILE_FEEDBACK
-			    if (UiLayout()->SupportTactileFeedback())
-			        {
-			        UiLayout()->DoTactileFeedback(ETouchFeedbackSensitiveKeypad);
-			        }
-#endif //RD_TACTILE_FEEDBACK                
-                }
-            else
-                {
-                ReportEvent(EEventButtonUp);
-                }
-            iRepeatTimer->SetTimer(iRepeatInterval);
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// Handle button down start long press timer 
-// ---------------------------------------------------------
-//
-EXPORT_C CFepUiBaseCtrl* CAknFepCtrlRepeatButton::HandlePointerDownEventL(const TPoint& aPt)
-    {
-    //PRINTF((_L("CAknFepCtrlRepeatButton::HandleButtonDown()\n")));
-    
-    //PRINTF((_L("Set long press Timer\n")));
-    iLongPressTimer->SetTimer(iLongPressInterval);
-    
-    return CAknFepCtrlCommonButton::HandlePointerDownEventL(aPt);
-    }
-                                                          
-// ---------------------------------------------------------
-// Handle button up cancel timers 
-// ---------------------------------------------------------
-//
-EXPORT_C CFepUiBaseCtrl* CAknFepCtrlRepeatButton::HandlePointerUpEventL(const TPoint& aPt)
-    {
-    //PRINTF((_L("CAknFepCtrlRepeatButton::HandleButtonUp()\n")));
-    
-    CancelRepeat();
-    
-    return CAknFepCtrlEventButton::HandlePointerUpEventL(aPt);
-    }
-
-// ---------------------------------------------------------
-// Handle pointer levae event cancel timers 
-// ---------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlRepeatButton::HandlePointerLeave(const TPoint& aPoint)
-    {
-    CAknFepCtrlCommonButton::HandlePointerLeave(aPoint);
-
-    CancelRepeat();
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlRepeatButton::CancelPointerDownL
-// Cancel pointer down event
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C void CAknFepCtrlRepeatButton::CancelPointerDownL()
-    {
-    CAknFepCtrlCommonButton::CancelPointerDownL();     
-    
-    CancelRepeat();
-    }
-
-// ---------------------------------------------------------
-// Set the repeat interval of repeat timer
-// ---------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlRepeatButton::SetRepeatInterval(const TTimeIntervalMicroSeconds32& aTime)
-    {
-    iRepeatInterval = aTime;
-    }
-
-// ---------------------------------------------------------
-// Cancel timers 
-// ---------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlRepeatButton::CancelRepeat()
-    {
-    //PRINTF((_L("CAknFepCtrlRepeatButton::CancelRepeat()\n")));
-    iLongPressTimer->Cancel();
-    iRepeatTimer->Cancel();
-    }
-    
-EXPORT_C CAknFepCtrlRawKeyButton* CAknFepCtrlRawKeyButton::NewL(CFepUiLayout* aUiLayout, 
-                                                                TInt aControlId,
-                                                                TAknsItemID aNormalID,
-                                                                TAknsItemID aPressedID,
-                                                                TAknsItemID aInactiveID, 
-                                                                TInt aDownEvent,
-                                                                TInt aUpEvent,
-                                                                TInt aScanCode)
-    { 
-    CAknFepCtrlRawKeyButton* self = NewLC(aUiLayout, 
-                                          aControlId,
-                                          aNormalID,
-                                          aPressedID,
-                                          aInactiveID, 
-                                          aDownEvent, 
-                                          aUpEvent,
-                                          aScanCode);
-    CleanupStack::Pop(self);
-    
-    return self;                        
-    }
-    
-EXPORT_C CAknFepCtrlRawKeyButton* CAknFepCtrlRawKeyButton::NewLC(CFepUiLayout* aUiLayout, 
-                                                                 TInt aControlId, 
-                                                                 TAknsItemID aNormalID,
-                                                                 TAknsItemID aPressedID,
-                                                                 TAknsItemID aInactiveID,
-                                                                 TInt aDownEvent,
-                                                                 TInt aUpEvent,
-                                                                 TInt aScanCode)
-    { 
-    CAknFepCtrlRawKeyButton* self = new (ELeave) CAknFepCtrlRawKeyButton(aUiLayout, 
-                                                                         aControlId,
-                                                                         aNormalID,
-                                                                         aPressedID,
-                                                                         aInactiveID,
-                                                                         aDownEvent,
-                                                                         aUpEvent,
-                                                                         aScanCode);
-    CleanupStack::PushL(self);
-    self->BaseConstructL();
-    return self;                      
-    }
-
-EXPORT_C CAknFepCtrlRawKeyButton::CAknFepCtrlRawKeyButton(CFepUiLayout* aUiLayout, 
-                                                          TInt aControlId,
-                                                          TAknsItemID aNormalID,
-                                                          TAknsItemID aPressedID,
-                                                          TAknsItemID aInactiveID, 
-                                                          TInt aDownEvent,
-                                                          TInt aUpEvent,
-                                                          TInt aScanCode)
-    : CAknFepCtrlCommonButton(aUiLayout, aControlId, aNormalID, aPressedID, aInactiveID),
-      iDownEvent(aDownEvent),
-      iUpEvent(aUpEvent),
-      iScanCode(aScanCode),
-      iLastPntDownEvent(EFalse)
-    {        
-    }
-
-EXPORT_C CAknFepCtrlRawKeyButton::~CAknFepCtrlRawKeyButton()
-    {
-    }
-
-EXPORT_C CFepUiBaseCtrl* CAknFepCtrlRawKeyButton::HandlePointerDownEventL(const TPoint& aPoint)
-    {
-/*    if (iDownEvent == KInvalidEventId)
-        {
-        return CButtonBase::HandlePointerDownEventL(aPoint);
-        }
-    
-    if(IsDimmed())
-        {
-        return NULL;
-        }
-    
-    CAknFepCtrlButton::HandlePointerDownEventL(aPoint);
-    if(IsActive())
-        {
-        SetBackgroundBmp(iActiveBmpPressed);
-        SetBackgroundMaskBmp(iActiveMaskBmpPressed);
-        }        
-    else
-        {
-        SetBackgroundBmp(iNonActiveBkBmpPressed);
-        SetBackgroundMaskBmp(iNonActiveBkMaskBmpPressed);
-        }        
-
-    Draw();
-    UpdateArea(Rect(),ETrue);
-*/
-    if(IsDimmed())
-        {
-        return NULL;
-        }
-
-    CAknFepCtrlCommonButton::HandlePointerDownEventL(aPoint);
-    TKeyEvent event= {0,0,0,0};
-    TPtrC eventDataPtr;
-    event.iScanCode = iScanCode;
-    eventDataPtr.Set(reinterpret_cast<TUint16*>(&event),sizeof(event));
-        
-    ReportEvent(iDownEvent,eventDataPtr);
-    
-    iLastPntDownEvent = ETrue;
-
-    return this;
-    }
-
-EXPORT_C CFepUiBaseCtrl* CAknFepCtrlRawKeyButton::HandlePointerUpEventL(const TPoint& aPoint)
-    {
-    if (iUpEvent == KInvalidEventId)
-        {
-        return CButtonBase::HandlePointerUpEventL(aPoint);
-        }
-    
-/*    if(IsDimmed())
-        {
-        return NULL;
-        }
-        
-    if(IsActive())
-        {
-        SetBackgroundBmp(Bitmap(EBtnBmpActive,EFalse));
-        SetBackgroundMaskBmp(Bitmap(EBtnBmpActive,ETrue));
-        }
-    else
-        {
-        SetBackgroundBmp(Bitmap(EBtnBmpNonActive,EFalse));
-        SetBackgroundMaskBmp(Bitmap(EBtnBmpNonActive,ETrue));
-        }
-
-    SetActive(ETrue);
-    Draw();
-    UpdateArea(Rect(),ETrue);    
-*/
-    if(IsDimmed())
-        {
-        return NULL;
-        }
-        
-    CAknFepCtrlCommonButton::HandlePointerUpEventL(aPoint);
-    if (iLastPntDownEvent)
-        {
-        // only when last event is pointer down event, there is need to simulate
-        // pointer up event
-    	TKeyEvent event= {0,0,0,0};
-        TPtrC eventDataPtr;
-        event.iScanCode = iScanCode;
-        eventDataPtr.Set(reinterpret_cast<TUint16*>(&event),sizeof(event));
-
-        ReportEvent(iUpEvent,eventDataPtr);
-
-        iLastPntDownEvent = EFalse;
-        }
-
-    return this;
-    }
-
-EXPORT_C void CAknFepCtrlRawKeyButton::ConstructFromResourceL(TResourceReader& aReader)
-    {
-    TInt scancode = aReader.ReadInt16();
-    SetScanCode(scancode);
-    
-    TInt32 btnimgResId = aReader.ReadInt32();
-    TResourceReader imgreader;
-    CCoeEnv::Static()->CreateResourceReaderLC(imgreader, btnimgResId);
-    CAknFepCtrlCommonButton::ConstructFromResourceL(imgreader);
-    CleanupStack::PopAndDestroy(); // imgreader
-    
-    //ResizeBitmaps(Rect().Size());
-    iFirstTimeConstruct = EFalse;
-    }
-
-EXPORT_C void CAknFepCtrlRawKeyButton::ConstructFromResourceL()
-    {
-	if (iResourceId == KInvalidResId)
-	    {
-	    return;
-	    }
-	
-    TResourceReader reader;
-    CCoeEnv::Static()->CreateResourceReaderLC(reader, iResourceId);
-    
-    TInt scancode = reader.ReadInt16();
-    SetScanCode(scancode);
-    
-    TInt32 btnimgResId = reader.ReadInt32();
-    TResourceReader imgreader;
-    CCoeEnv::Static()->CreateResourceReaderLC(imgreader, btnimgResId);
-    CAknFepCtrlCommonButton::ConstructFromResourceL(imgreader);
-    CleanupStack::PopAndDestroy(2); // reader, imgreader
-    
-    //ResizeBitmaps(Rect().Size());
-    iFirstTimeConstruct = EFalse;
-    }
-
-EXPORT_C void CAknFepCtrlRawKeyButton::HandlePointerLeave(const TPoint& aPoint)
-    {
-    if (!Rect().Contains(aPoint))
-        {
-        TRAP_IGNORE(HandlePointerUpEventL(Rect().Center()));
-        }
-    }
-    
-EXPORT_C void CAknFepCtrlRawKeyButton::OnDeActivate()
-    {
-    CButtonBase::OnDeActivate();
-    
-    if (iLastPntDownEvent)
-        {
-        TRAP_IGNORE(HandlePointerUpEventL(Rect().Center()));
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlCommonButton::CAknFepCtrlCommonButton
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CAknFepCtrlCommonButton::CAknFepCtrlCommonButton(CFepUiLayout* aUiLayout, 
-                                                          TInt aControlId,
-                                                          TAknsItemID aNormalID,
-                                                          TAknsItemID aPressedID,
-                                                          TAknsItemID aInactiveID)
-: CButtonBase(TRect(), aUiLayout, aControlId),
-  iFirstTimeConstruct(ETrue),
-  iHighlight(EFalse),
-  iPressed(EFalse),
-  iTextColorIndex( KInvalidColorGroup )
-    {
-    iNormalImgID 	= aNormalID;
-    iPressedImgID	= aPressedID;
-    iInactiveImgID	= aInactiveID;
-    CFepUiBaseCtrl::SetActive( ETrue );
-    }
-    
-// ---------------------------------------------------------------------------
-// CAknFepCtrlCommonButton::NewL
-// Two-phased constructor.
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CAknFepCtrlCommonButton* CAknFepCtrlCommonButton::NewL(CFepUiLayout* aUiLayout, 
-                                                                TInt aControlId,
-                                                                TAknsItemID aNormalID,
-                                                                TAknsItemID aPressedID,
-                                                                TAknsItemID aInactiveID)
-    {
-    CAknFepCtrlCommonButton* self = NewLC(aUiLayout, 
-    									  aControlId,
-    									  aNormalID,
-    									  aPressedID,
-    									  aInactiveID);
-    CleanupStack::Pop(self);
-    
-    return self;
-    }
-// ---------------------------------------------------------------------------
-// CAknFepCtrlCommonButton::NewLC
-// Two-phased constructor.
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CAknFepCtrlCommonButton* CAknFepCtrlCommonButton::NewLC(CFepUiLayout* aUiLayout,
-                                                                 TInt aControlId,
-                                                                 TAknsItemID aNormalID,
-                                                                 TAknsItemID aPressedID,
-                                                                 TAknsItemID aInactiveID)
-    {
-    CAknFepCtrlCommonButton* self = new (ELeave) CAknFepCtrlCommonButton(aUiLayout, 
-    									aControlId,
-    									aNormalID,
-    									aPressedID,
-    									aInactiveID);
-    CleanupStack::PushL(self);
-    self->BaseConstructL();
-
-    return self;
-    }    
-    
-// -----------------------------------------------------------------------------
-// Destructor.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CAknFepCtrlCommonButton::~CAknFepCtrlCommonButton()
-    {
-    DeleteForgroundRes();
-    delete iColorIcons;
-    delete iText;
-    }
-// ---------------------------------------------------------------------------
-// CAknFepCtrlCommonButton::ConstructFromResourceL
-// The order of the image ids in the CButtonBase class must not be changed
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlCommonButton::ConstructFromResourceL(TResourceReader& aReader)
-    {
-    if (!iFirstTimeConstruct)
-		{
-        DeleteForgroundRes();
-        if( iColorIcons )
-        	iColorIcons->ReConstructL();
-		}
-    
-    TPtrC bmpFileName = aReader.ReadTPtrC();    // Read the file name of the bmps
-    TInt32 imgMajorSkinId = aReader.ReadInt32();
-    TInt colorGroup = aReader.ReadInt16();    
-    TAknsItemID id;
-	
-    // Get the image ids and mask ids from resource
-    TInt bmpId = aReader.ReadInt16(); 
-    TInt bmpMskId = aReader.ReadInt16();
-    
-    // read skin item id
-    const TInt skinitemid = aReader.ReadInt16();
-    id.Set(TInt(imgMajorSkinId), skinitemid);
-    
-    if (bmpId != KInvalidBmp)
-        {
-    	if (bmpMskId != KInvalidBmp)
-    		{
-    		if( colorGroup == KInvalidColorGroup )
-    			{
-	    		AknsUtils::CreateIconL(AknsUtils::SkinInstance(),
-                       id,
-                       iForgroundBmp,
-                       iForgroundBmpMask,
-                       bmpFileName,
-                       bmpId,
-                       bmpMskId);	
-    			}
-			else
-				{
-			    AknsUtils::CreateColorIconL( AknsUtils::SkinInstance(),
-                             id,
-                             KAknsIIDQsnIconColors,
-                             colorGroup,
-                             iForgroundBmp,
-                             iForgroundBmpMask,
-                             bmpFileName,
-                             bmpId,
-                             bmpMskId,
-                             AKN_LAF_COLOR( 0 ) );   	
-				}
-
-    		AknIconUtils::SetSize(iForgroundBmp, iForgroundBmpRect.Size(), EAspectRatioNotPreserved);
-    		AknIconUtils::SetSize(iForgroundBmpMask, iForgroundBmpRect.Size(), 
-    		                      EAspectRatioNotPreserved);
-    		                       
-    		/*CreateDimmedMaskL( iForgroundDimBmpMask, iForgroundBmpMask );
-    		AknIconUtils::SetSize(iForgroundDimBmpMask, iForgroundBmpRect.Size(), 
-    		                      EAspectRatioNotPreserved);*/
-    		}
-    	else
-	        {
-		    AknsUtils::CreateIconL(AknsUtils::SkinInstance(),
-		                           id,
-		                           iForgroundBmp,
-		                           bmpFileName,
-		                           bmpId);
-		    AknIconUtils::SetSize(iForgroundBmp, iForgroundBmpRect.Size(), EAspectRatioNotPreserved);
-	        }
-        }
-	
-    if (!iFirstTimeConstruct)
-    	{
-        //ResizeBitmaps(iForgroundBmpRect.Size());
-    	Draw();
-    	}
-    
-    iFirstTimeConstruct = EFalse;    
-    }
-    
-// ---------------------------------------------------------------------------
-// CAknFepCtrlCommonButton::ConstructFromResourceL
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlCommonButton::ConstructFromResourceL()
-	{
-	if (iResourceId == KInvalidResId)
-		{
-        return;
-		}
-	
-	if (!iFirstTimeConstruct)
-		{
-		// need to remove original bmp and maskbmp
-        DeleteForgroundRes();
-        if( iColorIcons )
-        	iColorIcons->ReConstructL();
-		}
-
-    TResourceReader reader;
-    CCoeEnv::Static()->CreateResourceReaderLC(reader, iResourceId);
-
-    TPtrC bmpFileName = reader.ReadTPtrC();    // Read the file name of the bmps
-    TInt32 imgMajorSkinId = reader.ReadInt32();
-    TInt colorGroup = reader.ReadInt16();
-    TAknsItemID id;
-	
-	// Get the image ids and mask ids from resource
-    TInt bmpId = reader.ReadInt16(); 
-    TInt bmpMskId = reader.ReadInt16();
-    
-    // Read skin item id
-    const TInt skinitemid = reader.ReadInt16();
-    id.Set(TInt(imgMajorSkinId), skinitemid);
-
-    if (bmpId != KInvalidBmp)
-    {
-	if (bmpMskId != KInvalidBmp)
-		{
-		if( colorGroup == KInvalidColorGroup )
-			{
-    		AknsUtils::CreateIconL(AknsUtils::SkinInstance(),
-                   id,
-                   iForgroundBmp,
-                   iForgroundBmpMask,
-                   bmpFileName,
-                   bmpId,
-                   bmpMskId);	
-			}
-		else
-			{
-		    AknsUtils::CreateColorIconL( AknsUtils::SkinInstance(),
-                         id,
-                         KAknsIIDQsnIconColors,
-                         colorGroup,
-                         iForgroundBmp,
-                         iForgroundBmpMask,
-                         bmpFileName,
-                         bmpId,
-                         bmpMskId,
-                         AKN_LAF_COLOR( 0 ) );   	
-			}
-
-        AknIconUtils::SetSize(iForgroundBmp, iForgroundBmpRect.Size(), EAspectRatioNotPreserved);
-        AknIconUtils::SetSize(iForgroundBmpMask, iForgroundBmpRect.Size(), 
-                              EAspectRatioNotPreserved);
-
-		/*CreateDimmedMaskL( iForgroundDimBmpMask, 
-    					   iForgroundBmpMask );   
- 		AknIconUtils::SetSize(iForgroundDimBmpMask, iForgroundBmpRect.Size(), EAspectRatioNotPreserved);*/
-		}
-    else
-        {
-	    AknsUtils::CreateIconL(AknsUtils::SkinInstance(),
-	                           id,
-	                           iForgroundBmp,
-	                           bmpFileName,
-	                           bmpId);
-	    AknIconUtils::SetSize(iForgroundBmp, iForgroundBmpRect.Size(), EAspectRatioNotPreserved);
-        }
-    }
-
-    CleanupStack::PopAndDestroy(); // reader
-    
-    if (!iFirstTimeConstruct)
-    	{
-        //ResizeBitmaps(iForgroundBmpRect.Size());
-    	Draw();
-    	}
-
-    iFirstTimeConstruct = EFalse;    	
-	}
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlCommonButton::Draw
-// Draws UI
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlCommonButton::Draw()
-    {
-    if(!AbleToDraw())
-        return;
-    
-    CFbsBitGc* gc = static_cast<CFbsBitGc*>(BitGc());
-    
-    //mask bitmaps
-  	DrawOpaqueMaskBackground();  
-    TRect rect = Rect();        
-    TRect innerRect = rect;
-    innerRect.Shrink( 10, 10 );
-    
-    // ----- draw bitmaps -----
-    gc->Activate( BitmapDevice() );     
-   // gc->SetClippingRegion( &ValidClipRegion() );           
-    //gc->Clear(rect);
-    	
-    CFbsBitmap* bmpMask = NULL;
-	
-    // Draw background    
-    if( IsDimmed() ) // Dimmed state
-    	{
-		AknsDrawUtils::DrawFrame( AknsUtils::SkinInstance(), 
-		                         *gc, 
-		                         rect, 
-		                         innerRect,
-		                         iInactiveImgID,
-		                         KAknsIIDDefault );
-    	if( iForgroundDimBmpMask )
-    		{
-    		delete iForgroundDimBmpMask;
-    		iForgroundDimBmpMask = NULL;
-    		}		                         
-    	TRAP_IGNORE(CreateDimmedMaskL( iForgroundDimBmpMask, 
-    					   iForgroundBmpMask ));
-		AknIconUtils::SetSize(iForgroundDimBmpMask, iForgroundBmpRect.Size(), 
-                              EAspectRatioNotPreserved);
-                              		                         
-		bmpMask = iForgroundDimBmpMask;    
-    	}
-    else
-    	{
-		// Normal state or pressed state
-		TAknsItemID ImgID;
-		if (iHighlight)
-			{
-			ImgID = iPressedImgID;
-			}
-		else 
-			{
-			ImgID = /*iPressed*/PointerDown()? iPressedImgID : iNormalImgID;
-			}
-		
-		AknsDrawUtils::DrawFrame( AknsUtils::SkinInstance(), 
-	                     *gc, 
-	                     rect, 
-	                     innerRect,
-	                     ImgID,
-	                     KAknsIIDDefault ); 
-	    bmpMask = iForgroundBmpMask;            	    		
-    	}
-    
-    // Draw forground
-    if ( iColorIcons ) // 3-pieces color icon
-    	{
-    	AknPenInputDrawUtils::Draw3PiecesColorIcon( iColorIcons, 
-    												*gc, 
-    												iForgroundBmpRect, 
-    												iDraw3PiecesInfo.iInnerRect );
-    	}
-	else if( iForgroundBmp )
-		{
-		TRect srcRect( TPoint( 0, 0 ), iForgroundBmp->SizeInPixels() );
-		if( bmpMask )
-			{
-			gc->BitBltMasked( iForgroundBmpRect.iTl, 
-							  iForgroundBmp, 
-							  srcRect,
-							  bmpMask,
-							  EFalse);
-			}
-		else
-			{
-			gc->BitBlt( iForgroundBmpRect.iTl,
-						iForgroundBmp,
-						srcRect );	
-			}
-		}
-	
-    if (iText)
-        {
-		//if( IsDimmed() )
-		//	{
-		//	gc->SetFadingParameters( KFadingParamBlack, KFadingParamWhite );
-        //	gc->SetFaded( ETrue );		
-		//	}
-        
-        TAknLayoutText textLayout;
-        textLayout.LayoutText(Rect(), iTextFormat);
-        if( iTextColorIndex == KInvalidColorGroup )
-        	textLayout.DrawText(*gc, *iText);
-        else
-        	{
-			TRgb color( KRgbBlack );  // sane default for nonskinned case
-			if ( AknsUtils::AvkonSkinEnabled() )
-				{
-				AknsUtils::GetCachedColor( AknsUtils::SkinInstance(),
-				               color, KAknsIIDQsnTextColors, iTextColorIndex );
-				}	
-			if( IsDimmed() )
-				{			
-				color = KRgbGray;	
-				}	
-			textLayout.DrawText(*gc, *iText, ETrue, color);	
-        	}
-        //if( IsDimmed() )
-        //	gc->SetFaded( EFalse );
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// CAknFepCtrlCommonButton::SetActive
-// Set active for the button
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlCommonButton::SetActive(TBool aActiveFlag)
-    {
-    if( IsDimmed() )
-        {
-        return;
-        }
-        
-    if(IsActive() != aActiveFlag)
-        {
-        CFepUiBaseCtrl::SetActive(aActiveFlag);
-/*       if(BitGc())
-            {       
-            Draw();
-            UpdateArea(Rect(),EFalse);
-            }*/
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlCommonButton::SetHighlight
-// Set highlight for the button
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C void CAknFepCtrlCommonButton::SetHighlight(TBool aIsHighlight)
-    {
-    iHighlight = aIsHighlight;
-
-    Draw();
-    UpdateArea(Rect(),EFalse);         
-    }
-    
-// ---------------------------------------------------------------------------
-// CAknFepCtrlCommonButton::ResizeBitmaps
-// This methods shall be called by the container's SizeChanged handler
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-void CAknFepCtrlCommonButton::ResizeBitmaps(TSize aInnerSize)
-    {
-    if( iForgroundBmp && ( iForgroundBmp->SizeInPixels() != aInnerSize ) )
-        {
-        AknIconUtils::SetSize( iForgroundBmp, aInnerSize, EAspectRatioNotPreserved );
-        }
-    if( iForgroundBmpMask && ( iForgroundBmpMask->SizeInPixels() != aInnerSize ) )
-        {
-        AknIconUtils::SetSize( iForgroundBmpMask, aInnerSize, EAspectRatioNotPreserved );
-        }
-    
-        /*TRAP_IGNORE(CreateDimmedMaskL(iForgroundDimBmpMask, 
-                                      iForgroundBmpMask));*/
-    }
-    
-// ---------------------------------------------------------------------------
-// CAknFepCtrlCommonButton::SizeChanged
-// This methods shall be called by the container's SizeChanged handler
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlCommonButton::SizeChanged(TRect aNewRect, 
-												   TRect aInnerRect, 
-												   TBool aIsReloadImages)
-    {
-    if (aNewRect.Size().iWidth == 0 || aNewRect.Size().iHeight == 0)
-        {
-   	    return;
-        }
-    
-    TRect oriRect = Rect();
-    
-    if( oriRect == aNewRect && iForgroundBmpRect == aInnerRect )
-        {
-        return;
-        }
-    
-    SetRect(aNewRect);
-
-    if (aIsReloadImages)
-        {
-        iForgroundBmpRect = aInnerRect;
-        ResizeBitmaps(aInnerRect.Size() );	
-        }
-    RootControl()->ReDrawRect( Rect() );
-    UpdateArea(Rect(), EFalse);
-    Draw();
-    UpdateArea(Rect(), EFalse);
-    }
-    
-// ---------------------------------------------------------------------------
-// CAknFepCtrlCommonButton::SetForgroundBmpRect
-// This methods shall be called by the container's SizeChanged handler
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlCommonButton::SetForgroundBmpRect(const TRect& aRect)
-	{
-	iForgroundBmpRect = aRect;	
-	}
-
-EXPORT_C void CAknFepCtrlCommonButton::SetDraw3PieceFrameInfo(TDraw3PiecesFrame a3PiecesFrameInfo)
-	{
-	iDraw3PiecesInfo = a3PiecesFrameInfo;
-	}
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlCommonButton::DeleteForgroundRes
-// This methods shall be called by the container's SizeChanged handler
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-void CAknFepCtrlCommonButton::DeleteForgroundRes()
-	{
-    if( iForgroundBmp )
-		{
-		delete iForgroundBmp;
-		iForgroundBmp = NULL;
-		}
-	if( iForgroundBmpMask )
-		{
-		delete iForgroundBmpMask;
-		iForgroundBmpMask = NULL;
-		}
-	if( iForgroundDimBmpMask )
-		{
-		delete iForgroundDimBmpMask;
-		iForgroundDimBmpMask = NULL;
-		}
-	}
-	
-// ---------------------------------------------------------------------------
-// CAknFepCtrlCommonButton::CreateDimmedMaskL
-// This methods shall be called by the container's SizeChanged handler
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//	
-void CAknFepCtrlCommonButton::CreateDimmedMaskL( CFbsBitmap*& aDimmedMask,
-                                                 const CFbsBitmap* aMask
-                                        		 /*TScaleMode aScaleMode*/ )
-	{
-	    if (aMask && aMask->DisplayMode() == EGray256)
-	        {
-	        delete aDimmedMask;
-	        aDimmedMask = NULL;
-
-	        aDimmedMask = new (ELeave) CFbsBitmap;
-
-	        User::LeaveIfError(aDimmedMask->Create(aMask->SizeInPixels(), EGray256)); 
-	        CleanupStack::PushL(aDimmedMask);
-
-	        CFbsBitmapDevice* bitmapDevice = CFbsBitmapDevice::NewL(aDimmedMask);
-	        CleanupStack::PushL(bitmapDevice);
-
-	        CFbsBitGc* bitGc(NULL);
-	        User::LeaveIfError(bitmapDevice->CreateContext(bitGc));
-	        CleanupStack::PushL(bitGc);
-
-	        bitGc->SetPenStyle(CGraphicsContext::ESolidPen);
-	        bitGc->BitBlt(TPoint(0, 0), aMask);
-
-	        aDimmedMask->LockHeap();
-	        TInt w = aMask->SizeInPixels().iWidth; 
-	        TInt h = aMask->SizeInPixels().iHeight;
-	        TInt dataStride = aMask->DataStride() - w; 
-	        unsigned char* address = (unsigned char *)aDimmedMask->DataAddress();  
-
-	        for ( TInt i = 0; i < h; ++i )
-	            {
-	            for ( TInt j = 0; j < w; ++j )
-	                {
-	                *address = KTransparency[*address];
-	                ++address;
-	                }
-	            address += dataStride;         
-	            }
-
-	        aDimmedMask->UnlockHeap();
-
-	        //AknIconUtils::SetSize(aDimmedMask, aMask->SizeInPixels(), aScaleMode);
-
-	        CleanupStack::PopAndDestroy(2); // bitmapDevice, bitGc
-	        CleanupStack::Pop(1); // aDimmedMask
-	        }
-
-	}
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlCommonButton::HandlePointerDownEventL
-// Handle button down event
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//   
-EXPORT_C CFepUiBaseCtrl* CAknFepCtrlCommonButton::HandlePointerDownEventL(const TPoint& aPt)
-	{
-    if( IsDimmed() )
-    	return NULL;
-    
-    CFepUiBaseCtrl::HandlePointerDownEventL(aPt);
-    iPressed =  ETrue;
-	
-    Draw();
-    UpdateArea(Rect(),EFalse);
-    ReportEvent(EEventButtonDown);
-    return this;
-	}
-	
-// ---------------------------------------------------------------------------
-// CAknFepCtrlCommonButton::HandlePointerLeave
-// Handle pointer leave event
-// ---------------------------------------------------------------------------
-//           
-EXPORT_C void CAknFepCtrlCommonButton::HandlePointerLeave(const TPoint& aPt)
-    {
-    if( IsDimmed() )
-        return;
-    
-    CFepUiBaseCtrl::HandlePointerLeave(aPt);    
-    iPressed = EFalse; 
-	
-    RootControl()->ReDrawRect( Rect() );
-    UpdateArea(Rect(),EFalse);   
-
-    return ;
-    }
-	
-// ---------------------------------------------------------------------------
-// CAknFepCtrlCommonButton::HandleButtonUpEventL
-// Handle button up event
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//        
-EXPORT_C CFepUiBaseCtrl* CAknFepCtrlCommonButton::HandlePointerUpEventL(const TPoint& aPt)        
-    {
-    CFepUiBaseCtrl::HandlePointerUpEventL(aPt);    
-    if( IsDimmed() )
-        return NULL;
-	
-    iPressed = EFalse;
-    SetActive(ETrue);
-   	RootControl()->ReDrawRect( Rect() );
-    //Draw();
-    UpdateArea(Rect(),EFalse);    
-    
-    ReportEvent(EEventButtonUp);
-    
-#ifdef RD_TACTILE_FEEDBACK   
-    {
-    UiLayout()->DoTactileFeedback(ETouchFeedbackSensitiveKeypad, ETrue, EFalse);
-    }
-#endif // RD_TACTILE_FEEDBACK    
-    
-    return this;
-    }
-
-EXPORT_C void CAknFepCtrlCommonButton::HandlePointerEnter(const TPoint& aPt)
-    {
-    if( IsDimmed() )
-        return;
-    
-    CFepUiBaseCtrl::HandlePointerEnter(aPt);    
-    iPressed = ETrue; 
-    Draw();
-    UpdateArea(Rect(),EFalse);   
-
-    return ;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlCommonButton::CancelPointerDownL
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//        
-EXPORT_C void CAknFepCtrlCommonButton::CancelPointerDownL()
-    {
-    CFepUiBaseCtrl::CancelPointerDownL();
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlCommonButton::SetForegroundBmpL
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//        
-EXPORT_C void CAknFepCtrlCommonButton::SetForegroundBmpL(CFbsBitmap* aBmp,
-                                                         CFbsBitmap* aMaskBmp)
-    {
-    DeleteForgroundRes();
-    
-    iForgroundBmp = aBmp;
-    iForgroundBmpMask = aMaskBmp;
-
-    ResizeBitmaps(iForgroundBmpRect.Size());
-    }
-
-EXPORT_C void CAknFepCtrlCommonButton::Move(const TPoint& aOffset)
-    {
-    CButtonBase::Move(aOffset);
-    iForgroundBmpRect.Move( aOffset );
-    
-    if ( iColorIcons ) 
-        {
-        iDraw3PiecesInfo.iInnerRect.Move( aOffset );
-        }
-    }
-
-
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlMultiImageButton::CAknFepCtrlMultiImageButton
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CAknFepCtrlMultiImageButton::CAknFepCtrlMultiImageButton(CFepUiLayout* aUiLayout, 
-                                                                  TInt aControlId,
-                                                                  TAknsItemID aNormalID,
-                                                                  TAknsItemID aPressedID,
-                                                                  TAknsItemID aInactiveID)
-	: CAknFepCtrlCommonButton(aUiLayout, aControlId, aNormalID, aPressedID, aInactiveID)    								
-    {
-    iNormalImgID = aNormalID;
-    iPressedImgID = aPressedID;
-    iInactiveImgID = aInactiveID;       
-    }
-    
-// ---------------------------------------------------------------------------
-// CAknFepCtrlMultiImageButton::NewL
-// Two-phased constructor.
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CAknFepCtrlMultiImageButton* CAknFepCtrlMultiImageButton::NewL(CFepUiLayout* aUiLayout, 
-                                                                        TInt aControlId,
-                                                                        TAknsItemID aNormalID,
-                                                                        TAknsItemID aPressedID,
-                                                                        TAknsItemID aInactiveID)
-    {
-    CAknFepCtrlMultiImageButton* self = NewLC(aUiLayout, 
-    									  aControlId,
-    									  aNormalID,
-    									  aPressedID,
-    									  aInactiveID);
-    CleanupStack::Pop(self);
-    
-    return self;
-    }
-// ---------------------------------------------------------------------------
-// CAknFepCtrlMultiImageButton::NewLC
-// Two-phased constructor.
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CAknFepCtrlMultiImageButton* CAknFepCtrlMultiImageButton::NewLC(CFepUiLayout* aUiLayout,
-                                                                         TInt aControlId,
-                                                                         TAknsItemID aNormalID,
-                                                                         TAknsItemID aPressedID,
-                                                                         TAknsItemID aInactiveID)
-    {
-    CAknFepCtrlMultiImageButton* self = new (ELeave) CAknFepCtrlMultiImageButton(aUiLayout, 
-    									aControlId,
-    									aNormalID,
-    									aPressedID,
-    									aInactiveID);
-    CleanupStack::PushL(self);
-    self->BaseConstructL();
-
-    return self;
-    }    
-    
-// -----------------------------------------------------------------------------
-// Destructor.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CAknFepCtrlMultiImageButton::~CAknFepCtrlMultiImageButton()
-    {
-    DeleteForgroundRes();
-    delete iText;
-    }
-// ---------------------------------------------------------------------------
-// CAknFepCtrlMultiImageButton::ConstructFromResourceL
-// The order of the image ids in the CButtonBase class must not be changed
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlMultiImageButton::ConstructFromResourceL(TResourceReader& aReader)
-    {
-		if (!iFirstTimeConstruct)
-		{
-        DeleteForgroundRes();
-		}
-    
-    TPtrC bmpFileName = aReader.ReadTPtrC();    // Read the file name of the bmps
-    TInt32 imgMajorSkinId = aReader.ReadInt32();
-    TInt colorGroup = aReader.ReadInt16();    
-    TAknsItemID id;
-	
-    // Get the image ids and mask ids from resource
-    TInt bmpId = aReader.ReadInt16(); 
-    TInt bmpMskId = aReader.ReadInt16();
-    
-    // read skin item id
-    const TInt skinitemid = aReader.ReadInt16();
-    id.Set(TInt(imgMajorSkinId), skinitemid);
-    
-    if (bmpId != KInvalidBmp)
-        {
-    	if (bmpMskId != KInvalidBmp)
-    		{
-    		if( colorGroup == KInvalidColorGroup )
-    			{
-	    		AknsUtils::CreateIconL(AknsUtils::SkinInstance(),
-                       id,
-                       iForground1Bmp,
-                       iForground1BmpMask,
-                       bmpFileName,
-                       bmpId,
-                       bmpMskId);	
-    			}
-			else
-				{
-			    AknsUtils::CreateColorIconL( AknsUtils::SkinInstance(),
-                             id,
-                             KAknsIIDQsnIconColors,
-                             colorGroup,
-                             iForground1Bmp,
-                             iForground1BmpMask,
-                             bmpFileName,
-                             bmpId,
-                             bmpMskId,
-                             AKN_LAF_COLOR( 0 ) );   	
-				}
-
-    		AknIconUtils::SetSize(iForground1Bmp, iForground1BmpRect.Size(), EAspectRatioNotPreserved);
-    		AknIconUtils::SetSize(iForground1BmpMask, iForground1BmpRect.Size(), 
-    		                      EAspectRatioNotPreserved);
-    		                       
-    		/*CreateDimmedMaskL( iForground1DimBmpMask, iForground1BmpMask );
-    		AknIconUtils::SetSize(iForground1DimBmpMask, iForground1BmpRect.Size(), 
-    		                      EAspectRatioNotPreserved);*/
-    		}
-    	else
-	        {
-		    AknsUtils::CreateIconL(AknsUtils::SkinInstance(),
-		                           id,
-		                           iForground1Bmp,
-		                           bmpFileName,
-		                           bmpId);
-		    AknIconUtils::SetSize(iForground1Bmp, iForground1BmpRect.Size(), EAspectRatioNotPreserved);
-	        }
-        }
-	
-	
-	
-    TAknsItemID id2;
-	
-    // Get the image ids and mask ids from resource
-    TInt bmp2Id = aReader.ReadInt16(); 
-    TInt bmp2MskId = aReader.ReadInt16();
-    
-    // read skin item id
-    const TInt skinitem2id = aReader.ReadInt16();
-    id2.Set(TInt(imgMajorSkinId), skinitem2id);
-    
-    if (bmp2Id != KInvalidBmp)
-        {
-    	if (bmp2MskId != KInvalidBmp)
-    		{
-    		if( colorGroup == KInvalidColorGroup )
-    			{
-	    		AknsUtils::CreateIconL(AknsUtils::SkinInstance(),
-                       id2,
-                       iForground2Bmp,
-                       iForground2BmpMask,
-                       bmpFileName,
-                       bmp2Id,
-                       bmp2MskId);	
-    			}
-			else
-				{
-			    AknsUtils::CreateColorIconL( AknsUtils::SkinInstance(),
-                             id2,
-                             KAknsIIDQsnIconColors,
-                             colorGroup,
-                             iForground2Bmp,
-                             iForground2BmpMask,
-                             bmpFileName,
-                             bmp2Id,
-                             bmp2MskId,
-                             AKN_LAF_COLOR( 0 ) );   	
-				}
-
-    		AknIconUtils::SetSize(iForground2Bmp, iForground2BmpRect.Size(), EAspectRatioNotPreserved);
-    		AknIconUtils::SetSize(iForground2BmpMask, iForground2BmpRect.Size(), 
-                              EAspectRatioNotPreserved);
-    		                       
-    		/*CreateDimmedMaskL( iForground2DimBmpMask, iForground2BmpMask );
-    		AknIconUtils::SetSize(iForground2DimBmpMask, iForground2BmpRect.Size(), 
-                              EAspectRatioNotPreserved);*/
-    		}
-    	else
-	        {
-		    AknsUtils::CreateIconL(AknsUtils::SkinInstance(),
-		                           id2,
-		                           iForground2Bmp,
-		                           bmpFileName,
-		                           bmp2Id);
-		    AknIconUtils::SetSize(iForground2Bmp, iForground2BmpRect.Size(), EAspectRatioNotPreserved);
-	        }
-        }	
-	
-    if (!iFirstTimeConstruct)
-    	{
-    	Draw();
-    	}
-    
-    iFirstTimeConstruct = EFalse;    
-    }
-    
-// ---------------------------------------------------------------------------
-// CAknFepCtrlMultiImageButton::ConstructFromResourceL
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlMultiImageButton::ConstructFromResourceL()
-	{
-	if (iResourceId == KInvalidResId)
-		{
-        User::Leave(KErrArgument);
-		}
-	
-	if (!iFirstTimeConstruct)
-		{
-		// need to remove original bmp and maskbmp
-        DeleteForgroundRes();
-		}
-
-    TResourceReader reader;
-    CCoeEnv::Static()->CreateResourceReaderLC(reader, iResourceId);
-
-    TPtrC bmpFileName = reader.ReadTPtrC();    // Read the file name of the bmps
-    TInt32 imgMajorSkinId = reader.ReadInt32();
-    TInt colorGroup = reader.ReadInt16();
-    TAknsItemID id;
-	
-	// Get the image ids and mask ids from resource
-    TInt bmpId = reader.ReadInt16(); 
-    TInt bmpMskId = reader.ReadInt16();
-    
-    // Read skin item id
-    const TInt skinitemid = reader.ReadInt16();
-    id.Set(TInt(imgMajorSkinId), skinitemid);
-
-    if (bmpId != KInvalidBmp)
-    {
-	if (bmpMskId != KInvalidBmp)
-		{
-		if( colorGroup == KInvalidColorGroup )
-			{
-    		AknsUtils::CreateIconL(AknsUtils::SkinInstance(),
-                   id,
-                   iForground1Bmp,
-                   iForground1BmpMask,
-                   bmpFileName,
-                   bmpId,
-                   bmpMskId);	
-			}
-		else
-			{
-		    AknsUtils::CreateColorIconL( AknsUtils::SkinInstance(),
-                         id,
-                         KAknsIIDQsnIconColors,
-                         colorGroup,
-                         iForground1Bmp,
-                         iForground1BmpMask,
-                         bmpFileName,
-                         bmpId,
-                         bmpMskId,
-                         AKN_LAF_COLOR( 0 ) );   	
-			}
-
-    AknIconUtils::SetSize(iForground1Bmp, iForground1BmpRect.Size(), EAspectRatioNotPreserved);
-    AknIconUtils::SetSize(iForground1BmpMask, iForground1BmpRect.Size(), EAspectRatioNotPreserved);
-
-		/*CreateDimmedMaskL( iForground1DimBmpMask, 
-    					   iForground1BmpMask );   
- 		AknIconUtils::SetSize(iForground1DimBmpMask, iForground1BmpRect.Size(), EAspectRatioNotPreserved);*/
-		}
-    else
-        {
-	    AknsUtils::CreateIconL(AknsUtils::SkinInstance(),
-	                           id,
-	                           iForground1Bmp,
-	                           bmpFileName,
-	                           bmpId);
-	    AknIconUtils::SetSize(iForground1Bmp, iForground1BmpRect.Size(), EAspectRatioNotPreserved);
-        }
-    }
-
-
-
-
-
-
-
-
-
-
-
-
-    TAknsItemID id2;
-	
-	// Get the image ids and mask ids from resource
-    TInt bmp2Id = reader.ReadInt16(); 
-    TInt bmp2MskId = reader.ReadInt16();
-    
-    // Read skin item id
-    const TInt skinitem2id = reader.ReadInt16();
-    id2.Set(TInt(imgMajorSkinId), skinitem2id);
-
-    if (bmp2Id != KInvalidBmp)
-    {
-	if (bmp2MskId != KInvalidBmp)
-		{
-		if( colorGroup == KInvalidColorGroup )
-			{
-    		AknsUtils::CreateIconL(AknsUtils::SkinInstance(),
-                   id2,
-                   iForground2Bmp,
-                   iForground2BmpMask,
-                   bmpFileName,
-                   bmp2Id,
-                   bmp2MskId);	
-			}
-		else
-			{
-		    AknsUtils::CreateColorIconL( AknsUtils::SkinInstance(),
-                         id,
-                         KAknsIIDQsnIconColors,
-                         colorGroup,
-                         iForground2Bmp,
-                         iForground2BmpMask,
-                         bmpFileName,
-                         bmp2Id,
-                         bmp2MskId,
-                         AKN_LAF_COLOR( 0 ) );   	
-			}
-
-		AknIconUtils::SetSize(iForground2Bmp, iForground2BmpRect.Size(), EAspectRatioPreserved);
-		AknIconUtils::SetSize(iForground2BmpMask, iForground2BmpRect.Size(), EAspectRatioPreserved);
-
-		/*CreateDimmedMaskL( iForground2DimBmpMask, iForground2BmpMask );   
- 		AknIconUtils::SetSize(iForground2DimBmpMask, iForground2BmpRect.Size(), 
-                          EAspectRatioNotPreserved);*/
-		}
-    else
-        {
-	    AknsUtils::CreateIconL(AknsUtils::SkinInstance(),
-	                           id,
-	                           iForground2Bmp,
-	                           bmpFileName,
-	                           bmp2Id);
-	    AknIconUtils::SetSize(iForground2Bmp, iForground2BmpRect.Size(), EAspectRatioPreserved);
-        }
-    }
-
-
-
-
-
-
-    CleanupStack::PopAndDestroy(); // reader
-    
-    if (!iFirstTimeConstruct)
-    	{
-        //ResizeBitmaps(iForgroundBmpRect.Size());
-    	Draw();
-    	}
-
-    iFirstTimeConstruct = EFalse;    	
-	}
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlMultiImageButton::Draw
-// Draws UI
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlMultiImageButton::Draw()
-    {
-	if(!AbleToDraw())
-        return;
-    
-    CFbsBitGc* gc = static_cast<CFbsBitGc*>(BitGc());
-    
-    //mask bitmaps
-  	DrawOpaqueMaskBackground();  
-    TRect rect = Rect();        
-    TRect innerRect = rect;
-    innerRect.Shrink( 10, 10 );
-    
-    // ----- draw bitmaps -----
-    gc->Activate( BitmapDevice() );     
-   // gc->SetClippingRegion( &ValidClipRegion() );           
-    //gc->Clear(rect);
-    	
-		CFbsBitmap* bmpMask1 = NULL;
-		CFbsBitmap* bmpMask2 = NULL;
-	
-		// Draw background    
-		if( IsDimmed() ) // Dimmed state
-    	{
-		AknsDrawUtils::DrawFrame( AknsUtils::SkinInstance(), 
-		                         *gc, 
-		                         rect, 
-		                         innerRect,
-		                         iInactiveImgID,
-		                         KAknsIIDDefault );
-        if( iForground1DimBmpMask )
-    		{
-    		delete iForground1DimBmpMask;
-    		iForground1DimBmpMask = NULL;
-    		}		                         
-        TRAP_IGNORE(CreateDimmedMaskL( iForground1DimBmpMask, 
-    					   iForground1BmpMask ));
-		AknIconUtils::SetSize(iForground1DimBmpMask, iForground1BmpRect.Size(), 
-                              EAspectRatioNotPreserved);		                         
-		bmpMask1 = iForground1DimBmpMask;
-		
-		if( iForground2DimBmpMask )
-    		{
-    		delete iForground2DimBmpMask;
-    		iForground2DimBmpMask = NULL;
-    		}		                         
-		TRAP_IGNORE(CreateDimmedMaskL( iForground2DimBmpMask, 
-    					   iForground2BmpMask ));
-		AknIconUtils::SetSize(iForground2DimBmpMask, iForground2BmpRect.Size(), 
-                              EAspectRatioNotPreserved);
-		bmpMask2 = iForground2DimBmpMask;  
-    	}
-    else
-    	{
-		// Normal state or pressed state
-		TAknsItemID ImgID;
-		if (iHighlight)
-			{
-			ImgID = iPressedImgID;
-			}
-		else 
-			{
-			ImgID = /*iPressed*/PointerDown()? iPressedImgID : iNormalImgID;
-			}
-		
-		AknsDrawUtils::DrawFrame( AknsUtils::SkinInstance(), 
-	                     *gc, 
-	                     rect, 
-	                     innerRect,
-	                     ImgID,
-	                     KAknsIIDDefault ); 
-	    bmpMask1 = iForground1BmpMask;
-	    bmpMask2 = iForground2BmpMask;
-    	}
-    
-    // Draw forground
-		if( iForground1Bmp && iForground2Bmp)
-		{
-		TRect srcRect( TPoint( 0, 0 ), iForground1Bmp->SizeInPixels() );
-		if( bmpMask1 )
-			{
-			gc->BitBltMasked( iForground1BmpRect.iTl, 
-							  iForground1Bmp, 
-							  srcRect,
-							  bmpMask1,
-							  EFalse);
-			}
-		else
-			{
-			gc->BitBlt( iForground1BmpRect.iTl,
-						iForground1Bmp,
-						srcRect );	
-			}
-			
-		TRect src2Rect( TPoint( 0, 0 ), iForground2Bmp->SizeInPixels() );	
-		if( bmpMask2 )
-			{
-			gc->BitBltMasked( rect.iTl, //fix EVWG-7PKC6J. layout of 2nd foreground is determined by image itself, but not hard code.   
-							  iForground2Bmp, 
-							  src2Rect,
-							  bmpMask2,
-							  EFalse);
-			}
-		else
-			{
-			gc->BitBlt( rect.iTl, //fix EVWG-7PKC6J.
-						iForground2Bmp,
-						src2Rect );	
-			}		
-		}
-	
-    if (iText)
-        {
-        TAknLayoutText textLayout;
-        textLayout.LayoutText(Rect(), iTextFormat);
-        textLayout.DrawText(*gc, *iText);
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlMultiImageButton::ResizeBitmaps
-// This methods shall be called by the container's SizeChanged handler
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-void CAknFepCtrlMultiImageButton::ResizeBitmaps(TSize aInnerSize)
-    {
-    if( iForground1Bmp && ( iForground1Bmp->SizeInPixels() != aInnerSize ) )
-    	{
-    	AknIconUtils::SetSize( iForground1Bmp, aInnerSize, EAspectRatioNotPreserved );
-    	}
-    if( iForground1BmpMask && ( iForground1BmpMask->SizeInPixels() != aInnerSize ) )
-    	{
-    	AknIconUtils::SetSize( iForground1BmpMask, aInnerSize, EAspectRatioNotPreserved );
-    	}    
-    	
-    //TRAP_IGNORE(CreateDimmedMaskL(iForground1DimBmpMask, iForground1BmpMask));
-    				  
-    				  
-    				  
-    				  
-    if( iForground2Bmp && ( iForground2Bmp->SizeInPixels() != Rect().Size() ) )
-    	{
-    	AknIconUtils::SetSize( iForground2Bmp, Rect().Size(), EAspectRatioNotPreserved );
-    	}
-    if( iForground2BmpMask && ( iForground2BmpMask->SizeInPixels() != Rect().Size() ) )
-    	{
-    	AknIconUtils::SetSize( iForground2BmpMask, Rect().Size(), EAspectRatioNotPreserved );
-    	}    
-    	
-    //TRAP_IGNORE(CreateDimmedMaskL(iForground2DimBmpMask, iForground2BmpMask));    				  
-    }
-    
-// ---------------------------------------------------------------------------
-// CAknFepCtrlMultiImageButton::SizeChanged
-// This methods shall be called by the container's SizeChanged handler
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlMultiImageButton::SizeChanged(TRect aNewRect, 
-												   TRect aInnerRect, 
-												   TBool aIsReloadImages)
-    {
-    if (aNewRect.Size().iWidth == 0 || aNewRect.Size().iHeight == 0)
-        {
-   	    return;
-        }
-    
-    TRect oriRect = Rect();
-    SetRect(aNewRect);
-    iForground1BmpRect = aInnerRect;
-    iForground2BmpRect = aInnerRect;
-	
-    if (aIsReloadImages)
-        {
-        ResizeBitmaps(aInnerRect.Size() );	
-        }
-    RootControl()->ReDrawRect( oriRect );
-    UpdateArea(oriRect, EFalse);
-    Draw();
-    UpdateArea(Rect(), EFalse);
-    }
-    
-// ---------------------------------------------------------------------------
-// CAknFepCtrlMultiImageButton::DeleteForgroundRes
-// This methods shall be called by the container's SizeChanged handler
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-void CAknFepCtrlMultiImageButton::DeleteForgroundRes()
-	{
-    if( iForground1Bmp )
-		{
-		delete iForground1Bmp;
-		iForground1Bmp = NULL;
-		}
-	if( iForground1BmpMask )
-		{
-		delete iForground1BmpMask;
-		iForground1BmpMask = NULL;
-		}
-	if( iForground1DimBmpMask )
-		{
-		delete iForground1DimBmpMask;
-		iForground1DimBmpMask = NULL;
-		}
-	
-	
-    if( iForground2Bmp )
-		{
-		delete iForground2Bmp;
-		iForground2Bmp = NULL;
-		}
-	if( iForground2BmpMask )
-		{
-		delete iForground2BmpMask;
-		iForground2BmpMask = NULL;
-		}
-	if( iForground2DimBmpMask )
-		{
-		delete iForground2DimBmpMask;
-		iForground2DimBmpMask = NULL;
-		}	
-
-	}
-	
-// ---------------------------------------------------------------------------
-// CAknFepCtrlMultiImageButton::CreateDimmedMaskL
-// This methods shall be called by the container's SizeChanged handler
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//	
-void CAknFepCtrlMultiImageButton::CreateDimmedMaskL( CFbsBitmap*& aDimmedMask,
-                                        		 const CFbsBitmap* aMask
-                                        		 /*TScaleMode aScaleMode*/ )
-	{
-	    if (aMask && aMask->DisplayMode() == EGray256)
-	        {
-	        delete aDimmedMask;
-	        aDimmedMask = NULL;
-
-	        aDimmedMask = new (ELeave) CFbsBitmap;
-
-	        User::LeaveIfError(aDimmedMask->Create(aMask->SizeInPixels(), EGray256)); 
-	        CleanupStack::PushL(aDimmedMask);
-
-	        CFbsBitmapDevice* bitmapDevice = CFbsBitmapDevice::NewL(aDimmedMask);
-	        CleanupStack::PushL(bitmapDevice);
-
-	        CFbsBitGc* bitGc(NULL);
-	        User::LeaveIfError(bitmapDevice->CreateContext(bitGc));
-	        CleanupStack::PushL(bitGc);
-
-	        bitGc->SetPenStyle(CGraphicsContext::ESolidPen);
-	        bitGc->BitBlt(TPoint(0, 0), aMask);
-
-	        aDimmedMask->LockHeap();
-	        TInt w = aMask->SizeInPixels().iWidth; 
-	        TInt h = aMask->SizeInPixels().iHeight;
-	        TInt dataStride = aMask->DataStride() - w; 
-	        unsigned char* address = (unsigned char *)aDimmedMask->DataAddress();  
-
-	        for ( TInt i = 0; i < h; ++i )
-	            {
-	            for ( TInt j = 0; j < w; ++j )
-	                {
-	                *address = KTransparency[*address];
-	                ++address;
-	                }
-	            address += dataStride;         
-	            }
-
-	        aDimmedMask->UnlockHeap();
-
-	        //AknIconUtils::SetSize(aDimmedMask, aMask->SizeInPixels(), aScaleMode);
-
-	        CleanupStack::PopAndDestroy(2); // bitmapDevice, bitGc
-	        CleanupStack::Pop(1); // aDimmedMask
-	        }
-
-	}
-
-EXPORT_C void CAknFepCtrlMultiImageButton::Move(const TPoint& aOffset)
-    {
-    CButtonBase::Move(aOffset);
-    iForground1BmpRect.Move( aOffset );
-    iForground2BmpRect.Move( aOffset );
-    }
-
-//  End Of File
--- a/textinput/peninputcommonctrls/src/peninputbuttons/peninputrawkeybutton.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,189 +0,0 @@
-/*
-* 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:
-*
-*/
-
-// system includes
-#include <barsread.h>
-#include <peninputlayout.h>
-#include <AknIconUtils.h>
-#include <coemain.h>
-#include <AknsUtils.h>
-// user includes
-#include <peninputrawkeybutton.h>
-#include <peninputcommonctrls.hrh>
-
-const TInt KInvalidEventId = 0xffff;
-// ======== MEMBER FUNCTIONS ========
-
-CAknFepCtrlRawKeyButton* CAknFepCtrlRawKeyButton::NewL(CFepUiLayout* aUiLayout, 
-                                                       TInt aControlId, 
-                                                       TInt aDownEvent,
-                                                       TInt aUpEvent,
-                                                       TInt aScanCode)
-    { 
-    CAknFepCtrlRawKeyButton* self = NewLC(aUiLayout, 
-                                          aControlId, 
-                                          aDownEvent, 
-                                          aUpEvent,
-                                          aScanCode);
-    CleanupStack::Pop(self);
-    
-    return self;                        
-    }
-    
-CAknFepCtrlRawKeyButton* CAknFepCtrlRawKeyButton::NewLC(CFepUiLayout* aUiLayout, 
-                                                        TInt aControlId, 
-                                                        TInt aDownEvent,
-                                                        TInt aUpEvent,
-                                                        TInt aScanCode)
-    { 
-    CAknFepCtrlRawKeyButton* self = new (ELeave) CAknFepCtrlRawKeyButton(aUiLayout, 
-                                                                         aControlId,
-                                                                         aDownEvent,
-                                                                         aUpEvent,
-                                                                         aScanCode);
-    CleanupStack::PushL(self);
-    self->BaseConstructL();
-    return self;                      
-    }
-
-CAknFepCtrlRawKeyButton::CAknFepCtrlRawKeyButton(CFepUiLayout* aUiLayout, 
-                                                 TInt aControlId, 
-                                                 TInt aDownEvent,
-                                                 TInt aUpEvent,
-                                                 TInt aScanCode)
-    : CAknFepCtrlButton(aUiLayout, aControlId),
-      iDownEvent(aDownEvent),
-      iUpEvent(aUpEvent),
-      iScanCode(aScanCode)
-    {        
-    }
-
-CAknFepCtrlRawKeyButton::~CAknFepCtrlRawKeyButton()
-    {
-    }
-
-CFepUiBaseCtrl* CAknFepCtrlRawKeyButton::HandlePointerDownEventL(const TPoint& aPoint)
-    {
-    if (iDownEvent == KInvalidEventId)
-        {
-        return return CButtonBase::HandlePointerDownEventL(aPoint);
-        }
-    
-    if(iDimmed)
-        {
-        return NULL;
-        }
-    
-    CFepUiBaseCtrl::HandlePointerDownEventL(aPoint);
-    if(IsActive())
-        {
-        SetBackgroundBmp(iActiveBmpPressed);
-        SetBackgroundMaskBmp(iActiveMaskBmpPressed);
-        }        
-    else
-        {
-        SetBackgroundBmp(iNonActiveBkBmpPressed);
-        SetBackgroundMaskBmp(iNonActiveBkMaskBmpPressed);
-        }        
-
-    Draw();
-    UpdateArea(Rect(),EFalse);
-
-	TKeyEvent event= {0,0,0,0};
-    TPtrC eventDataPtr;
-    event.iScanCode = iScanCode;
-    eventDataPtr.Set(reinterpret_cast<TUint16*>(&event),sizeof(event));
-        
-    ReportEvent(iDownEvent,eventDataPtr);
-
-    return this;
-    }
-
-CFepUiBaseCtrl* CAknFepCtrlRawKeyButton::HandlePointerUpEventL(const TPoint& aPoint)
-    {
-    if (iUpEvent == KInvalidEventId)
-        {
-        return CButtonBase::HandlePointerUpEventL(aPoint);
-        }
-    
-    if(iDimmed)
-        {
-        return NULL;
-        }
-        
-    if(IsActive())
-        {
-        SetBackgroundBmp(Bitmap(EBtnBmpActive,EFalse));
-        SetBackgroundMaskBmp(Bitmap(EBtnBmpActive,ETrue));
-        }
-    else
-        {
-        SetBackgroundBmp(Bitmap(EBtnBmpNonActive,EFalse));
-        SetBackgroundMaskBmp(Bitmap(EBtnBmpNonActive,ETrue));
-        }
-
-    SetActive(ETrue);
-    Draw();
-    UpdateArea(Rect(),EFalse);    
-    
-	TKeyEvent event= {0,0,0,0};
-    TPtrC eventDataPtr;
-    event.iScanCode = iScanCode;
-    eventDataPtr.Set(reinterpret_cast<TUint16*>(&event),sizeof(event));
-
-    ReportEvent(iUpEvent,eventDataPtr);
-
-    return this;
-    }
-
-TInt CAknFepCtrlRawKeyButton::DownEvent() const
-    {                           
-    return iDownEvent;
-    }
-
-TInt CAknFepCtrlRawKeyButton::UpEvent() const
-    {                           
-    return iUpEvent;
-    }
-
-TInt CAknFepCtrlRawKeyButton::ScanCode() const
-    {             
-    return iScanCode;                                     
-    }
-
-void CAknFepCtrlRawKeyButton::SetDownEvent(TInt aEvent)
-    {               
-    iDownEvent = aEvent;
-    }
-
-void CAknFepCtrlRawKeyButton::SetUpEvent(TInt aEvent)
-    {               
-    iUpEvent = aEvent;
-    }
-
-void CAknFepCtrlRawKeyButton::SetScanCode(TInt aScanCode)
-    {                                                
-    iScanCode = aScanCode;  
-    }
-    
-void CAknFepCtrlRawKeyButton::Draw()
-    {
-    CAknFepCtrlButton::Draw();
-    }
-    
-   
-//  End Of File
\ No newline at end of file
--- a/textinput/peninputcommonctrls/src/peninputdropdownlist/peninputbitmapdb.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,370 +0,0 @@
-/*
-* 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:  bitmap db manager,which is used by drop down list
-*
-*/
-
-
-#include <e32base.h>
-#include <w32std.h>
-#include <fbs.h>
-#include <peninputlayoutbasecontrol.h>
-#include <peninputlayout.h>
-#include <aknenv.h>
-#include "peninputbitmapdb.h"
-
-const TUint32 KDefaultTextColor = 0x000000;
-const TUint32 KDefaultFrameColor = 0x000000;
-
-const TInt KInvalidBmp = -1;
-
-const TInt KTransparency[256] =
-    { 
-    0, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7,
-    8, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 13, 13,
-    14, 14, 14, 14, 15, 15, 15, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 19,
-    19, 19, 20, 20, 20, 20, 21, 21, 21, 22, 22, 22, 23, 23, 23, 23, 24, 24,
-    24, 25, 25, 25, 26, 26, 26, 26, 27, 27, 27, 28, 28, 28, 29, 29, 29, 29,
-    30, 30, 30, 31, 31, 31, 32, 32, 32, 32, 33, 33, 33, 34, 34, 34, 35, 35,
-    35, 35, 36, 36, 36, 37, 37, 37, 38, 38, 38, 38, 39, 39, 39, 40, 40, 40,
-    41, 41, 41, 41, 42, 42, 42, 43, 43, 43, 44, 44, 44, 44, 45, 45, 45, 46,
-    46, 46, 47, 47, 47, 47, 48, 48, 48, 49, 49, 49, 50, 50, 50, 50, 51, 51,
-    51, 52, 52, 52, 53, 53, 53, 53, 54, 54, 54, 55, 55, 55, 56, 56, 56, 56,
-    57, 57, 57, 58, 58, 58, 59, 59, 59, 59, 60, 60, 60, 61, 61, 61, 62, 62,
-    62, 62, 63, 63, 63, 64, 64, 64, 65, 65, 65, 65, 66, 66, 66, 67, 67, 67,
-    68, 68, 68, 68, 69, 69, 69, 70, 70, 70, 71, 71, 71, 71, 72, 72, 72, 73,
-    73, 73, 74, 74, 74, 74, 75, 75, 75, 76, 76, 76, 77, 77 
-    };
-
-// ======== MEMBER FUNCTIONS ========
-
-// Implementation of Class CBitmapDb 
-
-// -----------------------------------------------------------------------------
-// CBitmapDb::NewL
-// factory function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CBitmapDb* CBitmapDb::NewL(TResourceReader& aReader, 
-                           TSize aBitmapSize,
-                           TSize aExpandSize,
-                           TSize aSpinBtnSize)
-    {
-    CBitmapDb* self = new (ELeave) CBitmapDb();
-    CleanupStack::PushL(self);
-    self->ConstructL(aReader, 
-                     aBitmapSize,
-                     aExpandSize,
-                     aSpinBtnSize);
-    CleanupStack::Pop();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CBitmapDb::~CBitmapDb
-// destructor function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//    
-CBitmapDb::~CBitmapDb() 
-    {
-    // Delete all bitmap
-    iBmpList.ResetAndDestroy();
-    iBmpList.Close();    
-    }
-
-// -----------------------------------------------------------------------------
-// CBitmapDb::GetBitMap
-// get bitmap according to the assigned type
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//     
-const CFbsBitmap* CBitmapDb::GetBitMap(const TBitmapType aType)
-    {
-    // Return corresponding bitmap according aType 
-    return iBmpList[aType];
-    }
-        
-// -----------------------------------------------------------------------------
-// CBitmapDb::CreateIconL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CBitmapDb::CreateIconL(const TDesC& aBmpFileName,
-                            TAknsItemID aId,
-                            CFbsBitmap** aBmp,
-                            CFbsBitmap** aMaskBmp,
-                            TInt aBmpId,
-                            TInt aMaskBmpId,
-                            TSize aSize,
-                            TBool aColorIcon)
-    {
-    if (aBmpId != KInvalidBmp)
-        {
-        if (aMaskBmpId != KInvalidBmp)
-            {
-            if (aColorIcon)
-                {
-                AknsUtils::CreateColorIconL( AknsUtils::SkinInstance(),
-                             aId,
-                             KAknsIIDQsnIconColors,
-                             EAknsCIQsnIconColorsCG30,
-                             *aBmp,
-                             *aMaskBmp,
-                             aBmpFileName,
-                             aBmpId,
-                             aMaskBmpId,
-                             AKN_LAF_COLOR( 0 ) ); 
-                }
-            else
-                {
-                AknsUtils::CreateIconL(AknsUtils::SkinInstance(),
-                                       aId,
-                                       *aBmp,
-                                       *aMaskBmp,
-                                       aBmpFileName,
-                                       aBmpId,
-                                       aMaskBmpId);
-                }
-
-            AknIconUtils::SetSize(*aMaskBmp, aSize, EAspectRatioNotPreserved);
-            }
-        else
-            {
-            AknsUtils::CreateIconL(AknsUtils::SkinInstance(),
-                                   aId,
-                                   *aBmp,
-                                   aBmpFileName,
-                                   aBmpId);
-            }
-        
-        AknIconUtils::SetSize(*aBmp, aSize, EAspectRatioNotPreserved);    
-        }
-    }
-
-void CBitmapDb::ConstructFromResourceL(TResourceReader& aReader, 
-                                       TSize aBitmapSize,
-                                       TSize aExpandSize,
-                                       TSize aSpinBtnSize)
-    {
-    for (TInt i = 0; i < EBitmapLastType + 1; ++i)
-        {
-        delete iBmpList[i];
-        iBmpList[i] = NULL;
-        }
-
-    // Read mbm file name from the aReader
-    TPtrC bmpFile = aReader.ReadTPtrC();
-    TInt imgMajorSkinId = aReader.ReadInt32();
-
-    TAknsItemID id;
-
-    for (TInt i = 0; i < EBitmapLastType + 1; i+=2)
-        {
-        TInt bmpId = aReader.ReadInt16();
-        TInt maskId = aReader.ReadInt16();
-        TInt minorSkinId = aReader.ReadInt16();
-        
-        TSize bmpsize = aBitmapSize;
-        
-        if ((i >= EBitmapNextDisable && i < EBitmapNextPressMask) ||
-            (i >= EBitmapPrevious && i < EBitmapPreviousPressMask))
-            {
-            bmpsize = aSpinBtnSize;
-            }
-        else if (i >= EBitmapExpand && i < EBitmapExpandPressMask)
-            {
-            bmpsize = aExpandSize;
-            }
-            
-        id.Set(imgMajorSkinId, minorSkinId);
-        
-        TBool colorIcon;
-        if ( i == EBitmapNext || i == EBitmapNextMask ||
-             i == EBitmapClose || i == EBitmapCloseMask ||
-             i == EBitmapPrevious || i == EBitmapPreviousMask ||
-             i == EBitmapExpand || i == EBitmapExpandMask)
-            {
-            colorIcon = ETrue;
-            }
-        else
-            {
-            colorIcon = EFalse;
-            }
-        
-        CreateIconL(bmpFile,
-                    id,
-                    &(iBmpList[i]),
-                    &(iBmpList[i+1]),
-                    bmpId,
-                    maskId,
-                    bmpsize,
-                    colorIcon);
-        
-        if( i == EBitmapNextDisable )
-        	{
-        	CFbsBitmap* newMask = NULL;
-        	CreateDimmedMaskL( newMask, iBmpList[i+1]);
-        	delete iBmpList[i+1];
-        	iBmpList[i+1] = newMask;
-        	}
-        }
-    
-    TInt colorMajorSkinId = aReader.ReadInt32();
-    TInt skinitemid = aReader.ReadInt16();
-    TInt textcoloridx = aReader.ReadInt16();
-    
-    id.Set(colorMajorSkinId, skinitemid);
-    TInt error = AknsUtils::GetCachedColor(AknsUtils::SkinInstance(),
-                                           iTextColor,
-                                           id,
-                                           textcoloridx);
-
-    if (error != KErrNone)
-        {
-    	iTextColor = TRgb(KDefaultTextColor);
-        }
-        
-    TInt frameMajorSkinId = aReader.ReadInt32();
-    skinitemid = aReader.ReadInt16();
-    TInt framecoloridx = aReader.ReadInt16();
-    
-    id.Set(frameMajorSkinId, skinitemid);
-    error = AknsUtils::GetCachedColor(AknsUtils::SkinInstance(),
-                                      iFrameColor,
-                                      id,
-                                      framecoloridx);
-    
-    if (error != KErrNone)
-        {
-    	iFrameColor = TRgb(KDefaultFrameColor);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CBitmapDb::ConstructL
-// 2nd construct function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CBitmapDb::ConstructL(TResourceReader& aReader, 
-                           TSize aBitmapSize,
-                           TSize aExpandSize,
-                           TSize aSpinBtnSize)
-    {
-    for (TInt i = 0; i < EBitmapLastType + 1; ++i)
-        {
-        iBmpList.AppendL(NULL);
-        }
-
-    ConstructFromResourceL(aReader, 
-                           aBitmapSize,
-                           aExpandSize,
-                           aSpinBtnSize);
-    }
-    
-// -----------------------------------------------------------------------------
-// CBitmapDb::TextColor
-// Get text color of drop down list
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TRgb CBitmapDb::TextColor()
-    {
-    return iTextColor;
-    }
-
-// -----------------------------------------------------------------------------
-// CBitmapDb::FrameColor
-// Get frame color of drop down list
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TRgb CBitmapDb::FrameColor()
-    {
-	return iFrameColor;
-    }
-// ---------------------------------------------------------------------------
-// CBitmapDb::CreateDimmedMaskL
-// This methods shall be called by the container's SizeChanged handler
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//	
-void CBitmapDb::CreateDimmedMaskL( CFbsBitmap*& aDimmedMask,
-                                        		 const CFbsBitmap* aMask
-                                        		 /*TScaleMode aScaleMode*/ )
-	{
-	    if (aMask && aMask->DisplayMode() == EGray256)
-	        {
-	        delete aDimmedMask;
-	        aDimmedMask = NULL;
-
-	        aDimmedMask = new (ELeave) CFbsBitmap;
-
-	        User::LeaveIfError(aDimmedMask->Create(aMask->SizeInPixels(), EGray256)); 
-	        CleanupStack::PushL(aDimmedMask);
-
-	        CFbsBitmapDevice* bitmapDevice = CFbsBitmapDevice::NewL(aDimmedMask);
-	        CleanupStack::PushL(bitmapDevice);
-
-	        CFbsBitGc* bitGc(NULL);
-	        User::LeaveIfError(bitmapDevice->CreateContext(bitGc));
-	        CleanupStack::PushL(bitGc);
-
-	        bitGc->SetPenStyle(CGraphicsContext::ESolidPen);
-	        bitGc->BitBlt(TPoint(0, 0), aMask);
-
-	        aDimmedMask->LockHeap();
-	        TInt w = aMask->SizeInPixels().iWidth; 
-	        TInt h = aMask->SizeInPixels().iHeight;
-	        TInt dataStride = aMask->DataStride() - w; 
-	        unsigned char* address = (unsigned char *)aDimmedMask->DataAddress();  
-
-	        for ( TInt i = 0; i < h; ++i )
-	            {
-	            for ( TInt j = 0; j < w; ++j )
-	                {
-	                *address = KTransparency[*address];
-	                ++address;
-	                }
-	            address += dataStride;         
-	            }
-
-	        aDimmedMask->UnlockHeap();
-
-	        //AknIconUtils::SetSize(aDimmedMask, aMask->SizeInPixels(), aScaleMode);
-
-	        CleanupStack::PopAndDestroy(2); // bitmapDevice, bitGc
-	        CleanupStack::Pop(1); // aDimmedMask
-	        }
-
-	}
-	
-void CBitmapDb::SizeChanged(TSize aSize)
-	{
-	for (TInt i = 0; i < iBmpList.Count(); i++)
-		{
-		AknIconUtils::SetSize(iBmpList[i], aSize, EAspectRatioNotPreserved);
-		}
-	// dimmed mask can't use AknIconUtils::SetSize change its size.
-	if( iBmpList[EBitmapNextDisableMask] && iBmpList[EBitmapNextMask] )
-		{
-		CFbsBitmap* newMask = NULL;
-		TRAP_IGNORE(CreateDimmedMaskL( newMask, iBmpList[EBitmapNextMask]));
-		delete iBmpList[EBitmapNextDisableMask];
-		iBmpList[EBitmapNextDisableMask] = newMask;		
-		}
-	}
-// End Of File
--- a/textinput/peninputcommonctrls/src/peninputdropdownlist/peninputcandidate.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,334 +0,0 @@
-/*
-* 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:   candidate stands for every cell in drop down list
-*
-*/
-
-
-#include <gdi.h>
-#include <e32base.h>
-#include <w32std.h>
-#include <biditext.h> 
-
-#include "peninputcandidate.h"
-#include "peninputdropdownlist.h"
-
-_LIT(KEllipsis, "\x2026");
-
-// ======== MEMBER FUNCTIONS ========
-
-// Implementation of Class CCandidate 
-
-CCandidate* CCandidate::NewL(const TDesC& aString,
-                             MFepCtrlDropdownListContext* aOwner)
-    {
-    CCandidate* self = new (ELeave) CCandidate(aString, aOwner);  // Q: is here will call ctor of base class?
-    CleanupStack::PushL(self);
-    self->ConstructL(); 
-    CleanupStack::Pop();
-    return self;
-    }
-    
-void CCandidate::ConstructL()
-    {
-    iDisplayText = iCandidate.AllocL();
-    }
-
-// -----------------------------------------------------------------------------
-// CCandidate::CCandidate
-// construct function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CCandidate::CCandidate(const TDesC& aString, MFepCtrlDropdownListContext* aOwner)
-: iCandidate(aString),iBaselineOffset(0), iOwner(aOwner)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CCandidate::~CCandidate
-// destructor function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CCandidate::~CCandidate() 
-    {
-    delete iDisplayText;
-    }
-
-// -----------------------------------------------------------------------------
-// CCandidate::GetCandidate
-// get candidate string
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TDesC& CCandidate::GetCandidate()
-    {
-    return iCandidate;
-    }
-
-// -----------------------------------------------------------------------------
-// CCandidate::GetRect
-// get rect of the candidate
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TRect& CCandidate::GetRect() const
-    {
-    return iRect;
-    }
-
-// -----------------------------------------------------------------------------
-// CCandidate::Move
-// move rect of the candidate
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CCandidate::Move(const TPoint& aOffsetPoint)
-    {
-    iRect.Move(aOffsetPoint);
-    }
-    
-// -----------------------------------------------------------------------------
-// CCandidate::SetPosition
-// set position for the candidate
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CCandidate::SetPositionL(const TPoint& aLeftTopPosition, 
-                              TInt aWidthForOneUnit, 
-                              TInt aHeight, 
-                              const CFont* aTextFont,
-                              TInt aCellHorizontalMargin)
-    {
-    iTextFont = aTextFont;
-    
-    // Calculate base line offset
-    iBaselineOffset = aHeight/2 + aTextFont->AscentInPixels()/2 ; 
-    
-    // Calculate the cell for the candidate
-    //const TInt cellCount = CalculateCells(aWidthForOneUnit, aTextFont);
-    const TInt cellCount = CalculateDisplayTextL(aWidthForOneUnit, aTextFont, iOwner->GetColNum());
-
-    // modified by txin
-    // original:
-    /*
-    iRect.iBr = aLeftTopPosition;
-    
-    iRect.SetRect(aLeftTopPosition, 
-                  TSize(cellCount * aWidthForOneUnit + (cellCount - 1) * aCellHorizontalMargin,
-                        aHeight));
-    */
-    // if owner's horizontal direction is RToL, then aLeftTopPosition actually mean RightTop pos
-    TInt candHDir = iOwner->CandHDirection();
-    TSize candSize = TSize(cellCount * aWidthForOneUnit + (cellCount - 1) * aCellHorizontalMargin,
-                           aHeight);
-    (candHDir == CFepCtrlDropdownList::ECandFromLToR) ?
-        iRect.SetRect(aLeftTopPosition, candSize) : 
-        iRect.SetRect(TPoint(aLeftTopPosition.iX - candSize.iWidth, aLeftTopPosition.iY), candSize);
-    // end modify
-
-    return cellCount;
-    }
-
-// -----------------------------------------------------------------------------
-// CCandidate::DrawText
-// draw text of the candidate
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CCandidate::DrawText(CFbsBitGc& aGc, const CGraphicsContext::TTextAlign aAlignment, 
-                          const TInt aTextMargin, TRgb aTextColor, 
-                          TRgb aSpecialTextColor, const TDesC& aFixedText)
-    {
-    
-    aGc.SetBrushStyle(CGraphicsContext::ENullBrush);
-    if ( aFixedText.Length() == 0 )    
-        {
-        // If fixed text has no any data
-        aGc.SetPenColor(aTextColor);
-        if(TBidiText::TextDirectionality( *iDisplayText ) == TBidiText:: ERightToLeft)
-            {
-            // If find the fixed text in the candidate and the index is equal to 0
-            TInt posX = 0;
-            if(!iTextFont)
-                {
-                iTextFont = iOwner->GetFont();
-                }
-            if ( aAlignment == CGraphicsContext::ECenter )
-                {
-                posX = iRect.iTl.iX + 
-                       (iRect.Width() - iTextFont->TextWidthInPixels(*iDisplayText)) / 2;
-                }
-            else  if ( aAlignment == CGraphicsContext::ELeft )
-                {
-                posX = iRect.iTl.iX + aTextMargin;
-                }
-            else if ( aAlignment == CGraphicsContext::ERight )
-                {
-                posX = iRect.iTl.iX + iRect.Width() - 
-                       iTextFont->TextWidthInPixels(*iDisplayText) - aTextMargin;
-                }
-            
-            CGraphicsContext::TDrawTextExtendedParam param;
-            param.iParRightToLeft = ETrue;
-            aGc.DrawTextExtended(*iDisplayText, TPoint(posX,iRect.iTl.iY + iBaselineOffset), param);            
-            }
-        else
-            {
-            aGc.DrawText( *iDisplayText, iRect, iBaselineOffset, aAlignment);
-            }
-        }
-    else
-        {
-        if ( iCandidate.Find(aFixedText) == 0 )
-            {
-            // If find the fixed text in the candidate and the index is equal to 0
-            TInt posX = 0;
-            if(!iTextFont)
-                {
-                iTextFont = iOwner->GetFont();
-                }            
-            if ( aAlignment == CGraphicsContext::ECenter )
-                {
-                posX = iRect.iTl.iX + 
-                       (iRect.Width() - iTextFont->TextWidthInPixels(iCandidate)) / 2;
-                }
-            else  if ( aAlignment == CGraphicsContext::ELeft )
-                {
-                posX = iRect.iTl.iX + aTextMargin;
-                }
-            else if ( aAlignment == CGraphicsContext::ERight )
-                {
-                posX = iRect.iTl.iX + iRect.Width() - 
-                       iTextFont->TextWidthInPixels(iCandidate) - aTextMargin;
-                }
-            
-            
-            // Draw Fixed text
-            aGc.SetPenColor(aTextColor);
-            aGc.DrawText(aFixedText, TPoint(posX,iRect.iTl.iY + iBaselineOffset));
-            
-            // Snatch the special text
-            TPtrC buf = iCandidate.Mid(aFixedText.Length());      
-            
-            // Set X position for the special text
-            posX = posX + iTextFont->TextWidthInPixels(aFixedText);
-            
-            // Draw special text
-            aGc.SetPenColor(aSpecialTextColor);
-            aGc.DrawText(buf, TPoint(posX, iRect.iTl.iY + iBaselineOffset));
-            }
-        else
-            {
-            aGc.SetPenColor(aTextColor);
-            if(TBidiText::TextDirectionality( iCandidate ) == TBidiText:: ERightToLeft)
-                {
-                // If find the fixed text in the candidate and the index is equal to 0
-                TInt posX = 0;
-                if(!iTextFont)
-                    {
-                    iTextFont = iOwner->GetFont();
-                    }                
-                if ( aAlignment == CGraphicsContext::ECenter )
-                    {
-                    posX = iRect.iTl.iX + 
-                           (iRect.Width() - iTextFont->TextWidthInPixels(iCandidate)) / 2;
-                    }
-                else  if ( aAlignment == CGraphicsContext::ELeft )
-                    {
-                    posX = iRect.iTl.iX + aTextMargin;
-                    }
-                else if ( aAlignment == CGraphicsContext::ERight )
-                    {
-                    posX = iRect.iTl.iX + iRect.Width() - 
-                           iTextFont->TextWidthInPixels(iCandidate) - aTextMargin;
-                    }
-                
-                CGraphicsContext::TDrawTextExtendedParam param;
-                param.iParRightToLeft = ETrue;
-                aGc.DrawTextExtended(iCandidate, TPoint(posX,iRect.iTl.iY + iBaselineOffset), param);            
-                }
-            else
-                {
-                aGc.DrawText( iCandidate, iRect, iBaselineOffset, CGraphicsContext::ECenter);
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CCandidate::CalculateCells
-// calculate the cell for the candidate
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CCandidate::CalculateCells(const TInt aWidthForOneUnit, 
-                                const CFont* aTextFont,
-                                const TDesC& aText)
-    {
-    const TInt width = aTextFont->TextWidthInPixels(aText) + 2 * iOwner->GetTextMargin();
-
-    if (width <= aWidthForOneUnit)
-        {
-        return 1;
-        }
-    
-    return (width + aWidthForOneUnit + 
-     iOwner->GetCellHorizontalMargin() - 1)/(aWidthForOneUnit + iOwner->GetCellHorizontalMargin());
-    }
-    
-TInt CCandidate::CalculateDisplayTextL(const TInt aWidthForOneUnit, 
-                                       const CFont* aTextFont,
-                                       TInt aColNum)
-    {
-    TInt cellcnt = CalculateCells(aWidthForOneUnit, aTextFont, *iDisplayText);
-    
-    if (cellcnt <= aColNum)
-        {
-        return cellcnt;
-        }
-
-    TPtr ptr = iDisplayText->Des();
-
-    if (iOwner->CandTruncateType() == CFepCtrlDropdownList::ECandTruncateFromBeginning)
-        {
-        while (cellcnt > aColNum && ptr.Length() > 0)
-            {
-            ptr.Delete(0, 1);
-            cellcnt = CalculateCells(aWidthForOneUnit, aTextFont, ptr);
-            }
-        }
-    else if (iOwner->CandTruncateType() == CFepCtrlDropdownList::ECandTruncateAsEllipsis)
-        {
-        while (cellcnt > aColNum && ptr.Length() > 1)
-            {
-            ptr.Delete(ptr.Length()-2, 2);
-            ptr.Append(KEllipsis);
-            cellcnt = CalculateCells(aWidthForOneUnit, aTextFont, ptr);
-            }
-        }
-    else if (iOwner->CandTruncateType() == CFepCtrlDropdownList::ECandTruncateFromEnd)
-        {
-        while (cellcnt > aColNum && ptr.Length() > 0)
-            {
-            ptr.Delete(ptr.Length()-1, 1);
-            cellcnt = CalculateCells(aWidthForOneUnit, aTextFont, ptr);
-            }
-        }
-        
-    return cellcnt;    
-    }
-
-// End Of File
--- a/textinput/peninputcommonctrls/src/peninputdropdownlist/peninputdropdownlist.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2292 +0,0 @@
-/*
-* 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:  drop-down list control
-*
-*/
-
-
-// INCLUDE FILES
-
-
-#include "peninputlistmanager.h"
-#include "peninputbitmapdb.h"
-#include "peninputcandidate.h"
-#include "peninputpages.h"
-#include "peninputlayoutbubblectrl.h"
-
-// added by txin
-//#include "peninputlistmultirowrollwithicon.h"
-// end
-#include "peninputlist.h"
-#include <peninputlayoutrootctrl.h>
-#include <peninputlayoutbasecontrol.h>
-#include <peninputlayout.h>
-#include <peninputdropdownlist.h>
-#include <coemain.h>
-#include <AknUtils.h>
-
-// constant definition
-const TInt32 KInvalidResId = -1;
-
-// added by txin
-const TInt KInvalidCandIndex = -1;
-// end adding
-
-const TInt KPreviewBubbleOffset = 20;
-
-// ======== MEMBER FUNCTIONS ========
-
-// Implementation of Class CFepCtrlDropdownList 
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::NewL
-// factory function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CFepCtrlDropdownList* CFepCtrlDropdownList::NewL( const TPoint& aTopLeftPoint,
-                                                           CFepUiLayout* aUiLayout,
-                                                           TInt aControlId,
-                                                           TResourceReader& aReader,
-                                                           const TInt aCellWidth,
-                                                           const TInt aCellHeight,
-                                                           const TInt aNaviWidth,
-                                                           const TInt aColNum,
-                                                           const TInt aRowNum,
-                                                           const CFont* aFont,
-                                                           MListEventHandler* aHandler,
-                                                           const CGraphicsContext::TTextAlign aAlignment,
-                                                           const TInt aTextMargin,
-                                                           const TRgb aBorderColor,
-                                                           const TRgb aBgColor,
-                                                           const TRgb aNavigationBgColor,
-                                                           const TRgb aTextColor,
-                                                           const TRgb aSpecialTextColor,
-                                                           const TRgb aHighLightTextColor,
-                                                           const TRgb aHighLightBgColor,
-                                                           const TRgb aButtonDownBgColor )
-    {
-    CFepCtrlDropdownList* self = NewLC(aTopLeftPoint,
-                                       aUiLayout,
-                                       aControlId,
-                                       aReader,
-                                       aCellWidth,
-                                       aCellHeight,
-                                       aNaviWidth,
-                                       aColNum,
-                                       aRowNum,
-                                       aFont,
-                                       aHandler,
-                                       aAlignment,
-                                       aTextMargin,                                       
-                                       aBorderColor,
-                                       aBgColor,
-                                       aNavigationBgColor,
-                                       aTextColor,
-                                       aSpecialTextColor,
-                                       aHighLightTextColor,
-                                       aHighLightBgColor,
-                                       aButtonDownBgColor);
-    CleanupStack::Pop();
-    return self;  
-    } 
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::NewLC
-// factory function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-
-EXPORT_C CFepCtrlDropdownList* CFepCtrlDropdownList::NewLC(const TPoint& aTopLeftPoint,
-                                                           CFepUiLayout* aUiLayout,
-                                                           TInt aControlId,
-                                                           TResourceReader& aReader,
-                                                           const TInt aCellWidth,
-                                                           const TInt aCellHeight,
-                                                           const TInt aNaviWidth,
-                                                           const TInt aColNum,
-                                                           const TInt aRowNum,
-                                                           const CFont* aFont,
-                                                           MListEventHandler* aHandler,
-                                                     const CGraphicsContext::TTextAlign aAlignment,
-                                                           const TInt aTextMargin,
-                                                           const TRgb aBorderColor,
-                                                           const TRgb aBgColor,
-                                                           const TRgb aNavigationBgColor,
-                                                           const TRgb aTextColor,
-                                                           const TRgb aSpecialTextColor,
-                                                           const TRgb aHighLightTextColor,
-                                                           const TRgb aHighLightBgColor,
-                                                           const TRgb aButtonDownBgColor)
-    {
-    CFepCtrlDropdownList* self = new (ELeave) CFepCtrlDropdownList(aTopLeftPoint,
-                                                                  aUiLayout,
-                                                                  aControlId,
-                                                                  aCellWidth,
-                                                                  aCellHeight,
-                                                                  aNaviWidth,
-                                                                  aColNum,
-                                                                  aRowNum,
-                                                                  aFont,
-                                                                  aHandler,
-                                                                  aAlignment,
-                                                                  aTextMargin,
-                                                                  aBorderColor,
-                                                                  aBgColor,
-                                                                  aNavigationBgColor,
-                                                                  aTextColor,
-                                                                  aSpecialTextColor,
-                                                                  aHighLightTextColor,
-                                                                  aHighLightBgColor,
-                                                                  aButtonDownBgColor);
-    CleanupStack::PushL(self);
-    self->ConstructL(aTopLeftPoint,aReader);
-    return self;  
-    } 
-    
-// txin
-EXPORT_C CFepCtrlDropdownList* CFepCtrlDropdownList::NewL(CFepUiLayout* aUiLayout,
-                                                          TInt aControlId,
-                                                          TInt aResId,
-                                                          TPoint aTopLeftPoint,
-                                                          TSize aCellSize,
-                                                          TInt aColNum,
-                                                          TInt aRowNum)
-    {
-    CFepCtrlDropdownList* self = new (ELeave) CFepCtrlDropdownList(aUiLayout,
-                                                                   aControlId,
-                                                                   aTopLeftPoint,
-                                                                   aCellSize,
-                                                                   aColNum,
-                                                                   aRowNum);
-    CleanupStack::PushL(self);
-    self->ConstructL(aTopLeftPoint, aResId);
-    CleanupStack::Pop(self);
-    return self;
-    }
-    
-EXPORT_C CFepCtrlDropdownList* CFepCtrlDropdownList::NewL(CFepUiLayout* aUiLayout,
-                                                          TInt aControlId,
-                                                          TInt aResId,
-                                                          TPoint aTopLeftPoint,
-                                                          const CFont* aFont,
-                                                          TSize aCellSize,
-                                                          TInt aNaviWidth,
-                                                          TInt aColNum,
-                                                          TInt aRowNum,
-                                                          TInt aSpinBtnHeight,
-                                                          TInt aHorizontalCellMargin,
-                                                          TInt aVerticalCellMargin,
-                                                          THDirection aDirection,
-                                                          TBool aPageShown)
-    {
-    CFepCtrlDropdownList* self = new (ELeave) CFepCtrlDropdownList(aUiLayout,
-                                                                   aControlId,
-                                                                   aResId,
-                                                                   aTopLeftPoint,
-                                                                   aFont,
-                                                                   aCellSize,
-                                                                   aNaviWidth,
-                                                                   aColNum,
-                                                                   aRowNum,
-                                                                   aSpinBtnHeight,
-                                                                   aHorizontalCellMargin,
-                                                                   aVerticalCellMargin,
-                                                                   aDirection,
-                                                                   aPageShown);
-    CleanupStack::PushL(self);
-    self->ConstructL(aTopLeftPoint, aResId);
-    CleanupStack::Pop(self);
-    return self;
-    }
-    
-    
-// end
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::CFepCtrlDropdownList
-// construtor function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-CFepCtrlDropdownList::CFepCtrlDropdownList(const TPoint& aTopLeftPoint,
-                                           CFepUiLayout* aUiLayout,
-                                           TInt aControlId,                           
-                                           const TInt aCellWidth,
-                                           const TInt aCellHeight,
-                                           const TInt aNaviWidth,                               
-                                           const TInt aColNum,
-                                           const TInt aRowNum,
-                                           const CFont* aFont,
-                                           MListEventHandler* aHandler,
-                                           const CGraphicsContext::TTextAlign aAlignment,
-                                           const TInt aTextMargin,
-                                           const TRgb aBorderColor,
-                                           const TRgb aBgColor,
-                                           const TRgb aNavigationBgColor,
-                                           const TRgb aTextColor,
-                                           const TRgb aSpecialTextColor,
-                                           const TRgb aHighLightTextColor,
-                                           const TRgb aHighLightBgColor,
-                                           const TRgb aButtonDownBgColor)
-    : CFepUiBaseCtrl(TRect(), aUiLayout, aControlId),
-    iEnableSecondary(EFalse),
-    iFirstCandidateIndex(0),
-    iLastCandidateIndex(0),
-    iFont(aFont), iCellWidth(aCellWidth), iCellHeight(aCellHeight), iNaviWidth(aNaviWidth),
-    iSpinBtnHeight(aCellHeight), 
-    iCellHorizontalMargin(0),
-    iCellVerticalMargin(0),
-    iOriginalCandIdx(KInvalidCandIndex),
-    iOriginalFirstCandIdx(KInvalidCandIndex),
-    iUpdateListReDraw(ETrue),
-    iAlignment(aAlignment), iTextMargin(aTextMargin), iColNum(aColNum), iRowNum(aRowNum), 
-    iBorderColor(aBorderColor), iBgColor(aBgColor), iNavigationBgColor(aNavigationBgColor),
-    iTextColor(aTextColor), iSpecialTextColor(aSpecialTextColor), 
-    iHighLightTextColor(aHighLightTextColor),
-    iHighLightBgColor(aHighLightBgColor), iButtonDownBgColor(aButtonDownBgColor), 
-    iTopLeftPoint(aTopLeftPoint), 
-    iEventIdForCandidateSelected(-1),
-    iEventIdForNextPageCandidate(-1),
-    iEventIdForPreviousPageCandidate(-1),
-    iEventIdForCandidateExisted(-1),
-    iListEventHandler(aHandler), iFirstTimeConstruct(ETrue), iListType(EListNoExpandable), 
-    iFuzzyBoundry(0),
-    iCandExpandType(ECandExpandDownward),
-    iCandHDirection(ECandFromLToR),
-    iPageCtrlShown(ETrue)
-    {
-    SetControlType(KDropDownListCtrlType);
-    }
-
-// txin
-CFepCtrlDropdownList::CFepCtrlDropdownList(CFepUiLayout* aUiLayout,
-                                           TInt aControlId,
-                                           TPoint aTopLeftPoint,
-                                           TSize aCellSize,
-                                           TInt aColNum,
-                                           TInt aRowNum)
-    : CFepUiBaseCtrl(TRect(), aUiLayout, aControlId),
-    iEnableSecondary(EFalse),
-    iFirstCandidateIndex(0),
-    iLastCandidateIndex(0),
-    iCellWidth(aCellSize.iWidth), iCellHeight(aCellSize.iHeight), iNaviWidth(iCellWidth),
-    iSpinBtnHeight(iCellHeight), 
-    iCellHorizontalMargin(0),
-    iCellVerticalMargin(0),
-    iOriginalCandIdx(KInvalidCandIndex),
-    iOriginalFirstCandIdx(KInvalidCandIndex),
-    iUpdateListReDraw(ETrue),
-    iAlignment(CGraphicsContext::ECenter), iTextMargin(3), iColNum(aColNum), iRowNum(aRowNum), 
-    iBorderColor(KRgbBlack), iBgColor(TRgb(0xeeeeee)), iNavigationBgColor(TRgb(0xeeeeee)),
-    iTextColor(KRgbBlack), iSpecialTextColor(KRgbBlack), iHighLightTextColor(KRgbBlack),
-    iHighLightBgColor(TRgb(0xcccccc)), iButtonDownBgColor(KRgbGray), iTopLeftPoint(aTopLeftPoint), 
-    iEventIdForCandidateSelected(-1),
-    iEventIdForNextPageCandidate(-1),
-    iEventIdForPreviousPageCandidate(-1),
-    iEventIdForCandidateExisted(-1),
-    iFirstTimeConstruct(ETrue), iListType(EListNoExpandable), 
-    iFuzzyBoundry(0),
-    iCandExpandType(ECandExpandDownward),
-    iCandHDirection(ECandFromLToR),
-    iPageCtrlShown(ETrue)
-    {
-    SetControlType(KDropDownListCtrlType);
-    }
-
-CFepCtrlDropdownList::CFepCtrlDropdownList(CFepUiLayout* aUiLayout,
-                         TInt aControlId,
-                         TInt /*aResId*/,
-                         TPoint aTopLeftPoint,
-                         const CFont* /*aFont*/,
-                         TSize aCellSize,
-                         TInt aNaviWidth,
-                         TInt aColNum,
-                         TInt aRowNum,
-                         TInt aSpinBtnHeight,
-                         TInt aHorizontalCellMargin,
-                         TInt aVerticalCellMargin,
-                                               THDirection aDirection,
-                                               TBool aPageShown)
-    : CFepUiBaseCtrl(TRect(), aUiLayout, aControlId),
-    iEnableSecondary(EFalse),
-    iFirstCandidateIndex(0),
-    iLastCandidateIndex(0),
-    iCellWidth(aCellSize.iWidth), iCellHeight(aCellSize.iHeight), iNaviWidth(aNaviWidth),
-    iSpinBtnHeight(aSpinBtnHeight), 
-    iCellHorizontalMargin(aHorizontalCellMargin),
-    iCellVerticalMargin(aVerticalCellMargin),
-    iOriginalCandIdx(KInvalidCandIndex),
-    iOriginalFirstCandIdx(KInvalidCandIndex),
-    iUpdateListReDraw(ETrue),
-    iAlignment(CGraphicsContext::ECenter), iTextMargin(3), iColNum(aColNum), iRowNum(aRowNum), 
-    iBorderColor(KRgbBlack), iBgColor(TRgb(0xeeeeee)), iNavigationBgColor(TRgb(0xeeeeee)),
-    iTextColor(KRgbBlack), iSpecialTextColor(KRgbBlack), iHighLightTextColor(KRgbBlack),
-    iHighLightBgColor(TRgb(0xcccccc)), iButtonDownBgColor(KRgbGray), iTopLeftPoint(aTopLeftPoint), 
-    iEventIdForCandidateSelected(-1),
-    iEventIdForNextPageCandidate(-1),
-    iEventIdForPreviousPageCandidate(-1),
-    iEventIdForCandidateExisted(-1),
-    iFirstTimeConstruct(ETrue), iListType(EListNoExpandable), 
-    iFuzzyBoundry(0),
-    iCandExpandType(ECandExpandDownward),
-    iCandHDirection(aDirection),
-    iPageCtrlShown(aPageShown)
-    {
-    SetControlType(KDropDownListCtrlType);
-    }
-
-// end
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::ConstructL
-// 2nd construct function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CFepCtrlDropdownList::ConstructL(const TPoint& aTopLeftPoint, TResourceReader& aReader)
-    {
-    BaseConstructL();
-
-    iBitmapDb = CBitmapDb::NewL(aReader, 
-                                TSize(iCellWidth, iCellHeight),
-                                TSize(iNaviWidth, iCellHeight),
-                                TSize(iNaviWidth, iSpinBtnHeight));
-
-    SetTextColor(iBitmapDb->TextColor());
-    SetBorderColor(iBitmapDb->FrameColor());
-    iFirstTimeConstruct = EFalse;
-
-    iPages = CPages::NewL();
-
-    iListManager = CListManager::NewL(this);
-
-    iListManager->SetActiveList(iListManager->ListOneRowWithoutIcon());
-
-    SetRect( iListManager->ActiveList()->Rect() );
-
-    const TSize& size = Rect().Size();
-    TRect rect(aTopLeftPoint,size);
-    SetRect(rect);
-    }
-    
-// txin
-void CFepCtrlDropdownList::ConstructL(TPoint aTopLeftPoint, TInt aResId)
-    {
-    SetResourceId(aResId);
-
-    TResourceReader reader;
-    CCoeEnv::Static()->CreateResourceReaderLC(reader, aResId);
-    ConstructL(aTopLeftPoint, reader);
-    CleanupStack::PopAndDestroy(); // reader
-    }
-// end    
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::~CFepCtrlDropdownList
-// destructor function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//    
-EXPORT_C CFepCtrlDropdownList::~CFepCtrlDropdownList()
-    {
-    delete iBubbleCtrl;
-    
-    // destroy list objects
-    delete iListManager;
-
-    // Delete bitmapDb
-    delete iBitmapDb;
-    
-    // Delete pages
-    delete iPages;
-    
-    // Delete all candidate
-    iCandidatelist.ResetAndDestroy();
-    
-    // Clear and close iSecondaryList
-    iSecondaryList.Close();   
-
-    // Clear and close iHighlightList
-    iHighlightList.Close();       
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SizeChanged
-// size change function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//    
-EXPORT_C void CFepCtrlDropdownList::SizeChanged(const TInt aCellWidth,
-                                                 const TInt aCellHeight,
-                                                 const TInt aNaviWidth,
-                                                 const TPoint aTopLeftPoint,
-                                                 const TInt aColNum,
-                                                 const TInt aRowNum)
-    {
-    iCellWidth = aCellWidth; 
-    iCellHeight = aCellHeight; 
-    iNaviWidth = aNaviWidth;
-    iSpinBtnHeight = aCellHeight;
-    
-    iBitmapDb->SizeChanged(TSize(aNaviWidth, aCellHeight));
-    
-    if ( aTopLeftPoint != TPoint(0,0) )
-        {
-        iTopLeftPoint = aTopLeftPoint;        
-        }
-    
-    if ( aColNum )
-        iColNum = aColNum;
-    if ( aRowNum )
-        iRowNum = aRowNum;  
-    
-    iListManager->SizeChanged();
-    
-	switch ( iListType )
-		{
-		case EListNoExpandable:
-	        ChangeActiveList( iListManager->ListOneRowWithoutIcon() );
-			break;
-		case EListNoExpandableWithBubble:
-	        {
-	        ChangeActiveList(iListManager->ListOneRowWithoutIconWithBubble());
-	        }
-		    break;
-		case EListExpandable:
-		case EListExpandableWithoutIcon:
-            {
-            ChangeActiveList(iListManager->ListOneRowWithIcon());
-            }
-            break;
-		case EListExpandableWithBubble:
-		    {
-		    ChangeActiveList(iListManager->ListOneRowWithIconWithBubble());
-            }
-            break;
-		// txin
-		case EListExpandableRollWithIcon:
-            {
-            TInt onerowCandIdx = OneRowStartCandIdx();
-
-            if (onerowCandIdx != KInvalidCandIndex)
-                {
-                ChangeActiveList(iListManager->ListOneRowRollWithIcon(), onerowCandIdx);
-                return;
-                }
-
-            ChangeActiveList(iListManager->ListOneRowRollWithIcon());
-            }
-	        break;
-		case EListExpandableRollWithIconWithBubble:
-            {
-            TInt onerowCandIdx = OneRowStartCandIdx();
-
-            if (onerowCandIdx != KInvalidCandIndex)
-                {
-                ChangeActiveList(iListManager->ListOneRowRollWithIconWithBubble(), onerowCandIdx);
-                return;
-                }
-
-            ChangeActiveList(iListManager->ListOneRowRollWithIconWithBubble());
-            }
-	        break;
-	        
-        case EListExpandableMultiRowWithoutIcon:
-            {
-            ChangeActiveList(iListManager->ListExpandableMultiRowWithoutIcon());
-            }
-            break;            
-	    default:
-	    	__ASSERT_DEBUG( EFalse, 
-	    			User::Panic( _L("TListType Error::SizeChanged()"), 0 ) );
-	    	break;
-		}
-    }
-
-// ---------------------------------------------------------------------------
-// CFepUiBaseCtrl::HandlePointerDownEventL
-// Handle pointer down event
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//      
-EXPORT_C CFepUiBaseCtrl* CFepCtrlDropdownList::HandlePointerDownEventL(const TPoint& aPoint)
-    {
-    CFepUiBaseCtrl::HandlePointerDownEventL(aPoint);
-    
-    iListManager->ActiveList()->HandlePointerDownL(aPoint);
-    
-    return this;
-    }
-
-// ---------------------------------------------------------------------------
-// CFepUiBaseCtrl::HandlePointerUpEventL
-// Handle pointer up event
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C CFepUiBaseCtrl*  CFepCtrlDropdownList::HandlePointerUpEventL(const TPoint& aPoint)
-    {
-    CFepUiBaseCtrl::HandlePointerUpEventL(aPoint);
-    
-    iListManager->ActiveList()->HandlePointerUpL(aPoint);
-    
-    return this;
-    }
-
-// ---------------------------------------------------------------------------
-// CFepUiBaseCtrl::HandlePointerMoveEventL
-// Handle pointer move event
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CFepUiBaseCtrl* CFepCtrlDropdownList::HandlePointerMoveEventL(const TPoint& aPoint)
-    {
-    
-    if(!PointerDown())
-        {
-        return NULL;
-        }
-    
-    iListManager->ActiveList()->HandlePointerDragL(aPoint);
-    
-    return this;
-    }
-
-EXPORT_C void CFepCtrlDropdownList::HandlePointerLeave(const TPoint& aPoint)
-    {
-    CFepUiBaseCtrl::HandlePointerLeave(aPoint);
-    if(!Hiden())
-        iListManager->ActiveList()->HandlePointerLeave(aPoint);
-    ClearBubble();
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::AddCandidatesL
-// Add candidate
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//    
-EXPORT_C void CFepCtrlDropdownList::AddCandidatesL(const RPointerArray<HBufC>& aCandidates,
-                                                   const TListType /*aListType*/)
-    {
-    // add new candidates
-    for (TInt i = iCandidatelist.Count(); i < aCandidates.Count(); i++)
-        {
-        CCandidate* candidate = CCandidate::NewL(*aCandidates[i], this);
-
-        if (iCandidatelist.Append(candidate) != KErrNone)
-            {
-            delete candidate;
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetCandidatesL
-// Set candidate
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//    
-EXPORT_C void CFepCtrlDropdownList::SetCandidatesL(const RPointerArray<HBufC>& aCandidates, 
-                                                   const TListType aListType,
-                                                   const TDesC& aFixedText)
-    {
-    //clear last candidates which had been set    
-    iCandidatelist.ResetAndDestroy();
-    
-	iListManager->ResetStatus();        
-	
-    iHighlightList.Reset();
-    
-    iFixedText.Zero();
-    iFixedText.Append(aFixedText);
-    
-    iFirstCandidateIndex = 0;
-    iLastCandidateIndex = 0;
-    // create or add new ones
-    for( TInt i=0; i < aCandidates.Count(); i++ )
-        {
-        // CCandidate is s.c. self-containing class
-        CCandidate* candidate = CCandidate::NewL(*aCandidates[i], this);
-        // referring to memory object
-        iCandidatelist.Append(candidate);
-        }
-    
-	iListType = aListType;
-
-	switch ( aListType )
-		{
-		case EListNoExpandable:
-		    {
-		    ChangeActiveList( iListManager->ListOneRowWithoutIcon() );
-		    }
-			break;
-		case EListNoExpandableWithBubble:
-		    {
-		    ChangeActiveList( iListManager->ListOneRowWithoutIconWithBubble() );
-		    }
-			break;
-		case EListExpandable:
-		case EListExpandableWithoutIcon:
-		    {
-		    ChangeActiveList(iListManager->ListOneRowWithIcon());
-		    }
-		    break;
-		case EListExpandableWithBubble:
-		    {
-		    ChangeActiveList(iListManager->ListOneRowWithIconWithBubble());
-		    }
-		    break;
-		    
-		// txin
-		case EListExpandableRollWithIcon:
-		    {
-            SetOneRowStartCandIdx(KInvalidCandIndex);
-            SetOriginalFirstCandIdx(KInvalidCandIndex);
-
-            ChangeActiveList(iListManager->ListOneRowRollWithIcon());
-		    }
-	        break;
-		case EListExpandableRollWithIconWithBubble:
-		    {
-            SetOneRowStartCandIdx(KInvalidCandIndex);
-            SetOriginalFirstCandIdx(KInvalidCandIndex);
-
-            ChangeActiveList(iListManager->ListOneRowRollWithIconWithBubble());
-		    }
-	        break;
-	        
-		case EListExpandableMultiRowWithoutIcon:
-		    {
-            ChangeActiveList( iListManager->ListExpandableMultiRowWithoutIcon() );
-		    }
-            break;        
-	    default:
-	    	__ASSERT_DEBUG( EFalse, 
-	    			User::Panic( _L("TListType Error::SetCandidatesL()"), 0 ) );
-	    	break;
-		}
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::Move
-// when the control is moved, the function will be called
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CFepCtrlDropdownList::Move(const TPoint& aOffset)
-    {
-    ClearRect(Rect());
-    Invalidate(Rect(),ETrue);    
-    iListManager->Move(aOffset);
-    SetRect(iListManager->ActiveList()->Rect());
-    iListManager->ActiveList()->Draw();
-    Invalidate(iListManager->ActiveList()->Rect());
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::OnDeActivate
-// when the control is hide, the function will be called
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CFepCtrlDropdownList::OnDeActivate()
-    {
-	iListManager->ResetStatus();
-    }
-
-// ---------------------------------------------------------------------------
-// Hide or show dropdown list.
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C void CFepCtrlDropdownList::Hide( TBool aFlag )
-    {
-    ClearBubble();
-    CFepUiBaseCtrl::Hide( aFlag );
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::FoldList
-// fold the drop down list control
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CFepCtrlDropdownList::FoldList()
-    {
-    if ((iListManager->ActiveList() == iListManager->ListMultiRowWithIcon()) 
-    	|| (iListManager->ActiveList() == iListManager->ListMultiRowWithoutIcon()))
-        {
-        ChangeActiveList(iListManager->ListOneRowWithIcon(), iFirstCandidateIndex);            
-        }
-    // added by txin    
-    else if (iListManager->ActiveList() == iListManager->ListMultiRowRollWithIcon())
-        {
-        TInt onerowCandIdx = OneRowStartCandIdx();
-
-        if (onerowCandIdx != KInvalidCandIndex)
-            {
-            ChangeActiveList(iListManager->ListOneRowRollWithIcon(), onerowCandIdx);
-            return;
-            }
-
-        ChangeActiveList(iListManager->ListOneRowRollWithIcon(), iFirstCandidateIndex);
-        }
-    else if (iListManager->ActiveList() == iListManager->ListMultiRowRollWithIconWithBubble())
-        {
-        TInt onerowCandIdx = OneRowStartCandIdx();
-
-        if (onerowCandIdx != KInvalidCandIndex)
-            {
-            ChangeActiveList(iListManager->ListOneRowRollWithIconWithBubble(), onerowCandIdx);
-            return;
-            }
-
-        ChangeActiveList(iListManager->ListOneRowRollWithIconWithBubble(), iFirstCandidateIndex);
-        }
-    else if(iListManager->ActiveList() == iListManager->ListMultiRowWithIconWithBubble())
-        {
-        ChangeActiveList(iListManager->ListOneRowWithIconWithBubble(), iFirstCandidateIndex);
-        }
-    // end    
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::ResetAndClear
-// reset and clear and redraw the list
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//        
-EXPORT_C void CFepCtrlDropdownList::ResetAndClear(const TListType aListType)
-    {
-    //clear last candidates which had been set
-    iCandidatelist.ResetAndDestroy();
-    
-    iFixedText.Zero();
-   
-    iFirstCandidateIndex = 0;
-    iLastCandidateIndex = 0;
-    
-	switch ( aListType )
-		{
-		case EListNoExpandable:
-	        ChangeActiveList( iListManager->ListOneRowWithoutIcon() );
-			break;
-		case EListNoExpandableWithBubble:
-	        ChangeActiveList( iListManager->ListOneRowWithoutIconWithBubble() );
-			break;
-			
-		case EListExpandable:
-		case EListExpandableWithoutIcon:
-			{
-		    ChangeActiveList(iListManager->ListOneRowWithIcon());
-		    NotifyClosePage();
-			}
-		    break;
-		case EListExpandableWithBubble:
-			{
-		    ChangeActiveList(iListManager->ListOneRowWithIconWithBubble());
-		    NotifyClosePage();
-			}
-		    break;
-		    
-		// txin
-		case EListExpandableRollWithIcon:
-		    {
-		    ChangeActiveList(iListManager->ListOneRowRollWithIcon());
-		    NotifyClosePage();
-		    }
-	        break;
-		// end
-		case EListExpandableRollWithIconWithBubble:
-		    {
-		    ChangeActiveList(iListManager->ListOneRowRollWithIconWithBubble());
-		    NotifyClosePage();
-		    }
-	        break;
-		case EListExpandableMultiRowWithoutIcon:
-		    {
-            ChangeActiveList(iListManager->ListExpandableMultiRowWithoutIcon());
-            NotifyClosePage();		    
-		    }
-		    break;
-	    default:
-	    	__ASSERT_DEBUG( EFalse, 
-	    			User::Panic( _L("TListType Error::ResetAndClear()"), 0 ) );
-	    	break;
-		}
-    }
-
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::HandleEvent
-// when there is out event coming, the function will be called
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CFepCtrlDropdownList::HandleControlEvent(TInt aEventType, 
-                                                       CFepUiBaseCtrl* aCtrl, 
-                                                       const TDesC& aEventData)
-    {
-    if ( iListEventHandler )
-        {
-        iListEventHandler->HandleListOuterEvent(aEventType, aCtrl, aEventData);        
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::Draw
-// draw the list
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CFepCtrlDropdownList::Draw()
-    {   
-	if(!AbleToDraw())
-        return;
-    
-    if (!iFirstTimeConstruct)
-    	{
-        // if construct is not finished, then no need to draw
-///DrawOpaqueMaskBackground();
-        
-        //ActivateBitmapContext();
-        
-  	    iListManager->ActiveList()->Draw();
-  	    Invalidate(iListManager->ActiveList()->Rect());
-    	}
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetHighlightCell
-// set or unset the high light effect for the cell
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CFepCtrlDropdownList::SetHighlightCell(const TInt aCellIndex, 
-                                                     TBool aHighlight, 
-                                                     const TBool aIsDraw)
-    {
-    if (aHighlight)
-        {
-
-        iHighlightList.Reset();
-
-        iHighlightList.Append(aCellIndex);
-        
-        if ((iListType == EListExpandableRollWithIcon ||
-            iListType == EListExpandableRollWithIconWithBubble) && 
-            (aCellIndex == GetFirstCandidateIndex()))
-            {
-            SetOneRowStartCandIdx(GetFirstCandidateIndex());
-            }
-        }
-    else
-        {
-        TInt index = iHighlightList.Find(aCellIndex);
-        
-        if ( index != KErrNotFound )
-            {
-            iHighlightList.Remove(index);            
-            }
-        }
-        
-    if( aIsDraw )
-        {
-        iListManager->ActiveList()->SetHighlightCell(aCellIndex, aHighlight, EFalse);
-        
-        Draw();
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::Rect
-// get the rect of the list
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C const TRect& CFepCtrlDropdownList::Rect()
-    {
-    return iListManager->ActiveList()->Rect();
-    }
-    
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetEventIdForCandidateSelected
-// set event id when candidate is selected
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::SetEventIdForCandidateSelected(TInt aEventId)
-    {
-    iEventIdForCandidateSelected = aEventId;
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetEventIdForNextPageCandidate
-// set event id when need get next page candidate
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::SetEventIdForNextPageCandidate(TInt aEventId)
-    {
-	  iEventIdForNextPageCandidate = aEventId;
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetEventIdForPreviousPageCandidate
-// set event id when need get previous page candidate
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::SetEventIdForPreviousPageCandidate(TInt aEventId)
-    {
-	  iEventIdForPreviousPageCandidate = aEventId;
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetEventIdForCandidateExisted
-// set event id when need judge if candidate exist
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::SetEventIdForCandidateExisted(TInt aEventId)
-    {
-    iEventIdForCandidateExisted = aEventId;
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetTopLeftPoint
-// set top left point of the list
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::SetTopLeftPoint(const TPoint aTopLeftPoint)
-    {
-    SizeChanged(iCellWidth, iCellHeight, iNaviWidth, aTopLeftPoint);
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetCellWidth
-// set cell width
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::SetCellWidth(const TInt aCellWidth)
-    {
-    SizeChanged(aCellWidth, iCellHeight, iNaviWidth);
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetCellHeight
-// set cell height
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::SetCellHeight(const TInt aCellHeight)
-    {
-    SizeChanged(iCellWidth, aCellHeight, iNaviWidth);
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetNaviWidth
-// set navigation width
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::SetNaviWidth(const TInt aNaviWidth)      
-    {
-    SizeChanged(iCellWidth, iCellHeight, aNaviWidth);    
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetColNum
-// set columns number
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::SetColNum(const TInt aColNum)
-    {
-    SizeChanged(iCellWidth, iCellHeight, iNaviWidth, iTopLeftPoint, aColNum);
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetRowNum
-// Set rows number
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::SetRowNum(const TInt aRowNum)
-    {
-    SizeChanged(iCellWidth, iCellHeight, iNaviWidth, iTopLeftPoint, iColNum, aRowNum);    
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetBorderColor
-// Set border color
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::SetBorderColor(TRgb aBorderColor, TBool aReDraw)
-    {
-    iBorderColor = aBorderColor;
-    
-    if ( aReDraw )
-        {
-        Draw();
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetBgColor
-// Set background color for the whole DDl (drop down list)
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::SetBgColor(TRgb aBgColor, TBool aReDraw)
-    {
-    iBgColor = aBgColor;
-    
-    if ( aReDraw )
-        {
-        Draw();
-        }    
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetNavigationBgColor
-// set background color for navigation area
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::SetNavigationBgColor(TRgb aNavigationBgColor, TBool aReDraw)
-    {
-    iNavigationBgColor = aNavigationBgColor;
-    
-    if ( aReDraw )
-        {
-        Draw();
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetTextColor
-// set text color
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CFepCtrlDropdownList::SetTextColor(TRgb aTextColor, TBool aReDraw)
-    {
-    iTextColor = aTextColor;
-    
-    if ( aReDraw )
-        {
-        Draw();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetSpecialTextColor
-// set special text color
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::SetSpecialTextColor(TRgb aSpecialTextColor, TBool aReDraw)
-    {
-    iSpecialTextColor = aSpecialTextColor;
-    
-    if ( aReDraw )
-        {
-        Draw();
-        }    
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetHighLightTextColor
-// set text color for highlight
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::SetHighLightTextColor(TRgb aHighLightTextColor, TBool aReDraw)
-    {
-    iHighLightTextColor = aHighLightTextColor;
-    
-    if ( aReDraw )
-        {
-        Draw();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetHighLightBgColor
-// set background color for highlight
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::SetHighLightBgColor(TRgb aHighLightBgColor, TBool aReDraw)
-    {
-    iHighLightBgColor = aHighLightBgColor;
-    
-    if ( aReDraw )
-        {
-        Draw();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetTextAlighment
-// set text alignment
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::SetTextAlighment(const CGraphicsContext::TTextAlign aAlignment,
-                                                     TBool aReDraw)
-    {
-    iAlignment = aAlignment;
-    
-    if ( aReDraw )
-        {
-        Draw();
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetTextAlighment
-// set text alignment
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::SetTextMargin(const TInt aTextMargin, TBool aReDraw)
-    {
-    iTextMargin = aTextMargin;
-    
-    if ( aReDraw )
-        {
-        Draw();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetCellColor
-// set cell color
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::SetSecondaryList(RArray<TInt>& aIndexList, TBool aReDraw)
-    {
-    iSecondaryList.Reset();
-    for (TInt i=0; i < aIndexList.Count(); i++)
-        {
-        iSecondaryList.Append(aIndexList[i]);
-        }
-    
-    if ( aReDraw )
-        {
-        Draw();
-        }    
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetFont
-// set text font
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::SetFont(const CFont* aFont, TBool aReDraw)
-    {
-    iFont = aFont;
-    
-    if ( aReDraw )
-        {
-		switch ( iListType )
-			{
-			case EListNoExpandable:
-		        ChangeActiveList( iListManager->ListOneRowWithoutIcon() );
-				break;
-			case EListExpandable:
-			case EListExpandableWithoutIcon:
-			    ChangeActiveList(iListManager->ListOneRowWithIcon());
-			    break;
-			// txin
-			case EListExpandableRollWithIcon:
-		        ChangeActiveList(iListManager->ListOneRowRollWithIcon());
-		        break;
-			case EListExpandableRollWithIconWithBubble:
-			    ChangeActiveList(iListManager->ListOneRowRollWithIconWithBubble());
-			    break;
-			case EListExpandableMultiRowWithoutIcon:
-			    {
-                ChangeActiveList( iListManager->ListExpandableMultiRowWithoutIcon() );
-			    }
-                break;			    
-		    default:
-		    	__ASSERT_DEBUG( EFalse, 
-		    			User::Panic( _L("TListType Error::SetFont()"), 0 ) );
-		    	break;
-			}
-        }     
-    } 
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetListEventHandler
-// set list event handler
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::SetListEventHandler(MListEventHandler* aHandler)
-    {
-    iListEventHandler = aHandler;
-    }
-                            
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::CandidateCount
-// get candidate count
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C TInt CFepCtrlDropdownList::CandidateCount() const
-    {
-    return iCandidatelist.Count(); 
-    }                              
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetCellColorList
-// get multi color list
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-const RArray<TInt>& CFepCtrlDropdownList::GetSecondaryList() const
-    {
-    return iSecondaryList; 
-    }
-                                              
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::EnableMultiColor
-// enable multi color or not 
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::EnableSecondary(TBool aEnable, TBool aReDraw)
-    {
-    iEnableSecondary = aEnable;
-    
-    if ( aReDraw )
-        {
-        Draw();
-        }    
-    }
-                                             
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::IsEnableSecondary
-// get multi color is enable or disable
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C TBool CFepCtrlDropdownList::IsEnableSecondary() const
-    {
-    return iEnableSecondary;
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::DrawMask
-// draw mask
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//        
-void CFepCtrlDropdownList::DrawMask(TRect aRect)
-    {
-    Gc()->Activate( MaskBitmapDevice() );
-    Gc()->SetBrushStyle( CGraphicsContext::ESolidBrush );
-    Gc()->SetBrushColor( TRgb(KOpaqueColor) );
-    Gc()->SetPenSize(PenSize());
-    Gc()->SetPenColor( TRgb(KOpaqueColor) );
-    Gc()->DrawRect(aRect);    
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::ActivateBitmapContext
-// active bitmap context
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-void CFepCtrlDropdownList::ActivateBitmapContext()
-    {
-    Gc()->Activate(BitmapDevice());
-    } 
-        
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::Gc
-// return the graphics context
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-CFbsBitGc* CFepCtrlDropdownList::Gc()
-    {
-    return static_cast<CFbsBitGc*>(BitGc());
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetFirstCandidateIndex
-// get FirstCandidateIndex
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-TInt CFepCtrlDropdownList::GetFirstCandidateIndex()
-    {
-    return iFirstCandidateIndex;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetLastCandidateIndex
-// get LastCandidateIndex
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-TInt CFepCtrlDropdownList::GetLastCandidateIndex()
-    {
-    return iLastCandidateIndex;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetFirstCandidateIndex
-// set FirstCandidateIndex
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-void CFepCtrlDropdownList::SetFirstCandidateIndex(TInt aFirstIndex)
-    {
-    iFirstCandidateIndex = aFirstIndex;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetLastCandidateIndex
-// Set LastCandidateIndex
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-void CFepCtrlDropdownList::SetLastCandidateIndex(TInt aLastIndex)
-    {
-    iLastCandidateIndex = aLastIndex;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetCandidate
-// get candidate
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-CCandidate* CFepCtrlDropdownList::GetCandidate(TInt aIndex)
-    {
-    if ( ( aIndex >= 0 ) && ( aIndex < iCandidatelist.Count() ) )
-        {
-        return iCandidatelist[aIndex];
-        }
-        
-    return NULL;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetTopLeftPoint
-// get Top Left Point
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-TPoint CFepCtrlDropdownList::GetTopLeftPoint()
-    {
-    return iTopLeftPoint;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetCellWidth
-// get width
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-TInt CFepCtrlDropdownList::GetCellWidth()
-    {
-    return iCellWidth;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetCellHeight
-// get cell height
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-TInt CFepCtrlDropdownList::GetCellHeight()
-    {
-    return iCellHeight;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetNaviWidth
-// get navigation width
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-TInt CFepCtrlDropdownList::GetNaviWidth()
-    {
-    return iNaviWidth;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetColNum
-// get columns number
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-TInt CFepCtrlDropdownList::GetColNum()
-    {
-    return iColNum;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetRowNum
-// get rows number
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-TInt CFepCtrlDropdownList::GetRowNum()
-    {
-    return iRowNum;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetFont
-// get text font
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-const CFont* CFepCtrlDropdownList::GetFont()
-    {
-    return iFont;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetAlignment
-// get alignment
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-CGraphicsContext::TTextAlign CFepCtrlDropdownList::GetAlignment()
-    {
-    return iAlignment;
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetAlignment
-// get alignment
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-TInt CFepCtrlDropdownList::GetTextMargin()
-    {
-    return iTextMargin;
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetBgColor
-// get background color
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-TRgb CFepCtrlDropdownList::GetBgColor()
-    {
-    return iBgColor;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetButtonDownBgColor
-// get button down color
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-TRgb CFepCtrlDropdownList::GetButtonDownBgColor()
-    {
-    return iButtonDownBgColor;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetBorderColor
-// get border color
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-TRgb CFepCtrlDropdownList::GetBorderColor()
-    {
-    return iBorderColor;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetTextColor
-// get text color
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-TRgb CFepCtrlDropdownList::GetTextColor()
-    {
-    return iTextColor;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetHighLightBgColor
-// get highlight background color
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TRgb CFepCtrlDropdownList::GetHighLightBgColor()
-    {
-    return iHighLightBgColor;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetHighLightTextColor
-// get highlignt text color
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-TRgb CFepCtrlDropdownList::GetHighLightTextColor()
-    {
-    return iHighLightTextColor;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetSpecialTextColor
-// get special text color
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-TRgb CFepCtrlDropdownList::GetSpecialTextColor()
-    {
-    return iSpecialTextColor;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetFixedText
-// get fixed text
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-TDesC CFepCtrlDropdownList::GetFixedText()
-    {
-    return iFixedText;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetHighlightList
-// get bitmap manager
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-const RArray<TInt>& CFepCtrlDropdownList::GetHighlightList() const
-    {
-    return iHighlightList;
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetPages
-// get page manager
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-CPages* CFepCtrlDropdownList::GetPages()
-    {
-    return iPages;
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetBitmapDb
-// get bitmap manager
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-CBitmapDb* CFepCtrlDropdownList::GetBitmapDb()
-    {
-    return iBitmapDb;
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::ReportCandidateSelectEvent
-// report candidate selected event
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-void CFepCtrlDropdownList::ReportCandidateSelectEventL(const TDesC& aCandidate,
-                                                      const TInt aSelectedIndex)
-    {
-    HBufC* bufc = HBufC::NewL( aCandidate.Length() + 1 );    
-    TPtr ptr = bufc->Des();
-    ptr.Copy( aCandidate );
-    ptr.Append( (TUint16*)&aSelectedIndex, 1 );
-    ReportEvent(iEventIdForCandidateSelected, *bufc);
-    delete bufc;
-    bufc = NULL;
-    }
-        
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::Invalidate
-// update the animation
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-void CFepCtrlDropdownList::Invalidate(const TRect& aRect, TBool aUpdateAll)
-    {
-    RootControl()->UpdateArea(aRect,aUpdateAll);
-    }    
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::ChangeActiveList
-// change active list
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CFepCtrlDropdownList::ChangeActiveList(CList* aList, TInt aLastIndex)
-    {
-    TRect rect = Rect();       
-        
-    CList* beforeList = iListManager->ActiveList();
-    
-    if( RootControl()->CtrlCapPointer() == this)
-        {
-        SetCapture(EFalse);
-        }
-    
-	switch ( iListType )
-		{
-		case EListNoExpandable:
-		case EListNoExpandableWithBubble:
-	        EnableSecondary(ETrue);
-			break;
-		case EListExpandable:
-		case EListExpandableWithBubble:
-		case EListExpandableWithoutIcon:
-		// txin
-		case EListExpandableRollWithIcon:
-		case EListExpandableRollWithIconWithBubble:
-		// end
-	        EnableSecondary(EFalse);
-	        break;
-		case EListExpandableMultiRowWithoutIcon:
-		    break;
-	    default:
-	    	__ASSERT_DEBUG( EFalse, 
-	    			User::Panic( _L("TListType Error::ChangeActiveList()"), 0 ) );
-	    	break;
-		}
-    
-    iListManager->SetActiveList(aList);
-    SetRect(iListManager->ActiveList()->Rect());      
-    
-    if ( aLastIndex )
-        {
-        SetLastCandidateIndex(aLastIndex); 
-        }
-    else
-        {
-        GetPages()->Reset();
-        SetFirstCandidateIndex(0);
-        SetLastCandidateIndex(0);
-        }
-        
-    if(!Hiden() && Ready())
-        {
-        TRAP_IGNORE(iListManager->ActiveList()->UpdateListL());
-        }
-    
-	// If the list is shrink, then redraw
-    // txin
-	if ( ( ( beforeList == iListManager->ListMultiRowWithIcon() )
-		&& ( aList != iListManager->ListMultiRowWithIcon() ) ) 
-		|| ( ( ( beforeList == iListManager->ListMultiRowWithoutIcon() )
-	     && ( aList != iListManager->ListMultiRowWithoutIcon() ) ) ) 
-	    || ( ( ( beforeList == iListManager->ListMultiRowRollWithIcon())
-	     && ( aList != iListManager->ListMultiRowRollWithIcon() ) ) ) 
-	     || ( ( ( beforeList == iListManager->ListExpandableMultiRowWithoutIcon() )
-	     && ( aList != iListManager->ListExpandableMultiRowWithoutIcon() ) ) )
-	     || ( ( ( beforeList == iListManager->ListMultiRowWithIconWithBubble() ))
-	     && (aList != iListManager->ListMultiRowWithIconWithBubble() ) )
-	     || ( ( ( beforeList == iListManager->ListMultiRowRollWithIconWithBubble() ))
-	     && (aList != iListManager->ListMultiRowRollWithIconWithBubble() ) ) )
-		{
-	    rect.Shrink(TSize(0,-1));
-	    RootControl()->ReDrawRect(rect);
-	    Invalidate(rect,ETrue);			
-		}
-    // end
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetPenSize
-// get pen size
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TSize CFepCtrlDropdownList::GetPenSize()
-    {
-    return PenSize();
-    }
-
-void CFepCtrlDropdownList::SetCapture(TBool aFlag)
-    {
-    CapturePointer(aFlag);
-    }
-    
-// ---------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetActive
-// Set active for the button
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CFepCtrlDropdownList::SetActive(TBool aActiveFlag)
-    {
-    if(IsActive() != aActiveFlag)
-        {
-        CFepUiBaseCtrl::SetActive(aActiveFlag);    
-        /*Draw();
-        UpdateArea(Rect(),EFalse);*/
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// CFepCtrlDropdownList::ConstructFromResourceL
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CFepCtrlDropdownList::ConstructFromResourceL()
-	{
-    if (iResourceId == KInvalidResId)
-    	{
-    	User::Leave(KErrArgument);
-    	}
-    
-    // first time construct will not go this way
-    // only useful for skin change
-    if (!iFirstTimeConstruct)
-    	{
-        TResourceReader reader;
-        CCoeEnv::Static()->CreateResourceReaderLC(reader, iResourceId);
-	    iBitmapDb->ConstructFromResourceL(reader, 
-	                                      TSize(iCellWidth, iCellHeight),
-	                                      TSize(iNaviWidth, iCellHeight),
-	                                      TSize(iNaviWidth, iSpinBtnHeight));
-	    CleanupStack::PopAndDestroy(); // reader
-        SetTextColor(iBitmapDb->TextColor());
-        SetBorderColor(iBitmapDb->FrameColor());
-        iListManager->ActiveList()->UpdateListL(AbleToDraw(),EFalse);
-	    Draw();
-    	}
-    
-    iFirstTimeConstruct = EFalse;	
-	}
-	
-// ---------------------------------------------------------------------------
-// CFepCtrlDropdownList::NotifyGetNextPage
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-void CFepCtrlDropdownList::NotifyGetNextPage()
-    {
-    ReportEvent(iEventIdForNextPageCandidate);
-    }
-    
-// ---------------------------------------------------------------------------
-// CFepCtrlDropdownList::NotifyGetPreviousPage
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-void CFepCtrlDropdownList::NotifyGetPreviousPage()
-    {
-    ReportEvent(iEventIdForPreviousPageCandidate);
-    } 
-    
-// ---------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetFlagCandidateExist
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CFepCtrlDropdownList::SetFlagCandidateExist(TBool aFlag)
-    {
-    iCandidateExisted = aFlag;
-    }
-    
-// ---------------------------------------------------------------------------
-// CFepCtrlDropdownList::NextCandidateExist
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-TBool CFepCtrlDropdownList::NextCandidateExist()
-    {
-    ReportEvent(iEventIdForCandidateExisted);
-    
-    return iCandidateExisted;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::AutoChangeActiveList
-// change active list
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CFepCtrlDropdownList::AutoChangeActiveList( TInt aLastIndex )
-	{
-	switch ( iListType )
-		{
-		case EListExpandable:
-			if ( iListManager->ActiveList() 
-					== iListManager->ListOneRowWithIcon() )
-				{
-				ChangeActiveList( iListManager->ListMultiRowWithIcon(), aLastIndex );
-				BringToTop();
-				}
-			else
-				{
-				BringToBack();
-				ChangeActiveList( iListManager->ListOneRowWithIcon(), aLastIndex );
-				NotifyClosePage();
-				}
-			break;
-		case EListExpandableWithoutIcon:
-			if ( iListManager->ActiveList() 
-					== iListManager->ListOneRowWithIcon() )
-				{
-				ChangeActiveList( iListManager->ListMultiRowWithoutIcon(), aLastIndex );
-				BringToTop();
-				}
-			else
-				{
-				BringToBack();
-				ChangeActiveList( iListManager->ListOneRowWithIcon(), aLastIndex );
-				}
-			break;
-        // txin
-		case EListExpandableRollWithIcon:
-		    {
-			if (iListManager->ActiveList() == iListManager->ListOneRowRollWithIcon())
-				{
-				ChangeActiveList(iListManager->ListMultiRowRollWithIcon(), aLastIndex);
-				BringToTop();
-				}
-			else
-				{
-				BringToBack();
-				ChangeActiveList(iListManager->ListOneRowRollWithIcon(), aLastIndex);
-				NotifyClosePage();
-				}
-		    }
-		    break;
-		case EListExpandableRollWithIconWithBubble:
-		    {
-			if (iListManager->ActiveList() == iListManager->ListOneRowRollWithIconWithBubble())
-				{
-				ChangeActiveList(iListManager->ListMultiRowRollWithIconWithBubble(), aLastIndex);
-				BringToTop();
-				}
-			else
-				{
-				BringToBack();
-				ChangeActiveList(iListManager->ListOneRowRollWithIconWithBubble(), aLastIndex);
-				NotifyClosePage();
-				}
-		    }
-		    break;
-		    
-		case EListExpandableWithBubble:
-		    {
-			if ( iListManager->ActiveList() 
-					== iListManager->ListOneRowWithIconWithBubble() )
-				{
-				ChangeActiveList( iListManager->ListMultiRowWithIconWithBubble(), aLastIndex );
-				BringToTop();
-				}
-			else
-				{
-				BringToBack();
-				ChangeActiveList( iListManager->ListOneRowWithIconWithBubble(), aLastIndex );
-				NotifyClosePage();
-				}
-		    }
-		    break;
-        case EListExpandableMultiRowWithoutIcon:
-            break;              
-		case EListNoExpandable:
-		case EListNoExpandableWithBubble:
-			break;
-	    default:
-	    	__ASSERT_DEBUG( EFalse, 
-	    			User::Panic( _L("TListType Error::AutoChangeActiveList()"), 0 ) );
-	    	break;
-		}
-
-	}
-
-// added by txin in 2007.06.07
-EXPORT_C void CFepCtrlDropdownList::SetSpinBtnHeight(const TInt aHeight)
-    {
-    // make sure navi next, navi previous plus close, do not beyond row count 
-    TInt minExpandHeight = 2 * aHeight + GetCellHeight() + 4 * GetCellVerticalMargin();
-    TInt realExpandHeight = GetCellHeight() * GetRowNum() + 
-                            (GetRowNum() + 1) * GetCellVerticalMargin();
-
-    if ((aHeight > 0) && (minExpandHeight <= realExpandHeight))
-        {
-        iSpinBtnHeight = aHeight;
-        SizeChanged(iCellWidth, iCellHeight, iNaviWidth);
-        }
-    }
-
-EXPORT_C void CFepCtrlDropdownList::SetCellMargin(const TInt aHorizontalMargin, 
-                                                  const TInt aVerticalMargin)
-    {
-    if (((aHorizontalMargin > 0) && (aHorizontalMargin != iCellHorizontalMargin)) || 
-        ((aVerticalMargin > 0) && (aVerticalMargin != iCellVerticalMargin)))
-        {
-        iCellHorizontalMargin = aHorizontalMargin;
-        iCellVerticalMargin = aVerticalMargin;
-
-        SizeChanged(iCellWidth, iCellHeight, iNaviWidth); 
-        }
-    }
-    
-TInt CFepCtrlDropdownList::GetSpinBtnHeight()
-    {
-    return iSpinBtnHeight;
-    }
-
-TInt CFepCtrlDropdownList::GetCellHorizontalMargin()
-    {
-    return iCellHorizontalMargin;
-    }
-
-TInt CFepCtrlDropdownList::GetCellVerticalMargin()
-    {
-    return iCellVerticalMargin;
-    }
-
-TInt CFepCtrlDropdownList::ListType()
-    {
-    return iListType;
-    }
-    
-TInt CFepCtrlDropdownList::OneRowStartCandIdx()
-    {
-    return iOriginalCandIdx;
-    }
-    
-void CFepCtrlDropdownList::SetOneRowStartCandIdx(TInt aOriginalCandIdx)
-    {
-    iOriginalCandIdx = aOriginalCandIdx;
-    }
-
-TInt CFepCtrlDropdownList::GetOriginalFirstCandIdx()
-    {
-    return iOriginalFirstCandIdx;
-    }
-
-void CFepCtrlDropdownList::SetOriginalFirstCandIdx(TInt aOriginalFirstCandIdx)
-    {
-    iOriginalFirstCandIdx = aOriginalFirstCandIdx;
-    }
-    
-EXPORT_C void CFepCtrlDropdownList::SetCandTruncateType(const TCandTruncateType aTruncateType)
-    {
-    iCandTruncateType = aTruncateType;
-    }
-    
-TInt CFepCtrlDropdownList::CandTruncateType()
-    {
-    return iCandTruncateType;
-    }
-    
-CList* CFepCtrlDropdownList::ActiveList()
-    {
-    return iListManager->ActiveList();
-    }
-
-void CFepCtrlDropdownList::SetUpdateListReDrawFlag(TBool aReDraw)
-    {
-    iUpdateListReDraw = aReDraw;
-    }
-
-TBool CFepCtrlDropdownList::GetUpdateListRedrawFlag()
-    {
-    return iUpdateListReDraw;
-    }
-
-EXPORT_C void CFepCtrlDropdownList::SetFuzzyBoundry(TInt aFuzzyBoundry)
-    {
-    if (aFuzzyBoundry != iFuzzyBoundry && aFuzzyBoundry >= 0)
-        {
-        iFuzzyBoundry = aFuzzyBoundry;
-        }
-    }
-
-TInt CFepCtrlDropdownList::FuzzyBoundry()
-    {
-    return iFuzzyBoundry;
-    }
-
-EXPORT_C void CFepCtrlDropdownList::SetCandExpandType(const TExpandType aType)
-    {
-    if (aType != iCandExpandType)
-        {
-        iCandExpandType = aType;
-        }
-    }
-
-TInt CFepCtrlDropdownList::CandExpandType()
-    {
-    return iCandExpandType;
-    }
-
-void CFepCtrlDropdownList::NotifyClosePage()
-	{
-	UiLayout()->RootControl()->Draw();
-	}
-	
-EXPORT_C void CFepCtrlDropdownList::SetDropdownListImgID(
-              TDropdownListDrawInfo aDropdownListDrawInfo)
-	{
-	iListManager->ListOneRowWithIcon()->SetDropdownListImgID(aDropdownListDrawInfo);
-	
-	iListManager->ListOneRowWithIconWithBubble()->SetDropdownListImgID(aDropdownListDrawInfo);
-													 
-	iListManager->ListMultiRowWithIcon()->SetDropdownListImgID(aDropdownListDrawInfo);		
-	
-	iListManager->ListMultiRowWithIconWithBubble()->SetDropdownListImgID(aDropdownListDrawInfo);	
-													 
-	iListManager->ListOneRowWithoutIcon()->SetDropdownListImgID(aDropdownListDrawInfo);		
-	
-    iListManager->ListOneRowWithoutIconWithBubble()->SetDropdownListImgID(aDropdownListDrawInfo);			
-													 
-	iListManager->ListOneRowRollWithIcon()->SetDropdownListImgID(aDropdownListDrawInfo);
-			
-	iListManager->ListOneRowRollWithIconWithBubble()->SetDropdownListImgID(aDropdownListDrawInfo);		
-													 
-	iListManager->ListMultiRowRollWithIcon()->SetDropdownListImgID(aDropdownListDrawInfo);
-	
-	iListManager->ListMultiRowRollWithIconWithBubble()->SetDropdownListImgID(aDropdownListDrawInfo);
-	
-	iListManager->ListExpandableMultiRowWithoutIcon()->SetDropdownListImgID(aDropdownListDrawInfo);
-	}
-
-CFepUiLayout* CFepCtrlDropdownList::UiLayout()
-    {
-    return CFepUiBaseCtrl::UiLayout();
-    }
-
-TInt CFepCtrlDropdownList::CandHDirection()
-    {
-    return iCandHDirection;
-    }
-
-TBool CFepCtrlDropdownList::PageCtrlShown()
-    {
-    return iPageCtrlShown;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::ShowBubble
-// Set show preview bubble on/off
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CFepCtrlDropdownList::ShowBubble(TBool aFlag)
-    {  
-    TBool flag = iBubbleCtrl ? ETrue : EFalse;
-    iIsShowBubble = aFlag;
-    if ( flag != aFlag )
-        {
-        if(!flag)
-            {
-            TRAP_IGNORE(iBubbleCtrl = CBubbleCtrl::NewL(TRect(0,0,0,0),UiLayout(),-0xFFFF));
-            }
-        }
-    }    
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetBubbleBitmapParam
-// Set preview bubble bitmap
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CFepCtrlDropdownList::SetBubbleBitmapParam(CFbsBitmap* aBmpId,
-                                                     CFbsBitmap* aMaskBmpId ,
-                                                     TAknsItemID aBgSkinId )
-    {
-    if ( iBubbleCtrl )
-        {
-        iBubbleCtrl->SetBitmapParam(aBmpId,aMaskBmpId,aBgSkinId);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetBubbleTextFont
-// Set preview bubble text font
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CFepCtrlDropdownList::SetBubbleTextFont(const CFont* aFont)
-    {
-    if ( iBubbleCtrl )
-        {
-        iBubbleFont = aFont;    
-        }
-    }
-       
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetTextFormat
-// Set preview bubble text format
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CFepCtrlDropdownList::SetTextFormat(TAknTextLineLayout aTextFormat)
-    {
-    if ( iBubbleCtrl )
-        {
-        iBubbleCtrl->SetTextFormat(aTextFormat);   
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetBubbleSize
-// Set preview bubble size
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CFepCtrlDropdownList::SetFrameDiff(TInt aLeftDiff, TInt aTopDiff,
-                                             TInt aRightDiff,TInt aBottomDiff)
-    {
-    if ( iBubbleCtrl )
-        {
-        iBubbleCtrl->SetFrameDiff(aLeftDiff,aTopDiff,aRightDiff,aBottomDiff);    
-        }        
-    }    
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetBubbleSize
-// Set preview bubble size
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CFepCtrlDropdownList::SetBubbleSize(const TSize& aSize)
-    {
-    iBubbleSize = aSize;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::DrawBubble
-// Show preview bubble
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CFepCtrlDropdownList::DrawBubble(const TRect aRect, const TDesC& aText)
-    {
-    if ( iBubbleCtrl && iIsShowBubble && !(iBubbleCtrl->IsShowing()))
-        {
-        if(iBubbleFont)
-            {
-            iBubbleSize.iWidth = iBubbleFont->TextWidthInPixels(aText) + KPreviewBubbleOffset;
-            }
-            
-        if(iBubbleSize.iWidth < aRect.Width() + KPreviewBubbleOffset )
-            {
-            iBubbleSize.iWidth = aRect.Width() + KPreviewBubbleOffset;
-            }
-         
-        
-        TRect rect = iBubbleCtrl->Rect();
-        TRect parentWndRect = Rect();       
-        TInt x1 = aRect.iTl.iX - ( iBubbleSize.iWidth - aRect.Width() ) / 2;
-        TInt x2 = aRect.iBr.iX + ( iBubbleSize.iWidth - aRect.Width() ) / 2;
-        
-        TRect screenRect;
-        AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EScreen, screenRect); 
-        if ( x1 < 0 )
-            {
-            rect.iTl.iX = screenRect.iTl.iX;     
-            rect.iBr.iX = screenRect.iTl.iX + iBubbleSize.iWidth; 
-            }
-        else if ( x2 > screenRect.iBr.iX )
-            {
-            rect.iTl.iX = screenRect.iBr.iX - iBubbleSize.iWidth;     
-            rect.iBr.iX = screenRect.iBr.iX;                 
-            }
-        else
-            {
-            rect.iTl.iX = x1;     
-            rect.iBr.iX = x2;                 
-            }
-        
-        rect.iTl.iY = iBubbleVerticalMargin + aRect.iTl.iY - 
-                      iBubbleSize.iHeight;
-        rect.iBr.iY = iBubbleVerticalMargin + aRect.iTl.iY;
-		
-		TRAP_IGNORE(iBubbleCtrl->SetTextL(aText));		
-	
-        iBubbleCtrl->Popup(rect);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::ClearBubble
-// Hide preview bubble
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CFepCtrlDropdownList::ClearBubble()
-    {
-    if ( iBubbleCtrl && iBubbleCtrl->IsShowing())
-        {
-        iBubbleCtrl->Close();
-        }
-    }
-       
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::ReDrawBubble
-// ReDraw preview bubble
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CFepCtrlDropdownList::ReDrawBubble()
-    {
-    if(iBubbleCtrl && iBubbleCtrl->IsShowing())
-        {
-        iBubbleCtrl->Draw();
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::ReDrawRect
-// ReDraw Dropdown list rect
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CFepCtrlDropdownList::ReDrawRect(const TRect& /*aRect*/)
-    {   
-	if(!AbleToDraw())
-        return;
-    
-    if (!iFirstTimeConstruct)
-    	{
-  	    iListManager->ActiveList()->Draw();
-    	}
-    } 
-	
-// end adding
-
-// End Of File
--- a/textinput/peninputcommonctrls/src/peninputdropdownlist/peninputlist.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,984 +0,0 @@
-/*
-* 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:  Abstract base class for drop-down list objects
-*
-*/
-
-#include <fbs.h>
-
-#include "peninputlist.h"
-#include "peninputcandidate.h"
-#include "peninputpluginutils.h"
-#include <AknsDrawUtils.h> 
-#include "peninputdropdownlist.h"
-#include "peninputlayout.h"
-
-const TInt KInvalidCandIndex = -1;
-
-// ======== MEMBER FUNCTIONS ========
-
-// Implementation of Class CList 
-
-// -----------------------------------------------------------------------------
-// CList::CList
-// construtor function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CList::CList(CListManager* aManager, MFepCtrlDropdownListContext *aOwner) 
-: iOwner(aOwner), iManager(aManager), iNextButtonDisable(ETrue),
-  iPreviousButtonDisable(ETrue)
-    {
-    }
-    
-// -----------------------------------------------------------------------------
-// CList::~CList
-// desstrutor function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CList::~CList()
-    {     
-    }
-
-// -----------------------------------------------------------------------------
-// CList::ConstructL
-// 2nd construtor function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CList::ConstructL()
-    {
-    // Pre calculate all areas
-    CalculateAreas();
-    }
-    
-// -----------------------------------------------------------------------------
-// CList::HandlePointerDownL
-// handle pointer down 
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CList::HandlePointerDownL(const TPoint& aPoint)
-    {
-    // position where the tap occurred
-
-    // set clicked rect as empty rect
-    iClickedRect = KEmptyRect;
-
-    // Check if content rect tapped
-    if ( iContentRect.Contains(aPoint) )
-        {
-        CCandidate* candidate = FindCandidate(aPoint, iClickedCandidateIndex);
-        
-        if ( candidate )
-            {
-			#ifdef RD_TACTILE_FEEDBACK
-	        static_cast<CFepCtrlDropdownList*>(iOwner)->UiLayout()->
-	            DoTactileFeedback(ETouchFeedbackBasic);
-			#endif //RD_TACTILE_FEEDBACK
-            TRect rect = candidate->GetRect();
-            iClickedRect.SetRect(rect.iTl,rect.iBr);
-
-            // Set the flag to indicate that candidate button has been pressed down
-            // so that we know to draw correctly
-            iIndicateButtonClicked = ETrue ;
-            DrawSelection(iClickedRect,ETrue);
-            DrawHighightCell(iClickedRect,EFalse);
-            }
-        else
-            {
-            iClickedRect = KDummyRect;
-            // This is a dummy value so that we know
-            // in HandlePointerUpL that iClickedRect is
-            // is not empty but the pointer down event did
-            // not occure inside any valid rect such as
-            // candidate rect or any of the navigation rects
-            }
-        }
-    } 
-
-// -----------------------------------------------------------------------------
-// CList::HandlePointerDragL
-// handle pointer drag function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CList::HandlePointerDragL(const TPoint& /*aPoint*/)
-    {
-    }
-    
-// -----------------------------------------------------------------------------
-// CList::HandlePointerUpL
-// handle pointer up function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CList::HandlePointerUpL( const TPoint& /*aPoint*/)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CList::HandlePointerLeave
-// handle pointer leave function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CList::HandlePointerLeave(const TPoint& /*aPoint*/)
-    {
-    DrawSelection( iClickedRect, EFalse );
-    DrawHighightCell(iClickedRect, ETrue);
-    }
-    
-// -----------------------------------------------------------------------------
-// CList::Draw
-// draw the list
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CList::Draw()
-    {
-    // Draw mask
-    iOwner->DrawMask(iRect);
-    
-    // Active bitmap context
-    iOwner->ActivateBitmapContext();
-
-    iOwner->Gc()->SetBrushStyle(CGraphicsContext::ESolidBrush);
-    iOwner->Gc()->SetBrushColor(iOwner->GetBgColor());
-    iOwner->Gc()->SetPenSize(iOwner->GetPenSize());       
-    iOwner->Gc()->SetPenStyle(CGraphicsContext::ESolidPen);
-    iOwner->Gc()->SetPenColor( iOwner->GetBorderColor() );          
-    iOwner->Gc()->DrawRect(iRect); 
-    
-    }
-
-// -----------------------------------------------------------------------------
-// CList::Rect
-// get the rect of list
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TRect& CList::Rect()
-    {
-    return iRect;
-    }
-
-// -----------------------------------------------------------------------------
-// CList::UpdateList
-// update the list
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CList::UpdateListL(TBool /*aDrawFlag*/, TBool /*aRecalculate*/)
-    {
-    // Do nothing, every derived class will have its action
-    }
-
-
-// -----------------------------------------------------------------------------
-// CList::ResetStatus
-// update the list
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CList::ResetStatus()
-    {
-    iPenDownInCandidate = EFalse;
-    iClickedRect = KEmptyRect;
-    }
-    
-// -----------------------------------------------------------------------------
-// CList::FindCandidate
-// find candidate according to the assigned position
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//    
-CCandidate* CList::FindCandidate(const TPoint& aPosition, TInt& aIndex)
-    {
-    CCandidate* candidate = NULL;
-    
-    aIndex = KErrNotFound;
-
-    if ( iOwner->CandidateCount() > 0 )
-        {
-        // Loop through the candidates and find the one that contains
-        // the TPoint aPosition
-        for (TInt i = iOwner->GetFirstCandidateIndex(); i < iOwner->GetLastCandidateIndex(); i++)
-            {
-            candidate = iOwner->GetCandidate(i); 
-            
-            if ( !candidate )
-                {
-                continue;
-                }
-                
-            TRect rect = candidate->GetRect();
-            
-            if ( rect.Contains(aPosition) )
-                {
-                // We found the candidate
-                aIndex = i;
-                return candidate;
-                }
-            }
-        }
-        
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// CList::CalculatePositionsL
-// calculate the position of all visible cells in the list
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CList::CalculatePositionsL()
-    {
-    return 0;
-    }
-
-// -----------------------------------------------------------------------------
-// CList::SetHighlightCell
-// Set cell to highlight or not
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CList::SetHighlightCell(const TInt aCellIndex, TBool aHighlight, TBool aForceDraw)
-    {
-    if ( !aForceDraw && iPenDownInCandidate ) 
-        {
-        return;        
-        }
-        
-    if ( ( aCellIndex<0 ) || ( aCellIndex > iOwner->CandidateCount() ) )
-        {
-        return;
-        }
-
-    CCandidate* candidate = iOwner->GetCandidate(aCellIndex);
-    
-    if ( ! candidate )
-        {
-        return;
-        }
-
-    TRect rect = candidate->GetRect();
-    
-    iOwner->DrawMask(rect);
-    iOwner->ActivateBitmapContext();
-
-	if (!iDropdownListDrawInfo.iSupportSkin)
-		{
-	    iOwner->Gc()->SetBrushStyle(CGraphicsContext::ENullBrush); 
-	    iOwner->Gc()->SetPenSize(iOwner->GetPenSize());
-	    iOwner->Gc()->SetPenStyle(CGraphicsContext::ESolidPen);
-	    iOwner->Gc()->SetPenColor(iOwner->GetBorderColor());
-
-	    // Draw the bottom and right line
-	    iOwner->Gc()->DrawLine( TPoint(rect.iTl.iX, rect.iBr.iY),rect.iBr);
-	    iOwner->Gc()->DrawLine( TPoint(rect.iBr.iX, rect.iTl.iY),rect.iBr);
-	    
-	    // also draw left and top line
-	    if (iOwner->GetCellHorizontalMargin() != 0)
-	        {
-	        iOwner->Gc()->DrawLine(rect.iTl, TPoint(rect.iTl.iX, rect.iBr.iY));
-	        }
-	        
-	    if (iOwner->GetCellVerticalMargin() != 0)
-	        {
-	        iOwner->Gc()->DrawLine(rect.iTl, TPoint(rect.iBr.iX, rect.iTl.iY));
-	        }
-
-	    rect.Shrink(TSize(1,1));
-	    
-	    if ((iIsMultiRows) && (iOwner->GetCellVerticalMargin() == 0))
-	        {        
-	        if ( ( rect.iTl.iY - 1 - Rect().iTl.iY ) != ( iOwner->GetRowNum() - 1 ) * 
-                                                      iOwner->GetCellHeight() )
-	            {
-	            //If it isn't the last row
-	            rect.iBr.iY = rect.iBr.iY + 1;
-	            }
-	        }
-		}
-
-    const CFbsBitmap* bmp = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapHighlight);
-    if ( bmp )
-        {
-        if (aHighlight)
-            {
-            CFbsBitmap* bmpTemp = const_cast<CFbsBitmap*>(bmp);
-            AknIconUtils::SetSize(bmpTemp, rect.Size(), EAspectRatioNotPreserved);
-            
-            if (iDropdownListDrawInfo.iSupportSkin)
-                {
-                CBitmapDb::TBitmapType bmpID = CBitmapDb::EBitmapHighlight;
-                CBitmapDb::TBitmapType maskBmpID = CBitmapDb::EBitmapHighlightMask;             
-                bmp = iOwner->GetBitmapDb()->GetBitMap(bmpID);
-                bmpTemp = const_cast<CFbsBitmap*>(bmp);
-                iOwner->Gc()->DrawBitmapMasked(rect, 
-                                               bmp, 
-                                               bmp->SizeInPixels(), 
-                                               iOwner->GetBitmapDb()->GetBitMap(maskBmpID),
-                                               ETrue);
-                }
-            else
-            	{
-	            iOwner->Gc()->DrawBitmapMasked(rect, 
-	                                           bmp, 
-	                                           bmp->SizeInPixels(), 
-	                                           iOwner->GetBitmapDb()->GetBitMap(
-                                                                  CBitmapDb::EBitmapHighlightMask),
-	                                           ETrue);
-            	}
-            }
-        else
-            {
-            // Draw bitmap
-            if (iDropdownListDrawInfo.iSupportSkin)
-            	{
-			    TRect innerRect = rect;
-			    innerRect.Shrink( 4, 0 );
-			    
-				AknPenInputDrawUtils::Draw3PiecesFrame(AknsUtils::SkinInstance(),
-										   *iOwner->Gc(),
-										   rect,
-										   innerRect,
-										   iDropdownListDrawInfo.iCandidateLeftImgID,
-										   iDropdownListDrawInfo.iCandidateMiddleImgID,
-										   iDropdownListDrawInfo.iCandidateRightImgID);
-            	}
-        	else
-        		{
-	            bmp = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapPrimary);
-	            iOwner->Gc()->DrawBitmapMasked(rect, 
-	                                           bmp, 
-	                                           bmp->SizeInPixels(), 
-	                                           iOwner->GetBitmapDb()->GetBitMap(
-                                                                    CBitmapDb::EBitmapPrimaryMask),
-	                                           ETrue);
-        		}
-            }
-        }
-    else
-        {
-        if (aHighlight)
-            {
-            iOwner->Gc()->SetBrushColor(iOwner->GetHighLightBgColor());
-            }
-        else
-            {
-            iOwner->Gc()->SetBrushColor(iOwner->GetBgColor());        
-            }
-
-        iOwner->Gc()->SetPenStyle(CGraphicsContext::ENullPen);
-        iOwner->Gc()->SetBrushStyle( CGraphicsContext::ESolidBrush );
-
-        rect.Shrink(TSize(1,1));
-
-        iOwner->Gc()->DrawRect(rect);
-
-        rect.Shrink(TSize(-1,-1));
-        }       
-    
-    // draw canditate's text
-    iOwner->Gc()->UseFont(iOwner->GetFont());
-
-    candidate->DrawText(*iOwner->Gc(),iOwner->GetAlignment(),
-                        iOwner->GetTextMargin(),
-                        iOwner->GetTextColor(),
-                        iOwner->GetSpecialTextColor(),
-                        iOwner->GetFixedText());
-    
-    iOwner->Gc()->DiscardFont();      
-    iOwner->Invalidate(candidate->GetRect());
-    }
-
-// -----------------------------------------------------------------------------
-// CList::DrawSelection
-// Draw selection cell just selected
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//        
-void CList::DrawSelection(const TRect& aRect, TBool aIndicate)
-    {
-    // Check whether the rect that should be redrawn is in content rect   
-    TRect tmpRect = iContentRect;
-    tmpRect.Intersection(aRect);
-    
-    if ( tmpRect == aRect )
-        {
-        // rect is inside content rect thus we
-        // should be drawing candidate press
-        DrawCandidatePress(aRect, aIndicate);
-        }
-    else
-        {
-        // rect is inside navigation rect thus we
-        // should be drawing navigation press
-        DrawNavigationPress(aRect, aIndicate);     
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CList::DrawCandidatePress
-// draw candidate when pressed or un-pressed
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CList::DrawCandidatePress(const TRect& aRect, TBool aIndicate)
-    {
-    // We are dealing with the candidates
-    TInt index = 0;
-    // Get the candidate
-    CCandidate* candidate = FindCandidate(aRect.Center(), index);
-    
-    if (!candidate)
-        {
-        return;
-        }
-        
-    iOwner->DrawMask(aRect);
-    
-    iOwner->ActivateBitmapContext();
-    
-    iPenDownInCandidate = EFalse;
-    
-    TBool isDrawBmp = ETrue;
-    CBitmapDb::TBitmapType bmpID = CBitmapDb::EBitmapPrimary;
-    CBitmapDb::TBitmapType maskBmpID = CBitmapDb::EBitmapPrimaryMask;
-    const CFbsBitmap* bmp = NULL;
-    // set bg color
-    if ( aIndicate )
-        {
-        bmp = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapPenDown);
-        if ( bmp )
-            {
-            // Draw bitmap
-            bmpID = CBitmapDb::EBitmapPenDown;
-            maskBmpID = CBitmapDb::EBitmapPenDownMask;
-            isDrawBmp = ETrue;                       
-            iPenDownInCandidate = ETrue;           
-            }
-        else
-            {
-            iOwner->Gc()->SetBrushColor(iOwner->GetButtonDownBgColor());
-            }                
-        }
-    else
-        {
-        const RArray<TInt>& secondaryList = iOwner->GetSecondaryList();
-        
-        if ( iOwner->IsEnableSecondary() && (secondaryList.Find(index) != KErrNotFound) )
-            {
-            bmp = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapSecondary);
-            if ( bmp )
-                {
-                // Draw bitmap
-                bmpID = CBitmapDb::EBitmapSecondary;
-                maskBmpID = CBitmapDb::EBitmapSecondaryMask;
-                isDrawBmp = ETrue;                                           
-                }
-            else            
-                {
-                bmp = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapPrimary);
-                if ( bmp )
-                    {
-                    // Draw bitmap
-                    bmpID = CBitmapDb::EBitmapPrimary;
-                    maskBmpID = CBitmapDb::EBitmapPrimaryMask;
-                    isDrawBmp = ETrue;                                           
-                    }
-                else            
-                    {
-                    // If enable multi color and the color has been set, then use the color
-                    iOwner->Gc()->SetBrushColor(iOwner->GetBgColor());                    
-                    }
-                }                            
-            }
-        else
-            {
-            // Else use background color
-            bmp = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapPrimary);
-            if ( bmp )
-                {
-                bmpID = CBitmapDb::EBitmapPrimary;
-                maskBmpID = CBitmapDb::EBitmapPrimaryMask;
-                isDrawBmp = ETrue;                   
-                }
-            else
-                {
-                iOwner->Gc()->SetBrushColor(iOwner->GetBgColor());
-                }            
-            }
-        }
-    
-    // Get the candidate rect
-    TRect rect = candidate->GetRect();
-    
-    if (!iDropdownListDrawInfo.iSupportSkin)
-    	{
-	    iOwner->Gc()->SetBrushStyle( CGraphicsContext::ENullBrush ); 
-	    iOwner->Gc()->SetPenSize(iOwner->GetPenSize());
-	    iOwner->Gc()->SetPenStyle(CGraphicsContext::ESolidPen);
-	    iOwner->Gc()->SetPenColor(iOwner->GetBorderColor());
-
-	    // Draw the bottom line
-	    iOwner->Gc()->DrawLine( TPoint(rect.iTl.iX, rect.iBr.iY),rect.iBr );
-	    iOwner->Gc()->DrawLine( TPoint(rect.iBr.iX, rect.iTl.iY),rect.iBr );
-	    
-	    if (iOwner->GetCellHorizontalMargin() != 0)
-	        {
-	        iOwner->Gc()->DrawLine(rect.iTl, TPoint(rect.iTl.iX, rect.iBr.iY));
-	        }
-	        
-	    if (iOwner->GetCellVerticalMargin() != 0)
-	        {
-	        iOwner->Gc()->DrawLine(rect.iTl, TPoint(rect.iBr.iX, rect.iTl.iY));
-	        }
-
-	    rect.Shrink(TSize(1,1));
-	    
-	    if ((iIsMultiRows) && (iOwner->GetCellVerticalMargin() == 0))
-	        {        
-	        if ( ( rect.iTl.iY - 1 - Rect().iTl.iY ) != ( iOwner->GetRowNum() - 1 ) * 
-                                                      iOwner->GetCellHeight() )
-	            {
-	            //If it isn't the last row
-	            rect.iBr.iY = rect.iBr.iY + 1;
-	            }
-	        }
-    	}
-        
-    if ( isDrawBmp )
-        {
-        if (iDropdownListDrawInfo.iSupportSkin)
-        	{
-			if ( aIndicate )
-				{
-/*				
-				iOwner->Gc()->SetPenStyle(CGraphicsContext::ENullPen);
-		        iOwner->Gc()->SetBrushStyle( CGraphicsContext::ESolidBrush );    
-		        iOwner->Gc()->SetBrushColor(iDropdownListDrawInfo.iCandidatesHighlightColor);
-		        
-		        // Draw the whole rect without border
-		        iOwner->Gc()->DrawRect( rect );  	*/
-		        
-                /*bmpID = CBitmapDb::EBitmapHighlight;
-                maskBmpID = CBitmapDb::EBitmapHighlightMask;		        
-	            bmp = iOwner->GetBitmapDb()->GetBitMap(bmpID);
-	            iOwner->Gc()->DrawBitmapMasked(rect, 
-	                                           bmp, 
-	                                           bmp->SizeInPixels(), 
-	                                           iOwner->GetBitmapDb()->GetBitMap(maskBmpID),
-	                                           ETrue); 		*/
-                TRect innerRect = rect;
-                innerRect.Shrink( 4, 0 );
-                
-                // ----- draw bitmaps -----
-                iOwner->ActivateBitmapContext();
-                iOwner->Gc()->Clear(rect);
-                    
-                
-                
-                AknPenInputDrawUtils::Draw3PiecesFrame(AknsUtils::SkinInstance(),
-                                           *iOwner->Gc(),
-                                           rect,
-                                           innerRect,
-                                           iDropdownListDrawInfo.iCandidatePressedLeftImgID,
-                                           iDropdownListDrawInfo.iCandidatePressedMiddleImgID,
-                                           iDropdownListDrawInfo.iCandidatePressedRightImgID);				
-				}
-			else
-				{
-			    TRect innerRect = rect;
-			    innerRect.Shrink( 4, 0 );
-			    
-			    // ----- draw bitmaps -----
-			    iOwner->ActivateBitmapContext();
-			    iOwner->Gc()->Clear(rect);
-			    	
-				
-				
-				AknPenInputDrawUtils::Draw3PiecesFrame(AknsUtils::SkinInstance(),
-										   *iOwner->Gc(),
-										   rect,
-										   innerRect,
-										   iDropdownListDrawInfo.iCandidateLeftImgID,
-										   iDropdownListDrawInfo.iCandidateMiddleImgID,
-										   iDropdownListDrawInfo.iCandidateRightImgID);
-				}
-        	}
-        else
-        	{
-	        bmp = iOwner->GetBitmapDb()->GetBitMap(bmpID);
-	        iOwner->Gc()->DrawBitmapMasked(rect, 
-	                                       bmp, 
-	                                       bmp->SizeInPixels(), 
-	                                       iOwner->GetBitmapDb()->GetBitMap(maskBmpID), 
-	                                       ETrue);
-        	}
-        }
-    else
-        {
-        iOwner->Gc()->SetPenStyle(CGraphicsContext::ENullPen);
-        iOwner->Gc()->SetBrushStyle( CGraphicsContext::ESolidBrush );    
-        // Draw the whole rect without border
-        iOwner->Gc()->DrawRect( rect );      
-        }
-        
-    // draw canditate's text
-    iOwner->Gc()->UseFont(iOwner->GetFont());
-    TRgb textColor;
-    if (aIndicate)
-        {
-        textColor = iOwner->GetHighLightTextColor();
-        }
-    else
-        {
-        textColor = iOwner->GetTextColor();
-        }
-        
-    candidate->DrawText(*iOwner->Gc(),iOwner->GetAlignment(),
-                        iOwner->GetTextMargin(),        
-                        textColor,
-                        iOwner->GetSpecialTextColor(),
-                        iOwner->GetFixedText());      
-                        
-    iOwner->Gc()->DiscardFont();
-    
-    // Invalidate the rect
-    iOwner->Invalidate(aRect);
-    }
-
-// -----------------------------------------------------------------------------
-// CList::DrawNavigationPress
-// draw navigation button when pressed or un-pressed
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CList::DrawNavigationPress(const TRect& /*aRect*/, TBool /*aIndicate*/)
-    {
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// CList::CalculateAreas
-// Calculate all kinds of rectangles
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//    
-void CList::CalculateAreas()
-    {
-    //
-    }
-
-// -----------------------------------------------------------------------------
-// CList::SizeChanged
-// size changed function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CList::SizeChanged()
-    {
-    CalculateAreas();
-    }
-
-// -----------------------------------------------------------------------------
-// CList::DrawCandidates
-// draw all visible candidates to the list
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//    
-void CList::DrawCandidates()
-    {    
-    const RArray<TInt>& secondaryList = iOwner->GetSecondaryList();
-    
-    TBool isDrawBmp = EFalse;
-    CBitmapDb::TBitmapType bmpID = CBitmapDb::EBitmapPrimary;
-    CBitmapDb::TBitmapType maskBmpID = CBitmapDb::EBitmapPrimaryMask;
-    const CFbsBitmap* bmp = NULL;         
-    for(TInt i = iOwner->GetFirstCandidateIndex(); i < iOwner->GetLastCandidateIndex(); i++)
-        {
-        CCandidate* candidate = iOwner->GetCandidate(i);
-        if ( !candidate )
-            {
-            continue;
-            }
-            
-        TRect rect = candidate->GetRect();
- 
-        if (iDropdownListDrawInfo.iSupportSkin)
-        	{
-        	
-        	if (iOwner->GetHighlightList().Find(i) != KErrNotFound)
-        		{
-				/*iOwner->Gc()->SetPenStyle(CGraphicsContext::ENullPen);
-		        iOwner->Gc()->SetBrushStyle( CGraphicsContext::ESolidBrush );    
-		        iOwner->Gc()->SetBrushColor(iDropdownListDrawInfo.iCandidatesHighlightColor);
-		        // Draw the whole rect without border
-		        iOwner->Gc()->DrawRect( rect );*/
-                bmpID = CBitmapDb::EBitmapHighlight;
-                maskBmpID = CBitmapDb::EBitmapHighlightMask;		        
-	            bmp = iOwner->GetBitmapDb()->GetBitMap(bmpID);
-	            iOwner->Gc()->DrawBitmapMasked(rect, 
-	                                           bmp, 
-	                                           bmp->SizeInPixels(), 
-	                                           iOwner->GetBitmapDb()->GetBitMap(maskBmpID),
-	                                           ETrue);
-        		}
-        	else
-        		{
-			    TRect innerRect = rect;
-			    innerRect.Shrink( 4, 0 );
-			    
-			    // ----- draw bitmaps -----
-			 	iOwner->ActivateBitmapContext();                
-			    	
-				
-				AknPenInputDrawUtils::Draw3PiecesFrame(AknsUtils::SkinInstance(),
-													   *iOwner->Gc(),
-													   rect,
-													   innerRect,
-													   iDropdownListDrawInfo.iCandidateLeftImgID,
-													   iDropdownListDrawInfo.iCandidateMiddleImgID,
-													   iDropdownListDrawInfo.iCandidateRightImgID);
-        		}
-        	}
-        else
-        	{
-	        if ( iOwner->IsEnableSecondary() && ( secondaryList.Find(i) != KErrNotFound) )
-	            {
-	            bmp = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapSecondary);
-	            if ( bmp )
-	                {
-	                // Draw bitmap
-	                bmpID = CBitmapDb::EBitmapSecondary;
-	                maskBmpID = CBitmapDb::EBitmapSecondaryMask;
-	                isDrawBmp = ETrue;                                           
-	                }
-	            else            
-	                {
-	                bmp = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapPrimary);
-	                if ( bmp )
-	                    {
-	                    // Draw bitmap
-	                    bmpID = CBitmapDb::EBitmapPrimary;
-	                    maskBmpID = CBitmapDb::EBitmapPrimaryMask;
-	                    isDrawBmp = ETrue;                                           
-	                    }
-	                else            
-	                    {
-	                    // If enable multi color and the color has been set, then use the color
-	                    iOwner->Gc()->SetBrushColor(iOwner->GetBgColor());                    
-	                    }
-	                }                            
-	            }
-	        else if (iOwner->GetHighlightList().Find(i) != KErrNotFound)
-	            {
-	            bmp = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapHighlight);
-	            if ( bmp )
-	                {
-	                // Draw bitmap
-	                bmpID = CBitmapDb::EBitmapHighlight;
-	                maskBmpID = CBitmapDb::EBitmapHighlightMask;
-	                isDrawBmp = ETrue;                                           
-	                }
-	            else            
-	                {
-	                // If the cell is set to highlight, use high light color
-	                iOwner->Gc()->SetBrushColor(iOwner->GetHighLightBgColor());
-	                }                                        
-	            }
-	        else
-	            {
-	            // Else use background color
-	            bmp = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapPrimary);
-	            if ( bmp )
-	                {
-	                bmpID = CBitmapDb::EBitmapPrimary;
-	                maskBmpID = CBitmapDb::EBitmapPrimaryMask;
-	                isDrawBmp = ETrue;                   
-	                }
-	            else
-	                {
-	                iOwner->Gc()->SetBrushColor(iOwner->GetBgColor());
-	                }            
-	            }         
-
-	        iOwner->Gc()->SetBrushStyle( CGraphicsContext::ENullBrush ); 
-	        iOwner->Gc()->SetPenSize(iOwner->GetPenSize());
-	        iOwner->Gc()->SetPenStyle(CGraphicsContext::ESolidPen);
-	        iOwner->Gc()->SetPenColor(iOwner->GetBorderColor());
-	        // Draw the bottom line
-	        iOwner->Gc()->DrawLine( rect.iTl, TPoint(rect.iBr.iX, rect.iTl.iY) );
-	        iOwner->Gc()->DrawLine( TPoint(rect.iTl.iX, rect.iBr.iY),rect.iBr );
-	        iOwner->Gc()->DrawLine( TPoint(rect.iBr.iX, rect.iTl.iY),rect.iBr );
-	        
-	        if (iOwner->GetCellHorizontalMargin() != 0)
-	            {
-	            iOwner->Gc()->DrawLine(rect.iTl, TPoint(rect.iTl.iX, rect.iBr.iY));
-	            }
-
-	        rect.Shrink(TSize(1,1));
-
-	        if ( isDrawBmp )
-	            {
-                bmpID = CBitmapDb::EBitmapSecondary;
-                maskBmpID = CBitmapDb::EBitmapSecondaryMask;	            
-	            bmp = iOwner->GetBitmapDb()->GetBitMap(bmpID);
-	            iOwner->Gc()->DrawBitmapMasked(rect, 
-	                                           bmp, 
-	                                           bmp->SizeInPixels(), 
-	                                           iOwner->GetBitmapDb()->GetBitMap(maskBmpID),
-	                                           ETrue);                        
-	            }
-	        else
-	            {            
-	            iOwner->Gc()->SetPenStyle(CGraphicsContext::ENullPen);
-	            iOwner->Gc()->SetBrushStyle( CGraphicsContext::ESolidBrush );    
-	            iOwner->Gc()->DrawRect(rect);
-	            }
-        	}
-        
-        // Draw the text of the candidate
-        iOwner->Gc()->UseFont(iOwner->GetFont());
-        candidate->DrawText(*iOwner->Gc(),iOwner->GetAlignment(),
-                                          iOwner->GetTextMargin(),        
-                                          iOwner->GetTextColor(),
-                                          iOwner->GetSpecialTextColor(),
-                                          iOwner->GetFixedText());
-        }
-    iOwner->Gc()->DiscardFont();
-    }
-
-// -----------------------------------------------------------------------------
-// CList::CompareRect
-// Compare two rect is equal or not
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CList::CompareRect(const TRect& aSrcRect, const TRect& aDesRect)
-    {
-    
-    if (aSrcRect == aDesRect)
-        {
-        DrawSelection(iClickedRect, ETrue);
-        DrawHighightCell(iClickedRect, EFalse);
-        return ETrue;        
-        }
-    else
-        {
-        TBool hasDraw = EFalse;
-        const RArray<TInt>& highLightList = iOwner->GetHighlightList();        
-        for (TInt i=0; i < highLightList.Count(); i++ )
-            {
-            CCandidate* candidate = iOwner->GetCandidate(i);        
-            if ( candidate )
-                {
-                if ( iClickedRect == candidate->GetRect() )
-                    {
-                    DrawHighightCell(iClickedRect, ETrue);
-                    hasDraw = ETrue;
-                    break;
-                    }
-                }
-            }        
-      
-        if ( !hasDraw )
-            {
-            DrawSelection(iClickedRect, EFalse);
-            DrawHighightCell(iClickedRect, ETrue);
-            }
-
-        return EFalse;        
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CList::Move
-// when the drop down list is moved, the function will be called.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CList::Move(const TPoint& aOffsetPoint)
-    {
-    // Move the iRect
-    iRect.Move(aOffsetPoint);
-    
-    // Move the content rect
-    iContentRect.Move(aOffsetPoint);
-    
-    // Move the navigation rect
-    iNavigationRect.Move(aOffsetPoint);
-    
-    // Move the close button rect
-    iNavigationCloseRect.Move(aOffsetPoint);
-    
-    // Move the up button rect
-    iNavigationPreviousRect.Move(aOffsetPoint);
-    
-    // Move the down button rect
-    iNavigationNextRect.Move(aOffsetPoint);
-    
-    }
-
-void CList::DrawHighightCell(const TRect& aSrcRect, const TBool aIndidate)
-    {
-    const RArray<TInt>& highLightList = iOwner->GetHighlightList();
-
-    TInt candIdx;
-    for (TInt i = 0; i < highLightList.Count(); i++)
-        {
-        candIdx = highLightList[i];
-
-        // if highlight candidate are not in current page, then do not draw it
-        if ((candIdx >= iOwner->GetFirstCandidateIndex()) &&
-            (candIdx <= iOwner->GetLastCandidateIndex()))
-            {
-            CCandidate* candidate = iOwner->GetCandidate(candIdx);
-            
-            if (candidate)
-                {
-                if (aSrcRect == candidate->GetRect())
-                    {
-                    if (aIndidate)
-                        {
-                        SetHighlightCell(candIdx, ETrue);
-                        }
-
-                    continue;    
-                    }
-                }
-            }
-        }
-    }
-    
-TInt CList::StartCandIdxOfLine(TInt /*aCandIndex*/)
-    {
-    return KInvalidCandIndex;
-    }
-    
-void CList::SetNextPageHighlightCellAfterOnePageL(const TInt /*aCellIndex*/)
-    {
-    }
-
-void CList::SetDropdownListImgID(TDropdownListDrawInfo aDropdownListDrawInfo)
-	{
-	iDropdownListDrawInfo = aDropdownListDrawInfo;
-	}
-	
-
-// End Of File
--- a/textinput/peninputcommonctrls/src/peninputdropdownlist/peninputlistexpandablemultirowwithouticon.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,299 +0,0 @@
-/*
-* 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:  Multi rows list without icon for drop-down list objects
-*
-*/
-
-
-
-// Include 
-#include <peninputdropdownlistcontext.h>
-#include <peninputdropdownlist.h>
-
-#include "peninputlist.h"
-#include "peninputlistexpandablemultirowwithouticon.h"
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// Implementation of Class CListExpandableMultiRowWithoutIcon 
-
-// -----------------------------------------------------------------------------
-// CListExpandableMultiRowWithoutIcon::CListExpandableMultiRowWithoutIcon
-// C++ default constructor can NOT contain any code, that
-// might leave
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CListExpandableMultiRowWithoutIcon::CListExpandableMultiRowWithoutIcon( CListManager* aManager, 
-                          MFepCtrlDropdownListContext *aOwner )
-						  :CList( aManager, aOwner )
-    {
-    iIsMultiRows = ETrue;
-    }
-
-// -----------------------------------------------------------------------------
-// CListExpandableMultiRowWithoutIcon::NewL
-// factory function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CListExpandableMultiRowWithoutIcon* CListExpandableMultiRowWithoutIcon::NewL( 
-										CListManager* aManager, 
-                          				MFepCtrlDropdownListContext *aOwner )
-    {
-    CListExpandableMultiRowWithoutIcon* self 
-		= new (ELeave) CListExpandableMultiRowWithoutIcon( aManager, aOwner );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CListExpandableMultiRowWithoutIcon::~CListExpandableMultiRowWithoutIcon
-// desstrutor function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CListExpandableMultiRowWithoutIcon::~CListExpandableMultiRowWithoutIcon()
-    {     
-    }
-
-// -----------------------------------------------------------------------------
-// CListExpandableMultiRowWithoutIcon::HandlePointerDragL
-// handle pointer drag function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListExpandableMultiRowWithoutIcon::HandlePointerDragL( const TPoint& aPoint )
-    {
-    // Pass the event first to the base
-    CList::HandlePointerDragL( aPoint );
-    
-    if ( !iClickedRect.IsEmpty() )
-        {
-		// clicked rect is not outside the whole DDL
-        TInt index = -1;
-        
-        CCandidate* candidate = FindCandidate( aPoint, index );
-        iMoveLatestRect = KEmptyRect;
-        
-        if ( candidate )
-            {
-            // candidate exist
-            iMoveLatestRect.SetRect( candidate->GetRect().iTl, 
-									 candidate->GetRect().Size() );
-            }
-        
-        // Compare the two rect, then decide draw it or not
-        CompareRect( iMoveLatestRect, iClickedRect );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CListExpandableMultiRowWithoutIcon::HandlePointerUpL
-// handle pointer up function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListExpandableMultiRowWithoutIcon::HandlePointerUpL( const TPoint& aPoint )
-    {  
-	// clicked rect is outside the whole DDL
-    if ( iClickedRect.IsEmpty() )
-        {
-        iOwner->SetCapture( EFalse );
-        // Change active list object ie. close the DDL
-        iOwner->AutoChangeActiveList( iOwner->GetFirstCandidateIndex() );
-        }
-    else
-        {
-        if ( ( iContentRect.Contains( aPoint ) ) 
-        	&& ( iClickedRect.Contains( aPoint ) ) )
-            {
-            // Redraw the selected aread    
-            DrawSelection( iClickedRect, EFalse );
-            
-            iOwner->SetCapture( EFalse );
-            
-            // We have selected a candidate and iClickedCandidateIndex is 
-			//	the selected Index.
-            // Send the candidate to others
-            if (iClickedCandidateIndex != KErrNotFound)
-                {
-		        iOwner->AutoChangeActiveList( 
-									iOwner->GetFirstCandidateIndex() );
-                CCandidate* candidate = iOwner->GetCandidate( 
-												iClickedCandidateIndex );
-                if ( candidate )
-                    {
-                    iOwner->ReportCandidateSelectEventL( 
-												candidate->GetCandidate(),
-                                                iClickedCandidateIndex );
-                    }
-                }
-            }
-
-        iClickedRect = KEmptyRect;
-        }
-
-    iIndicateButtonClicked = EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// CListExpandableMultiRowWithoutIcon::Draw
-// draw the list
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListExpandableMultiRowWithoutIcon::Draw()
-    {
-    // Call draw in base class;
-    CList::Draw();
-    
-    // Draw all visible candidates
-    DrawCandidates();
-    iOwner->Invalidate(iRect);
-    }
-
-// -----------------------------------------------------------------------------
-// CListExpandableMultiRowWithoutIcon::CalculateAreas
-// Calculate all kinds of rectangles
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListExpandableMultiRowWithoutIcon::CalculateAreas()
-    {
-    // Calculate the rect of the list
-    iRect.iTl = iOwner->GetTopLeftPoint();
-    TInt width = iOwner->GetCellWidth() * iOwner->GetColNum() + 
-                 iOwner->GetNaviWidth() + 
-                 (iOwner->GetColNum() + 2) * iOwner->GetCellHorizontalMargin();
-
-    TInt height = iOwner->GetCellHeight() * iOwner->GetRowNum() + 
-                  (iOwner->GetRowNum() + 1) * iOwner->GetCellVerticalMargin();
-
-    iRect.SetSize(TSize( width,height));
-    
-    if (iOwner->CandExpandType() == CFepCtrlDropdownList::ECandExpandUpward)
-        {
-        // expand upward
-        TInt onerowheight = iOwner->GetCellHeight() + 2 * iOwner->GetCellVerticalMargin();
-        iRect.Move(0, -(height - onerowheight));
-        }
-
-    // Calculate the rect of the content
-    iContentRect.iTl.SetXY(iRect.iTl.iX + iOwner->GetCellHorizontalMargin(),
-                           iRect.iTl.iY + iOwner->GetCellVerticalMargin());
-
-    iContentRect.SetSize(TSize (width - 2 * iOwner->GetCellHorizontalMargin(),
-                                height - 2 * iOwner->GetCellVerticalMargin()));
-
-    // Initialized the rect of the navigation area and the down and up button
-    iNavigationRect = KEmptyRect;
-    iNavigationNextRect = KEmptyRect;
-    iNavigationPreviousRect = KEmptyRect;
-    }
-
-// -----------------------------------------------------------------------------
-// CListExpandableMultiRowWithoutIcon::CalculatePositionsL
-// calculate the position of all visible cells in the list
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//     
-TInt CListExpandableMultiRowWithoutIcon::CalculatePositionsL()
-    {
-    TInt lastCandidateIndex = iOwner->GetLastCandidateIndex();
-	TInt count = iOwner->CandidateCount();
-
-    if ( count > 0 )
-        {
-        TPoint setpoints;
-        TBool candHLToR = (iOwner->CandHDirection() == CFepCtrlDropdownList::ECandFromLToR);
-        candHLToR ? setpoints.SetXY(iContentRect.iTl.iX, iContentRect.iTl.iY) : 
-                    setpoints.SetXY(iContentRect.iBr.iX, iContentRect.iTl.iY);
-
-       	count = Min( count, lastCandidateIndex 
-					+ ( iOwner->GetColNum() + 1 ) * iOwner->GetRowNum() );
-
-        for ( TInt currentCellIndex = 0, 
-        		   lastUsedCellCount = 0, 
-        		   lastusedRow = 0; 
-        	  lastCandidateIndex <= count; 
-        	  lastCandidateIndex++ )
-            {
-            // setting a position for this candidate 
-            CCandidate* candidate = iOwner->GetCandidate( lastCandidateIndex );
-
-            if ( candidate )
-                {
-                // each candidate exist
-                TInt leftUsedCellCount = candidate->CalculateDisplayTextL(iOwner->GetCellWidth(), iOwner->GetFont(), iOwner->GetColNum());
-	            if (( currentCellIndex > iOwner->GetColNum() ) ||  
-	                ((!candHLToR) && ((setpoints.iX < leftUsedCellCount*(iOwner->GetCellWidth() + (lastUsedCellCount-1)*iOwner->GetCellHorizontalMargin())))))
-	                {
-	                // The cell index moved the edge of right
-	                lastusedRow++;
-	                if ( lastusedRow >= iOwner->GetRowNum() )
-	                    {
-		                // The row index moved bottom
-	                    break;
-	                    }
-	                    
-	                currentCellIndex = 0;
-	                
-                    setpoints.iY = setpoints.iY + 
-                                   iOwner->GetCellHeight() + 
-                                   iOwner->GetCellVerticalMargin();
-
-                    candHLToR ? (setpoints.iX = iContentRect.iTl.iX) : (setpoints.iX = iContentRect.iBr.iX);
-	                }
-
-	            lastUsedCellCount = candidate->SetPositionL(setpoints, 
-													        iOwner->GetCellWidth(), 
-	                                                        iOwner->GetCellHeight(), 
-													        iOwner->GetFont(),
-													        iOwner->GetCellHorizontalMargin());
-
-	            currentCellIndex += lastUsedCellCount;
-	            candHLToR? (setpoints.iX += lastUsedCellCount*(iOwner->GetCellWidth() + iOwner->GetCellHorizontalMargin())) : 
-	                       (setpoints.iX -= lastUsedCellCount*(iOwner->GetCellWidth() + iOwner->GetCellHorizontalMargin()));
-                } // if each candidate exist
-            } // for-loop
-        } // if candidate exist
-         
-    return lastCandidateIndex; // as lastCandidateIndex
-    }
-
-// -----------------------------------------------------------------------------
-// CListExpandableMultiRowWithoutIcon::UpdateList
-// update the list
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListExpandableMultiRowWithoutIcon::UpdateListL(TBool aDrawFlag, TBool aRecalculate )
-    {
-    if ( aRecalculate )
-        {
-        // Recalculate the position of all candidates
-        iOwner->SetLastCandidateIndex( CalculatePositionsL() );
-        }
-    if(aDrawFlag)
-        {
-        Draw();
-        iOwner->Invalidate(iRect);
-        }
-    }
-
-// End Of File
--- a/textinput/peninputcommonctrls/src/peninputdropdownlist/peninputlistmanager.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,299 +0,0 @@
-/*
-* 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:  List manager,which is used by drop down list
-*
-*/
-
-
-#include "peninputlistmanager.h"
-#include "peninputlistonerowwithouticon.h"
-#include "peninputlistonerowwithouticonwithbubble.h"
-#include "peninputlistmultirowwithicon.h"
-#include "peninputlistmultirowwithiconwithbubble.h"
-#include "peninputlistonerowwithicon.h"
-#include "peninputlistonerowwithiconwithbubble.h"
-#include "peninputlistmultirowwithouticon.h"
-
-#include "peninputlistmultirowrollwithiconwithbubble.h"
-#include "peninputlistonerowrollwithiconwithbubble.h"
-
-#include "peninputlistmultirowrollwithicon.h"
-#include "peninputlistonerowrollwithicon.h"
-#include "peninputlistexpandablemultirowwithouticon.h"
-#include <peninputdropdownlistcontext.h>
-
-// ======== MEMBER FUNCTIONS ========
-
-// Implementation of Class CListManager 
-
-// -----------------------------------------------------------------------------
-// CListManager::NewL
-// factory function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CListManager* CListManager::NewL(MFepCtrlDropdownListContext* aContext)
-    {
-    CListManager* self = new (ELeave) CListManager();
-    CleanupStack::PushL(self);
-    self->ConstructL(aContext);
-    CleanupStack::Pop();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CListManager::~CListManager
-// factory function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CListManager::~CListManager()    
-    {
-    delete iListOneRowWithoutIcon;
-    delete iListOneRowWithoutIconWithBubble;
-    delete iListOneRowWithIcon;
-    delete iListOneRowWithIconWithBubble;
-    delete iListMultiRowWithIcon;
-    delete iListMultiRowWithIconWithBubble;
-    delete iListMultiRowWithoutIcon;
-    delete iListMultiRowRollWithIcon;
-    delete iListOneRowRollWithIcon;
-    delete iListExpandableMultiRowWithoutIcon;
-    delete iListMultiRowRollWithIconWithBubble;
-    delete iListOneRowRollWithIconWithBubble;
-    }
-        
-// -----------------------------------------------------------------------------
-// CListManager::NewL
-// 2nd construct function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListManager::ConstructL(MFepCtrlDropdownListContext* aContext)
-    {
-    iContext = aContext;
-    iListOneRowWithoutIcon = CListOneRowWithoutIcon::NewL(this, aContext);
-    iListOneRowWithoutIconWithBubble = CListOneRowWithoutIconWithBubble::NewL(this, aContext);
-    iListOneRowWithIcon = CListOneRowWithIcon::NewL(this, aContext);
-    iListOneRowWithIconWithBubble = CListOneRowWithIconWithBubble::NewL(this, aContext);
-    iListMultiRowWithIcon = CListMultiRowWithIcon::NewL(this, aContext);
-    iListMultiRowWithIconWithBubble = CListMultiRowWithIconWithBubble::NewL(this, aContext);
-    iListMultiRowWithoutIcon = CListMultiRowWithoutIcon::NewL(this, aContext);
-    iListMultiRowRollWithIcon = CListMultiRowRollWithIcon::NewL(this, aContext);
-    iListOneRowRollWithIcon = CListOneRowRollWithIcon::NewL(this, aContext);
-    iListExpandableMultiRowWithoutIcon = CListExpandableMultiRowWithoutIcon::NewL(this, aContext);
-    iListMultiRowRollWithIconWithBubble = CListMultiRowRollWithIconWithBubble::NewL(this, aContext);
-    iListOneRowRollWithIconWithBubble = CListOneRowRollWithIconWithBubble::NewL(this, aContext);
-    }
-
-// -----------------------------------------------------------------------------
-// CListManager::SizeChanged
-// size change
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListManager::SizeChanged()
-    {
-    iListOneRowWithoutIcon->SizeChanged();    
-    iListOneRowWithoutIconWithBubble->SizeChanged();   
-    iListOneRowWithIcon->SizeChanged();
-    iListOneRowWithIconWithBubble->SizeChanged();
-    iListMultiRowWithIcon->SizeChanged();
-    iListMultiRowWithIconWithBubble->SizeChanged();
-    iListMultiRowWithoutIcon->SizeChanged();
-    iListMultiRowRollWithIcon->SizeChanged();
-    iListOneRowRollWithIcon->SizeChanged();
-    iListExpandableMultiRowWithoutIcon->SizeChanged();
-    iListMultiRowRollWithIconWithBubble->SizeChanged();
-    iListOneRowRollWithIconWithBubble->SizeChanged();
-    }
-
-// -----------------------------------------------------------------------------
-// CListManager::Move
-// move the list
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListManager::Move(const TPoint& aOffset)
-    {
-    iListOneRowWithoutIcon->Move(aOffset);
-    iListOneRowWithoutIconWithBubble->Move(aOffset);
-    iListOneRowWithIcon->Move(aOffset);
-    iListOneRowWithIconWithBubble->Move(aOffset);
-    iListMultiRowWithIcon->Move(aOffset);
-    iListMultiRowWithIconWithBubble->Move(aOffset);
-    iListMultiRowWithoutIcon->Move(aOffset);
-    iListMultiRowRollWithIcon->Move(aOffset);
-    iListOneRowRollWithIcon->Move(aOffset);
-    iListExpandableMultiRowWithoutIcon->Move(aOffset);
-    iListMultiRowRollWithIconWithBubble->Move(aOffset);
-    iListOneRowRollWithIconWithBubble->Move(aOffset);
-    
-    // Move all candidates
-    for ( TInt i=0; i<iContext->CandidateCount(); i++ )   
-        {
-        CCandidate* candidate = iContext->GetCandidate(i);
-        if ( candidate )
-            {
-            candidate->Move(aOffset);        
-            }       
-        }    
-    }
-    
-// -----------------------------------------------------------------------------
-// CListManager::ActiveList
-// get active list
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//   
-CList* CListManager::ActiveList() const
-    {
-    return iActiveList;    
-    }
-// -----------------------------------------------------------------------------
-// CListManager::SetActiveList
-// set active list
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListManager::SetActiveList(CList* aList)
-    {
-    iActiveList = aList;
-    }
-
-// -----------------------------------------------------------------------------
-// CListManager::ListOneRowWithoutIcon
-// get one row without icon
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-CList* CListManager::ListOneRowWithoutIcon() const
-    {
-    return iListOneRowWithoutIcon;
-    }
-    
-// -----------------------------------------------------------------------------
-// CListManager::ListOneRowWithoutIcon
-// get one row without icon
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-CList* CListManager::ListOneRowWithoutIconWithBubble() const
-    {
-    return iListOneRowWithoutIconWithBubble;
-    }
-    
-
-// -----------------------------------------------------------------------------
-// CListManager::ListOneRowWithIcon
-// get one row with icon
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-CList* CListManager::ListOneRowWithIcon() const
-    {
-    return iListOneRowWithIcon;
-    }
-
-// -----------------------------------------------------------------------------
-// CListManager::ListOneRowWithIcon
-// get one row with icon
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-CList* CListManager::ListOneRowWithIconWithBubble() const
-    {
-    return iListOneRowWithIconWithBubble;
-    }
-
-// -----------------------------------------------------------------------------
-// CListManager::ListMultiRowWithIcon
-// get multi row with icon
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-CList* CListManager::ListMultiRowWithIcon() const
-    {
-    return iListMultiRowWithIcon;
-    }
-    
-CList* CListManager::ListMultiRowWithIconWithBubble() const
-    {
-    return iListMultiRowWithIconWithBubble;
-    }    
-    
-
-// -----------------------------------------------------------------------------
-// CListManager::ListMultiRowWithoutIcon
-// get multi row without icon
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-CList* CListManager::ListMultiRowWithoutIcon() const
-    {
-    return iListMultiRowWithoutIcon;
-    }    
-
-CList* CListManager::ListMultiRowRollWithIcon() const
-    {
-    return iListMultiRowRollWithIcon;
-    }
-
-CList* CListManager::ListOneRowRollWithIcon() const
-    {
-    return iListOneRowRollWithIcon;
-    }    
-
-CList* CListManager::ListExpandableMultiRowWithoutIcon() const
-    {
-    return iListExpandableMultiRowWithoutIcon;
-    } 
-
-// -----------------------------------------------------------------------------
-// CListManager::ListMultiRowRollWithIconWithBubble
-// get one row roll with icon with bubble
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//        
-CList* CListManager::ListOneRowRollWithIconWithBubble() const    
-    {
-    return iListOneRowRollWithIconWithBubble;
-    }
-
-// -----------------------------------------------------------------------------
-// CListManager::ListMultiRowRollWithIconWithBubble
-// get multi row roll with icon with bubble
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//        
-CList* CListManager::ListMultiRowRollWithIconWithBubble() const
-    {
-    return iListMultiRowRollWithIconWithBubble;
-    }   
-    
-void CListManager::ResetStatus()
-	{
-    ListOneRowWithoutIcon()->ResetStatus();
-    ListOneRowWithoutIconWithBubble()->ResetStatus();
-    ListMultiRowWithIcon()->ResetStatus();
-    ListMultiRowWithIconWithBubble()->ResetStatus();
-    ListOneRowWithIcon()->ResetStatus();		
-    ListOneRowWithIconWithBubble()->ResetStatus();
-    ListMultiRowRollWithIcon()->ResetStatus();
-    ListOneRowRollWithIcon()->ResetStatus();
-    ListOneRowRollWithIconWithBubble()->ResetStatus();
-    ListMultiRowRollWithIconWithBubble()->ResetStatus();
-	}
-
-// End Of File
--- a/textinput/peninputcommonctrls/src/peninputdropdownlist/peninputlistmultirowrollwithicon.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,393 +0,0 @@
-/*
-* 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:
-*
-*/
-#include <fbs.h>
-#include <AknsUtils.h>
-#include <AknLayoutDef.h>
-#include <peninputdropdownlistcontext.h>
-
-#include "peninputdropdownlist.h"
-#include "peninputlayout.h"
-#include "peninputlistmultirowrollwithicon.h"
-
-// added by txin
-const TInt KInvalidCandIndex = -1;
-// end adding
-
-CListMultiRowRollWithIcon* CListMultiRowRollWithIcon::NewL(CListManager* aManager, 
-                                                           MFepCtrlDropdownListContext* aOwner)
-    {
-    CListMultiRowRollWithIcon* self = new (ELeave) CListMultiRowRollWithIcon(aManager, aOwner);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;
-    }
-    
-CListMultiRowRollWithIcon::~CListMultiRowRollWithIcon()
-    {
-    iLines.Reset();
-    iLines.Close();
-    }
-    
-void CListMultiRowRollWithIcon::HandlePointerDownL(const TPoint& aPoint)
-    {
-    CList::HandlePointerDownL(aPoint);
-    
-    // if press outside of expanded list, close it
-    // also consider fuzzy boundary
-    TRect fuzzyrect = iRect;
-    fuzzyrect.Grow(iOwner->FuzzyBoundry(), iOwner->FuzzyBoundry());
-
-    if (!fuzzyrect.Contains(aPoint))
-        {
-        iOwner->SetCapture(EFalse);
-        
-        if (iOwner->OneRowStartCandIdx() != KInvalidCandIndex)
-            {
-            iOwner->AutoChangeActiveList(iOwner->OneRowStartCandIdx());
-            }
-        else
-            {
-            iOwner->AutoChangeActiveList(iOwner->GetFirstCandidateIndex());
-            }    
-
-        return;
-        }
-
-    // If click in navigation rect and NextButton is not disable, then do 
-    if ( iNavigationRect.Contains(aPoint) )
-        {      
-        if ( iNavigationCloseRect.Contains(aPoint) && !iCloseButtonDisable )
-            {
-			#ifdef RD_TACTILE_FEEDBACK
-            static_cast<CFepCtrlDropdownList*>(iOwner)->UiLayout()->
-                            DoTactileFeedback(ETouchFeedbackBasic);   
-			#endif //RD_TACTILE_FEEDBACK 
-            iClickedRect.SetRect(iNavigationCloseRect.iTl, iNavigationCloseRect.iBr);
-            iIndicateButtonClicked = ETrue;
-            DrawSelection(iClickedRect, ETrue);                
-            }
-        else if (!iOwner->PageCtrlShown())
-            {
-            iClickedRect = KDummyRect;
-            return;
-            }
-        else if ( iNavigationPreviousRect.Contains(aPoint) && !iPreviousButtonDisable )
-            {
-			#ifdef RD_TACTILE_FEEDBACK
-            static_cast<CFepCtrlDropdownList*>(iOwner)->UiLayout()->
-                            DoTactileFeedback(ETouchFeedbackBasic); 
-			#endif //RD_TACTILE_FEEDBACK
-            iClickedRect.SetRect(iNavigationPreviousRect.iTl, iNavigationPreviousRect.iBr);
-            iIndicateButtonClicked = ETrue;
-            DrawSelection(iClickedRect, ETrue);                
-            }
-        else if ( iNavigationNextRect.Contains(aPoint) && !iNextButtonDisable )
-            {
-			#ifdef RD_TACTILE_FEEDBACK
-            static_cast<CFepCtrlDropdownList*>(iOwner)->UiLayout()->
-                            DoTactileFeedback(ETouchFeedbackBasic);
-			#endif //RD_TACTILE_FEEDBACK
-            iClickedRect.SetRect(iNavigationNextRect.iTl, iNavigationNextRect.iBr);
-            iIndicateButtonClicked = ETrue;
-            DrawSelection(iClickedRect, ETrue);                
-            }
-        else
-            {
-            iClickedRect = KDummyRect;                                
-            }
-        }
-    }
-
-void CListMultiRowRollWithIcon::HandlePointerUpL(const TPoint& aPoint)
-    {
-    // Reset the button clicked flag to EFalse
-    iIndicateButtonClicked = EFalse;
-   
-#ifdef __WINS__
-    // in emulator, double click will be treated as:
-    // 1 pointer down and 2 pointer up, which will cause error
-    if (iClickedRect.IsEmpty() && ((CFepUiBaseCtrl*)iOwner)->PointerDown()) 
-#else
-    if (iClickedRect.IsEmpty())
-#endif // __WINS__
-        {
-        iOwner->SetCapture(EFalse);
-        // Change active list object ie. close the dd-list
-        
-        // txin modify
-        //iOwner->AutoChangeActiveList(iOwner->GetFirstCandidateIndex());
-        if (iOwner->OneRowStartCandIdx() != KInvalidCandIndex)
-            {
-            iOwner->AutoChangeActiveList(iOwner->OneRowStartCandIdx());
-            }
-        else
-            {
-            iOwner->AutoChangeActiveList(iOwner->GetFirstCandidateIndex());
-            }    
-        // end
-        }
-    else
-        {
-        if ( iContentRect.Contains(aPoint) )
-            {
-            if ( iClickedRect.Contains(aPoint) )
-                {
-                // Redraw the selected aread    
-                DrawSelection(iClickedRect, EFalse);
-                
-                iOwner->SetCapture(EFalse);
-                
-                // We have selected a candidate and iClickedCandidateIndex is the selected Index.
-                // Send the candidate to others
-                if (iClickedCandidateIndex != KErrNotFound)
-                    {         
-                    CCandidate* candidate = iOwner->GetCandidate(iClickedCandidateIndex);
-
-                    if (candidate)
-                        {
-                        iOwner->ReportCandidateSelectEventL(candidate->GetCandidate(),
-                                                           iClickedCandidateIndex);
-                        }
-
-			        TInt lastIdxOfLine = StartCandIdxOfLine(iClickedCandidateIndex);
-
-                    TInt originalFirstCandIdx = iOwner->GetFirstCandidateIndex();
-                    TInt originalLastCandIdx = iOwner->GetLastCandidateIndex();
-                    
-			        if (lastIdxOfLine == KInvalidCandIndex)
-			            {
-			            lastIdxOfLine = iOwner->GetFirstCandidateIndex();
-			            }
-			            
-                    iOwner->SetOneRowStartCandIdx(lastIdxOfLine);
-			        
-                    iOwner->AutoChangeActiveList(lastIdxOfLine);
-                    
-                    iOwner->SetOriginalFirstCandIdx(originalFirstCandIdx);
-                    }
-                }
-            }
-        else if ( iNavigationCloseRect.Contains(aPoint) )
-            {
-            if ( iNavigationCloseRect == iClickedRect )
-                {
-                iOwner->SetCapture(EFalse);
-		        
-		        if (iOwner->OneRowStartCandIdx() != KInvalidCandIndex)
-		            {
-                    iOwner->AutoChangeActiveList(iOwner->OneRowStartCandIdx());
-		            }
-		        else
-		            {
-		            iOwner->AutoChangeActiveList(iOwner->GetFirstCandidateIndex());
-		            }    
-                }
-            }
-        else if (!iOwner->PageCtrlShown())
-            {
-            iClickedRect =  KEmptyRect;
-            return;
-            }
-        else if ( iNavigationNextRect.Contains(aPoint) )
-            {
-            if ( iNavigationNextRect == iClickedRect )
-                {
-                iOwner->NotifyGetNextPage();
-                UpdateListL();
-                }
-            }
-        else if ( iNavigationPreviousRect.Contains(aPoint) )
-            {
-            if ( iNavigationPreviousRect == iClickedRect )
-                {
-                // Change page to previous
-                iOwner->NotifyGetPreviousPage(); // do nothing, just to avoid clear candidate
-
-                TInt firstIndex = 0;
-                TInt lastIndex = 0;
-                
-                if (iOwner->GetPages()->GetPreviousIndex(iOwner->GetLastCandidateIndex(), 
-                                                         firstIndex,lastIndex))    
-                    {
-                    iOwner->SetFirstCandidateIndex(firstIndex);
-                    iOwner->SetLastCandidateIndex(lastIndex);
-                    }
-                    
-                UpdateListL(ETrue, EFalse);
-                }             
-            }
-
-       	iClickedRect =  KEmptyRect;
-        }
-    }
-    
-void CListMultiRowRollWithIcon::SetNextPageHighlightCellAfterOnePageL(const TInt aCellIndex)
-    {
-    while (aCellIndex >= iOwner->GetLastCandidateIndex())
-        {
-        UpdateListL();
-        }
-    
-    TInt lastIdxOfLine = StartCandIdxOfLine(aCellIndex);
-
-    TInt originalFirstCandIdx = iOwner->GetFirstCandidateIndex();
-    TInt originalLastCandIdx = iOwner->GetLastCandidateIndex();
-    
-    if (lastIdxOfLine == KInvalidCandIndex)
-        {
-        lastIdxOfLine = iOwner->GetFirstCandidateIndex();
-        }
-
-    iOwner->SetOneRowStartCandIdx(lastIdxOfLine);
-    
-    iOwner->AutoChangeActiveList(lastIdxOfLine);
-    
-    iOwner->SetOriginalFirstCandIdx(originalFirstCandIdx);
-    }
-
-CListMultiRowRollWithIcon::CListMultiRowRollWithIcon(CListManager* aManager, 
-                                                     MFepCtrlDropdownListContext* aOwner):
-                                                     CListMultiRowWithIcon(aManager, aOwner)
-    {
-    iIsMultiRows = ETrue; 
-    }
-
-TInt CListMultiRowRollWithIcon::StartCandIdxOfLine(TInt aCandIndex)
-    {
-    TInt lineCnt = iLines.Count();
-
-    for (TInt i = 0; i < lineCnt; i++)
-        {
-        if ((aCandIndex >= iLines[i].iStartIdx) && (aCandIndex <= iLines[i].iEndIdx))
-            {
-            return iLines[i].iStartIdx;
-            }
-        }
-    
-    return KInvalidCandIndex;
-    }
-    
-void CListMultiRowRollWithIcon::ResetStatus()
-    {
-    CList::ResetStatus();
-    iLines.Reset();
-    }
-
-TInt CListMultiRowRollWithIcon::CalculatePositionsL()
-    {
-    TLineCandidate lineCand;
-
-    TInt t = 0;
-    TPoint setpoints;
-    TInt count = iOwner->CandidateCount();
-    CCandidate* candidate = NULL;
-    
-    if ( count > 0 )
-        {     
-        // modified by txin
-        // original
-        /*
-        setpoints.iX = iContentRect.iTl.iX;
-        setpoints.iY = iContentRect.iTl.iY;
-        */
-
-        TBool candHLToR = (iOwner->CandHDirection() == CFepCtrlDropdownList::ECandFromLToR); // horizontal direction
-        candHLToR ? setpoints.SetXY(iContentRect.iTl.iX, iContentRect.iTl.iY) : 
-            setpoints.SetXY(iContentRect.iBr.iX, iContentRect.iTl.iY);
-        // end modify
-
-        TInt currentCellIndex = 0;
-        TInt lastUsedCellCount = 0;
-        TInt lastusedRow = 0;
-        iOwner->SetFirstCandidateIndex (iOwner->GetLastCandidateIndex());         
-        count = Min(count, iOwner->GetLastCandidateIndex() + 
-                           iOwner->GetColNum() * iOwner->GetRowNum() );   
-
-        lineCand.iStartIdx = iOwner->GetLastCandidateIndex();
-                
-        for(t = iOwner->GetLastCandidateIndex(); t < count ; t++)
-            {   
-            candidate = iOwner->GetCandidate(t);
-
-            if (!candidate)
-                {
-                continue;
-                }
-                            
-            lastUsedCellCount = candidate->SetPositionL(setpoints,
-                                                        iOwner->GetCellWidth(),
-                                                        iOwner->GetCellHeight(),
-                                                        iOwner->GetFont(),
-                                                        iOwner->GetCellHorizontalMargin());
-            currentCellIndex += lastUsedCellCount;
-            if ( currentCellIndex > iOwner->GetColNum() )
-                {
-                lastusedRow++;                
-                if ( lastusedRow >= iOwner->GetRowNum() )
-                    {
-                    break;
-                    }
-                    
-                currentCellIndex = 0;
-                setpoints.iY = setpoints.iY + 
-                               iOwner->GetCellHeight() + 
-                               iOwner->GetCellVerticalMargin();
-                
-                candHLToR ? (setpoints.iX = iContentRect.iTl.iX) : (setpoints.iX = iContentRect.iBr.iX);
-
-                lastUsedCellCount = candidate->SetPositionL(setpoints,
-                                                            iOwner->GetCellWidth(),
-                                                            iOwner->GetCellHeight(),
-                                                            iOwner->GetFont(),
-                                                            iOwner->GetCellHorizontalMargin()); 
-                currentCellIndex += lastUsedCellCount; 
-                
-                lineCand.iEndIdx = t - 1;
-                iLines.Append(lineCand);
-                
-                lineCand.iStartIdx = t;
-
-                candHLToR ? (setpoints.iX += lastUsedCellCount * (iOwner->GetCellWidth() + iOwner->GetCellHorizontalMargin())) : 
-                            (setpoints.iX -= lastUsedCellCount * (iOwner->GetCellWidth() + iOwner->GetCellHorizontalMargin()));
-                }
-               else
-                {
-                candHLToR ? (setpoints.iX += lastUsedCellCount * (iOwner->GetCellWidth() + iOwner->GetCellHorizontalMargin())) : 
-                            (setpoints.iX -= lastUsedCellCount * (iOwner->GetCellWidth() + iOwner->GetCellHorizontalMargin()));
-                }                
-            } // for-loop
-        } // if candidate exist
-
-    lineCand.iEndIdx = t-1;
-    iLines.Append(lineCand);        
-
-    return t; // as lastCandidateIndex
-    }
-    
-void CListMultiRowRollWithIcon::UpdateListL(TBool aDrawFlag, TBool aRecalculate)
-    {
-    RefreshListL(aRecalculate);
-    
-    if (iOwner->GetUpdateListRedrawFlag() && aDrawFlag )
-        {
-        Draw();
-		iOwner->Invalidate(iRect);
-        }
-    }
-
-// End Of File
--- a/textinput/peninputcommonctrls/src/peninputdropdownlist/peninputlistmultirowrollwithiconwithbubble.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,402 +0,0 @@
-/*
-* 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:
-*
-*/
-
-
-#include <fbs.h>
-#include <AknsUtils.h>
-#include <AknLayoutDef.h>
-#include <peninputdropdownlistcontext.h>
-
-#include "peninputdropdownlist.h"
-#include "peninputlayout.h"
-#include "peninputlistmultirowrollwithiconwithbubble.h"
-
-
-const TInt KInvalidCandIndex = -1;
-
-// ======== MEMBER FUNCTIONS ========
-
-// Implementation of Class CListMultiRowRollWithIconWithBubble 
-
-// -----------------------------------------------------------------------------
-// CListMultiRowRollWithIconWithBubble::NewL
-// factory function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CListMultiRowRollWithIconWithBubble* CListMultiRowRollWithIconWithBubble::NewL(CListManager* aManager, 
-                                                           MFepCtrlDropdownListContext* aOwner)
-    {
-    CListMultiRowRollWithIconWithBubble* self = new (ELeave) CListMultiRowRollWithIconWithBubble(aManager, aOwner);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CListMultiRowRollWithIconWithBubble::CListMultiRowRollWithIconWithBubble
-// C++ default constructor can NOT contain any code, that
-// might leave
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CListMultiRowRollWithIconWithBubble::CListMultiRowRollWithIconWithBubble(CListManager* aManager, 
-                                                     MFepCtrlDropdownListContext* aOwner):
-                                                     CListMultiRowRollWithIcon(aManager, aOwner)
-    { 
-    }
-
-// -----------------------------------------------------------------------------
-// CListMultiRowRollWithIconWithBubble::~CListMultiRowRollWithIconWithBubble
-// desstrutor function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CListMultiRowRollWithIconWithBubble::~CListMultiRowRollWithIconWithBubble()
-    {
-
-    }
-
-// -----------------------------------------------------------------------------
-// CListMultiRowRollWithIconWithBubble::HandlePointerDownL
-// handle pointer down 
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListMultiRowRollWithIconWithBubble::HandlePointerDownL(const TPoint& aPoint)
-    {
-    CList::HandlePointerDownL(aPoint);
-    
-    // if press outside of expanded list, close it
-    // also consider fuzzy boundary
-    TRect fuzzyrect = iRect;
-    fuzzyrect.Grow(iOwner->FuzzyBoundry(), iOwner->FuzzyBoundry());
-
-    if (!fuzzyrect.Contains(aPoint))
-        {
-        iOwner->SetCapture(EFalse);
-        
-        if (iOwner->OneRowStartCandIdx() != KInvalidCandIndex)
-            {
-            iOwner->AutoChangeActiveList(iOwner->OneRowStartCandIdx());
-            }
-        else
-            {
-            iOwner->AutoChangeActiveList(iOwner->GetFirstCandidateIndex());
-            }    
-        iOwner->ClearBubble();
-        return;
-        }
-
-    // If click in navigation rect and NextButton is not disable, then do 
-    if ( iNavigationRect.Contains(aPoint) )
-        {      
-        if ( iNavigationCloseRect.Contains(aPoint) && !iCloseButtonDisable )
-            {
-			#ifdef RD_TACTILE_FEEDBACK
-            static_cast<CFepCtrlDropdownList*>(iOwner)->UiLayout()->
-                            DoTactileFeedback(ETouchFeedbackBasic);
-			#endif
-            iClickedRect.SetRect(iNavigationCloseRect.iTl, iNavigationCloseRect.iBr);
-            iIndicateButtonClicked = ETrue;
-            DrawSelection(iClickedRect, ETrue);                
-            }
-        else if (!iOwner->PageCtrlShown())
-            {
-            iClickedRect = KDummyRect;
-            return;
-            }
-        else if ( iNavigationPreviousRect.Contains(aPoint) && !iPreviousButtonDisable )
-            {
-			#ifdef RD_TACTILE_FEEDBACK
-            static_cast<CFepCtrlDropdownList*>(iOwner)->UiLayout()->
-                            DoTactileFeedback(ETouchFeedbackBasic); 
-			#endif
-            iClickedRect.SetRect(iNavigationPreviousRect.iTl, iNavigationPreviousRect.iBr);
-            iIndicateButtonClicked = ETrue;
-            DrawSelection(iClickedRect, ETrue);                
-            }
-        else if ( iNavigationNextRect.Contains(aPoint) && !iNextButtonDisable )
-            {
-			#ifdef RD_TACTILE_FEEDBACK
-            static_cast<CFepCtrlDropdownList*>(iOwner)->UiLayout()->
-                            DoTactileFeedback(ETouchFeedbackBasic);   
-			#endif
-            iClickedRect.SetRect(iNavigationNextRect.iTl, iNavigationNextRect.iBr);
-            iIndicateButtonClicked = ETrue;
-            DrawSelection(iClickedRect, ETrue);                
-            }
-        else
-            {
-            iClickedRect = KDummyRect;                                
-            }
-        }
-    else
-        {
-        TInt index = -1;
-        CCandidate* candidate = FindCandidate(aPoint, index);
-        if(candidate)
-            {
-            iOwner->DrawBubble(iClickedRect, candidate->GetCandidate());
-            }
-        }   
-    }
-
-
-// -----------------------------------------------------------------------------
-// CListMultiRowRollWithIconWithBubble::HandlePointerDragL
-// handle pointer drag function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListMultiRowRollWithIconWithBubble::HandlePointerDragL(const TPoint& aPoint)
-    {
-    // Pass the event first to the base
-    CList::HandlePointerDragL(aPoint);
-
-    CCandidate* candidate = FindCandidate(aPoint, iClickedCandidateIndex);
-    
-    TBool isUpdateBubble = EFalse;
-    if ( candidate )
-        {
-        if (iClickedRect != candidate->GetRect())
-            {// move to the other candidate
-            // set update prview bubble flag
-            isUpdateBubble = ETrue;
-            // remenber the previous cell rect
-            iMoveLatestRect = iClickedRect;
-            // get the new cell rect
-            iClickedRect.SetRect(candidate->GetRect().iTl, candidate->GetRect().Size());
-            }
-        }
-    else if ( iNavigationRect.Contains(aPoint) )
-        {
-        iOwner->ClearBubble();
-        if ( iNavigationCloseRect.Contains(aPoint) && !iCloseButtonDisable &&
-             iClickedRect !=  iNavigationCloseRect)
-            {
-            iMoveLatestRect = iClickedRect;
-            iClickedRect.SetRect(iNavigationCloseRect.iTl, iNavigationCloseRect.iBr);
-            CompareRect(iMoveLatestRect, iClickedRect);
-            }
-        else if (!iOwner->PageCtrlShown())
-            {
-            return;
-            }
-        else if ( iNavigationPreviousRect.Contains(aPoint) && !iPreviousButtonDisable &&
-                  iClickedRect != iNavigationPreviousRect )
-            {
-            iMoveLatestRect = iClickedRect;
-            iClickedRect.SetRect(iNavigationPreviousRect.iTl, iNavigationPreviousRect.iBr);
-            CompareRect(iMoveLatestRect, iClickedRect);
-            }
-        else if ( iNavigationNextRect.Contains(aPoint) && !iNextButtonDisable &&
-                  iClickedRect != iNavigationNextRect )
-            {
-            iMoveLatestRect = iClickedRect;
-            iClickedRect.SetRect(iNavigationNextRect.iTl, iNavigationNextRect.iBr);
-            CompareRect(iMoveLatestRect, iClickedRect);
-            }
-        else if(!((iNavigationCloseRect.Contains(aPoint) && !iCloseButtonDisable) ||
-                (iNavigationPreviousRect.Contains(aPoint) && !iPreviousButtonDisable) ||
-                (iNavigationNextRect.Contains(aPoint) && !iNextButtonDisable)))
-            {
-            // Move to navigation area but not valid navigation button
-            TRect dummyrect = KDummyRect;
-            if(iClickedRect != dummyrect)
-                {
-                iMoveLatestRect = iClickedRect;
-                iClickedRect = KDummyRect;
-                CompareRect(iMoveLatestRect, iClickedRect);
-                }
-            }
-        }
-    else
-        {// outside the list
-        // remember the previous cell 
-        iMoveLatestRect = iClickedRect;
-        // set the new cell to empty
-        iClickedRect = KDummyRect;
-        // redraw the cell only when drag outside at the first time
-        if(iMoveLatestRect != iClickedRect)
-            {
-            iOwner->ClearBubble();
-            DrawSelection(iMoveLatestRect, EFalse);
-            DrawHighightCell(iMoveLatestRect, ETrue);            
-            }
-        }
-    
-    if(candidate && isUpdateBubble)
-        {
-        iOwner->ClearBubble();
-        CompareRect(iMoveLatestRect, iClickedRect);
-        // Show preview bubble when drag into a candidate cell
-        // Make sure show the bubble after redraw clicked cell
-        iOwner->DrawBubble(iClickedRect, candidate->GetCandidate());
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CListMultiRowRollWithIconWithBubble::HandlePointerUpL
-// handle pointer up 
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListMultiRowRollWithIconWithBubble::HandlePointerUpL(const TPoint& aPoint)
-    {
-    // Reset the button clicked flag to EFalse
-    iIndicateButtonClicked = EFalse;
-   
-    iOwner->ClearBubble();
-#ifdef __WINS__
-    // in emulator, double click will be treated as:
-    // 1 pointer down and 2 pointer up, which will cause error
-    if (iClickedRect.IsEmpty() && ((CFepUiBaseCtrl*)iOwner)->PointerDown()) 
-#else
-    if (iClickedRect.IsEmpty())
-#endif // __WINS__
-        {
-        iOwner->SetCapture(EFalse);
-        // Change active list object ie. close the dd-list
-        
-        // txin modify
-        //iOwner->AutoChangeActiveList(iOwner->GetFirstCandidateIndex());
-        if (iOwner->OneRowStartCandIdx() != KInvalidCandIndex)
-            {
-            iOwner->AutoChangeActiveList(iOwner->OneRowStartCandIdx());
-            }
-        else
-            {
-            iOwner->AutoChangeActiveList(iOwner->GetFirstCandidateIndex());
-            }    
-        // end
-        }
-    else
-        {
-        if ( iContentRect.Contains(aPoint) )
-            {
-            if ( iClickedRect.Contains(aPoint) )
-                {
-                // Redraw the selected aread    
-                DrawSelection(iClickedRect, EFalse);
-                
-                iOwner->SetCapture(EFalse);
-                
-                // We have selected a candidate and iClickedCandidateIndex is the selected Index.
-                // Send the candidate to others
-                if (iClickedCandidateIndex != KErrNotFound)
-                    {         
-                    CCandidate* candidate = iOwner->GetCandidate(iClickedCandidateIndex);
-
-                    if (candidate)
-                        {
-                        iOwner->ReportCandidateSelectEventL(candidate->GetCandidate(),
-                                                           iClickedCandidateIndex);
-                        }
-
-			        TInt lastIdxOfLine = StartCandIdxOfLine(iClickedCandidateIndex);
-
-                    TInt originalFirstCandIdx = iOwner->GetFirstCandidateIndex();
-                    TInt originalLastCandIdx = iOwner->GetLastCandidateIndex();
-                    
-			        if (lastIdxOfLine == KInvalidCandIndex)
-			            {
-			            lastIdxOfLine = iOwner->GetFirstCandidateIndex();
-			            }
-			            
-                    iOwner->SetOneRowStartCandIdx(lastIdxOfLine);
-			        
-                    iOwner->AutoChangeActiveList(lastIdxOfLine);
-                    
-                    iOwner->SetOriginalFirstCandIdx(originalFirstCandIdx);
-                    }
-                }
-            }
-        else if ( iNavigationCloseRect.Contains(aPoint) )
-            {
-            if ( iNavigationCloseRect == iClickedRect )
-                {
-                iOwner->SetCapture(EFalse);
-		        
-		        if (iOwner->OneRowStartCandIdx() != KInvalidCandIndex)
-		            {
-                    iOwner->AutoChangeActiveList(iOwner->OneRowStartCandIdx());
-		            }
-		        else
-		            {
-		            iOwner->AutoChangeActiveList(iOwner->GetFirstCandidateIndex());
-		            }    
-                }
-            }
-        else if (!iOwner->PageCtrlShown())
-            {
-            iClickedRect =  KEmptyRect;
-            return;
-            }
-        else if ( iNavigationNextRect.Contains(aPoint) )
-            {
-            if ( iNavigationNextRect == iClickedRect )
-                {
-                iOwner->NotifyGetNextPage();
-                UpdateListL();
-                }
-            }
-        else if ( iNavigationPreviousRect.Contains(aPoint) )
-            {
-            if ( iNavigationPreviousRect == iClickedRect )
-                {
-                // Change page to previous
-                iOwner->NotifyGetPreviousPage(); // do nothing, just to avoid clear candidate
-
-                TInt firstIndex = 0;
-                TInt lastIndex = 0;
-                
-                if (iOwner->GetPages()->GetPreviousIndex(iOwner->GetLastCandidateIndex(), 
-                                                         firstIndex,lastIndex))    
-                    {
-                    iOwner->SetFirstCandidateIndex(firstIndex);
-                    iOwner->SetLastCandidateIndex(lastIndex);
-                    }
-                    
-                UpdateListL(ETrue, EFalse);
-                }             
-            }
-
-       	iClickedRect =  KEmptyRect;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CListMultiRowRollWithIconWithBubble::CompareRect
-// Compare src and des rect 
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CListMultiRowRollWithIconWithBubble::CompareRect(const TRect& aSrcRect, const TRect& aDesRect)
-    {
-    if(aSrcRect != aDesRect)  
-        {
-        DrawSelection(aDesRect, ETrue);
-        DrawSelection(aSrcRect, EFalse);
-        DrawHighightCell(aSrcRect, ETrue);
-        }
-          
-    return EFalse;
-    }
-
-// End Of File
--- a/textinput/peninputcommonctrls/src/peninputdropdownlist/peninputlistmultirowwithicon.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1038 +0,0 @@
-/*
-* 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:  Multi rows list with icon for drop-down list objects
-*
-*/
-
-
-// Include 
-#include <fbs.h>
-#include <AknsUtils.h>
-#include <AknLayoutDef.h>
-#include <peninputdropdownlistcontext.h>
-#include <peninputdropdownlist.h>
-#include <AknsDrawUtils.h> 
-#include "peninputlistmultirowwithicon.h"
-#include "peninputlayout.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// Implementation of Class CListMultiRowWithIcon 
-
-// -----------------------------------------------------------------------------
-// CListMultiRowWithIcon::CListMultiRowWithIcon
-// C++ default constructor can NOT contain any code, that
-// might leave
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CListMultiRowWithIcon::CListMultiRowWithIcon(CListManager* aManager, 
-                                             MFepCtrlDropdownListContext *aOwner)
-: CList(aManager, aOwner)
-    {
-    iIsMultiRows = ETrue; 
-    }
-
-// -----------------------------------------------------------------------------
-// CListMultiRowWithIcon::NewL
-// factory function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CListMultiRowWithIcon* CListMultiRowWithIcon::NewL(CListManager* aManager, 
-                                                   MFepCtrlDropdownListContext *aOwner)
-    {
-    CListMultiRowWithIcon* self = new (ELeave) CListMultiRowWithIcon(aManager, aOwner);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CListMultiRowWithIcon::~CListMultiRowWithIcon
-// desstrutor function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CListMultiRowWithIcon::~CListMultiRowWithIcon()
-    {     
-    }
-
-// -----------------------------------------------------------------------------
-// CListMultiRowWithIcon::HandlePointerDownL
-// handle pointer down 
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListMultiRowWithIcon::HandlePointerDownL(const TPoint& aPoint)
-    {
-    CList::HandlePointerDownL(aPoint);
-
-    // also consider fuzzy boundry of drop down list
-    TRect fuzzyrect = iRect;
-    fuzzyrect.Grow(iOwner->FuzzyBoundry(), iOwner->FuzzyBoundry());
-
-    if (!fuzzyrect.Contains(aPoint))
-        {
-        iOwner->SetCapture(EFalse);
-        iOwner->AutoChangeActiveList(iOwner->GetFirstCandidateIndex());
-        return;
-        }
-
-    // If click in navigation rect and NextButton is not disable, then do 
-    if ( iNavigationRect.Contains(aPoint) )
-        {   
-        if ( iNavigationCloseRect.Contains(aPoint) && !iCloseButtonDisable )
-            {
-			#ifdef RD_TACTILE_FEEDBACK
-	        static_cast<CFepCtrlDropdownList*>(iOwner)->UiLayout()->
-	            DoTactileFeedback(ETouchFeedbackBasic);
-			#endif //RD_TACTILE_FEEDBACK 
-                        
-            iClickedRect.SetRect(iNavigationCloseRect.iTl, iNavigationCloseRect.iBr);
-            iIndicateButtonClicked = ETrue;
-            DrawSelection(iClickedRect, ETrue);                
-            }  
-        else if (!iOwner->PageCtrlShown())
-            {
-            iClickedRect = KDummyRect;
-            return;
-            }
-        else if ( iNavigationPreviousRect.Contains(aPoint) && !iPreviousButtonDisable )
-            {
-			#ifdef RD_TACTILE_FEEDBACK
-            static_cast<CFepCtrlDropdownList*>(iOwner)->UiLayout()->
-	            DoTactileFeedback(ETouchFeedbackBasic);
-			#endif //RD_TACTILE_FEEDBACK 
-            
-            iClickedRect.SetRect(iNavigationPreviousRect.iTl, iNavigationPreviousRect.iBr);
-            iIndicateButtonClicked = ETrue;
-            DrawSelection(iClickedRect, ETrue);                
-            }
-        else if ( iNavigationNextRect.Contains(aPoint) && !iNextButtonDisable )
-            {
-			#ifdef RD_TACTILE_FEEDBACK
-            static_cast<CFepCtrlDropdownList*>(iOwner)->UiLayout()->
-            	            DoTactileFeedback(ETouchFeedbackBasic);    
-			#endif //RD_TACTILE_FEEDBACK  
-	        
-            
-            iClickedRect.SetRect(iNavigationNextRect.iTl, iNavigationNextRect.iBr);
-            iIndicateButtonClicked = ETrue;
-            DrawSelection(iClickedRect, ETrue);                
-            }
-        else
-            {
-            iClickedRect = KDummyRect;                                
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CListMultiRowWithIcon::HandlePointerDragL
-// handle pointer drag function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListMultiRowWithIcon::HandlePointerDragL(const TPoint& aPoint)
-    {
-    // Pass the event first to the base
-    CList::HandlePointerDragL(aPoint);
-
-    if ( !iClickedRect.IsEmpty() )  // clicked rect is not outside the whole DDL
-        {        
-        TInt index = -1;
-        CCandidate* candidate = FindCandidate(aPoint, index);
-        
-        iMoveLatestRect = KEmptyRect;
-        
-        if ( candidate )
-            {
-            iMoveLatestRect.SetRect(candidate->GetRect().iTl, candidate->GetRect().Size());
-            }
-        else if ( iNavigationRect.Contains(aPoint) )
-            {
-            if ( iNavigationCloseRect.Contains(aPoint) && !iCloseButtonDisable )
-                {
-                iMoveLatestRect.SetRect(iNavigationCloseRect.iTl, iNavigationCloseRect.iBr);
-                }
-            else if (!iOwner->PageCtrlShown())
-                {
-                return;
-                }
-            else if ( iNavigationPreviousRect.Contains(aPoint) && !iPreviousButtonDisable )
-                {
-                iMoveLatestRect.SetRect(iNavigationPreviousRect.iTl, iNavigationPreviousRect.iBr);
-                }
-            else if ( iNavigationNextRect.Contains(aPoint) && !iNextButtonDisable )
-                {
-                iMoveLatestRect.SetRect(iNavigationNextRect.iTl, iNavigationNextRect.iBr);
-                }
-            }
-            
-        CompareRect(iMoveLatestRect, iClickedRect);                                    
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CListMultiRowWithIcon::HandlePointerUpL
-// handle pointer up function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListMultiRowWithIcon::HandlePointerUpL(const TPoint& aPoint)
-    {  
-    // Reset the button clicked flag to EFalse
-    iIndicateButtonClicked = EFalse;
-   
-#ifdef __WINS__
-    // in emulator, double click will be treated as:
-    // 1 pointer down and 2 pointer up, which will cause error
-    if (iClickedRect.IsEmpty() && ((CFepUiBaseCtrl*)iOwner)->PointerDown()) 
-#else
-    if (iClickedRect.IsEmpty())
-#endif // __WINS__
-        {
-        iOwner->SetCapture(EFalse);
-        // Change active list object ie. close the dd-list
-        iOwner->AutoChangeActiveList( iOwner->GetFirstCandidateIndex() );
-        }
-    else
-        {
-        if ( iContentRect.Contains(aPoint) )
-            {
-            if ( iClickedRect.Contains(aPoint) )
-                {
-                // Redraw the selected aread    
-                DrawSelection(iClickedRect, EFalse);
-                
-                iOwner->SetCapture(EFalse);
-                
-                // We have selected a candidate and iClickedCandidateIndex is the selected Index.
-                // Send the candidate to others
-                if (iClickedCandidateIndex != KErrNotFound)
-                    {
-			        iOwner->AutoChangeActiveList( iOwner->GetFirstCandidateIndex() );
-                    CCandidate* candidate = iOwner->GetCandidate(iClickedCandidateIndex);
-                    if ( candidate )
-                        {
-                        iOwner->ReportCandidateSelectEventL(candidate->GetCandidate(),
-                                                           iClickedCandidateIndex);
-                        }
-                    }
-                }
-            }
-        else if ( iNavigationCloseRect.Contains(aPoint) )
-            {
-            if ( iNavigationCloseRect == iClickedRect )
-                {
-                iOwner->SetCapture(EFalse);
-		        iOwner->AutoChangeActiveList(iOwner->GetFirstCandidateIndex());
-                }
-            }
-        else if (!iOwner->PageCtrlShown())
-            {
-            iClickedRect = KEmptyRect;
-            return;
-            }
-        else if ( iNavigationNextRect.Contains(aPoint) )
-            {
-            if ( iNavigationNextRect == iClickedRect )
-                {
-                iOwner->NotifyGetNextPage();
-                UpdateListL();
-                }
-            }
-        else if ( iNavigationPreviousRect.Contains(aPoint) )
-            {
-            if ( iNavigationPreviousRect == iClickedRect )
-                {
-                // Change page to previous
-                iOwner->NotifyGetPreviousPage(); // do nothing, just to avoid clear candidate
-
-                TInt firstIndex = 0;
-                TInt lastIndex = 0;
-                
-                if (iOwner->GetPages()->GetPreviousIndex(iOwner->GetLastCandidateIndex(), 
-                                                         firstIndex,lastIndex))    
-                    {
-                    iOwner->SetFirstCandidateIndex(firstIndex);
-                    iOwner->SetLastCandidateIndex(lastIndex);
-                    }
-                    
-                UpdateListL(ETrue, EFalse);
-                }             
-            }
-
-       	iClickedRect =  KEmptyRect;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CListMultiRowWithIcon::Draw
-// draw the list
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListMultiRowWithIcon::Draw()
-    {
-    // Call draw in base class;
-    CList::Draw();
-
-    DrawCandidates();
-
-	const CFbsBitmap* bitmapBg = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapListBg);
-	const CFbsBitmap* bitmapBgMask = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapListBgMask);
-    
-    if (!bitmapBg || !bitmapBgMask)
-    	{
-	    iOwner->Gc()->SetPenSize(iOwner->GetPenSize());
-	    if ((iOwner->GetCellHorizontalMargin() == 0) && (iOwner->GetCellVerticalMargin() == 0))
-	        {
-	        iOwner->Gc()->SetPenStyle(CGraphicsContext::ESolidPen);
-	        }
-	    else
-	        {
-	        iOwner->Gc()->SetPenStyle(CGraphicsContext::ENullPen);
-	        }
-
-	    iOwner->Gc()->SetPenColor(iOwner->GetBorderColor());
-	    iOwner->Gc()->SetBrushColor(iOwner->GetBgColor());
-	    iOwner->Gc()->SetBrushStyle( CGraphicsContext::ESolidBrush );                
-	    
-	    // Draw the rect for navi
-	    iOwner->Gc()->DrawRect(iNavigationRect);
-    	}
-    else
-    	{
-        iOwner->Gc()->DrawBitmapMasked(iNavigationRect, bitmapBg, 
-                                       bitmapBg->SizeInPixels(), bitmapBgMask, ETrue);        
-    		
-    	}
-
-    iOwner->Gc()->SetPenStyle(CGraphicsContext::ESolidPen);
-
-    // First draw down button
-    if ( iBButtonClose )
-        {
-	    //mask bitmaps
-	    TRect rect = iNavigationCloseRect;   
-	    
-	    if (iDropdownListDrawInfo.iSupportSkin)
-	    	{
-		    TRect innerRect = rect;
-		    innerRect.Shrink( 4, 4 );
-		    
-		    // ----- draw bitmaps -----
-			
-			
-			AknsDrawUtils::DrawFrame( AknsUtils::SkinInstance(), 
-				                      *iOwner->Gc(), 
-				                      rect, 
-				                      innerRect,
-				                      iDropdownListDrawInfo.iNormalBtnImgID,
-				                      KAknsIIDDefault ); 
-
-		       
-		    iBButtonMaskClose = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapCloseMask);   
-		       
-			TRect srcRect( TPoint( 0, 0 ), iBButtonClose->SizeInPixels() );
-			       
-			iOwner->Gc()->BitBltMasked( iNavigationCloseRect.iTl, 
-							            iBButtonClose, 
-									    srcRect,
-									    iBButtonMaskClose,
-									    EFalse);	       
-	    	}
-        else 
-        	{
-	        // Draw the rect for navi next
-	        iOwner->Gc()->DrawLine(TPoint(iNavigationCloseRect.iTl.iX, iNavigationCloseRect.iBr.iY),
-	                               iNavigationCloseRect.iBr);
-
-	        if (iOwner->GetCellHorizontalMargin() != 0)
-	            {
-	            iOwner->Gc()->DrawLine(iNavigationCloseRect.iTl, 
-	                                   TPoint(iNavigationCloseRect.iTl.iX, 
-	                                          iNavigationCloseRect.iBr.iY));
-	            iOwner->Gc()->DrawLine(TPoint(iNavigationCloseRect.iBr.iX, 
-	                                          iNavigationCloseRect.iTl.iY),
-	                                   iNavigationCloseRect.iBr);                       
-	            }
-	            
-	        if (iOwner->GetCellVerticalMargin() != 0)
-	            {
-	            iOwner->Gc()->DrawLine(iNavigationCloseRect.iTl, 
-	                                   TPoint(iNavigationCloseRect.iBr.iX, 
-	                                          iNavigationCloseRect.iTl.iY));
-	            }
-        	
-        	
-	        rect.Shrink(TSize(1,1));
-	        rect.iBr.iY = rect.iBr.iY + 1;
-
-	        if (iOwner->GetCellHorizontalMargin() != 0)
-	            {
-	            rect.iBr.iX = rect.iBr.iX + 1;
-	            }
-
-	        iOwner->Gc()->DrawBitmapMasked(rect, iBButtonClose, 
-	                                       iBButtonClose->SizeInPixels(), iBButtonMaskClose, ETrue);
-        	}
-        }
-
-    if (!iOwner->PageCtrlShown())
-        {
-        iOwner->Invalidate(iRect);
-        return;
-        }
-
-    // First draw down button
-    if ( iBButtonDown )
-        {
-	    //mask bitmaps
-	    TRect rect = iNavigationNextRect;
-	    
-	    if (iDropdownListDrawInfo.iSupportSkin)
-	    	{
-		    TRect innerRect = rect;
-		    innerRect.Shrink( 4, 4 );
-		    
-		    // ----- draw bitmaps -----
-			
-			
-			AknsDrawUtils::DrawFrame( AknsUtils::SkinInstance(), 
-		                     *iOwner->Gc(), 
-		                     rect, 
-		                     innerRect,
-		                     iDropdownListDrawInfo.iNormalBtnImgID,
-		                     KAknsIIDDefault ); 
-
-		       
-		    iBButtonMaskDown = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapNextMask);   
-		       
-			TRect srcRect( TPoint( 0, 0 ), iBButtonDown->SizeInPixels() );
-			       
-			iOwner->Gc()->BitBltMasked( iNavigationNextRect.iTl, 
-									    iBButtonDown, 
-									    srcRect,
-									    iBButtonMaskDown,
-									    EFalse);	    
-	    	}
-		else
-			{
-	        // Draw the rect for navi next
-	        iOwner->Gc()->DrawLine(iNavigationNextRect.iTl,
-	                               TPoint(iNavigationNextRect.iBr.iX, iNavigationNextRect.iTl.iY));
-
-	        if (iOwner->GetCellHorizontalMargin() != 0)
-	            {
-	            iOwner->Gc()->DrawLine(iNavigationNextRect.iTl, 
-	                                  TPoint(iNavigationNextRect.iTl.iX, iNavigationNextRect.iBr.iY));
-	            iOwner->Gc()->DrawLine(TPoint(iNavigationNextRect.iBr.iX, iNavigationNextRect.iTl.iY),
-	                                   iNavigationNextRect.iBr);
-	            }
-	            
-	        if (iOwner->GetCellVerticalMargin() != 0)
-	            {
-	            iOwner->Gc()->DrawLine(TPoint(iNavigationNextRect.iTl.iX, iNavigationNextRect.iBr.iY),
-	                                   iNavigationNextRect.iBr);
-	            }
-			
-	        rect.Shrink(TSize(1,1));               
-
-	        if (iOwner->GetCellHorizontalMargin() != 0)
-	            {
-	            rect.iBr.iX = rect.iBr.iX + 1;
-	            }
-	            
-	        if (iOwner->GetCellVerticalMargin() != 0)
-	            {
-	            rect.iBr.iY = rect.iBr.iY + 1;
-	            }
-
-	        iOwner->Gc()->DrawBitmapMasked(rect, iBButtonDown, 
-	                                       iBButtonDown->SizeInPixels(), iBButtonMaskDown, ETrue);				
-			}
-        }
-        
-    // Second draw up button
-    if ( iBButtonUp )
-        {
-	    //mask bitmaps
-	    TRect rect = iNavigationPreviousRect;
-	    
-	    if (iDropdownListDrawInfo.iSupportSkin)
-	    	{
-		    TRect innerRect = rect;
-		    innerRect.Shrink( 4, 4 );
-		    
-		    // ----- draw bitmaps -----
-			
-			
-			AknsDrawUtils::DrawFrame( AknsUtils::SkinInstance(), 
-		                     *iOwner->Gc(), 
-		                     rect, 
-		                     innerRect,
-		                     iDropdownListDrawInfo.iNormalBtnImgID,
-		                     KAknsIIDDefault ); 
-
-		       
-		    iBButtonMaskUp = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapPreviousMask);   
-		       
-			TRect srcRect( TPoint( 0, 0 ), iBButtonMaskUp->SizeInPixels() );
-			       
-			iOwner->Gc()->BitBltMasked( iNavigationPreviousRect.iTl, 
-									    iBButtonUp, 
-									    srcRect,
-									    iBButtonMaskUp,
-									    EFalse);	    
-	    	}
-
-		else
-			{
-	        // Draw the rect for navi next
-	        iOwner->Gc()->DrawLine(TPoint(iNavigationPreviousRect.iTl.iX, 
-	                                      iNavigationPreviousRect.iBr.iY),
-	                               iNavigationPreviousRect.iBr );
-
-	        if (iOwner->GetCellHorizontalMargin() != 0)
-	            {
-	            iOwner->Gc()->DrawLine(iNavigationPreviousRect.iTl, 
-	                         TPoint(iNavigationPreviousRect.iTl.iX, iNavigationPreviousRect.iBr.iY));
-	            iOwner->Gc()->DrawLine(
-	                         TPoint(iNavigationPreviousRect.iBr.iX, iNavigationPreviousRect.iTl.iY),
-	                                iNavigationPreviousRect.iBr);
-	            }
-	            
-	        if (iOwner->GetCellVerticalMargin() != 0)
-	            {
-	            iOwner->Gc()->DrawLine(iNavigationPreviousRect.iTl, 
-	                         TPoint(iNavigationPreviousRect.iBr.iX, iNavigationPreviousRect.iTl.iY));
-	            }
-			
-	        rect.Shrink(TSize(1,1));                
-
-	        if (iOwner->GetCellHorizontalMargin() != 0)
-	            {
-	            rect.iBr.iX = rect.iBr.iX + 1;
-	            }
-	            
-	        if (iOwner->GetCellVerticalMargin() != 0)
-	            {
-	            rect.iBr.iY = rect.iBr.iY + 1;
-	            }
-
-	        iOwner->Gc()->DrawBitmapMasked(rect, iBButtonUp, 
-	                                       iBButtonUp->SizeInPixels(), iBButtonMaskUp, ETrue);
-			}
-        }
-        
-    }
-
-// -----------------------------------------------------------------------------
-// CListMultiRowWithIcon::UpdateList
-// update the liset
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListMultiRowWithIcon::UpdateListL(TBool aDrawFlag,TBool aRecalculate)
-    {
-    RefreshListL(aRecalculate);
-    if(aDrawFlag)
-        {
-        Draw(); 
-        iOwner->Invalidate(iRect); 
-        }
-    }
-
-void CListMultiRowWithIcon::RefreshListL(TBool aRecalculate)
-    {
-    // Recalculate the pos for the candidates
-    if ( aRecalculate )
-        {
-        iOwner->SetLastCandidateIndex(CalculatePositionsL());
-        }        
-    
-    iOwner->GetPages()->AddPage(iOwner->GetFirstCandidateIndex(), iOwner->GetLastCandidateIndex());
-
-    iCloseButtonDisable = EFalse;
-    iBButtonClose = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapClose);
-    iBButtonMaskClose = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapCloseMask); 
-    
-    if (iOwner->GetFirstCandidateIndex() == 0)  // First page, previous button can't be seen
-        {
-        iPreviousButtonDisable = ETrue;  
-        iBButtonUp = NULL;
-        iBButtonMaskUp = NULL; 
-        }
-    else
-        {
-        iPreviousButtonDisable = EFalse;  
-        iBButtonUp = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapPrevious);
-        iBButtonMaskUp = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapPreviousMask);
-        }
-
-    if ((iOwner->GetLastCandidateIndex() < iOwner->CandidateCount()) || 
-         iOwner->NextCandidateExist())
-        {
-        iNextButtonDisable = EFalse;
-        iBButtonDown = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapNext);
-        iBButtonMaskDown = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapNextMask);
-        }
-    else
-        {
-        iNextButtonDisable = ETrue;
-        iBButtonDown = NULL;
-        iBButtonMaskDown = NULL;
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// CListMultiRowWithIcon::CalculateAreas
-// Calculate all kinds of rectangles
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListMultiRowWithIcon::CalculateAreas()
-    {
-    iRect.iTl = iOwner->GetTopLeftPoint();
-    TInt width = iOwner->GetCellWidth() * iOwner->GetColNum() + 
-                 iOwner->GetNaviWidth() + 
-                 (iOwner->GetColNum() + 2) * iOwner->GetCellHorizontalMargin();
-    
-    TInt height = iOwner->GetCellHeight() * iOwner->GetRowNum() + 
-                  (iOwner->GetRowNum() + 1) * iOwner->GetCellVerticalMargin();
-
-    iRect.SetSize(TSize(width, height));
-    
-    if (iOwner->CandExpandType() == CFepCtrlDropdownList::ECandExpandUpward)
-        {
-        TInt onerowheight = iOwner->GetCellHeight() + 2 * iOwner->GetCellVerticalMargin();
-        iRect.Move(0, -(height - onerowheight));
-        }
-
-    TBool candHLToR = (iOwner->CandHDirection() == CFepCtrlDropdownList::ECandFromLToR);
-    TInt xPos = iRect.iTl.iX + iOwner->GetCellHorizontalMargin();
-    TInt yPos = iRect.iTl.iY + iOwner->GetCellVerticalMargin();
-
-    // width of content rect
-    TInt widthC = iOwner->GetCellWidth() * iOwner->GetColNum() + 
-                  (iOwner->GetColNum() - 1) * iOwner->GetCellHorizontalMargin();
-    height = iOwner->GetCellHeight() * iOwner->GetRowNum() + 
-             (iOwner->GetRowNum() - 1) * iOwner->GetCellVerticalMargin(); 
-    // width of navi rect
-    TInt widthN = iOwner->GetNaviWidth();
-
-    if (candHLToR)
-        {
-        iContentRect.iTl.SetXY(xPos, yPos);
-        iNavigationRect.iTl.SetXY(xPos + widthC + iOwner->GetCellHorizontalMargin(), 
-                                  yPos);
-        }
-    else
-        {
-        iNavigationRect.iTl.SetXY(xPos, yPos);
-        iContentRect.iTl.SetXY(xPos + widthN + iOwner->GetCellHorizontalMargin(), 
-                               yPos);
-        }
-
-    iContentRect.SetSize(TSize(widthC, height));    
-    iNavigationRect.SetSize(TSize(widthN, height));        
-
-    iNavigationCloseRect.iTl = iNavigationRect.iTl;
-    iNavigationCloseRect.SetSize(TSize(iOwner->GetNaviWidth(), iOwner->GetCellHeight()));
-
-    if (!iOwner->PageCtrlShown())
-        {
-        iNavigationPreviousRect = TRect(0, 0, 0, 0);
-        iNavigationNextRect = TRect(0, 0, 0, 0);
-        return; 
-        }
-    else
-        {
-        iNavigationPreviousRect.iTl.SetXY(iNavigationCloseRect.iTl.iX, 
-                                          iNavigationCloseRect.iBr.iY + iOwner->GetCellVerticalMargin());
-        iNavigationPreviousRect.SetSize(TSize(iOwner->GetNaviWidth(), iOwner->GetSpinBtnHeight()));
-        iNavigationNextRect.iTl.SetXY(iNavigationRect.iTl.iX, 
-                                      iNavigationRect.iBr.iY - iOwner->GetSpinBtnHeight());
-        iNavigationNextRect.SetSize(TSize(iOwner->GetNaviWidth(), iOwner->GetSpinBtnHeight()));
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CListMultiRowWithIcon::CalculatePositionsL
-// calculate the position of all visible cells in the list
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//     
-TInt CListMultiRowWithIcon::CalculatePositionsL()
-    {
-    TInt t = 0;
-    TPoint setpoints;
-    TInt count = iOwner->CandidateCount();
-    CCandidate* candidate = NULL;
-    if ( count > 0 )
-        {
-        TBool candHLToR = (iOwner->CandHDirection() == CFepCtrlDropdownList::ECandFromLToR);
-        candHLToR ? setpoints.SetXY(iContentRect.iTl.iX, iContentRect.iTl.iY) : 
-                    setpoints.SetXY(iContentRect.iBr.iX, iContentRect.iTl.iY);
-
-        TInt currentCellIndex = 0;
-        TInt lastUsedCellCount = 0;
-        TInt lastusedRow = 0;
-        iOwner->SetFirstCandidateIndex (iOwner->GetLastCandidateIndex());         
-        count = Min(count, iOwner->GetLastCandidateIndex() + iOwner->GetColNum() * iOwner->GetRowNum() );   
-
-        for(t = iOwner->GetLastCandidateIndex(); t < count ; t++)
-            {   
-            candidate = iOwner->GetCandidate(t);
-
-            if (!candidate)
-                {
-                continue;
-                }
-                            
-            lastUsedCellCount = candidate->SetPositionL(setpoints,
-                                                        iOwner->GetCellWidth(),
-                                                        iOwner->GetCellHeight(),
-                                                        iOwner->GetFont(),
-                                                        iOwner->GetCellHorizontalMargin());
-            currentCellIndex += lastUsedCellCount;
-            if ( currentCellIndex > iOwner->GetColNum() )
-                {
-                lastusedRow++;                
-                if ( lastusedRow >= iOwner->GetRowNum() )
-                    {
-                    break;
-                    }
-
-                currentCellIndex = 0;
-
-                setpoints.iY = setpoints.iY + 
-                               iOwner->GetCellHeight() + 
-                               iOwner->GetCellVerticalMargin();
-                candHLToR ? (setpoints.iX = iContentRect.iTl.iX) : (setpoints.iX = iContentRect.iBr.iX);
-                lastUsedCellCount = candidate->SetPositionL(setpoints,
-                                                            iOwner->GetCellWidth(),
-                                                            iOwner->GetCellHeight(),
-                                                            iOwner->GetFont(),
-                                                            iOwner->GetCellHorizontalMargin()); 
-                currentCellIndex += lastUsedCellCount; 
-
-                candHLToR ? (setpoints.iX += lastUsedCellCount*(iOwner->GetCellWidth() + iOwner->GetCellHorizontalMargin())) : 
-                            (setpoints.iX -= lastUsedCellCount*(iOwner->GetCellWidth() + iOwner->GetCellHorizontalMargin()));
-                }
-               else
-                {
-                candHLToR ? (setpoints.iX += lastUsedCellCount*(iOwner->GetCellWidth() + iOwner->GetCellHorizontalMargin())) : 
-                            (setpoints.iX -= lastUsedCellCount*(iOwner->GetCellWidth() + iOwner->GetCellHorizontalMargin()));
-                }                
-            } // for-loop
-        } // if candidate exist
-        
-    return t; // as lastCandidateIndex
-    }
-
-// -----------------------------------------------------------------------------
-// CListMultiRowWithIcon::DrawNavigationPress
-// draw navigation button when pressed or un-pressed
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CListMultiRowWithIcon::DrawNavigationPress(const TRect& aRect,TBool aIndicate)
-    {
-    TBool retval = EFalse;
-
-    if ( aRect == iNavigationCloseRect )
-        {
-        retval = ETrue;  
-        
-        // Activeate bitmap context
-        iOwner->ActivateBitmapContext();        
-        
-        if (iDropdownListDrawInfo.iSupportSkin)
-        	{
-		    TRect rect = iNavigationCloseRect;        
-		    TRect innerRect = rect;
-		    innerRect.Shrink( 4, 4 );
-
-	        if ( aIndicate )
-	            {
-				AknsDrawUtils::DrawFrame( AknsUtils::SkinInstance(), 
-	                 *iOwner->Gc(), 
-	                 rect, 
-	                 innerRect,
-	                 iDropdownListDrawInfo.iPressedBtnImgID,
-	                 KAknsIIDDefault ); 
-	            }
-	        else
-	            {
-	            
-				AknsDrawUtils::DrawFrame( AknsUtils::SkinInstance(), 
-	                 *iOwner->Gc(), 
-	                 rect, 
-	                 innerRect,
-	                 iDropdownListDrawInfo.iNormalBtnImgID,
-	                 KAknsIIDDefault ); 
-	            
-	            }
-	            
-			iBButtonMaskClose = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapCloseMask);   
-	            
-			TRect srcRect( TPoint( 0, 0 ), iBButtonClose->SizeInPixels() );
-			       
-			iOwner->Gc()->BitBltMasked( iNavigationCloseRect.iTl, 
-							  			iBButtonClose, 
-							  			srcRect,
-							  			iBButtonMaskClose,
-							  			EFalse);	
-        	}
-		else
-			{
-	        if ( aIndicate )  // Pressed the button
-	            {
-	            iBButtonClose = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapClosePress);
-	            iBButtonMaskClose = iOwner->GetBitmapDb()->GetBitMap(
-                                                                 CBitmapDb::EBitmapClosePressMask);
-	            }
-	        else // Release the button
-	            {
-	            iBButtonClose = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapClose);
-	            iBButtonMaskClose = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapCloseMask);
-	            }
-	        
-	        // Begin draw navigation next button
-	        iOwner->DrawMask(iNavigationCloseRect);
-	        // Activeate bitmap context
-	        iOwner->ActivateBitmapContext();
-	        // Draw bitmap
-	        TRect rect = iNavigationCloseRect;        
-	        rect.Shrink(TSize(1,1));
-	        rect.iBr.iY += 1;        
-
-	        if (iOwner->GetCellHorizontalMargin() != 0)
-	            {
-	            rect.iBr.iX = rect.iBr.iX + 1;
-	            }
-
-	        iOwner->Gc()->DrawBitmapMasked(rect, iBButtonClose, 
-	                                       iBButtonClose->SizeInPixels(), iBButtonMaskClose, ETrue);
-			}
-       	iOwner->Invalidate(aRect);
-        }
-    else if (!iOwner->PageCtrlShown())
-        {
-        return retval;
-        }
-    else if ( aRect == iNavigationPreviousRect )
-        {
-        retval = ETrue;  
-        
-        // Activeate bitmap context
-        iOwner->ActivateBitmapContext();
-        
-		if (iDropdownListDrawInfo.iSupportSkin)
-			{
-		    TRect rect = iNavigationPreviousRect;        
-		    TRect innerRect = rect;
-		    innerRect.Shrink( 4, 4 );
-
-	        if ( aIndicate )
-	            {
-				AknsDrawUtils::DrawFrame( AknsUtils::SkinInstance(), 
-	                 *iOwner->Gc(), 
-	                 rect, 
-	                 innerRect,
-	                 iDropdownListDrawInfo.iPressedBtnImgID,
-	                 KAknsIIDDefault ); 
-	            }
-	        else
-	            {
-				AknsDrawUtils::DrawFrame( AknsUtils::SkinInstance(), 
-	                 *iOwner->Gc(), 
-	                 rect, 
-	                 innerRect,
-	                 iDropdownListDrawInfo.iNormalBtnImgID,
-	                 KAknsIIDDefault ); 
-	            }
-	            
-			iBButtonMaskUp = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapPreviousMask);   
-	            
-			TRect srcRect( TPoint( 0, 0 ), iBButtonUp->SizeInPixels() );
-			       
-			iOwner->Gc()->BitBltMasked( iNavigationPreviousRect.iTl, 
-							  			iBButtonUp, 
-										srcRect,
-										iBButtonMaskUp,
-										EFalse);	
-			}
-		else
-			{
-	        if ( aIndicate )  // Pressed the button
-	            {
-	            if ( iBButtonUp )
-	                {
-	                iBButtonUp = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapPreviousPress);
-	                iBButtonMaskUp = iOwner->GetBitmapDb()->GetBitMap(
-                                                              CBitmapDb::EBitmapPreviousPressMask);
-	                }          
-	            }
-	        else // Release the button
-	            {
-	            if ( iBButtonUp )
-	                {
-	                iBButtonUp = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapPrevious);
-	                iBButtonMaskUp = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapPreviousMask);
-	                }          
-	            }
-	        
-	        // Begin draw navigation next button
-	        iOwner->DrawMask(iNavigationPreviousRect);
-	        
-	        // Activeate bitmap context
-	        iOwner->ActivateBitmapContext();
-	        
-	        // Clear rect
-	        iOwner->Gc()->SetPenSize(iOwner->GetPenSize());
-	        iOwner->Gc()->SetPenStyle(CGraphicsContext::ESolidPen);
-	        iOwner->Gc()->SetPenColor(iOwner->GetBorderColor());
-	        iOwner->Gc()->SetBrushColor(iOwner->GetBgColor());
-	        iOwner->Gc()->SetBrushStyle( CGraphicsContext::ESolidBrush );                
-	        iOwner->Gc()->DrawRect( iNavigationPreviousRect );
-	        
-	        // Draw bitmap
-	        TRect rect = iNavigationPreviousRect;        
-	        rect.Shrink(TSize(1,1));    
-
-	        if (iOwner->GetCellHorizontalMargin() != 0)
-	            {
-	            rect.iBr.iX = rect.iBr.iX + 1;
-	            }
-	            
-	        if (iOwner->GetCellVerticalMargin() != 0)
-	            {
-	            rect.iBr.iY = rect.iBr.iY + 1;
-	            }
-
-	        iOwner->Gc()->DrawBitmapMasked(rect, iBButtonUp, 
-	                                       iBButtonUp->SizeInPixels(), iBButtonMaskUp, ETrue);
-			}
-			
-        iOwner->Invalidate(aRect);
-        
-        }        
-    else if ( aRect == iNavigationNextRect )
-        {
-        retval = ETrue;   
-
-        // Activeate bitmap context
-        iOwner->ActivateBitmapContext();
-        
-
-		if (iDropdownListDrawInfo.iSupportSkin)
-			{
-		    TRect rect = iNavigationNextRect;        
-		    TRect innerRect = rect;
-		    innerRect.Shrink( 4, 4 );
-
-	        if ( aIndicate )
-	            {
-				AknsDrawUtils::DrawFrame( AknsUtils::SkinInstance(), 
-	                 *iOwner->Gc(), 
-	                 rect, 
-	                 innerRect,
-	                 iDropdownListDrawInfo.iPressedBtnImgID,
-	                 KAknsIIDDefault ); 
-	            }
-	        else
-	            {
-				AknsDrawUtils::DrawFrame( AknsUtils::SkinInstance(), 
-	                 *iOwner->Gc(), 
-	                 rect, 
-	                 innerRect,
-	                 iDropdownListDrawInfo.iNormalBtnImgID,
-	                 KAknsIIDDefault ); 
-	            }
-	            
-			iBButtonMaskDown = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapNextMask);   
-	            
-			TRect srcRect( TPoint( 0, 0 ), iBButtonDown->SizeInPixels() );
-			       
-			iOwner->Gc()->BitBltMasked( iNavigationNextRect.iTl, 
-										iBButtonDown, 
-										srcRect,
-										iBButtonMaskDown,
-										EFalse);	
-			}
-		else
-			{
-	        if ( aIndicate )  // Pressed the button
-	            {
-	            if ( iBButtonDown )
-	                {
-	                iBButtonDown = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapNextPress);
-	                iBButtonMaskDown = iOwner->GetBitmapDb()->GetBitMap(
-                                                                  CBitmapDb::EBitmapNextPressMask);
-	                }         
-	            }
-	        else // Release the button
-	            {
-	            if ( iBButtonDown )
-	                {
-	                iBButtonDown = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapNext);
-	                iBButtonMaskDown = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapNextMask);
-	                }            
-	            }
-	        
-	        // Begin draw navigation next button
-	        iOwner->DrawMask(iNavigationNextRect);
-	        
-	        // Activeate bitmap context
-	        iOwner->ActivateBitmapContext();
-	        
-	        // Clear rect
-	        iOwner->Gc()->SetPenSize(iOwner->GetPenSize());
-	        iOwner->Gc()->SetPenStyle(CGraphicsContext::ESolidPen);
-	        iOwner->Gc()->SetPenColor(iOwner->GetBorderColor());
-	        iOwner->Gc()->SetBrushColor(iOwner->GetBgColor());
-	        iOwner->Gc()->SetBrushStyle( CGraphicsContext::ESolidBrush );       
-	        iOwner->Gc()->DrawRect( iNavigationNextRect );
-	        
-	        // Draw bitmap
-	        TRect rect = iNavigationNextRect;        
-	        rect.Shrink(TSize(1,1));         
-
-	        if (iOwner->GetCellHorizontalMargin() != 0)
-	            {
-	            rect.iBr.iX = rect.iBr.iX + 1;
-	            }
-	            
-	        if (iOwner->GetCellVerticalMargin() != 0)
-	            {
-	            rect.iBr.iY = rect.iBr.iY + 1;
-	            }
-
-	        iOwner->Gc()->DrawBitmapMasked(rect, iBButtonDown, 
-	                                       iBButtonDown->SizeInPixels(), iBButtonMaskDown, ETrue);
-			}
-
-        iOwner->Invalidate(aRect);
-        } 
-        
-    return retval;
-    }
-
-// End Of File
--- a/textinput/peninputcommonctrls/src/peninputdropdownlist/peninputlistmultirowwithiconwithbubble.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,361 +0,0 @@
-/*
-* 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:
-*
-*/
-
-// Include 
-#include <fbs.h>
-#include <AknsUtils.h>
-#include <AknLayoutDef.h>
-#include <peninputdropdownlistcontext.h>
-#include <peninputdropdownlist.h>
-#include <AknsDrawUtils.h>
-#include "peninputlistmultirowwithicon.h"
-#include "peninputlistmultirowwithiconwithbubble.h"
-#include "peninputlayout.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// Implementation of Class CListMultiRowWithIconWithBubble 
-
-// -----------------------------------------------------------------------------
-// CListMultiRowWithIconWithBubble::CListMultiRowWithIconWithBubble
-// C++ default constructor can NOT contain any code, that
-// might leave
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CListMultiRowWithIconWithBubble::CListMultiRowWithIconWithBubble(CListManager* aManager, 
-                                             MFepCtrlDropdownListContext *aOwner)
-: CListMultiRowWithIcon(aManager, aOwner)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CListMultiRowWithIconWithBubble::NewL
-// factory function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CListMultiRowWithIconWithBubble* CListMultiRowWithIconWithBubble::NewL(CListManager* aManager, 
-                                                   MFepCtrlDropdownListContext *aOwner)
-    {
-    CListMultiRowWithIconWithBubble* self = new (ELeave) CListMultiRowWithIconWithBubble(aManager, aOwner);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CListMultiRowWithIconWithBubble::~CListMultiRowWithIconWithBubble
-// desstrutor function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CListMultiRowWithIconWithBubble::~CListMultiRowWithIconWithBubble()
-    {     
-    }
-
-    
-// -----------------------------------------------------------------------------
-// CListMultiRowWithIconWithBubble::HandlePointerDownL
-// handle pointer down 
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListMultiRowWithIconWithBubble::HandlePointerDownL(const TPoint& aPoint)
-    {
-    CList::HandlePointerDownL(aPoint);
-
-    // also consider fuzzy boundry of drop down list
-    TRect fuzzyrect = iRect;
-    fuzzyrect.Grow(iOwner->FuzzyBoundry(), iOwner->FuzzyBoundry());
-
-    if (!fuzzyrect.Contains(aPoint))
-        {
-        iOwner->SetCapture(EFalse);
-        iOwner->AutoChangeActiveList(iOwner->GetFirstCandidateIndex());
-        iOwner->ClearBubble();
-        return;
-        }
-
-    // If click in navigation rect and NextButton is not disable, then do 
-    if ( iNavigationRect.Contains(aPoint) )
-        {   
-        if ( iNavigationCloseRect.Contains(aPoint) && !iCloseButtonDisable )
-            {
-			#ifdef RD_TACTILE_FEEDBACK
-	        static_cast<CFepCtrlDropdownList*>(iOwner)->UiLayout()->
-	            DoTactileFeedback(ETouchFeedbackBasic);
-			#endif
-	        
-            iClickedRect.SetRect(iNavigationCloseRect.iTl, iNavigationCloseRect.iBr);
-            iIndicateButtonClicked = ETrue;
-            DrawSelection(iClickedRect, ETrue);                
-            }  
-        else if (!iOwner->PageCtrlShown())
-            {
-            iClickedRect = KDummyRect;
-            return;
-            }
-        else if ( iNavigationPreviousRect.Contains(aPoint) && !iPreviousButtonDisable )
-            {
-			#ifdef RD_TACTILE_FEEDBACK
-	        static_cast<CFepCtrlDropdownList*>(iOwner)->UiLayout()->
-	            DoTactileFeedback(ETouchFeedbackBasic);
-			#endif
-            
-            iClickedRect.SetRect(iNavigationPreviousRect.iTl, iNavigationPreviousRect.iBr);
-            iIndicateButtonClicked = ETrue;
-            DrawSelection(iClickedRect, ETrue);                
-            }
-        else if ( iNavigationNextRect.Contains(aPoint) && !iNextButtonDisable )
-            {
-			#ifdef RD_TACTILE_FEEDBACK
-	        static_cast<CFepCtrlDropdownList*>(iOwner)->UiLayout()->
-	            DoTactileFeedback(ETouchFeedbackBasic);
-			#endif
-            
-            iClickedRect.SetRect(iNavigationNextRect.iTl, iNavigationNextRect.iBr);
-            iIndicateButtonClicked = ETrue;
-            DrawSelection(iClickedRect, ETrue);                
-            }
-        else
-            {
-            iClickedRect = KDummyRect;                                
-            }
-        }
-    else
-        {
-        TInt index = -1;
-        CCandidate* candidate = FindCandidate(aPoint, index);
-        if(candidate)
-            {
-            iOwner->DrawBubble(iClickedRect, candidate->GetCandidate());
-            }
-        }
-    }
-     
-
-// -----------------------------------------------------------------------------
-// CListMultiRowWithIconWithBubble::HandlePointerDragL
-// handle pointer drag function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListMultiRowWithIconWithBubble::HandlePointerDragL(const TPoint& aPoint)
-    {
-    // Pass the event first to the base
-    CList::HandlePointerDragL(aPoint);
-
-    CCandidate* candidate = FindCandidate(aPoint, iClickedCandidateIndex);
-    
-    TBool isUpdateBubble = EFalse;
-    if ( candidate )
-        {
-        if (iClickedRect != candidate->GetRect())
-            {// move to the other candidate
-            // set update prview bubble flag
-            isUpdateBubble = ETrue;
-            // remenber the previous cell rect
-            iMoveLatestRect = iClickedRect;
-            // get the new cell rect
-            iClickedRect.SetRect(candidate->GetRect().iTl, candidate->GetRect().Size());
-            }
-        }
-    else if ( iNavigationRect.Contains(aPoint) )
-        {
-        iOwner->ClearBubble();
-        if ( iNavigationCloseRect.Contains(aPoint) && !iCloseButtonDisable &&
-             iClickedRect !=  iNavigationCloseRect)
-            {
-            iMoveLatestRect = iClickedRect;
-            iClickedRect.SetRect(iNavigationCloseRect.iTl, iNavigationCloseRect.iBr);
-            CompareRect(iMoveLatestRect, iClickedRect);
-            }
-        else if (!iOwner->PageCtrlShown())
-            {
-            return;
-            }
-        else if ( iNavigationPreviousRect.Contains(aPoint) && !iPreviousButtonDisable &&
-                  iClickedRect != iNavigationPreviousRect )
-            {
-            iMoveLatestRect = iClickedRect;
-            iClickedRect.SetRect(iNavigationPreviousRect.iTl, iNavigationPreviousRect.iBr);
-            CompareRect(iMoveLatestRect, iClickedRect);
-            }
-        else if ( iNavigationNextRect.Contains(aPoint) && !iNextButtonDisable &&
-                  iClickedRect != iNavigationNextRect )
-            {
-            iMoveLatestRect = iClickedRect;
-            iClickedRect.SetRect(iNavigationNextRect.iTl, iNavigationNextRect.iBr);
-            CompareRect(iMoveLatestRect, iClickedRect);
-            } 
-        else if(!((iNavigationCloseRect.Contains(aPoint) && !iCloseButtonDisable) ||
-                (iNavigationPreviousRect.Contains(aPoint) && !iPreviousButtonDisable) ||
-                (iNavigationNextRect.Contains(aPoint) && !iNextButtonDisable)))
-            {
-            // Move to navigation area but not valid navigation button
-            TRect dummyrect = KDummyRect;
-            if(iClickedRect != dummyrect)
-                {
-                iMoveLatestRect = iClickedRect;
-                iClickedRect = KDummyRect;
-                CompareRect(iMoveLatestRect, iClickedRect);
-                }
-            }
-        }
-    else
-        {// move to the aperture
-        // remember the previous cell 
-        iMoveLatestRect = iClickedRect;
-        // set the new cell to empty
-        iClickedRect = KDummyRect;
-        // redraw the cell only when drag outside at the first time
-        if(iMoveLatestRect != iClickedRect)
-            {
-            iOwner->ClearBubble();
-            DrawSelection(iMoveLatestRect, EFalse);
-            DrawHighightCell(iMoveLatestRect, ETrue);            
-            }
-        }
-    
-    if(candidate && isUpdateBubble)
-        {
-        iOwner->ClearBubble();
-        CompareRect(iMoveLatestRect, iClickedRect);
-        // Show preview bubble when drag into a candidate cell
-        // Make sure show the bubble after redraw clicked cell
-        iOwner->DrawBubble(iClickedRect, candidate->GetCandidate());
-        }
-        
-    }
-
-// -----------------------------------------------------------------------------
-// CListMultiRowWithIconWithBubble::HandlePointerUpL
-// handle pointer up function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListMultiRowWithIconWithBubble::HandlePointerUpL(const TPoint& aPoint)
-    {  
-    // Reset the button clicked flag to EFalse
-    iIndicateButtonClicked = EFalse;
-   
-    iOwner->ClearBubble();
-    
-#ifdef __WINS__
-    // in emulator, double click will be treated as:
-    // 1 pointer down and 2 pointer up, which will cause error
-    if (iClickedRect.IsEmpty() && ((CFepUiBaseCtrl*)iOwner)->PointerDown()) 
-#else
-    if (iClickedRect.IsEmpty())
-#endif // __WINS__
-        {
-        iOwner->SetCapture(EFalse);
-        // Change active list object ie. close the dd-list
-        iOwner->AutoChangeActiveList( iOwner->GetFirstCandidateIndex() );
-        }
-    else
-        {
-        if ( iContentRect.Contains(aPoint) )
-            {
-            if ( iClickedRect.Contains(aPoint) )
-                {
-                // Redraw the selected aread    
-                DrawSelection(iClickedRect, EFalse);
-                
-                iOwner->SetCapture(EFalse);
-                
-                // We have selected a candidate and iClickedCandidateIndex is the selected Index.
-                // Send the candidate to others
-                if (iClickedCandidateIndex != KErrNotFound)
-                    {
-			        iOwner->AutoChangeActiveList( iOwner->GetFirstCandidateIndex() );
-                    CCandidate* candidate = iOwner->GetCandidate(iClickedCandidateIndex);
-                    if ( candidate )
-                        {
-                        iOwner->ReportCandidateSelectEventL(candidate->GetCandidate(),
-                                                           iClickedCandidateIndex);
-                        }
-                    }
-                }
-            }
-        else if ( iNavigationCloseRect.Contains(aPoint) )
-            {
-            if ( iNavigationCloseRect == iClickedRect )
-                {
-                iOwner->SetCapture(EFalse);
-		        iOwner->AutoChangeActiveList(iOwner->GetFirstCandidateIndex());
-                }
-            }
-        else if (!iOwner->PageCtrlShown())
-            {
-            iClickedRect = KEmptyRect;
-            return;
-            }
-        else if ( iNavigationNextRect.Contains(aPoint) )
-            {
-            if ( iNavigationNextRect == iClickedRect )
-                {
-                iOwner->NotifyGetNextPage();
-                UpdateListL();
-                }
-            }
-        else if ( iNavigationPreviousRect.Contains(aPoint) )
-            {
-            if ( iNavigationPreviousRect == iClickedRect )
-                {
-                // Change page to previous
-                iOwner->NotifyGetPreviousPage(); // do nothing, just to avoid clear candidate
-
-                TInt firstIndex = 0;
-                TInt lastIndex = 0;
-                
-                if (iOwner->GetPages()->GetPreviousIndex(iOwner->GetLastCandidateIndex(), 
-                                                         firstIndex,lastIndex))    
-                    {
-                    iOwner->SetFirstCandidateIndex(firstIndex);
-                    iOwner->SetLastCandidateIndex(lastIndex);
-                    }
-                    
-                UpdateListL(ETrue, EFalse);
-                }             
-            }
-            
-       	iClickedRect =  KEmptyRect;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CListMultiRowWithIconWithBubble::CompareRect
-// Compare src and des rect 
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//	
-TBool CListMultiRowWithIconWithBubble::CompareRect(const TRect& aSrcRect, const TRect& aDesRect)
-    {
-    if(aSrcRect != aDesRect)  
-        {
-        DrawSelection(aDesRect, ETrue);
-        DrawSelection(aSrcRect, EFalse);
-        DrawHighightCell(aSrcRect, ETrue);
-        }
-          
-    return EFalse;        
-    }
-
-// End Of File
--- a/textinput/peninputcommonctrls/src/peninputdropdownlist/peninputlistmultirowwithouticon.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,296 +0,0 @@
-/*
-* 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:  Multi rows list without icon for drop-down list objects
-*
-*/
-
-
-
-// Include 
-#include <peninputdropdownlistcontext.h>
-#include <peninputdropdownlist.h>
-
-#include "peninputlist.h"
-#include "peninputlistmultirowwithouticon.h"
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// Implementation of Class CListMultiRowWithoutIcon 
-
-// -----------------------------------------------------------------------------
-// CListMultiRowWithoutIcon::CListMultiRowWithoutIcon
-// C++ default constructor can NOT contain any code, that
-// might leave
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CListMultiRowWithoutIcon::CListMultiRowWithoutIcon( CListManager* aManager, 
-                          MFepCtrlDropdownListContext *aOwner )
-						  :CList( aManager, aOwner )
-    {
-    iIsMultiRows = ETrue;
-    }
-
-// -----------------------------------------------------------------------------
-// CListMultiRowWithoutIcon::NewL
-// factory function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CListMultiRowWithoutIcon* CListMultiRowWithoutIcon::NewL( 
-										CListManager* aManager, 
-                          				MFepCtrlDropdownListContext *aOwner )
-    {
-    CListMultiRowWithoutIcon* self 
-		= new (ELeave) CListMultiRowWithoutIcon( aManager, aOwner );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CListMultiRowWithoutIcon::~CListMultiRowWithoutIcon
-// desstrutor function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CListMultiRowWithoutIcon::~CListMultiRowWithoutIcon()
-    {     
-    }
-
-// -----------------------------------------------------------------------------
-// CListMultiRowWithoutIcon::HandlePointerDragL
-// handle pointer drag function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListMultiRowWithoutIcon::HandlePointerDragL( const TPoint& aPoint )
-    {
-    // Pass the event first to the base
-    CList::HandlePointerDragL( aPoint );
-    
-    if ( !iClickedRect.IsEmpty() )
-        {
-		// clicked rect is not outside the whole DDL
-        TInt index = -1;
-        
-        CCandidate* candidate = FindCandidate( aPoint, index );
-        iMoveLatestRect = KEmptyRect;
-        
-        if ( candidate )
-            {
-            // candidate exist
-            iMoveLatestRect.SetRect( candidate->GetRect().iTl, 
-									 candidate->GetRect().Size() );
-            }
-        
-        // Compare the two rect, then decide draw it or not
-        CompareRect( iMoveLatestRect, iClickedRect );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CListMultiRowWithoutIcon::HandlePointerUpL
-// handle pointer up function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListMultiRowWithoutIcon::HandlePointerUpL( const TPoint& aPoint )
-    {  
-	// clicked rect is outside the whole DDL
-    if ( iClickedRect.IsEmpty() )
-        {
-        iOwner->SetCapture( EFalse );
-        // Change active list object ie. close the DDL
-        iOwner->AutoChangeActiveList( iOwner->GetFirstCandidateIndex() );
-        }
-    else
-        {
-        if ( ( iContentRect.Contains( aPoint ) ) 
-        	&& ( iClickedRect.Contains( aPoint ) ) )
-            {
-            // Redraw the selected aread    
-            DrawSelection( iClickedRect, EFalse );
-            
-            iOwner->SetCapture( EFalse );
-            
-            // We have selected a candidate and iClickedCandidateIndex is 
-			//	the selected Index.
-            // Send the candidate to others
-            if (iClickedCandidateIndex != KErrNotFound)
-                {
-		        iOwner->AutoChangeActiveList( 
-									iOwner->GetFirstCandidateIndex() );
-                CCandidate* candidate = iOwner->GetCandidate( 
-												iClickedCandidateIndex );
-                if ( candidate )
-                    {
-                    iOwner->ReportCandidateSelectEventL( 
-												candidate->GetCandidate(),
-                                                iClickedCandidateIndex );
-                    }
-                }
-            }
-
-        iClickedRect = KEmptyRect;
-        }
-
-    iIndicateButtonClicked = EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// CListMultiRowWithoutIcon::Draw
-// draw the list
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListMultiRowWithoutIcon::Draw()
-    {
-    // Call draw in base class;
-    CList::Draw();
-    
-    // Draw all visible candidates
-    DrawCandidates();
-    }
-
-// -----------------------------------------------------------------------------
-// CListMultiRowWithoutIcon::CalculateAreas
-// Calculate all kinds of rectangles
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListMultiRowWithoutIcon::CalculateAreas()
-    {
-    // Calculate the rect of the list
-    iRect.iTl = iOwner->GetTopLeftPoint();
-    TInt width = iOwner->GetCellWidth() * iOwner->GetColNum() + 
-                 iOwner->GetNaviWidth() + 
-                 (iOwner->GetColNum() + 2) * iOwner->GetCellHorizontalMargin();
-
-    TInt height = iOwner->GetCellHeight() * iOwner->GetRowNum() + 
-                  (iOwner->GetRowNum() + 1) * iOwner->GetCellVerticalMargin();
-
-    iRect.SetSize(TSize( width,height));
-    
-    if (iOwner->CandExpandType() == CFepCtrlDropdownList::ECandExpandUpward)
-        {
-        // expand upward
-        TInt onerowheight = iOwner->GetCellHeight() + 2 * iOwner->GetCellVerticalMargin();
-        iRect.Move(0, -(height - onerowheight));
-        }
-
-    // Calculate the rect of the content
-    iContentRect.iTl.SetXY(iRect.iTl.iX + iOwner->GetCellHorizontalMargin(),
-                           iRect.iTl.iY + iOwner->GetCellVerticalMargin());
-
-    iContentRect.SetSize(TSize (width - 2 * iOwner->GetCellHorizontalMargin(),
-                                height - 2 * iOwner->GetCellVerticalMargin()));
-
-    // Initialized the rect of the navigation area and the down and up button
-    iNavigationRect = KEmptyRect;
-    iNavigationNextRect = KEmptyRect;
-    iNavigationPreviousRect = KEmptyRect;
-    }
-
-// -----------------------------------------------------------------------------
-// CListMultiRowWithoutIcon::CalculatePositionsL
-// calculate the position of all visible cells in the list
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//     
-TInt CListMultiRowWithoutIcon::CalculatePositionsL()
-    {
-    TInt lastCandidateIndex = iOwner->GetLastCandidateIndex();
-	TInt count = iOwner->CandidateCount();
-
-    if ( count > 0 )
-        {
-        TPoint setpoints;
-        TBool candHLToR = (iOwner->CandHDirection() == CFepCtrlDropdownList::ECandFromLToR);
-        candHLToR ? setpoints.SetXY(iContentRect.iTl.iX, iContentRect.iTl.iY) : 
-                    setpoints.SetXY(iContentRect.iBr.iX, iContentRect.iTl.iY);
-
-       	count = Min( count, lastCandidateIndex 
-					+ ( iOwner->GetColNum() + 1 ) * iOwner->GetRowNum() );
-
-        for ( TInt currentCellIndex = 0, 
-        		   lastUsedCellCount = 0, 
-        		   lastusedRow = 0; 
-        	  lastCandidateIndex <= count; 
-        	  lastCandidateIndex++ )
-            {
-            // setting a position for this candidate 
-            CCandidate* candidate = iOwner->GetCandidate( lastCandidateIndex );
-
-            if ( candidate )
-                {
-                // each candidate exist
-	            if ( currentCellIndex > iOwner->GetColNum() )
-	                {
-	                // The cell index moved the edge of right
-	                lastusedRow++;
-	                if ( lastusedRow >= iOwner->GetRowNum() )
-	                    {
-		                // The row index moved bottom
-	                    break;
-	                    }
-	                    
-	                currentCellIndex = 0;
-	                
-                    setpoints.iY = setpoints.iY + 
-                                   iOwner->GetCellHeight() + 
-                                   iOwner->GetCellVerticalMargin();
-
-                    candHLToR ? (setpoints.iX = iContentRect.iTl.iX) : (setpoints.iX = iContentRect.iBr.iX);
-	                }
-
-	            lastUsedCellCount = candidate->SetPositionL(setpoints, 
-													        iOwner->GetCellWidth(), 
-	                                                        iOwner->GetCellHeight(), 
-													        iOwner->GetFont(),
-													        iOwner->GetCellHorizontalMargin());
-
-	            currentCellIndex += lastUsedCellCount;
-	            candHLToR? (setpoints.iX += lastUsedCellCount*(iOwner->GetCellWidth() + iOwner->GetCellHorizontalMargin())) : 
-	                       (setpoints.iX -= lastUsedCellCount*(iOwner->GetCellWidth() + iOwner->GetCellHorizontalMargin()));
-                } // if each candidate exist
-            } // for-loop
-        } // if candidate exist
-         
-    return lastCandidateIndex; // as lastCandidateIndex
-    }
-
-// -----------------------------------------------------------------------------
-// CListMultiRowWithoutIcon::UpdateList
-// update the list
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListMultiRowWithoutIcon::UpdateListL( TBool aDrawFlag, TBool aRecalculate )
-    {
-    if ( aRecalculate )
-        {
-        // Recalculate the position of all candidates
-        iOwner->SetLastCandidateIndex( CalculatePositionsL() );
-        }
-    if(aDrawFlag)
-        {
-        Draw();
-        iOwner->Invalidate(iRect);
-        }
-    }
-
-// End Of File
--- a/textinput/peninputcommonctrls/src/peninputdropdownlist/peninputlistonerowrollwithicon.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,216 +0,0 @@
-/*
-* 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:
-*
-*/
-#include <peninputdropdownlistcontext.h>
-
-#include "peninputlistonerowrollwithicon.h"
-#include "peninputcandidate.h"
-#include "peninputdropdownlist.h"
-#include "peninputlayout.h"
-
-const TInt KInvalidCandIndex = -1;
-
-CListOneRowRollWithIcon* CListOneRowRollWithIcon::NewL(CListManager* aManager,
-                                                       MFepCtrlDropdownListContext* aOwner)
-    {
-    CListOneRowRollWithIcon* self = new (ELeave) CListOneRowRollWithIcon(aManager, aOwner);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;
-    }
-
-CListOneRowRollWithIcon::~CListOneRowRollWithIcon()
-    {
-    }
-
-CListOneRowRollWithIcon::CListOneRowRollWithIcon(CListManager* aManager, 
-                                                 MFepCtrlDropdownListContext* aOwner):
-                                                 CListOneRowWithIcon(aManager, aOwner)
-    {
-    }
-
-// not needed anymore
-// if candidate not enough to fill one row, 
-// just dim next button, but not hide it
-/*
-void CListOneRowRollWithIcon::Draw()
-    {
-    CList::Draw();
-    DrawCandidates();
-
-    if (!iNextButtonDisable)
-        {
-        //Clear bg for iNavigationNextRect
-        iOwner->Gc()->SetPenSize(iOwner->GetPenSize());
-        iOwner->Gc()->SetPenStyle(CGraphicsContext::ESolidPen);
-
-        iOwner->Gc()->SetPenColor(iOwner->GetBorderColor());
-        iOwner->Gc()->SetBrushColor(iOwner->GetBgColor());
-        iOwner->Gc()->SetBrushStyle( CGraphicsContext::ESolidBrush );                
-        iOwner->Gc()->DrawRect( iNavigationNextRect );
-
-        TRect rect = iNavigationNextRect;
-        rect.Shrink(1, 1);
-
-        iOwner->Gc()->DrawBitmapMasked(rect, 
-                                       iBButtonDown, 
-                                       iBButtonDown->SizeInPixels(), 
-                                       iBButtonMaskDown, 
-                                       ETrue);
-        }
-
-    iOwner->Invalidate(iRect);
-    }
-*/    
-
-void CListOneRowRollWithIcon::HandlePointerDownL(const TPoint& aPoint)
-    {
-    // Pass the event first to the base
-    CList::HandlePointerDownL(aPoint);
-
-    // If click in NextButton, and it is not disable, then do 
-    if (iNavigationNextRect.Contains(aPoint) && !iNextButtonDisable)
-        {
-		#ifdef RD_TACTILE_FEEDBACK
-        static_cast<CFepCtrlDropdownList*>(iOwner)->UiLayout()->
-                        DoTactileFeedback(ETouchFeedbackBasic);        
-		#endif //RD_TACTILE_FEEDBACK
-        // If click in down button and the down button is enabled 
-        iClickedRect.SetRect(iNavigationNextRect.iTl, iNavigationNextRect.iBr);
-        iIndicateButtonClicked = ETrue;
-        DrawSelection(iClickedRect, ETrue);
-        }
-    }
-
-void CListOneRowRollWithIcon::HandlePointerUpL(const TPoint& aPoint)
-    {
-    iIndicateButtonClicked = EFalse;
-
-    if (!iClickedRect.IsEmpty())
-        {
-        // Find out which rectangle was clicked and save it for 
-        // later usage (HandlePointerUpL)
-        if (iContentRect.Contains(aPoint))
-            {
-            // The point is inside the content rect
-            // Check whether the point is inside the same last clicked
-            // candidate rectangle
-            if (iClickedRect.Contains(aPoint))
-                {
-                if (iClickedCandidateIndex != KErrNotFound)
-                    {
-                    // Redraw the selected aread  
-                    DrawSelection(iClickedRect, EFalse);
-
-                    // We have selected a candidate and iClickedCandidateIndex is the selected Index.
-                    // Then send message to plugin
-                    CCandidate* candidate = iOwner->GetCandidate(iClickedCandidateIndex);
-                    if ( candidate )
-                        {
-                        iOwner->ReportCandidateSelectEventL(candidate->GetCandidate(),
-                                                           iClickedCandidateIndex);
-                        }
-                    }
-                }
-            }
-        else if ((iNavigationNextRect == iClickedRect) && !iNextButtonDisable)
-            {
-            TInt originalFirstCandIndex = iOwner->GetOriginalFirstCandIdx();
-
-            if ((iOwner->ListType() == CFepCtrlDropdownList::EListExpandableRollWithIcon) && 
-                (originalFirstCandIndex != KInvalidCandIndex))
-                {
-                iOwner->AutoChangeActiveList(originalFirstCandIndex);
-                }
-            else
-                {
-                iOwner->AutoChangeActiveList(iOwner->GetFirstCandidateIndex());
-                }    
-
-            iOwner->SetCapture(ETrue);    
-            }
-
-        iClickedRect =  KEmptyRect;   
-        }
-    }
-
-void CListOneRowRollWithIcon::HandlePointerDragL(const TPoint& aPoint)
-    {
-    // Pass the event first to the base
-    CList::HandlePointerDragL(aPoint);
-
-    if (iIndicateButtonClicked)  // clicked rect is not outside the whole DDL
-        {
-        iMoveLatestRect = KEmptyRect;
-        
-        if (iNavigationNextRect.Contains(aPoint) && !iNextButtonDisable)
-            {
-            // If click in down button and the down button is enabled	
-            iMoveLatestRect.SetRect(iNavigationNextRect.iTl, iNavigationNextRect.iBr);
-            }
-        else if (iContentRect.Contains(aPoint))
-            {
-            TInt index = -1;  
-            CCandidate* candidate = FindCandidate(aPoint, index);        
-                
-            if ( candidate )
-                {
-                // If click in candidates area  
-                iMoveLatestRect.SetRect(candidate->GetRect().iTl, candidate->GetRect().Size());
-                }
-            else
-                {
-                iMoveLatestRect = KEmptyRect;
-                }           
-            }
-            
-        CompareRect(iMoveLatestRect, iClickedRect);
-        }
-    }
-    
-void CListOneRowRollWithIcon::SetHighlightCell(const TInt aCellIndex, 
-                                               TBool aHighlight, 
-                                               TBool aForceDraw)
-    {
-    if (aCellIndex < iOwner->GetLastCandidateIndex())
-        {
-        CList::SetHighlightCell(aCellIndex, aHighlight, aForceDraw);
-        }
-    else if ((iOwner->GetLastCandidateIndex() > 0) &&
-             aHighlight)
-        {
-        TInt originalFirstCandIndex = iOwner->GetOriginalFirstCandIdx();
-     
-        iOwner->SetUpdateListReDrawFlag(EFalse);
-
-        if ((iOwner->ListType() == CFepCtrlDropdownList::EListExpandableRollWithIcon) && 
-            (originalFirstCandIndex != KInvalidCandIndex))
-            {
-            iOwner->AutoChangeActiveList(originalFirstCandIndex);
-            }
-        else
-            {
-            iOwner->AutoChangeActiveList(iOwner->GetFirstCandidateIndex());
-            }    
-
-        TRAP_IGNORE(iOwner->ActiveList()->SetNextPageHighlightCellAfterOnePageL(aCellIndex));
-        
-        iOwner->SetUpdateListReDrawFlag(ETrue);
-        }
-    }
-
-// End Of File
--- a/textinput/peninputcommonctrls/src/peninputdropdownlist/peninputlistonerowrollwithiconwithbubble.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,260 +0,0 @@
-/*
-* 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:
-*
-*/
-
-
-#include <peninputdropdownlistcontext.h>
-
-#include "peninputlistonerowrollwithiconwithbubble.h"
-#include "peninputcandidate.h"
-#include "peninputdropdownlist.h"
-#include "peninputlayout.h"
-
-const TInt KInvalidCandIndex = -1;
-
-// ======== MEMBER FUNCTIONS ========
-
-// Implementation of Class CListOneRowRollWithIconWithBubble 
-
-// -----------------------------------------------------------------------------
-// CListOneRowRollWithIconWithBubble::NewL
-// factory function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CListOneRowRollWithIconWithBubble* CListOneRowRollWithIconWithBubble::NewL(CListManager* aManager,
-                                                       MFepCtrlDropdownListContext* aOwner)
-    {
-    CListOneRowRollWithIconWithBubble* self = new (ELeave) CListOneRowRollWithIconWithBubble(aManager, aOwner);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CListOneRowRollWithIconWithBubble::~CListOneRowRollWithIconWithBubble
-// desstrutor function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CListOneRowRollWithIconWithBubble::~CListOneRowRollWithIconWithBubble()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CListOneRowRollWithIconWithBubble::CListOneRowRollWithIconWithBubble
-// C++ default constructor can NOT contain any code, that
-// might leave
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CListOneRowRollWithIconWithBubble::CListOneRowRollWithIconWithBubble(CListManager* aManager, 
-                                                 MFepCtrlDropdownListContext* aOwner):
-                                                 CListOneRowRollWithIcon(aManager, aOwner)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CListOneRowRollWithIconWithBubble::HandlePointerDownL
-// handle pointer down function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListOneRowRollWithIconWithBubble::HandlePointerDownL(const TPoint& aPoint)
-    {
-    // Pass the event first to the base
-    CList::HandlePointerDownL(aPoint);
-
-    // If click in NextButton, and it is not disable, then do 
-    if (iNavigationNextRect.Contains(aPoint) && !iNextButtonDisable)
-        {
-		#ifdef RD_TACTILE_FEEDBACK
-        static_cast<CFepCtrlDropdownList*>(iOwner)->UiLayout()->
-                        DoTactileFeedback(ETouchFeedbackBasic);  
-		#endif
-        
-        // If click in down button and the down button is enabled 
-        iClickedRect.SetRect(iNavigationNextRect.iTl, iNavigationNextRect.iBr);
-        iIndicateButtonClicked = ETrue;
-        DrawSelection(iClickedRect, ETrue);
-        }
-    else
-        {
-        TInt index = -1;
-        CCandidate* candidate = FindCandidate(aPoint, index);
-        if(candidate)
-            {
-            iOwner->DrawBubble(iClickedRect, candidate->GetCandidate());
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CListOneRowRollWithIconWithBubble::HandlePointerUpL
-// handle pointer up function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListOneRowRollWithIconWithBubble::HandlePointerUpL(const TPoint& aPoint)
-    {
-    iIndicateButtonClicked = EFalse;
-
-    if (!iClickedRect.IsEmpty())
-        {
-        // Find out which rectangle was clicked and save it for 
-        // later usage (HandlePointerUpL)
-        if (iContentRect.Contains(aPoint))
-            {
-            // The point is inside the content rect
-            // Check whether the point is inside the same last clicked
-            // candidate rectangle
-            if (iClickedRect.Contains(aPoint))
-                {
-                if (iClickedCandidateIndex != KErrNotFound)
-                    {
-                    // Redraw the selected aread  
-                    DrawSelection(iClickedRect, EFalse);
-
-                    // We have selected a candidate and iClickedCandidateIndex is the selected Index.
-                    // Then send message to plugin
-                    CCandidate* candidate = iOwner->GetCandidate(iClickedCandidateIndex);
-                    if ( candidate )
-                        {
-                        iOwner->ReportCandidateSelectEventL(candidate->GetCandidate(),
-                                                           iClickedCandidateIndex);
-                        }
-                    }
-                }
-            }
-        else if ((iNavigationNextRect == iClickedRect) && !iNextButtonDisable)
-            {
-            TInt originalFirstCandIndex = iOwner->GetOriginalFirstCandIdx();
-
-            if ((iOwner->ListType() == CFepCtrlDropdownList::EListExpandableRollWithIconWithBubble) && 
-                (originalFirstCandIndex != KInvalidCandIndex))
-                {
-                iOwner->AutoChangeActiveList(originalFirstCandIndex);
-                }
-            else
-                {
-                iOwner->AutoChangeActiveList(iOwner->GetFirstCandidateIndex());
-                }    
-
-            iOwner->SetCapture(ETrue);    
-            }
-
-        iClickedRect =  KEmptyRect;   
-        }
-    iOwner->ClearBubble();
-    }
-
-// -----------------------------------------------------------------------------
-// CListOneRowRollWithIconWithBubble::HandlePointerDragL
-// handle pointer drag function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListOneRowRollWithIconWithBubble::HandlePointerDragL(const TPoint& aPoint)
-    {
-    // Pass the event first to the base
-    CList::HandlePointerDragL(aPoint);
-
-    if (iIndicateButtonClicked)  // clicked rect is not outside the whole DDL
-        {
-        if ( iNavigationRect.Contains(aPoint) )
-            {
-            iOwner->ClearBubble();
-            
-            if ( iNavigationNextRect.Contains(aPoint) && !iNextButtonDisable &&
-                 iNavigationNextRect != iClickedRect )
-                {
-                // If click in down button and the down button is enabled
-                iMoveLatestRect = iClickedRect;                
-                iClickedRect.SetRect(iNavigationNextRect.iTl, iNavigationNextRect.iBr);
-                }  
-            }
-        else if (iContentRect.Contains(aPoint))
-            { 
-            CCandidate* candidate = FindCandidate(aPoint, iClickedCandidateIndex);        
-                
-            if ( candidate )
-                {
-                // If click in candidates area
-                if(iClickedRect != candidate->GetRect())
-                    {
-                    // Reset clicked rect when move to other candidate.
-                    iMoveLatestRect = iClickedRect;
-                    iClickedRect.SetRect(candidate->GetRect().iTl, candidate->GetRect().Size());
-                    
-                    iOwner->ClearBubble();
-                    iOwner->DrawBubble(iClickedRect, candidate->GetCandidate());                    
-                    }
-                }
-            else
-                {
-                iOwner->ClearBubble();
-                iMoveLatestRect = iClickedRect;
-                
-                iClickedRect = KEmptyRect;
-                }           
-            }
-        else
-            {
-            CompareRect(iClickedRect, iMoveLatestRect);
-            iOwner->ClearBubble();
-            iClickedRect = KEmptyRect;
-            iMoveLatestRect = iClickedRect;
-            }
-            
-        CompareRect(iMoveLatestRect, iClickedRect);
-        }
-    }
- 
-// -----------------------------------------------------------------------------
-// CListOneRowRollWithIconWithBubble::HandlePointerLeave
-// handle pointer leave function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListOneRowRollWithIconWithBubble::HandlePointerLeave(const TPoint& /*aPoint*/)
-    {
-    iMoveLatestRect = iClickedRect;
-    iClickedRect = KEmptyRect;
-    DrawSelection( iMoveLatestRect, EFalse );
-    DrawHighightCell(iMoveLatestRect, ETrue);
-    }
-
-// -----------------------------------------------------------------------------
-// CListOneRowRollWithIconWithBubble::CompareRect
-// Compare src and des rect 
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//	
-TBool CListOneRowRollWithIconWithBubble::CompareRect(const TRect& aSrcRect, const TRect& aDesRect)
-    {
-    if(aSrcRect != aDesRect)  
-        {
-        DrawSelection(aDesRect, ETrue);
-        DrawSelection(aSrcRect, EFalse);
-        DrawHighightCell(aSrcRect, ETrue);
-        }
-          
-    return EFalse;        
-
-    }
-
-// End Of File
--- a/textinput/peninputcommonctrls/src/peninputdropdownlist/peninputlistonerowwithicon.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,563 +0,0 @@
-/*
-* 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:  One rows list with icon for drop-down list objects
-*
-*/
-
-
-// Include 
-#include <fbs.h>
-#include <AknsUtils.h>
-#include <AknLayoutDef.h>
-#include <AknsDrawUtils.h> 
-
-#include <peninputdropdownlistcontext.h>
-
-#include "peninputlistonerowwithicon.h"
-#include "peninputcandidate.h"
-#include "peninputdropdownlist.h"
-#include "peninputlayout.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// Implementation of Class CListOneRowWithIcon 
-
-// -----------------------------------------------------------------------------
-// CListOneRowWithIcon::CListOneRowWithIcon
-// C++ default constructor can NOT contain any code, that
-// might leave
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CListOneRowWithIcon::CListOneRowWithIcon(CListManager* aManager, 
-                                         MFepCtrlDropdownListContext *aOwner)
-: CList(aManager, aOwner)
-    {
-    iIsMultiRows = EFalse ;
-    }
-
-// -----------------------------------------------------------------------------
-// CListOneRowWithIcon::NewL
-// factory function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CListOneRowWithIcon* CListOneRowWithIcon::NewL(CListManager* aManager, 
-                                               MFepCtrlDropdownListContext *aOwner)
-    {
-    CListOneRowWithIcon* self = new (ELeave) CListOneRowWithIcon(aManager, aOwner);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CListOneRowWithIcon::~CListOneRowWithIcon
-// desstrutor function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CListOneRowWithIcon::~CListOneRowWithIcon()
-    {     
-    }
-
-// -----------------------------------------------------------------------------
-// CListOneRowWithIcon::HandlePointerDownL
-// handle pointer down 
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListOneRowWithIcon::HandlePointerDownL(const TPoint& aPoint)
-    {
-    // Pass the event first to the base     
-    CList::HandlePointerDownL(aPoint);
-
-    // If click in navigation rect and NextButton is not disable, then do 
-    if ( iNavigationRect.Contains(aPoint) )
-        {      
-        if ( (iOwner->GetLastCandidateIndex() < iOwner->CandidateCount()) 
-             || ( iOwner->GetPages()->PageCount() > 1 ) )
-            {
-			#ifdef RD_TACTILE_FEEDBACK
-            static_cast<CFepCtrlDropdownList*>(iOwner)->UiLayout()->
-                DoTactileFeedback(ETouchFeedbackBasic); 
-			#endif //RD_TACTILE_FEEDBACK 
-            }        
-        
-        if ( iNavigationNextRect.Contains(aPoint) && !iNextButtonDisable )
-            {
-            // If click in down button and the down button is enabled 
-            iClickedRect.SetRect(iNavigationNextRect.iTl, iNavigationNextRect.iBr);
-            iIndicateButtonClicked = ETrue;
-            DrawSelection(iClickedRect, ETrue);                
-            } 
-        else if ( iNavigationPreviousRect.Contains(aPoint) && !iPreviousButtonDisable )
-            {
-            // If click in up button and the up button is enabled                 
-            iClickedRect.SetRect(iNavigationPreviousRect.iTl, iNavigationPreviousRect.iBr);
-            iIndicateButtonClicked = ETrue;
-            DrawSelection(iClickedRect, ETrue);                
-            }
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CListOneRowWithIcon::HandlePointerDragL
-// handle pointer drag function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListOneRowWithIcon::HandlePointerDragL(const TPoint& aPoint)
-    {
-    // Pass the event first to the base
-    CList::HandlePointerDragL(aPoint);
-
-    if ( iIndicateButtonClicked )  // clicked rect is not outside the whole DDL
-        {
-        iMoveLatestRect = KEmptyRect;
-        
-        if ( iNavigationRect.Contains(aPoint) )
-            {
-            if ( iNavigationNextRect.Contains(aPoint) && !iNextButtonDisable )
-                {
-                // If click in down button and the down button is enabled                   
-                iMoveLatestRect.SetRect(iNavigationNextRect.iTl, iNavigationNextRect.iBr);
-                } 
-            else if ( iNavigationPreviousRect.Contains(aPoint) && !iPreviousButtonDisable )
-                {
-                // If click in up button and the up button is enabled                     
-                iMoveLatestRect.SetRect(iNavigationPreviousRect.iTl, iNavigationPreviousRect.iBr);
-                }
-            }
-        else if ( iContentRect.Contains(aPoint) )
-            {
-            TInt index = -1;  
-            CCandidate* candidate = FindCandidate(aPoint, index);        
-                
-            if ( candidate )
-                {
-                // If click in candidates area  
-                iMoveLatestRect.SetRect(candidate->GetRect().iTl, candidate->GetRect().Size());
-                }
-            else
-                {
-                iMoveLatestRect = KEmptyRect;
-                }           
-            }
-            
-        CompareRect(iMoveLatestRect, iClickedRect);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CListOneRowWithIcon::HandlePointerUpL
-// handle pointer up function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListOneRowWithIcon::HandlePointerUpL(const TPoint& aPoint)
-    {
-    // Reset the button clicked flag to EFalse
-    iIndicateButtonClicked = EFalse;
-
-    if ( !iClickedRect.IsEmpty() )
-        {
-        // Find out which rectangle was clicked and save it for 
-        // later usage (HandlePointerUpL)
-        if ( iContentRect.Contains(aPoint) )
-            {
-            // The point is inside the content rect
-            // Check whether the point is inside the same last clicked
-            // candidate rectangle
-            if ( iClickedRect.Contains(aPoint) )
-                {
-                if ( iClickedCandidateIndex != KErrNotFound )
-                    {
-                    // Redraw the selected aread  
-                    DrawSelection(iClickedRect, EFalse);
-
-                    // We have selected a candidate and iClickedCandidateIndex is the selected Index.
-                    // Then send message to plugin
-                    CCandidate* candidate = iOwner->GetCandidate(iClickedCandidateIndex);
-                    if ( candidate )
-                        {
-                        iOwner->ReportCandidateSelectEventL(candidate->GetCandidate(),
-                                                           iClickedCandidateIndex);
-                        }
-                    }
-                }
-            }
-        else if ( iNavigationRect.Contains(aPoint) )
-            {
-            if ( iNavigationRect == iClickedRect ) 
-                {
-                iOwner->AutoChangeActiveList( iOwner->GetFirstCandidateIndex() );
-                iOwner->SetCapture(ETrue);
-                }
-            }
-
-        iClickedRect =  KEmptyRect;   
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CListOneRowWithIcon::Draw
-// draw the list
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListOneRowWithIcon::Draw()
-    {
-    CList::Draw();
-    
-    DrawCandidates();
-	
-	DrawSelection(iClickedRect, ETrue);
-	
-	if (iDropdownListDrawInfo.iSupportSkin)
-		{
-	    //mask bitmaps
-	    TRect rect = iNavigationNextRect;        
-	    TRect innerRect = rect;
-	    innerRect.Shrink( 4, 4 );
-	    
-	    // ----- draw bitmaps -----
-		
-		
-		TAknsItemID expandBtnImgID;
-		CBitmapDb::TBitmapType bitmapType;
-		
-		if ( (iOwner->GetLastCandidateIndex() >= iOwner->CandidateCount()) 
-        	 && ( iOwner->GetPages()->PageCount() < 1 ) )
-			{
-			expandBtnImgID = iDropdownListDrawInfo.iInactiveBtnImgID;
-			bitmapType = CBitmapDb::EBitmapNextDisableMask;
-			}
-		else
-			{
-			expandBtnImgID = iDropdownListDrawInfo.iNormalBtnImgID;
-			bitmapType = CBitmapDb::EBitmapNextMask;
-			}
-			
-		// Draw background    
-		AknsDrawUtils::DrawFrame( AknsUtils::SkinInstance(), 
-	                     *iOwner->Gc(), 
-	                     rect, 
-	                     innerRect,
-	                     expandBtnImgID,
-	                     KAknsIIDDefault );
-	                     
-	    iBButtonMaskDown = iOwner->GetBitmapDb()->GetBitMap(bitmapType);   
-		TRect srcRect( TPoint( 0, 0 ), iBButtonDown->SizeInPixels() );
-		iOwner->Gc()->BitBltMasked( iNavigationNextRect.iTl, 
-								  iBButtonDown, 
-								  srcRect,
-								  iBButtonMaskDown,
-								  EFalse);
-
-		}
-	else
-		{
-	    //Clear bg for iNavigationNextRect
-	    iOwner->Gc()->SetPenSize(iOwner->GetPenSize());
-	    iOwner->Gc()->SetPenStyle(CGraphicsContext::ESolidPen);
-
-	    iOwner->Gc()->SetPenColor(iOwner->GetBorderColor());
-	    iOwner->Gc()->SetBrushColor(iOwner->GetBgColor());
-	    iOwner->Gc()->SetBrushStyle( CGraphicsContext::ESolidBrush );                
-	    iOwner->Gc()->DrawRect( iNavigationNextRect );
-	            
-	    //Draw navigation bitmap
-	    TRect rect = iNavigationNextRect;
-	    rect.Shrink(1, 1);
-	    iOwner->Gc()->DrawBitmapMasked(rect, iBButtonDown, 
-	                                   iBButtonDown->SizeInPixels(), iBButtonMaskDown, ETrue);
-		}
-
-    }
-
-// -----------------------------------------------------------------------------
-// CListOneRowWithIcon::UpdateList
-// update the liset
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListOneRowWithIcon::UpdateListL(TBool aDrawFlag, TBool aRecalculate)
-    {
-    if (aRecalculate)
-        {
-        iOwner->SetLastCandidateIndex(CalculatePositionsL());
-        }
-    
-    if ( (iOwner->GetLastCandidateIndex() >= iOwner->CandidateCount()) 
-        && ( iOwner->GetPages()->PageCount() < 1 ) )
-        {
-        iNextButtonDisable = ETrue;
-        
-        //Set disable bitmap for button down and buttondown mask
-        iBButtonDown = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapNextDisable);
-        iBButtonMaskDown = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapNextDisableMask);
-        }
-    else
-        {
-        iNextButtonDisable = EFalse;  
-        
-        //Set enable bitmap for button down and buttondown mask
-        iBButtonDown = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapExpand);
-        iBButtonMaskDown = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapExpandMask);
-        
-        if (!iBButtonDown)
-            {
-            iBButtonDown = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapNext);
-            iBButtonMaskDown = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapNextMask);
-            }
-        }
-    if(aDrawFlag)    
-        {
-        Draw();
-        iOwner->Invalidate(iRect);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CListOneRowWithIcon::CalculateAreas
-// Calculate all kinds of rectangles
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListOneRowWithIcon::CalculateAreas()
-    {
-    // Calculate the rect of the list     
-    iRect.iTl = iOwner->GetTopLeftPoint();
-    TInt width = iOwner->GetCellWidth() * iOwner->GetColNum() + iOwner->GetNaviWidth() + 
-                 (iOwner->GetColNum() + 2) * iOwner->GetCellHorizontalMargin();
-    
-    TInt height = iOwner->GetCellHeight() + 2 * iOwner->GetCellVerticalMargin();
-    
-    iRect.SetSize(TSize(width, height));
-
-    TBool candHLToR = (iOwner->CandHDirection() == CFepCtrlDropdownList::ECandFromLToR);
-    TInt posX = iRect.iTl.iX + iOwner->GetCellHorizontalMargin();
-    TInt posY = iRect.iTl.iY + iOwner->GetCellVerticalMargin();
-    // width of content rect
-    TInt widthC = iOwner->GetCellWidth() * iOwner->GetColNum() + (iOwner->GetColNum() - 1) * iOwner->GetCellHorizontalMargin();
-    height = iOwner->GetCellHeight();
-    // width of navi rect
-    TInt widthN = iOwner->GetNaviWidth();
-
-    if (candHLToR)
-        {
-        iContentRect.iTl.SetXY(posX, posY);
-        iNavigationRect.iTl.SetXY(posX + widthC + iOwner->GetCellHorizontalMargin(),
-                                  posY);
-        }
-    else
-        {
-        iNavigationRect.iTl.SetXY(posX, posY);
-        iContentRect.iTl.SetXY(posX + widthN + iOwner->GetCellHorizontalMargin(), 
-                               posY);
-        }
-
-    // Calculate the rect of the content
-    iContentRect.SetSize(TSize(widthC, height));
-
-    // Calculate the rect of the navigation area
-    iNavigationRect.SetSize(TSize(widthN, height));
-    // Calculate the rect of the down button    
-    iNavigationNextRect = iNavigationRect; 
-    // Calculate the rect of the up button       
-    iNavigationPreviousRect = TRect(0,0,0,0);
-    }
-
-// -----------------------------------------------------------------------------
-// CListOneRowWithIcon::CalculatePositionsL
-// calculate the position of all visible cells in the list
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-// 
-TInt CListOneRowWithIcon::CalculatePositionsL()
-    {
-    TInt t = 0;
-    TPoint setpoints;
-
-    //RArray<CCandidate>& candidates = iOwner->GetCandidatelist;
-    TInt count = iOwner->CandidateCount();
-    
-    iOwner->SetFirstCandidateIndex(iOwner->GetLastCandidateIndex());    
-        
-    if ( count > 0 )
-        {
-        TBool candHLToR = (iOwner->CandHDirection() == CFepCtrlDropdownList::ECandFromLToR);
-        candHLToR ? setpoints.SetXY(iContentRect.iTl.iX, iContentRect.iTl.iY) : 
-                    setpoints.SetXY(iContentRect.iBr.iX, iContentRect.iTl.iY);  
-
-        TInt lastUsedCellCount = 0;
-        TInt currentCellIndex = 0;
-        count = Min(count,iOwner->GetLastCandidateIndex() + iOwner->GetColNum());    
-              
-        for(t = iOwner->GetLastCandidateIndex(); t < count ; t++)
-            {
-            // setting a position for this candidate 
-            CCandidate* candidate = iOwner->GetCandidate(t);
-
-            if ( !candidate )
-                {
-                continue;
-                }
-                            
-            lastUsedCellCount = candidate->SetPositionL(setpoints,
-                                                        iOwner->GetCellWidth(),
-                                                        iOwner->GetCellHeight(),
-                                                        iOwner->GetFont(),
-                                                        iOwner->GetCellHorizontalMargin()); 
-            currentCellIndex += lastUsedCellCount;
-        
-            if (currentCellIndex > iOwner->GetColNum())
-                {
-                break;
-                }
-
-            candHLToR ? (setpoints.iX += lastUsedCellCount * (iOwner->GetCellWidth() + iOwner->GetCellHorizontalMargin())) : 
-                        (setpoints.iX -= lastUsedCellCount * (iOwner->GetCellWidth() + iOwner->GetCellHorizontalMargin())) ;
-            } // for-loop
-        } // if candidate exist 
-     
-    return t; // as lastCandidateIndex
-    }
-
-// -----------------------------------------------------------------------------
-// CListOneRowWithIcon::DrawNavigationPress
-// draw navigation button when pressed or un-pressed
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CListOneRowWithIcon::DrawNavigationPress(const TRect& aRect,TBool aIndicate)
-    {
-    TBool retval = EFalse;
-    
-    if ( aRect == iNavigationNextRect )
-        {
-        retval = ETrue;
-        if (iDropdownListDrawInfo.iSupportSkin)
-        	{
-		    TRect rect = iNavigationNextRect;        
-		    TRect innerRect = rect;
-		    innerRect.Shrink( 4, 4 );
-		    	
-			
-			TAknsItemID expandBtnImgID;
-	        if ( aIndicate )
-	            {
-	            expandBtnImgID = iDropdownListDrawInfo.iPressedBtnImgID;
-	            }
-	        else
-	            {
-	            expandBtnImgID = iDropdownListDrawInfo.iNormalBtnImgID;
-	            }
-			AknsDrawUtils::DrawFrame( AknsUtils::SkinInstance(), 
-                 *iOwner->Gc(), 
-                 rect, 
-                 innerRect,
-                 expandBtnImgID,
-                 KAknsIIDDefault ); 
-	            
-	            
-			iBButtonDown = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapExpand);
-			iBButtonMaskDown = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapExpandMask);
-
-			if (!iBButtonDown)
-			    {
-			    iBButtonDown = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapNext);
-			    iBButtonMaskDown = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapNextMask);
-			    }
-	            
-			TRect srcRect( TPoint( 0, 0 ), iBButtonDown->SizeInPixels() );
-			       
-			iOwner->Gc()->BitBltMasked( iNavigationNextRect.iTl, 
-							  iBButtonDown, 
-							  srcRect,
-							  iBButtonMaskDown,
-							  EFalse);	
-        	}
-        else
-        	{
-	        if ( aIndicate )
-	            {
-	            // NEXT PRESSED DOWN
-	            iBButtonDown = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapExpandPress);
-	            iBButtonMaskDown = iOwner->GetBitmapDb()->GetBitMap(
-                                                                CBitmapDb::EBitmapExpandPressMask);
-	            
-	            if (!iBButtonDown)
-	                {
-	                iBButtonDown = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapNextPress);
-	                iBButtonMaskDown = iOwner->GetBitmapDb()->GetBitMap(
-                                                                CBitmapDb::EBitmapNextPressMask);
-	                }
-	            }
-	        else
-	            {
-	            // NEXT ORIGINAL
-	            iBButtonDown = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapExpand);
-	            iBButtonMaskDown = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapExpandMask);
-	            
-	            if (!iBButtonDown)
-	                {
-	                iBButtonDown = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapNext);
-	                iBButtonMaskDown = iOwner->GetBitmapDb()->GetBitMap(CBitmapDb::EBitmapNextMask);
-	                }
-	            }
-	        
-	        // Begin draw navigation next button
-	        iOwner->DrawMask(iNavigationNextRect);
-	        
-	        // Activeate bitmap context
-	        iOwner->ActivateBitmapContext();
-	        
-	        // Clear rect
-	        iOwner->Gc()->SetPenSize(iOwner->GetPenSize());
-	        iOwner->Gc()->SetPenStyle(CGraphicsContext::ESolidPen);
-	        iOwner->Gc()->SetPenColor(iOwner->GetBorderColor());
-	        iOwner->Gc()->SetBrushColor(iOwner->GetBgColor());
-	        iOwner->Gc()->SetBrushStyle( CGraphicsContext::ESolidBrush );                
-	        iOwner->Gc()->DrawRect( iNavigationNextRect );
-	        
-	        // Draw bitmap
-	        TRect rect = iNavigationNextRect;        
-	        rect.Shrink(TSize(1,1));
-	        
-	        if (iOwner->GetCellHorizontalMargin() != 0)
-	            {
-	            rect.iBr.iX = rect.iBr.iX + 1;
-	            }
-	            
-	        if (iOwner->GetCellVerticalMargin() != 0)
-	            {
-	            rect.iBr.iY = rect.iBr.iY + 1;
-	            }
-	        
-	        iOwner->Gc()->DrawBitmapMasked(rect, iBButtonDown, 
-	                                       iBButtonDown->SizeInPixels(), iBButtonMaskDown, ETrue);
-        	}
-							         
-        iOwner->Invalidate(aRect);
-        }
-
-        
-    return retval;
-    }
-
-// End Of File
--- a/textinput/peninputcommonctrls/src/peninputdropdownlist/peninputlistonerowwithiconwithbubble.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,276 +0,0 @@
-/*
-* 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:
-*
-*/
-
-// Include 
-#include <fbs.h>
-#include <AknsUtils.h>
-#include <AknLayoutDef.h>
-#include <AknsDrawUtils.h> 
-
-#include <peninputdropdownlistcontext.h>
-
-#include "peninputlistonerowwithiconwithbubble.h"
-#include "peninputcandidate.h"
-#include "peninputdropdownlist.h"
-#include "peninputlayout.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// Implementation of Class CListOneRowWithIconWithBubble 
-
-// -----------------------------------------------------------------------------
-// CListOneRowWithIconWithBubble::CListOneRowWithIconWithBubble
-// C++ default constructor can NOT contain any code, that
-// might leave
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CListOneRowWithIconWithBubble::CListOneRowWithIconWithBubble(CListManager* aManager, 
-                                         MFepCtrlDropdownListContext *aOwner)
-: CListOneRowWithIcon(aManager, aOwner)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CListOneRowWithIconWithBubble::NewL
-// factory function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CListOneRowWithIconWithBubble* CListOneRowWithIconWithBubble::NewL(CListManager* aManager, 
-                                               MFepCtrlDropdownListContext *aOwner)
-    {
-    CListOneRowWithIconWithBubble* self = new (ELeave) CListOneRowWithIconWithBubble(aManager, aOwner);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CListOneRowWithIconWithBubble::~CListOneRowWithIconWithBubble
-// desstrutor function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CListOneRowWithIconWithBubble::~CListOneRowWithIconWithBubble()
-    {     
-    }
-
-// -----------------------------------------------------------------------------
-// CListOneRowWithIconWithBubble::HandlePointerDownL
-// handle pointer down 
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListOneRowWithIconWithBubble::HandlePointerDownL(const TPoint& aPoint)
-    {
-    // Pass the event first to the base     
-    CList::HandlePointerDownL(aPoint);
-
-    // If click in navigation rect and NextButton is not disable, then do 
-    if ( iNavigationRect.Contains(aPoint) )
-        {      
-        if ( (iOwner->GetLastCandidateIndex() < iOwner->CandidateCount()) 
-             || ( iOwner->GetPages()->PageCount() > 1 ) )
-            {
-			#ifdef RD_TACTILE_FEEDBACK
-            static_cast<CFepCtrlDropdownList*>(iOwner)->UiLayout()->
-                DoTactileFeedback(ETouchFeedbackBasic);
-			#endif
-            }        
-        
-        if ( iNavigationNextRect.Contains(aPoint) && !iNextButtonDisable )
-            {
-            // If click in down button and the down button is enabled 
-            iClickedRect.SetRect(iNavigationNextRect.iTl, iNavigationNextRect.iBr);
-            iIndicateButtonClicked = ETrue;
-            DrawSelection(iClickedRect, ETrue);                
-            } 
-        else if ( iNavigationPreviousRect.Contains(aPoint) && !iPreviousButtonDisable )
-            {
-            // If click in up button and the up button is enabled                 
-            iClickedRect.SetRect(iNavigationPreviousRect.iTl, iNavigationPreviousRect.iBr);
-            iIndicateButtonClicked = ETrue;
-            DrawSelection(iClickedRect, ETrue);                
-            }
-        }
-    else
-        {
-        TInt index = -1;
-        CCandidate* candidate = FindCandidate(aPoint, index);
-        if(candidate)
-            {
-            iOwner->DrawBubble(iClickedRect, candidate->GetCandidate());
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CListOneRowWithIconWithBubble::HandlePointerDragL
-// handle pointer drag function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListOneRowWithIconWithBubble::HandlePointerDragL(const TPoint& aPoint)
-    {
-    // Pass the event first to the base
-    CList::HandlePointerDragL(aPoint);
-
-    if ( iIndicateButtonClicked )  // clicked rect is not outside the whole DDL
-        {
-        if ( iNavigationRect.Contains(aPoint) )
-            {
-            iOwner->ClearBubble();
-            
-            if ( iNavigationNextRect.Contains(aPoint) && !iNextButtonDisable &&
-                 iNavigationNextRect != iClickedRect )
-                {
-                // If click in down button and the down button is enabled
-                iMoveLatestRect = iClickedRect;                
-                iClickedRect.SetRect(iNavigationNextRect.iTl, iNavigationNextRect.iBr);
-                } 
-            else if ( iNavigationPreviousRect.Contains(aPoint) && !iPreviousButtonDisable &&
-                      iNavigationPreviousRect != iClickedRect )
-                {
-                // If click in up button and the up button is enabled
-                iMoveLatestRect = iClickedRect;                    
-                iClickedRect.SetRect(iNavigationPreviousRect.iTl, iNavigationPreviousRect.iBr);
-                }  
-            }
-        else if ( iContentRect.Contains(aPoint) )
-            { 
-            CCandidate* candidate = FindCandidate(aPoint, iClickedCandidateIndex);        
-                
-            if ( candidate )
-                {
-                // If click in candidates area
-                if(iClickedRect != candidate->GetRect())
-                    {
-                    // Reset clicked rect when move to other candidate.
-                    iMoveLatestRect = iClickedRect;
-                    iClickedRect.SetRect(candidate->GetRect().iTl, candidate->GetRect().Size());
-                    
-                    iOwner->ClearBubble();
-                    iOwner->DrawBubble(iClickedRect, candidate->GetCandidate());                    
-                    }
-                }
-            else
-                {
-                iOwner->ClearBubble();
-                iMoveLatestRect = iClickedRect;
-                
-                iClickedRect = KEmptyRect;
-                }            
-            }
-        else
-            {
-            CompareRect(iClickedRect, iMoveLatestRect);
-            iOwner->ClearBubble();
-            iClickedRect = KEmptyRect;
-            iMoveLatestRect = iClickedRect;
-            }
-        CompareRect(iMoveLatestRect, iClickedRect);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CListOneRowWithIconWithBubble::HandlePointerUpL
-// handle pointer up function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListOneRowWithIconWithBubble::HandlePointerUpL(const TPoint& aPoint)
-    {
-    // Reset the button clicked flag to EFalse
-    iIndicateButtonClicked = EFalse;
-
-    if ( !iClickedRect.IsEmpty() )
-        {
-        // Find out which rectangle was clicked and save it for 
-        // later usage (HandlePointerUpL)
-        if ( iContentRect.Contains(aPoint) )
-            {
-            // The point is inside the content rect
-            // Check whether the point is inside the same last clicked
-            // candidate rectangle
-             
-            if ( iClickedRect.Contains(aPoint) )
-                {
-                if ( iClickedCandidateIndex != KErrNotFound )
-                    {
-                    // Redraw the selected aread  
-                    DrawSelection(iClickedRect, EFalse);
-
-                    // We have selected a candidate and iClickedCandidateIndex is the selected Index.
-                    // Then send message to plugin
-                    CCandidate* candidate = iOwner->GetCandidate(iClickedCandidateIndex);
-                    if ( candidate )
-                        {
-                        iOwner->ReportCandidateSelectEventL(candidate->GetCandidate(),
-                                                           iClickedCandidateIndex);
-                        }
-                    }
-                }
-            }
-        else if ( iNavigationRect.Contains(aPoint) )
-            {
-            if ( iNavigationRect == iClickedRect ) 
-                {
-                iOwner->AutoChangeActiveList( iOwner->GetFirstCandidateIndex() );
-                iOwner->SetCapture(ETrue);
-                }
-            }
-
-        iClickedRect =  KEmptyRect;   
-        }
-    iOwner->ClearBubble();    
-    }
-
-// -----------------------------------------------------------------------------
-// CListOneRowWithIconWithBubble::HandlePointerLeave
-// handle pointer leave function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListOneRowWithIconWithBubble::HandlePointerLeave(const TPoint& /*aPoint*/)
-    {
-    iMoveLatestRect = iClickedRect;
-    iClickedRect = KEmptyRect;
-    DrawSelection( iMoveLatestRect, EFalse );
-    DrawHighightCell(iMoveLatestRect, ETrue);
-    }
-
-// -----------------------------------------------------------------------------
-// CListOneRowWithIconWithBubble::CompareRect
-// Compare src and des rect
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CListOneRowWithIconWithBubble::CompareRect(const TRect& aSrcRect, const TRect& aDesRect)
-    {
-    if(aSrcRect != aDesRect)  
-        {
-        DrawSelection(aDesRect, ETrue);
-        DrawSelection(aSrcRect, EFalse);
-        DrawHighightCell(aSrcRect, ETrue);
-        }
-          
-    return EFalse;
-    }
-
-// End Of File
--- a/textinput/peninputcommonctrls/src/peninputdropdownlist/peninputlistonerowwithouticon.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,284 +0,0 @@
-/*
-* 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:  One rows list with icon for drop-down list objects
-*
-*/
-
-
-// Include 
-#include "peninputlistonerowwithouticon.h"
-#include "peninputcandidate.h"
-
-#include <peninputdropdownlistcontext.h>
-#include <peninputdropdownlist.h>
-
-// ======== MEMBER FUNCTIONS ========
-
-// Implementation of Class CListOneRowWithoutIcon 
-
-// -----------------------------------------------------------------------------
-// CListOneRowWithoutIcon::CListOneRowWithoutIcon
-// C++ default constructor can NOT contain any code, that
-// might leave
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CListOneRowWithoutIcon::CListOneRowWithoutIcon(CListManager* aManager, 
-                                               MFepCtrlDropdownListContext* aOwner)
-:CList(aManager, aOwner)
-    {
-    iIsMultiRows = EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// CListOneRowWithoutIcon::NewL
-// factory function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CListOneRowWithoutIcon* CListOneRowWithoutIcon::NewL(CListManager* aManager,
-                                                     MFepCtrlDropdownListContext* aOwner)
-    {
-    CListOneRowWithoutIcon* self = new (ELeave) CListOneRowWithoutIcon(aManager, aOwner);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CListOneRowWithoutIcon::~CListOneRowWithoutIcon
-// desstrutor function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CListOneRowWithoutIcon::~CListOneRowWithoutIcon()
-    {   
-    }
-
-// -----------------------------------------------------------------------------
-// CListOneRowWithoutIcon::HandlePointerDownL
-// handle pointer down 
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListOneRowWithoutIcon::HandlePointerDownL(const TPoint& aPoint)
-    {    
-    // Pass the event first to the base     
-    CList::HandlePointerDownL(aPoint);
-    }
-
-// -----------------------------------------------------------------------------
-// CListOneRowWithoutIcon::HandlePointerDragL
-// handle pointer drag function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListOneRowWithoutIcon::HandlePointerDragL(const TPoint& aPoint)
-    { 
-    // Pass the event first to the base
-    CList::HandlePointerDragL(aPoint);
-    
-    // If the mouse have click in the area of DDL
-    if ( iIndicateButtonClicked )  
-        {
-        TInt index = -1;
-        
-        CCandidate* candidate = FindCandidate(aPoint, index);
-        iMoveLatestRect = KEmptyRect;
-        
-        if ( candidate )
-            {
-            iMoveLatestRect.SetRect(candidate->GetRect().iTl, candidate->GetRect().Size());
-            }          
-        
-        // Compare the two rect, then decide draw it or not
-        CompareRect(iMoveLatestRect, iClickedRect);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CListOneRowWithoutIcon::HandlePointerUpL
-// handle pointer up function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListOneRowWithoutIcon::HandlePointerUpL(const TPoint& aPoint)
-    {
-    if ( !iClickedRect.IsEmpty() )
-        {
-        // Find out which rectangle was clicked and save it for 
-        // later usage (HandlePointerUpL)
-        if ( iContentRect.Contains( aPoint ) )
-            {
-            if ( iClickedRect.Contains( aPoint ) )
-                {
-                if ( iClickedCandidateIndex != KErrNotFound )
-                    {
-                    // Redraw the selection rect  
-                    DrawSelection( iClickedRect, EFalse );
-                    
-                    // We have selected a candidate
-                    // Send message to plugin         
-                    CCandidate* candidate = iOwner->GetCandidate(iClickedCandidateIndex);
-                    if ( candidate )
-                        {
-                        iOwner->ReportCandidateSelectEventL(candidate->GetCandidate(),
-                                                           iClickedCandidateIndex); 
-                        }
-                           
-                    }                
-               }
-                
-            iIndicateButtonClicked = EFalse;
-            }
-            
-        iClickedRect = KEmptyRect;               
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CListOneRowWithoutIcon::Draw
-// draw the list
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListOneRowWithoutIcon::Draw()
-    {
-    CList::Draw();
-    
-    // Draw all visible candidates
-    DrawCandidates();
-    DrawSelection(iClickedRect, ETrue);
-    }
-
-// -----------------------------------------------------------------------------
-// CListOneRowWithoutIcon::CalculateAreas
-// Calculate all kinds of rectangles
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListOneRowWithoutIcon::CalculateAreas()
-    {
-    // Calculate the rect of the list
-    iRect.iTl = iOwner->GetTopLeftPoint();
-    TInt width = iOwner->GetCellWidth() * iOwner->GetColNum() + iOwner->GetNaviWidth() + 
-                 (iOwner->GetColNum() + 2) * iOwner->GetCellHorizontalMargin();
-    TInt height = iOwner->GetCellHeight() + 2 * iOwner->GetCellVerticalMargin();                 
-    
-    iRect.SetSize(TSize(width,height));
-
-    // Calculate the rect of the content
-    iContentRect.iTl = TPoint(iRect.iTl.iX + iOwner->GetCellHorizontalMargin(),
-                              iRect.iTl.iY + iOwner->GetCellVerticalMargin());
-    iContentRect.SetSize(TSize(width - 2 * iOwner->GetCellHorizontalMargin(),
-                               iOwner->GetCellHeight()));
-
-    // Calculate the rect of the navigation area
-    iNavigationRect = TRect(0,0,0,0);
-
-    // Calculate the rect of the down button
-    iNavigationNextRect = TRect(0,0,0,0);
-
-    // Calculate the rect of the up button
-    iNavigationPreviousRect = TRect(0,0,0,0);
-    }
-
-// -----------------------------------------------------------------------------
-// CListOneRowWithoutIcon::CalculatePositionsL
-// calculate the position of all visible cells in the list
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CListOneRowWithoutIcon::CalculatePositionsL()
-    {
-    TInt t = 0;
-    TPoint setpoints;
-
-    const TInt count = iOwner->CandidateCount();
-    
-    // First store the last index
-    iOwner->SetFirstCandidateIndex ( iOwner->GetLastCandidateIndex() );        
-    
-    if ( count > 0 )
-        {
-        // Initial the position to iContentRect
-        /*
-        setpoints.iX = iContentRect.iTl.iX;
-        setpoints.iY = iContentRect.iTl.iY;
-        */
-        TBool candHLToR = (iOwner->CandHDirection() == CFepCtrlDropdownList::ECandFromLToR);
-        candHLToR ? setpoints.SetXY(iContentRect.iTl.iX, iContentRect.iTl.iY) :
-                    setpoints.SetXY(iContentRect.iBr.iX, iContentRect.iTl.iY);
-
-        TInt cellNumberInOneRow = iOwner->GetColNum() + 1;
-        TInt lastUsedCellCount = 0;
-        TInt currentCellIndex = 0;
-        TInt newCount = 0;
-        
-        newCount = Min(count,iOwner->GetLastCandidateIndex() + cellNumberInOneRow);   
-                
-        for( t = iOwner->GetLastCandidateIndex(); t < newCount ; t++ )
-            {
-            // setting a position for this candidate 
-            CCandidate* candidate = iOwner->GetCandidate(t);
-
-            if ( !candidate )
-                {
-                continue;
-                }
-                
-            lastUsedCellCount = candidate->SetPositionL(setpoints,
-                                                        iOwner->GetCellWidth(),
-                                                        iOwner->GetCellHeight(),
-                                                        iOwner->GetFont(),
-                                                        iOwner->GetCellHorizontalMargin()); 
-            currentCellIndex += lastUsedCellCount;
-            
-            if ( currentCellIndex > ( iOwner->GetColNum() + 1 ) )
-                {
-                // If no space to contain other cells 
-                break;
-                }
-
-            // Recalcuate the x position
-            candHLToR? (setpoints.iX += (iOwner->GetCellWidth() + iOwner->GetCellHorizontalMargin()) * lastUsedCellCount) : 
-                       (setpoints.iX -= (iOwner->GetCellWidth() + iOwner->GetCellHorizontalMargin()) * lastUsedCellCount);
-            } // for-loop
-        } // if candidate exist 
-    
-    return t; // as lastCandidateIndex
-    }
-
-// -----------------------------------------------------------------------------
-// CListOneRowWithoutIcon::UpdateList
-// update the list
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListOneRowWithoutIcon::UpdateListL(TBool aDrawFlag, TBool aRecalculate)
-    {
-    if ( aRecalculate )
-        {
-        // Recalculate the position of all candidates
-        iOwner->SetLastCandidateIndex(CalculatePositionsL());    
-        }
-    if(aDrawFlag)    
-        {
-        Draw();
-        iOwner->Invalidate(iRect);
-        }
-    }
-
-// End Of File
--- a/textinput/peninputcommonctrls/src/peninputdropdownlist/peninputlistonerowwithouticonwithbubble.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,199 +0,0 @@
-/*
-* 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:
-*
-*/
-
-
-// Include 
-#include "peninputlistonerowwithouticonwithbubble.h"
-#include "peninputcandidate.h"
-
-#include <peninputdropdownlistcontext.h>
-#include <peninputdropdownlist.h>
-
-// ======== MEMBER FUNCTIONS ========
-
-// Implementation of Class CListOneRowWithoutIconWithBubble 
-
-// -----------------------------------------------------------------------------
-// CListOneRowWithoutIconWithBubble::CListOneRowWithoutIconWithBubble
-// C++ default constructor can NOT contain any code, that
-// might leave
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CListOneRowWithoutIconWithBubble::CListOneRowWithoutIconWithBubble(CListManager* aManager, 
-                                               MFepCtrlDropdownListContext* aOwner)
-:CListOneRowWithoutIcon(aManager, aOwner)
-    {
-    iIsMultiRows = EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// CListOneRowWithoutIconWithBubble::NewL
-// factory function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CListOneRowWithoutIconWithBubble* CListOneRowWithoutIconWithBubble::NewL(CListManager* aManager,
-                                                     MFepCtrlDropdownListContext* aOwner)
-    {
-    CListOneRowWithoutIconWithBubble* self = new (ELeave) CListOneRowWithoutIconWithBubble(aManager, aOwner);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CListOneRowWithoutIconWithBubble::~CListOneRowWithoutIconWithBubble
-// desstrutor function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CListOneRowWithoutIconWithBubble::~CListOneRowWithoutIconWithBubble()
-    {   
-    }
-
-// -----------------------------------------------------------------------------
-// CListOneRowWithoutIconWithBubble::HandlePointerDownL
-// handle pointer down 
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListOneRowWithoutIconWithBubble::HandlePointerDownL(const TPoint& aPoint)
-    {    
-    // Pass the event first to the base     
-    CList::HandlePointerDownL(aPoint);
-    
-    TInt index = -1;
-    CCandidate* candidate = FindCandidate(aPoint, index);
-    if(candidate)
-        iOwner->DrawBubble(iClickedRect, candidate->GetCandidate());
-    }
-
-// -----------------------------------------------------------------------------
-// CListOneRowWithoutIconWithBubble::HandlePointerDragL
-// handle pointer drag function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListOneRowWithoutIconWithBubble::HandlePointerDragL(const TPoint& aPoint)
-    { 
-    // Pass the event first to the base
-    CList::HandlePointerDragL(aPoint);
-    
-    // If the mouse have click in the area of DDL
-    if ( iIndicateButtonClicked )  
-        {
-        CCandidate* candidate = FindCandidate(aPoint, iClickedCandidateIndex);
-        
-        if ( candidate )
-            {
-            if(iClickedRect != candidate->GetRect())
-                {
-                iMoveLatestRect = iClickedRect;
-                iClickedRect.SetRect(candidate->GetRect().iTl, candidate->GetRect().Size());
-                iOwner->ClearBubble();
-                iOwner->DrawBubble(iClickedRect, candidate->GetCandidate());
-                }
-            }
-        else
-            {
-            iOwner->ClearBubble();
-            
-            iMoveLatestRect = iClickedRect;
-            iClickedRect = KEmptyRect;
-            }         
-        
-        // Compare the two rect, then decide draw it or not
-        CompareRect(iMoveLatestRect, iClickedRect);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CListOneRowWithoutIconWithBubble::HandlePointerUpL
-// handle pointer up function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListOneRowWithoutIconWithBubble::HandlePointerUpL(const TPoint& aPoint)
-    {
-    if ( !iClickedRect.IsEmpty() )
-        {
-        iOwner->ClearBubble();
-        // Find out which rectangle was clicked and save it for 
-        // later usage (HandlePointerUpL)
-        if ( iContentRect.Contains( aPoint ) )
-            {
-            if ( iClickedRect.Contains( aPoint ) )
-                {
-                if ( iClickedCandidateIndex != KErrNotFound )
-                    {
-                    // Redraw the selection rect  
-                    DrawSelection( iClickedRect, EFalse );
-                    
-                    // We have selected a candidate
-                    // Send message to plugin         
-                    CCandidate* candidate = iOwner->GetCandidate(iClickedCandidateIndex);
-                    if ( candidate )
-                        {
-                        iOwner->ReportCandidateSelectEventL(candidate->GetCandidate(),
-                                                           iClickedCandidateIndex); 
-                        }
-                           
-                    }                
-               }
-                
-            iIndicateButtonClicked = EFalse;
-            }
-            
-        iClickedRect = KEmptyRect;               
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CListOneRowWithoutIconWithBubble::HandlePointerLeave
-// handle pointer leave function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CListOneRowWithoutIconWithBubble::HandlePointerLeave(const TPoint& /*aPoint*/)
-    {
-    iMoveLatestRect = iClickedRect;
-    iClickedRect = KEmptyRect;
-    DrawSelection( iMoveLatestRect, EFalse );
-    DrawHighightCell(iMoveLatestRect, ETrue);
-    }
-
-// -----------------------------------------------------------------------------
-// CListOneRowWithoutIconWithBubble::CompareRect
-// Compare src and des rect
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CListOneRowWithoutIconWithBubble::CompareRect(const TRect& aSrcRect, const TRect& aDesRect)
-    {
-    if(aSrcRect != aDesRect)  
-        {
-        DrawSelection(aDesRect, ETrue);
-        DrawSelection(aSrcRect, EFalse);
-        DrawHighightCell(aSrcRect, ETrue);
-        }
-          
-    return EFalse;
-    }
-
-// End Of File
--- a/textinput/peninputcommonctrls/src/peninputdropdownlist/peninputpages.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,161 +0,0 @@
-/*
-* 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:  page manager,which is used by drop down list
-*
-*/
-
-
-#include "peninputpages.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// Implementation of Class CPages 
-
-// -----------------------------------------------------------------------------
-// CPages::NewL
-// factory function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPages* CPages::NewL()
-    {
-    CPages* self = new (ELeave) CPages();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CPages::~CPages
-// factory function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPages::~CPages()    
-    {
-    iFirstIndexList.Close();
-    iLastIndexList.Close();
-    }
-        
-// -----------------------------------------------------------------------------
-// CPages::NewL
-// 2nd construct function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPages::ConstructL()
-    {
-    Reset();
-    }
-
-// -----------------------------------------------------------------------------
-// CPages::Reset
-// reset page in the page list
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPages::Reset()
-    {
-    iFirstIndexList.Reset();
-    iLastIndexList.Reset();
-    }
-
-// -----------------------------------------------------------------------------
-// CPages::PageCount
-// get page count
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CPages::PageCount() const
-    {
-    return iLastIndexList.Count(); 
-    }
-       
-// -----------------------------------------------------------------------------
-// CPages::AddPage
-// add one page into the page list
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPages::AddPage(const TInt aFirstIndex, const TInt aLastIndex)
-    {
-    if ( aFirstIndex == aLastIndex )  
-        {
-        return;
-        }        
-    
-    const TInt index = iLastIndexList.Find(aLastIndex);
-    
-    if ( index == KErrNotFound)
-        {
-        iLastIndexList.Append(aLastIndex);  
-        iFirstIndexList.Append(aFirstIndex);  
-        }     
-    }
-    
-// -----------------------------------------------------------------------------
-// CPages::GetPreviousIndex
-// get the previous page
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CPages::GetPreviousIndex(const TInt aLastIndex, 
-                               TInt& aFirstIndexOfPrevious, 
-                               TInt& aLastIndexOfPrevious) const
-    {
-    const TInt index = iLastIndexList.Find( aLastIndex );
-    
-    if ( index != KErrNotFound ) // If found it
-        {         
-        if ( index > 0 ) // If not the first page
-            {
-            aFirstIndexOfPrevious = iFirstIndexList[index-1];
-            aLastIndexOfPrevious = iLastIndexList[index-1];
-            }
-        else // If is the first page
-            {
-            aFirstIndexOfPrevious = iFirstIndexList[0];
-            aLastIndexOfPrevious = iLastIndexList[0];                        
-            }
-        return ETrue;         
-        }
-    else
-        {
-        return EFalse;
-        }        
-    }
-        
-// -----------------------------------------------------------------------------
-// CPages::GetPageIndexByPos
-// get the page of assigned position
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CPages::GetPageIndexByPos(const TInt aPos, 
-                                TInt& aFirstIndex, 
-                                TInt& aLastIndex) const
-    {
-    if ( ( aPos < 0 ) || ( aPos >= iLastIndexList.Count() ) )
-        {
-        return EFalse;        
-        }
-
-    aLastIndex = iLastIndexList[aPos];    
-    aFirstIndex = iFirstIndexList[aPos];
-    
-    return ETrue;
-    }
-
-// End Of File
--- a/textinput/peninputcommonctrls/src/peninputlabel/peninputlabel.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,312 +0,0 @@
-/*
-* Copyright (c) 2006-2007 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:  Implementation for button base and dragbar
-*
-*/
-
-
-#include <AknsUtils.h>
-
-#include "peninputlabel.h"
-#include "peninputlayout.h"
-
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlLabel::NewL
-// factory function
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CAknFepCtrlLabel* CAknFepCtrlLabel::NewL(CFepUiLayout* aUiLayout, TInt aCtrlId)
-    {
-    CAknFepCtrlLabel* lable=new (ELeave) CAknFepCtrlLabel(aUiLayout,aCtrlId);
-
-    CleanupStack::PushL(lable);
-    lable->BaseConstructL();
-    CleanupStack::Pop(lable);
-
-    return lable;    
-    }
-    
-// ---------------------------------------------------------------------------
-// CAknFepCtrlLabel::CAknFepCtrlLabel
-// C++ default constructor
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-CAknFepCtrlLabel::CAknFepCtrlLabel(CFepUiLayout* aUiLayout, TInt aCtrlId)
-    :CFepUiBaseCtrl(TRect(0,0,0,0),aUiLayout,aCtrlId),
-    iBaseline(-1),
-    iFontColor(KRgbWhite),
-    iAlignment(CGraphicsContext::ECenter)
-    {
-    SetControlType(EUserCtrlBase | ECtrlBaseCtrl);
-    
-#ifdef __ALPHA_TRANCEPARENCY__
-    const TRgb KDefaultButtonBackCol = TRgb(30,30,30);
-#else
-    const TRgb KDefaultButtonBackCol = TRgb(230,230,230);
-#endif
-    
-    SetBkColor(KDefaultButtonBackCol);
-   }
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlLabel::~CAknFepCtrlLabel
-// Destructor
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CAknFepCtrlLabel::~CAknFepCtrlLabel()
-    {  
-    delete iText;
-    
-    //font
-    if(iFontOwnership && iFont)
-        {
-        BitmapDevice()->ReleaseFont(iFont);
-        iFont = NULL;    
-        }        
-   }
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlLabel::Draw
-// Draw the control
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C void CAknFepCtrlLabel::Draw()
-    {
-	if(!AbleToDraw())
-        return;
-
-    TRect rect = Rect();
-    CFbsBitGc* gc = static_cast<CFbsBitGc*>(BitGc());
-    gc->Activate(MaskBitmapDevice());
-
-    //clear the rect
-    gc->SetBrushStyle( CGraphicsContext::ESolidBrush );
-    gc->SetBrushColor(TRgb(KOpaqueColor));//non transparency
-    gc->SetPenStyle(CGraphicsContext::ENullPen);
-    gc->DrawRect(rect);
-
-    gc->Activate(BitmapDevice());
-
-    if (BackgroundBmp())
-        {
-        if (BkMaskBmp())
-            {
-            gc->DrawBitmapMasked(rect, BackgroundBmp(), BackgroundBmp()->SizeInPixels(), 
-                                 BkMaskBmp(), ETrue);
-            }
-        else
-            {
-            gc->DrawBitmap(rect, BackgroundBmp(), BackgroundBmp()->SizeInPixels());
-            }    
-        }
-
-    //draw caption if there is
-    if(iText && iFont)
-        {
-        CFbsBitGc* gc = static_cast<CFbsBitGc*>(BitGc());        
-        
-        //use font
-        gc->UseFont(iFont);
-        gc->SetBrushStyle(CGraphicsContext::ENullBrush); 
-        gc->SetPenStyle(CGraphicsContext::ESolidPen);                        
-       
-        TRect rect(iRect);
-        
-        //draw text shadow first
-        rect.Move(1,1);
-        
-        TInt baseLine = iFont->AscentInPixels()/2 + iRect.Height()/2;
-        gc->SetPenColor(iFontColor);              
-        gc->DrawText(*iText, iRect, baseLine, iAlignment);
-        
-        gc->DiscardFont();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlLabel::SetBitmapL
-// Set bitmap for given status
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C void CAknFepCtrlLabel::SetBitmapL(CFbsBitmap* aBitmap)
-    {
-    if(!aBitmap)
-        {
-        return;
-        }
-        
-    SetBackgroundBitmapL(aBitmap);    
-    }  
-   
-// ---------------------------------------------------------------------------
-// CAknFepCtrlLabel::SetMaskBitmapL
-// Set mask bitmap for given status
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C void CAknFepCtrlLabel::SetMaskBitmapL(CFbsBitmap* aBmp)
-    {   
-    if(!aBmp)
-        {
-        return;   
-        }
-        
-    SetBackgroundMaskBitmapL(aBmp); 
-    }
-  
-// ---------------------------------------------------------------------------
-// CAknFepCtrlLabel::SetFont
-// Set caption font
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//        
-EXPORT_C void CAknFepCtrlLabel::SetFont(const TFontSpec& aFontSpec)
-    {
-    iFontSpec = aFontSpec;
-    //release old font
-    if(iFontOwnership && iFont)
-        {
-        BitmapDevice()->ReleaseFont(iFont);
-        iFont = NULL;    
-        }    
-        
-    iFontOwnership = ETrue;    
-    if(BitmapDevice())
-        {
-        if (KErrNone != BitmapDevice()->GetNearestFontInPixels(iFont,iFontSpec))
-            iFont = NULL;
-        }      
-    }        
-    
-// ---------------------------------------------------------------------------
-// CAknFepCtrlLabel::SetFont
-// Set caption font
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//        
-EXPORT_C void CAknFepCtrlLabel::SetFont(const CFont* aFont)
-    {
-    if(iFontOwnership && iFont)
-        {
-        BitmapDevice()->ReleaseFont(iFont);
-        }    
-
-    iFontOwnership = EFalse;    
-    iFont = const_cast<CFont*>(aFont);
-
-    if(iFont)
-        {
-        iFontSpec = iFont->FontSpecInTwips();
-        }
-    }        
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlEventButton::SetFontColor
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlLabel::SetFontColor(const TRgb aColor)
-    {
-    iFontColor = aColor;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlEventButton::SetText
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//    
-EXPORT_C void CAknFepCtrlLabel::SetText(const TDesC& aText)
-    {
- 
-    delete iText;
-    iText = NULL;
-    
-    TRAP_IGNORE( iText = aText.AllocL());
-    
-    Draw();
-    }    
-    
-// ---------------------------------------------------------------------------
-// CAknFepCtrlLabel::SizeChanged
-// This methods shall be called by the container's SizeChanged handler
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlLabel::SizeChanged(TRect aNewRect, TBool aIsReloadImages)
-    {
-    if (aNewRect.Size().iWidth == 0 || aNewRect.Size().iHeight == 0)
-        {
-   	    return;
-        }
-    
-    SetRect(aNewRect);
-
-    if (aIsReloadImages)
-        {
-        ResizeBitmaps(aNewRect.Size());	
-        }
-
-    Draw();
-    UpdateArea(Rect(), EFalse);
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlLabel::ResizeBitmaps
-// This methods shall be called by the container's SizeChanged handler
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-void CAknFepCtrlLabel::ResizeBitmaps(TSize aSize)
-    {
-    if (BkMaskBmp() && 
-        BkMaskBmp()->SizeInPixels() != aSize)
-        {
-       	AknIconUtils::SetSize(BkMaskBmp(), aSize, EAspectRatioNotPreserved);
-        }
-
-    if (BackgroundBmp() && 
-        BackgroundBmp()->SizeInPixels() != aSize)
-        {
-       	AknIconUtils::SetSize(BackgroundBmp(), aSize, EAspectRatioNotPreserved);
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// CAknFepCtrlLabel::SetTextAlignment
-// This methods shall be called by the container's SizeChanged handler
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlLabel::SetTextAlignment(CGraphicsContext::TTextAlign aAlignment)
-    {
-    iAlignment = aAlignment;
-    }        
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlLabel::TextAlignment
-// This methods shall be called by the container's SizeChanged handler
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CGraphicsContext::TTextAlign CAknFepCtrlLabel::TextAlignment()    
-    {
-    return iAlignment;
-    }    
-
-// End Of File
--- a/textinput/peninputcommonctrls/src/peninputrangebar/peninputrangebar.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1349 +0,0 @@
-/*
-* 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:  Implementation of range bar
-*
-*/
-
-
-// system includes
-//#include <peninputpluginutils.h>
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <AknsUtils.h>
-#include <AknLayoutDef.h>
-#include <AknUtils.h>
-#include <barsread.h>
-
-// user includes
-#include <peninputrangebar.h>
-#include <peninputbutton.h>
-#include <peninputmultimodebutton.h>
-#include <peninputcommonctrls.hrh>
-#include <peninputpluginutils.h>
-#include <peninputcommonbutton.h>
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlRangeBar::CAknFepCtrlRangeBar
-// C++ constructor
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CAknFepCtrlRangeBar::CAknFepCtrlRangeBar(CFepUiLayout* aUiLayout, TInt aControlId, 
-                                                  TButtonGroupStyle aStyle)
-: CControlGroup(aUiLayout, aControlId, EFalse), iFirstTimeConstruct(ETrue)
-    {
-    iStyle = aStyle;
-    //iActionStyle = ERangeBarActionStyleHide;
-    iActionStyle = ERangeBarUsingIndicatorStyle;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlRangeBar::~CAknFepCtrlRangeBar
-// C++ destructor
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CAknFepCtrlRangeBar::~CAknFepCtrlRangeBar()
-    {
-    iIndicators.ResetAndDestroy();
-    iIndicators.Close();
-    iCellRects.Close();
-    iCellInnerRects.Close();
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlRangeBar::NewL
-// Two-phased constructor.
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CAknFepCtrlRangeBar* CAknFepCtrlRangeBar::NewL(CFepUiLayout* aUiLayout, TInt aControlId,
-                                                        TButtonGroupStyle aStyle)
-    {
-    CAknFepCtrlRangeBar* self = new (ELeave) CAknFepCtrlRangeBar (aUiLayout, aControlId, aStyle);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlRangeBar::NewLC
-// Two-phased constructor.
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CAknFepCtrlRangeBar* CAknFepCtrlRangeBar::NewLC(CFepUiLayout* aUiLayout,
-                                                         TInt aControlId,
-                                                         TButtonGroupStyle aStyle)
-    {
-    CAknFepCtrlRangeBar* self = new (ELeave) CAknFepCtrlRangeBar (aUiLayout, aControlId, aStyle);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlRangeBar::ConstructL
-// Construct the instance
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlRangeBar::ConstructL()
-    {
-    // Construct the base control first
-    CControlGroup::ConstructL();
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlRangeBar::HandlePointerDownEventL
-// Implement the pointer down handler
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-CFepUiBaseCtrl* CAknFepCtrlRangeBar::HandlePointerDownEventL(const TPoint& aPoint)
-    {
-    CFepUiBaseCtrl* ctrl = CControlGroup::HandlePointerDownEventL( aPoint );
-    return ctrl;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlRangeBar::SizeChanged
-// Implement the SizeChanged handler
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlRangeBar::SizeChanged(const TRect aRect)
-    {
-    SetCellRect(aRect);
-
-    if( iCellChanged )
-		{
-		SetRect(aRect);
-
-		iActionStyle == ERangeBarUsingIndicatorStyle ? 
-        UpdateIndicatorRectForUsingIndicatorStyle(EFalse) :
-		UpdateIndicatorRect(EFalse);
-		}
-    else
-		{
-		iIsReloadImages = ETrue;
-        SetWholeRect();
-        //Draw();
-        SetIndicatorRect();					
-		}
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlRangeBar::ConstructFromResourceL
-// Construct the range bar from the resource
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlRangeBar::ConstructFromResourceL(TResourceReader& aReader)
-    {
-    //destroy all previous range buttons
-
-    for (TInt ii = 0; ii < iIndicators.Count(); ++ii)
-        {
-        CAknFepCtrlCommonButton* button = iIndicators[ ii ]->iIndicator;
-        if (button)
-            {
-            RemoveControl(button);
-            }
-        }
-
-    iIndicators.ResetAndDestroy();
-
-    const TInt countRanges = aReader.ReadInt16();
-    
-    if (countRanges <= 0)
-        {
-        User::Leave(KErrArgument);
-        }
-
-    // Create range indicator buttons
-    for (TInt ii = 0; ii < countRanges; ++ii)
-        {
-        AddRangeL(aReader);        
-        }
-        
-    const TInt defaultRangeIndex = aReader.ReadInt16();
-    
-    if (defaultRangeIndex >= 0 && defaultRangeIndex < iIndicators.Count())
-        {
-        SetRange(iIndicators[defaultRangeIndex]->iInputRange);    
-        }
-    
-    iFirstTimeConstruct = EFalse;    
-    }
-    
-// ---------------------------------------------------------------------------
-// CAknFepCtrlRangeBar::SetIndicatorRect()
-// Re-calculate the position and layout
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-void CAknFepCtrlRangeBar::SetIndicatorRect()
-	{
-    TRect rect(iIndicatorRect);
-    TInt count = iIndicators.Count();
-    TInt lastPos = -1;
-	
-    for (TInt ii = 0; ii < count; ++ii)
-        {  
-        if ( ii != 0 && 
-		     (iActionStyle != ERangeBarUsingIndicatorStyle || 
-             lastPos != iIndicators[ii]->iPosIdx ) )
-            {
-            if (iStyle == EBtnGroupVertical)
-                {
-                rect.Move(0, iIndicatorRect.Height());
-                }
-            else 
-                {
-                rect.Move(iIndicatorRect.Width(), 0);
-                } 
-            }
-		lastPos = iIndicators[ii]->iPosIdx;
-		
-		TRect innerRect;
-		AknPenImageUtils::CalculateGraphicRect( rect, innerRect );
-                                                                 
-        if (iIndicators[ii]->iCtrlType == EButtonTypeMultiMode)
-            {
-            static_cast<CAknFepCtrlMultiModeButton*>(iIndicators[ii]->iIndicator)->
-            			SizeChanged(rect, innerRect, iIsReloadImages);
-            }
-        else
-            {             
-            static_cast<CAknFepCtrlCommonButton*>(iIndicators[ii]->iIndicator)->
-            			SizeChanged(rect, innerRect, iIsReloadImages);
-            }
-        }
-	}
-    
-// ---------------------------------------------------------------------------
-// CAknFepCtrlRangeBar::Draw()
-// Re-calculate the position and layout
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlRangeBar::Draw()
-    {
-	if(!AbleToDraw())
-        return;
-    
-    CControlGroup::Draw();
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlRangeBar::RefreshUI
-// Refresh the component
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlRangeBar::RefreshUI()
-    {
-    // this function not called anymore
-    SetIndicatorRect();
-    
-    // Flush the gc memory to the LCD device
-    UpdateArea(iEraseRect, EFalse);               
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlRangeBar::HandleControlEvent
-// responding on button up event
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlRangeBar::HandleControlEvent(TInt aEventType, CFepUiBaseCtrl* aCtrl, 
-                                                      const TDesC& /*aEventData*/)
-    {
-    if (aEventType == EEventButtonUp)
-        {
-        // get aCtrl's index
-        TBool ctrlExist = EFalse;
-        TInt ctrlIndex = 0;
-        
-        for (TInt ii = 0; ii < iIndicators.Count(); ii++)
-            {
-            if ((iIndicators[ii]->iIndicator == aCtrl) 
-            && (!(iIndicators[ii]->iIndicator->IsDimmed())))
-                {
-                ctrlExist = ETrue;
-                ctrlIndex = ii;
-                break;
-                }
-            }        
-        
-        if (!ctrlExist)
-            {
-            return;
-            }
-        
-        TBool needSendEvent = EFalse;
-        
-        // aCtrl's index is ctrlIndex
-        if ( (ActiveControl() != aCtrl) 
-            || (iIndicators[ctrlIndex]->iCtrlType == EButtonTypePopupMode) )
-            {
-            needSendEvent = ETrue;
-            }
-        else // press active button again
-            {
-            // only meaningful when it is multimode button
-            if (iIndicators[ctrlIndex]->iCtrlType == EButtonTypeMultiMode)
-                {
-                CAknFepCtrlMultiModeButton* button = static_cast<CAknFepCtrlMultiModeButton*>(iIndicators[ctrlIndex]->iIndicator);
-                
-                // change range: user press mixed range multimode button, and range is changed
-                if (iIndicators[ctrlIndex]->iRangeType == ERangeTypeMixed)
-                    {
-                    if ((button->NextMode() != KErrNotFound) && 
-                        (button->RangeOfGivenMode(button->CurrentMode()) != 
-                         button->RangeOfGivenMode(button->NextMode())))
-                        {
-                        // change range
-                        ReportEventToObserver(iEventIdForRange, 
-                                              button->RangeOfGivenMode(button->NextMode()));
-                        }
-                    else if (button->RangeOfGivenMode(button->CurrentMode()) == 
-                             button->RangeOfGivenMode(button->NextMode()))
-                        {
-                        // mixed range multimode button: change case  
-                        ReportEventToObserver(iEventIdForCase, button->NextMode());
-                        }
-                    }
-                else
-                    {
-                    // single range multimode button: change case
-                    ReportEventToObserver(iEventIdForCase, button->NextMode());
-                    }
-                }
-            else
-                {
-                if ( iIndicators[ctrlIndex]->iInputRange != iInputRange )
-                    {
-                    needSendEvent = ETrue;
-                    }
-                }
-            }
-            
-        if ( needSendEvent )  
-            {
-            // press another button instead of active button, it will send range event
-            if ((iIndicators[ctrlIndex]->iCtrlType == EButtonTypeMultiMode) && 
-                (iIndicators[ctrlIndex]->iRangeType == ERangeTypeMixed))
-                {
-                CAknFepCtrlMultiModeButton* button = 
-                                                static_cast<CAknFepCtrlMultiModeButton*>(aCtrl);
-                        
-                if ((button) && 
-                    (button->IsGivenRangeSupported(
-                                                button->RangeOfGivenMode(button->CurrentMode()))))
-                    {
-                    ReportEventToObserver(iEventIdForRange, 
-                                          button->RangeOfGivenMode(button->CurrentMode()));
-                    }
-                }
-            else
-                {
-                // for single range multimode button and normal button
-                ReportEventToObserver(iEventIdForRange, iIndicators[ctrlIndex]->iInputRange);
-                }                    
-            }
-        
-        // make sure the normal button press effect for :
-        // using indicator style, and EIndicatorActionStyleNormal
-        if (iActionStyle == ERangeBarUsingIndicatorStyle && 
-            iIndicators[ctrlIndex]->iActionStyle == EIndicatorActionStyleNormal &&
-            iIndicators[ctrlIndex]->iIndicator->IsActive())
-        	{
-        	iIndicators[ctrlIndex]->iIndicator->SetHighlight(EFalse);	
-        	}
-        	
-	    if ( iActionStyle == ERangeBarUsingIndicatorStyle && 
-	    	 iIndicators[ctrlIndex]->iActionStyle != EIndicatorActionStyleHighLight )
-	    	{
-	    	for (TInt ii = 0; ii < iIndicators.Count(); ii++)
-		        {
-		        if(iIndicators[ ii ]->iActionStyle == EIndicatorActionStyleHighLight
-		           && ii != ctrlIndex)
-		        	{
-		        	iIndicators[ ii ]->iIndicator->SetHighlight( 
-		        	  iIndicators[ ii ]->iIndicator->IsActive() );
-		        	}
-		    	}
-	    	}
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlRangeBar::SetRange
-// set current input range
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CAknFepCtrlRangeBar::SetRange(const TInt aRange)
-    {
-    // if set range in a mixed range multimode button, 
-    // should use detailed range, but not mixed range
-    TBool ret = EFalse;
-    
-    for (TInt ii = 0; ii < iIndicators.Count(); ii++)
-        {
-        CAknFepCtrlCommonButton* button = iIndicators[ ii ]->iIndicator;
-        
-        if ((button) && (!(button->IsDimmed())))
-            {
-            if ((iIndicators[ii]->iInputRange == aRange) ||
-               ((iIndicators[ii]->iCtrlType == EButtonTypeMultiMode) && 
-                (iIndicators[ii]->iRangeType == ERangeTypeMixed) &&             
-                (static_cast<CAknFepCtrlMultiModeButton*>(button)->IsGivenRangeSupported(aRange))))
-                {
-                // 1st condition: normal button or single range multimode button
-                // 2nd condition: mixed range multimode button
-                if (!(iIndicators[ii]->iInputRange == aRange))
-                    {
-                    // mixed range multimode button
-                    static_cast<CAknFepCtrlMultiModeButton*>(button)->SetRange(aRange);
-                    }
-
-                iInputRange = aRange;
-
-                SetActiveCtrl(button);
-
-                ret = ETrue; 
-                }
-            else
-            	{
-            	button->SetActive(EFalse);
-            	}
-            }
-        }
-    
-    if ( iActionStyle == ERangeBarActionStyleHighLight )
-    	{
-    	for (TInt ii = 0; ii < iIndicators.Count(); ii++)
-	        {
-	        iIndicators[ ii ]->iIndicator->SetHighlight( iIndicators[ ii ]->iIndicator->IsActive() );
-	    	}
-    	}
-    else
-    	{
-    	for (TInt ii = 0; ii < iIndicators.Count(); ii++)
-	        {
-	        if(iIndicators[ ii ]->iActionStyle == EIndicatorActionStyleHighLight)
-	        	{
-				iIndicators[ ii ]->iIndicator->SetHighlight( iIndicators[ ii ]->iIndicator->IsActive() );
-	        	}
-	    	}
-    	}
-    return ret;    
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlRangeBar::SetCaseL
-// set mode of given range
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlRangeBar::SetCaseL(const TInt aRange, const TInt aModeIndex)
-    {
-    // aRange is detailed range, it only meaningful for multimodebutton
-    for (TInt ii = 0; ii < iIndicators.Count(); ii++)
-        {
-        CAknFepCtrlMultiModeButton* button = static_cast<CAknFepCtrlMultiModeButton*>
-                                             (iIndicators[ii]->iIndicator);            
-        if ((iIndicators[ii]->iCtrlType == EButtonTypeMultiMode) && 
-            ((iIndicators[ii]->iInputRange == aRange) ||
-             ((iIndicators[ii]->iRangeType == ERangeTypeMixed) && 
-              (button->IsGivenRangeSupported(aRange)))))
-            {            
-            if (iIndicators[ii]->iRangeType == ERangeTypeMixed)
-                {
-                button->SetRange(aRange);
-                }
-                
-            if (button->IsActive())
-                {
-                button->SetCurrentModeL(EBtnBmpActive, aModeIndex);
-                }
-            else
-                {
-                button->SetCurrentModeL(EBtnBmpNonActive, aModeIndex);
-                }
-            
-            break;    
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlRangeBar::SetPermittedRanges
-// set permitted ranges
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlRangeBar::SetPermittedRanges(const TInt aPermitted)
-    {
-    // aPermitted only include detailed range, not mixed    
-    for (TInt ii = 0; ii < iIndicators.Count(); ii++)
-        {
-        TBool needDimButton = EFalse;
-        CAknFepCtrlCommonButton* button= iIndicators[ii]->iIndicator;
- 
-        if ((iIndicators[ii]->iCtrlType == EButtonTypeMultiMode) && 
-            (iIndicators[ii]->iRangeType == ERangeTypeMixed))
-            {
-            // mixed multi button
-            RArray<TInt> rangeList;
-            TRAP_IGNORE(static_cast<CAknFepCtrlMultiModeButton*>
-                        (button)->GetRangeListL(rangeList));
-
-            needDimButton = ETrue;
-            TInt disableIdx = -1;
-            
-            for (TInt ii = 0; ii < rangeList.Count(); ii++)
-                {
-                if (aPermitted & rangeList[ii])
-                    {
-                    static_cast<CAknFepCtrlMultiModeButton*>(button)->SetPermittedRange(
-                                                                   rangeList[ii], ETrue);
-                    needDimButton = EFalse;
-                    }
-                else
-                    {
-                    static_cast<CAknFepCtrlMultiModeButton*>(button)->SetPermittedRange(
-                                                                   rangeList[ii], EFalse);
-                    disableIdx = ii;
-                    }
-                }
-                
-            // disable mode can only after permitted modes are all setted.
-			    if ( disableIdx >= 0 )
-                {
-                static_cast<CAknFepCtrlMultiModeButton*>(button)->DisableOneModes(
-                                                             rangeList[disableIdx]);
-                }
-				
-            rangeList.Reset();
-            rangeList.Close(); 
-            }
-        else if (!(aPermitted & iIndicators[ii]->iInputRange))
-            {
-            // disable a normal or single range multi button
-            needDimButton = ETrue;
-                    
-            if (iIndicators[ii]->iCtrlType == EButtonTypeMultiMode)
-                {
-                TRAP_IGNORE(static_cast<CAknFepCtrlMultiModeButton*>(button)->SetCurrentModeL(
-                                                                        EBtnBmpNonActive , 0));
-                }
-            }
-        
-        if (needDimButton)
-            {
-            button->SetDimmed(ETrue);
-            button->SetActive(EFalse);
-            }
-        else
-            {
-            button->SetDimmed(EFalse);
-            }
-        }
-    
-	if ( iActionStyle == ERangeBarUsingIndicatorStyle )
-	    {
-		for(TInt n = 0; n < iIndicators.Count(); n++)
-			{
-			for( TInt m = n+1; m < iIndicators.Count(); m++ )
-				{
-				if( iIndicators[n]->iPosIdx == iIndicators[m]->iPosIdx )
-					{
-					TBool nDimmed = iIndicators[n]->iIndicator->IsDimmed();
-					TBool mDimmed = iIndicators[m]->iIndicator->IsDimmed();
-					
-					if ( nDimmed != mDimmed )
-						{
-						iIndicators[n]->iIndicator->Hide(nDimmed);
-						iIndicators[m]->iIndicator->Hide(mDimmed);
-						}
-					}
-				}
-			}
-	    }
-    //RefreshUI();
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlRangeBar::SetPermittedRange
-// set permitted ranges
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlRangeBar::SetPermittedRange(const TInt aRangeId, TBool aPermit)
-    {
-    // this function has take consideration of mixed range multimodebutton
-    // aRangeId is detailed range here
-    TBool needDimButton = EFalse;
-    TBool findButton = EFalse;
-    TInt buttonIdx = 0;
-
-    for (TInt ii = 0; ii < iIndicators.Count(); ii++)
-        {
-        CAknFepCtrlCommonButton* button = iIndicators[ii]->iIndicator;
-        
-        if ((iIndicators[ii]->iCtrlType == EButtonTypeMultiMode) && 
-            (iIndicators[ii]->iRangeType == ERangeTypeMixed))
-            {
-            // mixed multi button
-            if (static_cast<CAknFepCtrlMultiModeButton*>(button)->IsGivenRangeSupported(aRangeId))
-                {
-                findButton = ETrue; 
-                buttonIdx = ii;
-
-                static_cast<CAknFepCtrlMultiModeButton*>(button)->SetPermittedRange(aRangeId, 
-                                                                                    aPermit);
-
-                RArray<TInt> rangeList;
-
-                TRAP_IGNORE(static_cast<CAknFepCtrlMultiModeButton*>(button)->GetRangeListL(
-                                                                                 rangeList));
-
-                if ( (!aPermit) && (rangeList.Count() == 1) )
-                    {
-                    needDimButton = ETrue;
-                    }
-
-                rangeList.Reset();
-                rangeList.Close();
-                
-                break;
-                }
-            }
-        else
-            {
-            // normal or single range multi button
-            if (iIndicators[ii]->iInputRange == aRangeId)
-                {
-                findButton = ETrue;
-                buttonIdx = ii;
-
-                if (!aPermit)
-                    {
-                    needDimButton = ETrue;
-
-                    if (iIndicators[ii]->iCtrlType == EButtonTypeMultiMode)
-                        {
-                        TRAP_IGNORE(
-                        static_cast<CAknFepCtrlMultiModeButton*>(button)->SetCurrentModeL(
-                                                                    EBtnBmpNonActive , 0));
-                        }
-                    }
-                break;
-                }
-            }    
-        }
-
-    if (findButton)
-        {
-        CAknFepCtrlCommonButton* button = iIndicators[buttonIdx]->iIndicator;
-
-        if (!needDimButton)
-            {
-            button->SetDimmed(EFalse);
-            }
-        else
-            {
-            button->SetDimmed(ETrue);
-            button->SetActive(EFalse);
-            }    
-        }
-    
-    //RefreshUI();    
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlRangeBar::SetPermittedCase
-// set permitted ranges
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlRangeBar::SetPermittedCase(const TInt aRangeId,
-                                                    const TInt aRealCaseId,
-                                                    TBool aPermit)
-    {
-    // aRangeId is detailed range here
-    for (TInt ii = 0; ii < iIndicators.Count(); ii++)
-        {
-        if (((iIndicators[ii]->iCtrlType == EButtonTypeMultiMode) && 
-             (iIndicators[ii]->iInputRange == aRangeId)) ||
-            ((iIndicators[ii]->iCtrlType == EButtonTypeMultiMode) && 
-             (iIndicators[ii]->iRangeType == ERangeTypeMixed) && 
-             (static_cast<CAknFepCtrlMultiModeButton*>(iIndicators[ii]->iIndicator)->IsGivenRangeSupported(aRangeId))))
-            { 
-            // single range multimode button OR mixed range multimode button
-        	static_cast<CAknFepCtrlMultiModeButton*>(iIndicators[ii]->iIndicator)->SetPermittedModes(aRangeId, aRealCaseId, aPermit);
-        	break;
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlRangeBar::HideRange
-// hide given range
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlRangeBar::HideRange(const TInt aRange)
-    {
-    // mixed range multimode button is not considerred here
-    for (TInt ii = 0; ii < iIndicators.Count(); ++ii)
-        {
-        if ( ( iIndicators[ ii ] ) && 
-             ( iIndicators[ ii ]->iInputRange == aRange ) &&
-             ( !iIndicators[ ii ]->iIsHide))
-            {                    
-            iIndicators[ii]->iIndicator->Hide(ETrue);            
-            
-            iIndicators[ ii ]->iIsHide = ETrue;  
-
-			if( iCellChanged )
-				{
-				UpdateIndicatorRect(EFalse);
-				}
-			else
-				{
-		        SetWholeRect();
-		        iIsReloadImages = EFalse;
-		        //Draw();
-		        SetIndicatorRect();					
-				}
-            
-            break;
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlRangeBar::HideRangeUsingIndicatorStyle
-// hide given range
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlRangeBar::HideRangeUsingIndicatorStyle(const TInt aRange)
-    {
-    // mixed range multimode button is not considerred here
-	TInt indiIdx = IndicatorIdxByRange(aRange);
-
-	if (indiIdx == KErrNotFound)
-	    return;
-
-    HideRangeForHidingIndicatorStyle(indiIdx, ETrue);
-    
-    UpdateIndicatorRectForUsingIndicatorStyle(EFalse);
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlRangeBar::ShowRange
-// show given range
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlRangeBar::ShowRange(const TInt aRange)
-    {
-    // mixed range multimode button is not considerred here    
-    for (TInt ii = 0; ii < iIndicators.Count(); ++ii)
-        {
-        if ( ( iIndicators[ ii ] ) && 
-             ( iIndicators[ ii ]->iInputRange == aRange ) &&
-             ( iIndicators[ ii ]->iIsHide))
-            {
-            iIndicators[ii]->iIndicator->Hide(EFalse);
-            iIndicators[ ii ]->iIsHide = EFalse;                
-
-			if( iCellChanged )
-				{
-				UpdateIndicatorRect(ETrue);
-				}
-			else
-				{
-			    SetWholeRect();
-			    iIsReloadImages = EFalse;			
-
-		        //Draw();
-		        SetIndicatorRect();					
-				}
-
-            break;
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlRangeBar::ShowRangeUsingIndicatorStyle
-// show given range
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlRangeBar::ShowRangeUsingIndicatorStyle(const TInt aRange)
-    {
-    // mixed range multimode button is not considerred here
-	TInt indiIdx = IndicatorIdxByRange(aRange);
-
-	if (indiIdx == KErrNotFound)
-	    return;
-
-    HideRangeForHidingIndicatorStyle(indiIdx, EFalse);
-
-    UpdateIndicatorRectForUsingIndicatorStyle(EFalse);
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlRangeBar::AddRangeL
-// add range
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlRangeBar::AddRangeL(TResourceReader& aReader)
-    {
-    const TInt16 rangeId = aReader.ReadInt16();
-    const TInt16 rangeType = aReader.ReadInt16();
-    const TInt16 ctrlId = aReader.ReadInt16();
-    const TInt16 ctrlType = aReader.ReadInt16(); 
-    const TInt32 resId = aReader.ReadInt32();
-    const TInt actionStyle = aReader.ReadInt16();
-    TBool hide = aReader.ReadInt16();
-    TInt posidx = aReader.ReadInt16();
-
-    CAknFepCtrlCommonButton* button = NULL;
-
-    if (ctrlType != EButtonTypeMultiMode)
-        {
-        // normal button        
-       	button = CAknFepCtrlCommonButton::NewLC(UiLayout(), ctrlId,
-        									  KAknsIIDQsnFrFunctionButtonNormal,
-        									  KAknsIIDQsnFrFunctionButtonPressed,
-        									  KAknsIIDQsnFrFunctionButtonInactive );
-        button->SetResourceId(resId);
-        button->ConstructFromResourceL();
-        }
-    else
-        { 
-        // Multiple display type button
-        button = CAknFepCtrlMultiModeButton::NewLC(UiLayout(), ctrlId,
-        									  KAknsIIDQsnFrFunctionButtonNormal,
-        									  KAknsIIDQsnFrFunctionButtonPressed,
-        									  KAknsIIDQsnFrFunctionButtonInactive);
-
-        button->SetResourceId(resId);
-        button->ConstructFromResourceL();
-        }     
-
-    button->AddEventObserver( this );
-        
-    AddControlL( button );
-    CleanupStack::Pop(button); // button
-        
-    TAknFepRangeIndicator* indicator = new (ELeave) TAknFepRangeIndicator;
-    CleanupStack::PushL( indicator );
-
-    indicator->iCtrlType = ctrlType;
-    indicator->iInputRange = rangeId;
-    indicator->iRangeType = rangeType;
-    indicator->iCtrlId = ctrlId;
-    //indicator->iIsHide = EFalse;
-    indicator->iIsHide = hide;
-    if (hide)
-        button->Hide(ETrue);
-    indicator->iIndicator = button;
-    indicator->iActionStyle = actionStyle;
-    indicator->iPosIdx = posidx;
-
-    User::LeaveIfError( iIndicators.Append(indicator) );
-    CleanupStack::Pop(indicator); // indicator        
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlRangeBar::GetCase
-// get mode of given range
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CAknFepCtrlRangeBar::GetCase(TInt aRange) const
-    {
-    // get current real case of aRange    
-    // aRange is detailed range here, for mixed range multimode button, it contained in one range of it
-    for (TInt ii = 0; ii < iIndicators.Count(); ++ii)
-        {
-        if (iIndicators[ii]->iCtrlType == EButtonTypeMultiMode)
-            {
-            CAknFepCtrlMultiModeButton* button = static_cast<CAknFepCtrlMultiModeButton*>
-                                                 (iIndicators[ii]->iIndicator);
-
-            if ( ( (iIndicators[ii]->iRangeType == ERangeTypeMixed) && 
-                  (button->IsGivenRangeSupported(aRange)) && 
-                  ((button->RangeOfGivenMode(button->CurrentMode()) == aRange)) ) 
-                  || (iIndicators[ii]->iInputRange == aRange)) 
-                {
-                return button->GetRealCaseByMode(button->CurrentMode());
-                }
-            }
-        }
-
-    return KErrNotFound;
-    }
-
-// -----------------------------------------------------------------------------
-// Implementation of CAknFepCtrlRangeBar::SetFont
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlRangeBar::SetFont(const CFont* aFont)
-    {
-    iFont = aFont;
-
-    for (TInt ii = 0; ii < iIndicators.Count(); ii++)
-        {
-        if (iIndicators[ii]->iCtrlType == EButtonTypeMultiMode)
-            {
-            static_cast<CAknFepCtrlMultiModeButton*>(iIndicators[ii]->iIndicator)->SetFont(iFont);
-            
-            break; 
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// Implementation of CAknFepCtrlRangeBar::Move
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlRangeBar::Move(const TPoint& aOffset)
-    {
-    CControlGroup::Move(aOffset);
-    
-    iIndicatorRect.Move(aOffset);
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlRangeBar::SetEventIdForRange
-// set event id when range is clicked
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CAknFepCtrlRangeBar::SetEventIdForRange(TInt aEventId)
-    {
-    iEventIdForRange = aEventId;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlRangeBar::SetEventIdForCase
-// set event id when case is clicked
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CAknFepCtrlRangeBar::SetEventIdForCase(TInt aEventId)
-    {
-    iEventIdForCase = aEventId;
-    }
-    
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlRangeBar::ShowAllRanges
-// Display all ranges whether it is IsHide
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CAknFepCtrlRangeBar::ShowAllRanges()
-    {
-    for (TInt ii = 0; ii < iIndicators.Count(); ++ii)
-        {
-        iIndicators[ii]->iIsHide = EFalse;
-        iIndicators[ii]->iIndicator->Hide(EFalse);
-        }    
-
-		if( iCellChanged )
-			{
-			iActionStyle == ERangeBarUsingIndicatorStyle ? 
-	        UpdateIndicatorRectForUsingIndicatorStyle(EFalse) :
-			UpdateIndicatorRect(EFalse);
-			}
-		else
-			{
-	        SetWholeRect();
-	        iIsReloadImages = EFalse;
-	        //Draw();
-	        SetIndicatorRect();					
-			}
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlRangeBar::SetWholeRect
-// Set rect of whole range bar
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-void CAknFepCtrlRangeBar::SetWholeRect()
-	{
-    if (iStyle == EBtnGroupVertical)
-       	{
-        SetRect(TRect(iIndicatorRect.iTl, 
-                TPoint(iIndicatorRect.iTl.iX + iIndicatorRect.Width(),
-                iIndicatorRect.iTl.iY + 
-                               iIndicatorRect.Height() * (NumOfControls() - NumOfHidedRange()))));	
-       	}
-    else
-        {
-        SetRect(TRect(iIndicatorRect.iTl,
-                TPoint(iIndicatorRect.iTl.iX + 
-                       iIndicatorRect.Width() * (NumOfControls() - NumOfHidedRange()),
-                iIndicatorRect.iTl.iY + iIndicatorRect.Height())));	
-        }	
-	}
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlRangeBar::NumOfHidedRange
-// Get number of hided input ranges
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CAknFepCtrlRangeBar::NumOfHidedRange()
-    {
-    TInt numOfHidedRange = 0;
-    
-    for (TInt ii = 0; ii < iIndicators.Count(); ++ii)
-        {
-        if (iIndicators[ ii ]->iIsHide)
-            {
-            numOfHidedRange++;
-            }
-        }
-        
-    return numOfHidedRange;    
-    }
-
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlRangeBar::SetActionStyle
-// set action style
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlRangeBar::SetActionStyle(TRangeBarActionStyle aActionStyle)
-    {
-	iActionStyle = aActionStyle;
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlRangeBar::IndicatorIdxByRange
-// get indicator index by range
-// -----------------------------------------------------------------------------
-//
-TInt CAknFepCtrlRangeBar::IndicatorIdxByRange(TInt aRange)
-    {
-    for (TInt ii = 0; ii < iIndicators.Count(); ++ii)
-        {
-        if ( IsMixedRange(ii) )
-            {
-            CAknFepCtrlMultiModeButton* button = static_cast<CAknFepCtrlMultiModeButton*>
-                                                 (iIndicators[ii]->iIndicator);
-            if ( button->RangeOfGivenMode(button->NextMode()) == aRange ||
-                button->RangeOfGivenMode(button->CurrentMode()) == aRange )
-                {
-                return ii;
-                }
-            }
-        else if (iIndicators[ii]->iInputRange == aRange)
-            {
-            return ii;
-            }
-        }
-    
-    return KErrNotFound;    
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlRangeBar::ActiveRange
-// active range
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlRangeBar::ActiveRange(TInt aRange)
-    {
-    TInt indiIdx = IndicatorIdxByRange(aRange);
-    
-    if (indiIdx == KErrNotFound)
-        return;
-
-    if (iActionStyle == ERangeBarActionStyleHide ||
-        (iActionStyle == ERangeBarUsingIndicatorStyle && 
-         iIndicators[indiIdx]->iActionStyle == EIndicatorActionStyleHide))
-        {
-        TBool needChange = EFalse;
-
-        if (!iIndicators[indiIdx]->iIndicator->IsDimmed() && iIndicators[indiIdx]->iIndicator)
-            {
-            needChange = ETrue;
-            iInputRange = iIndicators[indiIdx]->iInputRange;
-            SetActiveCtrl(iIndicators[indiIdx]->iIndicator);
-            }
-
-        if (needChange)
-            {
-            if (iActionStyle == ERangeBarActionStyleHide)
-                {
-	            for (TInt ii = 0; ii < iIndicators.Count(); ++ii)
-	                {
-	                if (ii == indiIdx)
-	                    {
-	                    iIndicators[ii]->iIndicator->Hide(ETrue);
-	                    iIndicators[ii]->iIsHide = ETrue;
-	                    }
-	                else if (iIndicators[ii]->iIsHide)
-	                    {
-	                    iIndicators[ii]->iIsHide = EFalse;
-	                    iIndicators[ii]->iIndicator->Hide(EFalse);
-	                    }
-	                }
-				if (iCellChanged )
-					{
-					UpdateIndicatorRect( EFalse );	
-					}
-				else
-					{
-		            SetWholeRect();
-		            iIsReloadImages = EFalse;
-		            //Draw();
-		            SetIndicatorRect();					
-					}
-                }
-            else
-                {
-            	HideRangeForHidingIndicatorStyle(indiIdx, ETrue);
-            	UpdateIndicatorRectForUsingIndicatorStyle(EFalse);
-                }
-            }
-        }
-    else 
-        {
-        // whole range bar's action style is highlight, or it depends on each indicator's
-        // action style, which is highlight or just visible
-        SetRange(aRange);
-        }
-
-	for (TInt ii = 0; ii < iIndicators.Count(); ++ii)
-	    {
-		TBool highlight = 
-		    iIndicators[ii]->iIndicator->IsActive() && !iIndicators[ii]->iIndicator->Hiden();
-		iIndicators[ii]->iIndicator->SetHighlight(highlight);
-	    }
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlRangeBar::IsMixedRange
-// Judge if button in given index has mixed range
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CAknFepCtrlRangeBar::IsMixedRange(const TInt aIndex)
-    {
-    if ((aIndex >= 0) && 
-        (aIndex <= iIndicators.Count()-1) &&
-        (iIndicators[aIndex]->iCtrlType == EButtonTypeMultiMode) && 
-        (iIndicators[aIndex]->iRangeType == ERangeTypeMixed))
-        {
-       	return ETrue;
-        }
-    
-    return EFalse;    
-    }
-
-// -----------------------------------------------------------------------------
-// CAknFepCtrlRangeBar::ReportEventToObserver
-// Report range or case event to observer
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CAknFepCtrlRangeBar::ReportEventToObserver(const TInt aEventId, const TInt aEventData)
-    {
-    TPtrC ptr;
-    TInt sendData = aEventData;
-    ptr.Set(reinterpret_cast<TText*>(&sendData),sizeof(aEventData));
-    
-    ReportEvent(aEventId, ptr);
-    }
-
-EXPORT_C void CAknFepCtrlRangeBar::SetDispalyCellRectsL( const RArray<TRect>& aRects,
-						  					    const RArray<TRect>& aInnerRects )
-	{
-	iCellChanged = ETrue;
-	iCellRects.Close();
-	iCellInnerRects.Close();
-	for( TInt i = 0; i < aRects.Count(); i++ )
-		{
-		iCellRects.AppendL( aRects[i] );
-		}
-		
-	for( TInt i = 0; i < aInnerRects.Count(); i++ )
-		{
-		iCellInnerRects.AppendL( aInnerRects[i] );
-		}		
-
-    iActionStyle == ERangeBarUsingIndicatorStyle ? 
-    UpdateIndicatorRectForUsingIndicatorStyle(ETrue) :
-    UpdateIndicatorRect(ETrue);
-	}
-
-void CAknFepCtrlRangeBar::UpdateIndicatorRect( TBool aUpdateImage)
-	{
-    TInt index = 0;
-    for (TInt ii = 0; ii < iIndicators.Count() && iCellRects.Count() > 0; ++ii)
-	    {
-	    TPoint offset( iIndicatorRect.iTl.iX, iIndicatorRect.iTl.iY );
-	    if (!iIndicators[ii]->iIsHide )
-	        {
-	        CAknFepCtrlCommonButton* button = iIndicators[ii]->iIndicator;
-	        if( button )
-	            {
-	            TInt n = index++;
-	            TRect btnRect( iCellRects[n] );
-	            TRect btnInnerRect( iCellInnerRects[n] );
-	            //btnRect.Move( offset );
-	            if (iIndicators[ii]->iCtrlType == EButtonTypeMultiMode)
-	                {
-	                static_cast<CAknFepCtrlMultiModeButton*>(iIndicators[ii]->iIndicator)->
-	                            SizeChanged(btnRect, btnInnerRect, aUpdateImage);
-	                }
-	            else
-	                {             
-	                static_cast<CAknFepCtrlCommonButton*>(iIndicators[ii]->iIndicator)->
-	                            SizeChanged(btnRect, btnInnerRect, aUpdateImage);
-	                }
-	            }
-	        if( index == iCellRects.Count() )
-	        	break;
-	        }
-	    }
-	}
-
-void CAknFepCtrlRangeBar::UpdateIndicatorRectForUsingIndicatorStyle(TBool aUpdateImage)
-    {
-    for (TInt ii = 0; ii < iIndicators.Count(); ii++)
-	    {
-		if (/*!iIndicators[ii]->iIsHide && */
-		    iIndicators[ii]->iIndicator && 
-		    iIndicators[ii]->iPosIdx >= 0 && 
-		    iIndicators[ii]->iPosIdx < iCellRects.Count())
-		    {			    
-            iIndicators[ii]->iIndicator->SizeChanged(iCellRects[iIndicators[ii]->iPosIdx],
-                                                     iCellInnerRects[iIndicators[ii]->iPosIdx],
-                                                     aUpdateImage);
-		    }
-	    }
-    }
-
-void CAknFepCtrlRangeBar::HideRangeForHidingIndicatorStyle(TInt aIdx, 
-                                                           TBool aHide)
-    {
-    RArray<TInt> permitRangeInxArray;
-    TInt maxPos = 0;
-
-    // Get all the permitted range index array
-    for (TInt ii = 0; ii < iIndicators.Count(); ii++)
-        {
-        maxPos = iIndicators[ii]->iPosIdx > maxPos ? iIndicators[ii]->iPosIdx : maxPos;
-
-        if( !(iIndicators[ii]->iIndicator->IsDimmed() ) && iIndicators[ii]->iPosIdx >=0 )
-            {
-            permitRangeInxArray.Append(ii);
-            }
-        }
-    
-    TBool showAllPermittedRange = ETrue;
-     
-    // compare the position for every permitted range
-    if( permitRangeInxArray.Count() == maxPos + 1 )
-        {
-        for(TInt n = 0; n < permitRangeInxArray.Count(); n++)
-	        {
-		    for( TInt m = n+1; m < permitRangeInxArray.Count(); m++ )
-			    {
-			    if( iIndicators[permitRangeInxArray[n]]->iPosIdx == 
-			        iIndicators[permitRangeInxArray[m]]->iPosIdx )
-			        {
-			        showAllPermittedRange = EFalse;
-				    break;
-			        }
-			    }
-	        }
-        }
-    else
-    	{
-    	showAllPermittedRange = EFalse;
-    	}
-    	
-    permitRangeInxArray.Reset();
-    permitRangeInxArray.Close();     
-
-    if( !showAllPermittedRange ) // hide style
-        {
-	    if (iIndicators[aIdx]->iIsHide != aHide && 
-	        iIndicators[aIdx]->iIndicator)
-	        {
-			TBool canShowNext = ETrue;
-			
-	        for (TInt ii = 0; ii < iIndicators.Count(); ii++)
-	            {
-	            if (ii != aIdx && iIndicators[ii]->iPosIdx == iIndicators[aIdx]->iPosIdx)
-	                {
-	                if ( iIndicators[ii]->iIndicator->IsDimmed() )
-	                    {
-	                    canShowNext = EFalse;
-	                    }
-				    else
-					    {
-						iIndicators[ii]->iIndicator->Hide(!aHide);
-	                    iIndicators[ii]->iIsHide = !aHide;
-						}
-
-	                if (aHide)
-	                    break;
-	                }
-	            }
-	            
-	        iIndicators[aIdx]->iIndicator->Hide( canShowNext && aHide);
-	        iIndicators[aIdx]->iIsHide = canShowNext && aHide;
-	        }
-        }
-    else
-        {
-        // Set the range for special state
-        for (TInt ii = 0; ii < iIndicators.Count(); ii++)
-            {
-            if( iIndicators[ii]->iIndicator->IsDimmed() )
-                {
-                iIndicators[ii]->iIndicator->Hide(ETrue);
-                iIndicators[ii]->iIsHide = ETrue;
-                }
-            else
-                {
-                iIndicators[ii]->iIndicator->Hide(EFalse);
-                iIndicators[ii]->iIsHide = EFalse;
-                }
-            }
-
-        }
-    }
-// End Of File
--- a/textinput/peninputcommonctrls/src/peninputselectionlist/peninputcommonchoicelist.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,324 +0,0 @@
-/*
-* 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:  Implement of touch input mode switch
-*
-*/
- 
-  
-#include <peninputlayoutchoicelist.h>
-#include <peninputlayout.h>
-#include <AknIconUtils.h>
-#include <AknLayoutDef.h>
-#include <AknsDrawUtils.h>
-#include <AknUtils.h>
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <barsread.h>
-#include <AknsUtils.h>
-#include <bautils.h>
-#include <AknFepGlobalEnums.h> 
-#include <peninputcommonchoicelist.h>
-
-
-#define MIN_WORD_LENGTH  200 //temperarily added.
-const TInt KExtraMargine = 10;
-// ---------------------------------------------------------------------------
-// C++ constructor.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPeninputCommonChoiceList::
-			 CPeninputCommonChoiceList( CFepUiLayout* aUiLayout, 
-	            						TInt aControlId,
-	            						TAknsItemID aItemSkinID,
-	    				  			    TAknsItemID aBackgroundSkinID,
-	    				  			    ECommonChoiceListStyle aListStyle ) 
-: CFepLayoutChoiceList( aUiLayout, aControlId )
-    { 
-    iItemSkinID =  aItemSkinID;
-    iBackgroundSkinID = aBackgroundSkinID;
-    iListStyle = aListStyle;
-#ifdef RD_TACTILE_FEEDBACK     
-    //Advanced Tactile feedback REQ417-47932
-    if(aUiLayout)
-    	{
-    	if (aUiLayout->PenInputType() == EPluginInputModeFSQ||
-    		aUiLayout->PenInputType() == EPluginInputModeVkb)
-    		{
-    		SetTactileFeedbackType(ETouchFeedbackBasicButton);
-    		aUiLayout->ChangeFeedbackType(reinterpret_cast<TInt>(this),ETouchFeedbackBasicButton);
-    		}
-    	else
-    		{
-    		SetTactileFeedbackType(ETouchFeedbackSensitiveKeypad);
-    		aUiLayout->ChangeFeedbackType(reinterpret_cast<TInt>(this),ETouchFeedbackSensitiveKeypad);
-    		}
-    	}       
-#endif //RD_TACTILE_FEEDBACK 
-    }
-
-// ---------------------------------------------------------------------------
-// Symbian Constructor
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPeninputCommonChoiceList* CPeninputCommonChoiceList::
-								NewL( CFepUiLayout* aUiLayout,
-				    				  TInt aControlId, 
-									  TAknsItemID aItemSkinID,
-					  			      TAknsItemID aBackgroundSkinID,
-					  			      ECommonChoiceListStyle aListStyle ) 
-    {
-    CPeninputCommonChoiceList *self = new (ELeave) 
-        CPeninputCommonChoiceList( aUiLayout, 
-        						   aControlId, 
-        						   aItemSkinID,
-        						   aBackgroundSkinID,
-        						   aListStyle );
-    
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPeninputCommonChoiceList::~CPeninputCommonChoiceList()
-    {
-    iItemRects.Close();
-    }
-
-EXPORT_C void CPeninputCommonChoiceList::AddItemRectL( const TRect& aRect )
-	{
-	iItemRects.AppendL( aRect );	
-	}
-	
-EXPORT_C void CPeninputCommonChoiceList::RemoveAllItemsRect()
-	{
-	iItemRects.Reset();	
-	}
-	
-EXPORT_C void CPeninputCommonChoiceList::
-								SetTextLayout( const TAknTextLineLayout& aTextLayout )
-	{
-	iTextLayout = aTextLayout;	
-	}
-	
-TInt CPeninputCommonChoiceList::MaxWidthOfListItem()
-	{
-	if( iTextLayout.FontId() == 0 )
-		return 0;
-	
-	TInt maxLength = 0;
-	const CFont* font = AknLayoutUtils::FontFromId(iTextLayout.FontId(), NULL);
-	ASSERT( font );
-	
-	for( TInt i = 0; i < ItemsCount(); i++ )
-		{
-		TInt length = font->TextWidthInPixels( ItemByIndex(i)->iText );
-		maxLength  = length > maxLength ? length : maxLength;
-		}
-    maxLength = maxLength > MIN_WORD_LENGTH ? maxLength : MIN_WORD_LENGTH;		
-	return maxLength;
-	}
-	
-EXPORT_C void CPeninputCommonChoiceList::ReCalcLayout()
-	{
-	if( iItemRects.Count() == 0 )
-	    {
-	    return;
-	    }
-	    
-	if( iListStyle == EAutoFitLength )
-		{
-		TInt itemLength = MaxWidthOfListItem() + iTextLayout.il + iTextLayout.ir;
-		TInt offsetLength = 0;
-		offsetLength = Rect().Width() - iItemRects[0].Width();	
-		
-		if( itemLength + offsetLength + KExtraMargine > UiLayout()->Rect().Width() )
-		    { 
-		    itemLength = UiLayout()->Rect().Width() - KExtraMargine - offsetLength;
-		    }
-		TRect rect;
-		for( TInt i = 0; i < iItemRects.Count(); i++ )
-			{
-			rect = iItemRects[i];
-			offsetLength = itemLength - rect.Width();	
-			rect.SetRect(rect.iTl, TSize( itemLength, rect.Height() ) ); 
-			iItemRects[i] = rect;
-			}
-		rect = Rect();
-		rect.Resize( offsetLength, 0 );
-		SetRect( rect );		
-		}
-	}
-	
-EXPORT_C void CPeninputCommonChoiceList::Draw()
-	{
-	if(!AbleToDraw())
-    	return;    
-    
-    DrawBackground(); 
-
-    //draw Item
-    for(int ii = 0; ii < ItemsCount(); ++ii)
-        {
-        DrawItem(ii, CurrentFocusedIndex() == ii);
-        }
-	}
-	
-void CPeninputCommonChoiceList::DrawBackground()
-	{
-    DrawOpaqueMaskBackground( Rect() );	
-	if( iBackgroundSkinID.iMajor != EAknsMajorNone && 
- 		iBackgroundSkinID.iMinor != EAknsMinorNone )
- 		{
-	    TRect rtInnerRect( Rect() );
-	    rtInnerRect.Shrink( 1, 1 );
-	    CFbsBitGc* gc = static_cast<CFbsBitGc*>(BitGc());
-	    
-	    gc->Activate( BitmapDevice() ); 
-	    gc->SetBrushColor( KRgbWhite );
-	    gc->Clear( Rect() ); 
-		AknsDrawUtils::DrawFrame( AknsUtils::SkinInstance(), 
-	                     *gc, 
-	                     Rect(), 
-	                     rtInnerRect,
-	                     iBackgroundSkinID,
-	                     KAknsIIDDefault );       
- 		}
-	}
-	
-void CPeninputCommonChoiceList::DrawItem( TInt aIndex, TBool aIsFocus )
-	{
-    TRect rtFocusRect(iItemRects[aIndex]);
-    rtFocusRect.Move( Rect().iTl );
-	
-	if( aIsFocus )
-		{
-        //draw focus bitmap
-        TRect rtInnerRect( rtFocusRect );
-        rtInnerRect.Shrink( 7, 7 );
-        
-       	if( iItemSkinID.iMajor != EAknsMajorNone && 
-       	    iItemSkinID.iMinor != EAknsMinorNone)
-       		{
-       		CFbsBitGc* gc = static_cast<CFbsBitGc*>(BitGc());
-       		gc->Activate( BitmapDevice() ); 
-			AknsDrawUtils::DrawFrame( AknsUtils::SkinInstance(), 
-                         *gc, 
-                         rtFocusRect, 
-                         rtInnerRect,
-                         iItemSkinID,
-                         KAknsIIDDefault );       	
-       		}	
-	    
-		}	
-	
-	// draw text
-    TAknLayoutText textLayout;
-    textLayout.LayoutText(rtFocusRect, iTextLayout);
-    TRgb color( KRgbBlack );  // sane default for nonskinned case
-    TAknsQsnTextColorsIndex clrIndex;
-    clrIndex = aIsFocus ? EAknsCIQsnTextColorsCG10 : EAknsCIQsnTextColorsCG20;
-
-    if ( AknsUtils::AvkonSkinEnabled() )
-        {
-        AknsUtils::GetCachedColor( AknsUtils::SkinInstance(),
-                               color, KAknsIIDQsnTextColors, clrIndex );
-        }
-
-    textLayout.DrawText(*BitGc(), ItemByIndex(aIndex)->iText, ETrue, color);
-	}
-
-EXPORT_C void CPeninputCommonChoiceList::SetListColumnNumWithLafL( TInt aMaxCount)
-	{
-	if( iLastColumnNum == aMaxCount )
-		return;
-	
-	iLastColumnNum  = aMaxCount;
-	RemoveAllItemsRect();	
-	
-    TAknWindowLineLayout appWnd = AknLayoutScalable_Avkon::application_window(0).LayoutLine();
-    TAknWindowLineLayout mainPane = AknLayoutScalable_Avkon::main_pane(4).LayoutLine();
-    TAknLayoutRect mainPaneRect;
-    mainPaneRect.LayoutRect(appWnd.Rect(), mainPane);
-    
-    TAknWindowLineLayout menuWnd = AknLayoutScalable_Avkon::
-    								popup_menu_window(13).LayoutLine();
-    TAknWindowLineLayout choiceWnd = AknLayoutScalable_Avkon::
-    								popup_submenu_window(aMaxCount - 1).LayoutLine();    								
-    TAknLayoutRect choiceRect;
-    choiceRect.LayoutRect(mainPaneRect.Rect(), choiceWnd);
-    
-	TRect rectChoiseList( 0, 0 , 
-						  choiceRect.Rect().Width(),
-						  choiceRect.Rect().Height());
-	// set list window rect						  						  
-	SetRect( rectChoiseList );
-	
-    TAknWindowLineLayout listPopupPane = AknLayoutScalable_Avkon::
-    								listscroll_popup_sub_pane(0).LayoutLine();	
-	TAknLayoutRect listPopupPaneRect; 
-	listPopupPaneRect.LayoutRect(rectChoiseList, listPopupPane);								
-    TAknWindowLineLayout listSubMenuPane = AknLayoutScalable_Avkon::
-    								list_submenu_pane(1).LayoutLine();
-    TAknLayoutRect listSubMenuPaneRect;
-    listSubMenuPaneRect.LayoutRect(listPopupPaneRect.Rect(), listSubMenuPane);
-    
-    TAknWindowLineLayout listSinglePane; 
-    TAknLayoutRect listSinglePaneRect;
-    
-    // set list item rect
-    for( TInt i = 0; i < aMaxCount; i++ )
-    	{
-    	listSinglePane = AknLayoutScalable_Avkon::
-    							list_single_popup_submenu_pane(i, 0, 0).LayoutLine();
-		listSinglePaneRect.LayoutRect( listSubMenuPaneRect.Rect(), listSinglePane );
-		iItemRects.AppendL(listSinglePaneRect.Rect());	
-    	}
-    
-    // set list text layout	
-   	SetTextLayout(AknLayoutScalable_Avkon::list_single_popup_submenu_pane_t1(0).LayoutLine());  	
-	}
-
-EXPORT_C void CPeninputCommonChoiceList::SetListSkinID( TAknsItemID aItemSkinID, 
-												        TAknsItemID aBackgroundSkinID )	
-	{
-	iItemSkinID = aItemSkinID;
-	iBackgroundSkinID = aBackgroundSkinID;
-	}
-EXPORT_C TInt CPeninputCommonChoiceList::HitTest(const TPoint& aPoint)
-    {
-    TPoint pPoint(aPoint.iX - Rect().iTl.iX,aPoint.iY - Rect().iTl.iY);
-    TInt arrayCount = iItemRects.Count();
-    TInt index = arrayCount;
-    for(TInt i = 0; i < arrayCount; i++)
-        {
-        if(iItemRects[i].Contains(pPoint))
-            {
-            index = i;
-            }
-        }
-    if( index >= arrayCount )
-        {
-        return EListOutside;
-        }
-    else
-        {
-        return index;
-        }    
-    }							 	
-// End Of File
--- a/textinput/peninputcommonctrls/src/peninputselectionlist/peninputlayoutinputmodechoice.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,392 +0,0 @@
-/*
-* 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:  Implement of touch input mode switch
-*
-*/
- 
-  
-#include <peninputlayoutchoicelist.h>
-#include <peninputlayout.h>
-#include <AknIconUtils.h>
-#include <AknLayoutDef.h>
-#include <AknUtils.h>
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <barsread.h>
-#include <AknsUtils.h>
-#include <peninputmodeswitchutilsnew.rsg>
-#include <bautils.h>
-#include <AknFepGlobalEnums.h> 
-#include <peninputlayoutinputmodechoice.h>
-#include <AknFepInternalCRKeys.h>
-#include <centralrepository.h>
-#include <aknappui.h> 
-
-// CONSTANT 
-const TInt KInvalidImg = -1 ;
-_LIT(KAknUtilsResourceFileName, "z:\\resource\\peninputmodeswitchutilsnew.rsc");
-const TInt KCCMask(0x00000fff);
-
-
-// ---------------------------------------------------------------------------
-// C++ constructor.
-// ---------------------------------------------------------------------------
-//
-CPeninputLayoutInputmodelChoice::CPeninputLayoutInputmodelChoice(CFepUiLayout* aUiLayout, 
-            TInt aControlId,TPluginInputMode aInputMode) 
-: CPeninputCommonChoiceList( aUiLayout, aControlId, KAknsIIDNone, KAknsIIDNone, EAutoFitLength )
-    { 
-    iConstructed = EFalse;
-    iUiLayout = aUiLayout;
-    iCurPluginInputMode = aInputMode;
-    iInputLanguage = ELangTest;
-    iSecretEditor = EFalse;       
-    }
-
-// ---------------------------------------------------------------------------
-// Symbian Constructor
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPeninputLayoutInputmodelChoice* CPeninputLayoutInputmodelChoice::NewL(
-    CFepUiLayout* aUiLayout,
-    TInt aControlId, TPluginInputMode aInputMode)
-    {
-    CPeninputLayoutInputmodelChoice *self = new (ELeave) 
-        CPeninputLayoutInputmodelChoice(aUiLayout, aControlId, aInputMode);
-    
-    CleanupStack::PushL(self);
-    self->CustomConstructL();
-    CleanupStack::Pop();
-
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPeninputLayoutInputmodelChoice::~CPeninputLayoutInputmodelChoice()
-    {
-    iInputModeItems.Close();
-    delete iAknFepRepository;
-    }
-
-// ---------------------------------------------------------------------------
-// Pop up touch input switch list
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputLayoutInputmodelChoice::PopUpSwitchListL( const TRect& aRtControl )
-    {
-    ResetListItemL();
-
-    if (ItemsCount() > 0 && ItemByIndex(0))
-        {
-        Display(aRtControl);    
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Initialize internal control
-// ---------------------------------------------------------------------------
-//
-void CPeninputLayoutInputmodelChoice::DoInitializeControlL()
-    {
-    if (iConstructed)
-        {
-        return;
-        }
-    iAknFepRepository = CRepository::NewL(KCRUidAknFep);
-        
-    SizeChanged();
-    
-    RFs fsSession;
-
-    User::LeaveIfError(fsSession.Connect());
-    CleanupClosePushL(fsSession);
-
-    RResourceFile rsFile;
-    
-    TFileName resourceName(KAknUtilsResourceFileName);
-    CCoeEnv* coeEnv = CCoeEnv::Static();
-    BaflUtils::NearestLanguageFile(fsSession, resourceName);
-    
-    rsFile.OpenL(fsSession, resourceName);
-    CleanupClosePushL(rsFile);
-    
-    // Create choice list
-    TResourceReader reader;
-
-    HBufC8* rBuffer = rsFile.AllocReadLC(PENINPUTMODE_SWITCH_CHOICELIST & KCCMask); 
-    reader.SetBuffer(rBuffer);
-
-    TPtrC bmpFileName = reader.ReadTPtrC();
-    TInt32 imgMajorSkinId = reader.ReadInt32();
-
-    if (CreateItemIconL(reader, &iPopupWndBgImg, bmpFileName, imgMajorSkinId))
-        {
-       SetBackgroundBitmapL(iPopupWndBgImg);
-        }
-
-    if (CreateItemIconL(reader, &iPopupWndFocusImg, bmpFileName, imgMajorSkinId))
-        {
-        SetFocusBmp(iPopupWndFocusImg);
-        }
-    	
-    CleanupStack::PopAndDestroy(1); 
-    
-    // read name to list
-    
-    CreateChoiceItemL( reader, rsFile );
-/*    CreateChoiceItemL(iInputModeItem[EPenInputHwr], EPluginInputModeHwr, 
-                      R_PENINPUTMODE_NAMES, reader, rsFile);
-                      
-    CreateChoiceItemL(iInputModeItem[EPenInputVkb], EPluginInputModeVkb, 
-                      R_PENINPUTMODE_VKB, reader, rsFile);
-                      
-    CreateChoiceItemL(iInputModeItem[EPenInputItut], EPluginInputModeItut, 
-                      R_PENINPUTMODE_FINGERITUT, reader, rsFile);
-                      
-    CreateChoiceItemL(iInputModeItem[EPenInputFSc], EPluginInputModeFSc,
-                      R_PENINPUTMODE_FULLHWR, reader, rsFile);
-    
-*/
-    CleanupStack::PopAndDestroy(2);
-    
-    iConstructed = ETrue;  
-    }
-
-// ---------------------------------------------------------------------------
-// Application size Changed
-// ---------------------------------------------------------------------------
-//
-void CPeninputLayoutInputmodelChoice::SizeChanged()    
-    {
-    /*
-    if ( Hiden() )
-        {
-        iChoiceList->CloseWindow();
-        }
-    */    
-    TRect mainPaneRect = MainPaneRect();
-        
-    TAknWindowLineLayout choiceWnd = 
-        AknLayoutScalable_Avkon::popup_choice_list_window(1).LayoutLine();
-    
-    TAknLayoutRect choiceRect;
-    choiceRect.LayoutRect(mainPaneRect, choiceWnd);
-
-   iItemRect = TRect(
-        0, 0, choiceRect.Rect().Width(),
-        AknLayoutScalable_Avkon::list_single_choice_list_pane(0).LayoutLine().iH);
-
-    TAknTextLineLayout choiceTextLayout = 
-        AknLayoutScalable_Avkon::list_single_choice_list_pane_t1(1).LayoutLine();
-
-    const CFont* font = AknLayoutUtils::FontFromId(choiceTextLayout.iFont, NULL);
- 
-    SetFont(font);
-    SetItemRect(iItemRect, iItemRect);
-
-    const TInt leftMargin = choiceTextLayout.il;
-   
-    SetMarginAndBaseline(leftMargin,font->HeightInPixels());
-    SetFontColor(AKN_LAF_COLOR_STATIC(choiceTextLayout.iC));
-
-    if (iPopupWndBgImg)
-    	{
-    	AknIconUtils::SetSize(iPopupWndBgImg, 
-    	                      TSize(iItemRect.Width(), iItemRect.Height() * 3), 
-    	                      EAspectRatioNotPreserved);
-    	}
-    
-    if (iPopupWndFocusImg)
-    	{
-    	AknIconUtils::SetSize(iPopupWndFocusImg, 
-    	                      TSize(iItemRect.Width(), iItemRect.Height() * 3), 
-    	                      EAspectRatioNotPreserved);
-    	}
-
-    iPopupItemSize = iItemRect.Size();    
-    }    
-    
-// ---------------------------------------------------------------------------
-// Symbian second-phase constructor
-// ---------------------------------------------------------------------------
-//
-void CPeninputLayoutInputmodelChoice::CustomConstructL( )
-    {
-    //CFepLayoutChoiceList::NewL(iUiLayout, aControlId);
-    // call base class construction
-    this->ConstructL();
-    
-    DoInitializeControlL();
-    }
-
-// ---------------------------------------------------------------------------
-// Insert choice item to input mode switch list
-// ---------------------------------------------------------------------------
-//
-void CPeninputLayoutInputmodelChoice::CreateChoiceItemL( TResourceReader &aReader, 
-                                                         RResourceFile& aRsFile )
-    {
-    HBufC8* rBuffer = aRsFile.AllocReadLC( R_PENINPUTMODE_NAMES & KCCMask );
-    aReader.SetBuffer(rBuffer);
-    
-    TInt index;
-    TInt number;
-    number = aReader.ReadInt16();
-    
-    CFepLayoutChoiceList::SItem item;
-    for (index = 0; index < number ; index++)
-        {
-        item.iCommand = aReader.ReadInt32();
-        //TPtrC ptr = aReader.ReadTPtrC();
-        HBufC* buf = aReader.ReadHBufCL();
-        item.iText.Copy( buf->Des() );
-        delete buf;
-        iInputModeItems.AppendL( item );
-        }
-
-    CleanupStack::PopAndDestroy(1);
-    }
-
-// ---------------------------------------------------------------------------
-// Create choice item icon
-// ---------------------------------------------------------------------------
-//
-TBool CPeninputLayoutInputmodelChoice::CreateItemIconL(TResourceReader &aReader, 
-    CFbsBitmap** aImg, TPtrC& aBmpFileName, TInt32 aMajorSkinId)
-    {
-    MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance();
-    
-    const TInt bmpId = aReader.ReadInt16();
-    const TInt bmpMaskId = aReader.ReadInt16();
-    const TInt bmpSkinId = aReader.ReadInt16();
-
-    TAknsItemID id;
-    id.Set(TInt(aMajorSkinId), bmpSkinId);
-    
-    if (bmpId != KInvalidImg)
-    	{
-        AknsUtils::CreateIconL(skinInstance,
-                               id,
-                               *aImg,
-                               aBmpFileName,
-                               bmpId);
-                                
-        AknIconUtils::SetSize(*aImg, iPopupItemSize, EAspectRatioNotPreserved); 
-    	
-    	return ETrue;
-    	}
-    	
-    return EFalse;
-    }    
-
-    
-// ---------------------------------------------------------------------------
-// Get main pane rect
-// ---------------------------------------------------------------------------
-//
-TRect CPeninputLayoutInputmodelChoice::MainPaneRect()
-    {
-    TAknWindowLineLayout appWnd; 
-    TAknWindowLineLayout mainPane;
-    TAknLayoutRect mainPaneLayout;
-             
-    appWnd = AknLayoutScalable_Avkon::application_window( 0 ).LayoutLine();
-
-    TInt id = appWnd.iW > appWnd.iH ? 4 : 1;
-    
-    mainPane = AknLayoutScalable_Avkon::main_pane(id).LayoutLine();
-    mainPaneLayout.LayoutRect(appWnd.Rect(), mainPane);
-
-    return mainPaneLayout.Rect();
-    }
-
-
-// ---------------------------------------------------------------------------
-// Reset choice list item
-// ---------------------------------------------------------------------------
-//
-void CPeninputLayoutInputmodelChoice::ResetListItemL()
-    {
-    TInt layouts = iUiLayout->GetEnabledPluginMode();
-        
-    ClearItemsL();
-    
-    for ( int i = 0; i < iInputModeItems.Count(); i++ )
-        {
-        if ( layouts & iInputModeItems[i].iCommand  )
-            {
-            InsertListItemL( iInputModeItems[i], iInputModeItems[i].iCommand );
-            }
-        }
-       
-    SetListColumnNumWithLafL( ItemsCount() );
-    }
-
-// ---------------------------------------------------------------------------
-// Insert list item
-// ---------------------------------------------------------------------------
-//
-void CPeninputLayoutInputmodelChoice::InsertListItemL( const CFepLayoutChoiceList::SItem& item,
-     TInt aInputMode)
-    {
-    TInt value = 0;
-    if (iAknFepRepository)
-        {
-        iAknFepRepository->Get(KAknFepInputTxtLang, value);
-        
-        iInputLanguage = TLanguage(value);
-        }
-
-    if (iSecretEditor && (aInputMode == EPluginInputModeHwr ||
-        aInputMode == EPluginInputModeFSc || aInputMode == EPluginInputModeFingerHwr))
-        {
-        return;
-        }
-
-    // Added for <Single Click>. Do not insert current input mode to the list
-    if (iUiLayout && (iUiLayout->PenInputType() == aInputMode))
-    	{
-    	return;
-    	}
-    
-    // if current input mode is in choice list, add item to it
-    // (!ItemByCommand(aInputMode))
-    if(FindCommand(aInputMode) < 0)
-        {
-        AddItemL( item );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Set current editor is secure
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputLayoutInputmodelChoice::SetSecretEditor(TBool aSecret)
-    {
-    iSecretEditor = aSecret;
-    }    
-
-
-// ---------------------------------------------------------------------------
-// Get switch list rect
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TRect CPeninputLayoutInputmodelChoice::SwitchListRect()
-    {
-    return TRect(0,0,iItemRect.Width(), iItemRect.Height() * ItemsCount());
-    }
-    
-// End Of File
--- a/textinput/peninputcommonctrls/src/peninputselectionlist/peninputscrollablelist.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,727 +0,0 @@
-/*
-* Copyright (c) 2008-2008 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:  Implementation for button base and dragbar
-*
-*/
-
-#include <coemain.h>
-#include <barsread.h>
-#include <AknsUtils.h>
-#include <AknIconUtils.h>
-#include <AknsDrawUtils.h>
-#include <AknUtils.h>
-#include <peninputlayout.h>
-#include <AknBidiTextUtils.h>
-#include <peninputcommonbutton.h>
-#include <StringLoader.h>
-
-#include "peninputscrollablelist.h"
-
-const TInt KCtrlIdPageUp = 1;
-const TInt KCtrlIdPageDown = 2;
-
-const TInt KInvalidResId = -1;
-const TInt KInvalidBmp = -1;
-
-
-const TInt KDisplayTextLen = KMaxItemTextLength + KAknBidiExtraSpacePerLine;
-
-EXPORT_C CFepLayoutScrollableList* CFepLayoutScrollableList::NewL(CFepUiLayout* aUiLayout,
-                                                                  TInt aControlId,
-                                                                  TSize aItemSize,
-                                                                  TInt aHorizontalMargin,
-                                                                  TInt aVerticalMargin,
-                                                                  TSize aNaviSize,
-                                                                  TSize aNaviInnerSize)
-    {
-    CFepLayoutScrollableList* self = NewLC(aUiLayout, 
-                                           aControlId,
-                                           aItemSize,
-                                           aHorizontalMargin,
-                                           aVerticalMargin,
-                                           aNaviSize,
-                                           aNaviInnerSize);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-EXPORT_C CFepLayoutScrollableList* CFepLayoutScrollableList::NewLC(CFepUiLayout* aUiLayout,
-                                                                   TInt aControlId,
-                                                                   TSize aItemSize,
-                                                                   TInt aHorizontalMargin,
-                                                                   TInt aVerticalMargin,
-                                                                   TSize aNaviSize,
-                                                                   TSize aNaviInnerSize)
-    {
-    CFepLayoutScrollableList* self = new(ELeave) CFepLayoutScrollableList(aUiLayout, 
-                                                                          aControlId,
-                                                                          aItemSize,
-                                                                          aHorizontalMargin,
-                                                                          aVerticalMargin,
-                                                                          aNaviSize,
-                                                                          aNaviInnerSize);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    return self;
-    }
-
-EXPORT_C CFepLayoutScrollableList::~CFepLayoutScrollableList()
-    {
-    //iBmpList.ResetAndDestroy();
-    //iBmpList.Close();
-
-    //delete iPageInfoFormat;
-    delete iPageInfo;
-    iItemRects.Close();
-    delete iSeperationBmp;
-    delete iSeperationMaskBmp;
-    }
-
-EXPORT_C void CFepLayoutScrollableList::ConstructFromResourceL()
-    {
-    if (iResourceId == KInvalidResId)
-        {
-        User::Leave(KErrArgument);
-        }
-	//delete the old bmp res
-	delete iSeperationBmp;
-	delete iSeperationMaskBmp;
-	iSeperationBmp = NULL;
-	iSeperationMaskBmp = NULL;
-
-    TResourceReader reader;
-    CCoeEnv::Static()->CreateResourceReaderLC(reader, iResourceId);
-    
-    TPtrC bmpFileName = reader.ReadTPtrC();
-    TInt imgMajorSkinId = reader.ReadInt32();
-    
-    TInt32 pageUpId = reader.ReadInt32();
-    TInt32 pageDownId = reader.ReadInt32();
-    TAknsItemID id;
-   
-    //read seperation line res
-    const TInt16 bmpId = reader.ReadInt16();
-    const TInt16 bmpMskId = reader.ReadInt16();
-    // read skin item id
-    const TInt skinitemid = reader.ReadInt16();
-    id.Set(TInt(imgMajorSkinId), skinitemid);
-    
-    if (bmpId != KInvalidBmp)
-        {
-    	if (bmpMskId != KInvalidBmp)
-    		{
-		    AknsUtils::CreateColorIconL( AknsUtils::SkinInstance(),
-						         id,
-						         KAknsIIDQsnIconColors,
-						         EAknsCIQsnIconColorsCG30,
-						         iSeperationBmp,
-						         iSeperationMaskBmp,
-						         bmpFileName,
-						         bmpId,
-						         bmpMskId,
-						         AKN_LAF_COLOR( 0 ) );    		                     
-            }
-        else
-            {
-    	    AknsUtils::CreateIconL(AknsUtils::SkinInstance(),
-    	                           id,
-    	                           iSeperationBmp,
-    	                           bmpFileName,
-    	                           bmpId);
-            }
-        }
-    CleanupStack::PopAndDestroy(1); // reader
-    
-    TResourceReader pageUpReader;
-    CCoeEnv::Static()->CreateResourceReaderLC(pageUpReader, pageUpId);
-    iPageUp->ConstructFromResourceL(pageUpReader);
-    CleanupStack::PopAndDestroy(1); // pageUpReader, imgreader
-
-    TResourceReader pageDownReader;
-    CCoeEnv::Static()->CreateResourceReaderLC(pageDownReader, pageDownId);
-    iPageDown->ConstructFromResourceL(pageDownReader);
-    CleanupStack::PopAndDestroy(1); // pageDownReader, imgreader
-    }
-
-EXPORT_C void CFepLayoutScrollableList::SizeChanged(TSize aItemSize,
-                                                    TInt aHorizontalMargin,
-                                                    TInt aVerticalMargin,
-                                                    TSize aNaviSize,
-                                                    TSize aNaviInnerSize)
-    {
-    iItemSize = aItemSize;
-    iHorizontalMargin = aHorizontalMargin;
-    iVerticalMargin = aVerticalMargin;
-    iNaviSize = aNaviSize;
-    iNaviInnerSize = aNaviInnerSize;
-
-    }
-
-EXPORT_C void CFepLayoutScrollableList::SetTextProperty(const CFont* aFont,
-                                                        TRgb aFontColor)
-    {
-    iFont = aFont;
-    iFontColor = aFontColor;
-
-    iBaselineOffset = iItemSize.iHeight/2 + aFont->AscentInPixels()/2;
-    }
-
-EXPORT_C void CFepLayoutScrollableList::Draw()
-    {
-    if (Hiden() || !Ready() || Rect().Size() == TSize(0,0))
-        {
-        return;
-        }
-
-    // draw background of whole control
-    CFbsBitGc* gc = static_cast<CFbsBitGc*>(BitGc());
-
-    //mask bitmaps
-    TRect rect = Rect();
-    
-  	DrawOpaqueMaskBackground();
-  	
-    TRect innerRect = rect;
-    innerRect.Shrink(4, 4);
-
-    // ----- draw bitmaps -----
-    gc->Activate(BitmapDevice());
-    gc->Clear(rect);
-
-	AknsDrawUtils::DrawFrame(AknsUtils::SkinInstance(), 
-	                         *gc, 
-	                         rect, 
-	                         innerRect,
-	                         iBgFrId,
-	                         KAknsIIDDefault);
-
-    // draw item
-    for (TInt i = iCurrentPage * iOnePageItemCnt; 
-         i < (iCurrentPage + 1) * iOnePageItemCnt && i < ItemArray().Count();
-         i++)
-        {
-        DrawItem(i);
-        }
-
-    // draw scroll area
-    if (iNaviBtnShown)
-        {
-        iPageUp->Draw();
-        iPageDown->Draw();
-        DrawPageInfo();
-        }   
-    }
-
-EXPORT_C void CFepLayoutScrollableList::DrawPageInfo()
-    {
-    CFbsBitGc* gc = static_cast<CFbsBitGc*>(BitGc());
-    //TPtr ptr = iPageInfo->Des();
-    //FORMATPAGEINFO(ptr, *iPageInfoFormat, iCurrentPage + 1, iTotalPages);
-    TRAP_IGNORE(UpdatePageInfoL( iCurrentPage + 1, iTotalPages ));
-	
-    if( iPageInfoLineSet )
-        {
-        TRgb color( KRgbBlack );  // sane default for nonskinned case
-
-        TAknLayoutText textLayout;
-        textLayout.LayoutText(iScrollRect, iPageInfoTextLine );
-	    TAknsQsnTextColorsIndex clrIndex;
-	    clrIndex = EAknsCIQsnTextColorsCG20;
-
-	    if ( AknsUtils::AvkonSkinEnabled() )
-	        {
-	        AknsUtils::GetCachedColor( AknsUtils::SkinInstance(),
-	                               color, KAknsIIDQsnTextColors, clrIndex );
-	        }
-
-	    textLayout.DrawText(*gc, iPageInfo->Des(), EFalse, color);
-        }
-    else
-        {
-        gc->UseFont(iFont);
-
-        gc->SetBrushStyle(CGraphicsContext::ENullBrush);
-        gc->SetBrushColor(KRgbBlack);
-        gc->SetPenColor(iFontColor);
-        gc->SetPenStyle(CGraphicsContext::ESolidPen);
-        gc->SetPenSize(PenSize());
-
-
-        gc->DrawText(iPageInfo->Des(),
-                     iPageInfoRect,
-                     iBaselineOffset,
-                     CGraphicsContext::ECenter);
-
-        gc->DiscardFont();
-        }
-    }
-
-EXPORT_C TInt CFepLayoutScrollableList::HitTest(const TPoint& aPoint)
-    {
-    if( !Contains( aPoint ) )
-        {
-        return EListOutside;
-        }
-    for (TInt i = 0; i < iItemRects.Count(); i++)
-        {
-        if (iItemRects[i].Contains(aPoint))
-            {
-            if ((iCurrentPage * iOnePageItemCnt + i) < ItemArray().Count())
-                return (iCurrentPage * iOnePageItemCnt + i);
-            else 
-                break;
-            }
-        }
-
-    return EListInsideNoneListItem;    
-    }
-    
-void CFepLayoutScrollableList::ScrollPageUp()
-    {
-    if (iCurrentPage >= 0 && iCurrentPage <= (iTotalPages - 1))
-        {
-        if (iCurrentPage == 0)
-        	{
-        	iCurrentPage = iTotalPages - 1;
-        	}
-        else
-        	{
-            iCurrentPage--;
-        	}
-        UpdateNaviButtonStates();
-        Draw();
-        UpdateArea( Rect(), EFalse);    
-        }
-        
-#ifdef RD_TACTILE_FEEDBACK        
-	UpdateFeedbackArea();
-#endif // RD_TACTILE_FEEDBACK		
-    }
-
-void CFepLayoutScrollableList::ScrollPageDown()
-    {
-    if (iCurrentPage >= 0 && iCurrentPage <= (iTotalPages - 1))
-        {
-        if (iCurrentPage == iTotalPages - 1)
-        	{
-        	iCurrentPage = 0;
-        	}
-        else
-        	{
-            iCurrentPage++;
-        	}
-        UpdateNaviButtonStates();
-        Draw();
-        UpdateArea( Rect(), EFalse);    
-        }
-        
-#ifdef RD_TACTILE_FEEDBACK
-	UpdateFeedbackArea();
-#endif // RD_TACTILE_FEEDBACK		
-    }
-
-EXPORT_C void CFepLayoutScrollableList::UpdateNaviButtonStates()
-    {
-    iPageUp->SetDimmed( iTotalPages == 1 );
-    iPageDown->SetDimmed(iTotalPages == 1 );
-    }
-    
-EXPORT_C void CFepLayoutScrollableList::CalcPageInfo()
-    {
-    iCurrentPage = 0;
-    iTotalPages = (ItemArray().Count() + iOnePageItemCnt - 1) / iOnePageItemCnt;
-    UpdateNaviButtonStates();
-    }
-
-EXPORT_C void CFepLayoutScrollableList::CalculateItemWidth()
-    {
-    iItemSize.iWidth = iInitItemWidth;
-    const RPointerArray<SItem>& allItems = ItemArray();
-    for( TInt i = 0; i < allItems.Count() ; ++i )
-        {
-        TInt itemWidth = iFont->TextWidthInPixels( allItems[i]->iText );
-        if( itemWidth > iItemSize.iWidth )
-            {
-            iItemSize.iWidth = itemWidth;
-            }
-        }
-     
-    TPixelsTwipsAndRotation ptScreenSize;             
-    CCoeEnv::Static()->ScreenDevice()->
-                            GetDefaultScreenSizeAndRotation(ptScreenSize); 
-    // calculate the length exclude the item
-	TInt naviWidth = iNaviBtnShown? iNaviSize.iWidth : 0;                      
-	TInt len = 4*iHorizontalMargin + naviWidth;
-    if( iItemSize.iWidth + len > ptScreenSize.iPixelSize.iWidth)    
-        {
-        iItemSize.iWidth = ptScreenSize.iPixelSize.iWidth - len;
-        }
-    }
-
-EXPORT_C void CFepLayoutScrollableList::DrawItem(TInt aItemIndex, TBool aItemActive)
-    {
-    // aItemIndex is relative to whole item array
-    TBool isSpecial = ((aItemIndex == ItemArray().Count() - 1) && iSpecialItemOn);
-    CFbsBitGc* gc = static_cast<CFbsBitGc*>(BitGc());
-    TRect itemRect = iItemRects[aItemIndex % iOnePageItemCnt];
-    TBool isFocus = aItemIndex == iCurFocusItem;
-    
-    if ( isSpecial )
-        {
-	    //mask bitmaps
-		gc->Activate(MaskBitmapDevice());
-	    gc->SetBrushStyle(CGraphicsContext::ESolidBrush);
-	    gc->SetBrushColor(TRgb(KOpaqueColor));//Non transparent at all
-	    gc->SetPenStyle(CGraphicsContext::ESolidPen);
-	    gc->SetPenSize(PenSize());
-	    gc->SetPenColor(TRgb(KOpaqueColor));
-	    gc->DrawRect(itemRect);	    
-	    // ----- draw bitmaps -----
-	    gc->Activate(BitmapDevice());        
-        
-        TRect sepRect = itemRect;
-        sepRect.iBr.iY = sepRect.iTl.iY + 2;
-        sepRect.Move( 0, -4 );
-    	SetListSeperationRect( sepRect );
-        // draw background frame of special item		
-		if( iSeperationBmp )
-			{
-			TRect srcRect( TPoint( 0, 0 ), iSeperationBmp->SizeInPixels() );
-
-			if( iSeperationMaskBmp )
-				{
-				gc->BitBltMasked( iSeperationRect.iTl, 
-								  iSeperationBmp, 
-								  srcRect,
-								  iSeperationMaskBmp,
-								  ETrue);
-								  
-				}
-			else
-				{
-				gc->BitBlt( iSeperationRect.iTl,
-							iSeperationBmp,
-							srcRect );
-				}
-			}
-        }
-    if( isFocus )
-    	{
-        //mask bitmaps
-        gc->Activate(MaskBitmapDevice());
-        gc->SetBrushStyle(CGraphicsContext::ESolidBrush);
-        gc->SetBrushColor(TRgb(KOpaqueColor));//Non transparent at all
-        gc->SetPenStyle(CGraphicsContext::ESolidPen);
-        gc->SetPenSize(PenSize());
-        gc->SetPenColor(TRgb(KOpaqueColor));
-        gc->DrawRect(itemRect);
-        
-        // ----- draw bitmaps -----
-        gc->Activate(BitmapDevice());   
-
-	      // draw frame
-        MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-	    TRect innerRect = itemRect;
-	    innerRect.Shrink(7, 7);
-        AknsDrawUtils::DrawFrame(skin, 
-                                 *gc, 
-	                             itemRect,
-	                             innerRect,
-                                 aItemActive ? iItemActiveFrId : iItemFrId,
-                                 KAknsIIDDefault); 
-        }
-
-    // draw text
-    if (iTextLineSet)
-        {
-        gc->SetBrushStyle(CGraphicsContext::ENullBrush);
-        gc->SetBrushColor(KRgbBlack); 
-	    TRgb color( KRgbBlack );  // sane default for nonskinned case
-               
-        TAknLayoutText textLayout;
-        textLayout.LayoutText(itemRect, 
-                              iTextLine);
-	    TAknsQsnTextColorsIndex clrIndex;
-	    clrIndex = isFocus ? EAknsCIQsnTextColorsCG10 : EAknsCIQsnTextColorsCG20;
-
-	    if ( AknsUtils::AvkonSkinEnabled() )
-	        {
-	        AknsUtils::GetCachedColor( AknsUtils::SkinInstance(),
-	                               color, KAknsIIDQsnTextColors, clrIndex );
-	        }
-
-	    textLayout.DrawText(*gc, ItemArray()[aItemIndex]->iText, ETrue, color);
-        }
-    else if (iFont)
-        {
-        gc->UseFont(iFont);
-
-        gc->SetBrushStyle(CGraphicsContext::ENullBrush);
-        gc->SetBrushColor(KRgbBlack);
-        gc->SetPenColor(iFontColor);
-        gc->SetPenStyle(CGraphicsContext::ESolidPen);
-        gc->SetPenSize(PenSize());
-
-        if (iFont->TextWidthInPixels(ItemArray()[aItemIndex]->iText) > itemRect.Width())
-            {
-            TBuf<KDisplayTextLen> buf;
-            AknBidiTextUtils::ConvertToVisualAndClip(ItemArray()[aItemIndex]->iText,
-                                                     buf,
-                                                     *iFont,
-                                                     itemRect.Width(),
-                                                     itemRect.Width());
-            gc->DrawText(buf, 
-                         itemRect,
-                         iBaselineOffset,
-                         CGraphicsContext::ELeft);  
-            }
-        else
-            {
-            gc->DrawText(ItemArray()[aItemIndex]->iText,
-                         itemRect,
-                         iBaselineOffset,
-                         CGraphicsContext::ELeft);
-            }
-
-        gc->DiscardFont();
-        }    
-    }
-
-EXPORT_C void CFepLayoutScrollableList::ConstructL()
-    {
-    CFepLayoutPopupWnd::ConstructL();
-    
-    //create page up/down buttons
-    iPageUp = CAknFepCtrlCommonButton::NewL(
-                                     UiLayout(), 
-                                     KCtrlIdPageUp,
-                                     KAknsIIDQsnFrButtonNormal,
-                                     KAknsIIDQsnFrButtonPressed,
-                                     KAknsIIDQsnFrButtonInactive);
-    iPageUp->AddEventObserver( this );
-    iPageDown = CAknFepCtrlCommonButton::NewL(
-                                     UiLayout(), 
-                                     KCtrlIdPageDown,
-                                     KAknsIIDQsnFrButtonNormal,
-                                     KAknsIIDQsnFrButtonPressed,
-                                     KAknsIIDQsnFrButtonInactive);
-    iPageDown->AddEventObserver( this );
-    AddControlL( iPageUp );
-    AddControlL( iPageDown );
-    }
-
-EXPORT_C CFepLayoutScrollableList::CFepLayoutScrollableList(CFepUiLayout* aUiLayout,
-                                                   TInt aControlId,
-                                                   TSize aItemSize,
-                                                   TInt aHorizontalMargin,
-                                                   TInt aVerticalMargin,
-                                                   TSize aNaviSize,
-                                                   TSize aNaviInnerSize)
-    :CFepLayoutChoiceList(aUiLayout, aControlId),
-     iItemSize(aItemSize),
-     iNaviSize(aNaviSize),
-     iNaviInnerSize(aNaviInnerSize),
-     iHorizontalMargin(aHorizontalMargin),
-     iVerticalMargin(aVerticalMargin),     
-     iSpecialItemOn(ETrue),
-     iNaviBtnShown( ETrue ),
-     iOnePageItemCnt(4)
-    {
-    iCurFocusItem = -1;
-    iInitItemWidth = aItemSize.iWidth;
-    }
-
-EXPORT_C void CFepLayoutScrollableList::ReCalcLayout()
-    {
-    CalculateItemWidth();
-    CalcPageInfo();
-    iContentRect = TRect(TPoint(), TSize(2*iHorizontalMargin + iItemSize.iWidth, 
-                       (iOnePageItemCnt + 1)*iVerticalMargin + iOnePageItemCnt*iItemSize.iHeight));
-    TRect ctrlRect = iContentRect;
-
-    iItemRects.Reset();
-    for (TInt i = 0; i < iOnePageItemCnt; i++)
-        {
-        iItemRects.Append(TRect(TPoint(iContentRect.iTl.iX + iHorizontalMargin, 
-                                       iContentRect.iTl.iY + (i+1)* iVerticalMargin + 
-                                       i * iItemSize.iHeight) , 
-                                       iItemSize));
-        }        
-
-    if (iNaviBtnShown)
-        {
-        iScrollRect = TRect(TPoint(iContentRect.Width(), 0), 
-                            TSize(2*iHorizontalMargin + iNaviSize.iWidth, iContentRect.Height()));
-        iPageUpRect = TRect(TPoint(iScrollRect.iTl.iX + iHorizontalMargin, 
-                                   iScrollRect.iTl.iY + iVerticalMargin),
-                            iNaviSize);
-                            
-        TPoint innerTl ( iPageUpRect.iTl.iX + ( iNaviSize.iWidth - iNaviInnerSize.iWidth ) /2,
-                         iPageUpRect.iTl.iY + ( iNaviSize.iHeight - iNaviInnerSize.iHeight ) /2 );
-        iPageUp->SizeChanged( iPageUpRect, TRect( innerTl, iNaviInnerSize), ETrue );
-        
-        iPageDownRect = TRect(TPoint(iPageUpRect.iTl.iX, 
-                                     iScrollRect.iBr.iY - iVerticalMargin - iNaviSize.iHeight), 
-                              iNaviSize);
-
-        innerTl = TPoint(iPageDownRect.iTl.iX + ( iNaviSize.iWidth - iNaviInnerSize.iWidth ) /2,
-                         iPageDownRect.iTl.iY + ( iNaviSize.iHeight - iNaviInnerSize.iHeight ) /2 );
-        iPageDown->SizeChanged( iPageDownRect, TRect(innerTl, iNaviInnerSize), ETrue );
-        
-        iPageInfoRect = TRect(TPoint(iScrollRect.iTl.iX, 
-                              iScrollRect.iTl.iY + iScrollRect.Height()/2 - iNaviSize.iHeight/2),
-                              iNaviSize);
-
-        ctrlRect.BoundingRect(iScrollRect);
-        }
-
-    SetRect(ctrlRect);
-    UpdateNaviButtonStates();
-    }
-
-EXPORT_C void CFepLayoutScrollableList::HandleControlEvent(TInt aEventType, 
-                                                  CFepUiBaseCtrl* aCtrl,
-                                                  const TDesC& aEventData)
-    {
-    if( aEventType ==  EEventButtonUp )
-        {
-        if( aCtrl == iPageUp )
-            {
-            ScrollPageUp();
-            }
-        else if( aCtrl == iPageDown )
-            {
-            ScrollPageDown();
-            }
-        }
-    }
-    
-EXPORT_C void CFepLayoutScrollableList::UpdatePageInfoL( TInt aCurrentPage, TInt aTotalPage )
-	{
-	if( iPageInfoResID == 0 )
-		return;
-	
-	if (iPageInfo)
-	    {
-        delete iPageInfo;
-        iPageInfo = NULL;
-	    }
-	CArrayFix< TInt >* aInts = new( ELeave ) CArrayFixFlat< TInt >(2);
-	CleanupStack::PushL(aInts);
-
-	aInts->AppendL( aCurrentPage );
-	aInts->AppendL( aTotalPage );
-	iPageInfo = StringLoader::LoadL( iPageInfoResID, *aInts );
-	
-	CleanupStack::PopAndDestroy(aInts);
-	}
-    
-EXPORT_C void CFepLayoutScrollableList::SetImgFrId(TAknsItemID aBgFrId, 
-                                                 TAknsItemID aNaviFrId,
-                                                 TAknsItemID aNaviActiveFrId,
-                                                 TAknsItemID aNaviDimFrId,
-                                                 TAknsItemID aItemFrId,
-                                                 TAknsItemID aItemActiveFrId)
-    {
-    iBgFrId = aBgFrId;
-    iItemFrId = aItemFrId;
-    iItemActiveFrId = aItemActiveFrId;
-    iPageUp->SetImageFrameId( aNaviFrId, aNaviActiveFrId, aNaviDimFrId );
-    iPageDown->SetImageFrameId( aNaviFrId, aNaviActiveFrId, aNaviDimFrId );
-    }
-
-EXPORT_C void CFepLayoutScrollableList::Move(const TPoint& aOffset)
-    {
-    CFepLayoutChoiceList::Move(aOffset);
-    iContentRect.Move( aOffset );
-    for (TInt i = 0; i < iOnePageItemCnt && i < iItemRects.Count(); i++)
-        {
-        iItemRects[i].Move( aOffset );
-        }     
-    iScrollRect.Move( aOffset );
-    iPageInfoRect.Move( aOffset );   
-    iSeperationRect.Move( aOffset );   
-    }
-EXPORT_C void CFepLayoutScrollableList::SetListSeperationRect( const TRect& aRect )
-	{
-	iSeperationRect = aRect;
-	if( iSeperationBmp )
-		{
-		AknIconUtils::SetSize(iSeperationBmp, aRect.Size(), EAspectRatioNotPreserved  );				
-		}
-	if( iSeperationMaskBmp )
-		{
-		AknIconUtils::SetSize(iSeperationMaskBmp, aRect.Size(), EAspectRatioNotPreserved  );					
-		}
-	}    
-	
-
-                                       
-EXPORT_C void CFepLayoutScrollableList::Hide(TBool aFlag)
-	{
-	CFepLayoutPopupWnd::Hide(aFlag);
-	
-#ifdef RD_TACTILE_FEEDBACK
-	if (!aFlag)
-		{
-		iLastPageItemRect = iRect;
-		
-		UpdateFeedbackArea();
-		
-		if (!iPageUp->IsDimmed())
-			{
-			UiLayout()->RegisterFeedbackArea(reinterpret_cast<TInt>(iPageUp),iPageUp->Rect(),iPageUp->TactileFeedbackType());
-			}
-
-		if (!iPageDown->IsDimmed())
-			{
-			UiLayout()->RegisterFeedbackArea(reinterpret_cast<TInt>(iPageDown),iPageDown->Rect(),iPageDown->TactileFeedbackType());	
-			}
-		}
-	else
-	    {
-        if (!iPageUp->IsDimmed())
-            {
-            UiLayout()->DeRegisterFeedbackArea(reinterpret_cast<TInt>(iPageUp),iPageUp->Rect());
-            }
-
-        if (!iPageDown->IsDimmed())
-            {
-            UiLayout()->DeRegisterFeedbackArea(reinterpret_cast<TInt>(iPageDown),
-                                               iPageDown->Rect());
-            }
-	    }
-#endif // RD_TACTILE_FEEDBACK	
-	}
-	
-#ifdef RD_TACTILE_FEEDBACK	
-void CFepLayoutScrollableList::UpdateFeedbackArea()
-	{
-	// calculate total height of all aviliable items in current page
-	TInt curPageItemCount = 0;
-    for (TInt i = iCurrentPage * iOnePageItemCnt; 
-         i < (iCurrentPage + 1) * iOnePageItemCnt && i < ItemArray().Count();
-         i++)
-        {
-        curPageItemCount++;
-        }
-        
-	TRect itemRect(TPoint(iItemRects[0].iTl), 
-	     TSize(iItemRects[0].Width(), iItemRects[0].Height() * curPageItemCount));
-	
-	UiLayout()->ChangeFeedbackArea(reinterpret_cast<TInt>(this),itemRect,iLastPageItemRect);        
-	iLastPageItemRect = itemRect;
-	}
-#endif // RD_TACTILE_FEEDBACK	
-// End Of File
--- a/textinput/peninputcommonctrls/src/peninputselectionlist/peninputselectionlist.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,426 +0,0 @@
-/*
-* 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:
-*
-*/
-#include <barsread.h>
-#include <coemain.h>
-#include <AknsItemID.h>
-#include <AknsUtils.h>
-#include <AknUtils.h>
-#include <peninputlayout.h>
-#include <skinlayout.cdl.h>
-#include <AknsDrawUtils.h>
-
-#include "peninputselectionlist.h"
-
-// constant definition
-const TInt KInvalidResId = -1;
-const TInt KInvalidBmp = -1;
-const TInt KInvalidItemIndex = -1;
-
-EXPORT_C CPenInputSelectionList* CPenInputSelectionList::NewL(CFepUiLayout* aUiLayout,
-                                                              TInt aControlId,
-                                                              TPoint aTopLeftPoint,
-                                                              TSize aItemSize,
-                                                              TInt aItemHorizontalMargin)
-    {
-    CPenInputSelectionList* self = new (ELeave) CPenInputSelectionList(aUiLayout,
-                                                                       aControlId,
-                                                                       aTopLeftPoint,
-                                                                       aItemSize,
-                                                                       aItemHorizontalMargin);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-EXPORT_C CPenInputSelectionList::~CPenInputSelectionList()
-    {
-    iItemList.Reset();
-    iItemList.Close();
-
-    iBmpList.ResetAndDestroy();
-    iBmpList.Close();
-    }
-
-void CPenInputSelectionList::RecalculateCtrlRect()
-    {
-    if (iItemList.Count() == 0)
-        {
-        SetRect(TRect(0, 0, 0, 0));
-        }
-    else
-        {
-        SetRect(TRect(iItemList[0].iRect.iTl,
-                iItemList[iItemList.Count() - 1].iRect.iBr));
-        }
-    }
-
-EXPORT_C void CPenInputSelectionList::SizeChanged(TPoint aTopLeftPoint,
-                                                  TSize aItemSize,
-                                                  TInt aItemHorizontalMargin)
-    {
-    iTopLeftPoint = aTopLeftPoint;
-    iItemSize = aItemSize;
-    iItemHorizontalMargin = aItemHorizontalMargin;
-
-    for (TInt i = 0; i < iItemList.Count(); i++)
-        {
-        iItemList[i].iRect = TRect(TPoint(aTopLeftPoint.iX,
-                                          aTopLeftPoint.iY + 
-                                          i * (aItemHorizontalMargin + iItemSize.iHeight)),
-                                   aItemSize);
-        }
-
-    RecalculateCtrlRect();
-    }
-
-EXPORT_C void CPenInputSelectionList::SetItemsL(const RPointerArray<HBufC>& aItemList)
-    {
-    Hide(ETrue);
-
-    iItemList.Reset();
-
-    for (TInt i = 0; i < aItemList.Count(); i++)
-        {
-        SItem item(TRect(TPoint(iTopLeftPoint.iX,
-                               iTopLeftPoint.iY + i * (iItemHorizontalMargin + iItemSize.iHeight)),
-                         iItemSize),
-                   *aItemList[i]);
-        iItemList.AppendL(item);
-        }
-
-    RecalculateCtrlRect();
-    }
-
-EXPORT_C void CPenInputSelectionList::AddItemL(const TDesC& aItem)
-    {
-    SItem item(TRect(TPoint(iTopLeftPoint.iX,
-                            iTopLeftPoint.iY + iItemList.Count() * (iItemHorizontalMargin + 
-                            iItemSize.iHeight)),iItemSize), aItem);
-    iItemList.AppendL(item);
-
-    RecalculateCtrlRect();
-    }
-
-EXPORT_C void  CPenInputSelectionList::RemoveItem(TInt aItemIndex)
-    {
-    if (aItemIndex < 0 || aItemIndex >= iItemList.Count())
-        {
-        return;
-        }
-    
-    iItemList.Remove(aItemIndex);
-    
-    for (TInt i = aItemIndex; i < iItemList.Count(); i++)
-        {
-        iItemList[i].iRect.Move(-iItemHorizontalMargin, 0);
-        }
-    
-    RecalculateCtrlRect();
-    }
-
-EXPORT_C void CPenInputSelectionList::RemoveAllItems()
-    {
-    iItemList.Reset();
-    RecalculateCtrlRect();
-    }
-
-EXPORT_C void CPenInputSelectionList::ConstructFromResourceL()
-    {
-    if (iResourceId == KInvalidResId)
-    	{
-    	User::Leave(KErrArgument);
-    	}
-   
-    iBmpList.ResetAndDestroy();
-    
-    TResourceReader reader;
-    CCoeEnv::Static()->CreateResourceReaderLC(reader, iResourceId);
-
-    TPtrC bmpFileName = reader.ReadTPtrC();
-    TInt imgMajorSkinId = reader.ReadInt32();
-    
-    TAknsItemID id;
-    
-    for (TInt i = 0; i < EBmpLastType + 1; i+=2)
-        {
-        TInt bmpid = reader.ReadInt16();
-        TInt maskid = reader.ReadInt16();
-        TInt minorskinid = reader.ReadInt16();
-
-        id.Set(imgMajorSkinId, minorskinid);
-
-        CFbsBitmap* bmp = NULL;
-        CFbsBitmap* maskbmp = NULL;
-
-        if (bmpid != KInvalidBmp)
-            {
-            if (maskid != KInvalidBmp)
-                {
-        		AknsUtils::CreateIconL(AknsUtils::SkinInstance(),
-        		                       id,
-        		                       bmp,
-        		                       maskbmp,
-        		                       bmpFileName,
-        		                       bmpid,
-        		                       maskid);
-
-                AknIconUtils::SetSize(maskbmp, iItemSize, EAspectRatioNotPreserved);
-                }
-            else
-                {
-        	    AknsUtils::CreateIconL(AknsUtils::SkinInstance(),
-        	                           id,
-        	                           bmp,
-        	                           bmpFileName,
-        	                           bmpid);
-                }
-
-            AknIconUtils::SetSize(bmp, iItemSize, EAspectRatioNotPreserved);
-            }
-
-        iBmpList.AppendL(bmp);
-        iBmpList.AppendL(maskbmp);
-        }
-
-    CleanupStack::PopAndDestroy(); // reader
-    }
-
-EXPORT_C void CPenInputSelectionList::SetTextProperty(const CFont* aFont,
-                                                      TRgb aFontColor)
-    {
-    iFont = aFont;
-    iFontColor = aFontColor;
-
-    iBaselineOffset = iItemSize.iHeight/2 + aFont->AscentInPixels()/2;
-    }
-
-TInt CPenInputSelectionList::HitTest(const TPoint& aPoint)
-    {
-    if (!Rect().Contains(aPoint))
-        {
-        return KErrGeneral;
-        }
-        
-    for (TInt i = 0; i < iItemList.Count(); i++)
-        {
-        if (iItemList[i].iRect.Contains(aPoint))
-            {
-            return i;
-            }
-        }
-    
-    return KErrNotFound;    
-    }
-
-EXPORT_C CFepUiBaseCtrl* CPenInputSelectionList::HandlePointerDownEventL(const TPoint& aPoint)
-    {
-    CFepUiBaseCtrl::HandlePointerDownEventL(aPoint);
-
-    TInt index = HitTest(aPoint);
-    
-    if (index >= 0)
-        {
-        if (index != iFocusItemIndex)
-            {
-            TInt prev = iFocusItemIndex;
-            iFocusItemIndex = index;
-            
-            if (prev != KInvalidItemIndex)
-                {
-                DrawItem(prev);
-                }
-            
-            DrawItem(iFocusItemIndex);
-            }
-        }
-    else if (index == KErrGeneral)
-        {
-        SetPointerDown(EFalse);
-        CloseWindow();
-        }
-    
-    return this;    
-    }
-
-EXPORT_C CFepUiBaseCtrl* CPenInputSelectionList::HandlePointerUpEventL(const TPoint& aPoint)
-    {
-    CFepUiBaseCtrl::HandlePointerUpEventL(aPoint);
-    
-    TInt index = HitTest(aPoint);
-    
-    if (index >= 0)
-        {
-        CloseWindow();
-        
-        if (iFocusItemIndex != KInvalidItemIndex)
-            {
-            TPtrC ptr;
-            ptr.Set(reinterpret_cast<TText*>(&iFocusItemIndex), sizeof(TInt)/sizeof(TText));
-            ReportEvent(iEventId, ptr);
-            }
-        }
-    
-    iFocusItemIndex = KInvalidItemIndex;
-
-    return this;    
-    }
-    
-EXPORT_C CFepUiBaseCtrl* CPenInputSelectionList::HandlePointerMoveEventL(const TPoint& aPoint)
-    {
-    CFepUiBaseCtrl::HandlePointerMoveEventL(aPoint);
-
-    if (PointerDown())
-        {
-        TInt index = HitTest(aPoint);
-
-        if (index != iFocusItemIndex && index != KInvalidItemIndex)
-            {
-            TInt prev = iFocusItemIndex;
-            iFocusItemIndex = index;
-        
-            if( prev != -1 )
-                {
-                DrawItem(prev);
-                }
-
-            DrawItem(iFocusItemIndex);
-            }
-        }
-
-    return this;
-    }
-
-EXPORT_C void CPenInputSelectionList::Display()
-    {
-    //Hide(EFalse);
-    BringToTop();
-    Draw();
-    }
-
-EXPORT_C void CPenInputSelectionList::CloseWindow()
-    {
-    Hide(ETrue);
-    RemoveAllItems();
-    }
-
-CPenInputSelectionList::CPenInputSelectionList(CFepUiLayout* aUiLayout,
-                                               TInt aControlId,
-                                               TPoint aTopLeftPoint,
-                                               TSize aItemSize,
-                                               TInt aItemHorizontalMargin)
-    :CFepUiBaseCtrl(TRect(0, 0, 0, 0), aUiLayout, aControlId),
-     iTopLeftPoint(aTopLeftPoint),
-     iItemSize(aItemSize),
-     iItemHorizontalMargin(aItemHorizontalMargin),
-     iFocusItemIndex(KInvalidItemIndex),
-     iFrId(KAknsIIDQsnFrPopupSub),
-     iCenterFrId(KAknsIIDQsnFrPopupCenterSubmenu)
-    {
-    SetControlType(EUserCtrlBase | ECtrlBaseCtrl);
-    }
-
-void CPenInputSelectionList::ConstructL()
-    {
-    BaseConstructL();
-    Hide(ETrue);
-    }
-
-void CPenInputSelectionList::Draw()
-    {
-	if(!AbleToDraw())
-        return;
-
-    for (TInt i = 0; i < iItemList.Count(); i++)
-        {
-        DrawItem(i);
-        }
-        
-    UiLayout()->UpdateArea(this, this->Rect(), EFalse);
-    }
-
-void CPenInputSelectionList::DrawItem(TInt aItemIndex)
-    {
-    CFbsBitGc* gc = static_cast<CFbsBitGc*>(BitGc());        
-    
-    //mask bitmaps
-    gc->Activate( MaskBitmapDevice() );
-
-    gc->SetBrushStyle( CGraphicsContext::ESolidBrush );
-    gc->SetBrushColor(TRgb(KOpaqueColor));//Non transparent at all
-    gc->SetPenStyle(CGraphicsContext::ESolidPen );
-    gc->SetPenSize(PenSize());
-    gc->SetPenColor(TRgb(KOpaqueColor) );
-    gc->DrawRect(iItemList[aItemIndex].iRect);
-
-    // ----- draw bitmaps -----
-    gc->Activate(BitmapDevice());   
-
-	// draw frame
-	MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-
-    TRect outerRect;
-    TRect innerRect;
-    CalculateFrameRects( iItemList[aItemIndex].iRect, outerRect, innerRect);
-
-    AknsDrawUtils::DrawFrame(
-	    skin, *gc, 
-	    outerRect, innerRect, 
-	    iFrId, iCenterFrId); 
-
-    // draw text
-    if (iTextLineSet)
-        {
-        TAknLayoutText textLayout;
-        textLayout.LayoutText(iItemList[aItemIndex].iRect, 
-                              iTextLine);
-        textLayout.DrawText(*gc, iItemList[aItemIndex].iText);
-        }
-    else if (iFont)
-        {
-        gc->UseFont(iFont);
-
-        gc->SetBrushStyle(CGraphicsContext::ENullBrush);
-        gc->SetBrushColor(KRgbBlack);
-        gc->SetPenColor(iFontColor);
-        gc->SetPenStyle(CGraphicsContext::ESolidPen);
-        gc->SetPenSize(PenSize());
-        
-        gc->DrawText(iItemList[aItemIndex].iText,
-                     iItemList[aItemIndex].iRect,
-                     iBaselineOffset,
-                     CGraphicsContext::ECenter);
-
-        gc->DiscardFont();
-        }    
-    }
-void CPenInputSelectionList::CalculateFrameRects( const TRect aRect,
-												  TRect& aOuterRect, 
-												  TRect& aInnerRect ) const
-    {
-    TRect windowRect = aRect;
-    
-    TAknLayoutRect topLeft;
-    topLeft.LayoutRect(windowRect, SkinLayout::Submenu_skin_placing_Line_2());
-
-    TAknLayoutRect bottomRight;
-    bottomRight.LayoutRect(windowRect, SkinLayout::Submenu_skin_placing_Line_5());
-
-    aOuterRect = TRect(topLeft.Rect().iTl, bottomRight.Rect().iBr);
-    aInnerRect = TRect(topLeft.Rect().iBr, bottomRight.Rect().iTl);
-    }
-// End Of File
--- a/textinput/peninputcommonctrls/src/peninputvkbctrl/peninputvkbctrlext.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,393 +0,0 @@
-/*
-* Copyright (c) 2005-2007 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:  vkb control extension
-*
-*/
-
-
-// System includes
-#include <barsread.h>
-#include <peninputlayout.h>
-#include <AknIconUtils.h>
-#include <AknsUtils.h>
-#include <coemain.h>
-
-// User includes
-#include "peninputvkbctrlext.h"
-#include "peninputvkbctrllayout.h"
-
-// Constants
-const TUint32 KDefaultTextColor = 0x000000;
-const TInt32 KInvalidResId = -1;
-const TInt KInvalidImg = -1 ;
-// ======== MEMBER FUNCTIONS ========
-
-
-
-// --------------------------------------------------------------------------
-// CPeninputVkbCtrlExt::CPeninputVkbCtrlExt
-// (other items were commented in a header)
-// --------------------------------------------------------------------------
-//
-EXPORT_C CPeninputVkbCtrlExt::CPeninputVkbCtrlExt( const TRect& aRect,
-    CFepUiLayout* aUiLayout, TInt aControlId, const TFontSpec& aFontSpec,TBool aIrregular )
-    : CVirtualKeyboard( aRect, aUiLayout, aControlId, aFontSpec, aIrregular )
-    {
-    }
-
-// --------------------------------------------------------------------------
-// CPeninputVkbCtrlExt::NewL
-// (other items were commented in a header)
-// --------------------------------------------------------------------------
-//
-EXPORT_C CPeninputVkbCtrlExt* CPeninputVkbCtrlExt::NewL( const TRect& aRect,
-    CFepUiLayout* aUiLayout, TInt aControlId, const CFont* aFont,TBool aIrregular)
-    {
-    TFontSpec fontSpec;
-    
-    CPeninputVkbCtrlExt* vkb = new (ELeave)  
-        CPeninputVkbCtrlExt( aRect, aUiLayout, aControlId, fontSpec,aIrregular );
-    CleanupStack::PushL( vkb );
-    vkb->ConstructL();
-    vkb->SetFont( aFont );
-    CleanupStack::Pop( vkb );
-    
-    return vkb;
-    }
-            
-// --------------------------------------------------------------------------
-// CPeninputVkbCtrlExt::~CPeninputVkbCtrlExt
-// (other items were commented in a header)
-// --------------------------------------------------------------------------
-//
-EXPORT_C CPeninputVkbCtrlExt::~CPeninputVkbCtrlExt()
-    {
-    Reset();
-    if( iResourceId == KInvalidImg )
-    	{
-		SetBackgroundBmp( NULL );
-		SetBackgroundMaskBmp( NULL );    		
-    	}
-    }
-
-// --------------------------------------------------------------------------
-// CPeninputVkbCtrlExt::SizeChanged
-// (other items were commented in a header)
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputVkbCtrlExt::SizeChanged( const TInt aUnitWidth,
-                                                const TInt aUnitHeight,
-                                                const TPoint& aLeftTopPoint )
-    {
-    iUnitWidth = aUnitWidth;
-    iUnitHeight = aUnitHeight;
-    iLeftTopPoint = aLeftTopPoint;
-    
-    if ( iVkbLayoutInfo )
-        {        
-        // 1.Reset the size and position of Vkb ctrl and keys
-        TRect rect = TRect( iLeftTopPoint, TSize( iUnitWidth * iVkbLayoutInfo->Columns(),
-                                                  iUnitHeight * iVkbLayoutInfo->Rows() ) );
-        SetRect( rect );
-            
-        // 2.Move all keys(Needn't change size, because it has been 
-        }
-    }
-    
-// --------------------------------------------------------------------------
-// CPeninputVkbCtrlExt::SizeChanged
-// (other items were commented in a header)
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputVkbCtrlExt::SizeChanged( const TRect& aRect )
-    {
-    SetRect( aRect );
-    }
-    
-    
-// CPeninputVkbCtrlExt::ReorganizeVkbKeys
-// (other items were commented in a header)
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputVkbCtrlExt::ReorganizeVkbKeys(
-    CPeninputVkbLayoutInfo* aVkbLayoutInfo )
-    {           
-    Reset();
-
-    iVkbLayoutInfo = aVkbLayoutInfo;
-
-    TRect rect = TRect( iLeftTopPoint, TSize( iUnitWidth * iVkbLayoutInfo->Columns(),
-                                              iUnitHeight * iVkbLayoutInfo->Rows() ) );
-	if( iResourceId != KInvalidImg )
-		{
-		if( BackgroundBmp() && BackgroundBmp()->SizeInPixels() != Rect().Size() )                                              
-			AknIconUtils::SetSize(BackgroundBmp(), Rect().Size(), EAspectRatioNotPreserved);
-		if( BkMaskBmp() && BkMaskBmp()->SizeInPixels() != Rect().Size() ) 
-			AknIconUtils::SetSize(BkMaskBmp(), Rect().Size(), EAspectRatioNotPreserved);
-		}
-	else
-		{		
-	    if ( iVkbLayoutInfo->BgBmp() )
-	        {	        
-	        SetBackgroundBmp( iVkbLayoutInfo->BgBmp() ) ;
-	        }
-	    
-	    if ( iVkbLayoutInfo->BgMaskBmp() )
-	        {
-	        SetBackgroundMaskBmp( iVkbLayoutInfo->BgMaskBmp() );
-	        }			
-		}	                                       
-//    SetRect( rect );
-            
-    // According the information in vkbLayout to construct all keys and
-    // then add into the keys.
-/*    
-    if ( iVkbLayoutInfo->BgBmp() )
-        {
-        TRAP_IGNORE( SetBackgroundBitmapL( iVkbLayoutInfo->BgBmp() ) );
-        }
-    
-    if ( iVkbLayoutInfo->BgMaskBmp() )
-        {
-        TRAP_IGNORE( SetBackgroundMaskBitmapL( iVkbLayoutInfo->BgMaskBmp() ) );
-        }
-*/
-    if ( iVkbLayoutInfo->DimBmp() )
-        {
-        SetDimKeyBmp( iVkbLayoutInfo->DimBmp() );
-        }
-    
-    if ( iVkbLayoutInfo->DimMaskBmp() )
-        {
-        SetDimKeyMaskBmp( iVkbLayoutInfo->DimMaskBmp() );
-        }
-
-    TInt count = iVkbLayoutInfo->HighlightBmps().Count();
-    
-    TRAP_IGNORE(
-    for ( TInt i = 0; i < count; i++ )
-        {
-        AddKeyHighLightBitmapL(iVkbLayoutInfo->HighlightBmps()[i]);
-        }
-        );
-        
-    count = iVkbLayoutInfo->HighlightMaskBmps().Count();
-
-    TRAP_IGNORE(
-        for ( TInt i = 0; i < count; i++ )
-            {
-            AddKeyHighLightMaskBitmapL(iVkbLayoutInfo->HighlightMaskBmps()[i]);
-            }
-        );
-    
-    count = iVkbLayoutInfo->KeyInfoList().Count();
-    TRAP_IGNORE(
-    for ( TInt i = 0; i < count; i++ )
-        {
-        iVkbLayoutInfo->KeyInfoList()[i]->Key()->SetDimmed( EFalse );
-        AddKeyL( iVkbLayoutInfo->KeyInfoList()[i]->Key() );
-        }
-    );
-   
-    TRgb textColor;
-    TInt error = AknsUtils::GetCachedColor(AknsUtils::SkinInstance(),
-                                           textColor,
-                                           KAknsIIDQsnTextColors,
-                                           EAknsCIQsnTextColorsCG59);
-    if (error != KErrNone)
-        {
-    	textColor = TRgb( KDefaultTextColor );
-        }  
-    SetFontColor( textColor );
-    
-    Draw();
-    }
-
-// --------------------------------------------------------------------------
-// CPeninputVkbCtrlExt::Reset
-// (other items were commented in a header)
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputVkbCtrlExt::Reset()
-    {
-    const RPointerArray<CVirtualKey>& keys = KeyArray();
-    for(TInt i = keys.Count() - 1 ; i >= 0 ; --i)    
-        {
-        RemoveKey(keys[i]);
-        }
-    
-    const RPointerArray<CFbsBitmap>& bmps = KeyHighlightBmpList();
-    for(TInt i = bmps.Count() - 1 ; i >= 0 ; --i)
-        {
-        RemoveKeyHighLightBitmap(i);
-        }
-
-    const RPointerArray<CFbsBitmap>& maskbmps = KeyHighlightMaskBmpList();    
-    for(TInt i = maskbmps.Count() - 1 ; i >= 0 ; --i)
-        {
-        RemoveKeyHighLightMaskBitmap(i);
-        }    
-            
-    SetDimKeyBmp( NULL );
-    SetDimKeyMaskBmp( NULL );    
-    
-    iVkbLayoutInfo = NULL;
-    }
-
-// --------------------------------------------------------------------------
-// CPeninputVkbCtrlExt::Move
-// (other items were commented in a header)
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputVkbCtrlExt::Move( const TPoint& aOffset )
-    {
-    TRect rect = Rect();
-    rect.Move( aOffset );
-    SetRect( rect );     
-    }
-    
-// --------------------------------------------------------------------------
-// CPeninputVkbCtrlExt::DimKeys
-// (other items were commented in a header)
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputVkbCtrlExt::DimKeys( const HBufC* aPermitted )
-    {
-    TInt count = iVkbLayoutInfo->KeyInfoList().Count();
-    
-    for ( TInt i = 0; i < count ; i++ )
-        {
-        TChar ch = TChar( (TUint)( KeyArray()[i]->KeyCode() ) );
-        TInt index = aPermitted->Locate( ch ) ;
-        
-        if ( index == KErrNotFound )
-            {
-            DimKey( KeyArray()[i], ETrue );
-            }     
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CPeninputVkbCtrlExt::DimKeySet
-// (other items were commented in a header)
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputVkbCtrlExt::DimKeySet( const HBufC* aSet, TBool aDim )
-    {
-    TInt keyCount = iVkbLayoutInfo->KeyInfoList().Count();
-    TInt setCount = const_cast<HBufC*>(aSet)->Des().Length();
-    TInt findNum = 0;
-    
-    for ( TInt i = 0; i < keyCount ; i++ )
-        {
-        TChar ch = TChar( (TUint)( KeyArray()[i]->KeyCode() ) );
-        TInt index = aSet->Locate( ch ) ;
-        
-        if ( index != KErrNotFound )
-            {
-            findNum++;
-            DimKey( KeyArray()[i], aDim );
-            }     
-        
-        if ( findNum == setCount )
-            {
-            break;
-            }
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CPeninputVkbCtrlExt::CancelDims
-// (other items were commented in a header)
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputVkbCtrlExt::CancelDims()
-    {
-    TInt count = iVkbLayoutInfo->KeyInfoList().Count();
-    
-    for ( TInt i = 0; i < count ; i++ )
-        {
-        DimKey( KeyArray()[i], EFalse );
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CPeninputVkbCtrlExt::ConstructFromResourceL
-// (other items were commented in a header)
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputVkbCtrlExt::ConstructFromResourceL()
-	{
-	if (iResourceId == KInvalidResId)
-		{
-	    return;
-		}
-	
-	// Release original resource
-    if( BackgroundBmp() )
-    	{
-    	CFbsBitmap* bkBmp = BackgroundBmp();
-    	delete bkBmp;	
-    	SetBackgroundBmp( NULL );
-    	}
-    if( BkMaskBmp() )
-    	{
-    	CFbsBitmap* bkMaskBmp = BkMaskBmp();
-    	delete bkMaskBmp;
-		SetBackgroundMaskBmp( NULL );
-    	}    
-    		
-    TResourceReader resReader;
-    CCoeEnv::Static()->CreateResourceReaderLC( resReader, iResourceId );                                             
-     
-    TPtrC bmpFileName = resReader.ReadTPtrC();
-    TInt32 imgMajorSkinId = resReader.ReadInt32();
-
-    TAknsItemID id;
-    TInt skinitemid;
-    
-    MAknsSkinInstance* skininstance = AknsUtils::SkinInstance();
-    const TInt16 bmpId = resReader.ReadInt16();
-    const TInt16 bmpMskId = resReader.ReadInt16();
-    skinitemid = resReader.ReadInt16();   
-    id.Set(TInt(imgMajorSkinId), skinitemid);
-	
-    if (bmpId != KInvalidImg)
-    	{
-    	CFbsBitmap* backgroundImg = NULL;
-    	CFbsBitmap* backgroundMaskImg = NULL;
-        if (bmpMskId != KInvalidImg)
-            {
-            AknsUtils::CreateIconL(skininstance, 
-                                   id,
-                                   backgroundImg,
-                                   backgroundMaskImg,
-                                   bmpFileName,
-                                   bmpId,
-                                   bmpMskId);
-            }
-        else
-            {
-            AknsUtils::CreateIconL(skininstance,
-                                   id,
-                                   backgroundImg,
-                                   bmpFileName,
-                                   bmpId);
-            }
-       
-        SetBackgroundBmp( backgroundImg );
-        SetBackgroundMaskBmp( backgroundMaskImg );           
-    	}
-    CleanupStack::PopAndDestroy( 1 );		
-	}
--- a/textinput/peninputcommonctrls/src/peninputvkbctrl/peninputvkbctrllayout.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,902 +0,0 @@
-/*
-* 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:  Implementation of button
-*
-*/
-
-
-// system includes
-#include <barsread.h>
-#include <AknIconUtils.h>
-#include <coemain.h>
-#include <AknsUtils.h>
-
-// user includes
-#include "peninputvkbctrllayout.h"
-#include "peninputvkbctrlext.h"
-
-// constants
-const TInt KInvalidBmp = -1 ;
-
-
-// ======== MEMBER FUNCTIONS ========
-   
-// ---------------------------------------------------------------------------
-// CAknFepCtrlVkbLayout::CAknFepCtrlVkbLayout
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-
-  
-CAknFepCtrlVkbLayout::CAknFepCtrlVkbLayout()
-    : iFirstTimeConstruct(ETrue), iResourceId( -1 ), iVkbLayoutId( -1 )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlVkbLayout::NewL
-// Two-phased constructor.
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CAknFepCtrlVkbLayout* CAknFepCtrlVkbLayout::NewL()
-    {
-    CAknFepCtrlVkbLayout* self = NewLC();
-    CleanupStack::Pop(self);
-    
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlVkbLayout::NewLC
-// Two-phased constructor.
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CAknFepCtrlVkbLayout* CAknFepCtrlVkbLayout::NewLC()
-    {
-    CAknFepCtrlVkbLayout* self = new (ELeave) CAknFepCtrlVkbLayout();
-    CleanupStack::PushL(self);
-    self->ConstructL();
-
-    return self;
-    }    
- 
-// ---------------------------------------------------------------------------
-// CAknFepCtrlVkbLayout::Reset
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlVkbLayout::Reset()
-    {
-    iVkbLayoutId = -1;
-    iFirstTimeConstruct = ETrue;
-    }
-    
-// ---------------------------------------------------------------------------
-// CAknFepCtrlVkbLayout::ConstructL
-// Two-phased constructor.
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-void CAknFepCtrlVkbLayout::ConstructL()
-    {
-    
-    }
-    
-// -----------------------------------------------------------------------------
-// Destructor.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CAknFepCtrlVkbLayout::~CAknFepCtrlVkbLayout()
-    {
-    iVkbLayoutInfoList.ResetAndDestroy();
-    iVkbLayoutInfoList.Close();
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlVkbLayout::SetVkbKeyboard
-// Two-phased constructor.
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C void CAknFepCtrlVkbLayout::SetVkbKeyboard( 
-    CPeninputVkbCtrlExt* aVkbCtrl )
-    {
-    iVkbCtrl = aVkbCtrl;
-    }
-
-EXPORT_C void CAknFepCtrlVkbLayout::SetIrregularResourceId(TInt32 aResId)
-    {
-    iIrregularResId = aResId;
-    }    
-    
-EXPORT_C void CAknFepCtrlVkbLayout::SetNonIrregularResourceId(TInt32 aResId)
-    {
-    iNonIrregularResId = aResId;
-    }    
-    
-
-EXPORT_C void CAknFepCtrlVkbLayout::ConstructFromIrregularResourceL()          
-    {
-    if ( iIrregularResId < 0 )
-        {
-        return;
-        }
-    
-    TResourceReader reader;
-    
-    CCoeEnv::Static()->CreateResourceReaderLC( reader, iIrregularResId );      
-    
-    TPtrC bmpFileName = reader.ReadTPtrC();
-      
-    for (TInt index = 0; index <= EKeyRightUp; index ++)
-        {
-        CreateIrregularKeyBitmapsL(reader, bmpFileName, (TVirtualKeyIrregularKeyType) index);
-        }
-    
-    // Pop and destroy reader
-    CleanupStack::PopAndDestroy( 1 );
-  	for( TInt i = 0; i < iVkbLayoutInfoList.Count(); i++ )
-   	    {
-   	    iVkbLayoutInfoList[i]->iIrregular = ETrue;
-        }
-     
-    }
-    
-EXPORT_C void CAknFepCtrlVkbLayout::ConstructFromNonIrregularResourceL()          
-    {
-    if ( iNonIrregularResId < 0 )
-        {
-        return;
-        }
-        		
-    TResourceReader reader;
-    
-    CCoeEnv::Static()->CreateResourceReaderLC( reader, iNonIrregularResId );      
-    
-    TPtrC bmpFileName = reader.ReadTPtrC();
-    TInt32 imgMajorSkinId = reader.ReadInt32();
-    TAknsItemID id;
-      
-    for (TInt index = 0; index <= EKeyBmpLastType ; index += 2)
-        { 
-        // Get the image ids and mask ids from resource
-        TInt bmpId = reader.ReadInt16(); 
-        TInt bmpMskId = reader.ReadInt16();
-        
-        // read skin item id
-        const TInt skinitemid = reader.ReadInt16();
-        id.Set(TInt(imgMajorSkinId), skinitemid);
-        
-        if (bmpId != KInvalidBmp)
-            {
-        	CFbsBitmap* bmp = NULL;
-        	CFbsBitmap* maskbmp = NULL;
-
-        	if (bmpMskId != KInvalidBmp)
-        		{
-        		AknsUtils::CreateIconL(AknsUtils::SkinInstance(),
-        		                       id,
-        		                       bmp,
-        		                       maskbmp,
-        		                       bmpFileName,
-        		                       bmpId,
-        		                       bmpMskId);
-        		
-       		    // set maskbmp and size
-                iVkbCtrl->SetNonIrregularKeyBitmapL(TVirtualKeyBmpType(EKeyBmpNormal + index + 1), 
-                                                    maskbmp );
-                }
-            else
-                {
-        	    AknsUtils::CreateIconL(AknsUtils::SkinInstance(),
-        	                           id,
-        	                           bmp,
-        	                           bmpFileName,
-        	                           bmpId);
-                }
-
-            // set bmp and size
-           	iVkbCtrl->SetNonIrregularKeyBitmapL( TVirtualKeyBmpType(EKeyBmpNormal + index), bmp );
-            }       
-        }
-    
-    // Pop and destroy reader
-    CleanupStack::PopAndDestroy( 1 );
-  	for( TInt i = 0; i < iVkbLayoutInfoList.Count(); i++ )
-   	    {
-   	    iVkbLayoutInfoList[i]->iIrregular = EFalse;
-        }
-     
-    }  
-void CAknFepCtrlVkbLayout::CreateIrregularKeyBitmapsL(TResourceReader& reader, TPtrC& bmpFileName, 
-                                                      TVirtualKeyIrregularKeyType aKeyType)
-    {
-    int maskid = 0;
-    for(TInt index = 0; index <= EKeyStateDimmedMask; index += 2)
-        {
-        maskid = index + 1;
-        CreateIrregularKeyBitmapL(reader, bmpFileName, aKeyType ,
-                                 (TVirtualKeyIrregularKeyState)index,
-                                 (TVirtualKeyIrregularKeyState)maskid);         
-        }
-    }
-
-void CAknFepCtrlVkbLayout::CreateIrregularKeyBitmapL(TResourceReader& reader, TPtrC& bmpFileName, 
-                                                    TVirtualKeyIrregularKeyType aKeyType ,
-                                                    TVirtualKeyIrregularKeyState aKeyState, 
-                                                    TVirtualKeyIrregularKeyState aKeyStateMask)
-    {
-    CFbsBitmap* bitmap = NULL;
-    CFbsBitmap* bitmapmaks = NULL;
-    TAknsItemID id;
-    MAknsSkinInstance* skininstance = AknsUtils::SkinInstance();
-    
-    TInt bmpID = reader.ReadInt16();
-    TInt bmpmaskID = reader.ReadInt16();
-    TInt minorskinID = reader.ReadInt16();    
-    id.Set(TInt(EAknsMajorGeneric), minorskinID);
-    
-    if (bmpID > 0)
-        {
-        
-        AknsUtils::CreateIconL( skininstance,
-                                id,
-                                bitmap,
-                                bitmapmaks,
-                                bmpFileName,
-                                bmpID,
-                                bmpmaskID );        
-
-        if (bitmapmaks)
-            {
-            AknIconUtils::DisableCompression(bitmapmaks);
-            }
-            
-        if (bitmap && iVkbCtrl)
-            {
-            iVkbCtrl->AddIrregularKeyBitmapL(aKeyType, aKeyState, bitmap);
-            }
-            
-        if (bitmapmaks && iVkbCtrl)
-            {
-            iVkbCtrl->AddIrregularKeyBitmapL(aKeyType, aKeyStateMask, bitmapmaks);
-            }            
-        }
-    }
-        
-// ---------------------------------------------------------------------------
-// CAknFepCtrlVkbLayout::SetResourceId
-// Set resurce Id
-// ---------------------------------------------------------------------------
-//        
-EXPORT_C void CAknFepCtrlVkbLayout::SetResourceId(TInt32 aResId)
-    {
-    iResourceId = aResId;
-    }
-    
-// ---------------------------------------------------------------------------
-// CAknFepCtrlVkbLayout::ConstructFromResourceL
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlVkbLayout::ConstructFromResourceL()
-	{
-    if ( iResourceId < 0 )
-        {
-        return;
-        }
-    
-    TResourceReader reader;
-    
-    CCoeEnv::Static()->CreateResourceReaderLC( reader, iResourceId );      
-      
-    TInt count = reader.ReadInt16();
-    
-    if( iFirstTimeConstruct )
-        {
-        iVkbLayoutInfoList.ResetAndDestroy();
-        for ( TInt i = 0; i < count; i++ )
-            {
-            CPeninputVkbLayoutInfo* vkbLayoutInfo = 
-                CPeninputVkbLayoutInfo::NewL( reader );
-                
-            if (iVkbCtrl)
-            	{
-            	vkbLayoutInfo->iIrregular = iVkbCtrl->IsIrregularKeyBoard();	
-            	}
-            iVkbLayoutInfoList.Append( vkbLayoutInfo );
-            }
-        }
-    else
-        {
-        // vkb keyboard must reset first, because iKeyInfoList will reset and destroy later
-        
-        if( iVkbCtrl != NULL )
-            {
-            iVkbCtrl->Reset();
-            }
-        
-        for ( TInt i = 0; i < count; i++ )
-            {
-            iVkbLayoutInfoList[i]->ConstructFromResourceL( reader, iVkbCtrl, iVkbLayoutId );
-            iVkbLayoutInfoList[i]->ResetSize( 
-                iVkbLayoutInfoList[i]->UnitWidth(),
-                iVkbLayoutInfoList[i]->UnitHeight(),
-                iVkbLayoutInfoList[i]->UnitCharWidth(),
-                iVkbLayoutInfoList[i]->UnitCharHeight(),
-                iVkbLayoutInfoList[i]->CharLeftTopPoint(),
-                iVkbLayoutInfoList[i]->CharFont() );
-            
-            if (iVkbCtrl)
-            	{                
-                iVkbLayoutInfoList[i]->iIrregular = iVkbCtrl->IsIrregularKeyBoard();
-            	}
-            } 
-        }    
-              
-    // Pop and destroy reader
-    CleanupStack::PopAndDestroy( 1 ); 
-
-    iFirstTimeConstruct = EFalse;
-	}
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlVkbLayout::VkbLayoutInfoList
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C RPointerArray<CPeninputVkbLayoutInfo> CAknFepCtrlVkbLayout::VkbLayoutInfoList()
-    {
-    return iVkbLayoutInfoList;
-    }
-
-// ---------------------------------------------------------------------------
-// CAknFepCtrlVkbLayout::ChangeVkbLayout
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CAknFepCtrlVkbLayout::ChangeVkbLayout( TInt aVkbLayoutId )
-    {
-    if( iVkbLayoutId == aVkbLayoutId )
-        {
-        return;
-        }
-	iVkbLayoutId = aVkbLayoutId;
-	for( TInt i = 0; i < iVkbLayoutInfoList.Count(); i++ )
-	    {
-	    if( aVkbLayoutId == iVkbLayoutInfoList[i]->LayoutID() )
-	        {
-	        iVkbCtrl->ReorganizeVkbKeys( iVkbLayoutInfoList[i] );
-	        
-	        return;
-	        }
-	    }
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputVkbKeyInfo::NewL
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-EXPORT_C CPeninputVkbKeyInfo* CPeninputVkbKeyInfo::NewL( 
-    TResourceReader& aReader )
-    {
-    CPeninputVkbKeyInfo* self = new ( ELeave ) CPeninputVkbKeyInfo();
-
-    CleanupStack::PushL( self );
-    self->ConstructL( aReader );
-    CleanupStack::Pop( self );
-    
-    return self;
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputVkbKeyInfo::~CPeninputVkbKeyInfo
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-EXPORT_C CPeninputVkbKeyInfo::~CPeninputVkbKeyInfo()
-    {
-    delete iKey;
-    iKey = NULL;
-    delete iUnicode;
-    iUnicode = NULL;
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputVkbKeyInfo::ConstructL
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-void CPeninputVkbKeyInfo::ConstructL( TResourceReader& aReader )
-    {
-    ConstructFromResourceL( aReader );
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputVkbKeyInfo::ConstructFromResourceL
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-void CPeninputVkbKeyInfo::ConstructFromResourceL( TResourceReader& aReader )
-    {
-    iUnicode = aReader.ReadHBufCL();
-    iScanCode = aReader.ReadInt16();
-    iBeginRow = aReader.ReadInt16();
-    iBeginColumn = aReader.ReadInt16();
-    iEndRow = aReader.ReadInt16();
-    iEndColumn = aReader.ReadInt16();
-    iHighlightBmpIndex = aReader.ReadInt16();
-    iHighlightMaskBmpIndex = aReader.ReadInt16();
-    TPtrC displayUnicode = aReader.ReadTPtrC();
-
-    TInt baseLine = 0;
-    iKey = CVirtualKey::NewL( *iUnicode, iScanCode, TRect(), 
-                              TRect(), baseLine, iHighlightBmpIndex, iHighlightMaskBmpIndex );
- 	if( displayUnicode.Length() != 0 )
- 		{
- 		iKey->SetDisplayUnicodeL( displayUnicode );
- 		}
-    }
-
-TVirtualKeyIrregularKeyType CPeninputVkbKeyInfo::KeyTypeFromColumn(TInt aColumns)
-    {
-    if (iBeginColumn == 0)
-        {
-        return EKeyLeftDown;
-        }
-        
-    if ((iBeginColumn == aColumns - 1) && (aColumns % 2  == 0))
-        {
-        return EKeyRightUp;
-        }
-        
-    if ((iBeginColumn == aColumns - 1) && (aColumns % 2  == 1))
-        {
-        return EKeyRightDown;
-        }
-        
-    if (iBeginColumn % 2  == 0)
-        {
-        return EKeyMiddleDown;
-        }
- 
-    return EKeyMiddleUp;
-    }
-    
-void CPeninputVkbKeyInfo::SetIrregularKeyType(TInt aColumns)
-    {
-    if (iKey)
-        {
-        iKey->SetIrregualrKeyType(KeyTypeFromColumn(aColumns));
-        }
-    }
-// ------------------------------------------------------------------------
-// CPeninputVkbKeyInfo::CreateKeyL
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-// 
-void CPeninputVkbKeyInfo::CreateKeyL()
-    {
-    TInt baseLine = 0;
-    iKey = CVirtualKey::NewL( *iUnicode, iScanCode, TRect(), 
-                              TRect(), baseLine, iHighlightBmpIndex, iHighlightMaskBmpIndex );
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputVkbLayoutInfo::NewL
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-EXPORT_C CPeninputVkbLayoutInfo* CPeninputVkbLayoutInfo::NewL(
-    TResourceReader& aReader )
-    {
-    CPeninputVkbLayoutInfo* self = NewLC( aReader );
-    CleanupStack::Pop( self );
-    
-    return self;
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputVkbLayoutInfo::NewLC
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-EXPORT_C CPeninputVkbLayoutInfo* CPeninputVkbLayoutInfo::NewLC( 
-    TResourceReader& aReader )
-    {
-    CPeninputVkbLayoutInfo* self = new ( ELeave ) CPeninputVkbLayoutInfo();
-    CleanupStack::PushL( self );
-    self->ConstructL( aReader ); 
-
-    return self;
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputVkbLayoutInfo::GetRealSize
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//  
-EXPORT_C const TSize CPeninputVkbLayoutInfo::GetRealSize( 
-    const TInt aUnitWidth, const TInt aUnitHeight ) const
-    {
-    return TSize( aUnitWidth * iColumns, aUnitHeight * iRows );
-    }
-
-EXPORT_C void CPeninputVkbLayoutInfo::ResetLayoutInfo(const TSize& aSize)
-    {
-    AknIconUtils::SetSize( iBgBmp, aSize, EAspectRatioNotPreserved );
-    AknIconUtils::SetSize( iBgMaskBmp, aSize, EAspectRatioNotPreserved );
-    
-    }
-
-EXPORT_C void CPeninputVkbLayoutInfo::SetKeyInfo(const TInt aRow,
-                                                 const TInt aColumn,
-                                                 const TRect& aKeyRect,
-                                                 const TRect& aCharRect, 
-                                                 const CFont* aFont)
-    {
-    RPointerArray<CPeninputVkbKeyInfo> keyInfoList = KeyInfoList();
-    TInt count = keyInfoList.Count();
-   
-    for (TInt i = 0; i < count; i++ )
-        {
-        if (keyInfoList[i] &&
-            keyInfoList[i]->BeginColumn() == aColumn && 
-            keyInfoList[i]->BeginRow() == aRow)
-            {
-            keyInfoList[i]->Key()->SetRect( aKeyRect );
-        
-            return; 
-            }
-        }
-    }
-
-
-// ------------------------------------------------------------------------
-// CPeninputVkbLayoutInfo::ResetSize
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//    
-EXPORT_C void CPeninputVkbLayoutInfo::ResetSize( 
-    const TInt aUnitWidth, 
-    const TInt aUnitHeight, 
-    const TInt aUnitCharWidth, 
-    const TInt aUnitCharHeight, 
-    const TPoint& aCharLeftTopPoint,
-    const CFont* aFont )
-    {
-    iUnitWidth = aUnitWidth;
-    iUnitHeight = aUnitHeight;
-    iUnitCharWidth = aUnitCharWidth;
-    iUnitCharHeight = aUnitCharHeight;
-    iCharLeftTopPoint = aCharLeftTopPoint;
-    iFont = aFont;
-    
-    iLastTopLeft = TPoint( 0, 0 );
-
-    // 1.Resize bk bmp and mask bmp
-    AknIconUtils::SetSize( iBgBmp, 
-        TSize( aUnitWidth * iColumns, aUnitHeight * iRows ), 
-        EAspectRatioNotPreserved );
-    AknIconUtils::SetSize( iBgMaskBmp, 
-        TSize( aUnitWidth * iColumns, aUnitHeight * iRows ), 
-        EAspectRatioNotPreserved );
-
-    // 2.Resize dim bmp and mask bmp
-    AknIconUtils::SetSize( iDimBmp, TSize( aUnitWidth, aUnitHeight ), 
-        EAspectRatioNotPreserved );               
-    AknIconUtils::SetSize( iDimMaskBmp, TSize( aUnitWidth, aUnitHeight ), 
-        EAspectRatioNotPreserved );                    
-
-    // 3.Resize all highlight bmp and mask bmp
-    TInt count = iHighlightBmps.Count();
-    TInt i = 0;
-
-    for ( i = 0; i < count; i++ )
-        {
-        AknIconUtils::SetSize( iHighlightBmps[i], 
-            TSize( aUnitWidth, aUnitHeight ), EAspectRatioNotPreserved );             
-        }
-     
-    count = iHighlightMaskBmps.Count();
-    for ( i = 0; i < count; i++ )
-        {
-        AknIconUtils::SetSize( iHighlightMaskBmps[i], 
-            TSize( aUnitWidth, aUnitHeight ), EAspectRatioNotPreserved );                 
-        }
-    
-    // 4.For every key, reset the key rect and char rect
-    RPointerArray<CPeninputVkbKeyInfo> keyInfoList = KeyInfoList();
-    count = keyInfoList.Count();
-    TPoint keyLeftTop;
-    TInt rows;
-    TInt columns;
-    TRect rect;
-    
-    for ( i = 0; i < count; i++ )
-        {
-        if ( keyInfoList[i]->Key() )
-            {
-            if (keyInfoList[i]->BeginColumn() == 0)
-                {
-                keyLeftTop = TPoint( keyInfoList[i]->BeginColumn() * aUnitWidth,
-                                     keyInfoList[i]->BeginRow() * aUnitHeight );
-                }
-            else
-                {
-                keyLeftTop = TPoint( keyInfoList[i]->BeginColumn() * aUnitWidth - 
-                                     6 * keyInfoList[i]->BeginColumn(),
-                                     keyInfoList[i]->BeginRow() * aUnitHeight );
-                }
-                
-            if (!iIrregular)
-                {
-                keyLeftTop = TPoint( keyInfoList[i]->BeginColumn() * aUnitWidth,
-                                     keyInfoList[i]->BeginRow() * aUnitHeight );
-                }
-                            
-
-            rows = keyInfoList[i]->EndRow() - keyInfoList[i]->BeginRow();
-            columns = keyInfoList[i]->EndColumn() 
-                - keyInfoList[i]->BeginColumn();
-            
-            //Set key rect
-            rect = TRect( keyLeftTop, TSize( columns * aUnitWidth, 
-                                             rows * aUnitHeight ) );
-            keyInfoList[i]->Key()->SetRect( rect );
-            }
-        }
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputVkbLayoutInfo::~CPeninputVkbLayoutInfo
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-EXPORT_C CPeninputVkbLayoutInfo::~CPeninputVkbLayoutInfo()
-    {
-    delete iBgBmp;
-    iBgBmp = NULL;
-    delete iBgMaskBmp;
-    iBgMaskBmp = NULL;
-    delete iDimBmp;
-    iDimBmp = NULL;
-    delete iDimMaskBmp;
-    iDimMaskBmp = NULL;
-
-    iHighlightBmps.ResetAndDestroy();
-    iHighlightBmps.Close();
-    
-    iHighlightMaskBmps.ResetAndDestroy();
-    iHighlightMaskBmps.Close();
-    
-    iKeyInfoList.ResetAndDestroy();
-    iKeyInfoList.Close();
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputVkbLayoutInfo::FindKey
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-// 
-EXPORT_C CPeninputVkbKeyInfo* CPeninputVkbLayoutInfo::FindKey( 
-    const TInt aUnicode ) const
-    {
-    const TInt count = iKeyInfoList.Count();
-
-    for ( TInt i = 0; i < count; i++ )
-        {
-        if ( (*iKeyInfoList[i]->Unicode())[0] == aUnicode )
-            {
-            return iKeyInfoList[i];
-            }
-        }
-
-    return NULL;
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputVkbLayoutInfo::MoveKeys
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputVkbLayoutInfo::MoveKeys( const TPoint& aTopLeft )
-    {
-    RPointerArray<CPeninputVkbKeyInfo> keyInfoList = KeyInfoList();
-    const TInt count = keyInfoList.Count();
-    const TPoint difference = aTopLeft - iLastTopLeft;
-    TRect rect;
-
-    for ( TInt i = 0; i < count; i++ )
-        {
-        if ( keyInfoList[i]->Key() )
-            {
-            //Set key rect
-            rect = keyInfoList[i]->Key()->Rect();
-            rect.SetRect( rect.iTl + difference, rect.Size() );
-            keyInfoList[i]->Key()->SetRect( rect );
-            }
-        }
-
-    iLastTopLeft = aTopLeft;
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputVkbLayoutInfo::CPeninputVkbLayoutInfo
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-CPeninputVkbLayoutInfo::CPeninputVkbLayoutInfo() 
-    : iCharLeftTopPoint( TPoint(0,0) )
-    {
-    iLastTopLeft = TPoint( 0, 0 );
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputVkbLayoutInfo::ConstructL
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-void CPeninputVkbLayoutInfo::ConstructL( TResourceReader& aReader )
-    {
-    
-    ConstructFromResourceL( aReader );
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputVkbLayoutInfo::ConstructFromResourceL
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-void CPeninputVkbLayoutInfo::ConstructFromResourceL( TResourceReader& aReader, 
-                                                     CPeninputVkbCtrlExt* aVkbCtrl, 
-                                                     TInt aVkbLayoutId )
-    {
-    delete iBgBmp;
-    iBgBmp = NULL;
-    delete iBgMaskBmp;
-    iBgMaskBmp = NULL;
-    delete iDimBmp;
-    iDimBmp = NULL;
-    delete iDimMaskBmp;
-    iDimMaskBmp = NULL;
-
-    iHighlightBmps.ResetAndDestroy();
-    iHighlightBmps.Close();
-    
-    iHighlightMaskBmps.ResetAndDestroy();
-    iHighlightMaskBmps.Close();
-    
-    iKeyInfoList.ResetAndDestroy();
-    iKeyInfoList.Close();
-    
-    iLayoutID = aReader.ReadInt16();
-
-    // Read the file name of the bmps
-    TPtrC bmpFileName = aReader.ReadTPtrC();
-    TInt32 imgMajorSkinId = aReader.ReadInt32();
-    
-    TInt layoutBmpId = aReader.ReadInt16();
-    TInt layoutBmpMaskId = aReader.ReadInt16();
-    TInt layoutBmpSkinId = aReader.ReadInt16();
-
-    TAknsItemID id;
-    MAknsSkinInstance* skininstance = AknsUtils::SkinInstance();
-    
-    id.Set(TInt( imgMajorSkinId ), layoutBmpSkinId);
-    
-    if ( layoutBmpId != KInvalidBmp)
-    	{
-        if ( layoutBmpMaskId != KInvalidBmp)
-            {           
-            AknsUtils::CreateIconL( skininstance,
-                                    id,
-                                    iBgBmp,
-                                    iBgMaskBmp,
-                                    bmpFileName,
-                                    layoutBmpId,
-                                    layoutBmpMaskId );
-            }
-        else
-            {
-            AknsUtils::CreateIconL( skininstance,
-                                    id,
-                                    iBgBmp,
-                                    bmpFileName,
-                                    layoutBmpId );
-            }
-    	}
-    	
-    TInt dimBmpId = aReader.ReadInt16();
-    TInt dimMaskBmpId = aReader.ReadInt16();
-    TInt dimBmpSkinId = aReader.ReadInt16();
-    
-    id.Set( TInt( imgMajorSkinId ), dimBmpSkinId );
-    
-    if ( dimBmpId != KInvalidBmp )
-        {
-        if ( dimMaskBmpId != KInvalidBmp )
-            {
-            AknsUtils::CreateIconL( skininstance,
-                                    id,
-                                    iDimBmp,
-                                    iDimMaskBmp,
-                                    bmpFileName,
-                                    dimBmpId,
-                                    dimMaskBmpId );
-            }
-        else
-            {
-            AknsUtils::CreateIconL( skininstance,
-                                    id,
-                                    iDimBmp,
-                                    bmpFileName,
-                                    dimBmpId );
-            }
-        }
-
-    iColumns = aReader.ReadInt16();
-    iRows = aReader.ReadInt16();
-
-    TInt i;
-    TInt count = aReader.ReadInt16();
-    TInt bmpId;
-    
-    for ( i = 0; i < count; i++ )
-        {
-        bmpId = aReader.ReadInt16();
-        if ( bmpId != KInvalidBmp )
-            {
-            CFbsBitmap* bmp = AknIconUtils::CreateIconL( bmpFileName, 
-                                                         bmpId );
-            CleanupStack::PushL( bmp );
-            iHighlightBmps.Append( bmp );
-            CleanupStack::Pop( bmp );
-            }
-        }
-
-    count = aReader.ReadInt16();
-    for ( i = 0; i < count; i++ )
-        {
-        bmpId = aReader.ReadInt16();
-        if ( bmpId != KInvalidBmp )
-            {
-            CFbsBitmap* bmp = AknIconUtils::CreateIconL( bmpFileName, bmpId ); 
-            CleanupStack::PushL( bmp );                    
-            iHighlightMaskBmps.Append( bmp );
-            CleanupStack::Pop( bmp );            
-            }
-        }
-
-    count = aReader.ReadInt16();
-    
-    for ( i = 0; i < count; i++ )
-        {
-        CPeninputVkbKeyInfo* keyInfo = CPeninputVkbKeyInfo::NewL( aReader );
-            keyInfo->SetIrregularKeyType(iColumns);
-        iKeyInfoList.Append( keyInfo );
-        }   
-
-    if ( ( iLayoutID == aVkbLayoutId ) && ( aVkbCtrl ) )
-        {   
-        aVkbCtrl->ReorganizeVkbKeys( this );
-        }
-  }
-//  End Of File
--- a/textinput/peninputcommonctrls/srcdata/peninputmodeswitchutils.rss	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-/*
-* 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:  Resource definitions for project peninputgenericitut
-*
-*/
-
-// End Of File
--- a/textinput/peninputcommonctrls/srcdata/peninputmodeswitchutilsnew.rss	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,206 +0,0 @@
-/*
-* 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:  Resource definitions for project peninputgenericitut
-*
-*/
-
-//  RESOURCE IDENTIFIER
-NAME PIMS
-
-#include <eikon.hrh>
-#include <badef.rh>
-#include <aknsconstants.hrh>
-#include <uikon.rh>
-
-#include <peninputcommonctrls.rh>
-#include <peninputmodeswitcher.mbg>
-#include <aknsconstants.hrh>
-#include <peninputcommonctrls.loc>
-
-STRUCT AKN_FEP_POPUP_WINDOW
-    {
-    LTEXT bmpfile="";
-    LONG imgmajorskinid=0xffff;
-    WORD bgbmp=0xffff;
-    WORD bgmaskbmp=0xffff;
-    WORD bgbmpskinid=0xffff;
-    
-    WORD focusbmp=0xffff;
-    WORD focusmaskbmp=0xffff;
-    WORD focusbmpskinid=0xffff;
-    }
-    
-
-//////////////////////////////////////////loc begin/////////////////////////////////
-//  LOCALISATION STRINGS
-
-//d:Text in touch input mode swither list
-//d:virtual ITUT touch input method
-//l:list_single_choice_list_pane_t1
-//r: 5.0   
-//#define qtn_input_switcher_itu_t "Virtual ITU-T"
-
-//d:Text in touch input mode swither list
-//d:full sreen qwerty touch input method
-//l:list_single_choice_list_pane_t1
-//r: 5.0   
-//#define qtn_input_switcher_fs_qwerty "Full Screen Qwerty"
-
-//d:Text in touch input mode swither list
-//d:small virtual key board touch input method
-//l:list_single_choice_list_pane_t1
-//r: 5.0   
-//#define qtn_input_switcher_vkb "VKB"
-
-//d:Text in touch input mode swither list
-//d:Handwritting Recognition touch input method
-//l:list_single_choice_list_pane_t1
-//r: 5.0   
-//#define qtn_input_switcher_hwr "HWR"
-
-//d:Text in touch input mode swither list
-//d:full screen HWR touch input method
-//l:list_single_choice_list_pane_t1
-//r: 5.0   
-//#define qtn_input_switcher_fs_hwr "Full Screen HWR"
-
-
-//d:Text in candidate match selection list
-//d:The last item meaning to enger the spell mode
-//l:list_vitu2_match_list_item_pane_t1
-//r: 5.0   
-//#define qtn_t9_match_selection_list "Spell"
-
-
-//d:column for ICF prompt text
-//l:field_vitu2_entry_pane_t1
-//r: 5.0   
-//#define qtn_colon_in_prompt ":"
-
-
-
-//d:Text in candidate listt
-//d:current page /total pages information
-//l:vitu2_page_scroll_pane_t1
-//r: 5.0   
-//#define qtn_paging_number_match_selection "%0N/%1N"
-
-
-//d:Text for T9 spelling prompt text
-//l:popup_vitu2_query_window_t1
-//r: 5.0   
-//#define qtn_t9_spell_query "Word"
-
-
-// End of File
-//////////////////////////////////////////loc end/////////////////////////////////
-
-#define AKN_FEP_VKB_BMP "z:\\resource\\apps\\peninputmodeswitcher.mbm"
-
-RESOURCE LBUF r_peninputmode_hwr
-    {
-    txt=qtn_input_switcher_hwr;
-    }
-
-RESOURCE LBUF r_peninputmode_fullhwr
-    {
-    txt=qtn_input_switcher_fs_hwr;
-    }
-    
-RESOURCE LBUF r_peninputmode_vkb
-    {
-    txt=qtn_input_switcher_vkb;
-    }
-
-RESOURCE LBUF r_peninputmode_fingeritut
-    {
-    txt=qtn_input_switcher_itu_t;
-    }
-
-RESOURCE LBUF r_peninputmode_fullqwerty
-    {
-    txt=qtn_input_switcher_fs_qwerty;
-    }
-    
-RESOURCE LBUF r_peninput_selection_list_page_num
-    {
-    txt=qtn_paging_number_match_selection;
-    }
-
-RESOURCE LBUF r_peninput_selection_list_spell
-    {
-    txt=qtn_t9_match_selection_list;
-    }
-    
-RESOURCE LBUF r_peninput_spelling_prompt
-    {
-    txt=qtn_t9_spell_query;
-    } 
-    
-RESOURCE LBUF r_peninput_prompt_colon
-    {
-    txt=qtn_colon_in_prompt;
-    }     
-    
-RESOURCE AKN_FEP_INPUTMODE_NAMEARRAY r_peninputmode_names
-    {
-    names=
-        {
-        AKN_FEP_INPUTMODE_NAME
-            {
-            modeid = EPluginInputModeHwr;
-            txt = qtn_input_switcher_hwr;
-            },
-        AKN_FEP_INPUTMODE_NAME
-            {
-            modeid = EPluginInputModeVkb;
-            txt = qtn_input_switcher_vkb;
-            },
-        AKN_FEP_INPUTMODE_NAME
-            {
-            modeid = EPluginInputModeFSQ;
-            txt = qtn_input_switcher_fs_qwerty;
-            },
-        AKN_FEP_INPUTMODE_NAME
-            {
-            modeid = EPluginInputModeItut;
-            txt = qtn_input_switcher_itu_t;
-            },
-        AKN_FEP_INPUTMODE_NAME
-            {
-            modeid = EPluginInputModeFSc;
-            txt = qtn_input_switcher_fs_hwr;
-            },
-        AKN_FEP_INPUTMODE_NAME
-            {
-            modeid = EPluginInputModeFingerHwr;
-            txt = qtn_input_switcher_hwr;
-            }
-        };   
-    }    
-
-RESOURCE AKN_FEP_POPUP_WINDOW peninputmode_switch_choicelist
-    {
-    bmpfile=AKN_FEP_VKB_BMP;
-    imgmajorskinid=EAknsMajorGeneric;
-    bgbmp=EMbmPeninputmodeswitcherQgn_graf_fep_candi_list_sec;   
-    bgmaskbmp=EMbmPeninputmodeswitcherQgn_graf_fep_candi_list_sec_mask;
-    bgbmpskinid=EAknsMinorGenericQgnGrafFepCandiListSec;
-    
-    focusbmp=EMbmPeninputmodeswitcherQgn_graf_fep_candi_list_sel;
-    focusmaskbmp=EMbmPeninputmodeswitcherQgn_graf_fep_candi_list_sel_mask;
-    focusbmpskinid=EAknsMinorGenericQgnGrafFepCandiListSel;
-    }
-
-// End Of File
--- a/textinput/peninputcommonlayout/BWINS/peninputcommonlayoutU.DEF	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,206 +0,0 @@
-EXPORTS
-	??0CPeninputCommonLayout@@IAE@PAVMLayoutOwner@@@Z @ 1 NONAME ; CPeninputCommonLayout::CPeninputCommonLayout(class MLayoutOwner *)
-	??0CPeninputDataConverter@@IAE@XZ @ 2 NONAME ; CPeninputDataConverter::CPeninputDataConverter(void)
-	??0CPeninputDataMgr@@IAE@PAVMPeninputLayoutContext@@@Z @ 3 NONAME ; CPeninputDataMgr::CPeninputDataMgr(class MPeninputLayoutContext *)
-	??0CPeninputLayoutWindow@@IAE@PAVCFepUiLayout@@PAVMPeninputLayoutContext@@@Z @ 4 NONAME ; CPeninputLayoutWindow::CPeninputLayoutWindow(class CFepUiLayout *, class MPeninputLayoutContext *)
-	??0CPeninputUiStateBase@@IAE@PAVMPeninputUiStateMgr@@PAVMPeninputLayoutContext@@@Z @ 5 NONAME ; CPeninputUiStateBase::CPeninputUiStateBase(class MPeninputUiStateMgr *, class MPeninputLayoutContext *)
-	??1CPeninputClientLayoutInfo@@UAE@XZ @ 6 NONAME ; CPeninputClientLayoutInfo::~CPeninputClientLayoutInfo(void)
-	??1CPeninputCommonLayout@@UAE@XZ @ 7 NONAME ; CPeninputCommonLayout::~CPeninputCommonLayout(void)
-	??1CPeninputControlInfo@@UAE@XZ @ 8 NONAME ; CPeninputControlInfo::~CPeninputControlInfo(void)
-	??1CPeninputCtrlPool@@UAE@XZ @ 9 NONAME ; CPeninputCtrlPool::~CPeninputCtrlPool(void)
-	??1CPeninputDataConverter@@UAE@XZ @ 10 NONAME ; CPeninputDataConverter::~CPeninputDataConverter(void)
-	??1CPeninputDataMgr@@UAE@XZ @ 11 NONAME ; CPeninputDataMgr::~CPeninputDataMgr(void)
-	??1CPeninputLayoutConfig@@UAE@XZ @ 12 NONAME ; CPeninputLayoutConfig::~CPeninputLayoutConfig(void)
-	??1CPeninputLayoutWindow@@UAE@XZ @ 13 NONAME ; CPeninputLayoutWindow::~CPeninputLayoutWindow(void)
-	??1CPeninputNumericKepMappingMgr@@UAE@XZ @ 14 NONAME ; CPeninputNumericKepMappingMgr::~CPeninputNumericKepMappingMgr(void)
-	??1CPeninputRangeBarInfo@@UAE@XZ @ 15 NONAME ; CPeninputRangeBarInfo::~CPeninputRangeBarInfo(void)
-	??1CPeninputRangeInfo@@UAE@XZ @ 16 NONAME ; CPeninputRangeInfo::~CPeninputRangeInfo(void)
-	??1CPeninputShiftCapsInfo@@UAE@XZ @ 17 NONAME ; CPeninputShiftCapsInfo::~CPeninputShiftCapsInfo(void)
-	??1CPeninputUiStateBase@@UAE@XZ @ 18 NONAME ; CPeninputUiStateBase::~CPeninputUiStateBase(void)
-	??1CPeninputUiStateMgr@@UAE@XZ @ 19 NONAME ; CPeninputUiStateMgr::~CPeninputUiStateMgr(void)
-	?AddControl@CPeninputCtrlPool@@QAEXPAVCFepUiBaseCtrl@@@Z @ 20 NONAME ; void CPeninputCtrlPool::AddControl(class CFepUiBaseCtrl *)
-	?AddControlInfo@CPeninputClientLayoutInfo@@QAEXPAVCPeninputControlInfo@@@Z @ 21 NONAME ; void CPeninputClientLayoutInfo::AddControlInfo(class CPeninputControlInfo *)
-	?AddNotOwnedControl@CPeninputLayoutWindow@@IAEXPAVCFepUiBaseCtrl@@@Z @ 22 NONAME ; void CPeninputLayoutWindow::AddNotOwnedControl(class CFepUiBaseCtrl *)
-	?AddUiState@CPeninputUiStateMgr@@UAEXPAVCPeninputUiStateBase@@H@Z @ 23 NONAME ; void CPeninputUiStateMgr::AddUiState(class CPeninputUiStateBase *, int)
-	?AnyToInt@CPeninputDataConverter@@SAHPAX@Z @ 24 NONAME ; int CPeninputDataConverter::AnyToInt(void *)
-	?CaseByShiftCapslockStatus@CPeninputLayoutWindow@@AAEHXZ @ 25 NONAME ; int CPeninputLayoutWindow::CaseByShiftCapslockStatus(void)
-	?ChangeButtonStatus@CPeninputLayoutWindow@@IAEXHH@Z @ 26 NONAME ; void CPeninputLayoutWindow::ChangeButtonStatus(int, int)
-	?ChangeClientLayout@CPeninputLayoutWindow@@QAEXH@Z @ 27 NONAME ; void CPeninputLayoutWindow::ChangeClientLayout(int)
-	?ChangeInputLanguageL@CPeninputLayoutWindow@@QAEXH@Z @ 28 NONAME ; void CPeninputLayoutWindow::ChangeInputLanguageL(int)
-	?ChangeLayoutPosition@CPeninputLayoutWindow@@IAEXH@Z @ 29 NONAME ; void CPeninputLayoutWindow::ChangeLayoutPosition(int)
-	?ChangeRange@CPeninputLayoutWindow@@QAEXHHH@Z @ 30 NONAME ; void CPeninputLayoutWindow::ChangeRange(int, int, int)
-	?ChangeVkbLayout@CPeninputLayoutWindow@@QAEXH@Z @ 31 NONAME ; void CPeninputLayoutWindow::ChangeVkbLayout(int)
-	?CombinationToDesc@CPeninputDataConverter@@SAXHIAAVTDes16@@@Z @ 32 NONAME ; void CPeninputDataConverter::CombinationToDesc(int, unsigned int, class TDes16 &)
-	?ConfigInfo@CPeninputLayoutWindow@@QBEPAVCPeninputLayoutConfig@@XZ @ 33 NONAME ; class CPeninputLayoutConfig * CPeninputLayoutWindow::ConfigInfo(void) const
-	?Construct@CPeninputCtrlPool@@IAEXXZ @ 34 NONAME ; void CPeninputCtrlPool::Construct(void)
-	?Construct@CPeninputUiStateBase@@IAEXXZ @ 35 NONAME ; void CPeninputUiStateBase::Construct(void)
-	?ConstructFromResourceL@CPeninputClientLayoutInfo@@QAEXAAVTResourceReader@@@Z @ 36 NONAME ; void CPeninputClientLayoutInfo::ConstructFromResourceL(class TResourceReader &)
-	?ConstructFromResourceL@CPeninputLayoutWindow@@MAEXAAVTResourceReader@@@Z @ 37 NONAME ; void CPeninputLayoutWindow::ConstructFromResourceL(class TResourceReader &)
-	?ConstructFromResourceL@CPeninputLayoutWindow@@MAEXXZ @ 38 NONAME ; void CPeninputLayoutWindow::ConstructFromResourceL(void)
-	?ConstructL@CPeninputCommonLayout@@IAEXPBX@Z @ 39 NONAME ; void CPeninputCommonLayout::ConstructL(void const *)
-	?ConstructL@CPeninputDataMgr@@IAEXXZ @ 40 NONAME ; void CPeninputDataMgr::ConstructL(void)
-	?ConstructL@CPeninputLayoutWindow@@IAEXXZ @ 41 NONAME ; void CPeninputLayoutWindow::ConstructL(void)
-	?Control@CPeninputCtrlPool@@QBEPAVCFepUiBaseCtrl@@H@Z @ 42 NONAME ; class CFepUiBaseCtrl * CPeninputCtrlPool::Control(int) const
-	?ControlByIndex@CPeninputCtrlPool@@QBEPAVCFepUiBaseCtrl@@H@Z @ 43 NONAME ; class CFepUiBaseCtrl * CPeninputCtrlPool::ControlByIndex(int) const
-	?ControlCount@CPeninputCtrlPool@@QBEHXZ @ 44 NONAME ; int CPeninputCtrlPool::ControlCount(void) const
-	?Count@CPeninputNumericKepMappingMgr@@QBEHXZ @ 45 NONAME ; int CPeninputNumericKepMappingMgr::Count(void) const
-	?CurrentUiState@CPeninputUiStateMgr@@UAEPAVCPeninputUiStateBase@@XZ @ 46 NONAME ; class CPeninputUiStateBase * CPeninputUiStateMgr::CurrentUiState(void)
-	?DoClose@CPeninputLayoutWindow@@MAEHXZ @ 47 NONAME ; int CPeninputLayoutWindow::DoClose(void)
-	?Draw@CPeninputLayoutWindow@@UAEXXZ @ 48 NONAME ; void CPeninputLayoutWindow::Draw(void)
-	?FepCaseByCaseId@CPeninputDataConverter@@SAHH@Z @ 49 NONAME ; int CPeninputDataConverter::FepCaseByCaseId(int)
-	?FindClientLayoutInfo@CPeninputLayoutConfig@@QAEPAVCPeninputClientLayoutInfo@@H@Z @ 50 NONAME ; class CPeninputClientLayoutInfo * CPeninputLayoutConfig::FindClientLayoutInfo(int)
-	?FindControlInfo@CPeninputClientLayoutInfo@@QAEPAVCPeninputControlInfo@@H@Z @ 51 NONAME ; class CPeninputControlInfo * CPeninputClientLayoutInfo::FindControlInfo(int)
-	?FindRange@CPeninputRangeBarInfo@@QAEPAVCPeninputRangeInfo@@H@Z @ 52 NONAME ; class CPeninputRangeInfo * CPeninputRangeBarInfo::FindRange(int)
-	?FindShiftCapsInfo@CPeninputLayoutConfig@@QAEPAVCPeninputShiftCapsInfo@@H@Z @ 53 NONAME ; class CPeninputShiftCapsInfo * CPeninputLayoutConfig::FindShiftCapsInfo(int)
-	?FindShiftCapsSingleByCase@CPeninputShiftCapsInfo@@QAEPAUTPeninputShiftCapsSingle@1@H@Z @ 54 NONAME ; struct CPeninputShiftCapsInfo::TPeninputShiftCapsSingle * CPeninputShiftCapsInfo::FindShiftCapsSingleByCase(int)
-	?FindShiftCapsSingleById@CPeninputShiftCapsInfo@@QAEPAUTPeninputShiftCapsSingle@1@H@Z @ 55 NONAME ; struct CPeninputShiftCapsInfo::TPeninputShiftCapsSingle * CPeninputShiftCapsInfo::FindShiftCapsSingleById(int)
-	?FindVkbLayoutInfo@CPeninputLayoutConfig@@QAEPAVCPeninputVkbLayoutInfo@@H@Z @ 56 NONAME ; class CPeninputVkbLayoutInfo * CPeninputLayoutConfig::FindVkbLayoutInfo(int)
-	?GetUiState@CPeninputUiStateMgr@@UAEPAVCPeninputUiStateBase@@H@Z @ 57 NONAME ; class CPeninputUiStateBase * CPeninputUiStateMgr::GetUiState(int)
-	?HandleCapslockBtnClicked@CPeninputLayoutWindow@@UAEXXZ @ 58 NONAME ; void CPeninputLayoutWindow::HandleCapslockBtnClicked(void)
-	?HandleCommand@CPeninputCommonLayout@@UAEHHPAE@Z @ 59 NONAME ; int CPeninputCommonLayout::HandleCommand(int, unsigned char *)
-	?HandleControlEvent@CPeninputCommonLayout@@UAEXHPAVCFepUiBaseCtrl@@ABVTDesC16@@@Z @ 60 NONAME ; void CPeninputCommonLayout::HandleControlEvent(int, class CFepUiBaseCtrl *, class TDesC16 const &)
-	?HandleControlEvent@CPeninputLayoutWindow@@UAEXHPAVCFepUiBaseCtrl@@ABVTDesC16@@@Z @ 61 NONAME ; void CPeninputLayoutWindow::HandleControlEvent(int, class CFepUiBaseCtrl *, class TDesC16 const &)
-	?HandleControlEvent@CPeninputUiStateBase@@UAEHHABVTDesC16@@@Z @ 62 NONAME ; int CPeninputUiStateBase::HandleControlEvent(int, class TDesC16 const &)
-	?HandleGSRepositoryCallBack@CPeninputDataMgr@@KAHPAX@Z @ 63 NONAME ; int CPeninputDataMgr::HandleGSRepositoryCallBack(void *)
-	?HandleGSRepositoryChange@CPeninputDataMgr@@UAEXH@Z @ 64 NONAME ; void CPeninputDataMgr::HandleGSRepositoryChange(int)
-	?HandleKeyEventL@CPeninputUiStateBase@@UAEHABVTRawEvent@@@Z @ 65 NONAME ; int CPeninputUiStateBase::HandleKeyEventL(class TRawEvent const &)
-	?HandleRangeEvent@CPeninputLayoutWindow@@UAEXH@Z @ 66 NONAME ; void CPeninputLayoutWindow::HandleRangeEvent(int)
-	?HandleRangeLoopEvent@CPeninputLayoutWindow@@UAEXH@Z @ 67 NONAME ; void CPeninputLayoutWindow::HandleRangeLoopEvent(int)
-	?HandleRawKeyEventL@CPeninputCommonLayout@@UAEHABVTRawEvent@@@Z @ 68 NONAME ; int CPeninputCommonLayout::HandleRawKeyEventL(class TRawEvent const &)
-	?HandleShiftBtnClicked@CPeninputLayoutWindow@@UAEXXZ @ 69 NONAME ; void CPeninputLayoutWindow::HandleShiftBtnClicked(void)
-	?Init@CPeninputCommonLayout@@MAE?AVTRect@@XZ @ 70 NONAME ; class TRect CPeninputCommonLayout::Init(void)
-	?InitMore@CPeninputDataMgr@@UAEXXZ @ 71 NONAME ; void CPeninputDataMgr::InitMore(void)
-	?IntToDesc@CPeninputDataConverter@@SAXIAAVTDes16@@@Z @ 72 NONAME ; void CPeninputDataConverter::IntToDesc(unsigned int, class TDes16 &)
-	?IsCapsLockPermitted@CPeninputCommonLayout@@UAEHXZ @ 73 NONAME ; int CPeninputCommonLayout::IsCapsLockPermitted(void)
-	?IsCapsLockPermitted@CPeninputDataMgr@@QAEHXZ @ 74 NONAME ; int CPeninputDataMgr::IsCapsLockPermitted(void)
-	?IsShiftPermitted@CPeninputCommonLayout@@UAEHXZ @ 75 NONAME ; int CPeninputCommonLayout::IsShiftPermitted(void)
-	?IsShiftPermitted@CPeninputDataMgr@@QAEHXZ @ 76 NONAME ; int CPeninputDataMgr::IsShiftPermitted(void)
-	?IsValidDestination@CPeninputCommonLayout@@MAEHABVTRect@@PAVCDragBar@@AAH2H@Z @ 77 NONAME ; int CPeninputCommonLayout::IsValidDestination(class TRect const &, class CDragBar *, int &, int &, int)
-	?KeyMappingStringL@CPeninputNumericKepMappingMgr@@QBEPAVHBufC16@@H@Z @ 78 NONAME ; class HBufC16 * CPeninputNumericKepMappingMgr::KeyMappingStringL(int) const
-	?LayoutWindow@CPeninputCommonLayout@@QBEPAVCPeninputLayoutWindow@@XZ @ 79 NONAME ; class CPeninputLayoutWindow * CPeninputCommonLayout::LayoutWindow(void) const
-	?NewL@CPeninputClientLayoutInfo@@SAPAV1@AAVTResourceReader@@@Z @ 80 NONAME ; class CPeninputClientLayoutInfo * CPeninputClientLayoutInfo::NewL(class TResourceReader &)
-	?NewL@CPeninputControlInfo@@SAPAV1@AAVTResourceReader@@@Z @ 81 NONAME ; class CPeninputControlInfo * CPeninputControlInfo::NewL(class TResourceReader &)
-	?NewL@CPeninputCtrlPool@@SAPAV1@XZ @ 82 NONAME ; class CPeninputCtrlPool * CPeninputCtrlPool::NewL(void)
-	?NewL@CPeninputDataMgr@@SAPAV1@PAVMPeninputLayoutContext@@@Z @ 83 NONAME ; class CPeninputDataMgr * CPeninputDataMgr::NewL(class MPeninputLayoutContext *)
-	?NewL@CPeninputLayoutConfig@@SAPAV1@AAVCAknFepCtrlVkbLayout@@AAVTResourceReader@@@Z @ 84 NONAME ; class CPeninputLayoutConfig * CPeninputLayoutConfig::NewL(class CAknFepCtrlVkbLayout &, class TResourceReader &)
-	?NewL@CPeninputNumericKepMappingMgr@@SAPAV1@VTResourceReader@@@Z @ 85 NONAME ; class CPeninputNumericKepMappingMgr * CPeninputNumericKepMappingMgr::NewL(class TResourceReader)
-	?NewL@CPeninputRangeBarInfo@@SAPAV1@AAVTResourceReader@@@Z @ 86 NONAME ; class CPeninputRangeBarInfo * CPeninputRangeBarInfo::NewL(class TResourceReader &)
-	?NewL@CPeninputRangeInfo@@SAPAV1@AAVTResourceReader@@@Z @ 87 NONAME ; class CPeninputRangeInfo * CPeninputRangeInfo::NewL(class TResourceReader &)
-	?NewL@CPeninputShiftCapsInfo@@SAPAV1@AAVTResourceReader@@@Z @ 88 NONAME ; class CPeninputShiftCapsInfo * CPeninputShiftCapsInfo::NewL(class TResourceReader &)
-	?NewL@CPeninputUiStateBase@@SAPAV1@PAVMPeninputUiStateMgr@@PAVMPeninputLayoutContext@@@Z @ 89 NONAME ; class CPeninputUiStateBase * CPeninputUiStateBase::NewL(class MPeninputUiStateMgr *, class MPeninputLayoutContext *)
-	?NewL@CPeninputUiStateMgr@@SAPAV1@PAVMPeninputLayoutContext@@@Z @ 90 NONAME ; class CPeninputUiStateMgr * CPeninputUiStateMgr::NewL(class MPeninputLayoutContext *)
-	?NewLC@CPeninputClientLayoutInfo@@SAPAV1@AAVTResourceReader@@@Z @ 91 NONAME ; class CPeninputClientLayoutInfo * CPeninputClientLayoutInfo::NewLC(class TResourceReader &)
-	?NewLC@CPeninputCtrlPool@@SAPAV1@XZ @ 92 NONAME ; class CPeninputCtrlPool * CPeninputCtrlPool::NewLC(void)
-	?NewLC@CPeninputDataMgr@@SAPAV1@PAVMPeninputLayoutContext@@@Z @ 93 NONAME ; class CPeninputDataMgr * CPeninputDataMgr::NewLC(class MPeninputLayoutContext *)
-	?NewLC@CPeninputNumericKepMappingMgr@@SAPAV1@VTResourceReader@@@Z @ 94 NONAME ; class CPeninputNumericKepMappingMgr * CPeninputNumericKepMappingMgr::NewLC(class TResourceReader)
-	?NewLC@CPeninputRangeBarInfo@@SAPAV1@AAVTResourceReader@@@Z @ 95 NONAME ; class CPeninputRangeBarInfo * CPeninputRangeBarInfo::NewLC(class TResourceReader &)
-	?NewLC@CPeninputRangeInfo@@SAPAV1@AAVTResourceReader@@@Z @ 96 NONAME ; class CPeninputRangeInfo * CPeninputRangeInfo::NewLC(class TResourceReader &)
-	?NewLC@CPeninputShiftCapsInfo@@SAPAV1@AAVTResourceReader@@@Z @ 97 NONAME ; class CPeninputShiftCapsInfo * CPeninputShiftCapsInfo::NewLC(class TResourceReader &)
-	?NewLC@CPeninputUiStateMgr@@SAPAV1@PAVMPeninputLayoutContext@@@Z @ 98 NONAME ; class CPeninputUiStateMgr * CPeninputUiStateMgr::NewLC(class MPeninputLayoutContext *)
-	?NotifyEngine@CPeninputDataMgr@@UAEXW4TPeninputDataType@@PAX@Z @ 99 NONAME ; void CPeninputDataMgr::NotifyEngine(enum TPeninputDataType, void *)
-	?OnAppEditorTextComing@CPeninputCommonLayout@@UAEHABUTFepInputContextFieldData@@@Z @ 100 NONAME ; int CPeninputCommonLayout::OnAppEditorTextComing(struct TFepInputContextFieldData const &)
-	?ReadIcfInfo@CPeninputLayoutWindow@@IAEXVTResourceReader@@@Z @ 101 NONAME ; void CPeninputLayoutWindow::ReadIcfInfo(class TResourceReader)
-	?ReconfigUnitSize@CPeninputLayoutWindow@@UAEHH@Z @ 102 NONAME ; int CPeninputLayoutWindow::ReconfigUnitSize(int)
-	?RemoveControl@CPeninputCtrlPool@@QAEXH@Z @ 103 NONAME ; void CPeninputCtrlPool::RemoveControl(int)
-	?RemoveControlInfo@CPeninputClientLayoutInfo@@QAEXH@Z @ 104 NONAME ; void CPeninputClientLayoutInfo::RemoveControlInfo(int)
-	?RemoveControlInfo@CPeninputClientLayoutInfo@@QAEXPAVCPeninputControlInfo@@@Z @ 105 NONAME ; void CPeninputClientLayoutInfo::RemoveControlInfo(class CPeninputControlInfo *)
-	?RequestData@CPeninputCommonLayout@@UAEPAXW4TPeninputDataType@@@Z @ 106 NONAME ; void * CPeninputCommonLayout::RequestData(enum TPeninputDataType)
-	?RequestData@CPeninputDataMgr@@UAEPAXW4TPeninputDataType@@@Z @ 107 NONAME ; void * CPeninputDataMgr::RequestData(enum TPeninputDataType)
-	?Reset@CPeninputCtrlPool@@QAEXXZ @ 108 NONAME ; void CPeninputCtrlPool::Reset(void)
-	?Reset@CPeninputDataMgr@@UAEXXZ @ 109 NONAME ; void CPeninputDataMgr::Reset(void)
-	?Reset@CPeninputNumericKepMappingMgr@@QAEXXZ @ 110 NONAME ; void CPeninputNumericKepMappingMgr::Reset(void)
-	?SaveKey@CPeninputCommonLayout@@MAEXHH@Z @ 111 NONAME ; void CPeninputCommonLayout::SaveKey(int, int)
-	?SaveKey@CPeninputDataMgr@@UAEXHH@Z @ 112 NONAME ; void CPeninputDataMgr::SaveKey(int, int)
-	?SendEventToLayout@CPeninputCommonLayout@@QAEXHPAVCFepUiBaseCtrl@@ABVTDesC16@@@Z @ 113 NONAME ; void CPeninputCommonLayout::SendEventToLayout(int, class CFepUiBaseCtrl *, class TDesC16 const &)
-	?SendEventToWindow@CPeninputCommonLayout@@UAEXHPAVCFepUiBaseCtrl@@ABVTDesC16@@@Z @ 114 NONAME ; void CPeninputCommonLayout::SendEventToWindow(int, class CFepUiBaseCtrl *, class TDesC16 const &)
-	?SendKey@CPeninputUiStateBase@@IAEHABVTDesC16@@@Z @ 115 NONAME ; int CPeninputUiStateBase::SendKey(class TDesC16 const &)
-	?Sendkey@CPeninputCommonLayout@@UAEXHABVTDesC16@@@Z @ 116 NONAME ; void CPeninputCommonLayout::Sendkey(int, class TDesC16 const &)
-	?SetCurrentUiState@CPeninputUiStateMgr@@UAEXH@Z @ 117 NONAME ; void CPeninputUiStateMgr::SetCurrentUiState(int)
-	?SetCurrentUiState@CPeninputUiStateMgr@@UAEXPAVCPeninputUiStateBase@@@Z @ 118 NONAME ; void CPeninputUiStateMgr::SetCurrentUiState(class CPeninputUiStateBase *)
-	?SetData@CPeninputCommonLayout@@UAEXW4TPeninputDataType@@PAX@Z @ 119 NONAME ; void CPeninputCommonLayout::SetData(enum TPeninputDataType, void *)
-	?SetData@CPeninputDataMgr@@UAEXW4TPeninputDataType@@PAX@Z @ 120 NONAME ; void CPeninputDataMgr::SetData(enum TPeninputDataType, void *)
-	?SetEditorTextL@CPeninputLayoutWindow@@QAEXABUTFepInputContextFieldData@@@Z @ 121 NONAME ; void CPeninputLayoutWindow::SetEditorTextL(struct TFepInputContextFieldData const &)
-	?SetEnableSettingBtn@CPeninputLayoutWindow@@QAEXH@Z @ 122 NONAME ; void CPeninputLayoutWindow::SetEnableSettingBtn(int)
-	?SetEnableSwitchToHwr@CPeninputLayoutWindow@@QAEXH@Z @ 123 NONAME ; void CPeninputLayoutWindow::SetEnableSwitchToHwr(int)
-	?SetSwitchBtnFont@CPeninputLayoutWindow@@IAEXAAVCAknFepCtrlEventButton@@@Z @ 124 NONAME ; void CPeninputLayoutWindow::SetSwitchBtnFont(class CAknFepCtrlEventButton &)
-	?SetSwitchBtnTextColor@CPeninputLayoutWindow@@IAEXAAVCAknFepCtrlEventButton@@@Z @ 125 NONAME ; void CPeninputLayoutWindow::SetSwitchBtnTextColor(class CAknFepCtrlEventButton &)
-	?SetWindowRect@CPeninputLayoutWindow@@IAEXABVTRect@@@Z @ 126 NONAME ; void CPeninputLayoutWindow::SetWindowRect(class TRect const &)
-	?ShiftCapsSingleVkbLayoutByCase@CPeninputLayoutConfig@@QAEHHH@Z @ 127 NONAME ; int CPeninputLayoutConfig::ShiftCapsSingleVkbLayoutByCase(int, int)
-	?ShiftCapsSingleVkbLayoutId@CPeninputLayoutConfig@@QAEHHH@Z @ 128 NONAME ; int CPeninputLayoutConfig::ShiftCapsSingleVkbLayoutId(int, int)
-	?ShiftCapslockByCase@CPeninputDataConverter@@SAXHAAH0@Z @ 129 NONAME ; void CPeninputDataConverter::ShiftCapslockByCase(int, int &, int &)
-	?SizeChanged@CPeninputCommonLayout@@UAEHPBX@Z @ 130 NONAME ; int CPeninputCommonLayout::SizeChanged(void const *)
-	?SizeChanged@CPeninputLayoutWindow@@UAEXH@Z @ 131 NONAME ; void CPeninputLayoutWindow::SizeChanged(int)
-	?UiStateMgr@CPeninputCommonLayout@@QBEPAVMPeninputUiStateMgr@@XZ @ 132 NONAME ; class MPeninputUiStateMgr * CPeninputCommonLayout::UiStateMgr(void) const
-	?PenInputType@CPeninputCommonLayout@@UAE?AW4TPenUiTypeTag@@XZ @ 133 NONAME ABSENT ; int CPeninputCommonLayout::PenInputType(void)
-	?SetTextIsSecret@CPeninputLayoutWindow@@QAEXH@Z @ 134 NONAME ; void CPeninputLayoutWindow::SetTextIsSecret(int)
-	?OnInputLanguageChange@CPeninputLayoutWindow@@UAEXXZ @ 135 NONAME ABSENT ; void CPeninputLayoutWindow::OnInputLanguageChange(void)
-	?SetLafLayOut@CPeninputLayoutWindow@@MAEXHH@Z @ 136 NONAME ABSENT ; void CPeninputLayoutWindow::SetLafLayOut(int, int)
-	?SetVkbLayoutSize@CPeninputLayoutWindow@@MAEXXZ @ 137 NONAME ABSENT ; void CPeninputLayoutWindow::SetVkbLayoutSize(void)
-	?SizeChangedForBaseWindow@CPeninputLayoutWindow@@MAEXH@Z @ 138 NONAME ABSENT ; void CPeninputLayoutWindow::SizeChangedForBaseWindow(int)
-	??0CPeninputCommonLayoutExt@@IAE@PAVMLayoutOwner@@@Z @ 139 NONAME ; CPeninputCommonLayoutExt::CPeninputCommonLayoutExt(class MLayoutOwner *)
-	??0CPeninputLayoutWindowExt@@IAE@PAVCFepUiLayout@@PAVMPeninputLayoutContext@@@Z @ 140 NONAME ; CPeninputLayoutWindowExt::CPeninputLayoutWindowExt(class CFepUiLayout *, class MPeninputLayoutContext *)
-	??1CPeninputCommonLayoutExt@@UAE@XZ @ 141 NONAME ; CPeninputCommonLayoutExt::~CPeninputCommonLayoutExt(void)
-	??1CPeninputLayoutWindowExt@@UAE@XZ @ 142 NONAME ; CPeninputLayoutWindowExt::~CPeninputLayoutWindowExt(void)
-	?AddNotOwnedControl@CPeninputLayoutWindowExt@@IAEXPAVCFepUiBaseCtrl@@@Z @ 143 NONAME ; void CPeninputLayoutWindowExt::AddNotOwnedControl(class CFepUiBaseCtrl *)
-	?CaseByShiftCapslockStatus@CPeninputLayoutWindowExt@@AAEHXZ @ 144 NONAME ; int CPeninputLayoutWindowExt::CaseByShiftCapslockStatus(void)
-	?ChangeButtonStatus@CPeninputLayoutWindowExt@@IAEXHH@Z @ 145 NONAME ; void CPeninputLayoutWindowExt::ChangeButtonStatus(int, int)
-	?ChangeClientLayout@CPeninputLayoutWindowExt@@QAEXH@Z @ 146 NONAME ; void CPeninputLayoutWindowExt::ChangeClientLayout(int)
-	?ChangeInputLanguageL@CPeninputLayoutWindowExt@@QAEXH@Z @ 147 NONAME ; void CPeninputLayoutWindowExt::ChangeInputLanguageL(int)
-	?ChangeLayoutPosition@CPeninputLayoutWindowExt@@IAEXH@Z @ 148 NONAME ; void CPeninputLayoutWindowExt::ChangeLayoutPosition(int)
-	?ChangeRange@CPeninputLayoutWindowExt@@QAEXHHH@Z @ 149 NONAME ; void CPeninputLayoutWindowExt::ChangeRange(int, int, int)
-	?ChangeVkbLayout@CPeninputLayoutWindowExt@@QAEXH@Z @ 150 NONAME ; void CPeninputLayoutWindowExt::ChangeVkbLayout(int)
-	?ConfigInfo@CPeninputLayoutWindowExt@@QBEPAVCPeninputLayoutConfig@@XZ @ 151 NONAME ; class CPeninputLayoutConfig * CPeninputLayoutWindowExt::ConfigInfo(void) const
-	?ConstructL@CPeninputCommonLayoutExt@@IAEXPBX@Z @ 152 NONAME ; void CPeninputCommonLayoutExt::ConstructL(void const *)
-	?ConstructL@CPeninputLayoutWindowExt@@IAEXXZ @ 153 NONAME ; void CPeninputLayoutWindowExt::ConstructL(void)
-	?DoClose@CPeninputLayoutWindowExt@@MAEHXZ @ 154 NONAME ; int CPeninputLayoutWindowExt::DoClose(void)
-	?Draw@CPeninputLayoutWindowExt@@UAEXXZ @ 155 NONAME ; void CPeninputLayoutWindowExt::Draw(void)
-	?HandleCapslockBtnClicked@CPeninputLayoutWindowExt@@UAEXXZ @ 156 NONAME ; void CPeninputLayoutWindowExt::HandleCapslockBtnClicked(void)
-	?HandleCommand@CPeninputCommonLayoutExt@@UAEHHPAE@Z @ 157 NONAME ; int CPeninputCommonLayoutExt::HandleCommand(int, unsigned char *)
-	?HandleControlEvent@CPeninputCommonLayoutExt@@UAEXHPAVCFepUiBaseCtrl@@ABVTDesC16@@@Z @ 158 NONAME ; void CPeninputCommonLayoutExt::HandleControlEvent(int, class CFepUiBaseCtrl *, class TDesC16 const &)
-	?HandleControlEvent@CPeninputLayoutWindowExt@@UAEXHPAVCFepUiBaseCtrl@@ABVTDesC16@@@Z @ 159 NONAME ; void CPeninputLayoutWindowExt::HandleControlEvent(int, class CFepUiBaseCtrl *, class TDesC16 const &)
-	?HandleRangeEvent@CPeninputLayoutWindowExt@@UAEXH@Z @ 160 NONAME ; void CPeninputLayoutWindowExt::HandleRangeEvent(int)
-	?HandleRangeLoopEvent@CPeninputLayoutWindowExt@@UAEXH@Z @ 161 NONAME ; void CPeninputLayoutWindowExt::HandleRangeLoopEvent(int)
-	?HandleRawKeyEventL@CPeninputCommonLayoutExt@@UAEHABVTRawEvent@@@Z @ 162 NONAME ; int CPeninputCommonLayoutExt::HandleRawKeyEventL(class TRawEvent const &)
-	?HandleShiftBtnClicked@CPeninputLayoutWindowExt@@UAEXXZ @ 163 NONAME ; void CPeninputLayoutWindowExt::HandleShiftBtnClicked(void)
-	?Init@CPeninputCommonLayoutExt@@MAE?AVTRect@@XZ @ 164 NONAME ; class TRect CPeninputCommonLayoutExt::Init(void)
-	?IsCapsLockPermitted@CPeninputCommonLayoutExt@@UAEHXZ @ 165 NONAME ; int CPeninputCommonLayoutExt::IsCapsLockPermitted(void)
-	?IsShiftPermitted@CPeninputCommonLayoutExt@@UAEHXZ @ 166 NONAME ; int CPeninputCommonLayoutExt::IsShiftPermitted(void)
-	?IsValidDestination@CPeninputCommonLayoutExt@@MAEHABVTRect@@PAVCDragBar@@AAH2H@Z @ 167 NONAME ; int CPeninputCommonLayoutExt::IsValidDestination(class TRect const &, class CDragBar *, int &, int &, int)
-	?LayoutWindow@CPeninputCommonLayoutExt@@QBEPAVCPeninputLayoutWindowExt@@XZ @ 168 NONAME ; class CPeninputLayoutWindowExt * CPeninputCommonLayoutExt::LayoutWindow(void) const
-	?OnAppEditorTextComing@CPeninputCommonLayoutExt@@UAEHABUTFepInputContextFieldData@@@Z @ 169 NONAME ; int CPeninputCommonLayoutExt::OnAppEditorTextComing(struct TFepInputContextFieldData const &)
-	?OnInputLanguageChange@CPeninputLayoutWindowExt@@UAEXXZ @ 170 NONAME ; void CPeninputLayoutWindowExt::OnInputLanguageChange(void)
-	?PenInputType@CPeninputCommonLayoutExt@@UAE?AW4TPenUiTypeTag@@XZ @ 171 NONAME ABSENT ; int CPeninputCommonLayoutExt::PenInputType(void)
-	?ReconfigUnitSize@CPeninputLayoutWindowExt@@UAEHH@Z @ 172 NONAME ; int CPeninputLayoutWindowExt::ReconfigUnitSize(int)
-	?RequestData@CPeninputCommonLayoutExt@@UAEPAXW4TPeninputDataType@@@Z @ 173 NONAME ; void * CPeninputCommonLayoutExt::RequestData(enum TPeninputDataType)
-	?SaveKey@CPeninputCommonLayoutExt@@MAEXHH@Z @ 174 NONAME ; void CPeninputCommonLayoutExt::SaveKey(int, int)
-	?SendEventToLayout@CPeninputCommonLayoutExt@@QAEXHPAVCFepUiBaseCtrl@@ABVTDesC16@@@Z @ 175 NONAME ; void CPeninputCommonLayoutExt::SendEventToLayout(int, class CFepUiBaseCtrl *, class TDesC16 const &)
-	?SendEventToWindow@CPeninputCommonLayoutExt@@UAEXHPAVCFepUiBaseCtrl@@ABVTDesC16@@@Z @ 176 NONAME ; void CPeninputCommonLayoutExt::SendEventToWindow(int, class CFepUiBaseCtrl *, class TDesC16 const &)
-	?Sendkey@CPeninputCommonLayoutExt@@UAEXHABVTDesC16@@@Z @ 177 NONAME ; void CPeninputCommonLayoutExt::Sendkey(int, class TDesC16 const &)
-	?SetData@CPeninputCommonLayoutExt@@UAEXW4TPeninputDataType@@PAX@Z @ 178 NONAME ; void CPeninputCommonLayoutExt::SetData(enum TPeninputDataType, void *)
-	?SetEditorTextL@CPeninputLayoutWindowExt@@QAEXABUTFepInputContextFieldData@@@Z @ 179 NONAME ; void CPeninputLayoutWindowExt::SetEditorTextL(struct TFepInputContextFieldData const &)
-	?SetEnableSettingBtn@CPeninputLayoutWindowExt@@QAEXH@Z @ 180 NONAME ; void CPeninputLayoutWindowExt::SetEnableSettingBtn(int)
-	?SetEnableSwitchToHwr@CPeninputLayoutWindowExt@@QAEXH@Z @ 181 NONAME ; void CPeninputLayoutWindowExt::SetEnableSwitchToHwr(int)
-	?SetLafLayOut@CPeninputLayoutWindowExt@@MAEXHH@Z @ 182 NONAME ; void CPeninputLayoutWindowExt::SetLafLayOut(int, int)
-	?SetSwitchBtnFont@CPeninputLayoutWindowExt@@IAEXAAVCAknFepCtrlEventButton@@@Z @ 183 NONAME ; void CPeninputLayoutWindowExt::SetSwitchBtnFont(class CAknFepCtrlEventButton &)
-	?SetSwitchBtnTextColor@CPeninputLayoutWindowExt@@IAEXAAVCAknFepCtrlEventButton@@@Z @ 184 NONAME ; void CPeninputLayoutWindowExt::SetSwitchBtnTextColor(class CAknFepCtrlEventButton &)
-	?SetTextIsSecret@CPeninputLayoutWindowExt@@QAEXH@Z @ 185 NONAME ; void CPeninputLayoutWindowExt::SetTextIsSecret(int)
-	?SetVkbLayoutSize@CPeninputLayoutWindowExt@@MAEXXZ @ 186 NONAME ; void CPeninputLayoutWindowExt::SetVkbLayoutSize(void)
-	?SetWindowRect@CPeninputLayoutWindowExt@@IAEXABVTRect@@@Z @ 187 NONAME ; void CPeninputLayoutWindowExt::SetWindowRect(class TRect const &)
-	?SizeChanged@CPeninputCommonLayoutExt@@UAEHPBX@Z @ 188 NONAME ; int CPeninputCommonLayoutExt::SizeChanged(void const *)
-	?SizeChanged@CPeninputLayoutWindowExt@@UAEXH@Z @ 189 NONAME ; void CPeninputLayoutWindowExt::SizeChanged(int)
-	?SizeChangedForBaseWindow@CPeninputLayoutWindowExt@@MAEXH@Z @ 190 NONAME ; void CPeninputLayoutWindowExt::SizeChangedForBaseWindow(int)
-	?UiStateMgr@CPeninputCommonLayoutExt@@QBEPAVMPeninputUiStateMgr@@XZ @ 191 NONAME ; class MPeninputUiStateMgr * CPeninputCommonLayoutExt::UiStateMgr(void) const
-	?PenInputType@CPeninputCommonLayout@@UAEHXZ @ 192 NONAME ; int CPeninputCommonLayout::PenInputType(void)
-	?PenInputType@CPeninputCommonLayoutExt@@UAEHXZ @ 193 NONAME ; int CPeninputCommonLayoutExt::PenInputType(void)
-	?ChangeMergedButtonStatus@CPeninputLayoutWindowExt@@IAEXHH@Z @ 194 NONAME ; void CPeninputLayoutWindowExt::ChangeMergedButtonStatus(int, int)
-	?HandleMergedBtnClicked@CPeninputLayoutWindowExt@@UAEXH@Z @ 195 NONAME ; void CPeninputLayoutWindowExt::HandleMergedBtnClicked(int)
-	?ChangeToPreviousRange@CPeninputLayoutWindow@@MAEXH@Z @ 196 NONAME ; void CPeninputLayoutWindow::ChangeToPreviousRange(int)
-	?IsCanChangeRange@CPeninputLayoutWindow@@MAEHH@Z @ 197 NONAME ; int CPeninputLayoutWindow::IsCanChangeRange(int)
-	?IsMultiLineIcf@CPeninputLayoutWindow@@MAEHXZ @ 198 NONAME ; int CPeninputLayoutWindow::IsMultiLineIcf(void)
-	?SetTextAlignmentL@CPeninputLayoutWindow@@QAEXH@Z @ 199 NONAME ; void CPeninputLayoutWindow::SetTextAlignmentL(int)
-	?SetTextAlignmentL@CPeninputLayoutWindowExt@@QAEXH@Z @ 200 NONAME ; void CPeninputLayoutWindowExt::SetTextAlignmentL(int)
-	?KeyMappingStringL@CPeninputNumericKepMappingMgr@@QBEPAVHBufC16@@HH@Z @ 201 NONAME ; class HBufC16 * CPeninputNumericKepMappingMgr::KeyMappingStringL(int, int) const
-	?SetPositionFromOutside@CPeninputCommonLayout@@UAEXABVTPoint@@@Z @ 202 NONAME ; void CPeninputCommonLayout::SetPositionFromOutside(class TPoint const &)
-	?SetPositionFromOutside@CPeninputCommonLayoutExt@@UAEXABVTPoint@@@Z @ 203 NONAME ; void CPeninputCommonLayoutExt::SetPositionFromOutside(class TPoint const &)
-	?HandleShiftAndCapslockBtnClicked@CPeninputLayoutWindowExt@@UAEXXZ @ 204 NONAME ; void CPeninputLayoutWindowExt::HandleShiftAndCapslockBtnClicked(void)
-
--- a/textinput/peninputcommonlayout/EABI/peninputcommonlayoutU.DEF	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,319 +0,0 @@
-EXPORTS
-	_ZN16CPeninputDataMgr10ConstructLEv @ 1 NONAME
-	_ZN16CPeninputDataMgr11RequestDataE17TPeninputDataType @ 2 NONAME
-	_ZN16CPeninputDataMgr12NotifyEngineE17TPeninputDataTypePv @ 3 NONAME
-	_ZN16CPeninputDataMgr16IsShiftPermittedEv @ 4 NONAME
-	_ZN16CPeninputDataMgr19IsCapsLockPermittedEv @ 5 NONAME
-	_ZN16CPeninputDataMgr24HandleGSRepositoryChangeEi @ 6 NONAME
-	_ZN16CPeninputDataMgr26HandleGSRepositoryCallBackEPv @ 7 NONAME
-	_ZN16CPeninputDataMgr4NewLEP22MPeninputLayoutContext @ 8 NONAME
-	_ZN16CPeninputDataMgr5NewLCEP22MPeninputLayoutContext @ 9 NONAME
-	_ZN16CPeninputDataMgr5ResetEv @ 10 NONAME
-	_ZN16CPeninputDataMgr7SaveKeyEii @ 11 NONAME
-	_ZN16CPeninputDataMgr7SetDataE17TPeninputDataTypePv @ 12 NONAME
-	_ZN16CPeninputDataMgr8InitMoreEv @ 13 NONAME
-	_ZN16CPeninputDataMgrC1EP22MPeninputLayoutContext @ 14 NONAME
-	_ZN16CPeninputDataMgrC2EP22MPeninputLayoutContext @ 15 NONAME
-	_ZN16CPeninputDataMgrD0Ev @ 16 NONAME
-	_ZN16CPeninputDataMgrD1Ev @ 17 NONAME
-	_ZN16CPeninputDataMgrD2Ev @ 18 NONAME
-	_ZN17CPeninputCtrlPool10AddControlEP14CFepUiBaseCtrl @ 19 NONAME
-	_ZN17CPeninputCtrlPool13RemoveControlEi @ 20 NONAME
-	_ZN17CPeninputCtrlPool4NewLEv @ 21 NONAME
-	_ZN17CPeninputCtrlPool5NewLCEv @ 22 NONAME
-	_ZN17CPeninputCtrlPool5ResetEv @ 23 NONAME
-	_ZN17CPeninputCtrlPool9ConstructEv @ 24 NONAME
-	_ZN17CPeninputCtrlPoolD0Ev @ 25 NONAME
-	_ZN17CPeninputCtrlPoolD1Ev @ 26 NONAME
-	_ZN17CPeninputCtrlPoolD2Ev @ 27 NONAME
-	_ZN18CPeninputRangeInfo4NewLER15TResourceReader @ 28 NONAME
-	_ZN18CPeninputRangeInfo5NewLCER15TResourceReader @ 29 NONAME
-	_ZN18CPeninputRangeInfoD0Ev @ 30 NONAME
-	_ZN18CPeninputRangeInfoD1Ev @ 31 NONAME
-	_ZN18CPeninputRangeInfoD2Ev @ 32 NONAME
-	_ZN19CPeninputUiStateMgr10AddUiStateEP20CPeninputUiStateBasei @ 33 NONAME
-	_ZN19CPeninputUiStateMgr10GetUiStateEi @ 34 NONAME
-	_ZN19CPeninputUiStateMgr14CurrentUiStateEv @ 35 NONAME
-	_ZN19CPeninputUiStateMgr17SetCurrentUiStateEP20CPeninputUiStateBase @ 36 NONAME
-	_ZN19CPeninputUiStateMgr17SetCurrentUiStateEi @ 37 NONAME
-	_ZN19CPeninputUiStateMgr4NewLEP22MPeninputLayoutContext @ 38 NONAME
-	_ZN19CPeninputUiStateMgr5NewLCEP22MPeninputLayoutContext @ 39 NONAME
-	_ZN19CPeninputUiStateMgrD0Ev @ 40 NONAME
-	_ZN19CPeninputUiStateMgrD1Ev @ 41 NONAME
-	_ZN19CPeninputUiStateMgrD2Ev @ 42 NONAME
-	_ZN20CPeninputControlInfo4NewLER15TResourceReader @ 43 NONAME
-	_ZN20CPeninputControlInfoD0Ev @ 44 NONAME
-	_ZN20CPeninputControlInfoD1Ev @ 45 NONAME
-	_ZN20CPeninputControlInfoD2Ev @ 46 NONAME
-	_ZN20CPeninputUiStateBase15HandleKeyEventLERK9TRawEvent @ 47 NONAME
-	_ZN20CPeninputUiStateBase18HandleControlEventEiRK7TDesC16 @ 48 NONAME
-	_ZN20CPeninputUiStateBase4NewLEP19MPeninputUiStateMgrP22MPeninputLayoutContext @ 49 NONAME
-	_ZN20CPeninputUiStateBase7SendKeyERK7TDesC16 @ 50 NONAME
-	_ZN20CPeninputUiStateBase9ConstructEv @ 51 NONAME
-	_ZN20CPeninputUiStateBaseC1EP19MPeninputUiStateMgrP22MPeninputLayoutContext @ 52 NONAME
-	_ZN20CPeninputUiStateBaseC2EP19MPeninputUiStateMgrP22MPeninputLayoutContext @ 53 NONAME
-	_ZN20CPeninputUiStateBaseD0Ev @ 54 NONAME
-	_ZN20CPeninputUiStateBaseD1Ev @ 55 NONAME
-	_ZN20CPeninputUiStateBaseD2Ev @ 56 NONAME
-	_ZN21CPeninputCommonLayout10ConstructLEPKv @ 57 NONAME
-	_ZN21CPeninputCommonLayout11RequestDataE17TPeninputDataType @ 58 NONAME
-	_ZN21CPeninputCommonLayout11SizeChangedEPKv @ 59 NONAME
-	_ZN21CPeninputCommonLayout13HandleCommandEiPh @ 60 NONAME
-	_ZN21CPeninputCommonLayout16IsShiftPermittedEv @ 61 NONAME
-	_ZN21CPeninputCommonLayout17SendEventToLayoutEiP14CFepUiBaseCtrlRK7TDesC16 @ 62 NONAME
-	_ZN21CPeninputCommonLayout17SendEventToWindowEiP14CFepUiBaseCtrlRK7TDesC16 @ 63 NONAME
-	_ZN21CPeninputCommonLayout18HandleControlEventEiP14CFepUiBaseCtrlRK7TDesC16 @ 64 NONAME
-	_ZN21CPeninputCommonLayout18HandleRawKeyEventLERK9TRawEvent @ 65 NONAME
-	_ZN21CPeninputCommonLayout18IsValidDestinationERK5TRectP8CDragBarRiS5_i @ 66 NONAME
-	_ZN21CPeninputCommonLayout19IsCapsLockPermittedEv @ 67 NONAME
-	_ZN21CPeninputCommonLayout21OnAppEditorTextComingERK25TFepInputContextFieldData @ 68 NONAME
-	_ZN21CPeninputCommonLayout4InitEv @ 69 NONAME
-	_ZN21CPeninputCommonLayout7SaveKeyEii @ 70 NONAME
-	_ZN21CPeninputCommonLayout7SendkeyEiRK7TDesC16 @ 71 NONAME
-	_ZN21CPeninputCommonLayout7SetDataE17TPeninputDataTypePv @ 72 NONAME
-	_ZN21CPeninputCommonLayoutC2EP12MLayoutOwner @ 73 NONAME
-	_ZN21CPeninputCommonLayoutD0Ev @ 74 NONAME
-	_ZN21CPeninputCommonLayoutD1Ev @ 75 NONAME
-	_ZN21CPeninputCommonLayoutD2Ev @ 76 NONAME
-	_ZN21CPeninputLayoutConfig17FindShiftCapsInfoEi @ 77 NONAME
-	_ZN21CPeninputLayoutConfig17FindVkbLayoutInfoEi @ 78 NONAME
-	_ZN21CPeninputLayoutConfig20FindClientLayoutInfoEi @ 79 NONAME
-	_ZN21CPeninputLayoutConfig26ShiftCapsSingleVkbLayoutIdEii @ 80 NONAME
-	_ZN21CPeninputLayoutConfig30ShiftCapsSingleVkbLayoutByCaseEii @ 81 NONAME
-	_ZN21CPeninputLayoutConfig4NewLER20CAknFepCtrlVkbLayoutR15TResourceReader @ 82 NONAME
-	_ZN21CPeninputLayoutConfigD0Ev @ 83 NONAME
-	_ZN21CPeninputLayoutConfigD1Ev @ 84 NONAME
-	_ZN21CPeninputLayoutConfigD2Ev @ 85 NONAME
-	_ZN21CPeninputLayoutWindow10ConstructLEv @ 86 NONAME
-	_ZN21CPeninputLayoutWindow11ChangeRangeEiii @ 87 NONAME
-	_ZN21CPeninputLayoutWindow11ReadIcfInfoE15TResourceReader @ 88 NONAME
-	_ZN21CPeninputLayoutWindow11SizeChangedEi @ 89 NONAME
-	_ZN21CPeninputLayoutWindow13SetWindowRectERK5TRect @ 90 NONAME
-	_ZN21CPeninputLayoutWindow14SetEditorTextLERK25TFepInputContextFieldData @ 91 NONAME
-	_ZN21CPeninputLayoutWindow15ChangeVkbLayoutEi @ 92 NONAME
-	_ZN21CPeninputLayoutWindow16HandleRangeEventEi @ 93 NONAME
-	_ZN21CPeninputLayoutWindow16ReconfigUnitSizeEi @ 94 NONAME
-	_ZN21CPeninputLayoutWindow16SetSwitchBtnFontER22CAknFepCtrlEventButton @ 95 NONAME
-	_ZN21CPeninputLayoutWindow18AddNotOwnedControlEP14CFepUiBaseCtrl @ 96 NONAME
-	_ZN21CPeninputLayoutWindow18ChangeButtonStatusEii @ 97 NONAME
-	_ZN21CPeninputLayoutWindow18ChangeClientLayoutEi @ 98 NONAME
-	_ZN21CPeninputLayoutWindow18HandleControlEventEiP14CFepUiBaseCtrlRK7TDesC16 @ 99 NONAME
-	_ZN21CPeninputLayoutWindow19SetEnableSettingBtnEi @ 100 NONAME
-	_ZN21CPeninputLayoutWindow20ChangeInputLanguageLEi @ 101 NONAME
-	_ZN21CPeninputLayoutWindow20ChangeLayoutPositionEi @ 102 NONAME
-	_ZN21CPeninputLayoutWindow20HandleRangeLoopEventEi @ 103 NONAME
-	_ZN21CPeninputLayoutWindow20SetEnableSwitchToHwrEi @ 104 NONAME
-	_ZN21CPeninputLayoutWindow21HandleShiftBtnClickedEv @ 105 NONAME
-	_ZN21CPeninputLayoutWindow21SetSwitchBtnTextColorER22CAknFepCtrlEventButton @ 106 NONAME
-	_ZN21CPeninputLayoutWindow22ConstructFromResourceLER15TResourceReader @ 107 NONAME
-	_ZN21CPeninputLayoutWindow22ConstructFromResourceLEv @ 108 NONAME
-	_ZN21CPeninputLayoutWindow24HandleCapslockBtnClickedEv @ 109 NONAME
-	_ZN21CPeninputLayoutWindow25CaseByShiftCapslockStatusEv @ 110 NONAME
-	_ZN21CPeninputLayoutWindow4DrawEv @ 111 NONAME
-	_ZN21CPeninputLayoutWindow7DoCloseEv @ 112 NONAME
-	_ZN21CPeninputLayoutWindowC2EP12CFepUiLayoutP22MPeninputLayoutContext @ 113 NONAME
-	_ZN21CPeninputLayoutWindowD0Ev @ 114 NONAME
-	_ZN21CPeninputLayoutWindowD1Ev @ 115 NONAME
-	_ZN21CPeninputLayoutWindowD2Ev @ 116 NONAME
-	_ZN21CPeninputRangeBarInfo4NewLER15TResourceReader @ 117 NONAME
-	_ZN21CPeninputRangeBarInfo5NewLCER15TResourceReader @ 118 NONAME
-	_ZN21CPeninputRangeBarInfo9FindRangeEi @ 119 NONAME
-	_ZN21CPeninputRangeBarInfoD0Ev @ 120 NONAME
-	_ZN21CPeninputRangeBarInfoD1Ev @ 121 NONAME
-	_ZN21CPeninputRangeBarInfoD2Ev @ 122 NONAME
-	_ZN22CPeninputDataConverter15FepCaseByCaseIdEi @ 123 NONAME
-	_ZN22CPeninputDataConverter17CombinationToDescEijR6TDes16 @ 124 NONAME
-	_ZN22CPeninputDataConverter19ShiftCapslockByCaseEiRiS0_ @ 125 NONAME
-	_ZN22CPeninputDataConverter8AnyToIntEPv @ 126 NONAME
-	_ZN22CPeninputDataConverter9IntToDescEjR6TDes16 @ 127 NONAME
-	_ZN22CPeninputDataConverterC1Ev @ 128 NONAME
-	_ZN22CPeninputDataConverterC2Ev @ 129 NONAME
-	_ZN22CPeninputDataConverterD0Ev @ 130 NONAME
-	_ZN22CPeninputDataConverterD1Ev @ 131 NONAME
-	_ZN22CPeninputDataConverterD2Ev @ 132 NONAME
-	_ZN22CPeninputShiftCapsInfo23FindShiftCapsSingleByIdEi @ 133 NONAME
-	_ZN22CPeninputShiftCapsInfo25FindShiftCapsSingleByCaseEi @ 134 NONAME
-	_ZN22CPeninputShiftCapsInfo4NewLER15TResourceReader @ 135 NONAME
-	_ZN22CPeninputShiftCapsInfo5NewLCER15TResourceReader @ 136 NONAME
-	_ZN22CPeninputShiftCapsInfoD0Ev @ 137 NONAME
-	_ZN22CPeninputShiftCapsInfoD1Ev @ 138 NONAME
-	_ZN22CPeninputShiftCapsInfoD2Ev @ 139 NONAME
-	_ZN25CPeninputClientLayoutInfo14AddControlInfoEP20CPeninputControlInfo @ 140 NONAME
-	_ZN25CPeninputClientLayoutInfo15FindControlInfoEi @ 141 NONAME
-	_ZN25CPeninputClientLayoutInfo17RemoveControlInfoEP20CPeninputControlInfo @ 142 NONAME
-	_ZN25CPeninputClientLayoutInfo17RemoveControlInfoEi @ 143 NONAME
-	_ZN25CPeninputClientLayoutInfo22ConstructFromResourceLER15TResourceReader @ 144 NONAME
-	_ZN25CPeninputClientLayoutInfo4NewLER15TResourceReader @ 145 NONAME
-	_ZN25CPeninputClientLayoutInfo5NewLCER15TResourceReader @ 146 NONAME
-	_ZN25CPeninputClientLayoutInfoD0Ev @ 147 NONAME
-	_ZN25CPeninputClientLayoutInfoD1Ev @ 148 NONAME
-	_ZN25CPeninputClientLayoutInfoD2Ev @ 149 NONAME
-	_ZN29CPeninputNumericKepMappingMgr4NewLE15TResourceReader @ 150 NONAME
-	_ZN29CPeninputNumericKepMappingMgr5NewLCE15TResourceReader @ 151 NONAME
-	_ZN29CPeninputNumericKepMappingMgr5ResetEv @ 152 NONAME
-	_ZN29CPeninputNumericKepMappingMgrD0Ev @ 153 NONAME
-	_ZN29CPeninputNumericKepMappingMgrD1Ev @ 154 NONAME
-	_ZN29CPeninputNumericKepMappingMgrD2Ev @ 155 NONAME
-	_ZNK17CPeninputCtrlPool12ControlCountEv @ 156 NONAME
-	_ZNK17CPeninputCtrlPool14ControlByIndexEi @ 157 NONAME
-	_ZNK17CPeninputCtrlPool7ControlEi @ 158 NONAME
-	_ZNK21CPeninputCommonLayout10UiStateMgrEv @ 159 NONAME
-	_ZNK21CPeninputCommonLayout12LayoutWindowEv @ 160 NONAME
-	_ZNK21CPeninputLayoutWindow10ConfigInfoEv @ 161 NONAME
-	_ZNK29CPeninputNumericKepMappingMgr17KeyMappingStringLEi @ 162 NONAME
-	_ZNK29CPeninputNumericKepMappingMgr5CountEv @ 163 NONAME
-	_ZTI16CPeninputDataMgr @ 164 NONAME ; #<TI>#
-	_ZTI17CPeninputCtrlPool @ 165 NONAME ; #<TI>#
-	_ZTI18CPeninputRangeInfo @ 166 NONAME ; #<TI>#
-	_ZTI19CPeninputUiStateMgr @ 167 NONAME ; #<TI>#
-	_ZTI20CPeninputControlInfo @ 168 NONAME ; #<TI>#
-	_ZTI20CPeninputUiStateBase @ 169 NONAME ; #<TI>#
-	_ZTI21CPeninputCommonLayout @ 170 NONAME ; #<TI>#
-	_ZTI21CPeninputLayoutConfig @ 171 NONAME ; #<TI>#
-	_ZTI21CPeninputLayoutWindow @ 172 NONAME ; #<TI>#
-	_ZTI21CPeninputRangeBarInfo @ 173 NONAME ; #<TI>#
-	_ZTI22CPeninputDataConverter @ 174 NONAME ; #<TI>#
-	_ZTI22CPeninputShiftCapsInfo @ 175 NONAME ; #<TI>#
-	_ZTI25CPeninputClientLayoutInfo @ 176 NONAME ; #<TI>#
-	_ZTI29CPeninputNumericKepMappingMgr @ 177 NONAME ; #<TI>#
-	_ZTV16CPeninputDataMgr @ 178 NONAME ; #<VT>#
-	_ZTV17CPeninputCtrlPool @ 179 NONAME ; #<VT>#
-	_ZTV18CPeninputRangeInfo @ 180 NONAME ; #<VT>#
-	_ZTV19CPeninputUiStateMgr @ 181 NONAME ; #<VT>#
-	_ZTV20CPeninputControlInfo @ 182 NONAME ; #<VT>#
-	_ZTV20CPeninputUiStateBase @ 183 NONAME ; #<VT>#
-	_ZTV21CPeninputCommonLayout @ 184 NONAME ; #<VT>#
-	_ZTV21CPeninputLayoutConfig @ 185 NONAME ; #<VT>#
-	_ZTV21CPeninputLayoutWindow @ 186 NONAME ; #<VT>#
-	_ZTV21CPeninputRangeBarInfo @ 187 NONAME ; #<VT>#
-	_ZTV22CPeninputDataConverter @ 188 NONAME ; #<VT>#
-	_ZTV22CPeninputShiftCapsInfo @ 189 NONAME ; #<VT>#
-	_ZTV25CPeninputClientLayoutInfo @ 190 NONAME ; #<VT>#
-	_ZTV29CPeninputNumericKepMappingMgr @ 191 NONAME ; #<VT>#
-	_ZThn448_N21CPeninputLayoutWindow18HandleControlEventEiP14CFepUiBaseCtrlRK7TDesC16 @ 192 NONAME ABSENT ; #<thunk>#
-	_ZThn4_N16CPeninputDataMgr11RequestDataE17TPeninputDataType @ 193 NONAME ; #<thunk>#
-	_ZThn4_N16CPeninputDataMgr5ResetEv @ 194 NONAME ; #<thunk>#
-	_ZThn4_N16CPeninputDataMgr7SaveKeyEii @ 195 NONAME ; #<thunk>#
-	_ZThn4_N16CPeninputDataMgr7SetDataE17TPeninputDataTypePv @ 196 NONAME ; #<thunk>#
-	_ZThn4_N19CPeninputUiStateMgr10AddUiStateEP20CPeninputUiStateBasei @ 197 NONAME ; #<thunk>#
-	_ZThn4_N19CPeninputUiStateMgr10GetUiStateEi @ 198 NONAME ; #<thunk>#
-	_ZThn4_N19CPeninputUiStateMgr14CurrentUiStateEv @ 199 NONAME ; #<thunk>#
-	_ZThn4_N19CPeninputUiStateMgr17SetCurrentUiStateEP20CPeninputUiStateBase @ 200 NONAME ; #<thunk>#
-	_ZThn4_N19CPeninputUiStateMgr17SetCurrentUiStateEi @ 201 NONAME ; #<thunk>#
-	_ZThn4_N21CPeninputCommonLayout13HandleCommandEiPh @ 202 NONAME ; #<thunk>#
-	_ZThn4_N21CPeninputCommonLayout21OnAppEditorTextComingERK25TFepInputContextFieldData @ 203 NONAME ABSENT ; #<thunk>#
-	_ZThn4_N21CPeninputCommonLayout4InitEv @ 204 NONAME ; #<thunk>#
-	_ZThn92_N21CPeninputCommonLayout11RequestDataE17TPeninputDataType @ 205 NONAME ABSENT ; #<thunk>#
-	_ZThn92_N21CPeninputCommonLayout16IsShiftPermittedEv @ 206 NONAME ABSENT ; #<thunk>#
-	_ZThn92_N21CPeninputCommonLayout17SendEventToWindowEiP14CFepUiBaseCtrlRK7TDesC16 @ 207 NONAME ABSENT ; #<thunk>#
-	_ZThn92_N21CPeninputCommonLayout19IsCapsLockPermittedEv @ 208 NONAME ABSENT ; #<thunk>#
-	_ZThn92_N21CPeninputCommonLayout7SaveKeyEii @ 209 NONAME ABSENT ; #<thunk>#
-	_ZThn92_N21CPeninputCommonLayout7SendkeyEiRK7TDesC16 @ 210 NONAME ABSENT ; #<thunk>#
-	_ZThn92_N21CPeninputCommonLayout7SetDataE17TPeninputDataTypePv @ 211 NONAME ABSENT ; #<thunk>#
-	_ZThn8_N21CPeninputCommonLayout18HandleControlEventEiP14CFepUiBaseCtrlRK7TDesC16 @ 212 NONAME ; #<thunk>#
-	_ZThn8_N21CPeninputLayoutWindow22ConstructFromResourceLEv @ 213 NONAME ; #<thunk>#
-	_ZN21CPeninputCommonLayout12PenInputTypeEv @ 214 NONAME
-	_ZThn4_N21CPeninputCommonLayout12PenInputTypeEv @ 215 NONAME ; #<thunk>#
-	_ZThn616_N21CPeninputLayoutWindow18HandleControlEventEiP14CFepUiBaseCtrlRK7TDesC16 @ 216 NONAME ; #<thunk>#
-	_ZN21CPeninputLayoutWindow15SetTextIsSecretEi @ 217 NONAME
-	_ZN24CPeninputCommonLayoutExt10ConstructLEPKv @ 218 NONAME
-	_ZN24CPeninputCommonLayoutExt11RequestDataE17TPeninputDataType @ 219 NONAME
-	_ZN24CPeninputCommonLayoutExt11SizeChangedEPKv @ 220 NONAME
-	_ZN24CPeninputCommonLayoutExt13HandleCommandEiPh @ 221 NONAME
-	_ZN24CPeninputCommonLayoutExt12PenInputTypeEv @ 222 NONAME
-	_ZN24CPeninputCommonLayoutExt16IsShiftPermittedEv @ 223 NONAME
-	_ZN24CPeninputCommonLayoutExt17SendEventToLayoutEiP14CFepUiBaseCtrlRK7TDesC16 @ 224 NONAME
-	_ZN24CPeninputCommonLayoutExt17SendEventToWindowEiP14CFepUiBaseCtrlRK7TDesC16 @ 225 NONAME
-	_ZN24CPeninputCommonLayoutExt18HandleControlEventEiP14CFepUiBaseCtrlRK7TDesC16 @ 226 NONAME
-	_ZN24CPeninputCommonLayoutExt18HandleRawKeyEventLERK9TRawEvent @ 227 NONAME
-	_ZN24CPeninputCommonLayoutExt18IsValidDestinationERK5TRectP8CDragBarRiS5_i @ 228 NONAME
-	_ZN24CPeninputCommonLayoutExt19IsCapsLockPermittedEv @ 229 NONAME
-	_ZN24CPeninputCommonLayoutExt21OnAppEditorTextComingERK25TFepInputContextFieldData @ 230 NONAME
-	_ZN24CPeninputCommonLayoutExt4InitEv @ 231 NONAME
-	_ZN24CPeninputCommonLayoutExt7SaveKeyEii @ 232 NONAME
-	_ZN24CPeninputCommonLayoutExt7SendkeyEiRK7TDesC16 @ 233 NONAME
-	_ZN24CPeninputCommonLayoutExt7SetDataE17TPeninputDataTypePv @ 234 NONAME
-	_ZN24CPeninputCommonLayoutExtC2EP12MLayoutOwner @ 235 NONAME
-	_ZN24CPeninputCommonLayoutExtD0Ev @ 236 NONAME
-	_ZN24CPeninputCommonLayoutExtD1Ev @ 237 NONAME
-	_ZN24CPeninputCommonLayoutExtD2Ev @ 238 NONAME
-	_ZN24CPeninputLayoutWindowExt10ConstructLEv @ 239 NONAME
-	_ZN24CPeninputLayoutWindowExt11ChangeRangeEiii @ 240 NONAME
-	_ZN24CPeninputLayoutWindowExt11SizeChangedEi @ 241 NONAME
-	_ZN24CPeninputLayoutWindowExt12SetLafLayOutEii @ 242 NONAME
-	_ZN24CPeninputLayoutWindowExt13SetWindowRectERK5TRect @ 243 NONAME
-	_ZN24CPeninputLayoutWindowExt14SetEditorTextLERK25TFepInputContextFieldData @ 244 NONAME
-	_ZN24CPeninputLayoutWindowExt15ChangeVkbLayoutEi @ 245 NONAME
-	_ZN24CPeninputLayoutWindowExt15SetTextIsSecretEi @ 246 NONAME
-	_ZN24CPeninputLayoutWindowExt16HandleRangeEventEi @ 247 NONAME
-	_ZN24CPeninputLayoutWindowExt16ReconfigUnitSizeEi @ 248 NONAME
-	_ZN24CPeninputLayoutWindowExt16SetSwitchBtnFontER22CAknFepCtrlEventButton @ 249 NONAME
-	_ZN24CPeninputLayoutWindowExt16SetVkbLayoutSizeEv @ 250 NONAME
-	_ZN24CPeninputLayoutWindowExt18AddNotOwnedControlEP14CFepUiBaseCtrl @ 251 NONAME
-	_ZN24CPeninputLayoutWindowExt18ChangeButtonStatusEii @ 252 NONAME
-	_ZN24CPeninputLayoutWindowExt18ChangeClientLayoutEi @ 253 NONAME
-	_ZN24CPeninputLayoutWindowExt18HandleControlEventEiP14CFepUiBaseCtrlRK7TDesC16 @ 254 NONAME
-	_ZN24CPeninputLayoutWindowExt19SetEnableSettingBtnEi @ 255 NONAME
-	_ZN24CPeninputLayoutWindowExt20ChangeInputLanguageLEi @ 256 NONAME
-	_ZN24CPeninputLayoutWindowExt20ChangeLayoutPositionEi @ 257 NONAME
-	_ZN24CPeninputLayoutWindowExt20HandleRangeLoopEventEi @ 258 NONAME
-	_ZN24CPeninputLayoutWindowExt20SetEnableSwitchToHwrEi @ 259 NONAME
-	_ZN24CPeninputLayoutWindowExt21HandleShiftBtnClickedEv @ 260 NONAME
-	_ZN24CPeninputLayoutWindowExt21OnInputLanguageChangeEv @ 261 NONAME
-	_ZN24CPeninputLayoutWindowExt21SetSwitchBtnTextColorER22CAknFepCtrlEventButton @ 262 NONAME
-	_ZN24CPeninputLayoutWindowExt24HandleCapslockBtnClickedEv @ 263 NONAME
-	_ZN24CPeninputLayoutWindowExt24SizeChangedForBaseWindowEi @ 264 NONAME
-	_ZN24CPeninputLayoutWindowExt25CaseByShiftCapslockStatusEv @ 265 NONAME
-	_ZN24CPeninputLayoutWindowExt4DrawEv @ 266 NONAME
-	_ZN24CPeninputLayoutWindowExt7DoCloseEv @ 267 NONAME
-	_ZN24CPeninputLayoutWindowExtC2EP12CFepUiLayoutP22MPeninputLayoutContext @ 268 NONAME
-	_ZN24CPeninputLayoutWindowExtD0Ev @ 269 NONAME
-	_ZN24CPeninputLayoutWindowExtD1Ev @ 270 NONAME
-	_ZN24CPeninputLayoutWindowExtD2Ev @ 271 NONAME
-	_ZNK24CPeninputCommonLayoutExt10UiStateMgrEv @ 272 NONAME
-	_ZNK24CPeninputCommonLayoutExt12LayoutWindowEv @ 273 NONAME
-	_ZNK24CPeninputLayoutWindowExt10ConfigInfoEv @ 274 NONAME
-	_ZTI24CPeninputCommonLayoutExt @ 275 NONAME ; #<TI>#
-	_ZTI24CPeninputLayoutWindowExt @ 276 NONAME ; #<TI>#
-	_ZTV24CPeninputCommonLayoutExt @ 277 NONAME ; #<VT>#
-	_ZTV24CPeninputLayoutWindowExt @ 278 NONAME ; #<VT>#
-	_ZThn4_N24CPeninputCommonLayoutExt13HandleCommandEiPh @ 279 NONAME ; #<thunk>#
-	_ZThn4_N24CPeninputCommonLayoutExt12PenInputTypeEv @ 280 NONAME ; #<thunk>#
-	_ZThn4_N24CPeninputCommonLayoutExt4InitEv @ 281 NONAME ; #<thunk>#
-	_ZThn616_N24CPeninputLayoutWindowExt18HandleControlEventEiP14CFepUiBaseCtrlRK7TDesC16 @ 282 NONAME ; #<thunk>#
-	_ZThn92_N24CPeninputCommonLayoutExt11RequestDataE17TPeninputDataType @ 283 NONAME ABSENT ; #<thunk>#
-	_ZThn92_N24CPeninputCommonLayoutExt16IsShiftPermittedEv @ 284 NONAME ABSENT ; #<thunk>#
-	_ZThn92_N24CPeninputCommonLayoutExt17SendEventToWindowEiP14CFepUiBaseCtrlRK7TDesC16 @ 285 NONAME ABSENT ; #<thunk>#
-	_ZThn92_N24CPeninputCommonLayoutExt19IsCapsLockPermittedEv @ 286 NONAME ABSENT ; #<thunk>#
-	_ZThn92_N24CPeninputCommonLayoutExt7SaveKeyEii @ 287 NONAME ABSENT ; #<thunk>#
-	_ZThn92_N24CPeninputCommonLayoutExt7SendkeyEiRK7TDesC16 @ 288 NONAME ABSENT ; #<thunk>#
-	_ZThn92_N24CPeninputCommonLayoutExt7SetDataE17TPeninputDataTypePv @ 289 NONAME ABSENT ; #<thunk>#
-	_ZThn8_N24CPeninputCommonLayoutExt18HandleControlEventEiP14CFepUiBaseCtrlRK7TDesC16 @ 290 NONAME ; #<thunk>#
-	_ZN24CPeninputLayoutWindowExt22HandleMergedBtnClickedEi @ 291 NONAME
-	_ZN24CPeninputLayoutWindowExt24ChangeMergedButtonStatusEii @ 292 NONAME
-	_ZN21CPeninputLayoutWindow14IsMultiLineIcfEv @ 293 NONAME
-	_ZN21CPeninputLayoutWindow16IsCanChangeRangeEi @ 294 NONAME
-	_ZN21CPeninputLayoutWindow21ChangeToPreviousRangeEi @ 295 NONAME
-	_ZN21CPeninputLayoutWindow17SetTextAlignmentLEi @ 296 NONAME
-	_ZN24CPeninputLayoutWindowExt17SetTextAlignmentLEi @ 297 NONAME
-	_ZThn88_N21CPeninputCommonLayout11RequestDataE17TPeninputDataType @ 298 NONAME ; #<thunk>#
-	_ZThn88_N21CPeninputCommonLayout16IsShiftPermittedEv @ 299 NONAME ; #<thunk>#
-	_ZThn88_N21CPeninputCommonLayout17SendEventToWindowEiP14CFepUiBaseCtrlRK7TDesC16 @ 300 NONAME ; #<thunk>#
-	_ZThn88_N21CPeninputCommonLayout19IsCapsLockPermittedEv @ 301 NONAME ; #<thunk>#
-	_ZThn88_N21CPeninputCommonLayout7SaveKeyEii @ 302 NONAME ; #<thunk>#
-	_ZThn88_N21CPeninputCommonLayout7SendkeyEiRK7TDesC16 @ 303 NONAME ; #<thunk>#
-	_ZThn88_N21CPeninputCommonLayout7SetDataE17TPeninputDataTypePv @ 304 NONAME ; #<thunk>#
-	_ZThn88_N24CPeninputCommonLayoutExt11RequestDataE17TPeninputDataType @ 305 NONAME ; #<thunk>#
-	_ZThn88_N24CPeninputCommonLayoutExt16IsShiftPermittedEv @ 306 NONAME ; #<thunk>#
-	_ZThn88_N24CPeninputCommonLayoutExt17SendEventToWindowEiP14CFepUiBaseCtrlRK7TDesC16 @ 307 NONAME ; #<thunk>#
-	_ZThn88_N24CPeninputCommonLayoutExt19IsCapsLockPermittedEv @ 308 NONAME ; #<thunk>#
-	_ZThn88_N24CPeninputCommonLayoutExt7SaveKeyEii @ 309 NONAME ; #<thunk>#
-	_ZThn88_N24CPeninputCommonLayoutExt7SendkeyEiRK7TDesC16 @ 310 NONAME ; #<thunk>#
-	_ZThn88_N24CPeninputCommonLayoutExt7SetDataE17TPeninputDataTypePv @ 311 NONAME ; #<thunk>#
-	_ZNK29CPeninputNumericKepMappingMgr17KeyMappingStringLEii @ 312 NONAME
-	_ZN21CPeninputCommonLayout22SetPositionFromOutsideERK6TPoint @ 313 NONAME
-	_ZN24CPeninputCommonLayoutExt22SetPositionFromOutsideERK6TPoint @ 314 NONAME
-	_ZThn4_N21CPeninputCommonLayout22SetPositionFromOutsideERK6TPoint @ 315 NONAME ; #<thunk>#
-	_ZThn4_N24CPeninputCommonLayoutExt22SetPositionFromOutsideERK6TPoint @ 316 NONAME ; #<thunk>#
-	_ZN24CPeninputLayoutWindowExt32HandleShiftAndCapslockBtnClickedEv @ 317 NONAME
-
--- a/textinput/peninputcommonlayout/group/bld.inf	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
-* 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:  Build information file for project peninputcommonlayout
-*
-*/
-
-#include <platform_paths.hrh>
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../rom/peninputcommonlayout.iby CORE_MW_LAYER_IBY_EXPORT_PATH( peninputcommonlayout.iby )
-
-../inc/peninputclientlayoutinfo.h                |../../../inc/peninputclientlayoutinfo.h
-../inc/peninputclientlayoutinfo.inl              |../../../inc/peninputclientlayoutinfo.inl
-../inc/peninputcommonlayout.h                    |../../../inc/peninputcommonlayout.h
-../inc/peninputcommonlayoutext.h                 |../../../inc/peninputcommonlayoutext.h
-../inc/peninputcommonlayout.rh                   |../../../inc/peninputcommonlayout.rh 
-../inc/peninputcommonlayoutglobalenum.h          |../../../inc/peninputcommonlayoutglobalenum.h
-../inc/peninputctrlpool.h                        |../../../inc/peninputctrlpool.h
-../inc/peninputdataconverter.h                   |../../../inc/peninputdataconverter.h
-../inc/peninputdatamgr.h                         |../../../inc/peninputdatamgr.h
-../inc/peninputdataprovider.h                    |../../../inc/peninputdataprovider.h
-../inc/peninputlayoutconfig.h                    |../../../inc/peninputlayoutconfig.h
-../inc/peninputlayoutconfig.inl                  |../../../inc/peninputlayoutconfig.inl
-../inc/peninputlayoutcontext.h                   |../../../inc/peninputlayoutcontext.h
-../inc/peninputlayoutwindow.h                    |../../../inc/peninputlayoutwindow.h
-../inc/peninputlayoutwindowext.h                 |../../../inc/peninputlayoutwindowext.h
-../inc/peninputrangebarinfo.h                    |../../../inc/peninputrangebarinfo.h
-../inc/peninputrangebarinfo.inl                  |../../../inc/peninputrangebarinfo.inl
-../inc/peninputshiftcapsInfo.h                   |../../../inc/peninputshiftcapsinfo.h
-../inc/peninputshiftcapsinfo.inl                 |../../../inc/peninputshiftcapsinfo.inl
-../inc/peninputuistatebase.h                     |../../../inc/peninputuistatebase.h
-../inc/peninputuistatemgr.h                      |../../../inc/peninputuistatemgr.h 
-../inc/peninputuistatemgrinterface.h             |../../../inc/peninputuistatemgrinterface.h
-
-PRJ_MMPFILES
-../group/peninputcommonlayout.mmp
--- a/textinput/peninputcommonlayout/group/peninputcommonlayout.mmp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-/*
-* 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:  Project definition file for project peninputcommonlayout
-*
-*/
-
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-TARGET          peninputcommonlayout.dll
-TARGETTYPE      DLL
-UID             0x1000008D 0x10282357
-
-CAPABILITY      CAP_GENERAL_DLL
-VENDORID        VID_DEFAULT
-
-SOURCEPATH      ../src
-SOURCE          peninputclientlayoutinfo.cpp
-SOURCE          peninputcommonlayout.cpp
-SOURCE          peninputcommonlayoutext.cpp
-SOURCE          peninputctrlpool.cpp
-SOURCE          peninputdatamgr.cpp
-SOURCE          peninputlayoutconfig.cpp
-SOURCE          peninputlayoutwindow.cpp
-SOURCE          peninputlayoutwindowext.cpp
-SOURCE          peninputrangebarinfo.cpp
-SOURCE          peninputshiftcapsInfo.cpp
-SOURCE          peninputdataconverter.cpp
-SOURCE          peninputuistatemgr.cpp
-SOURCE          peninputuistatebase.cpp
-SOURCE          peninputnumerickeymappingmgr.cpp
-
-USERINCLUDE     ../inc
-
-// This is a SYSTEMINCLUDE macro containing the middleware
-// layer specific include directories
-MW_LAYER_SYSTEMINCLUDE
-
-SYSTEMINCLUDE   /epoc32/include/ecom
-SYSTEMINCLUDE   ../../../inc
-SYSTEMINCLUDE   ../../inc
-
-LIBRARY         euser.lib 
-LIBRARY         ws32.lib 
-LIBRARY         ecom.lib 
-LIBRARY         efsrv.lib
-LIBRARY         gdi.lib 
-LIBRARY         bafl.lib 
-LIBRARY         avkon.lib
-LIBRARY         aknlayout.lib 
-LIBRARY         aknlayout2scalable.lib 
-LIBRARY         aknicon.lib
-LIBRARY         centralrepository.lib 
-LIBRARY         cone.lib
-LIBRARY         peninputlayouteng.lib 
-LIBRARY         peninputlayoutcontrol.lib
-LIBRARY         peninputpluginutils.lib
-LIBRARY         peninputcommonctrls.lib
-LIBRARY         aknskins.lib
--- a/textinput/peninputcommonlayout/inc/peninputclientayoutinfo.inl	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/*
-* 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:  image layout inline function 
-*
-*/
-
-
-// -----------------------------------------------------------------------------
-// CPeninputControlInfo::ControlID
-// -----------------------------------------------------------------------------
-//
-inline const TInt CPeninputControlInfo::ControlID() const 
-    {
-    return iControlID;
-    }
-
-inline const TInt CPeninputControlInfo::ControlType() const 
-    {
-    return iControlType;
-    }
-    
-inline const TInt CPeninputControlInfo::BeginRow() const 
-    {
-    return iBeginRow;
-    }
-     
-inline const TInt CPeninputControlInfo::EndRow() const 
-    {
-    return iEndRow;
-    }
-    
-inline const TInt CPeninputControlInfo::BeginColumn() const 
-    {
-    return iBeginColumn; 
-    }
-
-inline const TInt CPeninputControlInfo::EndColumn() const 
-    {
-    return iEndColumn;
-    }
-
-inline TInt CPeninputClientLayoutInfo::LayoutID() const 
-    {
-    return iLayoutID;        
-    }
-
-inline TInt CPeninputClientLayoutInfo::Columns() const 
-    {
-    return iColumns;        
-    }
-
-inline TInt CPeninputClientLayoutInfo::Rows() const 
-    {
-    return iRows;        
-    }
-    
-inline RPointerArray<CPeninputControlInfo>& CPeninputClientLayoutInfo::ControlInfoList() 
-    {
-    return iControlInfoList;   
-    }
-
-// End Of File        
--- a/textinput/peninputcommonlayout/inc/peninputclientlayoutinfo.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,317 +0,0 @@
-/*
-* 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:  client layout information
-*
-*/
-
-
-#ifndef C_PENINPUTCLIENTLAYOUTINFO_H
-#define C_PENINPUTCLIENTLAYOUTINFO_H
-
-// System includes
-#include <e32base.h>
-#include <w32std.h>
-#include <barsread.h>
-
-/**
- *  Control info class
- *
- *  This class is to define control info. Application can create it from  
- *  resource file. Control info includes control id, begin row, end row,  
- *  bgin column and end column. 
- *
- *  @lib peninputcommonlayout.lib
- *  @since S60 v3.2
- */
-class CPeninputControlInfo : public CBase
-    {
-    
-public:
-
-    /**
-     * Symbian constructor
-     *
-     * @since S60 v3.2
-     * @param aReader Resource reader    
-     * @return The pointer to CPeninputControlInfo object
-     */
-    IMPORT_C static CPeninputControlInfo* NewL( TResourceReader& aReader );
-
-    /**
-     * Destructor
-     *
-     * @since S60 v3.2
-     * @return None
-     */    
-    IMPORT_C virtual ~CPeninputControlInfo();
-
-    /**
-     * Get control id
-     *
-     * @since S60 v3.2
-     * @return Control id
-     */    
-    inline const TInt ControlID() const;
-
-    /**
-     * Get control type
-     *
-     * @since S60 v3.2
-     * @return Control type
-     */    
-    inline const TInt ControlType() const;
-
-    /**
-     * Get begin row
-     *
-     * @since S60 v3.2
-     * @return Begin row
-     */    
-    inline const TInt BeginRow() const;
-
-    /**
-     * Get end row
-     *
-     * @since S60 v3.2
-     * @return End row
-     */    
-    inline const TInt EndRow() const;
-
-    /**
-     * Get begine column
-     *
-     * @since S60 v3.2
-     * @return Begine column
-     */    
-    inline const TInt BeginColumn() const;
-
-    /**
-     * Get end column
-     *
-     * @since S60 v3.2
-     * @return End column
-     */    
-    inline const TInt EndColumn() const;
-
-protected:
-
-    /**
-     * Second phase constructor
-     *
-     * @since S60 v3.2
-     * @param aReader Resource reader
-     * @return None
-     */
-    void ConstructL( TResourceReader& aReader );
-
-    /**
-     * Construct from resource 
-     *
-     * @since S60 v3.2
-     * @param aReader Resource reader
-     * @return None
-     */
-    void ConstructFromResourceL( TResourceReader& aReader );
-
-private: // Data
-
-    /**
-     * Control id
-     */  
-    TInt iControlID;
-
-    /**
-     * Control Type
-     */
-    TInt iControlType;
-
-    /**
-     * Begin row
-     */  
-    TInt iBeginRow;
-
-    /**
-     * End row
-     */  
-    TInt iEndRow;
-
-    /**
-     * Begin column
-     */  
-    TInt iBeginColumn;
-
-    /**
-     * End column
-     */  
-    TInt iEndColumn;
-    
-    };
-
-/**
- *  Client layout class
- *
- *  This class is to implement image layout. Application can create it from  
- *  resource file. Control info includes control id, row and column. 
- *
- *  @lib peninputcommonlayout.lib
- *  @since S60 v3.2
- */
-class CPeninputClientLayoutInfo : public CBase
-    {
-    
-public:
-
-    /**
-     * Symbian constructor
-     *
-     * @since S60 v3.2
-     * @param aReader Resource reader        
-     * @return The pointer to CPeninputClientLayoutInfo object
-     */
-    IMPORT_C static CPeninputClientLayoutInfo* NewL( 
-        TResourceReader& aReader );
-
-    /**
-     * Symbian constructor
-     *
-     * @since S60 v3.2
-     * @param aReader Resource reader        
-     * @return The pointer to CPeninputClientLayoutInfo object
-     */
-    IMPORT_C static CPeninputClientLayoutInfo* NewLC( 
-        TResourceReader& aReader );
-
-    /**
-     * Destructor
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C virtual ~CPeninputClientLayoutInfo();
-    
-    /**
-     * Contruct from resource file
-     *
-     * @since S60 v3.2
-     * @param aReader Resource reader    
-     * @return None
-     */    
-    IMPORT_C void ConstructFromResourceL( TResourceReader& aReader );
-
-    /**
-     * Get control info
-     *
-     * @since S60 v3.2
-     * @param aControlID control id  
-     * @return The pointer to CPeninputControlInfo object
-     */    
-    IMPORT_C CPeninputControlInfo* FindControlInfo( const TInt aControlID );
-
-    /**
-     * Add control info
-     *
-     * @since S60 v3.2
-     * @param aControlInfo Pointer to control info
-     * @return None
-     */    
-    IMPORT_C void AddControlInfo( CPeninputControlInfo* aControlInfo );
-
-    /**
-     * Remove control info
-     *
-     * @since S60 v3.2
-     * @param aControlInfo Pointer to control info
-     * @return None
-     */  
-    IMPORT_C void RemoveControlInfo( CPeninputControlInfo* aControlInfo );
- 
-    /**
-     * Remove control info based on control id
-     *
-     * @since S60 v3.2
-     * @param aControlID Control id
-     * @return None
-     */ 
-    IMPORT_C void RemoveControlInfo( const TInt aControlID );
-
-    /**
-     * Get layout id
-     *
-     * @since S60 v3.2
-     * @return Layout id
-     */ 
-    inline TInt LayoutID() const;
-
-    /**
-     * Get column
-     *
-     * @since S60 v3.2
-     * @return Column
-     */ 
-    inline TInt Columns() const;
-
-    /**
-     * Get row
-     *
-     * @since S60 v3.2
-     * @return Row
-     */ 
-    inline TInt Rows() const;
-
-    /**
-     * Get control array
-     *
-     * @since S60 v3.2
-     * @return Control array
-     */ 
-    inline RPointerArray<CPeninputControlInfo>& ControlInfoList();
-
-protected:
-
-    /**
-     * Symbian second-phase constructor
-     *
-     * @since S60 v3.2
-     * @param aReader Resource reader   
-     * @return None
-     */ 
-    void ConstructL( TResourceReader& aReader );  
-                
-private: // Data
-
-    /**
-     * Layout id
-     */  
-    TInt iLayoutID;
-
-    /**
-     * Column count
-     */  
-    TInt iColumns;
-
-    /**
-     * Row count
-     */  
-    TInt iRows;
-
-    /**
-     * Control info array
-     */  
-    RPointerArray<CPeninputControlInfo> iControlInfoList;
-    
-    };
-
-#include "peninputclientlayoutinfo.inl"
-    
-#endif // C_PENINPUTCLIENTLAYOUTINFO_H
--- a/textinput/peninputcommonlayout/inc/peninputclientlayoutinfo.inl	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,118 +0,0 @@
-/*
-* 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:  image layout inline function 
-*
-*/
-
-
-// -----------------------------------------------------------------------------
-// CPeninputControlInfo::ControlID
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline const TInt CPeninputControlInfo::ControlID() const 
-    {
-    return iControlID;
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputControlInfo::ControlType
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline const TInt CPeninputControlInfo::ControlType() const 
-    {
-    return iControlType;
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputControlInfo::BeginRow
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline const TInt CPeninputControlInfo::BeginRow() const 
-    {
-    return iBeginRow;
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputControlInfo::EndRow
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline const TInt CPeninputControlInfo::EndRow() const 
-    {
-    return iEndRow;
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputControlInfo::BeginColumn
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline const TInt CPeninputControlInfo::BeginColumn() const 
-    {
-    return iBeginColumn; 
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputControlInfo::EndColumn
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline const TInt CPeninputControlInfo::EndColumn() const 
-    {
-    return iEndColumn;
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputClientLayoutInfo::LayoutID
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline TInt CPeninputClientLayoutInfo::LayoutID() const 
-    {
-    return iLayoutID;        
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputClientLayoutInfo::Columns
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline TInt CPeninputClientLayoutInfo::Columns() const 
-    {
-    return iColumns;        
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputClientLayoutInfo::Rows
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline TInt CPeninputClientLayoutInfo::Rows() const 
-    {
-    return iRows;        
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputClientLayoutInfo::ControlInfoList
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline RPointerArray<CPeninputControlInfo>& 
-    CPeninputClientLayoutInfo::ControlInfoList() 
-    {
-    return iControlInfoList;   
-    }
--- a/textinput/peninputcommonlayout/inc/peninputcommonlayout.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,379 +0,0 @@
-/*
-* 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:  peninput common layout framework
-*
-*/
-
-
-#ifndef C_CPENINPUTCOMMONLAYOUT_H
-#define C_CPENINPUTCOMMONLAYOUT_H
-
-// System includes
-#include <centralrepository.h>
-#include <peninputlayout.h>
-#include <peninputlayoutplugininterface.h>
-
-// User includes
-#include "peninputlayoutcontext.h"
-
-// Forward decalaration
-class CPeninputDataMgr;
-class CPeninputUiStateMgr;
-class MPeninputUiStateMgr;
-class CPeninputLayoutWindow;
-
-/**
- *  Peninput common layout
- *
- *  @lib peninputcommonlayout.lib
- *  @since S60 v3.2
- */
-class CPeninputCommonLayout : public CFepUiLayout, 
-                              public MPeninputLayoutContext
-    {
-
-public:
-
-    /**
-     * Destructor
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C virtual ~CPeninputCommonLayout();
-
-    /**
-     * Get data manager
-     *
-     * @since S60 v3.2
-     * @return The pointer to MPeninputDataProvider
-     */
-    IMPORT_C MPeninputDataProvider* DataMgr() const;
-
-    /**
-     * Get layout window
-     *
-     * @since S60 v3.2
-     * @return The pointer to CPeninputLayoutWindow object
-     */
-    IMPORT_C CPeninputLayoutWindow* LayoutWindow() const;
-
-    /**
-     * Get ui state manager
-     *
-     * @since S60 v3.2
-     * @return The pointer to MPeninputUiStateMgr
-     */
-    IMPORT_C MPeninputUiStateMgr* UiStateMgr() const;
-
-// From CFepUiLayout
-
-    /**
-     * From CFepUiLayout
-     * Handle layout command event
-     *
-     * @since S60 v3.2
-     * @param aCmd Command Id
-     * @param aData Data for command
-     * @return Errors when return value smaller than 0     
-     */
-    IMPORT_C TInt HandleCommand( TInt aCmd, TUint8* aData );
-
-    /**
-     * From CFepUiLayout
-     * Inform layout the size changing event
-     *
-     * @since S60 v3.2
-     * @param aData The event data
-     * @return KErrNone if successfully size changing
-     */
-    IMPORT_C TInt SizeChanged( const TAny* aData );
-
-    /**
-     * From CFepUiLayout
-     * Handle the event from control
-     *
-     * @since S60 v3.2
-     * @param aEventType The event type
-     * @param aCtrl The sender
-     * @param aEventData The event data
-     * @return None
-     */
-    IMPORT_C virtual void HandleControlEvent( TInt aEventType, 
-                                              CFepUiBaseCtrl* aCtrl, 
-                                              const TDesC& aEventData );
-
-    /**
-     * From CFepUiLayout
-     * Handle editor text coming
-     * Called by animation dll when app editor text is coming
-     * If a ui layout has a editor area, it must implements 
-     * this function to get the text
-     *
-     * @since S60 v3.2
-     * @param aData Editor Text Coming data
-     * @return KErrNone is operation succeeded
-     */
-    IMPORT_C TInt OnAppEditorTextComing( 
-        const TFepInputContextFieldData& aData );
-
-    /**
-     * From CFepUiLayout 
-     * Get the layout type, vkb or hwr. It's now similar to LayoutType which defines in 
-     * another interface.
-     * 
-     * @since S60 v3.2
-     * @return The layout type
-     */
-    IMPORT_C virtual TInt PenInputType();
-
-                                  
-// From MKeyRawEventHandler
-
-    /**
-     * From CFepUiLayout
-     * Handle raw event key
-     *
-     * @since S60 v3.2
-     * @param aKeyEvent The key raw event data
-     * @return ETrue if the key was handled, otherwise EFalse
-     */
-    IMPORT_C TBool HandleRawKeyEventL( const TRawEvent& aKeyEvent );
-
-// From MPeninputLayoutContext
-
-    /**
-     * Send event to window
-     *
-     * @since S60 v3.2
-     * @param aEventType The event type
-     * @param aCtrl The sender
-     * @param aEventData The event data
-     * @return None
-     */
-    IMPORT_C void SendEventToWindow( TInt aEventType, 
-                                     CFepUiBaseCtrl* aCtrl, 
-                                     const TDesC& aEventData = KNullDesC );
-
-    /**
-     * Send event to layout
-     *
-     * @since S60 v3.2
-     * @param aEventType The event type
-     * @param aCtrl The sender
-     * @param aEventData The event data
-     * @return None
-     */
-    IMPORT_C void SendEventToLayout( TInt aEventType, 
-                                     CFepUiBaseCtrl* aCtrl, 
-                                     const TDesC& aEventData = KNullDesC );
-
-
-    IMPORT_C TBool IsShiftPermitted();
-    
-    IMPORT_C TBool IsCapsLockPermitted();
-    /**
-     * Request data from data provider
-     *
-     * @since S60 v3.2
-     * @param aDataType The data request 
-     * @return The data you request
-     */
-    IMPORT_C TAny* RequestData( TPeninputDataType aDataType );
-
-    /**
-     * Set resource utils
-     *
-     * @since S60 v3.2
-     * @param aDataType Data type
-     * @param aData Data value
-     * @return None
-     */
-    IMPORT_C void SetData( TPeninputDataType aDataType, TAny* aData );
-
-    /**
-     * Sendkey to fep
-     *
-     * @since S60 v3.2
-     * @param aEventType Event type
-     * @param aEventData Event data
-     * @return None
-     */
-    IMPORT_C void Sendkey( TInt aEventType, 
-                           const TDesC& aEventData = KNullDesC );
-                           
-    IMPORT_C void SetPositionFromOutside(const TPoint& aNewPos);
-
-protected:
-
-   /**
-     * 2nd phase construction - constructor
-     *
-     * @since S60 v3.2
-     * @param aLafEnv The LAF enviroment
-     * @param aLayoutOwner The owner of layout
-     * @return None
-     */ 
-    IMPORT_C CPeninputCommonLayout( MLayoutOwner* aLayoutOwner );
-
-    /**
-     * 2nd phase construction - second constructor
-     *
-     * @since S60 v3.2
-     * @param aInitData Init data of layout
-     * @return None
-     */
-    IMPORT_C void ConstructL( const TAny* aInitData );
-
-    /**
-     * From CFepUiLayout
-     * Test whether the position is valid
-     * This is used to test the target position when draging controls 
-     * to some place
-     *
-     * @since S60 v4.0
-     * @param aRect The rect to be checked
-     * @param aDragbar The dragbar being dragged
-     * @param aVInfo The valid information in vertial dirtection. ETrue is 
-     *        vertical moving is valid.It's only used when aRect is not 
-     *        valid but moving in vertical direction is valid
-     * @param aHInfo The valid information in horizontal dirtection
-     *        ETrue is horizontal moving is valid.It's only used when aRect 
-     *        is not valid but moving in vertical direction is valid
-     * @param aFlag ETrue if whole layout is moving, otherwise, only 
-     *        components moving
-     * @return ETrue if aRect is a valid position. Otherwise, EFalse
-     */       
-    IMPORT_C TBool IsValidDestination( const TRect& aRect, 
-                                       CDragBar* aDragBar, 
-                                       TBool& aVInfo, 
-                                       TBool& aHInfo, 
-                                       TBool aFlag );
-
-    /**
-     * Init layout owner
-     *
-     * @since S60 v3.2
-     * @return The rect of the layout
-     */
-    IMPORT_C virtual TRect Init();
-
-    /**
-     * Save a virtual keybroad key to the repository
-     * 
-     * @since S60 v3.2
-     * @param aKey The key name in repository
-     * @param aValue The unicode of key
-     * @return None
-     */
-    IMPORT_C virtual void SaveKey( TInt aKey, TInt aValue );
-
-    /**
-     * Factory method for creation of layout window. The decision which 
-     * layout window(VKB or HWR) is created will be postboned in subclasses 
-     * of this class.
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    virtual void CreateLayoutWindowL() = 0;
-
-    /**
-     * Factory method for creation resource config. It is enough at present 
-     * to create and initialize resource config. Any necessary extension 
-     * will be implemented in subclasses.
-     * 
-     * @since S60 v3.2
-     * @return None
-     */
-    virtual void CreateDataMgrL( const TAny* aInitData ) = 0;
-
-    /**
-     * Get the layout type, vkb or hwr, child class must rewrite the function.
-     * 
-     * @since S60 v3.2
-     * @return The layout type
-     */
-     virtual TInt LayoutType() = 0;
-
-private: // New method
-	
-    /**
-     * Change input language
-     *
-     * @since S60 v3.2
-     * @param aLangID The language id you want to change to
-     * @return None
-     */
-    void ChangeInputLanguage( TInt aLangID );
-
-    /**
-     * Change current range
-     *
-     * @since S60 v3.2
-     * @param aRange The range need to set
-     * @return None
-     */
-    void ChangeRange( TInt aRange );
-    
-    /**
-     * Translate range for some languages
-     *
-     * @since S60 v3.2
-     * @param aRange The range need to set
-     * @return New range
-     */    
-    TInt TranslateRange(TInt aRange);
-    
-    /**
-     * Set if enable switch to hwr
-     *
-     * @since S60 v3.2
-     * @param aEnable The enable flag
-     * @return None
-     */ 
-    void SetEnableSwitchToHwr(TBool aEnable);
-    
-    /**
-     * Set if enable option button and language switch button
-     *
-     * @since S60 v3.2
-     * @param aEnable The enable flag
-     * @return None
-     */ 
-    void SetEnableSettingBtn(TBool aEnable);
-    
-protected:
-	
-    /**
-     * The data manager
-     * Own
-     */
-    CPeninputDataMgr* iDataMgr;
-    
-    /**
-     * The ui state manager
-     * Own
-     */
-    CPeninputUiStateMgr* iUiStateMgr;
-
-    /**
-     * The layout window
-     * Own
-     */    
-    CPeninputLayoutWindow* iLayoutWindow;
-    
-    };
-
-#endif // C_CPENINPUTCOMMONLAYOUT_H
--- a/textinput/peninputcommonlayout/inc/peninputcommonlayout.rh	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,442 +0,0 @@
-/*
-* Copyright (c) 2002-2006 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:  Resource headers for project peninputcommonlayout
-*
-*/
-
-
-#ifndef PENINPUTCOMMONLAYOUT_RH
-#define PENINPUTCOMMONLAYOUT_RH
-
-// system includes
-#include <uikon.rh>
-#include <peninputcommonctrls.rh>
-
-// ---------------------------------------------------------------------------
-// Layout base window
-// ---------------------------------------------------------------------------
-//
-STRUCT PENINPUT_LAYOUT_BASE_WINDOW
-    {
-    WORD supportskin = 0xffff;
-    LLINK moveimage = 0;
-    LLINK closeimage;
-    LLINK icfimage;
-    LLINK optionimage;
-    LLINK keymapping = 0;
-    LLINK shadow;
-    LLINK arrowleftimage = 0;
-    LLINK arrowrightimage = 0;
-    LLINK bgimage = 0;
-    }
-// ---------------------------------------------------------------------------
-// Layout base window
-// ---------------------------------------------------------------------------
-//
-STRUCT PENINPUT_LAYOUT_BASE_WINDOW_INFO
-    {
-    WORD supportskin = 0xffff;
-    LLINK shadow;
-    LLINK bgimage = 0;
-    STRUCT controls[];
-    }
-// ---------------------------------------------------------------------------
-// Window input context field
-// ---------------------------------------------------------------------------
-//
-STRUCT PENINPUT_LAYOUT_ICF
-    {
-    LTEXT bmpfile="";   
-    LONG imgmajorskinid=0xffff;
-    
-    WORD icfbgimg=0xffff;
-    WORD icfbgimgmask=0xffff;
-    WORD icfbgimgskinid=0xffff;
-    
-    LONG colormajorskinid = 0xffff;
-    WORD textcolorgrp = 0xffff;
-    WORD textcoloridx = 0xffff;
-    }
-
-
-STRUCT PENINPUT_LAYOUT_MULTILINE_ICF
-    {
-    LONG colormajorskinid = 0xffff;
-    WORD textcolorgrp = 0xffff;
-    WORD textcoloridx = 0xffff;
-    WORD bordercolorgrp = 0xffff;
-    WORD bordercoloridx = 0xffff;
-    }
-    
-// ---------------------------------------------------------------------------
-// Window shadow
-// ---------------------------------------------------------------------------
-//
-STRUCT PENINPUT_LAYOUT_WINDOW_SHADOW
-    {
-    LTEXT bmpfile="";    
-    LONG imgmajorskinid=0xffff;
-    
-    WORD shadowimgtl=0xffff;
-    WORD shadowimgtlmask=0xffff;
-    WORD shadowimgtlskinid=0xffff;
-    
-    WORD shadowimgt=0xffff;
-    WORD shadowimgtmask=0xffff;
-    WORD shadowimgtskinid=0xffff;
-
-    WORD shadowimgtr=0xffff;
-    WORD shadowimgtrmask=0xffff;
-    WORD shadowimgtrskinid=0xffff;
-
-    WORD shadowimgl=0xffff;
-    WORD shadowimglmask=0xffff;
-    WORD shadowimglskinid=0xffff;
-
-    WORD shadowimgr=0xffff;
-    WORD shadowimgrmask=0xffff;
-    WORD shadowimgrskinid=0xffff;
-
-    WORD shadowimgbl=0xffff;
-    WORD shadowimgblmask=0xffff;
-    WORD shadowimgblskinid=0xffff;
-
-    WORD shadowimgb=0xffff;
-    WORD shadowimgbmask=0xffff;
-    WORD shadowimgbskinid=0xffff;
-
-    WORD shadowimgbr=0xffff;
-    WORD shadowimgbrmask=0xffff;  
-    WORD shadowimgbrskinid=0xffff;
-    }
-
-// ---------------------------------------------------------------------------
-// Layout numeric key mapping string list
-// ---------------------------------------------------------------------------
-//
-STRUCT PENINPUT_LAYOUT_NUMERIC_KEY_MAPPING_STRING_LIST
-    {
-    STRUCT items[];
-    }
-
-// ---------------------------------------------------------------------------
-// Layout numeric key mapping string 
-// ---------------------------------------------------------------------------
-//
-STRUCT PENINPUT_LAYOUT_NUMERIC_KEY_MAPPING_STRING
-    {
-    WORD numerickeymapping=0;
-
-    LTEXT PermittedString="";
-    }
-
-// ---------------------------------------------------------------------------
-// Layout config information
-// ---------------------------------------------------------------------------
-//
-STRUCT PENINPUT_LAYOUT_CONFIG_INFO
-    {
-    WORD language=0;          // TLanguage in symbian
-
-    LTEXT languagestring="";  // such as "En",
-
-    WORD casesensitive=0;     // 0:case not sensitive 1:case sensitive
-
-    WORD guideline=0;         // TPeninputGuideLineStyle   
-    
-    WORD positiontopline=0;            // The position percent of bottom line 
-
-    WORD positionbottomline=0;         // The position percent of bottom line 
-
-    LLINK clientlayoutlist;   // PENINPUT_LAYOUT_CLIENT_LAYOUT_LIST
-
-    LLINK vkblayoutlist;      // PENINPUT_LAYOUT_VKB _LAYOUT_LIST
-
-    LLINK rangebarinfo;       // PENINPUT_LAYOUT_RANGE_BAR_INFO
-
-    LLINK shiftcapsinfo;      // PENINPUT_LAYOUT_SHIFT_CAPS_INFO
-
-    LLINK rangebarresource;   // Range bar resource   
-    }
-
-// ---------------------------------------------------------------------------
-// Client layout list
-// ---------------------------------------------------------------------------
-//
-STRUCT PENINPUT_LAYOUT_CLIENT_LAYOUT_LIST
-    {
-    STRUCT items[];
-    }
-
-// ---------------------------------------------------------------------------
-// Client layout 
-// ---------------------------------------------------------------------------
-//
-STRUCT PENINPUT_LAYOUT_CLIENT_LAYOUT
-    {
-    // Client layout id
-    WORD id=0;
-
-    // column counts
-    WORD colcount=0;
-
-    // row counts
-    WORD rowcount=0;
-    
-    // the bg mask bmp of the layout
-    STRUCT controls[];
-    }
-
-// ---------------------------------------------------------------------------
-// Layout control
-// ---------------------------------------------------------------------------
-//
-STRUCT PENINPUT_LAYOUT_CONTROL
-    {
-    // Control ID
-    WORD id=0;
-
-    // the control type
-    WORD controltype=0;
-
-    // the begin row of the control
-    WORD beginrow=0;
-
-    // the begin column of the control
-    WORD begincolumn=0;
-
-    // the end row of the control
-    WORD endrow=0;
-
-    // the end column of the control
-    WORD endcolumn=0;
-    }
-
-// start by vv
-STRUCT PENINPUT_LAYOUT_CONTROL_INFO
-    {
-    // Control ID TPeninputCommonCtrlID
-    WORD id=0;
-   
-    //the control type, new define TResourceCtrlType
-    //WORD controltype=-1; 
-    
-    // the control event id TPeninputLayoutEvent
-    //WORD controleventid=-1;
- 
-    // TKeyCode
-    //WORD  controleventkeycode = -1; 
-
-    // the begin column of the control
-    LLINK image; 
-    }
-// end by vv
-	
-// ---------------------------------------------------------------------------
-// Vkb layout list
-// ---------------------------------------------------------------------------
-//
-STRUCT PENINPUT_LAYOUT_VKB_LAYOUT_LIST
-    {
-    STRUCT items[];
-    }
-
-// ---------------------------------------------------------------------------
-// Vkb layout 
-// ---------------------------------------------------------------------------
-//
-STRUCT PENINPUT_LAYOUT_VKB_LAYOUT
-    {
-    // Vkb layout type id
-    WORD id=0; 
-    
-    // Mbm file name which store the bg bmp of the layout and all controls
-    LTEXT mbmfile="";
-    LONG imgmajorskinid=0xffff;
-    
-    // the bg, bg mask and bg skin bmp of the layout
-    WORD bgbmp=0xffff;
-    WORD bgbmpmask=0xffff;
-    WORD bgbmpskinid=0xffff;
-
-    // the bg, bg mask and bg skin bmp for dimmed key
-    WORD dimbmp=0xffff;
-    WORD dimmask=0xffff;
-    WORD dimbmpskinid=0xffff;
-
-    // column counts
-    WORD colcount=0;
-
-    // row counts
-    WORD rowcount=0;
-
-    STRUCT highlightbmps[];   // list of PENINPUT_LAYOUT_BITMAP_ID
-
-    STRUCT highlightmaskbmps[]; // list of PENINPUT_LAYOUT_BITMAP_ID   
-
-    // keys
-    STRUCT keys[];
-    }
-
-// ---------------------------------------------------------------------------
-// Bitmap id
-// ---------------------------------------------------------------------------
-//
-STRUCT PENINPUT_LAYOUT_BITMAP_ID
-    {
-    // id of bitmap
-    WORD bmpid=0;
-    }
-
-// ---------------------------------------------------------------------------
-// Unit key
-// ---------------------------------------------------------------------------
-//
-STRUCT PENINPUT_LAYOUT_UNIT_KEY
-    {
-    LTEXT unicode="";    
-
-    WORD scancode=0;
-
-    WORD beginrow=0;
-
-    WORD begincolumn=0;
-
-    WORD endrow=0;
-
-    WORD endcolumn=0;
-
-    WORD highlightbmpindex=-1;
-
-    WORD highlightmaskbmpindex=-1;
-		
-		// add this item because some special characters need additional unicode to display
-		LTEXT displayunicode="";
-    }
-
-// ---------------------------------------------------------------------------
-// Popup window
-// ---------------------------------------------------------------------------
-//
-STRUCT PENINPUT_LAYOUT_POPUP_WINDOW
-    {
-    LTEXT bmpfile="";
-    LONG imgmajorskinid=0xffff;
-
-    WORD bgbmp=0xffff;
-    WORD bgmaskbmp=0xffff;
-    WORD bgbmpskinid=0xffff;
-    
-    WORD focusbmp=0xffff;
-    WORD focusmaskbmp=0xffff;
-    WORD focusbmpskinid=0xffff;
-    }
-
-// ---------------------------------------------------------------------------
-// Shift&caps info list
-// ---------------------------------------------------------------------------
-//
-STRUCT PENINPUT_LAYOUT_SHIFT_CAPS_INFO_LIST
-    {
-    STRUCT items[];
-    }
-
-// ---------------------------------------------------------------------------
-// Shift&caps info 
-// ---------------------------------------------------------------------------
-//
-STRUCT PENINPUT_LAYOUT_SHIFT_CAPS_INFO
-    {
-    WORD range = 0;
-    STRUCT items[];
-    }
-
-// ---------------------------------------------------------------------------
-// Shift&caps info single
-// ---------------------------------------------------------------------------
-//
-STRUCT PENINPUT_LAYOUT_SHIFT_CAPS_INFO_SINGLE
-    {
-    WORD id=0;
-    WORD vkblayoutid=0;
-    WORD caseused=0;
-    }
-
-// ---------------------------------------------------------------------------
-// Range bar info
-// ---------------------------------------------------------------------------
-//
-STRUCT PENINPUT_LAYOUT_RANGE_BAR_INFO
-    {
-    WORD style=0;          // 0:hide-style 1:highlight-style
-
-    STRUCT ranges[];       // PENINPUT_LAYOUT_RANGE_INFO
-    }
-
-// ---------------------------------------------------------------------------
-// Range info
-// ---------------------------------------------------------------------------
-//
-STRUCT PENINPUT_LAYOUT_RANGE_INFO
-    {
-    WORD rangeid=0;
-
-    WORD responsestyle=0; // 0:No action 1: change range directory 2: pop choice item
-
-    WORD clientlayoutid=0; 
-
-    WORD vkblayoutid=0;  
-
-    }
-
-// ---------------------------------------------------------------------------
-// Switch text info
-// ---------------------------------------------------------------------------
-//
-STRUCT PENINPUT_LAYOUT_SWITCH_TEXT
-    {
-    LONG colormajorskinid=0xffff;
-    WORD textcolorgrp=0xffff;
-    WORD textcoloridx=0xffff;
-    WORD shadowtextcoloridx=0xffff;
-    }
-    
-// ---------------------------------------------------------------------------
-// Base window background
-// ---------------------------------------------------------------------------
-//   
-STRUCT PENINPUT_LAYOUT_WINDOW_BG
-    {
-    LTEXT bmpfile="";   
-    LONG imgmajorskinid=0xffff;
-    
-    WORD bgimg=0xffff;
-    WORD bgimgmask=0xffff;
-    WORD bgimgskinid=0xffff; 
-    }
-    
-// ---------------------------------------------------------------------------
-// Vkb keyboard 
-// ---------------------------------------------------------------------------
-//      
-STRUCT PENINPUT_LAYOUT_VKB_KEYBOARD
-		{
-    LTEXT bmpfile="";   
-    LONG imgmajorskinid=0xffff;
-    
-    WORD bgimg=0xffff;
-    WORD bgimgmask=0xffff;
-    WORD bgimgskinid=0xffff;
-		}
-#endif // PENINPUTCOMMONLAYOUT_RH
--- a/textinput/peninputcommonlayout/inc/peninputcommonlayoutext.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,378 +0,0 @@
-/*
-* 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:  peninput common layout framework
-*
-*/
-
-
-#ifndef C_CPENINPUTCOMMONLAYOUTEXT_H
-#define C_CPENINPUTCOMMONLAYOUTEXT_H
-
-// System includes
-#include <centralrepository.h>
-#include <peninputlayout.h>
-#include <peninputlayoutplugininterface.h>
-
-// User includes
-#include "peninputlayoutcontext.h"
-
-// Forward decalaration
-class CPeninputDataMgr;
-class CPeninputUiStateMgr;
-class MPeninputUiStateMgr;
-class CPeninputLayoutWindowExt;
-
-/**
- *  Peninput common layout
- *
- *  @lib peninputcommonlayout.lib
- *  @since S60 v3.2
- */
-class CPeninputCommonLayoutExt : public CFepUiLayout, 
-                              public MPeninputLayoutContext
-    {
-
-public:
-
-    /**
-     * Destructor
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C virtual ~CPeninputCommonLayoutExt();
-
-    /**
-     * Get data manager
-     *
-     * @since S60 v3.2
-     * @return The pointer to MPeninputDataProvider
-     */
-    IMPORT_C MPeninputDataProvider* DataMgr() const;
-
-    /**
-     * Get layout window
-     *
-     * @since S60 v3.2
-     * @return The pointer to CPeninputLayoutWindow object
-     */
-    IMPORT_C CPeninputLayoutWindowExt* LayoutWindow() const;
-
-    /**
-     * Get ui state manager
-     *
-     * @since S60 v3.2
-     * @return The pointer to MPeninputUiStateMgr
-     */
-    IMPORT_C MPeninputUiStateMgr* UiStateMgr() const;
-
-// From CFepUiLayout
-
-    /**
-     * From CFepUiLayout
-     * Handle layout command event
-     *
-     * @since S60 v3.2
-     * @param aCmd Command Id
-     * @param aData Data for command
-     * @return Errors when return value smaller than 0     
-     */
-    IMPORT_C TInt HandleCommand( TInt aCmd, TUint8* aData );
-
-    /**
-     * From CFepUiLayout
-     * Inform layout the size changing event
-     *
-     * @since S60 v3.2
-     * @param aData The event data
-     * @return KErrNone if successfully size changing
-     */
-    IMPORT_C TInt SizeChanged( const TAny* aData );
-
-    /**
-     * From CFepUiLayout
-     * Handle the event from control
-     *
-     * @since S60 v3.2
-     * @param aEventType The event type
-     * @param aCtrl The sender
-     * @param aEventData The event data
-     * @return None
-     */
-    IMPORT_C virtual void HandleControlEvent( TInt aEventType, 
-                                              CFepUiBaseCtrl* aCtrl, 
-                                              const TDesC& aEventData );
-
-    /**
-     * From CFepUiLayout
-     * Handle editor text coming
-     * Called by animation dll when app editor text is coming
-     * If a ui layout has a editor area, it must implements 
-     * this function to get the text
-     *
-     * @since S60 v3.2
-     * @param aData Editor Text Coming data
-     * @return KErrNone is operation succeeded
-     */
-    IMPORT_C TInt OnAppEditorTextComing( 
-        const TFepInputContextFieldData& aData );
-
-    /**
-     * From CFepUiLayout 
-     * Get the layout type, vkb or hwr. It's now similar to LayoutType which defines in 
-     * another interface.
-     * 
-     * @since S60 v3.2
-     * @return The layout type
-     */
-    IMPORT_C virtual TInt PenInputType();
-    
-    IMPORT_C void SetPositionFromOutside(const TPoint& aNewPos);
-                                  
-// From MKeyRawEventHandler
-
-    /**
-     * From CFepUiLayout
-     * Handle raw event key
-     *
-     * @since S60 v3.2
-     * @param aKeyEvent The key raw event data
-     * @return ETrue if the key was handled, otherwise EFalse
-     */
-    IMPORT_C TBool HandleRawKeyEventL( const TRawEvent& aKeyEvent );
-
-// From MPeninputLayoutContext
-
-    /**
-     * Send event to window
-     *
-     * @since S60 v3.2
-     * @param aEventType The event type
-     * @param aCtrl The sender
-     * @param aEventData The event data
-     * @return None
-     */
-    IMPORT_C void SendEventToWindow( TInt aEventType, 
-                                     CFepUiBaseCtrl* aCtrl, 
-                                     const TDesC& aEventData = KNullDesC );
-
-    /**
-     * Send event to layout
-     *
-     * @since S60 v3.2
-     * @param aEventType The event type
-     * @param aCtrl The sender
-     * @param aEventData The event data
-     * @return None
-     */
-    IMPORT_C void SendEventToLayout( TInt aEventType, 
-                                     CFepUiBaseCtrl* aCtrl, 
-                                     const TDesC& aEventData = KNullDesC );
-
-
-    IMPORT_C TBool IsShiftPermitted();
-    
-    IMPORT_C TBool IsCapsLockPermitted();
-    /**
-     * Request data from data provider
-     *
-     * @since S60 v3.2
-     * @param aDataType The data request 
-     * @return The data you request
-     */
-    IMPORT_C TAny* RequestData( TPeninputDataType aDataType );
-
-    /**
-     * Set resource utils
-     *
-     * @since S60 v3.2
-     * @param aDataType Data type
-     * @param aData Data value
-     * @return None
-     */
-    IMPORT_C void SetData( TPeninputDataType aDataType, TAny* aData );
-
-    /**
-     * Sendkey to fep
-     *
-     * @since S60 v3.2
-     * @param aEventType Event type
-     * @param aEventData Event data
-     * @return None
-     */
-    IMPORT_C void Sendkey( TInt aEventType, 
-                           const TDesC& aEventData = KNullDesC );
-
-protected:
-
-   /**
-     * 2nd phase construction - constructor
-     *
-     * @since S60 v3.2
-     * @param aLafEnv The LAF enviroment
-     * @param aLayoutOwner The owner of layout
-     * @return None
-     */ 
-    IMPORT_C CPeninputCommonLayoutExt( MLayoutOwner* aLayoutOwner );
-
-    /**
-     * 2nd phase construction - second constructor
-     *
-     * @since S60 v3.2
-     * @param aInitData Init data of layout
-     * @return None
-     */
-    IMPORT_C void ConstructL( const TAny* aInitData );
-
-    /**
-     * From CFepUiLayout
-     * Test whether the position is valid
-     * This is used to test the target position when draging controls 
-     * to some place
-     *
-     * @since S60 v4.0
-     * @param aRect The rect to be checked
-     * @param aDragbar The dragbar being dragged
-     * @param aVInfo The valid information in vertial dirtection. ETrue is 
-     *        vertical moving is valid.It's only used when aRect is not 
-     *        valid but moving in vertical direction is valid
-     * @param aHInfo The valid information in horizontal dirtection
-     *        ETrue is horizontal moving is valid.It's only used when aRect 
-     *        is not valid but moving in vertical direction is valid
-     * @param aFlag ETrue if whole layout is moving, otherwise, only 
-     *        components moving
-     * @return ETrue if aRect is a valid position. Otherwise, EFalse
-     */       
-    IMPORT_C TBool IsValidDestination( const TRect& aRect, 
-                                       CDragBar* aDragBar, 
-                                       TBool& aVInfo, 
-                                       TBool& aHInfo, 
-                                       TBool aFlag );
-
-    /**
-     * Init layout owner
-     *
-     * @since S60 v3.2
-     * @return The rect of the layout
-     */
-    IMPORT_C virtual TRect Init();
-
-    /**
-     * Save a virtual keybroad key to the repository
-     * 
-     * @since S60 v3.2
-     * @param aKey The key name in repository
-     * @param aValue The unicode of key
-     * @return None
-     */
-    IMPORT_C virtual void SaveKey( TInt aKey, TInt aValue );
-
-    /**
-     * Factory method for creation of layout window. The decision which 
-     * layout window(VKB or HWR) is created will be postboned in subclasses 
-     * of this class.
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    virtual void CreateLayoutWindowL() = 0;
-
-    /**
-     * Factory method for creation resource config. It is enough at present 
-     * to create and initialize resource config. Any necessary extension 
-     * will be implemented in subclasses.
-     * 
-     * @since S60 v3.2
-     * @return None
-     */
-    virtual void CreateDataMgrL( const TAny* aInitData ) = 0;
-
-    /**
-     * Get the layout type, vkb or hwr, child class must rewrite the function.
-     * 
-     * @since S60 v3.2
-     * @return The layout type
-     */
-     virtual TInt LayoutType() = 0;
-
-private: // New method
-	
-    /**
-     * Change input language
-     *
-     * @since S60 v3.2
-     * @param aLangID The language id you want to change to
-     * @return None
-     */
-    void ChangeInputLanguage( TInt aLangID );
-
-    /**
-     * Change current range
-     *
-     * @since S60 v3.2
-     * @param aRange The range need to set
-     * @return None
-     */
-    void ChangeRange( TInt aRange );
-    
-    /**
-     * Translate range for some languages
-     *
-     * @since S60 v3.2
-     * @param aRange The range need to set
-     * @return New range
-     */    
-    TInt TranslateRange(TInt aRange);
-    
-    /**
-     * Set if enable switch to hwr
-     *
-     * @since S60 v3.2
-     * @param aEnable The enable flag
-     * @return None
-     */ 
-    void SetEnableSwitchToHwr(TBool aEnable);
-    
-    /**
-     * Set if enable option button and language switch button
-     *
-     * @since S60 v3.2
-     * @param aEnable The enable flag
-     * @return None
-     */ 
-    void SetEnableSettingBtn(TBool aEnable);
-    
-protected:
-	
-    /**
-     * The data manager
-     * Own
-     */
-    CPeninputDataMgr* iDataMgr;
-    
-    /**
-     * The ui state manager
-     * Own
-     */
-    CPeninputUiStateMgr* iUiStateMgr;
-
-    /**
-     * The layout window
-     * Own
-     */    
-    CPeninputLayoutWindowExt* iLayoutWindow;
-    
-    };
-
-#endif // C_CPeninputCommonLayoutExt_H
--- a/textinput/peninputcommonlayout/inc/peninputcommonlayoutglobalenum.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +0,0 @@
-/*
-* Copyright (c) 2005-2007 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:  the enumeration of peninputcommonlayout
-*
-*/
-
-
-#ifndef PENINPUTCOMMONLAYOUTGLOBALENUM_H
-#define PENINPUTCOMMONLAYOUTGLOBALENUM_H
-
-/**  
- * Pen input range button response style
- */
-enum TPeninputRangeResponseStyle
-    {
-    EPeninputRangeResponseNoAction           = 0,
-    EPeninputRangeResponseSwitchRange        = 1,
-    EPeninputRangeResponsePopupChoiceItem    = 2
-    };
-
-/**  
- * Pen input range extention
- */
-enum TPeninputLayoutExtRange
-    {
-    ERangeNativeNumber          = 0x0020,
-    ERangeMixedText             = 0x0040,  // e.g. arabic native text mixed with latin text 
-    ERangeMixedNumber           = 0x0080   // e.g. arabic native number mixed with latin number    
-    };
-
-/**  
- * Pen input layout event
- */
-enum TPeninputLayoutEvent
-    {
-    EPeninputLayoutEventClose = 1001, //starts from control event extended base
-    EPeninputLayoutEventOpen,
-    EPeninputLayoutEventOption,
-    EPeninputLayoutEventEnter,
-    EPeninputLayoutEventBack,
-    EPeninputLayoutEventSwitchLanguage,
-    EPeninputLayoutEventToHwr,
-    EPeninputLayoutEventToVkb,
-    EPeninputLayoutEventDataQueryPosition,
-    EPeninputLayoutEventMovePosition,
-    EPeninputLayoutEventRange,
-    EPeninputLayoutEventRangeLoop,
-    EPeninputLayoutEventShift,
-    EPeninputLayoutEventCapslock,
-    EPeninputLayoutEventSpace,
-    EPeninputLayoutEventTab,
-
-    EPeninputLayoutEventSetPermittedRange,
-    EPeninputLayoutEventSetPermittedCase,
-    EPeninputLayoutEventSetCase,
-    EPeninputLayoutEventCloseWindow,
-    EPeninputLayoutEventChangeInputMode,
-    
-    EPeninputLayoutEventLeftArrow,
-    EPeninputLayoutEventRightArrow,    
-    
-    EPeninputLayoutEventLast = 2000  // user event starts from here, same as base control
-    };
-
-/**  
- * Pen input common control id
- */
-enum TPeninputCommonCtrlID
-    {
-    EPeninutWindowCtrlIdBaseWindow = 0,
-
-    // Controls in the titlepane
-    EPeninutWindowCtrlIdMoveBtn,
-    EPeninupWindowCtrlIdArrowLeftBtn,// new added by vv
-    EPeninupWindowCtrlIdArrowRightBtn,// new added by vv
-    EPeninutWindowCtrlIdCloseBtn,
-    EPeninutWindowCtrlIdOptionBtn,
-    EPeninutWindowCtrlIdInputContextField,
-
-    EPeninutWindowCtrlIdVkbCtrl,
-    EPeninutWindowCtrlIdBackspaceBtn,
-    EPeninutWindowCtrlIdEnterBtn,    
-    EPeninutWindowCtrlIdInputLangSwitcherBtn,
-
-    // Controls in the next line    
-    EPeninutWindowCtrlIdTabBtn,
-    EPeninutWindowCtrlIdCapslockBtn,
-    EPeninutWindowCtrlIdShiftBtn,
-    EPeninutWindowCtrlIdSpaceBtn,
-    EPeninutWindowCtrlIdSwitchToHwrBtn,
-    EPeninutWindowCtrlIdSwitchToVkbBtn,
-
-    EPeninutWindowCtrlIdRangeBar,
-
-    // Button Id in range bar
-    EPeninutWindowCtrlIdNativeCharBtn,
-    EPeninutWindowCtrlIdNativeNumberBtn,
-    EPeninutWindowCtrlIdLatinCharBtn,
-    EPeninutWindowCtrlIdLatinNumberBtn,
-    EPeninutWindowCtrlIdSymbolBtn,
-    EPeninutWindowCtrlIdAccentedBtn,   
-
-    // Hwr box
-    EPeninutWindowCtrlIdHwrBox,
-    
-    // Pop up window
-    EPeninutWindowCtrlIdAccentPopupWindow,
-    EPeninutWindowCtrlIdSwitcherPopupWindow,
-    EPeninputWindowCtrlIdMultiLineICF,
-    //candidate list
-    EPentinputHwrCandidateList,    
-    EPeninputWindowCtrlIdLastOne,
-    
-    EPeninutWindowCtrlIdRangeBtn //todo split view
-    };
-
-/**  
- * Pen input postion change style
- */
-enum TPeninputPositionChangeStyle
-    {
-    EPeninputPositionChangeNone      = 0,
-    EPeninputPositionChangeTlJustify = 1,
-    EPeninputPositionChangeBrJustify = 2,
-    EPeninputPositionChangeDataQuery = 3    
-    };
-
-enum TPeninputGuideLineStyle
-    {
-    EPeninputGuideLineNone               = 0,
-    EPeninputGuideLineTop                = 1,
-    EPeninputGuideLineBottom             = 2,
-    EPeninputGuideLineBoth               = 3
-    };
-            
-#endif // PENINPUTCOMMONLAYOUTGLOBALENUM_H
--- a/textinput/peninputcommonlayout/inc/peninputctrlpool.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,141 +0,0 @@
-/*
-* 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:  controls management utility
-*
-*/
-
-
-#ifndef C_CPENINPUTCTRLPOOL_H
-#define C_CPENINPUTCTRLPOOL_H
-
-// System includes
-#include <e32base.h>
-#include <w32std.h>
-
-// Forward declaration
-class CFepUiBaseCtrl;
-
-/**
- *  Peninput control pool class
- *
- *  This class is control pool. Application can use this class to 
- *  manage their controls. Control creates out side and add itself to this 
- *  pool. Application can get and remove one control based on control
- *  id. 
- *
- *  @lib peninputcommonlayout.lib
- *  @since S60 v3.2
- */
-class CPeninputCtrlPool : public CBase
-    {
-    
-public:
-
-    /**
-     * Symbian constructor
-     *
-     * @since S60 v3.2
-     * @return Pointer to created CPeninputCtrlPool object
-     */
-    IMPORT_C static CPeninputCtrlPool* NewL();
-
-    /**
-     * Symbian constructor
-     *
-     * @since S60 v3.2
-     * @return Pointer to created CPeninputCtrlPool object
-     */    
-    IMPORT_C static CPeninputCtrlPool* NewLC();
-
-    /**
-     * Destructor, it need to destroy all controls
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C virtual ~CPeninputCtrlPool();
- 
-    /**
-     * Add one control to the pooling, the control should have 
-     * one control id
-     *
-     * @since S60 v3.2
-     * @param aControl Pointer to control
-     * @return None
-     */
-    IMPORT_C void AddControl( CFepUiBaseCtrl* aControl ); 
-               
-    /**
-     * Remove one control from the pooling 
-     *
-     * @since S60 v3.2
-     * @param aControlID Control id
-     * @return None
-     */    
-    IMPORT_C void RemoveControl( const TInt aControlID ); 
-
-    /**
-     * Get one control from the pooling according to the control id
-     *
-     * @since S60 v3.2
-     * @param aControlID Control id
-     * @return Pointer to control 
-     */   
-    IMPORT_C CFepUiBaseCtrl* Control( const TInt aControlID ) const;
- 
-    /**
-     * Remove all controls and delete them
-     *
-     * @since S60 v3.2
-     * @return None
-     */    
-    IMPORT_C void Reset();
-
-    /**
-     * Get current control count in this pool
-     *
-     * @since S60 v3.2
-     * @return The count of controls
-     */  
-    IMPORT_C TInt ControlCount() const;
-
-    /**
-     * Get the control from the pool according to the index
-     *
-     * @since S60 v3.2
-     * @param aIndex Index in array
-     * @return Pointer to control 
-     */    
-    IMPORT_C CFepUiBaseCtrl* ControlByIndex( const TInt aIndex ) const;
-
-protected:
-
-    /**
-     * Symbian second-phase constructor
-     *
-     * @since S60 v3.2
-     * @return None
-     */ 
-    IMPORT_C void Construct();  
-    
-private: // Data
-
-    /**
-     * Control pointer array
-     */  
-    RPointerArray<CFepUiBaseCtrl> iControlList;
-
-    };
-
-#endif // C_CPENINPUTCTRLPOOL_H
--- a/textinput/peninputcommonlayout/inc/peninputdataconverter.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,114 +0,0 @@
-/*
-* 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:  data converter utility
-*
-*/
-
-
-#ifndef C_CPENINPUTDATACONVERTER_H
-#define C_CPENINPUTDATACONVERTER_H
-
-// System includes
-#include <e32cmn.h>
-#include <e32des16.h>
-#include <e32base.h>
-#include <e32def.h>
-
-/**
- *  Peninput data converter utility
- *
- *  @lib peninputcommonlayout.lib
- *  @since S60 v3.2
- */
-class CPeninputDataConverter : public CBase
-    {
-    
-public:
-
-    /**
-     * Destructor
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-     IMPORT_C virtual ~CPeninputDataConverter();
-     
-     /**
-      * From integer to descriptor
-      *
-      * @since S60 v3.2
-      * @param aNum Integer number to be converted
-      * @param aBuf Buffer to store converted number
-      * @return None
-      */
-     IMPORT_C static void IntToDesc( TUint aNum, 
-                                     TDes16& aBuf );
-
-     /**
-      * From combination to descriptor
-      *
-      * @since S60 v3.2
-      * @param aBool Bool value to be converted
-      * @param aNum Number to append to a Bool value
-      * @param aBuf Buffer to store converted number
-      * @return None
-      */
-     IMPORT_C static void CombinationToDesc( TBool aBool, 
-                                             TUint aNum, 
-                                             TDes16& aBuf );
-
-     /**
-      * From TAny* to TInt
-      *
-      * @since S60 v3.2
-      * @param aOrginal Orginal data
-      * @return Converted descriptor
-      */
-     IMPORT_C static TInt AnyToInt( TAny* aOrginal );
-
-     /**
-      * Get shift and caps status by case
-      *
-      * @since S60 v3.2
-      * @param aCase The case
-      * @param aShiftStatus The shift status
-      * @param aCapsStatus The capslock status
-      * @return None
-      */
-     IMPORT_C static void ShiftCapslockByCase( TInt aCase, 
-                                               TInt& aShiftStatus, 
-                                               TInt& aCapsStatus );
-
-     /**
-      * Get fep case by case id internal
-      *
-      * @since S60 v3.2
-      * @param aCaseId The internal case
-      * @return The fep case
-      */
-     IMPORT_C static TInt FepCaseByCaseId( TInt aCaseId );
-     
-protected:
-
-    /**
-     * 1st phase constructor
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-     IMPORT_C CPeninputDataConverter();
-
-    };
-
-#endif // C_CPENINPUTDATACONVERTER_H
--- a/textinput/peninputcommonlayout/inc/peninputdatamgr.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,360 +0,0 @@
-/*
-* 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:  Implementation of the common layout data manager
-*
-*/
-
-
-#ifndef C_CPENINPUTDATAMGR_H
-#define C_CPENINPUTDATAMGR_H
-
-// System includes
-#include <e32base.h>
-#include <w32std.h>
-#include <peninputpluginutils.h>
-#include <coemain.h>
-
-// User includes
-#include "peninputdataprovider.h"
-
-// Forward decalaration
-class MPeninputLayoutContext;
-class CRepository;
-
-/**
- *  Data manager implementation
- *
- *  @lib peninputcommonlayout.lib
- *  @since S60 v3.2
- */
-class CPeninputDataMgr : public CBase,
-                         public MPeninputDataProvider
-    {
-
-public:
-
-    /**
-     * Create one CPeninputDataMgr object
-     *
-     * @since S60 v3.2
-     * @param aContext The layout context
-     * @return The pointer to CPeninputDataMgr object
-     */
-    IMPORT_C static CPeninputDataMgr* NewL( 
-        MPeninputLayoutContext* aContext );
-
-    /**
-     * Create one CPeninputDataMgr object
-     *
-     * @since S60 v3.2
-     * @param aContext The layout context
-     * @return The pointer to CPeninputDataMgr object
-     */
-    IMPORT_C static CPeninputDataMgr* NewLC( 
-        MPeninputLayoutContext* aContext );
-
-    /**
-     * Destructor
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C virtual ~CPeninputDataMgr();
-
-    /**
-     * Other initialization
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C virtual void InitMore();
-
-    /**
-     * Call back function, which is called when some key changed
-     *
-     * @since S60 v3.2
-     * @param aChangedKey The key whose value is changed
-     * @return None
-     */
-    IMPORT_C virtual void HandleGSRepositoryChange( TInt aChangedKey );
-
-    /**
-     * Notify engine that some data changed
-     *
-     * @since S60 v3.2
-     * @param aType The type of the data to be notified
-     * @param aData The pointer to the notified data
-     * @return None
-     */
-    IMPORT_C virtual void NotifyEngine( TPeninputDataType aType, 
-                                        TAny* aData );
-                                        
-    IMPORT_C TBool IsShiftPermitted();
-    IMPORT_C TBool IsCapsLockPermitted();
-
-// From base class MPeninputDataProvider
-
-    /**
-     * From MPeninputDataProvider
-     * Request data according to the data type
-     *
-     * @since S60 v3.2
-     * @param aDataType The data type need to get
-     * @return The pointer to TAny type required data
-     */
-    IMPORT_C TAny* RequestData( TPeninputDataType aDataType );
-
-    /**
-     * From MPeninputDataProvider
-     * Set data according to the data type
-     *
-     * @since S60 v3.2
-     * @param aDataType The data type need to set
-     * @param aData The pointer to the new setting data
-     * @return None
-     */
-    IMPORT_C void SetData( TPeninputDataType aDataType, TAny* aData );
-
-    /**
-     * From MPeninputDataProvider
-     * Reset data contained in data manager
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C virtual void Reset();
-
-    /**
-     * From MPeninputDataProvider
-     * Save data into AknFepRepository
-     *
-     * @since S60 v3.2
-     * @param aKey The key name
-     * @param aValue The key value
-     * @return None
-     */
-    IMPORT_C virtual void SaveKey( TInt aKey, TInt aValue );
-
-protected:
-
-    /**
-     * Constructor
-     *
-     * @since S60 v3.2
-     * @param aContext The layout context
-     * @return None.
-     */
-    IMPORT_C CPeninputDataMgr( MPeninputLayoutContext* aContext );
-
-    /**
-     * 2nd constructor function
-     *
-     * @since S60 v3.2
-     * @return None.
-     */
-    IMPORT_C void ConstructL();
-
-    /**
-     * Handle notification from CenRep monitor
-     *
-     * @since S60 v3.2
-     * @param aPtr The pointer to callback data
-     * @return The result value.
-     */
-    IMPORT_C static TInt HandleGSRepositoryCallBack( TAny* aPtr );
-
-private:
-
-     /**
-     * Set Screen Mode
-     *
-     * @since S60 v3.2
-     * @param aScreenMode The reference of the screen mode data
-     * @return None
-     */
-    void SetScreenMode( const TPixelsTwipsAndRotation& aScreenMode );
-
-protected: // Data
-
-    /**
-     * The case
-     */
-    TInt iCase;
-
-    /**
-     * The peninput language
-     */
-    TInt iInputLanguage;
-
-    /**
-     * The permitted range
-     */
-    TInt iPermittedRange;
-
-    /**
-     * The permitted case
-     */
-    TInt iPermittedCase;
-    
-    /**
-     * The current range
-     */
-    TInt iCurrentRange;
-
-    /**
-     * The client layout
-     */
-    TInt iClientLayout;
-
-    /**
-     * The vkb layout
-     */
-    TInt iVkbLayoutId;
-
-    /**
-     * The editor numeric key map
-     */
-    TInt iEditorNumericKeymap;
-
-    /**
-     * The editor numeric key map
-     */
-    TBool iEnableSwitchBtn;
-    
-    /**
-     * The flag of shift down
-     */
-    TBool iShiftDown;
-
-    /**
-     * The flag of capslock down
-     */
-    TBool iCapslockDown;
-
-    /**
-     * The current accent
-     */
-    TInt iCurrentAccent;
-
-    /**
-     * The window position
-     */
-    TInt iWindowPosition;
-
-    /**
-     * The screen mode
-     */
-    TPixelsTwipsAndRotation iScreenMode;
-
-    /**
-     * The screen size
-     */
-    TSize iScreenSize;
-
-    /**
-     * The unit width
-     */
-    TInt iUnitWidth;
-
-    /**
-     * The unit height
-     */
-    TInt iUnitHeight;
-
-    /**
-     * The setting id for window postion
-     */
-    TInt iPositionSettingId;
-
-    /**
-     * The rectangle of data query dialog
-     */
-    TRect iDataQueryDlgRect;
-    
-    /**
-     * The layout context
-     * Not own
-     */
-    MPeninputLayoutContext* iContext;
-
-    /**
-     * The global setttings repository
-     * Own
-     */
-    CRepository* iGSRepository;
-
-    /**
-     * The aknfep repository
-     * Own
-     */
-    CRepository* iAknFepRepository;
-
-    /**
-     * The repository watcher, 
-     * which will monitor change of the language and guide line
-     * Own
-     */
-    CAknFepRepositoryWatcher* iGSRepositoryWatcher;
-
-    /**
-     * The user defined resource for number
-     * Own
-     */    
-    HBufC* iUserDefinedResource;    
-    
-    /**
-     * The reserve data
-     * not Own
-     */
-    TAny* iReserve_1;
-    
-    /**
-     * The position of the top guide line
-     */
-    TInt iGuideLineTop;
-    
-    /**
-     * The position of the bottom guide line
-     */
-    TInt iGuideLineBottom;
-
-    /**
-     * Layout size changing flag
-     */
-    TBool iLayoutSizeChanging;
-    
-    /**
-     * Indicate whether unit width has been set
-     */
-    TBool iUnitWidthSet;
-
-    /**
-     * Indicate whether unit height has been set
-     */
-    TBool iUnitHeightSet;
-
-    /**
-     * Indicate whether DeadKey has been latched
-     */
-    TBool iLatched;
-    
-     /**
-     * Indicate whether unitsize has been changed
-     */
-    TBool iUnitSizeSet;
-    
-    TBool iAllowCaseChange;
-    };
-
-#endif // C_CPENINPUTDATAMGR_H
--- a/textinput/peninputcommonlayout/inc/peninputdataprovider.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-/*
-* 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:  interface of data provider
-*
-*/
-
-
-#ifndef M_MPENINPUTDATAPROVIDER_H
-#define M_MPENINPUTDATAPROVIDER_H
-
-// System includes
-#include <e32base.h>
-
-/**
- * Pen input data type
-*/
-enum TPeninputDataType
-    {
-    EPeninputDataTypeCase                 = 0x00000001,
-    EPeninputDataTypeInputLanguage        = 0x00000002,
-    EPeninputDataTypePermittedRange       = 0x00000004,
-    EPeninputDataTypeCurrentRange         = 0x00000008,
-    EPeninputDataTypeClientLayout         = 0x00000010,
-    EPeninputDataTypeVkbLayout            = 0x00000020,
-    EPeninputDataTypeNumericKeymap        = 0x00000040,
-    EPeninputDataTypeShiftDown            = 0x00000080,
-    EPeninputDataTypeCapslockDown         = 0x00000100,
-    EPeninputDataTypeCurrentAccent        = 0x00000200,
-    EPeninputDataTypeScreenMode           = 0x00000400,
-    EPeninputDataTypeScreenSize           = 0x00000800,
-    EPeninputDataTypeWindowPosition       = 0x00001000,
-    EPeninputDataTypePositionSettingId    = 0x00002000,
-    EPeninputDataTypeUnitWidth            = 0x00004000,
-    EPeninputDataTypeUnitHeight           = 0x00008000,
-    EPeninputDataTypeDataQueryDlgRect     = 0x00010000,
-    EPeninputDataTypePenTailColor 		  = 0x00020000,
-    EPeninputDataTypeReserve_1            = 0x00040000,
-    EPeninputDataTypePermittedCase        = 0x00080000,
-    EAknFepDataTypeUseDefinedResource     = 0x00100000,
-    EAkninputDataTypeGuideLineTop         = 0x00200000,
-    EAkninputDataTypeGuideLineBottom      = 0x00400000,
-    EAkninputDataTypeSizeChanging         = 0x00800000,
-    EAkninputDataTypeUnitSizeSet          = 0x01000000,
-    EAkninputDataTypeLatchedSet       = 0x02000000,
-    EAkninputDataTypeInputArea            = 0x04000000,
-    EAkninputDataTypeAllowCaseChange      = 0x08000000
-    };
-
-/**
- *  Data provider interface
- *
- *  @lib peninputcommonlayout.lib
- *  @since S60 v3.2
- */
-class MPeninputDataProvider
-    {
-
-public:
-
-    /**
-     * Request data from data provider
-     *
-     * @since S60 v3.2
-     * @param aDataType The data request 
-     * @return The data you request
-     */
-    virtual TAny* RequestData( TPeninputDataType aDataType ) = 0;
-
-    /**
-     * Set data according to the data type
-     *
-     * @since S60 v3.2
-     * @param aDataType The data type need to set
-     * @param aData The new data
-     * @return None
-     */
-    virtual void SetData( TPeninputDataType aDataType, 
-                                   TAny* aData ) = 0;
-
-    /**
-     * Reset some data in data manager
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    virtual void Reset() = 0;
-
-    /**
-     * Save key into CenRep(AknFep)
-     *
-     * @since S60 v3.2
-     * @param aKey The key name
-     * @param aValue The new value
-     * @return None
-     */
-    virtual void SaveKey( TInt aKey, TInt aValue ) = 0;
-
-    };
-
-#endif  //M_MPENINPUTDATAPROVIDER_H
--- a/textinput/peninputcommonlayout/inc/peninputlayoutconfig.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,282 +0,0 @@
-/*
-* 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:  common layout config
-*
-*/
-
-
-#ifndef C_CPENINPUTLAYOUTCONFIG_H
-#define C_CPENINPUTLAYOUTCONFIG_H
-
-
-// System includes
-#include <barsread.h>
-#include <peninputvkbctrllayout.h>
-
-// Forward decalaration
-class CPeninputClientLayoutInfo;
-class CPeninputVkbLayoutInfo;
-class CPeninputRangeBarInfo;
-class CPeninputShiftCapsInfo;
-class CPeninputCtrlPool;
-/**
- *  Peninput commonlayout layout config
- *
- *  @lib peninputcommonlayout.lib
- *  @since S60 v3.2
- */
-class CPeninputLayoutConfig : public CBase
-    {
-
-public:
-
-    /**
-     * Symbian constructor
-     *
-     * @since S60 v3.2
-     * @param aResUtils Resource Utils
-     * @param aReader Resource reader
-     * @return Pointer to created CPeninputLayoutConfig object
-     */
-    IMPORT_C static CPeninputLayoutConfig* NewL( CAknFepCtrlVkbLayout& aVkblayout,
-                                                 TResourceReader& aReader );
-
-    /**
-     * Destructor
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C virtual ~CPeninputLayoutConfig();
-
-    /**
-     * Get language id
-     *
-     * @since S60 v3.2
-     * @return Language id
-     */
-    inline TInt Language();
-
-    /**
-     * Get language name
-     *
-     * @since S60 v3.2
-     * @return Language name
-     */
-    inline HBufC* LanguageString();
-
-    /**
-     * Get case sensitive flag
-     *
-     * @since S60 v3.2
-     * @return Case sensitive flag
-     */
-    inline TBool CaseSensitive();
-
-    /**
-     * Get guide line
-     *
-     * @since S60 v3.2
-     * @return The guide line style
-     */
-    inline TInt GuideLine();
-    
-    /**
-     * The position percent of top guide line
-     *
-     * @since S60 v3.2
-     * @return The position percent of top guide line
-     */
-    inline TInt PositionTopLine();
-    
-    /**
-     * The position percent of bottom guide line
-     *
-     * @since S60 v3.2
-     * @return The position percent of bottom guide line
-     */
-    inline TInt PositionBottomLine();
-            
-    /**
-     * Get client layout info list
-     *
-     * @since S60 v3.2
-     * @return The reference of pointer array containing client layout list
-     */
-    inline RPointerArray<CPeninputClientLayoutInfo>& ClientLayoutInfoList();
-
-    /**
-     * Get vkb layout info list
-     *
-     * @since S60 v3.2
-     * @return The reference of pointer array containing vkb layout list
-     */
-    inline RPointerArray<CPeninputVkbLayoutInfo>& VkbLayoutInfoList();
-    
-    /**
-     * Get shift&caps info
-     *
-     * @since S60 v3.2
-     * @return The reference of pointer array containing shift&caps info
-     */
-    inline RPointerArray<CPeninputShiftCapsInfo>& ShiftCapsInfoList();
-    
-    /**
-     * Get client layout info
-     *
-     * @since S60 v3.2
-     * @param aLayoutId Client layout id  
-     * @return The pointer to CPeninputClientLayoutInfo object
-     */
-    IMPORT_C CPeninputClientLayoutInfo* FindClientLayoutInfo( 
-        TInt aLayoutId );
-    
-    /**
-     * Get vkb layout info
-     *
-     * @since S60 v3.2
-     * @param aLayoutId Vkb layout id
-     * @return The pointer to CPeninputVkbLayoutInfo object
-     */
-    IMPORT_C CPeninputVkbLayoutInfo* FindVkbLayoutInfo( TInt aLayoutId );
-    
-    /**
-     * Get shift&caps info
-     *
-     * @since S60 v3.2
-     * @param aRangeId Range id  
-     * @return The pointer to CPeninputShiftCapsInfo object
-     */
-    IMPORT_C CPeninputShiftCapsInfo* FindShiftCapsInfo( TInt aRangeId );
-    
-    /**
-     * Get vkb layout id
-     *
-     * @since S60 v3.2
-     * @param aRangeId Range id  
-     * @param aShiftCapsSingleId Shift&caps single id
-     * @return The vkb layout id
-     */
-    IMPORT_C TInt ShiftCapsSingleVkbLayoutId( TInt aRangeId,
-                                              TInt aShiftCapsSingleId );
-
-    /**
-     * Get vkb layout id
-     *
-     * @since S60 v3.2
-     * @param aRangeId Range id  
-     * @param aCase The case
-     * @return The vkb layout id
-     */
-    IMPORT_C TInt ShiftCapsSingleVkbLayoutByCase( TInt aRangeId,
-                                                  TInt aCase );
-    /**
-     * Get range bar info
-     *
-     * @since S60 v3.2
-     * @return The pointer to CPeninputRangeBarInfo object
-     */
-    inline CPeninputRangeBarInfo* RangeBarInfo();
-
-    /**
-     * Get range bar resource id
-     *
-     * @since S60 v3.2
-     * @return The resource id
-     */    
-    inline TInt RangebarResId();
-    
-protected:
-
-    /**
-     * Constructor
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    CPeninputLayoutConfig();
-
-    /**
-     * Second phase constructor
-     *
-     * @since S60 v3.2
-     * @param aResUtils Resource Utils
-     * @param aReader Resource reader
-     * @return None
-     */
-    void ConstructL( CAknFepCtrlVkbLayout& aVkblayout, TResourceReader& aReader  );  
-
-private: // Data
-
-    /**
-     * Language id
-     */ 
-    TInt iLanguage;
-
-    /**
-     * Language string
-     * Own
-     */
-    HBufC* iLanguageString;
-
-    /**
-     * Case sensitive flag
-     */ 
-    TBool iCaseSensitive;
-    
-    /**
-     * Guide line style
-     */ 
-    TInt iGuideLine;
-
-    /**
-     * The position percent of top guide line
-     */ 
-    TInt iPositionTopLine;
-
-    /**
-     * The position percent of bottom guide line
-     */ 
-    TInt iPositionBottomLine;
-
-    /**
-     * Client layout info list
-     */ 
-    RPointerArray<CPeninputClientLayoutInfo> iClientLayoutInfoList;
-
-    /**
-     * Vkb layout info list
-     */ 
-    RPointerArray<CPeninputVkbLayoutInfo> iVkbLayoutInfoList;
-
-    /**
-     * Range bar info
-     * Own
-     */
-    CPeninputRangeBarInfo* iRangeBarInfo;
-
-    /**
-     * Shift&caps info list
-     */ 
-    RPointerArray<CPeninputShiftCapsInfo> iShiftCapsInfoList;
-
-    /**
-     * Resource Id for range bar
-     */ 
-    TInt iRangeBarResId;
-    };
-
-#include "peninputlayoutconfig.inl"
-
-#endif // C_CPENINPUTLAYOUTCONFIG_H
--- a/textinput/peninputcommonlayout/inc/peninputlayoutconfig.inl	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +0,0 @@
-/*
-* 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:  common layout config inline functions
-*
-*/
-
-
-// -----------------------------------------------------------------------------
-// CPeninputLayoutConfig::Language
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline TInt CPeninputLayoutConfig::Language()
-    {
-    return iLanguage;
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputLayoutConfig::LanguageString
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline HBufC* CPeninputLayoutConfig::LanguageString()
-    {
-    return iLanguageString;
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputLayoutConfig::CaseSensitive
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline TBool CPeninputLayoutConfig::CaseSensitive()
-    {
-    return iCaseSensitive;
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputLayoutConfig::GuideLine
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline TInt CPeninputLayoutConfig::GuideLine()
-  {   
-    return iGuideLine;
-  }
-
-// -----------------------------------------------------------------------------
-// CPeninputLayoutConfig::PositionTopLine
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline TInt CPeninputLayoutConfig::PositionTopLine()
-  {   
-    return iPositionTopLine;
-  }
-
-// -----------------------------------------------------------------------------
-// CPeninputLayoutConfig::PositionBottomLine
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline TInt CPeninputLayoutConfig::PositionBottomLine()
-  {   
-    return iPositionBottomLine;
-  }
-
-// -----------------------------------------------------------------------------
-// CPeninputLayoutConfig::ClientLayoutInfoList
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline RPointerArray<CPeninputClientLayoutInfo>& 
-    CPeninputLayoutConfig::ClientLayoutInfoList()
-    {
-    return iClientLayoutInfoList;
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputLayoutConfig::VkbLayoutInfoList
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline RPointerArray<CPeninputVkbLayoutInfo>& 
-    CPeninputLayoutConfig::VkbLayoutInfoList()
-    {
-    return iVkbLayoutInfoList;
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputLayoutConfig::ShiftCapsInfoList
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline RPointerArray<CPeninputShiftCapsInfo>& 
-    CPeninputLayoutConfig::ShiftCapsInfoList()
-    {
-    return iShiftCapsInfoList;  
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputLayoutConfig::RangeBarInfo
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline CPeninputRangeBarInfo* 
-    CPeninputLayoutConfig::RangeBarInfo()
-    {
-    return iRangeBarInfo;
-    }
-
-inline TInt CPeninputLayoutConfig::RangebarResId()
-    {
-    return iRangeBarResId;
-    }
-       
\ No newline at end of file
--- a/textinput/peninputcommonlayout/inc/peninputlayoutcontext.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-/*
-* 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:  interface of layout context
-*
-*/
-
-
-#ifndef M_MPENINPUTLAYOUTCONTEXT_H
-#define M_MPENINPUTLAYOUTCONTEXT_H
-
-// System includes
-#include <e32base.h>
-
-// User includes
-#include "peninputdataprovider.h"
-
-// Class forward decalaration
-class CFepUiBaseCtrl;
-
-/**
- *  Peninput common layout interface
- *
- *  @lib peninputcommonlayout.lib
- *  @since S60 v3.2
- */
-class MPeninputLayoutContext
-    {
-
-public:
-
-    /**
-     * Send event to window
-     *
-     * @since S60 v3.2
-     * @param aEventType The event type
-     * @param aCtrl The sender control
-     * @param aEventData The event data
-     * @return None 
-     */
-    virtual void SendEventToWindow( TInt aEventType, 
-                                    CFepUiBaseCtrl* aCtrl, 
-                                    const TDesC& aEventData = KNullDesC ) = 0;
-                        
-    virtual TBool IsShiftPermitted() = 0;
-    virtual TBool IsCapsLockPermitted() = 0;
-
-    /**
-     * Send key to fep
-     *
-     * @since S60 v3.2
-     * @param aEventType The event type
-     * @param aEventData The event data
-     * @return None
-     */
-    virtual void Sendkey( TInt aEventType, 
-                          const TDesC& aEventData = KNullDesC ) = 0;
-    
-    /**
-     * Request data from data provider
-     *
-     * @since S60 v3.2
-     * @param aDataType The data type request 
-     * @return The pointer to TAny type data requested
-     */
-    virtual TAny* RequestData( TPeninputDataType aDataType ) = 0;
-
-    /**
-     * Set data for data provider
-     *
-     * @since S60 v3.2
-     * @param aDataType The data type to set value 
-     * @param aData The pointer to TAny type data
-     * @return None
-     */
-    virtual void SetData( TPeninputDataType aDataType, TAny* aData ) = 0;
-
-    /**
-     * Save key into CenRep(AknFep)
-     *
-     * @since S60 v3.2
-     * @param aKey The key name
-     * @param aValue The new value
-     * @return None
-     */
-    virtual void SaveKey( TInt aKey, TInt aValue ) = 0;
-
-    /**
-     * Get the layout type, vkb or hwr.
-     * 
-     * @since S60 v3.2
-     * @return The layout type
-     */    
-    virtual TInt LayoutType() = 0;
-    
-    };
-
-#endif  // End of M_PENINPUTLAYOUTCONTEXT_H
--- a/textinput/peninputcommonlayout/inc/peninputlayoutwindow.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,675 +0,0 @@
-/*
-* Copyright (c) 2005-2007 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:  common layout window class
-*
-*/
-
-
-#ifndef C_CPENINPUTLAYOUTWINDOW_H
-#define C_CPENINPUTLAYOUTWINDOW_H
-
-// System includes
-#include <peninputbasewindow.h>
-
-// User includes
-#include "peninputctrlpool.h"
-#include "peninputlayoutconfig.h"
-#include "peninputcommonlayoutglobalenum.h"
-
-// Forward declarations
-class CFepUiLayout;
-class CFepInputContextField;
-class CAknFepCtrlEventButton;
-class MPeninputLayoutContext;
-class CPeninputLayoutConfig;
-class CPeninputNumericKepMappingMgr;
-class CFepLayoutMultiLineIcf;
-class CAknFepCtrlRepeatButton;
-
-/**
- *  Common pen input layout window class.
- *  This class define the common behaviors of VKB layout window and 
- *  HWR layout window.
- *
- *  @lib peninputcommonlayout.lib
- *  @since S60 v3.2
- */
-class CPeninputLayoutWindow : public CAknFepCtrlBaseWindow
-    {
-
-public:
-
-    /**
-     * Destructor
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C virtual ~CPeninputLayoutWindow();
-
-    /**
-     * Get layout config
-     *
-     * @since S60 v3.2
-     * @return The pointer to CPeninputLayoutConfig object
-     */
-    IMPORT_C CPeninputLayoutConfig* ConfigInfo() const;
-
-    /**
-     * Change input language
-     *
-     * @since S60 v3.2
-     * @param aLangID The new language id
-     * @return None
-     */
-    IMPORT_C void ChangeInputLanguageL( TInt aLangID );
-
-    /**
-     * Change range
-     *
-     * @since S60 v3.2
-     * @param aRange The destination range
-     * @return None
-     */     
-    IMPORT_C void ChangeRange( TInt aRange, TInt aVkbLayoutId = 0, TBool aNotify = ETrue );
-   
-    /**
-     * Set the input context field text
-     *
-     * @since S60 v3.2
-     * @param aData The data of type TFepInputContextFieldData to be set
-     * @return None
-     */          
-    IMPORT_C void SetEditorTextL( const TFepInputContextFieldData& aData );
-    
-    /**
-     * Set if the input context field text is secret
-     *
-     * @since S60 v3.2
-     * @param aData The flag
-     * @return None
-     */          
-    IMPORT_C void SetTextIsSecret( TBool aData );
-
-    void SetNumberGrouping( TBool aData );
-
-    /**
-     * Method for size changing of the window
-     *
-     * @since S60 v3.2
-     * @param aLandscapeStyle The flag that specify the window style is 
-     *  landscape or portrait
-     * @return None
-     */
-    IMPORT_C virtual void SizeChanged( TBool aLanscapeStyle );
-    
-    /**
-     * Handle control event 
-     *
-     * @since S60 v3.2
-     * @param aEventType The event type
-     * @param aCtrl The control who sends the event
-     * @param aEventData The event data
-     * @return None
-     */     
-    IMPORT_C virtual void HandleControlEvent( TInt aEventType, 
-                                              CFepUiBaseCtrl* aCtrl, 
-                                              const TDesC& aEventData );  
-
-    /**
-     * Change client area layout
-     *
-     * @since S60 v3.2
-     * @param aClientLayoutId The id of client area layout
-     * @return None
-     */
-    IMPORT_C void ChangeClientLayout( TInt aClientLayoutId );
-    
-    /**
-     * Change vkb area layout
-     *
-     * @since S60 v3.2
-     * @param aVkbLayoutId The id of vkb area layout
-     * @return None
-     */     
-    IMPORT_C void ChangeVkbLayout( TInt aVkbLayoutId );  
-    
-    /**
-     * Get id of window config resource
-     *
-     * @since S60 v3.2
-     * @return The id of window config resource
-     */
-    virtual TInt GetWindowConfigResId() = 0;
-
-    /**
-     * Get id of window resource
-     *
-     * @since S60 v3.2
-     * @return The id of window resource
-     */ 
-    virtual TInt GetWindowResId() = 0;
-
-    /**
-     * Get file name of window config resource
-     *
-     * @since S60 v3.2
-     * @param aLangID The id of language
-     * @return The file name of window config resource
-     */ 
-    virtual const TDesC& 
-        GetWindowConfigResFileName( TInt aLangID ) = 0;
-
-    /**
-     * Get file name of window resource
-     *
-     * @since S60 v3.2
-     * @return The file name of window resource
-     */ 
-    virtual const TDesC& GetWindowResFileName() = 0;
-    
-    /**
-     * Change unit size
-     *
-     * @since S60 v3.2
-     * @return The rect of whole window
-     */
-	virtual const TRect ChangeUnitSize() = 0;
-  
-    /**
-     * Change size of client area
-     *
-     * @since S60 v3.2
-     * @param aLeftTopPoint The left top point of client area
-     * @return None
-     */
-    virtual void ChangeClientSize() = 0; 
-    
-    /**
-     * Construct all controls specified in resource(implementation will be 
-     * postponed in subclass)
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    virtual void CreateAllControlsL() = 0;
-    
-    /**
-     * Set control fonts. Fonts info comes from resource
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    virtual void SetControlsFont() = 0;
-  
-    /**
-     * Pop up choice list
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    virtual void PopupChoiceList() = 0;
-  
-    /**
-     * Re-organize all controls in the assigned client area layout
-     *
-     * @since S60 v3.2
-     * @param aClientLayoutId The id of client area layout
-     * @return None
-     */
-    virtual void ReorganizeControls( TInt aClientLayoutId, TBool aNeedReset ) = 0;
-
-    /**
-     * Do when case changed
-     *
-     * @since S60 v3.2
-     * @param aNewCase The new case
-     * @return None
-     */
-    virtual void DoCaseChange( TInt aNewCase ) = 0;
-          
-    /**
-     * Handler for range button clicked
-     *
-     * @since S60 v3.2
-     * @param aRange The range id
-     * @return None
-     */
-    IMPORT_C virtual void HandleRangeEvent( TInt aRange );
-
-    /**
-     * Handler for range loop event
-     *
-     * @since S60 v3.2
-     * @param aLoop The loop id
-     * @return None
-     */
-    IMPORT_C virtual void HandleRangeLoopEvent( TInt aLoop );
-    
-    /**
-     * Handler for shift button clicked
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C virtual void HandleShiftBtnClicked();
-
-    /**
-     * Handler for capslock button clicked
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C virtual void HandleCapslockBtnClicked();
-
-    /**
-     * Draw window and shadow
-     *
-     * @since S60 v3.2
-     * @return None
-     */          
-    IMPORT_C virtual void Draw();
-    
-    /**
-     * Set if enable switch to hwr
-     *
-     * @since S60 v3.2
-     * @param aEnable The enable flag
-     * @return None
-     */ 
-    IMPORT_C void SetEnableSwitchToHwr(TBool aEnable);
-    
-    /**
-     * Set if enable option button and language switch button
-     *
-     * @since S60 v3.2
-     * @param aEnable The enable flag
-     * @return None
-     */ 
-    IMPORT_C void SetEnableSettingBtn(TBool aEnable);
-
-    /**
-     * config unit size, reason may due to client layout id changed,
-     * or screen resolution changed
-     *
-     * @since S60 v3.2
-     * @param aClientLayoutId New client layout id
-     * @return ETrue means unit size changed, otherwise EFalse
-     */
-    IMPORT_C virtual TBool ReconfigUnitSize(TInt aClientLayoutId);
-       
-    IMPORT_C void CPeninputLayoutWindow::SetTextAlignmentL( TInt aAlignment );  
-    
-protected:
-
-    /**
-     * constructor
-     *
-     * @since S60 v3.2
-     * @param aUiLayout The pointer to CFepUiLayout object
-     * @param aLayoutContext The pointer to MPeninputLayoutContext
-     * @return None
-     */
-    IMPORT_C CPeninputLayoutWindow( CFepUiLayout* aUiLayout, 
-                                    MPeninputLayoutContext* aLayoutContext );
-
-    /**
-     * Second-phase constructor
-     *
-     * @since S60 v3.2
-     * @return None
-     */ 
-    IMPORT_C void ConstructL();
-    /**
-     * From CAknFepCtrlBaseWindow
-     * Close window
-     *
-     * @since S60 v3.2
-     * @return The TBool indicating the result of close operation
-     */ 
-    IMPORT_C TBool DoClose();
-    
-    /**
-     * Construct from resource file
-     *
-     * @since S60 v3.2
-     * @param aResReader The resource reader
-     * @param aResUtils The resource utils
-     * @return None
-     */     
-    IMPORT_C virtual void ConstructFromResourceL( 
-                                     TResourceReader& aResReader );
-
-    /** 
-     * ConstructFromResourceL load settings from resource.
-     * Before calling this function, the resource id should be set
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C void ConstructFromResourceL();
-    
-     /**
-     * Add not owned control into the window
-     *
-     * @since S60 v3.2
-     * @param aControl The control to be added
-     * @return None
-     */  
-    IMPORT_C void AddNotOwnedControl( CFepUiBaseCtrl* aControl );
-
-    /**
-     * Change button status
-     *
-     * @since S60 v3.2
-     * @param aIsDown The button is down or not
-     * @param aControlId The destination button id
-     * @return None
-     */  
-    
-    IMPORT_C void ChangeButtonStatus(const TInt aIsDown, const TInt aControlId);
-
-    /**
-     * Change layout position
-     *
-     * @since S60 v3.2
-     * @return The new rectangle of layout
-     */      
-    IMPORT_C void ChangeLayoutPosition( TInt aJustifyStyle );
-    
-    /**
-     * Set the window rect
-     *
-     * @since S60 v3.2
-     * @param aRect The new rect of the window
-     * @return None
-     */                                            
-    IMPORT_C void SetWindowRect(const TRect& aRect);
-
-    /**
-     * Read icf bitmap from resource
-     *
-     * @since S60 v3.2
-     * @param aResReader The reource reader
-     * @return None
-     */
-    IMPORT_C void ReadIcfInfo( TResourceReader aResReader );
-    
-    /**
-     * Set text font for language switch button.
-     *
-     * @since S60 v3.2
-     * @param aSwitchBtn Pointer to language switch button
-     * @return None
-     */
-    IMPORT_C void SetSwitchBtnFont(CAknFepCtrlEventButton& aSwitchBtn);
-    
-    /**
-     * Set text color for language switch button.
-     *
-     * @since S60 v3.2
-     * @param aSwitchBtn Pointer to language switch button
-     * @return None
-     */
-    IMPORT_C void SetSwitchBtnTextColor(CAknFepCtrlEventButton& aSwitchBtn);
-    
-    
-    IMPORT_C virtual TBool IsMultiLineIcf();
-    
-    IMPORT_C virtual TBool IsCanChangeRange(TInt aRange);
-    
-    IMPORT_C virtual void ChangeToPreviousRange(TInt aRange);
-    
-private:
-     /**
-     * Read shadow bitmap from resource
-     *
-     * @since S60 v3.2
-     * @param aResReader The reource reader
-     * @return None
-     */
-    void ReadShadowInfoL( TResourceReader aResReader );    
-    
-     /**
-     * Read background bitmap from resource
-     *
-     * @since S60 v3.2
-     * @param aResId resource ID
-     * @return None
-     */    
-    void CPeninputLayoutWindow::ReadBackgroundInfoL( TInt aResId );
-    
-    /**
-     * Read laf of shadow
-     *
-     * @since S60 v3.2
-     * @param aRect the parent window
-     * @return None
-     */
-    void ReadLafForShadow();
-    
-    /**
-     * Add context field into the window
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    void AddContextFieldL();
-    
-    /**
-     * Add touch input button into the window
-     *
-     * @since S60 v3.2
-     * @param aResID The reource id for touch input button
-     * @return None
-     */
-    void AddTouchInputButtonL( TInt aResId );
-    
-    
-    /**
-     * Check whether or not the resource file exists
-     *
-     * @since S60 v3.2
-     * @param aFileName The name of resource file
-     * @return The TBool indicating existance of resource file
-     */
-    TBool CheckResourceExist( const TDesC& aFileName );
-    
-    /**
-     * Get case decided by shift&caps status
-     *
-     * @since S60 v3.2
-     * @return The case value
-     */
-    TInt CaseByShiftCapslockStatus();
-    
-    /**
-     * Dim keys
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    void DimKeys();
-
-    /**
-     * Change size for base window, such as move button,drag button etc.
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    void SizeChangedForBaseWindow( TInt aTotalColumns );
-    
-    /**
-     * Change range bar
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    void ChangeRangeBarL();
-    
-    /**
-     * Change window position
-     *
-     * @since S60 v3.2
-     * @return None.
-     */    
-    void TopLeftJustify();
-
-    /**
-     * Change window position
-     *
-     * @since S60 v3.2
-     * @return None.
-     */    
-    void BottomRightJustify();
-
-    /**
-     * Change window position
-     *
-     * @since S60 v3.2
-     * @return None.
-     */    
-    void DataQueryJustify();
-        
-    /**
-     * Get key mapping string from resource or user defined mappings
-     *
-     * @since S60 v3.2
-     * @param aKeyMapping The key mapping enum
-     * @return None.
-     */    
-    HBufC* GetKeyMappingStringL(TInt aKeyMapping);
-    
-    void ReadMultiLineIcfInforL(TInt aResID = 0);
-    
-    void AddMultiContextFieldL();
-    
-protected: // data
-
-    /**
-     * The input context field
-     * Own
-     */    
-    CFepInputContextField* iInputContextField;
-
-
-    CFepLayoutMultiLineIcf* iMultiLineIcf;
-    
-    /**
-     * The touch input options button
-     * Own
-     */    
-    CAknFepCtrlEventButton* iTouchInputOptionButton;  
-
-    /**
-     * Control pool maintainer
-     * Own
-     */
-    CPeninputCtrlPool* iCtrlPool;
-
-    /**
-     * The layout config
-     * Own
-     */    
-    CPeninputLayoutConfig* iConfigInfo;
-
-    /**
-     * The layout context
-     * Not own
-     */
-    MPeninputLayoutContext* iLayoutContext;        
-
-    /**
-     * The numeric kep mapping manager
-     * Own
-     */        
-    CPeninputNumericKepMappingMgr* iKeyMappingMgr;
-        
-    /**
-     * Vkb layout
-     * Own
-     */ 
-    CAknFepCtrlVkbLayout* iVkbLayout;
-
-    /**
-     * Language is changed
-     */
-    TBool iLangOrSizeChanged;
-
-    /**
-     * The total column for the window
-     */
-    TInt iLastUsedTotalColumns;
-
-    /**
-     * The resource id of window
-     */
-    TInt iWinResId;
-
-    /**
-     * The resource id of config
-     */
-    TInt iConfigResId;
-    
-    /**
-     * Width of top left shadow rect
-     */
-    TInt iShadowTlWidth;
-
-    /**
-     * Height of top left shadow rect
-     */
-    TInt iShadowTlHeight;
-
-    /**
-     * Width of bottom right shadow rect
-     */
-    TInt iShadowBrWidth;
-
-    /**
-     * Height of bottom right shadow rect
-     */
-    TInt iShadowBrHeight;
-    
-    /**
-     * First time construct flag
-     */
-    TBool iFirstTimeConstruct;        
-    
-    /**
-     * Switch button font id
-     */
-    TInt32 iSwitchFont;
-    
-    /**
-     * Switch button shadow font id
-     */
-    TInt32 iSwitchShadowFont;
-    
-    /**
-     * Indicate whether switch(shadow) font has been set
-     */
-    TBool iSwitchFontSet;
-    
-    /**
-     * Indicate whether need size change when change unit size
-     */
-    TBool iUnitSizeChange;
-    /**
-     * The backspace button
-     * Own
-     */
-    CAknFepCtrlRepeatButton* iBackspaceButton;    
-    };
-#endif // C_CPENINPUTLAYOUTWINDOW_H
--- a/textinput/peninputcommonlayout/inc/peninputlayoutwindowext.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,662 +0,0 @@
-/*
-* Copyright (c) 2005-2007 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:  common layout window class
-*
-*/
-
-
-#ifndef C_CPENINPUTLAYOUTWINDOWEXT_H
-#define C_CPENINPUTLAYOUTWINDOWEXT_H
-
-// System includes
-#include <peninputbasewindowext.h>
-
-// User includes
-#include "peninputctrlpool.h"
-#include "peninputlayoutconfig.h"
-#include "peninputcommonlayoutglobalenum.h"
-
-// Forward declarations
-class CFepUiLayout;
-class CFepInputContextField;
-class CAknFepCtrlEventButton;
-class MPeninputLayoutContext;
-class CPeninputLayoutConfig;
-class CPeninputNumericKepMappingMgr;
-
-/**
- *  Common pen input layout window class.
- *  This class define the common behaviors of VKB layout window and 
- *  HWR layout window.
- *
- *  @lib peninputcommonlayout.lib
- *  @since S60 v3.2
- */
-class CPeninputLayoutWindowExt : public CAknFepCtrlBaseWindowExt
-    {
-
-public:
-
-    /**
-     * Destructor
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C virtual ~CPeninputLayoutWindowExt();
-
-    /**
-     * Get layout config
-     *
-     * @since S60 v3.2
-     * @return The pointer to CPeninputLayoutConfig object
-     */
-    IMPORT_C CPeninputLayoutConfig* ConfigInfo() const;
-
-    /**
-     * Change input language
-     *
-     * @since S60 v3.2
-     * @param aLangID The new language id
-     * @return None
-     */
-    IMPORT_C void ChangeInputLanguageL( TInt aLangID );
-
-    /**
-     * Change range
-     *
-     * @since S60 v3.2
-     * @param aRange The destination range
-     * @return None
-     */     
-    IMPORT_C void ChangeRange( TInt aRange, TInt aVkbLayoutId = 0, TBool aNotify = ETrue );
-   
-    /**
-     * Set the input context field text
-     *
-     * @since S60 v3.2
-     * @param aData The data of type TFepInputContextFieldData to be set
-     * @return None
-     */          
-    IMPORT_C void SetEditorTextL( const TFepInputContextFieldData& aData );
-    
-    /**
-     * Set if the input context field text is secret
-     *
-     * @since S60 v3.2
-     * @param aData The flag
-     * @return None
-     */          
-    IMPORT_C void SetTextIsSecret( TBool aData );
-
-    void SetNumberGrouping(TBool aData);
-
-    /**
-     * Method for size changing of the window
-     *
-     * @since S60 v3.2
-     * @param aLandscapeStyle The flag that specify the window style is 
-     *  landscape or portrait
-     * @return None
-     */
-    IMPORT_C virtual void SizeChanged( TBool aLanscapeStyle );
-    
-    /**
-     * Handle control event 
-     *
-     * @since S60 v3.2
-     * @param aEventType The event type
-     * @param aCtrl The control who sends the event
-     * @param aEventData The event data
-     * @return None
-     */     
-    IMPORT_C virtual void HandleControlEvent( TInt aEventType, 
-                                              CFepUiBaseCtrl* aCtrl, 
-                                              const TDesC& aEventData );  
-
-    /**
-     * Change client area layout
-     *
-     * @since S60 v3.2
-     * @param aClientLayoutId The id of client area layout
-     * @return None
-     */
-    IMPORT_C void ChangeClientLayout( TInt aClientLayoutId );
-    
-    /**
-     * Change vkb area layout
-     *
-     * @since S60 v3.2
-     * @param aVkbLayoutId The id of vkb area layout
-     * @return None
-     */     
-    IMPORT_C void ChangeVkbLayout( TInt aVkbLayoutId );  
-    
-    /**
-     * Get id of window config resource
-     *
-     * @since S60 v3.2
-     * @return The id of window config resource
-     */
-    virtual TInt GetWindowConfigResId() = 0;
-
-    /**
-     * Get id of window resource
-     *
-     * @since S60 v3.2
-     * @return The id of window resource
-     */ 
-    virtual TInt GetWindowResId() = 0;
-
-    /**
-     * Get file name of window config resource
-     *
-     * @since S60 v3.2
-     * @param aLangID The id of language
-     * @return The file name of window config resource
-     */ 
-    virtual const TDesC& 
-        GetWindowConfigResFileName( TInt aLangID ) = 0;
-
-    /**
-     * Get file name of window resource
-     *
-     * @since S60 v3.2
-     * @return The file name of window resource
-     */ 
-    virtual const TDesC& GetWindowResFileName() = 0;
-    
-    /**
-     * Change unit size
-     *
-     * @since S60 v3.2
-     * @return The rect of whole window
-     */
-	virtual const TRect ChangeUnitSize() = 0;
-  
-    /**
-     * Change size of client area
-     *
-     * @since S60 v3.2
-     * @param aLeftTopPoint The left top point of client area
-     * @return None
-     */
-    virtual void ChangeClientSize() = 0; 
-    
-    /**
-     * Construct all controls specified in resource(implementation will be 
-     * postponed in subclass)
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    virtual void CreateAllControlsL() = 0;
-    
-    /**
-     * Set control fonts. Fonts info comes from resource
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    virtual void SetControlsFont() = 0;
-  
-    /**
-     * Pop up choice list
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    virtual void PopupChoiceList() = 0;
-  
-    /**
-     * Re-organize all controls in the assigned client area layout
-     *
-     * @since S60 v3.2
-     * @param aClientLayoutId The id of client area layout
-     * @return None
-     */
-    virtual void ReorganizeControls( TInt aClientLayoutId, TBool aNeedReset ) = 0;
-
-    /**
-     * Do when case changed
-     *
-     * @since S60 v3.2
-     * @param aNewCase The new case
-     * @return None
-     */
-    virtual void DoCaseChange( TInt aNewCase ) = 0;
-    IMPORT_C virtual void OnInputLanguageChange();
-          
-    /**
-     * Handler for range button clicked
-     *
-     * @since S60 v3.2
-     * @param aRange The range id
-     * @return None
-     */
-    IMPORT_C virtual void HandleRangeEvent( TInt aRange );
-
-    /**
-     * Handler for range loop event
-     *
-     * @since S60 v3.2
-     * @param aLoop The loop id
-     * @return None
-     */
-    IMPORT_C virtual void HandleRangeLoopEvent( TInt aLoop );
-    
-	/**
-     * Handler for shift and capslock merged button clicked
-     *
-     * @since S60 v3.2
-     * @param aMode The mode of the mutimode button
-     * @return None
-     */
-    IMPORT_C virtual void HandleMergedBtnClicked( TInt aCase );
-    
-    /**
-     * Handler for shift button clicked
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C virtual void HandleShiftBtnClicked();
-
-    /**
-     * Handler for capslock button clicked
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C virtual void HandleCapslockBtnClicked();
-    
-    /**
-     * Handler for shif and capslock button clicked
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C virtual void HandleShiftAndCapslockBtnClicked();
-
-    /**
-     * Draw window and shadow
-     *
-     * @since S60 v3.2
-     * @return None
-     */          
-    IMPORT_C virtual void Draw();
-    
-    /**
-     * Set if enable switch to hwr
-     *
-     * @since S60 v3.2
-     * @param aEnable The enable flag
-     * @return None
-     */ 
-    IMPORT_C void SetEnableSwitchToHwr(TBool aEnable);
-    
-    /**
-     * Set if enable option button and language switch button
-     *
-     * @since S60 v3.2
-     * @param aEnable The enable flag
-     * @return None
-     */ 
-    IMPORT_C void SetEnableSettingBtn(TBool aEnable);
-
-    /**
-     * config unit size, reason may due to client layout id changed,
-     * or screen resolution changed
-     *
-     * @since S60 v3.2
-     * @param aClientLayoutId New client layout id
-     * @return ETrue means unit size changed, otherwise EFalse
-     */
-    IMPORT_C virtual TBool ReconfigUnitSize(TInt aClientLayoutId);
-    
-    /**
-     * Get numeric keymapping resource id
-     *
-     * @since S60 v3.2
-     * @return The id of numeric keymapping
-     */ 
-    virtual TInt GetNumKeymappingResId() = 0;
-    
-    IMPORT_C void CPeninputLayoutWindowExt::SetTextAlignmentL( TInt aAlignment );
-       
-protected:
-
-    /**
-     * constructor
-     *
-     * @since S60 v3.2
-     * @param aUiLayout The pointer to CFepUiLayout object
-     * @param aLayoutContext The pointer to MPeninputLayoutContext
-     * @return None
-     */
-    IMPORT_C CPeninputLayoutWindowExt( CFepUiLayout* aUiLayout, 
-                                    MPeninputLayoutContext* aLayoutContext );
-
-    /**
-     * Second-phase constructor
-     *
-     * @since S60 v3.2
-     * @return None
-     */ 
-    IMPORT_C void ConstructL();
-    /**
-     * From CAknFepCtrlBaseWindow
-     * Close window
-     *
-     * @since S60 v3.2
-     * @return The TBool indicating the result of close operation
-     */ 
-    IMPORT_C TBool DoClose();
-    
-    /**
-     * Construct from resource file
-     *
-     * @since S60 v3.2
-     * @param aResReader The resource reader
-     * @param aResUtils The resource utils
-     * @return None
-     */     
-    //IMPORT_C virtual void ConstructFromResourceL( 
-                                     //TResourceReader& aResReader );
-
-    /** 
-     * ConstructFromResourceL load settings from resource.
-     * Before calling this function, the resource id should be set
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    //IMPORT_C void ConstructFromResourceL();
-    
-     /**
-     * Add not owned control into the window
-     *
-     * @since S60 v3.2
-     * @param aControl The control to be added
-     * @return None
-     */  
-    IMPORT_C void AddNotOwnedControl( CFepUiBaseCtrl* aControl );
-
-    /**
-     * Change button status
-     *
-     * @since S60 v3.2
-     * @param aIsDown The button is down or not
-     * @param aControlId The destination button id
-     * @return None
-     */  
-    
-    IMPORT_C void ChangeButtonStatus(const TInt aIsDown, const TInt aControlId);
-	
-	/**
-     * Change Merged shift and capslock button status
-     *
-     * @since S60 v3.2
-     * @param aIsShiftCase when shift case
-     * @param aIsCapslockCase when capslock case
-     * @return None
-     */  
-    
-	IMPORT_C void ChangeMergedButtonStatus(	const TInt aIsShiftCase, 
-	    								 	const TInt aIsCapslockCase );    								 
-			
-    /**
-     * Change layout position
-     *
-     * @since S60 v3.2
-     * @return The new rectangle of layout
-     */      
-    IMPORT_C void ChangeLayoutPosition( TInt aJustifyStyle );
-    
-    /**
-     * Set the window rect
-     *
-     * @since S60 v3.2
-     * @param aRect The new rect of the window
-     * @return None
-     */                                            
-    IMPORT_C void SetWindowRect(const TRect& aRect);
-
-    /**
-     * Read icf bitmap from resource
-     *
-     * @since S60 v3.2
-     * @param aResReader The reource reader
-     * @return None
-     */
-    //IMPORT_C void ReadIcfInfo( TResourceReader aResReader );
-    
-    /**
-     * Set text font for language switch button.
-     *
-     * @since S60 v3.2
-     * @param aSwitchBtn Pointer to language switch button
-     * @return None
-     */
-    IMPORT_C void SetSwitchBtnFont(CAknFepCtrlEventButton& aSwitchBtn);
-    
-    /**
-     * Set text color for language switch button.
-     *
-     * @since S60 v3.2
-     * @param aSwitchBtn Pointer to language switch button
-     * @return None
-     */
-    IMPORT_C void SetSwitchBtnTextColor(CAknFepCtrlEventButton& aSwitchBtn);
-    
-    
-    /**
-     * Change size for base window, such as move button,drag button etc.
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C  virtual void SizeChangedForBaseWindow( TInt aTotalColumns ); 
-    
-    IMPORT_C virtual void SetLafLayOut(TInt aRows, TInt aColumns);   
-    
-    IMPORT_C virtual void SetVkbLayoutSize();
-    
-    virtual TBool CreateCustomControlL( TInt16 aControlId, TInt32 aImageId );
-    
-    virtual void AddCustomControlGroupL(CFepUiBaseCtrl* aCtrl);
-
-private:
-
-    /**
-     * Read laf of shadow
-     *
-     * @since S60 v3.2
-     * @param aRect the parent window
-     * @return None
-     */
-    void ReadLafForShadow();
-    
-    /**
-     * Check whether or not the resource file exists
-     *
-     * @since S60 v3.2
-     * @param aFileName The name of resource file
-     * @return The TBool indicating existance of resource file
-     */
-    TBool CheckResourceExist( const TDesC& aFileName );
-    
-    /**
-     * Get case decided by shift&caps status
-     *
-     * @since S60 v3.2
-     * @return The case value
-     */
-    TInt CaseByShiftCapslockStatus();
-    
-    /**
-     * Dim keys
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    void DimKeys();
-    void DimKeysL();    
-    
-    /**
-     * Change range bar
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    void ChangeRangeBarL();
-    
-    /**
-     * Change window position
-     *
-     * @since S60 v3.2
-     * @return None.
-     */    
-    void TopLeftJustify();
-
-    /**
-     * Change window position
-     *
-     * @since S60 v3.2
-     * @return None.
-     */    
-    void BottomRightJustify();
-
-    /**
-     * Change window position
-     *
-     * @since S60 v3.2
-     * @return None.
-     */    
-    void DataQueryJustify();
-        
-    /**
-     * Get key mapping string from resource or user defined mappings
-     *
-     * @since S60 v3.2
-     * @param aKeyMapping The key mapping enum
-     * @return None.
-     */    
-    HBufC* GetKeyMappingStringL( TInt aKeyMapping, const TInt aLang );
-    
-    void ResetLastColRow();
-protected: // data
-
-    /**
-     * The layout config
-     * Own
-     */    
-    CPeninputLayoutConfig* iConfigInfo;
-
-    /**
-     * The layout context
-     * Not own
-     */
-    MPeninputLayoutContext* iLayoutContext;        
-
-    /**
-     * The numeric kep mapping manager
-     * Own
-     */        
-    CPeninputNumericKepMappingMgr* iKeyMappingMgr;
-        
-    /**
-     * Vkb layout
-     * Own
-     */ 
-    CAknFepCtrlVkbLayout* iVkbLayout;
-
-    /**
-     * Language is changed
-     */
-    TBool iLangOrSizeChanged;
-
-    /**
-     * The total column for the window
-     */
-    TInt iLastUsedTotalColumns;
-
-    TInt iLastUsedTotalRows;
-
-    /**
-     * The resource id of window
-     */
-    TInt iWinResId;
-
-    /**
-     * The resource id of config
-     */
-    TInt iConfigResId;
-    
-    /**
-     * Width of top left shadow rect
-     */
-    TInt iShadowTlWidth;
-
-    /**
-     * Height of top left shadow rect
-     */
-    TInt iShadowTlHeight;
-
-    /**
-     * Width of bottom right shadow rect
-     */
-    TInt iShadowBrWidth;
-
-    /**
-     * Height of bottom right shadow rect
-     */
-    TInt iShadowBrHeight;
-    
-    /**
-     * First time construct flag
-     */
-    TBool iFirstTimeConstruct;        
-    
-    /**
-     * Switch button font id
-     */
-    TInt32 iSwitchFont;
-    
-    /**
-     * Switch button shadow font id
-     */
-    TInt32 iSwitchShadowFont;
-    
-    /**
-     * Indicate whether switch(shadow) font has been set
-     */
-    TBool iSwitchFontSet;
-    
-    /**
-     * Indicate whether need size change when change unit size
-     */
-    TBool iUnitSizeChange;
-    
-    /**
-     * Tone mark set for Viet
-     */
-    HBufC* iToneSet;
-    
-    /**
-     * Vowel char flag for Viet
-     */
-    TBool iVowelChar;
-    };
-#endif // C_CPeninputLayoutWindowExt_H
--- a/textinput/peninputcommonlayout/inc/peninputnumerickeymappingmgr.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,130 +0,0 @@
-/*
-* 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:  vkb number keymapping manager header file
-*
-*/
-
-
-#ifndef C_CPENINPUTNUMERICKEYMAPPINGMGR_H
-#define C_CPENINPUTNUMERICKEYMAPPINGMGR_H
-
-// System includes
-#include <e32base.h>
-#include <barsread.h>
-
-/**
- *  vkb number keymapping manager class
- *
- *  This class is to manage number keymapping. When this class contructs, keymapping 
- *  manager loads all mapping number key string from resource file. User can get 
- *  mapping key string according to keymapping id and delete all internal value when 
- *  destructing or calling reset.
- *
- *  @lib peninputcommonlayout.lib
- *  @since S60 v3.2
- */
-class CPeninputNumericKepMappingMgr : public CBase
-    {
-    
-public:
-
-    /**
-     * Two-phased constructor
-     *
-     * @since S60 v3.2
-     * @param aReader Resource reader      
-     * @return The pointer to CPeninputNumericKepMappingMgr object
-     */
-    IMPORT_C static CPeninputNumericKepMappingMgr* NewL( 
-        TResourceReader aReader );
-
-    /**
-     * Two-phased constructor
-     *
-     * @since S60 v3.2
-     * @param aReader Resource reader       
-     * @return The pointer to CPeninputNumericKepMappingMgr object
-     */    
-    IMPORT_C static CPeninputNumericKepMappingMgr* NewLC( 
-        TResourceReader aReader );
-
-    /**
-     * Destructor
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C virtual ~CPeninputNumericKepMappingMgr();
- 
-    /**
-     * Remove all keymapping ids and strings in array 
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C void Reset();
-
-    /**
-     * Get count of items in keymapping id array 
-     *
-     * @since S60 v3.2
-     * @return The count of items in keymapping id array 
-     */  
-    IMPORT_C TInt Count() const;
-
-    /**
-     * Get keymapping string by keymapping id
-     *
-     * @since S60 v3.2
-     * @param aKeyMappingId Keymapping id
-     * @return The pointer to HBufC data containing keymapping string 
-     */    
-    IMPORT_C HBufC* KeyMappingStringL( const TInt aKeyMappingId ) const;
-    
-    /**
-     * Get Arabic keymapping string by keymapping id
-     *
-     * @since S60 v3.2
-     * @param aKeyMappingId Keymapping id
-     * @return The pointer to HBufC data containing Arabic keymapping string 
-     */    
-    IMPORT_C HBufC* KeyMappingStringL( const TInt aKeyMappingID, 
-                                       const TInt aLang ) const;
-         
-protected:
-
-    /**
-     * Symbian second-phase constructor
-     *
-     * @since S60 v3.2
-     * @param aReader Resource reader         
-     * @return None
-     */ 
-    void ConstructL( TResourceReader aReader );
-    
-private: // Data
-
-    /**
-     * Keymapping id array
-     */  
-    RArray<TInt> iKeyMappingIdList;
-    
-    /**
-     * Keymapping string array
-     */          
-    RPointerArray<HBufC> iKeyMappingStringList;
-    
-    };
-
-#endif // C_CPENINPUTNUMERICKEYMAPPINGMGR_H
--- a/textinput/peninputcommonlayout/inc/peninputrangebarinfo.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,242 +0,0 @@
-/*
-* 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:  range bar layout implementation
-*
-*/
-
-
-#ifndef C_CPENINPUTRANGEBARINFO_H
-#define C_CPENINPUTRANGEBARINFO_H
-
-// System includes
-#include <e32base.h>
-#include <w32std.h>
-#include <barsread.h>
-
-// User includes
-#include "peninputcommonlayoutglobalenum.h"
-
-/**
- *  Peninput range bar definition
- *
- *  @lib peninputcommonlayout.lib
- *  @since S60 v3.2
- */
-class CPeninputRangeInfo : public CBase
-    {
-
-public:
-    /**
-     * Two-phase constructor
-     *
-     * @since S60 v3.2
-     * @param aReader Resource reader
-     * @return The pointer to CPeninputRangeInfo object
-     */
-    IMPORT_C static CPeninputRangeInfo* NewL( TResourceReader& aReader );
-    
-    /**
-     * Two-phase constructor
-     *
-     * @since S60 v3.2
-     * @param aReader Resource reader
-     * @return The pointer to CPeninputRangeInfo object
-     */
-    IMPORT_C static CPeninputRangeInfo* NewLC( TResourceReader& aReader );
-
-    /**
-     * Destructor
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C virtual ~CPeninputRangeInfo();  
-
-    /**
-     * Get range id
-     *
-     * @since S60 v3.2
-     * @return Range id
-     */
-    inline TInt RangeId();
-
-    
-    /**
-     * Get response style
-     *
-     * @since S60 v3.2
-     * @return Response style
-     */
-    inline TPeninputRangeResponseStyle ResponseStyle();
-
-    /**
-     * Get client layout id
-     *
-     * @since S60 v3.2
-     * @return Client layout id
-     */
-    inline TInt ClientLayoutId();
-
-    /**
-     * Get vkb layout id
-     *
-     * @since S60 v3.2
-     * @return Vkb layout id
-     */
-    inline TInt VkbLayoutId();
-
-
-protected:
-
-    /**
-     * Second phase constructor
-     *
-     * @since S60 v3.2
-     * @param aReader Resource reader
-     * @return None
-     */
-    void ConstructL( TResourceReader& aReader );
-
-    /**
-     * Construct from resource 
-     *
-     * @since S60 v3.2
-     * @param aReader Resource reader
-     * @return None
-     */
-    void ConstructFromResourceL( TResourceReader& aReader );
-
-private: // data
-
-    /**
-     * Range id
-     */
-    TInt iRangeId;
-    
-    /**
-     * Response style
-     */
-    TPeninputRangeResponseStyle iResponseStyle;
-
-    /**
-     * Client layout id
-     */
-    TInt iClientLayoutId;
-
-    /**
-     * Vkb layout id
-     */
-    TInt iVkbLayoutId;
-
-    };
-
-/**
- *  Peninput range bar definition
- *
- *  @lib peninputcommonlayout.lib
- *  @since S60 v3.2
- */
-class CPeninputRangeBarInfo : public CBase
-    {
-
-public:
-
-    /**
-     * Two-phase constructor
-     *
-     * @since S60 v3.2
-     * @param aReader Resource reader
-     * @return The pointer to CPeninputRangeBarInfo object
-     */
-    IMPORT_C static CPeninputRangeBarInfo* NewL( TResourceReader& aReader );
-    
-    /**
-     * Two-phase constructor
-     *
-     * @since S60 v3.2
-     * @param aReader Resource reader    
-     * @return The pointer to CPeninputRangeBarInfo object
-     */
-    IMPORT_C static CPeninputRangeBarInfo* NewLC( TResourceReader& aReader );
-
-    /**
-     * Destructor
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C virtual ~CPeninputRangeBarInfo();  
-
-    /**
-     * Get range style
-     *
-     * @since S60 v3.2
-     * @return Range style
-     */
-    inline TInt RangeStyle();
-    
-    /**
-     * Get range info by range id
-     *
-     * @since S60 v3.2
-     * @param aRangeId Range id  
-     * @return The pointer to CPeninputRangeInfo object
-     */
-    IMPORT_C CPeninputRangeInfo* FindRange( TInt aRangeId );
-
-    /**
-     * Get reference of pointer array of ranges
-     *
-     * @since S60 v3.2
-     * @return The reference of pointer array of ranges
-     */
-    inline RPointerArray<CPeninputRangeInfo>& Ranges();
-
-protected:
-
-    /**
-     * Second phase constructor
-     *
-     * @since S60 v3.2
-     * @param aReader Resource reader
-     * @return None
-     */
-    void ConstructL( TResourceReader& aReader );
-
-    /**
-     * Construct from resource 
-     *
-     * @since S60 v3.2
-     * @param aReader Resource reader
-     * @return None
-     */
-    void ConstructFromResourceL( TResourceReader& aReader );
-
-private: // data
-
-    /**
-     * Range bar style
-     */
-    TInt iRangeStyle;
-
-    /**
-     * Array of ranges on rangebar
-     */
-    RPointerArray<CPeninputRangeInfo> iRanges;
-
-    };
-
-#include "peninputrangebarinfo.inl" 
-
-#endif // C_CPENINPUTRANGEBARINFO_H
--- a/textinput/peninputcommonlayout/inc/peninputrangebarinfo.inl	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/*
-* 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:  range bar layout inline function 
-*
-*/
-
-
-// -----------------------------------------------------------------------------
-// CPeninputRangeInfo::RangeId
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline TInt CPeninputRangeInfo::RangeId()
-    {
-    return iRangeId;
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputRangeInfo::ResponseStyle
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline TPeninputRangeResponseStyle CPeninputRangeInfo::ResponseStyle()
-    {
-    return iResponseStyle;
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputRangeInfo::ClientLayoutId
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline TInt CPeninputRangeInfo::ClientLayoutId()
-    {
-    return iClientLayoutId;
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputRangeInfo::VkbLayoutId
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline TInt CPeninputRangeInfo::VkbLayoutId()
-    {
-    return iVkbLayoutId;
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputRangeBarInfo::RangeStyle
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline TInt CPeninputRangeBarInfo::RangeStyle()
-    {
-    return iRangeStyle;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CPeninputRangeBarInfo::Ranges
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline RPointerArray<CPeninputRangeInfo>& CPeninputRangeBarInfo::Ranges()
-    {
-    return iRanges;
-    }
--- a/textinput/peninputcommonlayout/inc/peninputshiftcapsInfo.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,145 +0,0 @@
-/*
-* 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:  shift and capslock information
-*
-*/
-
-
-#ifndef C_CPENINPUTSHIFTCAPSINFO_H
-#define C_CPENINPUTSHIFTCAPSINFO_H
-   
-// System includes
-#include <e32base.h>
-#include <w32std.h>
-#include <barsread.h>
-
-/**
- *  Peninput shift and capslock info definition
- *
- *  @lib peninputcommonlayout.lib
- *  @since S60 v3.2
- */
-class CPeninputShiftCapsInfo : public CBase
-    {
-
-public:
-
-    /**
-     * shift&caps single info
-     */
-    struct TPeninputShiftCapsSingle
-        {
-        TInt iId;
-        TInt iVkbLayoutId;
-        TInt iCaseUsed;
-        };
-
-    /**
-     * Two-phase constructor
-     *
-     * @since S60 v3.2
-     * @param aReader Resource reader    
-     * @return The pointer to CPeninputShiftCapsInfo object
-     */
-    IMPORT_C static CPeninputShiftCapsInfo* NewL( TResourceReader& aReader );
-    
-    /**
-     * Two-phase constructor
-     *
-     * @since S60 v3.2
-     * @param aReader Resource reader    
-     * @return The pointer to CPeninputShiftCapsInfo object
-     */
-    IMPORT_C static CPeninputShiftCapsInfo* NewLC( TResourceReader& aReader );
-
-    /**
-     * Destructor
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C virtual ~CPeninputShiftCapsInfo();  
-
-    /**
-     * Get shift caps single info by id
-     *
-     * @since S60 v3.2
-     * @param aId Shift caps id 
-     * @return The pointer to TPeninputShiftCapsSingle object
-     */
-    IMPORT_C TPeninputShiftCapsSingle* FindShiftCapsSingleById( TInt aId );
-
-    /**
-     * Get shift caps single info by case
-     *
-     * @since S60 v3.2
-     * @param aCase Range id 
-     * @return The pointer to TPeninputShiftCapsSingle object
-     */
-    IMPORT_C TPeninputShiftCapsSingle* FindShiftCapsSingleByCase( TInt aCase );
-    
-    /**
-     * Get range id
-     *
-     * @since S60 v3.2
-     * @return Range id
-     */
-    inline TInt RangeId();
-    
-    /**
-     * Get array of shift caps single info
-     *
-     * @since S60 v3.2
-     * @return The reference of pointer array of shift 
-     *         caps single info
-     */
-    inline RPointerArray<TPeninputShiftCapsSingle>& ShiftCapsSingleList();
-
-protected:
-
-    /**
-     * Second phase constructor
-     *
-     * @since S60 v3.2
-     * @param aReader Resource reader
-     * @return None
-     */
-    void ConstructL( TResourceReader& aReader );
-
-    /**
-     * Construct from resource 
-     *
-     * @since S60 v3.2
-     * @param aReader Resource reader
-     * @return None
-     */
-    void ConstructFromResourceL( TResourceReader& aReader );
-
-private: // Data
-
-    /**
-     * Range id
-     */
-    TInt iRangeId;
-
-    /**
-     * Array of shift caps single info
-     */
-    RPointerArray<TPeninputShiftCapsSingle> iShiftCapsSingleList;
-
-    };
-
-#include "peninputshiftcapsinfo.inl" 
-
-#endif // C_CPENINPUTSHIFTCAPSINFO_H
--- a/textinput/peninputcommonlayout/inc/peninputshiftcapsinfo.inl	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
-* 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:  shift caps info inline function 
-*
-*/
-
-
-// -----------------------------------------------------------------------------
-// CPeninputShiftCapsInfo::RangeId
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline TInt CPeninputShiftCapsInfo::RangeId()
-    {
-    return iRangeId;
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputShiftCapsInfo::ShiftCapsSingleList
-// (other items were commented in a header)
-// -----------------------------------------------------------------------------
-//
-inline RPointerArray<CPeninputShiftCapsInfo::TPeninputShiftCapsSingle>& 
-    CPeninputShiftCapsInfo::ShiftCapsSingleList()
-    {
-    return iShiftCapsSingleList;
-    }
--- a/textinput/peninputcommonlayout/inc/peninputuistatebase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,128 +0,0 @@
-/*
-* 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:  Interface of ui state
-*
-*/
-
-
-#ifndef C_CPENINPUTUISTATEBASE_H
-#define C_CPENINPUTUISTATEBASE_H
-
-// System includes
-#include <e32base.h>
-#include <w32std.h>
-#include <peninputcmd.h>
-
-// Forward declarations
-class MPeninputUiStateMgr;
-class MPeninputLayoutContext;
-
-/**
- *  Basic class of ui state
- *
- *  @lib peninputcommonlayout.lib
- *  @since S60 v3.2
- */
-class CPeninputUiStateBase : public CBase
-    {
-
-public:
-
-    /**
-     * Two-phased constructor
-     *
-     * @since S60 v3.2
-     * @param aUiStateMgr The ui state manager
-     * @param aContext The layout context
-     * @return The pointer to CPeninputUiStateBase object
-     */
-    IMPORT_C static CPeninputUiStateBase* NewL( 
-        MPeninputUiStateMgr* aUiStateMgr, 
-        MPeninputLayoutContext* aContext );
-        
-    /**
-     * Destructor
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C virtual ~CPeninputUiStateBase();
-        
-    /**
-     * Handle key event
-     *
-     * @since S60 v3.2
-     * @param aData Carry information of key pressed
-     * @return ETrue means event was consumed, otherwise EFalse
-     */
-    IMPORT_C virtual TBool HandleKeyEventL( const TRawEvent& aData );
-    
-    /**
-     * Handle control event
-     *
-     * @since S60 v3.2
-     * @param aEventType The event type
-     * @param aEventData The event data
-     * @return ETrue means event was consumed, otherwise EFalse
-     */
-    IMPORT_C virtual TBool HandleControlEvent( TInt aEventType, 
-                                               const TDesC& aEventData );
-    
-protected:
-
-    /**
-     * Constructor
-     *
-     * @since S60 v3.2
-     * @param aUiStateMgr The ui state manager
-     * @param aContext The layout context
-     * @return None
-     */
-    IMPORT_C CPeninputUiStateBase( MPeninputUiStateMgr* aUiStateMgr, 
-                                   MPeninputLayoutContext* aContext );
-    
-    /**
-     * Symbian second-phase constructor
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C void Construct(); 
-    
-    /**
-     * Send key event through layout context
-     *
-     * @since S60 v3.2
-     * @param aEventData Event data, the left most is unicode
-     * @return ETrue if key event was consumed, otherwise EFalse
-     */
-    IMPORT_C TBool SendKey( const TDesC& aEventData );
-    
-protected:
-
-    /**
-     * Ui state manager 
-     * Not own
-     */
-    MPeninputUiStateMgr* iUiStateMgr;
-    
-    /**
-     * Layout context 
-     * Not own
-     */
-    MPeninputLayoutContext* iContext;    
-
-    };
-          
-#endif  // C_CPENINPUTUISTATEBASE_H
--- a/textinput/peninputcommonlayout/inc/peninputuistatemgr.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,172 +0,0 @@
-/*
-* 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:  Interface of ui state manager
-*
-*/
-
-
-#ifndef C_CPENINPUTUISTATEMGR_H
-#define C_CPENINPUTUISTATEMGR_H
-
-// System includes
-#include <e32base.h>
-#include <w32std.h>
-
-// User includes
-#include "peninputuistatemgrinterface.h"
-
-// Forward declarations
-class CPeninputUiStateBase;
-class MPeninputLayoutContext;
-
-/**
- *  The ui state manager
- *  It provides get method of all ui state and current ui state
- *
- *  @lib peninputcommonlayout.lib
- *  @since S60 v3.2
- */
-class CPeninputUiStateMgr : public CBase, 
-                            public MPeninputUiStateMgr
-    {
-
-public:
-
-    /**
-     * Two-phased constructor
-     *
-     * @since S60 v3.2
-     * @param aContext The layout context
-     * @return The pointer to CPeninputUiStateMgr object
-     */
-    IMPORT_C static CPeninputUiStateMgr* NewL( 
-        MPeninputLayoutContext* aContext );
-    
-    /**
-     * Two-phased constructor
-     *
-     * @since S60 v3.2
-     * @param aContext The layout context
-     * @return The pointer to CPeninputUiStateMgr object
-     */    
-    IMPORT_C static CPeninputUiStateMgr* NewLC( 
-        MPeninputLayoutContext* aContext );
-
-    /**
-     * Destructor
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C virtual ~CPeninputUiStateMgr();
-    
-// from base class MPeninputUiStateMgr
-
-    /**
-     * From MPeninputUiStateMgr
-     * Get current ui state
-     *
-     * @since S60 v3.2
-     * @return The pointer to CPeninputUiStateBase object
-     */
-    IMPORT_C CPeninputUiStateBase* CurrentUiState();
-    
-    /**
-     * From MPeninputUiStateMgr
-     * Get ui state object according to the input state type
-     *
-     * @since S60 v3.2
-     * @param aUiStateType The type of ui state
-     * @return The pointer to CPeninputUiStateBase object
-     */
-    IMPORT_C CPeninputUiStateBase* GetUiState( TInt aUiStateType ); 
-        
-    /**
-     * From MPeninputUiStateMgr
-     * Set current ui state by state object
-     *
-     * @since S60 v3.2
-     * @param aUiState The state to be set as current ui state
-     * @return None
-     */
-    IMPORT_C void SetCurrentUiState( CPeninputUiStateBase* aUiState );
-
-    /**
-     * From MPeninputUiStateMgr
-     * Set current ui state by state type
-     *
-     * @since S60 v3.2
-     * @param aUiStateType The type of ui state
-     * @return None
-     */
-    IMPORT_C void SetCurrentUiState( TInt aUiStateType );
-    
-    /**
-     * From MPeninputUiStateMgr
-     * Add ui state to list
-     *
-     * @since S60 v3.2
-     * @param aUiState The ui state object to be added to list
-     * @param aUiStateType The ui state type to be added to list
-     * @return None
-     */
-    IMPORT_C void AddUiState( CPeninputUiStateBase* aUiState, 
-                              TInt aUiStateType );
-
-protected: //method
-
-    /**
-     * Symbian second phase constructor
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    virtual void Construct();
-
-    /**
-     * Constructor
-     *
-     * @since S60 v3.2
-     * @param aContext The layout context
-     * @return None
-     */
-    CPeninputUiStateMgr( MPeninputLayoutContext* aContext );
-
-private: // Data
-
-    /**
-     * The pointer points to current ui state 
-     * Own
-     */
-    CPeninputUiStateBase* iCurrentState;
-
-    /**
-     * The pointer points to layout context 
-     * Not own
-     */
-    MPeninputLayoutContext* iContext;
-    
-    /**
-     * Ui state list
-     */
-    RPointerArray<CPeninputUiStateBase> iUiStateList;
-    
-    /**
-     * Ui type list
-     */
-    RArray<TInt> iUiStateTypeList;
-    
-    };
-
-#endif // C_CPENINPUTUISTATEMGR_H
--- a/textinput/peninputcommonlayout/inc/peninputuistatemgrinterface.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
-* 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:  Interface of ui state manager
-*
-*/
-
-
-#ifndef M_MPENINPUTUISTATEMGR_H
-#define M_MPENINPUTUISTATEMGR_H
-
-// Forward declarations
-class CPeninputUiStateBase;
-
-/**
- *  The ui state manager interfaces
- *  It provides intefaces to access ui state manager
- *
- *  @lib peninputcommonlayout.lib
- *  @since S60 v3.2
- */
-class MPeninputUiStateMgr
-    {
-    
-public:
-
-    /**
-     * Get current ui state
-     *
-     * @since S60 v3.2
-     * @return The pointer to CPeninputUiStateBase object
-     */
-    virtual CPeninputUiStateBase* CurrentUiState() = 0;
-    
-    /**
-     * Get ui state object according to the ui state type
-     *
-     * @since S60 v3.2
-     * @param aUiStateType The type of ui state
-     * @return The pointer to CPeninputUiStateBase object
-     */
-    virtual CPeninputUiStateBase* GetUiState( TInt aUiStateType ) = 0; 
-        
-    /**
-     * Set current ui state by state object
-     *
-     * @since S60 v3.2
-     * @param aUiState The state to be set as current ui state
-     * @return None
-     */
-    virtual void SetCurrentUiState( CPeninputUiStateBase* aUiState ) = 0;
-
-    /**
-     * Set current ui state by state type
-     *
-     * @since S60 v3.2
-     * @param aUiStateType The type of ui state
-     * @return None
-     */
-    virtual void SetCurrentUiState( TInt aUiStateType ) = 0;
-    
-    /**
-     * Add ui state to list
-     *
-     * @since S60 v3.2
-     * @param aUiState The ui state object to be added to list
-     * @param aUiStateType The ui state type to be added to list
-     * @return None
-     */
-    virtual void AddUiState( CPeninputUiStateBase* aUiState, 
-                             TInt aUiStateType ) = 0;
-    
-    };
-
-#endif  // M_MPENINPUTUISTATEMGR_H
--- a/textinput/peninputcommonlayout/rom/peninputcommonlayout.iby	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* 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:  Image description file for project peninputcommonlayout
-*
-*/
-
-
-#ifndef PENINPUTCOMMONLAYOUT_IBY
-#define PENINPUTCOMMONLAYOUT_IBY
-
-#include <data_caging_paths_for_iby.hrh>
-#include <bldvariant.hrh>
-
-#ifdef __PEN_SUPPORT
-#ifdef RD_SCALABLE_UI_V2 
-
-file=ABI_DIR\BUILD_DIR\peninputcommonlayout.dll        SHARED_LIB_DIR\peninputcommonlayout.dll
-
-#endif // RD_SCALABLE_UI_V2
-#endif // __PEN_SUPPORT
-
-#endif // PENINPUTCOMMONLAYOUT_IBY
--- a/textinput/peninputcommonlayout/src/peninputclientlayoutinfo.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,214 +0,0 @@
-/*
-* 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:  client layout implementation
-*
-*/
-
-
-// User includes
-#include "peninputclientlayoutinfo.h"
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ------------------------------------------------------------------------
-// CPeninputControlInfo::NewL
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-EXPORT_C CPeninputControlInfo* CPeninputControlInfo::NewL( 
-    TResourceReader& aReader )
-    {
-    CPeninputControlInfo* self = new ( ELeave ) CPeninputControlInfo();
-    CleanupStack::PushL( self );
-    self->ConstructL( aReader );
-    CleanupStack::Pop( self );
-    
-    return self;
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputControlInfo::~CPeninputControlInfo
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-EXPORT_C CPeninputControlInfo::~CPeninputControlInfo()
-    {
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputControlInfo::ConstructL
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-void CPeninputControlInfo::ConstructL( TResourceReader& aReader )
-    {
-    ConstructFromResourceL( aReader );
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputControlInfo::ConstructFromResourceL
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-void CPeninputControlInfo::ConstructFromResourceL( TResourceReader& aReader )
-    {
-    iControlID = aReader.ReadInt16();
-    iControlType = aReader.ReadInt16();
-    iBeginRow = aReader.ReadInt16();
-    iBeginColumn = aReader.ReadInt16();
-    iEndRow = aReader.ReadInt16();
-    iEndColumn = aReader.ReadInt16();
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputClientLayoutInfo::NewL
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-EXPORT_C CPeninputClientLayoutInfo* CPeninputClientLayoutInfo::NewL( 
-    TResourceReader& aReader )
-    {
-    CPeninputClientLayoutInfo* self = NewLC( aReader );
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputClientLayoutInfo::NewLC
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-EXPORT_C CPeninputClientLayoutInfo* CPeninputClientLayoutInfo::NewLC( 
-    TResourceReader& aReader )
-    {
-    CPeninputClientLayoutInfo* self = 
-        new ( ELeave ) CPeninputClientLayoutInfo();
-    CleanupStack::PushL( self );
-    self->ConstructL( aReader );
-
-    return self;
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputClientLayoutInfo::~CPeninputClientLayoutInfo
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-EXPORT_C CPeninputClientLayoutInfo::~CPeninputClientLayoutInfo()
-    {
-    iControlInfoList.ResetAndDestroy();
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputClientLayoutInfo::ConstructFromResourceL
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputClientLayoutInfo::ConstructFromResourceL( 
-    TResourceReader& aReader )
-    {
-    iLayoutID = aReader.ReadInt16();
-    iColumns = aReader.ReadInt16();
-    iRows = aReader.ReadInt16();
-
-    const TInt count = aReader.ReadInt16();
-    for ( TInt i = 0; i < count; i++ )
-        {
-        CPeninputControlInfo* controlInfo = 
-            CPeninputControlInfo::NewL( aReader );
-        AddControlInfo( controlInfo );
-        }
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputClientLayoutInfo::FindControlInfo
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-EXPORT_C CPeninputControlInfo* CPeninputClientLayoutInfo::FindControlInfo( 
-    const TInt aControlID )
-    {
-    const TInt count = iControlInfoList.Count();
-    
-    for ( TInt i = 0; i < count; i++ )
-        {
-        if ( iControlInfoList[i]->ControlID() == aControlID )
-            {
-            return iControlInfoList[i];
-            }
-        }
-
-    return NULL;
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputClientLayoutInfo::AddControlInfo
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-// 
-EXPORT_C void CPeninputClientLayoutInfo::AddControlInfo( 
-    CPeninputControlInfo* aControlInfo )
-    {
-    iControlInfoList.Append( aControlInfo );
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputClientLayoutInfo::RemoveControlInfo
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputClientLayoutInfo::RemoveControlInfo( 
-    CPeninputControlInfo* aControlInfo )
-    {
-    CPeninputControlInfo* controlInfo = 
-        FindControlInfo( aControlInfo->ControlID() );
-    if ( controlInfo )
-        {
-        RemoveControlInfo( controlInfo->ControlID() );
-        }
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputClientLayoutInfo::RemoveControlInfo
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputClientLayoutInfo::RemoveControlInfo( 
-    const TInt aControlID )
-    {
-    const TInt count = iControlInfoList.Count();
-
-    for ( TInt i = 0; i < count; i++ )
-        {
-        if ( iControlInfoList[i]->ControlID() == aControlID )
-            {
-            CPeninputControlInfo* controlInfo = iControlInfoList[i];
-            delete controlInfo;
-            iControlInfoList.Remove( i );
-            break;
-            }
-        }
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputClientLayoutInfo::ConstructL
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-void CPeninputClientLayoutInfo::ConstructL( TResourceReader& aReader )
-    {
-    ConstructFromResourceL( aReader );
-    }
--- a/textinput/peninputcommonlayout/src/peninputcommonlayout.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,653 +0,0 @@
-/*
-* 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:  common layout framework
-*
-*/
-
-
-// System includes
-#include <aknfeppeninputenums.h>    // Command from fep or IME to plugin
-#include <AknFepGlobalEnums.h>      // Define EPluginInputModeHwr
-#include <peninputcmd.h>            // Use global signal
-#include <peninputlayoutchoicelist.h>
-#include <peninputlayoutbutton.h>
-#include <peninputdragbutton.h>
-#include <coemain.h>
-
-// User includes
-#include "peninputuistatebase.h"
-#include "peninputdataconverter.h"
-#include "peninputcommonlayout.h"
-#include "peninputlayoutwindow.h"
-#include "peninputdatamgr.h"
-#include "peninputuistatemgr.h"
-#include "peninputrangebarinfo.h"	
-
-// Constants
-const TInt KPeninputCommonLayoutBufLen = 8;
-const TInt KIntSizeToInt16 = 2;
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayout::CPeninputCommonLayout
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPeninputCommonLayout::CPeninputCommonLayout( MLayoutOwner* aLayoutOwner )
-    : CFepUiLayout( aLayoutOwner )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayout::ConstructL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputCommonLayout::ConstructL( const TAny* aInitData )
-    {
-    BaseConstructL();
-
-    TPixelsTwipsAndRotation ptSize;
-    
-    CCoeEnv::Static()->ScreenDevice()->GetDefaultScreenSizeAndRotation( ptSize );
-            
-    SetScreenSize(ptSize.iPixelSize);    
-    
-    // This method must be called first, because it will initialize 
-    // language from CenRep
-    CreateDataMgrL(aInitData);
-
-    TBool sizeChanging = ETrue;
-    if ( iDataMgr )
-        {
-        // Store screen mode, and get new window position
-        iDataMgr->SetData( EPeninputDataTypeScreenMode, ( TAny* ) &ptSize );
-        
-        // Store justify style
-        iDataMgr->SetData(EAkninputDataTypeSizeChanging, &sizeChanging);
-        }
-
-    iUiStateMgr = CPeninputUiStateMgr::NewL( this );
-
-    CreateLayoutWindowL();
-
-    if ( iLayoutWindow )
-        {
-        iLayoutWindow->Hide(ETrue);
-        AddControlL( iLayoutWindow );
-        
-        // Config layout self using the whole screen
-        //SetRect(TRect(TPoint(0, 0), ptSize.iPixelSize ));
-
-        // Call the function in window to read config info
-        //ChangeInputLanguage( *( (TInt*)iDataMgr->RequestData(EPeninputDataTypeInputLanguage)));
-
-        iLayoutWindow->SizeChanged( ETrue );
-        EnableLayoutMoving( static_cast<CDragBar*>( iLayoutWindow->MoveButton() ) );
-        }
-    
-    if (iDataMgr)
-    	{
-    	sizeChanging = EFalse;
-    	iDataMgr->SetData(EAkninputDataTypeSizeChanging, &sizeChanging);
-    	}
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayout::~CPeninputCommonLayout
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPeninputCommonLayout::~CPeninputCommonLayout()
-    {       
-    delete iUiStateMgr;
-    delete iDataMgr;
-    
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayout::UiStateMgr
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C MPeninputUiStateMgr* CPeninputCommonLayout::UiStateMgr() const
-    {
-    return iUiStateMgr;
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayout::LayoutWindow
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPeninputLayoutWindow* CPeninputCommonLayout::LayoutWindow() const
-    {
-    return NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayout::HandleCommand
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CPeninputCommonLayout::HandleCommand( TInt aCmd, 
-                                                    TUint8* aData )
-    {
-    // Handle command from fep or IME to this layout
-    TUint* data = ( TUint* ) aData;
-    TBuf<KPeninputCommonLayoutBufLen> buf;
-    TBuf<KIntSizeToInt16> bufStyle;
-    TInt style;
-    TInt ret = KErrNone;
-    
-    switch ( aCmd )
-        {
-        case ECmdPenInputPermittedRange:
-            CPeninputDataConverter::IntToDesc( *data, buf );
-            SendEventToWindow( EPeninputLayoutEventSetPermittedRange, NULL, 
-                               buf );        
-            break;
-        case ECmdPenInputPermittedCase:
-            {
-            CPeninputDataConverter::IntToDesc( *data, buf );
-            SendEventToWindow( EPeninputLayoutEventSetPermittedCase, NULL, 
-                               buf );             
-            }
-            break;
-        case ECmdPenInputEditorNumericKeyMap:
-            {
-            iDataMgr->SetData( EPeninputDataTypeNumericKeymap, data );
-            }
-            break;
-        case ECmdPenInputCase:
-            {
-            CPeninputDataConverter::IntToDesc( *data, buf );
-            SendEventToWindow( EPeninputLayoutEventSetCase, NULL, 
-                               buf );
-            }
-            break;
-        case ECmdPenInputLanguage:
-            {
-            ChangeInputLanguage(*data);
-            }            
-            break;
-        case ECmdPenInputRange:
-            {
-            ChangeRange( TranslateRange(*data) );
-            }
-            break;
-        case ECmdPenInputEnableSettingBtn:
-            {
-            SetEnableSettingBtn(*data);
-            }
-            break;
-        case ECmdPenInputIsSecretText:
-            {
-            iLayoutWindow->SetTextIsSecret( *aData );
-            }
-            break;
-        case ECmdPenInputIsNumberGrouping:
-            {
-            iLayoutWindow->SetNumberGrouping( *aData );
-            }
-            break;    
-        case ECmdPenInputWindowOpen:
-            {
-            if ( *data == EPenInputOpenManually )
-                {
-                style = EPeninputPositionChangeBrJustify;
-                bufStyle = ( TUint16* )&style;
-                SendEventToWindow(EPeninputLayoutEventMovePosition, NULL, bufStyle );  
-                }
-            iLayoutWindow->Hide(EFalse);
-            LayoutOwner()->Hide( EFalse );
-            }
-            break;
-        case ECmdPenInputWindowClose:
-            {
-            iLayoutWindow->Hide(ETrue);            
-            LayoutOwner()->Hide( ETrue );
-
-            SendEventToWindow( EPeninputLayoutEventCloseWindow, NULL );
-            }
-            break;
-        case ECmdPenInputSetWindowPos:
-            {
-            // Only VKB need to move position automatically
-            if ( LayoutType() == EPluginInputModeVkb )
-                {
-                // Data is a TRect
-                iDataMgr->SetData( EPeninputDataTypeDataQueryDlgRect, 
-                                   (TRect*) aData );
-                                   
-                // Store justify style
-                style = EPeninputPositionChangeDataQuery;
-                bufStyle = ( TUint16* )&style;
-                SendEventToWindow(EPeninputLayoutEventMovePosition, NULL, bufStyle);
-                }
-            }
-            break;
-        case ECmdPenInputEditorCustomNumericKeyMap:
-            {
-            iDataMgr->SetData(EAknFepDataTypeUseDefinedResource, aData);
-            }
-            break;    
-        case ECmdPenInputSetTextAlignment:
-        	{
-		    TRAP_IGNORE(iLayoutWindow->SetTextAlignmentL( *data ));
-        	}
-        	break;
-        default:
-            {
-            ret = CFepUiLayout::HandleCommand( aCmd, aData );
-            }
-            break;
-        }
-
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayout::SizeChanged
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CPeninputCommonLayout::SizeChanged( const TAny* /*aData*/ )
-    {
-    TBool sizeChanging = ETrue;
-    iDataMgr->SetData(EAkninputDataTypeSizeChanging, &sizeChanging);
-
-    // Handle size changed event
-    TPixelsTwipsAndRotation ptSize;  
-       
-    CCoeEnv::Static()->ScreenDevice()->GetDefaultScreenSizeAndRotation( ptSize );
-    //SetScreenSize(ptSize.iPixelSize);
-
-    // Store screen mode, and get new window position
-    iDataMgr->SetData( EPeninputDataTypeScreenMode, ( TAny* )&ptSize );
-
-     // The following need to implement
-    iLayoutWindow->SizeChanged( ETrue );
-
-    sizeChanging = EFalse;
-    iDataMgr->SetData(EAkninputDataTypeSizeChanging, &sizeChanging);
-
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayout::HandleControlEvent
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputCommonLayout::HandleControlEvent(
-    TInt aEventType, CFepUiBaseCtrl* aCtrl, const TDesC& aEventData )
-    {
-    // Handle event from control
-    TInt* data = ( TInt* ) aEventData.Ptr();
-
-    // Buffer for data conversion
-    TBuf<KPeninputCommonLayoutBufLen> buf;
-
-    switch ( aEventType )
-        {
-        case EPeninputLayoutEventClose:
-            {
-            SignalOwner( ESignalLayoutClosed );
-            }
-            break;
-        case EPeninputLayoutEventOption:
-            {
-            SignalOwner( ESignalLaunchOptionMenu );
-            }
-            break;
-        case EPeninputLayoutEventSwitchLanguage:
-            {
-            SignalOwner( ESignalLaunchLanguageMenu );
-            }
-            break;
-        // When drag end, store the position data
-        case EEventDraggingEnd:
-            {
-            TInt x = 0;
-            TInt y = 0;
-            x = 0x0000FFFF & ( Position().iX + Rect().Width() );
-            y = 0xFFFF0000 & ( ( Position().iY + Rect().Height() ) << 16 );
-            TInt position = x | y;
-            if ( position )
-                {
-                iDataMgr->SetData( EPeninputDataTypeWindowPosition, &position );
-                }
-            }
-            break;
-        default:
-            {
-            if ( iUiStateMgr->CurrentUiState() )
-                {
-                if ( !iUiStateMgr->CurrentUiState()->HandleControlEvent
-                    ( aEventType, aEventData ) )
-                    {
-                    SendEventToWindow( aEventType, aCtrl, aEventData );
-                    }                    
-                }
-            }
-            break;       
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayout::OnAppEditorTextComing
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CPeninputCommonLayout::OnAppEditorTextComing(
-    const TFepInputContextFieldData& aData )
-    {
-    // Handle edit text coming
-    if ( iLayoutWindow )
-        {
-        TRAPD( err, iLayoutWindow->SetEditorTextL( aData ) );
-        return err;
-        }
-    
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayout::HandleRawKeyEventL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CPeninputCommonLayout::HandleRawKeyEventL(
-    const TRawEvent& aKeyEvent )
-    { 
-    return iUiStateMgr->CurrentUiState()->HandleKeyEventL( aKeyEvent );
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayout::SendEventToWindow
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputCommonLayout::SendEventToWindow( 
-    TInt aEventType, CFepUiBaseCtrl* aCtrl, const TDesC& aEventData )
-    {
-    iLayoutWindow->HandleControlEvent( aEventType, aCtrl, aEventData );
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayout::SendEventToLayout
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputCommonLayout::SendEventToLayout( 
-    TInt aEventType, CFepUiBaseCtrl* aCtrl, const TDesC& aEventData )
-    {
-    HandleControlEvent( aEventType, aCtrl, aEventData );
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayout::Sendkey
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputCommonLayout::Sendkey( TInt aEventType, 
-                                              const TDesC& aEventData )
-    {
-    SignalOwner( aEventType, aEventData ); 
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayout::IsShiftPermitted
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//           
-EXPORT_C TBool CPeninputCommonLayout::IsShiftPermitted()
-    {
-    return iDataMgr->IsShiftPermitted();
-    }
-    
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayout::IsCapsLockPermitted
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C TBool CPeninputCommonLayout::IsCapsLockPermitted()
-    {
-    return iDataMgr->IsCapsLockPermitted();
-    }
-    
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayout::RequestData
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TAny* CPeninputCommonLayout::RequestData( 
-    TPeninputDataType aDataType )
-    {
-    return iDataMgr->RequestData( aDataType );
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayout::SetData
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputCommonLayout::SetData( TPeninputDataType aDataType, 
-                                              TAny* aData )
-    {
-    iDataMgr->SetData( aDataType, aData );
-    }
-                
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayout::SetData
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CPeninputCommonLayout::IsValidDestination( const TRect& aRect,
-                                                          CDragBar* aDragBar,
-                                                          TBool& aVInfo,
-                                                          TBool& aHInfo,
-                                                          TBool aFlag )
-    {
-    // Validate move button destination 
-    if ( !aDragBar )
-        {
-        return EFalse;
-        }
-        
-    TRect rect = aRect;
-    
-    if ( aFlag )
-        {
-        // Layout is moving
-        aHInfo = aVInfo = EFalse;
-        TRect dragbarRect( aRect.iTl, aDragBar->Rect().Size() );
-        
-        if ( dragbarRect.iTl.iX >= 0 
-             && dragbarRect.iBr.iX < ScreenSize().iWidth )
-            {
-            aHInfo = ETrue;
-            }
-            
-        if ( dragbarRect.iTl.iY >= 0 
-             && dragbarRect.iBr.iY < ScreenSize().iHeight )
-            {
-            aVInfo = ETrue;
-            }
-        
-        return ( aHInfo && aVInfo );
-        }
-    else
-        {
-        if ( aDragBar )
-            {
-            rect.SetSize( aDragBar->Rect().Size() );
-            }
-            
-        TBool tlInvalid = !Rect().Contains( rect.iTl );
-        TBool brInvalid = !Rect().Contains( rect.iBr );
-
-        if ( tlInvalid && !brInvalid )
-            {
-            if ( rect.iTl.iX >= Rect().iTl.iX 
-                 && rect.iTl.iX <= Rect().iBr.iX )
-                {
-                aHInfo = ETrue;
-                }
-            else if ( rect.iTl.iY >= Rect().iTl.iY 
-                      && rect.iTl.iY <= Rect().iBr.iY )
-                {
-                aVInfo = ETrue;
-                }
-            }
-        else if ( !tlInvalid && brInvalid )
-            {
-            if ( rect.iBr.iX >= Rect().iTl.iX 
-                 && rect.iBr.iX <= Rect().iBr.iX )
-                {
-                aHInfo = ETrue;
-                }
-            else if ( rect.iBr.iY >= Rect().iTl.iY 
-                      && rect.iBr.iY <= Rect().iBr.iY )
-                {
-                aVInfo = ETrue;
-                }
-            }
-
-        return !( tlInvalid || brInvalid );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayout::TranslateRange
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-TInt CPeninputCommonLayout::TranslateRange(TInt aRange)
-    {
-    TInt newRange = aRange;
-    	     
-    if ( aRange == ERangeNative)
-        {
-        if ( iLayoutWindow
-             && iLayoutWindow->ConfigInfo()
-             && iLayoutWindow->ConfigInfo()->RangeBarInfo()->FindRange( ERangeNative ) )
-            {
-            newRange = ERangeNative;    
-            }
-        else
-            {
-            newRange = ERangeEnglish;    
-            }
-        }
-    else if ( aRange == ERangeEnglish)
-        {
-        if ( iLayoutWindow
-             && iLayoutWindow->ConfigInfo()
-             && iLayoutWindow->ConfigInfo()->RangeBarInfo()->FindRange( ERangeEnglish ) )
-            {
-            newRange = ERangeEnglish;    
-            }
-        else
-            {
-            newRange = ERangeNative;    
-            }
-        }
-                
-    return newRange;    
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayout::Init
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TRect CPeninputCommonLayout::Init()
-    {
-    TRect r = CFepUiLayout::Init();
-    //wxy -- No need to set position here
-    //LayoutOwner()->SetPosition( Rect().iTl );
-    //r = TRect( Position(), r.Size() );
-
-    return r;
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayout::SaveKey
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputCommonLayout::SaveKey( TInt aKey, TInt aValue )
-    {
-    iDataMgr->SaveKey( aKey, aValue );
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayout::ChangeInputLanguage
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-void CPeninputCommonLayout::ChangeInputLanguage( TInt aLangID )
-    {
-    // Call ChangeInputLanguage function in iLayoutWindow
-    TRAP_IGNORE( iLayoutWindow->ChangeInputLanguageL( aLangID ) );
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayout::ChangeLanguage
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-void CPeninputCommonLayout::ChangeRange( TInt aRange )
-    {
-    iLayoutWindow->ChangeRange( aRange, 0 , EFalse);
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayout::SetEnableSwitchToHwr
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-void CPeninputCommonLayout::SetEnableSwitchToHwr( TBool aEnable )
-    {
-    iLayoutWindow->SetEnableSwitchToHwr( aEnable );
-    }   
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayout::SetEnableSettingBtn
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-void CPeninputCommonLayout::SetEnableSettingBtn( TBool aEnable )
-    {
-    iLayoutWindow->SetEnableSettingBtn( aEnable );
-    }  
-
-EXPORT_C TInt CPeninputCommonLayout::PenInputType()
-    {
-    return LayoutType();
-    }
-
-EXPORT_C void CPeninputCommonLayout::SetPositionFromOutside(const TPoint& aNewPos)
-    {
-    LayoutOwner()->SetPosition(aNewPos);
-    TInt x = 0x0000FFFF & aNewPos.iX;
-    TInt y = 0xFFFF0000 & ( aNewPos.iY << 16 );
-    TInt position = x | y;
-    
-    SetData( EPeninputDataTypeWindowPosition, (TAny*)&position );
-    }
-
--- a/textinput/peninputcommonlayout/src/peninputcommonlayoutext.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,675 +0,0 @@
-/*
-* 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:  common layout framework
-*
-*/
-
-
-// System includes
-#include <aknfeppeninputenums.h>    // Command from fep or IME to plugin
-#include <AknFepGlobalEnums.h>      // Define EPluginInputModeHwr
-#include <peninputcmd.h>            // Use global signal
-#include <peninputlayoutchoicelist.h>
-#include <peninputlayoutbutton.h>
-#include <peninputdragbutton.h>
-#include <coemain.h>
-
-// User includes
-#include "peninputuistatebase.h"
-#include "peninputdataconverter.h"
-#include "peninputcommonlayoutext.h"
-#include "peninputlayoutwindowext.h"
-#include "peninputdatamgr.h"
-#include "peninputuistatemgr.h"
-#include "peninputrangebarinfo.h"	
-
-// Constants
-const TInt KPeninputCommonLayoutBufLen = 8;
-const TInt KIntSizeToInt16 = 2;
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayoutExt::CPeninputCommonLayoutExt
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPeninputCommonLayoutExt::CPeninputCommonLayoutExt( MLayoutOwner* aLayoutOwner )
-    : CFepUiLayout( aLayoutOwner )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayoutExt::ConstructL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputCommonLayoutExt::ConstructL( const TAny* aInitData )
-    {
-    BaseConstructL();
-
-    TPixelsTwipsAndRotation ptSize;
-    
-    CCoeEnv::Static()->ScreenDevice()->GetDefaultScreenSizeAndRotation( ptSize );
-            
-    SetScreenSize(ptSize.iPixelSize);    
-    
-    // This method must be called first, because it will initialize 
-    // language from CenRep
-    CreateDataMgrL(aInitData);
-
-    TBool sizeChanging = ETrue;
-    if ( iDataMgr )
-        {
-        // Store screen mode, and get new window position
-        iDataMgr->SetData( EPeninputDataTypeScreenMode, ( TAny* ) &ptSize );
-        
-        // Store justify style
-        iDataMgr->SetData(EAkninputDataTypeSizeChanging, &sizeChanging);
-        }
-
-    iUiStateMgr = CPeninputUiStateMgr::NewL( this );
-
-    CreateLayoutWindowL();
-
-    if ( iLayoutWindow )
-        {
-        iLayoutWindow->Hide(ETrue);
-        AddControlL( iLayoutWindow );
-        
-        // Config layout self using the whole screen
-        //SetRect(TRect(TPoint(0, 0), ptSize.iPixelSize ));
-
-        // Call the function in window to read config info
-        //ChangeInputLanguage( *( (TInt*)iDataMgr->RequestData(EPeninputDataTypeInputLanguage)));
-
-        iLayoutWindow->SizeChanged( ETrue );
-//        EnableLayoutMoving( static_cast<CDragBar*>( iLayoutWindow->MoveButton() ) );
-        }
-    
-    if (iDataMgr)
-    	{
-    	sizeChanging = EFalse;
-    	iDataMgr->SetData(EAkninputDataTypeSizeChanging, &sizeChanging);
-    	}
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayoutExt::~CPeninputCommonLayoutExt
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPeninputCommonLayoutExt::~CPeninputCommonLayoutExt()
-    {       
-    delete iUiStateMgr;
-    delete iDataMgr;
-    
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayoutExt::UiStateMgr
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C MPeninputUiStateMgr* CPeninputCommonLayoutExt::UiStateMgr() const
-    {
-    return iUiStateMgr;
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayoutExt::LayoutWindow
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPeninputLayoutWindowExt* CPeninputCommonLayoutExt::LayoutWindow() const
-    {
-    return iLayoutWindow;
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayoutExt::HandleCommand
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CPeninputCommonLayoutExt::HandleCommand( TInt aCmd, 
-                                                    TUint8* aData )
-    {
-    // Handle command from fep or IME to this layout
-    TUint* data = ( TUint* ) aData;
-    TBuf<KPeninputCommonLayoutBufLen> buf;
-    TBuf<KIntSizeToInt16> bufStyle;
-    TInt style;
-    TInt ret = KErrNone;
-    
-    switch ( aCmd )
-        {
-        case ECmdPenInputPermittedRange:
-            CPeninputDataConverter::IntToDesc( *data, buf );
-            SendEventToWindow( EPeninputLayoutEventSetPermittedRange, NULL, 
-                               buf );        
-            break;
-        case ECmdPenInputAllowChangeCase:   
-            {
-            iDataMgr->SetData( EAkninputDataTypeAllowCaseChange, data );
-            } 
-            break;
-        case ECmdPenInputPermittedCase:
-            {
-            CPeninputDataConverter::IntToDesc( *data, buf );
-            SendEventToWindow( EPeninputLayoutEventSetPermittedCase, NULL, 
-                               buf );             
-            }
-            break;
-        case ECmdPenInputEditorNumericKeyMap:
-            {
-            iDataMgr->SetData( EPeninputDataTypeNumericKeymap, data );
-            }
-            break;
-        case ECmdPenInputCase:
-            {
-            CPeninputDataConverter::IntToDesc( *data, buf );
-            SendEventToWindow( EPeninputLayoutEventSetCase, NULL, 
-                               buf );
-            }
-            break;
-        case ECmdPenInputLanguage:
-            {
-            ChangeInputLanguage(*data);
-            }            
-            break;
-        case ECmdPenInputRange:
-            {
-            ChangeRange( TranslateRange(*data) );
-            }
-            break;
-        /*case ECmdPenInputEnableSwitchBtn:
-            {
-            if ( LayoutType() == EPluginInputModeVkb )
-                {
-                SetEnableSwitchToHwr(*data);
-                }
-            }
-            break;*/
-        case ECmdPenInputEnableSettingBtn:
-            {
-            SetEnableSettingBtn(*data);
-            }
-            break;
-        case ECmdPenInputIsSecretText:
-            {
-            iLayoutWindow->SetTextIsSecret( *aData );
-            }
-            break;
-        case ECmdPenInputIsNumberGrouping:
-            {
-            iLayoutWindow->SetNumberGrouping( *aData );
-            }
-            break;
-        case ECmdPenInputWindowOpen:
-            {
-            if ( *data == EPenInputOpenManually )
-                {
-                style = EPeninputPositionChangeBrJustify;
-                bufStyle = ( TUint16* )&style;
-                SendEventToWindow(EPeninputLayoutEventMovePosition, NULL, bufStyle );  
-                }
-            iLayoutWindow->Hide(EFalse);
-            LayoutOwner()->Hide( EFalse );
-            }
-            break;
-        case ECmdPenInputWindowClose:
-            {
-            iLayoutWindow->Hide(ETrue);            
-            LayoutOwner()->Hide( ETrue );
-
-            SendEventToWindow( EPeninputLayoutEventCloseWindow, NULL );
-            }
-            break;
-        case ECmdPenInputSetWindowPos:
-            {
-            // Only VKB need to move position automatically
-            if ( LayoutType() == EPluginInputModeVkb )
-                {
-                // Data is a TRect
-                iDataMgr->SetData( EPeninputDataTypeDataQueryDlgRect, 
-                                   (TRect*) aData );
-                                   
-                // Store justify style
-                style = EPeninputPositionChangeDataQuery;
-                bufStyle = ( TUint16* )&style;
-                SendEventToWindow(EPeninputLayoutEventMovePosition, NULL, bufStyle);
-                }
-            }
-            break;
-        case ECmdPenInputEditorCustomNumericKeyMap:
-            {
-            iDataMgr->SetData(EAknFepDataTypeUseDefinedResource, aData);
-            }
-            break;   
-        case ECmdPenInputSetTextAlignment:
-        	{
-		    TRAP_IGNORE(iLayoutWindow->SetTextAlignmentL( *data ));
-        	}
-        	break; 
-        default:
-            {
-            ret = CFepUiLayout::HandleCommand( aCmd, aData );
-            }
-            break;
-        }
-
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayoutExt::SizeChanged
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CPeninputCommonLayoutExt::SizeChanged( const TAny* /*aData*/ )
-    {
-    TBool sizeChanging = ETrue;
-    iDataMgr->SetData(EAkninputDataTypeSizeChanging, &sizeChanging);
-
-    // Handle size changed event
-    TPixelsTwipsAndRotation ptSize;  
-       
-    CCoeEnv::Static()->ScreenDevice()->GetDefaultScreenSizeAndRotation( ptSize );
-    //SetScreenSize(ptSize.iPixelSize);
-
-    // Store screen mode, and get new window position
-    iDataMgr->SetData( EPeninputDataTypeScreenMode, ( TAny* )&ptSize );
-
-     // The following need to implement
-    iLayoutWindow->SizeChanged( ETrue );
-
-    sizeChanging = EFalse;
-    iDataMgr->SetData(EAkninputDataTypeSizeChanging, &sizeChanging);
-
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayoutExt::HandleControlEvent
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputCommonLayoutExt::HandleControlEvent(
-    TInt aEventType, CFepUiBaseCtrl* aCtrl, const TDesC& aEventData )
-    {
-    // Handle event from control
-    TInt* data = ( TInt* ) aEventData.Ptr();
-
-    // Buffer for data conversion
-    TBuf<KPeninputCommonLayoutBufLen> buf;
-
-    switch ( aEventType )
-        {
-        case EPeninputLayoutEventClose:
-            {
-            SignalOwner( ESignalLayoutClosed );
-            }
-            break;
-        case EPeninputLayoutEventOption:
-            {
-            SignalOwner( ESignalLaunchOptionMenu );
-            }
-            break;
-        case EPeninputLayoutEventSwitchLanguage:
-            {
-            SignalOwner( ESignalLaunchLanguageMenu );
-            }
-            break;
-        // When drag end, store the position data
-        case EEventDraggingEnd:
-            {
-            TInt x = 0;
-            TInt y = 0;
-            x = 0x0000FFFF & ( Position().iX + Rect().Width() );
-            y = 0xFFFF0000 & ( ( Position().iY + Rect().Height() ) << 16 );
-            TInt position = x | y;
-            if ( position )
-                {
-                iDataMgr->SetData( EPeninputDataTypeWindowPosition, &position );
-                }
-            }
-            break;
-        case EPeninputLayoutEventToVkb:
-            {
-            TBool switchByMode = ETrue;
-            TInt mode = EPluginInputModeVkb;
-            CPeninputDataConverter::CombinationToDesc( switchByMode, 
-                                                             mode, buf );
-            SignalOwner( ESignalLayoutUIChanged, buf );
-            }
-            break;
-        default:
-            {
-            if ( iUiStateMgr->CurrentUiState() )
-                {
-                if ( !iUiStateMgr->CurrentUiState()->HandleControlEvent
-                    ( aEventType, aEventData ) )
-                    {
-                    SendEventToWindow( aEventType, aCtrl, aEventData );
-                    }                    
-                }
-            }
-            break;       
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayoutExt::OnAppEditorTextComing
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CPeninputCommonLayoutExt::OnAppEditorTextComing(
-    const TFepInputContextFieldData& aData )
-    {
-    // Handle edit text coming
-    if ( iLayoutWindow )
-        {
-        TRAPD( err, iLayoutWindow->SetEditorTextL( aData ) );
-        return err;
-        }
-    
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayoutExt::HandleRawKeyEventL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CPeninputCommonLayoutExt::HandleRawKeyEventL(
-    const TRawEvent& aKeyEvent )
-    { 
-    return iUiStateMgr->CurrentUiState()->HandleKeyEventL( aKeyEvent );
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayoutExt::SendEventToWindow
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputCommonLayoutExt::SendEventToWindow( 
-    TInt aEventType, CFepUiBaseCtrl* aCtrl, const TDesC& aEventData )
-    {
-    iLayoutWindow->HandleControlEvent( aEventType, aCtrl, aEventData );
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayoutExt::SendEventToLayout
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputCommonLayoutExt::SendEventToLayout( 
-    TInt aEventType, CFepUiBaseCtrl* aCtrl, const TDesC& aEventData )
-    {
-    HandleControlEvent( aEventType, aCtrl, aEventData );
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayoutExt::Sendkey
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputCommonLayoutExt::Sendkey( TInt aEventType, 
-                                              const TDesC& aEventData )
-    {
-    SignalOwner( aEventType, aEventData ); 
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayoutExt::IsShiftPermitted
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//           
-EXPORT_C TBool CPeninputCommonLayoutExt::IsShiftPermitted()
-    {
-    return iDataMgr->IsShiftPermitted();
-    }
-    
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayoutExt::IsCapsLockPermitted
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C TBool CPeninputCommonLayoutExt::IsCapsLockPermitted()
-    {
-    return iDataMgr->IsCapsLockPermitted();
-    }
-    
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayoutExt::RequestData
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TAny* CPeninputCommonLayoutExt::RequestData( 
-    TPeninputDataType aDataType )
-    {
-    return iDataMgr->RequestData( aDataType );
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayoutExt::SetData
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputCommonLayoutExt::SetData( TPeninputDataType aDataType, 
-                                              TAny* aData )
-    {
-    iDataMgr->SetData( aDataType, aData );
-    }
-                
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayoutExt::SetData
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CPeninputCommonLayoutExt::IsValidDestination( const TRect& aRect,
-                                                          CDragBar* aDragBar,
-                                                          TBool& aVInfo,
-                                                          TBool& aHInfo,
-                                                          TBool aFlag )
-    {
-    // Validate move button destination 
-    if ( !aDragBar )
-        {
-        return EFalse;
-        }
-        
-    TRect rect = aRect;
-    
-    if ( aFlag )
-        {
-        // Layout is moving
-        aHInfo = aVInfo = EFalse;
-        TRect dragbarRect( aRect.iTl, aDragBar->Rect().Size() );
-        
-        if ( dragbarRect.iTl.iX >= 0 
-             && dragbarRect.iBr.iX < ScreenSize().iWidth )
-            {
-            aHInfo = ETrue;
-            }
-            
-        if ( dragbarRect.iTl.iY >= 0 
-             && dragbarRect.iBr.iY < ScreenSize().iHeight )
-            {
-            aVInfo = ETrue;
-            }
-        
-        return ( aHInfo && aVInfo );
-        }
-    else
-        {
-        if ( aDragBar )
-            {
-            rect.SetSize( aDragBar->Rect().Size() );
-            }
-            
-        TBool tlInvalid = !Rect().Contains( rect.iTl );
-        TBool brInvalid = !Rect().Contains( rect.iBr );
-
-        if ( tlInvalid && !brInvalid )
-            {
-            if ( rect.iTl.iX >= Rect().iTl.iX 
-                 && rect.iTl.iX <= Rect().iBr.iX )
-                {
-                aHInfo = ETrue;
-                }
-            else if ( rect.iTl.iY >= Rect().iTl.iY 
-                      && rect.iTl.iY <= Rect().iBr.iY )
-                {
-                aVInfo = ETrue;
-                }
-            }
-        else if ( !tlInvalid && brInvalid )
-            {
-            if ( rect.iBr.iX >= Rect().iTl.iX 
-                 && rect.iBr.iX <= Rect().iBr.iX )
-                {
-                aHInfo = ETrue;
-                }
-            else if ( rect.iBr.iY >= Rect().iTl.iY 
-                      && rect.iBr.iY <= Rect().iBr.iY )
-                {
-                aVInfo = ETrue;
-                }
-            }
-
-        return !( tlInvalid || brInvalid );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayoutExt::TranslateRange
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-TInt CPeninputCommonLayoutExt::TranslateRange(TInt aRange)
-    {
-    TInt newRange = aRange;
-    	     
-    if ( aRange == ERangeNative)
-        {
-        if ( iLayoutWindow
-             && iLayoutWindow->ConfigInfo()
-             && iLayoutWindow->ConfigInfo()->RangeBarInfo()->FindRange( ERangeNative ) )
-            {
-            newRange = ERangeNative;    
-            }
-        else
-            {
-            newRange = ERangeEnglish;    
-            }
-        }
-    else if ( aRange == ERangeEnglish)
-        {
-        if ( iLayoutWindow
-             && iLayoutWindow->ConfigInfo()
-             && iLayoutWindow->ConfigInfo()->RangeBarInfo()->FindRange( ERangeEnglish ) )
-            {
-            newRange = ERangeEnglish;    
-            }
-        else
-            {
-            newRange = ERangeNative;    
-            }
-        }
-                
-    return newRange;    
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayoutExt::Init
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TRect CPeninputCommonLayoutExt::Init()
-    {
-    TRect r = CFepUiLayout::Init();
-    //wxy -- No need to set position here
-    //LayoutOwner()->SetPosition( Rect().iTl );
-    //r = TRect( Position(), r.Size() );
-
-    return r;
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayoutExt::SaveKey
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputCommonLayoutExt::SaveKey( TInt aKey, TInt aValue )
-    {
-    iDataMgr->SaveKey( aKey, aValue );
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayoutExt::ChangeInputLanguage
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-void CPeninputCommonLayoutExt::ChangeInputLanguage( TInt aLangID )
-    {
-    // Call ChangeInputLanguage function in iLayoutWindow
-    TRAP_IGNORE( iLayoutWindow->ChangeInputLanguageL( aLangID ) );
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayoutExt::ChangeLanguage
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-void CPeninputCommonLayoutExt::ChangeRange( TInt aRange )
-    {
-    iLayoutWindow->ChangeRange( aRange, 0, EFalse );
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayoutExt::SetEnableSwitchToHwr
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-void CPeninputCommonLayoutExt::SetEnableSwitchToHwr( TBool aEnable )
-    {
-    iLayoutWindow->SetEnableSwitchToHwr( aEnable );
-    }   
-
-// ---------------------------------------------------------------------------
-// CPeninputCommonLayoutExt::SetEnableSettingBtn
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-void CPeninputCommonLayoutExt::SetEnableSettingBtn( TBool aEnable )
-    {
-    iLayoutWindow->SetEnableSettingBtn( aEnable );
-    }  
-
-EXPORT_C TInt CPeninputCommonLayoutExt::PenInputType()
-    {
-    return LayoutType();
-    }
-
-EXPORT_C void  CPeninputCommonLayoutExt::SetPositionFromOutside(const TPoint& aNewPos)
-    {
-    LayoutOwner()->SetPosition(aNewPos);
-    TInt x = 0x0000FFFF & aNewPos.iX;
-    TInt y = 0xFFFF0000 & ( aNewPos.iY << 16 );
-    TInt position = x | y;
-    
-    SetData( EPeninputDataTypeWindowPosition, (TAny*)&position );
-    }
-    
--- a/textinput/peninputcommonlayout/src/peninputctrlpool.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,158 +0,0 @@
-/*
-* 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:  control pool
-*
-*/
-
-
-// System includes
-#include <peninputlayoutbasecontrol.h>
-
-// User includes
-#include "peninputctrlpool.h"
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ------------------------------------------------------------------------
-// CPeninputCtrlPool::NewL
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-EXPORT_C CPeninputCtrlPool* CPeninputCtrlPool::NewL()
-    {
-    CPeninputCtrlPool* self = NewLC();
-    CleanupStack::Pop( self );
-
-    return self;
-    }
- 
-// ------------------------------------------------------------------------
-// CPeninputCtrlPool::NewLC
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//    
-EXPORT_C CPeninputCtrlPool* CPeninputCtrlPool::NewLC()
-    {
-    CPeninputCtrlPool* self = new ( ELeave ) CPeninputCtrlPool();
-    CleanupStack::PushL( self );
-    self->Construct();
-
-    return self;
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputCtrlPool::ConstructL
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//   
-EXPORT_C void CPeninputCtrlPool::Construct() 
-    {
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputCtrlPool::~CPeninputCtrlPool
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//         
-EXPORT_C CPeninputCtrlPool::~CPeninputCtrlPool()
-    {
-    iControlList.ResetAndDestroy();
-    iControlList.Close();
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputCtrlPool::AddControl
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//    
-EXPORT_C void CPeninputCtrlPool::AddControl( CFepUiBaseCtrl* aControl )
-    {
-    iControlList.Append( aControl );
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputCtrlPool::RemoveControl
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//     
-EXPORT_C void CPeninputCtrlPool::RemoveControl( const TInt aControlID ) 
-    {
-    CFepUiBaseCtrl* ctrl = Control( aControlID );
-    const TInt index = iControlList.Find( ctrl );
-    delete ctrl;
-    iControlList.Remove( index );
-    }
-    
-// ------------------------------------------------------------------------
-// CPeninputCtrlPool::Control
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//     
-EXPORT_C CFepUiBaseCtrl* CPeninputCtrlPool::Control( 
-    const TInt aControlID ) const
-    {
-    const TInt count = iControlList.Count();
-    CFepUiBaseCtrl* ctrl = NULL;
-    
-    for ( TInt i = 0; i < count; i++ )
-        {
-        if ( iControlList[i]->ControlId() == aControlID )
-            {
-            ctrl = iControlList[i];
-            break;
-            }
-        }
-
-    return ctrl;
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputCtrlPool::ControlByIndex
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//   
-EXPORT_C CFepUiBaseCtrl* CPeninputCtrlPool::ControlByIndex(
-    const TInt aIndex ) const
-    {
-    CFepUiBaseCtrl* ctrl = NULL;
-    const TInt count = iControlList.Count();
-
-    if ( ( aIndex < count ) && ( aIndex >= 0 ) )
-        {
-        ctrl = iControlList[aIndex];
-        }
-
-    return ctrl;
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputCtrlPool::ControlCount
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-// 
-EXPORT_C TInt CPeninputCtrlPool::ControlCount() const
-    {
-    return iControlList.Count();
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputCtrlPool::Reset
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-// 
-EXPORT_C void CPeninputCtrlPool::Reset()
-    {
-    iControlList.ResetAndDestroy();
-    }
--- a/textinput/peninputcommonlayout/src/peninputdataconverter.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,128 +0,0 @@
-/*
-* 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:  the data converter of peninput
-*
-*/
-
-
-// System includes
-#include <aknfeppeninputenums.h>
-
-// User includes
-#include "peninputdataconverter.h"
-
-// Const
-const TUint KNumToBuffer = sizeof( TUint )/sizeof( TUint16);
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CPeninputDataConverter::CPeninputDataConverter
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPeninputDataConverter::CPeninputDataConverter()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputDataConverter::~CPeninputDataConverter
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPeninputDataConverter::~CPeninputDataConverter()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputDataConverter::IntToDesc
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputDataConverter::IntToDesc( TUint aNum, 
-                                                 TDes16& aBuf )
-    {
-    aBuf.Zero();
-    // Convert integer number to be string
-    aBuf.Append( reinterpret_cast<TUint16*>( &aNum ),KNumToBuffer );
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputDataConverter::CombinationToDesc
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputDataConverter::CombinationToDesc( 
-    TBool aBool, TUint aNum, TDes16& aBuf )
-    {
-    aBuf.Zero();
-    // Convert integer number to be string
-    aBuf.Append( reinterpret_cast<TUint16*>( &aBool ), KNumToBuffer );
-    aBuf.Append( reinterpret_cast<TUint16*>( &aNum ), KNumToBuffer );
-    }
-    
-// ---------------------------------------------------------------------------
-// CPeninputDataConverter::AnyToInt
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CPeninputDataConverter::AnyToInt( TAny* aOrginal )
-    {
-    return *( reinterpret_cast<TInt*>( aOrginal ) );
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputDataConverter::ShiftCapslockByCase
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputDataConverter::ShiftCapslockByCase( TInt aCase, 
-                                                           TInt& aShiftStatus, 
-                                                           TInt& aCapsStatus )
-    {
-    switch ( aCase )
-        {
-        case ECaseUpper:
-            aShiftStatus = 0;
-            aCapsStatus = 1;
-            break;
-        case ECaseText:
-            aShiftStatus = 1;
-            aCapsStatus = 0;
-            break;
-        case ECaseLower:
-        case ECaseInverseText:        
-        case ECaseInvalide:
-        default:
-            aShiftStatus = 0;
-            aCapsStatus = 0;        
-            break;   
-        }
-    }
-    
-EXPORT_C TInt CPeninputDataConverter::FepCaseByCaseId( TInt aCaseId )
-    {
-    switch ( aCaseId )
-        {
-        case 0:
-            return ECaseLower;
-        case 1:
-            return ECaseText;
-        case 2:
-            return ECaseUpper;
-        case 3:        
-            return ECaseInverseText;
-        default:
-            return ECaseLower;
-        }        
-    }
--- a/textinput/peninputcommonlayout/src/peninputdatamgr.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,488 +0,0 @@
-/*
-* 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:  Implementation of the common layout data manager
-*
-*/
-
-
-// System includes
-#include <aknfeppeninputenums.h>
-#include <PtiEngine.h>
-#include <peninputpluginutils.h>   // Use resource utils,laf env,rep notifier
-#include <centralrepository.h>
-#include <AknFepInternalCRKeys.h>
-#include <settingsinternalcrkeys.h>
-
-// User includes
-#include "peninputdatamgr.h"
-#include "peninputdataprovider.h"
-#include "peninputlayoutcontext.h"
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// --------------------------------------------------------------------------
-// CPeninputDataMgr::NewL
-// (other items were commented in a header)
-// --------------------------------------------------------------------------
-//           
-EXPORT_C CPeninputDataMgr* CPeninputDataMgr::NewL( 
-    MPeninputLayoutContext* aContext )
-    {
-    CPeninputDataMgr* self = NewLC( aContext );
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-// --------------------------------------------------------------------------
-// CPeninputDataMgr::NewLC
-// (other items were commented in a header)
-// --------------------------------------------------------------------------
-//           
-EXPORT_C CPeninputDataMgr* CPeninputDataMgr::NewLC( 
-    MPeninputLayoutContext* aContext )
-    {
-    CPeninputDataMgr* self = new ( ELeave ) CPeninputDataMgr( aContext );
-    CleanupStack::PushL( self );
-    self->ConstructL(); 
-
-    return self;        
-    } 
-
-// --------------------------------------------------------------------------
-// CPeninputDataMgr::~CPeninputDataMgr
-// (other items were commented in a header)
-// --------------------------------------------------------------------------
-//           
-EXPORT_C CPeninputDataMgr::~CPeninputDataMgr()
-    {    
-    delete iGSRepositoryWatcher;
-    delete iGSRepository;
-    delete iAknFepRepository;
-    delete iUserDefinedResource;
-    } 
-
-// --------------------------------------------------------------------------
-// CPeninputDataMgr::CPeninputDataMgr
-// (other items were commented in a header).
-// --------------------------------------------------------------------------
-//      
-EXPORT_C CPeninputDataMgr::CPeninputDataMgr( 
-    MPeninputLayoutContext* aContext ) 
-    : iContext(aContext),
-      iUnitWidthSet(EFalse),
-      iUnitHeightSet(EFalse)
-    {
-    }
-
-// --------------------------------------------------------------------------
-// CPeninputDataMgr::ConstructL
-// (other items were commented in a header)
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputDataMgr::ConstructL()
-    {
-    TInt ret = 0;
-    
-    // Construct aknfep CenRep
-    TRAP( ret, iAknFepRepository = CRepository::NewL( KCRUidAknFep ) );
-
-    // Construct GS CenRep
-    TRAP( ret, iGSRepository = 
-          CRepository::NewL( KCRUidPersonalizationSettings ) );
-
-    if ( iGSRepository )
-        {
-        // Read Language
-        iGSRepository->Get( KSettingsPenInputLang, iInputLanguage );       
-        }
-    
-    // Add GS Watcher
-    if ( ret == KErrNone )
-        {
-        iGSRepositoryWatcher = CAknFepRepositoryWatcher::NewL( 
-            KCRUidPersonalizationSettings, 
-            TCallBack( HandleGSRepositoryCallBack, this ),
-            iGSRepository );
-        }
-
-    // Call init function, which is virutal function
-    InitMore();
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputDataMgr::IsShiftPermitted
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//           
-EXPORT_C TBool CPeninputDataMgr::IsShiftPermitted()
-    {
-    if( !iAllowCaseChange && iCurrentRange == ERangeNative )
-        {
-        return EFalse;
-        }
-        
-    return (iPermittedCase & ECaseText) ||
-           (iPermittedCase & ECaseInverseText);
-    }
-    
-// ---------------------------------------------------------------------------
-// CPeninputDataMgr::IsCapsLockPermitted
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C TBool CPeninputDataMgr::IsCapsLockPermitted()
-    {
-    if( !iAllowCaseChange && iCurrentRange == ERangeNative )
-        {
-        return EFalse;
-        }
-        
-    return iPermittedCase & ECaseUpper;
-    }
-    
-// --------------------------------------------------------------------------
-// CPeninputDataMgr::SetData
-// (other items were commented in a header)
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputDataMgr::SetData( TPeninputDataType aDataType, 
-                                         TAny* aData )
-    {
-    switch ( aDataType )
-        {
-        case EPeninputDataTypeCase:
-            {
-            iCase = *( ( TInt* ) aData );
-            }
-            break;
-        case EPeninputDataTypeInputLanguage:
-            {
-            iInputLanguage = *( ( TInt* ) aData );
-            }
-            break;
-        case EPeninputDataTypePermittedRange:
-            {
-            iPermittedRange = *( ( TInt* ) aData );
-            }
-            break;
-        case EAkninputDataTypeAllowCaseChange:
-            {
-            iAllowCaseChange = *((TBool*)aData);    
-            }
-            break;
-        case EPeninputDataTypePermittedCase:
-            {
-            iPermittedCase = *( (TInt* ) aData );
-            }
-            break;
-        case EPeninputDataTypeCurrentRange:
-            {
-            iCurrentRange = *( ( TInt* ) aData );
-            }
-            break;
-        case EPeninputDataTypeClientLayout:
-            {
-            iClientLayout = *( ( TInt* ) aData );
-            }
-            break;
-        case EPeninputDataTypeVkbLayout:
-            {
-            iVkbLayoutId = *( ( TInt* ) aData );
-            }
-            break;
-        case EPeninputDataTypeNumericKeymap:
-            {
-            iEditorNumericKeymap = *( ( TInt* ) aData );
-            }
-            break;
-        case EPeninputDataTypeShiftDown:
-            {
-            iShiftDown = *( ( TInt* ) aData );
-            }
-            break;
-        case EPeninputDataTypeCapslockDown:
-            {
-            iCapslockDown = *( ( TInt* ) aData );
-            }
-            break;
-        case EPeninputDataTypeCurrentAccent:
-            {
-            iCurrentAccent = *( ( TInt* ) aData );
-            }
-            break;
-        case EPeninputDataTypeScreenMode:
-            {
-            SetScreenMode( *( ( TPixelsTwipsAndRotation* ) aData ) );
-            }
-            break;
-        case EPeninputDataTypeScreenSize:
-            {
-            iScreenSize = *( ( TSize* ) aData );  
-            }
-            break;
-        case EPeninputDataTypeWindowPosition:
-            {
-            iWindowPosition = *( ( TInt* ) aData );
-            }
-            break;
-        case EPeninputDataTypeUnitWidth:
-            {
-            iUnitWidth = *( ( TInt* ) aData );
-            iUnitWidthSet = ETrue;
-            }
-            break;
-        case EPeninputDataTypeUnitHeight:
-            {
-            iUnitHeight = *( ( TInt* ) aData );
-            iUnitHeightSet = ETrue;
-            }
-            break;
-        case EPeninputDataTypeDataQueryDlgRect:
-            {
-            iDataQueryDlgRect = *( ( TRect* ) aData );
-            }
-            break;        
-        case EAknFepDataTypeUseDefinedResource:
-            {
-            delete iUserDefinedResource;
-            TInt* len = (TInt*)((TUint8*)aData - 4);
-            TPtrC16 keymapRes((const TUint16*)aData, *len/2);  
-            iUserDefinedResource = keymapRes.Alloc();
-            }
-            break;
-        case EPeninputDataTypeReserve_1:
-            {
-            iReserve_1 = aData;
-            }
-            break;
-        case EAkninputDataTypeSizeChanging:
-            {
-            iLayoutSizeChanging =  *((TBool*)aData);	
-            }
-            break;
-        case EAkninputDataTypeLatchedSet:
-            {
-            iLatched = *((TBool*)aData);
-            }
-            break;
-        default:
-            break;
-        }
-        
-    NotifyEngine( aDataType, aData ) ;
-    } 
-
-    
-// --------------------------------------------------------------------------
-// CPeninputDataMgr::RequestData
-// (other items were commented in a header)
-// --------------------------------------------------------------------------
-//
-EXPORT_C TAny* CPeninputDataMgr::RequestData( TPeninputDataType aDataType )  
-    {
-    switch ( aDataType )
-        {
-        case EPeninputDataTypeCase:
-            return &iCase;
-        case EPeninputDataTypeInputLanguage:
-            return &iInputLanguage;
-        case EPeninputDataTypePermittedRange:
-            return &iPermittedRange;
-        case EPeninputDataTypePermittedCase:
-            return &iPermittedCase;
-        case EPeninputDataTypeCurrentRange:
-            return &iCurrentRange;
-        case EPeninputDataTypeClientLayout:
-            return &iClientLayout;
-        case EPeninputDataTypeVkbLayout:
-            return &iVkbLayoutId;
-        case EPeninputDataTypeNumericKeymap:
-            return &iEditorNumericKeymap;
-        case EPeninputDataTypeShiftDown:
-            return &iShiftDown;
-        case EPeninputDataTypeCapslockDown:
-            return &iCapslockDown;
-        case EPeninputDataTypeCurrentAccent:
-            return &iCurrentAccent;
-        case EPeninputDataTypeScreenMode:
-            return &iScreenMode;
-        case EPeninputDataTypeScreenSize:
-            return &iScreenSize;        
-        case EPeninputDataTypeWindowPosition:
-            return &iWindowPosition;
-        case EPeninputDataTypePositionSettingId:
-            return &iPositionSettingId;
-        case EPeninputDataTypeUnitWidth:
-            return &iUnitWidth;
-        case EPeninputDataTypeUnitHeight:
-            return &iUnitHeight;
-        case EPeninputDataTypeDataQueryDlgRect:
-            return &iDataQueryDlgRect;
-        case EAknFepDataTypeUseDefinedResource:
-            return iUserDefinedResource;
-        case EPeninputDataTypeReserve_1:
-            return iReserve_1;
-        case EAkninputDataTypeGuideLineTop:
-            return &iGuideLineTop;
-        case EAkninputDataTypeGuideLineBottom:
-            return &iGuideLineBottom;
-        case EAkninputDataTypeSizeChanging:
-            return &iLayoutSizeChanging;
-        case EAkninputDataTypeLatchedSet:
-            return &iLatched;
-        case EAkninputDataTypeUnitSizeSet:
-             {
-             iUnitSizeSet = (iUnitWidthSet & iUnitHeightSet);
-             return &iUnitSizeSet;	
-             }
-        default:
-            break;
-        }
-
-    return NULL;
-    }
-
-// --------------------------------------------------------------------------
-// CPeninputDataMgr::Reset
-// (other items were commented in a header)
-// --------------------------------------------------------------------------
-//           
-EXPORT_C void CPeninputDataMgr::Reset()
-    { 
-    }        
-
-// --------------------------------------------------------------------------
-// CPeninputDataMgr::HandleGSRepositoryCallBack
-// (other items were commented in a header)
-// --------------------------------------------------------------------------
-// 
-EXPORT_C TInt CPeninputDataMgr::HandleGSRepositoryCallBack( TAny* aPtr )
-    {
-    CPeninputDataMgr* self = static_cast<CPeninputDataMgr*>( aPtr );
-    
-    CAknFepRepositoryWatcher* watcher = self->iGSRepositoryWatcher;
-    if ( watcher )
-        {        
-        self->HandleGSRepositoryChange( watcher->ChangedKey() );
-        }
-
-    return KErrNone;
-    }
-
-// --------------------------------------------------------------------------
-// CPeninputDataMgr::SaveKey
-// (other items were commented in a header)
-// --------------------------------------------------------------------------
-// 
-EXPORT_C void CPeninputDataMgr::SaveKey( TInt aKey, TInt aValue )
-    {
-    if ( iAknFepRepository )
-        {
-        iAknFepRepository->Set( aKey, aValue );
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CPeninputDataMgr::SetScreenMode
-// (other items were commented in a header).
-// --------------------------------------------------------------------------
-// 
-void CPeninputDataMgr::SetScreenMode(
-    const TPixelsTwipsAndRotation& aScreenMode )
-    {
-    switch ( aScreenMode.iRotation )
-        {
-        case CFbsBitGc::EGraphicsOrientationNormal:
-            {
-            iPositionSettingId = KAknFepHwrWindowPosition0;
-            }
-            break;
-        case CFbsBitGc::EGraphicsOrientationRotated90:
-            {
-            iPositionSettingId = KAknFepHwrWindowPosition1;
-            }
-            break;
-        case CFbsBitGc::EGraphicsOrientationRotated180:
-            {
-            iPositionSettingId = KAknFepHwrWindowPosition2;
-            }
-            break;
-        case CFbsBitGc::EGraphicsOrientationRotated270:
-            {
-            iPositionSettingId = KAknFepHwrWindowPosition3;
-            }
-            break;
-        default:
-            break;
-        }
-        
-    iScreenSize = aScreenMode.iPixelSize;    
-    iScreenMode = aScreenMode;
-    if ( iAknFepRepository )
-        {
-        iAknFepRepository->Get( iPositionSettingId, iWindowPosition );        
-        }               
-    }         
-
-// --------------------------------------------------------------------------
-// CPeninputDataMgr::InitMore
-// (other items were commented in a header)
-// --------------------------------------------------------------------------
-//   
-EXPORT_C void CPeninputDataMgr::InitMore()
-    {
-    }
-
-// --------------------------------------------------------------------------
-// CPeninputDataMgr::HandleGSRepositoryChange
-// (other items were commented in a header)
-// --------------------------------------------------------------------------
-// 
-EXPORT_C void CPeninputDataMgr::HandleGSRepositoryChange( TInt /*aChangedKey*/ )
-  {
-  }
-
-// --------------------------------------------------------------------------
-// CPeninputDataMgr::NotifyEngine
-// (other items were commented in a header).
-// --------------------------------------------------------------------------
-// 
-EXPORT_C void CPeninputDataMgr::NotifyEngine( TPeninputDataType aType, 
-                                              TAny*  aData )
-    {
-    TInt data = *( (TInt*) aData );
-    switch ( aType )
-        {
-        case EPeninputDataTypeCurrentRange:
-            if (iAknFepRepository)
-                {
-                if ( ( data == ERangeEnglish ) || ( data == ERangeNative ) )
-                    {
-                    iAknFepRepository->Set(KAknFepLastUsedRange, data );
-                    }                
-                }          
-            break;
-        case EPeninputDataTypeWindowPosition:
-            if (iAknFepRepository)
-                {
-                iAknFepRepository->Set(iPositionSettingId, data );
-                }
-            break;
-        default:
-            break;
-        }
-    }
-
--- a/textinput/peninputcommonlayout/src/peninputlayoutconfig.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,281 +0,0 @@
-/*
-* 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:  common layout config management
-*
-*/
-
-
-// System includes
-#include <peninputpluginutils.h>
-#include <coemain.h>
-#include <peninputctrlpool.h>
-
-// User includes
-#include "peninputlayoutconfig.h"
-#include "peninputrangebarinfo.h"
-#include <peninputlayoutvkb.h>
-#include "peninputclientlayoutinfo.h"
-#include "peninputshiftcapsInfo.h"
-
-
-// Constants
-const TInt KPeninputLayoutConfigInvalidId = -1;
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutConfig::NewL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C CPeninputLayoutConfig* CPeninputLayoutConfig::NewL( 
-    CAknFepCtrlVkbLayout& aVkblayout, TResourceReader& aReader )
-    {
-    CPeninputLayoutConfig* self = new ( ELeave ) CPeninputLayoutConfig();
-    CleanupStack::PushL( self );
-    self->ConstructL( aVkblayout, aReader );
-    CleanupStack::Pop( self );
-    
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutConfig::CPeninputLayoutConfig
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-CPeninputLayoutConfig::CPeninputLayoutConfig()
-    : iLanguageString( NULL ), iRangeBarInfo( NULL )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutConfig::ConstructL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-void CPeninputLayoutConfig::ConstructL( CAknFepCtrlVkbLayout& aVkblayout,
-                                        TResourceReader& aReader )
-    {
-    TResourceReader reader;
-    TInt count = 0;
-    TInt i = 0;
-
-    iLanguage = aReader.ReadInt16();
-    iLanguageString = aReader.ReadHBufCL();
-    
-    if ( aReader.ReadInt16() != 0 )
-        {
-        iCaseSensitive = ETrue;
-        }
-    else
-        {
-        iCaseSensitive = EFalse;
-        }
-
-    iGuideLine = aReader.ReadInt16();
-    iPositionTopLine = aReader.ReadInt16();
-    iPositionBottomLine = aReader.ReadInt16();
-
-    const TInt32 clientLayoutInfoListResId = aReader.ReadInt32();
-    const TInt32 vkbLayoutInfoListResId = aReader.ReadInt32();
-    const TInt32 rangeBarInfoResId = aReader.ReadInt32();
-    const TInt32 shiftCapsInfoResId = aReader.ReadInt32();
-
-    iRangeBarResId = aReader.ReadInt32();
-    
-    // Create client layout list
-    if ( clientLayoutInfoListResId > 0 )
-        {
-        CCoeEnv::Static()->CreateResourceReaderLC( reader, clientLayoutInfoListResId );
-
-        count = reader.ReadInt16();
-        for ( i = 0; i < count; i++ )
-            {
-            CPeninputClientLayoutInfo* clientLayoutInfo = 
-                CPeninputClientLayoutInfo::NewL( reader );
-            iClientLayoutInfoList.Append( clientLayoutInfo );
-            }
-        // Pop and destroy reader
-        CleanupStack::PopAndDestroy( 1 );            
-        }
-        
-    // Create vkb layout list 
-    if ( vkbLayoutInfoListResId > 0 )
-        {     
-        aVkblayout.SetResourceId( vkbLayoutInfoListResId );
-        aVkblayout.ConstructFromResourceL();
-        iVkbLayoutInfoList = aVkblayout.VkbLayoutInfoList();
-        }
-        
-    // Create range bar
-    if ( rangeBarInfoResId > 0 )
-        {     
-        CCoeEnv::Static()->CreateResourceReaderLC( reader, rangeBarInfoResId );        
-        iRangeBarInfo = CPeninputRangeBarInfo::NewL( reader );
-        // Pop and destroy reader
-        CleanupStack::PopAndDestroy( 1 ); 
-        }
-        
-    // Create shift & caps
-    if ( shiftCapsInfoResId > 0 )
-        {  
-        CCoeEnv::Static()->CreateResourceReaderLC( reader, shiftCapsInfoResId );           
-        count = reader.ReadInt16();
-        for ( i = 0; i < count; i++ )
-            {
-            CPeninputShiftCapsInfo* shiftCapsInfo = 
-                CPeninputShiftCapsInfo::NewL( reader );
-            iShiftCapsInfoList.Append( shiftCapsInfo );
-            }
-        // Pop and destroy reader
-        CleanupStack::PopAndDestroy( 1 );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutConfig::~CPeninputLayoutConfig
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPeninputLayoutConfig::~CPeninputLayoutConfig()
-    {
-    delete iLanguageString;
-    delete iRangeBarInfo;
-    iClientLayoutInfoList.ResetAndDestroy();
-    iShiftCapsInfoList.ResetAndDestroy();
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutConfig::FindClientLayoutInfo
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPeninputClientLayoutInfo* 
-    CPeninputLayoutConfig::FindClientLayoutInfo( TInt aLayoutId )
-    {
-    const TInt count = iClientLayoutInfoList.Count();
-
-    for ( TInt i = 0; i < count; i++ )
-        {
-        if ( iClientLayoutInfoList[i]->LayoutID() == aLayoutId )
-            {
-            return iClientLayoutInfoList[i];
-            }
-        }
-
-    return NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutConfig::FindVkbLayoutInfo
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPeninputVkbLayoutInfo*  
-    CPeninputLayoutConfig::FindVkbLayoutInfo( TInt aLayoutId )
-    {
-    const TInt count = iVkbLayoutInfoList.Count();
-
-    for ( TInt i = 0; i < count; i++ )
-        {
-        if ( iVkbLayoutInfoList[i]->LayoutID() == aLayoutId )
-            {
-            return iVkbLayoutInfoList[i];
-            }
-        }
-
-    return NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutConfig::FindShiftCapsInfo
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPeninputShiftCapsInfo*  
-    CPeninputLayoutConfig::FindShiftCapsInfo( TInt aRangeId )
-    {
-    const TInt count = iShiftCapsInfoList.Count();
-
-    for ( TInt i = 0; i < count; i++ )
-        {
-        if ( iShiftCapsInfoList[i]->RangeId() == aRangeId )
-            {
-            return iShiftCapsInfoList[i];
-            }
-        }
-
-    return NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutConfig::ShiftCapsSingleVkbLayoutId
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CPeninputLayoutConfig::ShiftCapsSingleVkbLayoutId( 
-    TInt aRangeId, TInt aShiftCapsSingleId )
-    {
-    CPeninputShiftCapsInfo* shiftCapsInfo = FindShiftCapsInfo( aRangeId );
-
-    if ( !shiftCapsInfo )
-        {
-        return KPeninputLayoutConfigInvalidId;
-        }
-    else
-        {
-        CPeninputShiftCapsInfo::TPeninputShiftCapsSingle* shiftCapsSingle = 
-            shiftCapsInfo->FindShiftCapsSingleById( aShiftCapsSingleId );
-        if ( shiftCapsSingle )
-            {
-            return shiftCapsSingle->iVkbLayoutId;
-            }
-        else
-            {
-            return KPeninputLayoutConfigInvalidId;    
-            }
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutConfig::FindVkbLayoutIdByCase
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CPeninputLayoutConfig::ShiftCapsSingleVkbLayoutByCase( 
-    TInt aRangeId, TInt aCase )
-    {
-    CPeninputShiftCapsInfo* shiftCapsInfo = FindShiftCapsInfo( aRangeId );
-
-    if ( !shiftCapsInfo )
-        {
-        return KPeninputLayoutConfigInvalidId;
-        }
-    else
-        {
-        CPeninputShiftCapsInfo::TPeninputShiftCapsSingle* shiftCapsSingle = 
-            shiftCapsInfo->FindShiftCapsSingleByCase( aCase );
-        if ( shiftCapsSingle )
-            {
-            return shiftCapsSingle->iVkbLayoutId;
-            }
-        else
-            {
-            return KPeninputLayoutConfigInvalidId;    
-            }
-        }
-    }
--- a/textinput/peninputcommonlayout/src/peninputlayoutwindow.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2259 +0,0 @@
-/*
-* 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:  common layout window for UI interface of VKB and HWR
-*
-*/
-
-
-// System includes
-#include <coemain.h>
-
-#include <AknFepGlobalEnums.h>
-#include <aknfeppeninputenums.h>
-#include <peninputpluginutils.h>
-#include <peninputcmdparam.h>            // Use global signal
-#include <peninputinputcontextfield.h>
-#include <peninputeventbutton.h>
-#include <peninputmultimodebutton.h>
-#include <peninputdragbutton.h>
-#include <peninputlayoutchoicelist.h>
-#include <peninputlayout.h>
-#include <peninputrangebar.h>
-#include <bautils.h>
-#include <AknIconUtils.h>
-#include <AknLayoutDef.h>
-#include <AknUtils.h>
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <AknsUtils.h>
-#include <peninputlayoutmultilineicf.h>
-#include <peninputrepeatbutton.h>
-
-// User includes
-#include "peninputdataconverter.h"
-#include "peninputrangebarinfo.h"
-#include "peninputlayoutwindow.h"
-#include "peninputclientlayoutinfo.h"
-#include "peninputdataprovider.h"
-#include "peninputlayoutcontext.h"
-#include "peninputvkbctrlext.h"
-#include "peninputnumerickeymappingmgr.h"
-
-// Constants
-const TInt KIntLengthForByte = 8;
-const TInt KPeninputLayoutWindowRegionCount = 8;
-const TInt KPeninputLayoutWindowUnitWidth = 12;
-const TInt KInvalidIndex = -1;
-
-const TInt32 KInvalidResId = -1;
-const TInt KInvalidImg = -1 ;
-const TUint32 KDefaultTextColor = 0x000000;
-const TUint32 KDefaultShadowTextColor = 0xffffff;
-const TInt KNotSupportSkin = -1;
-
-const TInt KIntSizeToInt16 = 2;
-
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ------------------------------------------------------------------------
-// CPeninputLayoutWindow::CPeninputLayoutWindow
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-EXPORT_C CPeninputLayoutWindow::CPeninputLayoutWindow( 
-    CFepUiLayout* aUiLayout, MPeninputLayoutContext* aLayoutContext )
-    : CAknFepCtrlBaseWindow( aUiLayout, EPeninutWindowCtrlIdBaseWindow ), 
-     iConfigInfo( NULL ), iLayoutContext( aLayoutContext ),
-    iLastUsedTotalColumns( KPeninputLayoutWindowUnitWidth ),
-    iFirstTimeConstruct( ETrue ),
-    iSwitchFontSet(EFalse),
-    iUnitSizeChange(EFalse)
-    { 
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindow::ConstructL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputLayoutWindow::ConstructL()
-    {
-    BaseConstructL();  
-
-    if( iLayoutContext->LayoutType() == EPluginInputModeVkb )
-        {
-        iVkbLayout = CAknFepCtrlVkbLayout::NewL(); 
-        }
-    else
-        {
-        iVkbLayout = NULL;
-        }
-        
-    CCoeEnv* coeEnv = CCoeEnv::Static();
-    	
-    // Set up resources
-    TFileName resFileName = GetWindowResFileName();
-    BaflUtils::NearestLanguageFile(coeEnv->FsSession(), resFileName );
-    iWinResId = coeEnv->AddResourceFileL( resFileName );
-        
-    TResourceReader reader;
-    
-    coeEnv->CreateResourceReaderLC( reader, GetWindowResId() );
-    SetResourceId( GetWindowResId() );
-    ConstructFromResourceL();
-    // Pop and destroy reader
-    CleanupStack::PopAndDestroy( 1 );
-    MoveButton()->AddEventObserver( UiLayout() );
-    iCtrlPool = CPeninputCtrlPool::NewL();
-    
-    CreateAllControlsL();
-    SetControlsFont();
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindow::~CPeninputLayoutWindow
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPeninputLayoutWindow::~CPeninputLayoutWindow()
-    {
-    delete iCtrlPool;
-    delete iConfigInfo;
-    delete iKeyMappingMgr;
-    delete iVkbLayout;    
-    // Delete resource file from CoeEnv
-    CCoeEnv::Static()->DeleteResourceFile( iWinResId );
-    
-    CCoeEnv::Static()->DeleteResourceFile( iConfigResId );
-        
-    }
-    
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindow::ConstructFromResourceL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputLayoutWindow::ConstructFromResourceL( 
-    TResourceReader& aResReader )
-    {
-    TInt supportskin = aResReader.ReadInt16();
-
-    if (iFirstTimeConstruct && (supportskin != KNotSupportSkin))
-        {
-    	UiLayout()->AddControlL(this);
-        }
-    
-    const TInt32 moveBtnResId = aResReader.ReadInt32();
-    const TInt32 closeBtnResId = aResReader.ReadInt32();
-    const TInt32 icfResId = aResReader.ReadInt32();
-    const TInt32 optionBtnResId = aResReader.ReadInt32();
-    const TInt32 keymappingResId = aResReader.ReadInt32();
-    const TInt32 shadowResId = aResReader.ReadInt32();
-    const TInt32 arrowLeftResId = aResReader.ReadInt32();
-    const TInt32 arrowRightResId = aResReader.ReadInt32();
-    const TInt32 bgImageResId = aResReader.ReadInt32();
-        
-    TResourceReader resReader;
-    
-    TBool multiLine = EFalse;
-    
-    if (iFirstTimeConstruct)
-        {       
-        // Read bitmaps of close and move button   
-        CCoeEnv::Static()->CreateResourceReaderLC( resReader, moveBtnResId );
-        MoveButton()->SetResourceId( moveBtnResId );
-        MoveButton()->ConstructFromResourceL();
-        CleanupStack::PopAndDestroy( 1 );
-        
-        CCoeEnv::Static()->CreateResourceReaderLC( resReader, closeBtnResId );
-        CloseButton()->SetResourceId( closeBtnResId );
-        CloseButton()->ConstructFromResourceL();
-        CleanupStack::PopAndDestroy( 1 );
-
-        // Read information of key mapping 
-        CCoeEnv::Static()->CreateResourceReaderLC( resReader, keymappingResId );
-        iKeyMappingMgr = CPeninputNumericKepMappingMgr::NewL( resReader );
-        CleanupStack::PopAndDestroy( 1 );          
-            
-        
-        multiLine = IsMultiLineIcf();
-        
-        // Add input context field into the headpane
-        if (multiLine)
-        	{
-        	AddMultiContextFieldL();	
-        	}
-        else
-        	{
-        	AddContextFieldL();	
-        	}
-        
-        
-        // Add touch input button into the headpane
-        AddTouchInputButtonL( optionBtnResId ); 
-        }
-    else
-    	{
-    	multiLine = IsMultiLineIcf();
-    	CControlGroup::ConstructFromResourceL();
-    	}    
-    
-    // Read information of shadow 
-    CCoeEnv::Static()->CreateResourceReaderLC( resReader, shadowResId );
-    ReadShadowInfoL( resReader ); 
-    CleanupStack::PopAndDestroy( 1 ); 
-     
-    if (!multiLine)
-    	{    
-	    //Read resource of icf
-	    CCoeEnv::Static()->CreateResourceReaderLC( resReader, icfResId );  
-    	ReadIcfInfo( resReader );     	
-	    CleanupStack::PopAndDestroy( 1 );
-    	}
-    else
-    	{
-    	ReadMultiLineIcfInforL(icfResId);	
-    	}    
-	
-	// Read background image resource
-	ReadBackgroundInfoL( bgImageResId );	    	
-    iFirstTimeConstruct = EFalse;       
-    }
-
-// -----------------------------------------------------------------------------
-// CPeninputLayoutWindow::ConstructFromResourceL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputLayoutWindow::ConstructFromResourceL()
-    {    
-    if (iResourceId == KInvalidResId)
-    	{
-        User::Leave(KErrArgument);
-    	}
-
-    TResourceReader reader;
-    CCoeEnv::Static()->CreateResourceReaderLC(reader, iResourceId);
-
-    TInt supportskin = reader.ReadInt16();
-    
-    if (iFirstTimeConstruct && (supportskin != KNotSupportSkin))
-        {
-    	UiLayout()->AddControlL(this);
-        }
-
-    const TInt32 moveBtnResId = reader.ReadInt32();
-    const TInt32 closeBtnResId = reader.ReadInt32();
-    const TInt32 icfResId = reader.ReadInt32();
-    const TInt32 optionBtnResId = reader.ReadInt32();
-    const TInt32 keymappingResId = reader.ReadInt32();
-    const TInt32 shadowResId = reader.ReadInt32();
-    const TInt32 arrowLeftResId = reader.ReadInt32();
-    const TInt32 arrowRightResId = reader.ReadInt32();
-    const TInt32 bgImageResId = reader.ReadInt32();
-    
-    
-    TResourceReader resReader;
-    TBool multiLine = EFalse;
-        
-    if (iFirstTimeConstruct)
-        {       
-        // Read bitmaps of close and move button   
-        CCoeEnv::Static()->CreateResourceReaderLC( resReader, moveBtnResId );
-        MoveButton()->SetResourceId( moveBtnResId );
-        MoveButton()->ConstructFromResourceL();
-        CleanupStack::PopAndDestroy( 1 );
-        
-        CCoeEnv::Static()->CreateResourceReaderLC( resReader, closeBtnResId );
-        CloseButton()->SetResourceId( closeBtnResId );
-        CloseButton()->ConstructFromResourceL();
-        CleanupStack::PopAndDestroy( 1 );
-
-        // Read information of key mapping 
-        CCoeEnv::Static()->CreateResourceReaderLC( resReader, keymappingResId );
-        iKeyMappingMgr = CPeninputNumericKepMappingMgr::NewL( resReader );
-        CleanupStack::PopAndDestroy( 1 );          
-            
-        multiLine = IsMultiLineIcf();
-        
-        // Add input context field into the headpane
-        if (multiLine)
-        	{
-        	AddMultiContextFieldL();	
-        	}
-        else
-        	{
-        	AddContextFieldL();	
-        	}
-        
-        // Add touch input button into the headpane
-        AddTouchInputButtonL( optionBtnResId ); 
-        }
-    else
-    	{
-    	multiLine = IsMultiLineIcf();
-    	CControlGroup::ConstructFromResourceL();
-    	}    
-    
-    // Read information of shadow 
-    CCoeEnv::Static()->CreateResourceReaderLC( resReader, shadowResId );
-    ReadShadowInfoL( resReader ); 
-    CleanupStack::PopAndDestroy( 1 );  
-    
-    if (!multiLine)
-    	{    
-	    //Read resource of icf
-	    CCoeEnv::Static()->CreateResourceReaderLC( resReader, icfResId );  
-    	ReadIcfInfo( resReader );     	
-	    CleanupStack::PopAndDestroy( 1 );
-    	}
-    else
-    	{
-    	ReadMultiLineIcfInforL(icfResId);	
-    	}  
-    
-    CleanupStack::PopAndDestroy(); // reader
-
-	// Read background image resource
-	ReadBackgroundInfoL( bgImageResId );
-	
-    if( iLayoutContext->LayoutType() == EPluginInputModeVkb )
-        {
-        iVkbLayout->ConstructFromResourceL();
-        }
-        
-    iFirstTimeConstruct = EFalse;   	        
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindow::SizeChanged
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputLayoutWindow::SizeChanged( TBool /*aLandscapeStyle*/ )
-    {
-    iLangOrSizeChanged = ETrue;    
-    ChangeUnitSize();
-    
-    ReadLafForShadow();
-    
-    if ( iConfigInfo )
-        {
-        ChangeClientSize();        
-        // Change the size of base window
-        SizeChangedForBaseWindow( iLastUsedTotalColumns );
-        
-        }
-    
-    TInt style = EPeninputPositionChangeBrJustify;
-    TBuf<KIntSizeToInt16> bufStyle;
-    bufStyle = ( TUint16* )&style;
-    HandleControlEvent(EPeninputLayoutEventMovePosition, NULL, bufStyle);           
-        
-    iLangOrSizeChanged = EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindow::ReadLafForShadow
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-void CPeninputLayoutWindow::ReadLafForShadow()
-    {
-    if(!CPeninputDataConverter::AnyToInt
-        (iLayoutContext->RequestData(EAkninputDataTypeSizeChanging)))
-        {
-        return;
-        }
-    
-    TRect anyRect;
-    
-    TAknWindowLineLayout shadowPane;
-    TAknWindowLineLayout shadowTl;
-    TAknWindowLineLayout shadowBr;
-    TAknLayoutRect shadowRect;
-    TAknLayoutRect shadowTlRect;
-    TAknLayoutRect shadowBrRect;
-
-    shadowPane = AknLayoutScalable_Avkon::bg_popup_fep_shadow_pane(1).LayoutLine();
-    shadowRect.LayoutRect(anyRect, shadowPane);
-
-    shadowTl = AknLayoutScalable_Avkon::bg_popup_fep_shadow_pane_g1().LayoutLine();
-    shadowTlRect.LayoutRect(shadowRect.Rect(), shadowTl);
-
-    shadowBr = AknLayoutScalable_Avkon::bg_popup_fep_shadow_pane_g8().LayoutLine();
-    shadowBrRect.LayoutRect(shadowRect.Rect(), shadowBr);
-    
-    iShadowTlWidth = shadowTlRect.Rect().Size().iWidth;
-    iShadowTlHeight = shadowTlRect.Rect().Size().iHeight;
-    iShadowBrWidth = shadowBrRect.Rect().Size().iWidth;
-    iShadowBrHeight = shadowBrRect.Rect().Size().iHeight;
-    
-    //TRect newWinRect = Rect();
-    //newWinRect.iTl = ShadowRect().iTl + TPoint(iShadowTlWidth, iShadowTlHeight);
-    //SetRect( newWinRect );
-    }
-    
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindow::SizeChanged
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-void CPeninputLayoutWindow::SizeChangedForBaseWindow( TInt aTotalColumns )
-    {
-    //only responsible for controls that layout window managed
-    //if ( ( aTotalColumns != iLastUsedTotalColumns ) || iLangOrSizeChanged  )
-        {
-        TRect wndRect = Rect();
-        TRect rtTitleBar = TitleBar()->Rect();
-               
-        TInt UnitWidth = *( static_cast<TInt*>( iLayoutContext->RequestData
-            ( EPeninputDataTypeUnitWidth ) ) );
-            
-        TInt UnitHeight = *( static_cast<TInt*>( iLayoutContext->RequestData
-            ( EPeninputDataTypeUnitHeight ) ) );
-            
-        TInt moveBtnColumns = 1;
-        TInt closeBtnColumns = 1;
-        TInt optionBtnColumns = 1;
-        TInt headerPaneColumns;
-        TInt icfColumns;
-        
-        //Call SetRect function of dragbutton
-        if( iLayoutContext->LayoutType() == EPluginInputModeVkb)
-            {
-            moveBtnColumns = 2;
-            closeBtnColumns = 2;
-            }
-        
-        TRect rectClose ( rtTitleBar.iTl,  TSize( closeBtnColumns * UnitWidth, UnitHeight ) );
-		TRect innerRect;
-		AknPenImageUtils::CalculateGraphicRect( rectClose, innerRect );        
-        CloseButton()->SizeChanged( rectClose, innerRect, ETrue );
-
-        //Call SetRect function of Head pane
-        headerPaneColumns = aTotalColumns - moveBtnColumns - closeBtnColumns;
-        TRect rectHeader ( TPoint(rectClose.iBr.iX, rectClose.iTl.iY ), 
-                           TSize( headerPaneColumns * UnitWidth, UnitHeight ) );
-        HeaderPane()->SetRect( rectHeader );
-
-        //Call SetRect function of input context field
-        icfColumns = headerPaneColumns - optionBtnColumns;
-        TRect rectIcf( rectHeader.iTl, 
-                       TSize( icfColumns * UnitWidth, UnitHeight ) );
-        if(ConfigInfo()->Language() == ELangArabic)        
-            {
-            rectIcf.iTl.iX = rectIcf.iTl.iX + UnitWidth;
-            }        
-        if(IsMultiLineIcf())
-        	{
-        	iMultiLineIcf->SetRect( rectIcf );	
-        	}
-        else
-        	{
-        	iInputContextField->SetRect( rectIcf );	
-        	}
-        if(ConfigInfo()->Language() == ELangArabic) 
-            {
-            TRect rectBackspace(rectHeader.iTl, TSize(UnitWidth, UnitHeight));
-            AknPenImageUtils::CalculateGraphicRect( rectBackspace, innerRect );
-            iBackspaceButton->SizeChanged(rectBackspace, innerRect, ETrue);
-            }
-        //set the rect of option button
-        TRect rectOption ( TPoint( rectIcf.iBr.iX, rectIcf.iTl.iY ),
-                           TSize( optionBtnColumns * UnitWidth, UnitHeight ) );
-        AknPenImageUtils::CalculateGraphicRect( rectOption, innerRect ); 
-        iTouchInputOptionButton->SizeChanged( rectOption, innerRect, ETrue );
-
-        //Call SetRect function of close button
-        TRect rectMove ( TPoint( rectHeader.iBr.iX, rectHeader.iTl.iY),
-                         TSize( closeBtnColumns * UnitWidth, UnitHeight ) );
-        AknPenImageUtils::CalculateGraphicRect( rectMove, innerRect ); 
-        MoveButton()->SizeChanged( rectMove, innerRect, ETrue );
-
-        SetControlsFont();            
-        iLastUsedTotalColumns = aTotalColumns;                           
-        }
-    }
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindow::HandleControlEvent
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputLayoutWindow::HandleControlEvent( TInt aEventType,
-    CFepUiBaseCtrl* aCtrl, const TDesC& aEventData )
-    {
-    // Call this function in base class
-    CAknFepCtrlBaseWindow::HandleControlEvent( aEventType, 
-        aCtrl, aEventData );
-    
-    TInt* data = ( TInt* ) aEventData.Ptr(); 
-    
-    switch ( aEventType )
-        {
-        case EPeninputLayoutEventSwitchLanguage:
-            {
-            TRAP_IGNORE( ChangeInputLanguageL( *data ) );                
-            }
-            break;
-        case EPeninputLayoutEventRange: 
-            {
-            HandleRangeEvent( *data );
-            }
-            break;
-        case EPeninputLayoutEventRangeLoop:
-            {
-            HandleRangeLoopEvent( *data );
-            }
-            break;
-        case EPeninputLayoutEventShift: 
-            {
-            HandleShiftBtnClicked();
-            }
-            break;
-        case EPeninputLayoutEventCapslock:
-            {
-            HandleCapslockBtnClicked();
-            } 
-            break;
-        case EPeninputLayoutEventMovePosition:
-            {
-            TInt style = *( ( TUint16* ) aEventData.Ptr() );
-            ChangeLayoutPosition( style );
-            }
-            break;
-        case EPeninputLayoutEventSetPermittedRange:
-            {
-            if ( *data & ERangeNative )
-                {
-                *data = *data | ERangeAccent | ERangeNativeNumber 
-                    | ERangeMixedText | ERangeMixedNumber;
-                }
-            else if(*data & ERangeEnglish)
-                {
-                *data = *data | ERangeAccent;
-                }
-            /*    
-            if ( *data & ERangeNative )
-                {
-                *data = *data | ERangeNativeNumber 
-                    | ERangeMixedText | ERangeMixedNumber;
-                }
-            */    
-            // Update data:range
-            iLayoutContext->SetData( EPeninputDataTypePermittedRange, data );
-            
-            // Set range of range bar component
-            CFepUiBaseCtrl* bar = 
-                iCtrlPool->Control( EPeninutWindowCtrlIdRangeBar );
-            if ( bar ) 
-                {
-                CAknFepCtrlRangeBar* rangebar = 
-                    static_cast<CAknFepCtrlRangeBar*>( bar );
-                rangebar->SetPermittedRanges( *data );             
-                }                     
-            }
-            break;  
-        case EPeninputLayoutEventSetPermittedCase:
-            {
-            // Update data:case
-            iLayoutContext->SetData( EPeninputDataTypePermittedCase, data );
-            
-            // Set range of case
-            CFepUiBaseCtrl* bar = 
-                iCtrlPool->Control( EPeninutWindowCtrlIdRangeBar );
-            if ( bar ) 
-                {
-                CAknFepCtrlRangeBar* rangebar = 
-                    static_cast<CAknFepCtrlRangeBar*>( bar );
-            
-                rangebar->SetPermittedCase( ERangeEnglish, ECaseUpper, 
-                    ( *data & ECaseUpper) != 0 );
-                rangebar->SetPermittedCase( ERangeEnglish, ECaseLower, 
-                    ( *data & ECaseLower) != 0 );
-                rangebar->SetPermittedCase( ERangeEnglish, ECaseText, 
-                    ( *data & ECaseText) != 0 );
-                }
-            }
-            break;
-        case EPeninputLayoutEventSetCase:
-            {
-            DoCaseChange( *data );
-            }
-            break;
-        case EEventSizeChanged:
-            {
-            //if icf editor size changed, we need to inform owner
-            if(aCtrl == iInputContextField ||
-               aCtrl == iMultiLineIcf )
-                {
-                iLayoutContext->Sendkey( ESignalLayoutICFLengthChanged, KNullDesC );
-                }
-            }
-            break;
-        default:
-            break;
-        }   
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindow::SetEditorTextL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputLayoutWindow::SetEditorTextL( 
-    const TFepInputContextFieldData& aData )
-    {
-    if(IsMultiLineIcf())
-    	{
-    	if (iMultiLineIcf)
-    		{
-    	    iMultiLineIcf->SetTextL( aData );			
-    		}
-    	}
-    else
-    	{
-    	if (iInputContextField)
-    		{
-    		iInputContextField->SetTextL( aData );
-    		}
-    		
-    	}     
-    }  
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindow::SetEditorTextL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputLayoutWindow::SetTextIsSecret( TBool aData )
-    {
-    if(IsMultiLineIcf())
-    	{
-    	if (iMultiLineIcf)
-    		{
-    	    iMultiLineIcf->SetTextIsSecret( aData );			
-    		}
-    	}
-    else
-    	{
-    	if (iInputContextField)
-    		{
-    		iInputContextField->SetTextIsSecret( aData );
-    		}
-    	}    
-    }  
-    
-void CPeninputLayoutWindow::SetNumberGrouping( TBool aData )
-    {
-    if(IsMultiLineIcf())
-    	{
-    	if (iMultiLineIcf)
-    		{
-    	    iMultiLineIcf->SetNumberGrouping( aData );			
-    		}
-    	}   
-    } 
-    
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindow::DoClose
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CPeninputLayoutWindow::DoClose()
-    {
-    // Send EVkbEventWindowClose to layout
-    this->ReportEvent( EPeninputLayoutEventClose, KNullDesC );
-    
-    // Return true which will permit the window close
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindow::AddContextFieldL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-void CPeninputLayoutWindow::AddContextFieldL()
-    {       
-    // Get reference CControlGroup of headerPane
-    CControlGroup* headerPane = HeaderPane();
-    
-    User::LeaveIfNull( headerPane );
-
-    // Input context field
-    iInputContextField = CFepInputContextField::NewL( TRect(), 
-        UiLayout(), EPeninutWindowCtrlIdInputContextField );    
-        
-    // Transfer to headerPane
-    headerPane->AddControlL( iInputContextField );
-    iInputContextField->SetFocus(ETrue);
-    
-    // Add layout as event observer
-    iInputContextField->AddEventObserver( UiLayout() );
-    }
-    
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindow::AddTouchInputButtonL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-void CPeninputLayoutWindow::AddTouchInputButtonL( TInt aResID )
-    {
-    // Get reference CControlGroup of headerPane
-    CControlGroup* headerPane = HeaderPane();
-    
-    User::LeaveIfNull( headerPane );
-        
-    // Create Touch Input Option
-    iTouchInputOptionButton = CAknFepCtrlEventButton::NewL( UiLayout(),
-        EPeninutWindowCtrlIdOptionBtn, EPeninputLayoutEventOption, 0,
-        									  KAknsIIDQsnFrFunctionButtonNormal,
-        									  KAknsIIDQsnFrFunctionButtonPressed,
-        									  KAknsIIDQsnFrFunctionButtonInactive );
-        
-    // Read resource
-    TResourceReader reader;
-    
-    CCoeEnv::Static()->CreateResourceReaderLC( reader, aResID );    
-    iTouchInputOptionButton->SetResourceId( aResID );    
-    iTouchInputOptionButton->ConstructFromResourceL();  
-    // Pop and destroy reader
-    CleanupStack::PopAndDestroy( 1 );
-    
-    // Add into the group                                                   
-    headerPane->AddControlL( iTouchInputOptionButton );
-    iTouchInputOptionButton->AddEventObserver( UiLayout() );
-    }
-
-// ---------------------------------------------------------------------------
-// Get layout config method. It does a lasy initialization for a instance of
-// CPeninputLayoutWindow::ConfigInfo
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPeninputLayoutConfig* CPeninputLayoutWindow::ConfigInfo() const
-    {
-    return iConfigInfo;
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindow::CheckResourceExist
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-TBool CPeninputLayoutWindow::CheckResourceExist( const TDesC& aFileName )
-    {
-    RFile file;
-    
-    if ( !aFileName.Length() )
-        {
-        return EFalse;
-        }
-        
-    TInt rs = file.Open( CCoeEnv::Static()->FsSession(), aFileName, EFileRead );
-    
-    if ( rs == KErrNotFound )
-        {
-        return EFalse;  
-        }
-    else
-        {
-        file.Close();
-        
-        return ETrue;
-        }
-    }
-  
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindow::ChangeInputLanguageL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputLayoutWindow::ChangeInputLanguageL( TInt aLangID )
-    {
-    // Determine whether a new language id is same as existing one, 
-    if ( ConfigInfo() )
-        {
-        // If language not changed, exit this function
-        if ( ConfigInfo()->Language() == aLangID )
-            {
-            return;
-            }
-        }
-
-    // First check file exist or not
-    TBool found = CheckResourceExist( GetWindowConfigResFileName( aLangID ) );
-    if ( !found )
-        {
-        aLangID = ELangEnglish;        
-        found = CheckResourceExist( GetWindowConfigResFileName( aLangID ) );
-        }
-        
-    if ( found ) 
-        {
-        // Store language
-        iLayoutContext->SetData( EPeninputDataTypeInputLanguage, &aLangID );
-   
-        if ( iLayoutContext->LayoutType() == EPluginInputModeVkb )
-            {       
-            CFepUiBaseCtrl* ctrl = 
-                iCtrlPool->Control( EPeninutWindowCtrlIdVkbCtrl );
-            if ( ctrl )
-                {
-                ( static_cast<CPeninputVkbCtrlExt*>( ctrl ) )->Reset();
-                }
-            } 
-
-         ( const_cast<RPointerArray<CFepUiBaseCtrl>&>
-             ( ClientPane()->ControlList() ) ).Reset();
-
-        // Re-construct config info 
-        if ( iConfigInfo )
-            {
-            delete iConfigInfo;
-            iConfigInfo = NULL;
-            }
-            
-        if (iConfigResId)
-            {
-            CCoeEnv::Static()->DeleteResourceFile( iConfigResId );
-            }
-            
-        // construct resource utils
-        
-        CCoeEnv* coeEnv = CCoeEnv::Static();
-        
-        // Set up resources
-        TFileName resFileName = GetWindowConfigResFileName( aLangID );
-        BaflUtils::NearestLanguageFile(coeEnv->FsSession(), resFileName );
-        iConfigResId = coeEnv->AddResourceFileL( resFileName );
-        
-        TResourceReader reader;
-
-        coeEnv->CreateResourceReaderLC( reader, GetWindowConfigResId() );  
-        if ( iLayoutContext->LayoutType() == EPluginInputModeVkb )
-            {
-            iVkbLayout->Reset(); 
-            }
-        iConfigInfo = CPeninputLayoutConfig::NewL( *iVkbLayout, reader ); 
-        
-        // Pop and destroy reader
-        CleanupStack::PopAndDestroy( 1 ); 
-        	       
-        // Re-construct rangebar
-        ChangeRangeBarL();
-
-        iLangOrSizeChanged = ETrue;
-        //ChangeClientSize();
-        
-        TBuf<10> iISOCode;
-        AknPenInputUtils::GetISOLanguageCode
-            ( static_cast<TLanguage>(aLangID), iISOCode );
-        CFepUiBaseCtrl* langBtn = 
-            iCtrlPool->Control( EPeninutWindowCtrlIdInputLangSwitcherBtn );
-            
-        if ( langBtn )
-            {
-            ( static_cast<CAknFepCtrlEventButton*>( langBtn ) )->SetText
-                ( iISOCode );
-            UpdateArea(( static_cast<CAknFepCtrlButton*>( langBtn ) )->Rect(), 
-                ETrue );
-            }
-	    TInt range = -1;
-	    iLayoutContext->SetData( EPeninputDataTypeCurrentRange, &range );
-	    iLayoutContext->SetData( EPeninputDataTypeClientLayout, &range );
-	    
-	    iMultiLineIcf->SetLanguageId( aLangID );
-        } 
-    else
-        {
-        // Report error, do nothing
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindow::ChangeRangeBarL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-void CPeninputLayoutWindow::ChangeRangeBarL()
-    {
-    // Read range bar from config into and reconstruct range button
-    if ( iConfigInfo )
-        {
-        TInt resid = iConfigInfo->RangebarResId();
-        CFepUiBaseCtrl* bar = 
-            iCtrlPool->Control( EPeninutWindowCtrlIdRangeBar );
-            
-        if ( bar ) 
-            {
-            CAknFepCtrlRangeBar* rangebar = 
-                static_cast<CAknFepCtrlRangeBar*>( bar );
-            
-            CAknFepCtrlRangeBar::TRangeBarActionStyle style = 
-                ( CAknFepCtrlRangeBar::TRangeBarActionStyle )
-                iConfigInfo->RangeBarInfo()->RangeStyle();
-                
-            rangebar->SetActionStyle( style );
-                            
-            TResourceReader reader;
-            
-            CCoeEnv::Static()->CreateResourceReaderLC( reader, resid ); 
-            
-            rangebar->ConstructFromResourceL( reader );
-            
-            // Pop and destroy reader
-            CleanupStack::PopAndDestroy( 1 );
-            }
-        }
-    }
-  
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindow::ChangeRange
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputLayoutWindow::ChangeRange( TInt aRange, TInt aVkbLayoutId, TBool aNotify )
-    {
-    TInt curRange = CPeninputDataConverter::AnyToInt
-        ( iLayoutContext->RequestData( EPeninputDataTypeCurrentRange ) );    
-
-
-    CFepUiBaseCtrl* bar = 
-        iCtrlPool->Control( EPeninutWindowCtrlIdRangeBar );
-    CAknFepCtrlRangeBar* rangebar = 
-        static_cast<CAknFepCtrlRangeBar*>( bar );
-        
-    if ( rangebar )
-        {
-        rangebar->ActiveRange( aRange );
-        }
-            
-    if ( ( curRange != aRange ) || ( iLangOrSizeChanged ) )
-        {
-        // Change client layout
-        //UiLayout()->LayoutOwner()->Hide(ETrue);
-        CPeninputRangeBarInfo* rangeBar = iConfigInfo->RangeBarInfo();
-        CPeninputRangeInfo* rangeInfo = rangeBar->FindRange( aRange );
-        
-        if ( !rangeInfo )
-            {
-            aRange = ERangeNumber;
-            rangeInfo = rangeBar->FindRange( ERangeNumber );
-            }
-
-        // Get the whole columns    
-        
-        iUnitSizeChange = ReconfigUnitSize(rangeInfo->ClientLayoutId());
-        /*if (iUnitSizeChange)
-      	    {
-       	    UiLayout()->LayoutOwner()->Hide(ETrue);
-       	    }
-       	    */
-        ChangeClientLayout( rangeInfo->ClientLayoutId() );
-        
-        CPeninputClientLayoutInfo* clientLayout = 
-            ConfigInfo()->FindClientLayoutInfo( rangeInfo->ClientLayoutId() );
-        if ( clientLayout )
-            {
-            SizeChangedForBaseWindow( clientLayout->Columns() );
-            }
-        	
-        // Update data:range
-        iLayoutContext->SetData( EPeninputDataTypeCurrentRange, &aRange );
-          
-        // Notify fep the new range
-        if ( aNotify )
-            {
-            TBuf<KIntLengthForByte> buf;
-            CPeninputDataConverter::IntToDesc( aRange, buf );
-            iLayoutContext->Sendkey( ESignalRange, buf );
-            }
-
-        // Change vkb layout
-        if ( iLayoutContext->LayoutType() == EPluginInputModeVkb )
-            {
-            if ( ( aRange == ERangeEnglish ) || ( aRange == ERangeAccent ) 
-                || ( ConfigInfo()->CaseSensitive() 
-                && ( aRange == ERangeNative ) ) )
-                {
-                // Change shift and capslock button status according to the current case
-                TInt curCase = CPeninputDataConverter::AnyToInt
-                    ( iLayoutContext->RequestData( EPeninputDataTypeCase ) );
-                TInt shfit;  
-                TInt capslock;  
-                
-                CPeninputDataConverter::ShiftCapslockByCase( curCase, 
-                    shfit, capslock );      
-
-                iLayoutContext->SetData( EPeninputDataTypeShiftDown, &shfit );
-                ChangeButtonStatus( shfit, EPeninutWindowCtrlIdShiftBtn );
-                iLayoutContext->SetData( EPeninputDataTypeCapslockDown, &capslock );
-                ChangeButtonStatus( capslock, EPeninutWindowCtrlIdCapslockBtn );                
-                
-                TInt caseid = CaseByShiftCapslockStatus();
-                TInt vkblayoutid = 
-                    ConfigInfo()->ShiftCapsSingleVkbLayoutId( aRange, caseid );
-                                
-                if ( aRange == ERangeAccent ) 
-                    {
-                    TInt curAccentIndex = CPeninputDataConverter::AnyToInt
-                        ( iLayoutContext->RequestData( EPeninputDataTypeCurrentAccent ) );
-                    vkblayoutid = vkblayoutid + curAccentIndex * 2;
-                    }      
-                    
-                // Change vkb layout
-                ChangeVkbLayout( vkblayoutid );
-                }
-            else
-                {
-                TInt flag = 0;
-                
-                iLayoutContext->SetData( EPeninputDataTypeShiftDown, &flag );
-                ChangeButtonStatus( 0, EPeninutWindowCtrlIdShiftBtn );
-                iLayoutContext->SetData( EPeninputDataTypeCapslockDown, &flag );
-                ChangeButtonStatus( 0, EPeninutWindowCtrlIdCapslockBtn );
-     
-                // Change vkb layout
-                if ( aVkbLayoutId )
-                    {
-                    ChangeVkbLayout( aVkbLayoutId );                   
-                    }
-                else
-                    {
-                    ChangeVkbLayout( rangeInfo->VkbLayoutId() );  
-                    }                
-                }
-
-            }
-            
-        /*if (iUnitSizeChange)
-            {
-        	//SizeChanged(ETrue);
-        	const TRect rect = ChangeUnitSize();
-            ReadLafForShadow( rect );
-            if ( iConfigInfo )
-                {
-                // Change the size of base window
-                SizeChangedForBaseWindow( iLastUsedTotalColumns );
-                ChangeClientSize();        
-                }
-        	UiLayout()->LayoutOwner()->Hide(EFalse);
-        	iUnitSizeChange = EFalse;
-            }*/
-
-        if ( ( iLayoutContext->LayoutType() == EPluginInputModeVkb )
-              && ( curRange == ERangeNumber ) && ( curRange == aRange ) )
-            {
-            // Dimmed some keys if needed  
-            DimKeys();                 
-            } 
-                           
-        UiLayout()->Draw();    
-        }
-        
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindow::ChangeClientLayout
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputLayoutWindow::ChangeClientLayout( TInt aClientLayoutId )
-    {
-    TInt curClientId = CPeninputDataConverter::AnyToInt
-        ( iLayoutContext->RequestData( EPeninputDataTypeClientLayout ) );
-
-    if ( ( curClientId != aClientLayoutId ) || ( iLangOrSizeChanged ) )
-        {
-        // Re-Orginize all controls according to the configuration
-        ReorganizeControls( aClientLayoutId, ETrue );
-      
-        // Update data:client layout id
-        iLayoutContext->SetData( EPeninputDataTypeClientLayout, 
-                                 &aClientLayoutId );
-                                 
-        // Reset lang changed flag
-        if ( ( iLangOrSizeChanged ) 
-            && ( iLayoutContext->LayoutType() != EPluginInputModeVkb ) )
-            {
-            iLangOrSizeChanged = EFalse;
-            }
-
-        //iUnitSizeChange = ReconfigUnitSize(aClientLayoutId); 
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindow::ChangeVkbLayout
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputLayoutWindow::ChangeVkbLayout( TInt aVkbLayoutId )
-    {
-    TInt latchedFlag = CPeninputDataConverter::AnyToInt(
-                       iLayoutContext->RequestData(EAkninputDataTypeLatchedSet));
-    // If the DeadKey is latched, cancel it and then change the VKB layout
-    if(latchedFlag)
-        {
-        RPointerArray<CPeninputVkbLayoutInfo> vkbListInfo;
-        RPointerArray<CPeninputVkbKeyInfo> keyInfoList;
-        
-        vkbListInfo = iVkbLayout->VkbLayoutInfoList();
-        TInt vkbListNum = vkbListInfo.Count();
-        
-        CVirtualKey* pKey;
-        TBool deadKeyChange = EFalse;
-        // Find the latched DeadKey in all the Vkb layout
-        for(TInt i = 0; i < vkbListNum; i++)
-            {
-            // Get key info list in one VKB layout
-            keyInfoList = vkbListInfo[i]->KeyInfoList();
-            TInt keyListNum = keyInfoList.Count();
-            for(TInt j = 0; j < keyListNum; j++)
-                {
-                pKey = keyInfoList[j]->Key();
-                if(pKey->Latched())
-                    {
-                    // Unlatch the DeadKey
-                    pKey->SetLatched(EFalse);
-                    
-                    // Set the DeadKey state
-                    iLayoutContext->SetData(EAkninputDataTypeLatchedSet, &deadKeyChange);
-                    deadKeyChange = ETrue;
-                    break;
-                    } 
-                }
-            if(deadKeyChange)
-                {
-                break;
-                }
-            }
-        }
-    
-    TInt curVkbId = CPeninputDataConverter::AnyToInt
-        ( iLayoutContext->RequestData( EPeninputDataTypeVkbLayout ) );
-                           
-    if ( ( curVkbId != aVkbLayoutId ) || ( iLangOrSizeChanged ) )
-        {
-        iVkbLayout->ChangeVkbLayout( aVkbLayoutId );
-        
-        TInt curClientId = CPeninputDataConverter::AnyToInt 
-           ( iLayoutContext->RequestData( EPeninputDataTypeClientLayout ) );
-        CPeninputControlInfo* vkbInfo = iConfigInfo->FindClientLayoutInfo 
-            ( curClientId )->FindControlInfo( EPeninutWindowCtrlIdVkbCtrl );
-    
-        TRect rect;
-        CPeninputVkbCtrlExt* vkbCtrl = static_cast<CPeninputVkbCtrlExt*>
-            ( ClientPane()->ControlById( EPeninutWindowCtrlIdVkbCtrl ) );
-      
-        if ( vkbInfo )
-            {
-            TInt unitWidth = CPeninputDataConverter::AnyToInt
-                ( iLayoutContext->RequestData( EPeninputDataTypeUnitWidth ) );
-                              
-            TInt unitHeight = CPeninputDataConverter::AnyToInt 
-                ( iLayoutContext->RequestData
-                ( EPeninputDataTypeUnitHeight ) );
-                                  
-            rect.iTl = vkbCtrl->Rect().iTl + TPoint( vkbInfo->BeginColumn() 
-                * unitWidth, vkbInfo->BeginRow() * unitHeight );
-            TInt cols = vkbInfo->EndColumn() - vkbInfo->BeginColumn();
-            TInt rows = vkbInfo->EndRow() - vkbInfo->BeginRow();
-            rect.SetSize( TSize( cols * unitWidth, rows * unitHeight ) );
-            }
-          
-        CPeninputVkbLayoutInfo* vkblayout = 
-            ConfigInfo()->FindVkbLayoutInfo( aVkbLayoutId );  
-      
-        if ( vkbCtrl && vkblayout )
-            {
-            vkbCtrl->SetRect( rect );
-            DimKeys(); 
-            
-            // Make the true draw
-            UpdateArea( vkbCtrl->Rect(), EFalse ); 
-            }     
-        
-        // Update data : vkb layout id
-        iLayoutContext->SetData( EPeninputDataTypeVkbLayout, &aVkbLayoutId );
-        
-        // Reset lang changed flag
-        if ( iLangOrSizeChanged )
-            {
-            iLangOrSizeChanged = EFalse;
-            }        
-        }        
-      
-    }
-
-// --------------------------------------------------------------------------
-// CPeninputLayoutWindow::HandleRangeEvent
-// (other items were commented in a header)
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputLayoutWindow::HandleRangeEvent( TInt aRange )
-    {                                 
-    TInt curRange = CPeninputDataConverter::AnyToInt 
-        ( iLayoutContext->RequestData( EPeninputDataTypeCurrentRange ) );
-
-    if (!IsCanChangeRange(aRange))
-    	{
-        ChangeToPreviousRange(curRange);
-        return;    		
-    	}
-  
-    CPeninputRangeBarInfo* rangeBar = iConfigInfo->RangeBarInfo();
-    if ( !rangeBar )
-        {
-        return;
-        }
-
-    CPeninputRangeInfo* rangeInfo = rangeBar->FindRange( aRange );
-    
-    if ( !rangeInfo )
-        {
-        return;
-        }
-      
-    TInt responseStyle = rangeInfo->ResponseStyle();
-    if ( responseStyle == EPeninputRangeResponseNoAction )
-        {
-        return; 
-        }
-    
-    if ( curRange != aRange )
-        {
-        if ( responseStyle == EPeninputRangeResponseSwitchRange )
-            {    
-            TInt index = KInvalidIndex;
-            
-            if ( aRange == ERangeAccent )
-                {
-                index = 0;
-                }
-            iLayoutContext->SetData( EPeninputDataTypeCurrentAccent, &index );
-            
-            ChangeRange( aRange );     
-            
-            // When change range mannually, make the entire window visible
-            TInt style = EPeninputPositionChangeBrJustify;
-            TBuf<KIntSizeToInt16> bufStyle;
-            bufStyle = ( TUint16* )&style;
-            HandleControlEvent(EPeninputLayoutEventMovePosition, NULL, bufStyle);           
-            }
-        else if ( responseStyle == EPeninputRangeResponsePopupChoiceItem )
-            {
-            PopupChoiceList();
-            }
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CPeninputLayoutWindow::HandleRangeLoopEvent
-// (other items were commented in a header)
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputLayoutWindow::HandleRangeLoopEvent( TInt aLoop )
-    {
-    TInt curRange = CPeninputDataConverter::AnyToInt
-        ( iLayoutContext->RequestData( EPeninputDataTypeCurrentRange ) );
-                
-    CFepUiBaseCtrl* ctrl = iCtrlPool->Control( EPeninutWindowCtrlIdRangeBar );
-    CAknFepCtrlRangeBar* rangebar = static_cast<CAknFepCtrlRangeBar*>( ctrl );
-  
-    if ( rangebar )
-        {
-        TRAP_IGNORE( rangebar->SetCaseL( curRange, aLoop ) );
-      
-        if ( ( curRange == ERangeEnglish ) || ( ConfigInfo()->CaseSensitive()
-            && ( curRange == ERangeNative ) ) )
-            {
-            TInt curCase = rangebar->GetCase( curRange );
-            
-            
-
-            // Store case in the data manager, the engine will 
-            // get notice at the same time
-            iLayoutContext->SetData( EPeninputDataTypeCase, &curCase );
-          
-            // Notify fep the new case
-            TBuf<KIntLengthForByte> buf;
-            CPeninputDataConverter::IntToDesc( curCase, buf );
-            iLayoutContext->Sendkey( ESignalCaseMode, buf );
-            }    
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CPeninputLayoutWindow::CaseByShiftCapslockStatus
-// (other items were commented in a header)
-// --------------------------------------------------------------------------
-//
-EXPORT_C TInt CPeninputLayoutWindow::CaseByShiftCapslockStatus()
-    {
-    TInt shiftStatus = CPeninputDataConverter::AnyToInt 
-        ( iLayoutContext->RequestData( EPeninputDataTypeShiftDown ) );
-    TInt capslockStatus = CPeninputDataConverter::AnyToInt 
-        ( iLayoutContext->RequestData( EPeninputDataTypeCapslockDown ) );
-        
-    return ( capslockStatus * 2 + shiftStatus );
-    }
-    
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindow::HandleShiftBtnClicked
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputLayoutWindow::HandleShiftBtnClicked()
-    {
-    TInt curRange = CPeninputDataConverter::AnyToInt
-        ( iLayoutContext->RequestData( EPeninputDataTypeCurrentRange ) );
-    TBool flag = ( curRange == ERangeEnglish )  || ( curRange == ERangeAccent ) 
-        || ( ConfigInfo()->CaseSensitive() && ( curRange == ERangeNative ) );
-        
-    if ( flag && !( iLayoutContext->IsShiftPermitted() ) )
-        {
-        ChangeButtonStatus( 0, EPeninutWindowCtrlIdShiftBtn );
-        return;  
-        }                 
-
-    TInt shiftStatus = CPeninputDataConverter::AnyToInt
-        ( iLayoutContext->RequestData( EPeninputDataTypeShiftDown ) );
-         
-    if ( shiftStatus )
-        {
-        shiftStatus = 0;
-        }
-    else
-        {
-        shiftStatus = 1;
-        }
-
-    // Update data
-    iLayoutContext->SetData( EPeninputDataTypeShiftDown, &shiftStatus );
-    ChangeButtonStatus( shiftStatus, EPeninutWindowCtrlIdShiftBtn );
-    
-    // Update vkb layout
-    TInt  caseid = CaseByShiftCapslockStatus();
-    
-    TInt vkbLayout = iConfigInfo->ShiftCapsSingleVkbLayoutId( curRange, 
-                                                              caseid );
-                                               
-    TInt responseStyle = 
-        iConfigInfo->RangeBarInfo()->FindRange( curRange )->ResponseStyle();
-    if ( ( curRange == ERangeAccent ) 
-        && ( responseStyle == EPeninputRangeResponsePopupChoiceItem ) )
-        {
-        TInt curAccentIndex = CPeninputDataConverter::AnyToInt
-            ( iLayoutContext->RequestData( EPeninputDataTypeCurrentAccent ) );
-        vkbLayout = vkbLayout + curAccentIndex * 2;
-        }
-        
-    ChangeVkbLayout( vkbLayout );
-    
-    // Synchronize case if needed    
-    if ( flag )
-        {
-        // Notify fep the new case
-        TBuf<KIntLengthForByte> buf;
-        TInt fepcase = CPeninputDataConverter::FepCaseByCaseId( caseid );
-        iLayoutContext->SetData( EPeninputDataTypeCase, &fepcase );
-        CPeninputDataConverter::IntToDesc( fepcase, buf );
-        iLayoutContext->Sendkey( ESignalCaseMode, buf );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindow::HandleCapslockBtnClicked
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputLayoutWindow::HandleCapslockBtnClicked()
-    {
-    TInt curRange = CPeninputDataConverter::AnyToInt
-        ( iLayoutContext->RequestData( EPeninputDataTypeCurrentRange ) );
-    TBool flag = ( curRange == ERangeEnglish )  || ( curRange == ERangeAccent ) 
-        || ( ConfigInfo()->CaseSensitive() && ( curRange == ERangeNative ) );
-        
-    if ( flag && !( iLayoutContext->IsCapsLockPermitted() ) )
-        {
-        ChangeButtonStatus( 0, EPeninutWindowCtrlIdCapslockBtn );
-        return;  
-        } 
-    
-    TInt capslockStatus = CPeninputDataConverter::AnyToInt
-        ( iLayoutContext->RequestData( EPeninputDataTypeCapslockDown ) );
-    TInt shiftStatus = CPeninputDataConverter::AnyToInt
-        ( iLayoutContext->RequestData( EPeninputDataTypeShiftDown ) );
-        
-    if ( capslockStatus )  
-        {
-        capslockStatus = 0;
-        }
-    else
-        {
-        capslockStatus = 1;
-        }
-    
-    if( shiftStatus )
-    {
-    shiftStatus = 0;
-    iLayoutContext->SetData( EPeninputDataTypeShiftDown, 
-         &shiftStatus );                          
-    ChangeButtonStatus( shiftStatus, EPeninutWindowCtrlIdShiftBtn );
-    }
-    
-    // Update data
-    iLayoutContext->SetData( EPeninputDataTypeCapslockDown, 
-                             &capslockStatus );                          
-    ChangeButtonStatus( capslockStatus, EPeninutWindowCtrlIdCapslockBtn );
-            
-    // Update vkb layout
-    TInt  caseid = CaseByShiftCapslockStatus(); 
-    TInt vkbLayout = iConfigInfo->ShiftCapsSingleVkbLayoutId( curRange, 
-                                                              caseid );
-                                             
-    TInt responseStyle = 
-        iConfigInfo->RangeBarInfo()->FindRange( curRange )->ResponseStyle();
-    if ( ( curRange == ERangeAccent ) 
-        && ( responseStyle == EPeninputRangeResponsePopupChoiceItem ) )
-        {
-        TInt curAccentIndex = CPeninputDataConverter::AnyToInt
-            ( iLayoutContext->RequestData( EPeninputDataTypeCurrentAccent ) );
-        vkbLayout = vkbLayout + curAccentIndex * 2;
-        }
-            
-    ChangeVkbLayout( vkbLayout );
-    
-    // Synchronize case if needed
-    if ( flag )
-        {
-        // Notify fep the new case
-        TBuf<KIntLengthForByte> buf;
-        TInt fepcase = CPeninputDataConverter::FepCaseByCaseId( caseid );
-        iLayoutContext->SetData( EPeninputDataTypeCase, &fepcase );
-        CPeninputDataConverter::IntToDesc( fepcase, buf );
-        iLayoutContext->Sendkey( ESignalCaseMode, buf );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindow::DimKeys
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-void CPeninputLayoutWindow::DimKeys()
-    {
-    CPeninputVkbCtrlExt* vkbCtrl = static_cast<CPeninputVkbCtrlExt*>
-        ( ClientPane()->ControlById( EPeninutWindowCtrlIdVkbCtrl ) );
-    vkbCtrl->CancelDims();
-    TInt currentRange = CPeninputDataConverter::AnyToInt 
-        ( iLayoutContext->RequestData( EPeninputDataTypeCurrentRange ) );
-    TInt permitRange = CPeninputDataConverter::AnyToInt
-        ( iLayoutContext->RequestData( EPeninputDataTypePermittedRange ) ); 
-    TInt keyMapping = CPeninputDataConverter::AnyToInt 
-        ( iLayoutContext->RequestData( EPeninputDataTypeNumericKeymap ) );
-         
-    if ( ( currentRange == ERangeNumber )
-        && ( permitRange == ERangeNumber ) )
-        {
-        HBufC* rs = NULL;
-        TRAP_IGNORE(rs = GetKeyMappingStringL(keyMapping));
-        if( rs )
-            {
-            vkbCtrl->DimKeys( rs );
-            delete rs;
-            }
-        }
-    vkbCtrl->Draw();
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindow::AddControlL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputLayoutWindow::AddNotOwnedControl( 
-    CFepUiBaseCtrl* aControl )
-    {
-    //do nothing if we already has the control.
-    if ( KErrNotFound != ClientPane()->ControlList().Find( aControl ) )
-        {
-        return;
-        }
-    
-    if ( aControl )
-        {
-        ( const_cast<RPointerArray<CFepUiBaseCtrl>&>
-            ( ClientPane()->ControlList() ) ).Append( aControl );
-        aControl->SetParent( ClientPane() );
-        RRegion region( KPeninputLayoutWindowRegionCount );
-        region.Copy( ClientPane()->Region() );   
-
-        region.AddRect( aControl->Rect() );
-        ClientPane()->SetRegion( region );
-        }
-    } 
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindow::ChangeButtonStatus
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputLayoutWindow::ChangeButtonStatus( const TInt aIsDown, 
-    const TInt aControlId )
-    {
-    CAknFepCtrlEventButton* button = 
-        static_cast<CAknFepCtrlEventButton*>
-        ( ClientPane()->ControlById( aControlId ) );
-
-    if ( button )
-        {
-        button->SetHighlight( aIsDown == 0 ? EFalse : ETrue );
-        } 
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindow::ChangeLayoutPosition
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//               
-EXPORT_C void CPeninputLayoutWindow::ChangeLayoutPosition( TInt aJustifyStyle )
-    {        
-    switch ( aJustifyStyle )
-        {
-        case EPeninputPositionChangeBrJustify:
-            {
-            BottomRightJustify();
-            }         
-            break;
-        case EPeninputPositionChangeDataQuery:
-            {
-            BottomRightJustify();
-            DataQueryJustify();
-            }
-            break;
-        /*case EPeninputPositionChangeNone:
-            break;*/
-        default:
-            {
-            TopLeftJustify();
-            }
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindow::SetWindowRect
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//      
-EXPORT_C void CPeninputLayoutWindow::SetWindowRect( const TRect& aRect )
-    {
-    TRect rect = aRect;
-
-
-    TRect shadowRect = TRect( TPoint(), 
-                              TSize( aRect.Width() + iShadowBrWidth + iShadowTlWidth,
-                                     aRect.Height() + iShadowTlHeight + iShadowBrHeight)
-                            );
-                            
-    rect.Move( TPoint(iShadowTlWidth, iShadowTlHeight) - rect.iTl );
-    
-    SetRect( rect );  
-    RootControl()->SetRect( rect );
-    UiLayout()->SetShadowRect( shadowRect );  	        
-    }
-
-
-// -----------------------------------------------------------------------------
-// CPeninputLayoutWindow::SetSwitchBtnFont
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputLayoutWindow::SetSwitchBtnFont(CAknFepCtrlEventButton& aSwitchBtn)
-    {
-    // read switch font laf info only when need
-    if (CPeninputDataConverter::AnyToInt(
-        iLayoutContext->RequestData(EAkninputDataTypeSizeChanging)) || (!iSwitchFontSet))
-    	{
-        TAknTextLineLayout langSwitch;
-        TAknTextLineLayout langSwitchShadow;
-
-        switch( iLayoutContext->LayoutType() )
-            {
-            case EPluginInputModeVkb:
-                {
-                langSwitch = 
-                    AknLayoutScalable_Avkon::cell_vkb_side_pane_t1().LayoutLine();
-                langSwitchShadow = 
-                    AknLayoutScalable_Avkon::cell_vkb_side_pane_t1_copy1().LayoutLine();
-                }
-                break;
-            case EPluginInputModeHwr:
-                {
-                langSwitch = 
-                    AknLayoutScalable_Avkon::cell_hwr_side_pane_t1().LayoutLine();
-                langSwitchShadow = 
-                    AknLayoutScalable_Avkon::cell_hwr_side_pane_t1_copy1().LayoutLine();
-                }
-                break;
-            default:
-                {
-                return;
-                }
-            }
-        
-        iSwitchFont = langSwitch.iFont;
-        iSwitchShadowFont = langSwitchShadow.iFont;
-    	}
-    
-    aSwitchBtn.SetFont(AknLayoutUtils::FontFromId(iSwitchFont, NULL));
-    aSwitchBtn.SetShadowFont(AknLayoutUtils::FontFromId(iSwitchShadowFont, NULL));
-    iSwitchFontSet = ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindow::TopLeftJustify
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//   
-EXPORT_C void CPeninputLayoutWindow::SetSwitchBtnTextColor(CAknFepCtrlEventButton& aSwitchBtn)
-    {
-    TRgb textColor;
-    TInt error = AknsUtils::GetCachedColor(AknsUtils::SkinInstance(),
-                                           textColor,
-                                           KAknsIIDQsnTextColors,
-                                           EAknsCIQsnTextColorsCG59);
-
-    if (error != KErrNone)
-        {
-    	textColor = TRgb(KDefaultTextColor);
-        }
-        
-    aSwitchBtn.SetFontColor( textColor );   
-    
-    TRgb shadowTextColor;    
-    error = AknsUtils::GetCachedColor(AknsUtils::SkinInstance(),
-                                      shadowTextColor,
-                                      KAknsIIDQsnTextColors,
-                                      EAknsCIQsnTextColorsCG62);
-                                      
-    if (error != KErrNone)
-        {
-    	shadowTextColor = TRgb(KDefaultShadowTextColor);
-        }
-    
-    aSwitchBtn.SetShadowFontColor( shadowTextColor );
-    }
-    
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindow::TopLeftJustify
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//   
-void CPeninputLayoutWindow::TopLeftJustify()
-    {
-    // Read position from datamgr 
-    TSize layoutSize = UiLayout()->Rect().Size();
-    
-    TPoint tl = UiLayout()->Position();
-    
-    TPoint oldBr = tl + layoutSize;
-    
-    if ( tl.iX < 0 )
-        {
-        tl.iX = 0;
-        }
-    
-    if ( tl.iY < 0 )
-        {
-        tl.iY = 0;  
-        }
-        
-    TPoint br = tl + layoutSize;          
-
-    if ( br != oldBr )
-        {
-        //Write the new position into CenRep
-        TInt x = 0;
-        TInt y = 0;
-        x = 0x0000FFFF & br.iX;
-        y = 0xFFFF0000 & ( br.iY << 16 );
-        TInt pos = x | y;
-        iLayoutContext->SetData( EPeninputDataTypeWindowPosition, &pos );
-        }
-        
-    //Set the layout position
-    //UiLayout()->SetRect( newRect );
-    UiLayout()->LayoutOwner()->SetPosition( tl );
-    //UiLayout()->LayoutOwner()->LayoutSizeChanged( newRect.Size() );
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindow::BottomRightJustify
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//    
-void CPeninputLayoutWindow::BottomRightJustify()
-    {
-    // Read position from datamgr 
-    TSize layoutSize( UiLayout()->Rect().Size() );
-    TPoint oldbr;
-    TPoint br;
-    TPoint tl;
-    TSize screenSize = *( ( TSize* ) iLayoutContext->RequestData
-                            ( EPeninputDataTypeScreenSize ) );
-    
-    TRect screenRect = TRect( TPoint( 0, 0 ), screenSize );
-
-    TInt windowPosition = CPeninputDataConverter::AnyToInt
-        ( iLayoutContext->RequestData( EPeninputDataTypeWindowPosition ) );
-
-    oldbr.iX = windowPosition & 0x0000FFFF;
-    oldbr.iY = ( windowPosition & 0xFFFF0000 ) >> 16;
-    
-    br = oldbr;
-        
-    if ( !screenRect.Contains( br ) )
-        {
-        if ( screenSize.iWidth < br.iX )
-            {
-            br.iX = screenSize.iWidth;
-            }
-        if ( screenSize.iHeight < br.iY )
-            {
-            br.iY = screenSize.iHeight;
-            }
-        }
-    
-    // Check the top left point is in screen
-    tl.iX = br.iX - layoutSize.iWidth;
-    if ( tl.iX < 0 )
-        {
-        tl.iX = 0;
-        br.iX = layoutSize.iWidth;
-        }
-
-    tl.iY = br.iY - layoutSize.iHeight;        
-    if ( tl.iY < 0 )
-        {
-        tl.iY = 0; 
-        br.iY = layoutSize.iHeight; 
-        }
-        
-    
-    if ( oldbr != br )
-        {
-        //Write the new position into CenRep
-        TInt x = 0;
-        TInt y = 0;
-        x = 0x0000FFFF & br.iX;
-        y = 0xFFFF0000 & ( br.iY << 16 );
-        TInt pos = x | y;
-        iLayoutContext->SetData( EPeninputDataTypeWindowPosition, &pos );
-        }
-        
-    //Set the layout position
-    //UiLayout()->SetRect( newRect );
-    //UiLayout()->LayoutOwner()->LayoutSizeChanged( newRect.Size() );
-    UiLayout()->LayoutOwner()->SetPosition( tl );
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindow::DataQueryJustify
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//   
-void CPeninputLayoutWindow::DataQueryJustify()
-    {
-    TRect* dataQueryRect = ( TRect* )( iLayoutContext->RequestData
-        ( EPeninputDataTypeDataQueryDlgRect) );
-    
-    TRect rect = TRect( UiLayout()->Position(), UiLayout()->Rect().Size() );
-    
-    //move the VKB to the bottom-right corner 
-    TSize scrsz = UiLayout()->ScreenSize();
-    
-    if( scrsz.iWidth < scrsz.iHeight )
-        {
-        return;
-        }
-    rect = TRect( TPoint( scrsz.iWidth - rect.Width(), scrsz.iHeight - rect.Height() ),
-                  rect.Size() );
-    
-    //Write the new position into CenRep
-    TInt x = 0;
-    TInt y = 0;
-    x = 0x0000FFFF & rect.iBr.iX;
-    y = 0xFFFF0000 & ( rect.iBr.iY << 16 );
-    TInt pos = x | y;
-    iLayoutContext->SetData( EPeninputDataTypeWindowPosition, &pos );
-    
-    /*if ( rect.Intersects( *dataQueryRect ) )
-        {
-        TInt Y = dataQueryRect->iTl.iY;
-        TInt height = rect.iBr.iY - rect.iTl.iY;
-        rect.iTl.iY = Y - height;
-        rect.iBr.iY = Y;
-        
-        if( rect.iTl.iY <0 )
-            {
-            rect.iTl.iY = 0;
-            rect.iBr.iY = height;
-            }
-        //Write the new position into CenRep
-        TInt x = 0;
-        TInt y = 0;
-        x = 0x0000FFFF & rect.iBr.iX;
-        y = 0xFFFF0000 & ( rect.iBr.iY << 16 );
-        TInt pos = x | y;
-        iLayoutContext->SetData( EPeninputDataTypeWindowPosition, &pos );
-        }
-        */
-    //Set the layout position
-    UiLayout()->SetRect( rect );
-    UiLayout()->LayoutOwner()->SetPosition( rect.iTl );
-    UiLayout()->LayoutOwner()->LayoutSizeChanged( rect.Size() );
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindow::ReadShadowInfoL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-void CPeninputLayoutWindow::ReadShadowInfoL( TResourceReader aResReader )
-    {
-    TPtrC bmpFileName = aResReader.ReadTPtrC();
-    TInt32 imgMajorSkinId = aResReader.ReadInt32();
-
-    TAknsItemID id;
-    TInt skinitemid;
-    
-    MAknsSkinInstance* skininstance = AknsUtils::SkinInstance();
-
-    for ( TInt i = 0; i < KShadowBmpBr + 1; i++ )
-    	{
-        const TInt16 bmpId = aResReader.ReadInt16();
-        const TInt16 bmpMskId = aResReader.ReadInt16();
-        skinitemid = aResReader.ReadInt16();
-        
-        id.Set(TInt(imgMajorSkinId), skinitemid);
-    	
-        if (bmpId != KInvalidImg)
-        	{
-            CFbsBitmap* shadowImg = NULL;
-            CFbsBitmap* shadowMaskImg = NULL;
-
-            if (bmpMskId != KInvalidImg)
-                {
-                AknsUtils::CreateIconL(skininstance, 
-                                       id,
-                                       shadowImg,
-                                       shadowMaskImg,
-                                       bmpFileName,
-                                       bmpId,
-                                       bmpMskId);
-                }
-            else
-                {
-                AknsUtils::CreateIconL(skininstance,
-                                       id,
-                                       shadowImg,
-                                       bmpFileName,
-                                       bmpId);
-                }
-            
-            UiLayout()->SetShadowBmp(shadowImg, shadowMaskImg, TShadowBitmapIndex(i));
-        	}
-    	}
-    }
-    
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindow::ReadBackgroundInfoL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-void CPeninputLayoutWindow::ReadBackgroundInfoL( TInt aResId )
-    {
-    if( aResId == 0 )
-    	return;
-    
-    if( BackgroundBmp() )
-		{
-		CFbsBitmap* bkBmp = BackgroundBmp();
-		delete bkBmp;	
-		SetBackgroundBmp( NULL );
-		}
-    if( BkMaskBmp() )
-    	{
-    	CFbsBitmap* bkMaskBmp = BkMaskBmp();
-    	delete bkMaskBmp;
-		SetBackgroundMaskBmp( NULL );
-    	}    
-
-    TResourceReader resReader;
-    CCoeEnv::Static()->CreateResourceReaderLC( resReader, aResId ); 
-     
-    TPtrC bmpFileName = resReader.ReadTPtrC();
-    TInt32 imgMajorSkinId = resReader.ReadInt32();
-
-    TAknsItemID id;
-    TInt skinitemid;
-    
-    MAknsSkinInstance* skininstance = AknsUtils::SkinInstance();
-    const TInt16 bmpId = resReader.ReadInt16();
-    const TInt16 bmpMskId = resReader.ReadInt16();
-    skinitemid = resReader.ReadInt16();   
-    id.Set(TInt(imgMajorSkinId), skinitemid);
-	
-    if (bmpId != KInvalidImg)
-    	{
-    	CFbsBitmap* backgroundImg = NULL;
-    	CFbsBitmap* backgroundMaskImg = NULL;
-        if (bmpMskId != KInvalidImg)
-            {
-            AknsUtils::CreateIconL(skininstance, 
-                                   id,
-                                   backgroundImg,
-                                   backgroundMaskImg,
-                                   bmpFileName,
-                                   bmpId,
-                                   bmpMskId);
-            }
-        else
-            {
-            AknsUtils::CreateIconL(skininstance,
-                                   id,
-                                   backgroundImg,
-                                   bmpFileName,
-                                   bmpId);
-            }
-       
-        SetBackgroundBmp( backgroundImg );
-        SetBackgroundMaskBmp( backgroundMaskImg );           
-    	}
-    CleanupStack::PopAndDestroy( 1 );
-    }
-    
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindow::ReadIcfInfo
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C void CPeninputLayoutWindow::ReadIcfInfo( TResourceReader aResReader )
-    {
-    TPtrC bmpFileName = aResReader.ReadTPtrC();  
-    TInt32 imgMajorSkinId = aResReader.ReadInt32();
-
-    TAknsItemID id;
-    TInt skinitemid;
-    
-    MAknsSkinInstance* skininstance = AknsUtils::SkinInstance();
-
-    const TInt16 icfbgId = aResReader.ReadInt16();
-    const TInt16 icfbgmaskId = aResReader.ReadInt16();
-    skinitemid = aResReader.ReadInt16();
-
-    id.Set( TInt( imgMajorSkinId ), skinitemid );
-    
-    if ( icfbgId != KInvalidImg )
-    	{
-        CFbsBitmap* icfImg = NULL;
-
-        if (icfbgmaskId != KInvalidImg)
-            {
-            CFbsBitmap* icfmaskImg = NULL;
-            
-            TRAP_IGNORE( AknsUtils::CreateIconL(skininstance,
-                                   id,
-                                   icfImg,
-                                   icfmaskImg,
-                                   bmpFileName,
-                                   icfbgId,
-                                   icfbgmaskId ) );
-            
-            AknIconUtils::SetSize(icfmaskImg, TSize(1,1), EAspectRatioNotPreserved);
-            TRAP_IGNORE( iInputContextField->SetBackgroundMaskBitmapL(icfmaskImg) );
-            }
-        else
-            {
-            TRAP_IGNORE( AknsUtils::CreateIconL(skininstance,
-                                   id,
-                                   icfImg,
-                                   bmpFileName,
-                                   icfbgId) );
-            }
-    	
-    	AknIconUtils::SetSize(icfImg, TSize(1,1), EAspectRatioNotPreserved);
-    	TRAP_IGNORE( iInputContextField->SetBackgroundBitmapL(icfImg) );
-    	}
-
-    // read text color
-    TRgb textcolor;
-    TInt32 colorMajorSkinId = aResReader.ReadInt32();
-    skinitemid = aResReader.ReadInt16();
-    
-    id.Set(TInt(colorMajorSkinId), skinitemid);
-
-    const TInt16 textcoloridx = aResReader.ReadInt16();
-    
-    TInt error = AknsUtils::GetCachedColor(skininstance, 
-                                           textcolor,
-                                           id,
-                                           textcoloridx);
-
-    if (error == KErrNone)
-        {
-        iInputContextField->SetTextColor( textcolor );
-        }
-    else
-        {
-        iInputContextField->SetTextColor( TRgb( KDefaultTextColor ) );
-        }    
-    }
-          
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindow::Draw
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C void CPeninputLayoutWindow::Draw()
-    {    
-    // Draw shadow
-    CAknFepCtrlBaseWindow::Draw();
-
-    //DrawShadow();   
-    
-    UpdateArea(UiLayout()->Rect(), EFalse);   
-    }
-       
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindow::GetKeyMappingStringL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//     
-HBufC* CPeninputLayoutWindow::GetKeyMappingStringL(TInt aKeyMapping)
-    {
-    HBufC* rs = NULL;
-    if ( aKeyMapping == EKeymapFromResource )
-        {
-        HBufC* customRes = (HBufC*) iLayoutContext->RequestData(EAknFepDataTypeUseDefinedResource);
-        _LIT(KTenNumbers,"0123456789");
-        rs = HBufC::NewL(KTenNumbers().Length() + customRes->Length());
-        rs->Des().Copy(*customRes);
-        rs->Des().Append(KTenNumbers);
-        }
-    else
-        {
-        rs = iKeyMappingMgr->KeyMappingStringL( aKeyMapping );
-        }
-        
-    return rs;     
-    }
-       
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindow::SetEnableSwitchToHwr
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//     
-EXPORT_C void CPeninputLayoutWindow::SetEnableSwitchToHwr(TBool aEnable)
-    {
-    CAknFepCtrlEventButton* switchToHwrBtn = static_cast<CAknFepCtrlEventButton*>
-        ( iCtrlPool->Control( EPeninutWindowCtrlIdSwitchToHwrBtn ) );
-    
-    if( switchToHwrBtn != NULL )
-        {
-        if ( aEnable )    
-            {
-            switchToHwrBtn->SetDimmed(EFalse);
-            }
-        else
-            {
-            switchToHwrBtn->SetDimmed(ETrue);
-            switchToHwrBtn->SetActive(EFalse);
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindow::SetEnableSettingBtn
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//     
-EXPORT_C void CPeninputLayoutWindow::SetEnableSettingBtn(TBool aEnable)
-    {
-    CAknFepCtrlEventButton* langSetBtn = static_cast<CAknFepCtrlEventButton*>
-        ( iCtrlPool->Control( EPeninutWindowCtrlIdInputLangSwitcherBtn ) );
-        
-    
-    if( langSetBtn != NULL )
-        {
-        if ( aEnable )    
-            {
-            langSetBtn->SetDimmed(EFalse);
-            iTouchInputOptionButton->SetDimmed(EFalse);
-            }
-        else
-            {
-            langSetBtn->SetDimmed(ETrue);
-            langSetBtn->SetActive(EFalse);
-            iTouchInputOptionButton->SetDimmed(ETrue);
-            iTouchInputOptionButton->SetActive(EFalse);
-            }
-        }
-    }
-        
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindow::ReconfigUnitSize
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//     
-EXPORT_C TBool CPeninputLayoutWindow::ReconfigUnitSize(TInt /*aClientLayoutId*/)
-    {
-    return EFalse;
-    }
-
-void CPeninputLayoutWindow::AddMultiContextFieldL()
-	{
-    const CFont* icfFont = NULL;
-    TAknTextLineLayout textPaneTextLayout;
-
-    textPaneTextLayout = 
-    AknLayoutScalable_Avkon::fep_vkb_top_text_pane_t1().LayoutLine();
-                
-    icfFont = AknLayoutUtils::FontFromId( textPaneTextLayout.iFont, NULL );    
-    if ( icfFont )
-        {
-        iMultiLineIcf = CFepLayoutMultiLineIcf::NewL( TRect(), 
-            UiLayout(), EPeninputWindowCtrlIdMultiLineICF, 
-            icfFont->HeightInPixels(),
-            icfFont->FontMaxHeight(),icfFont );    
-        
-        HeaderPane()->AddControlL( iMultiLineIcf );
-
-        // Add layout as event observer
-        iMultiLineIcf->AddEventObserver( UiLayout() );
-        iMultiLineIcf->SetFocus(ETrue);
-        }   		
-	}
-
-EXPORT_C TBool CPeninputLayoutWindow::IsMultiLineIcf()
-	{
-	return EFalse;	
-	}
-	
-	
-void CPeninputLayoutWindow::ReadMultiLineIcfInforL(TInt aResID)
-    {
-    if (!aResID)
-        {
-        return;
-        }
-
-    TResourceReader resReader;
-    CCoeEnv::Static()->CreateResourceReaderLC( resReader, aResID );
-    
-    TPtrC bmpFileName = resReader.ReadTPtrC();  
-    TInt32 imgMajorSkinId = resReader.ReadInt32();
-
-    TAknsItemID id;
-    TInt skinitemid;
-    
-    MAknsSkinInstance* skininstance = AknsUtils::SkinInstance();
-
-    const TInt16 icfbgId = resReader.ReadInt16();
-    const TInt16 icfbgmaskId = resReader.ReadInt16();
-    skinitemid = resReader.ReadInt16();
-
-    id.Set( TInt( imgMajorSkinId ), skinitemid );
-    
-    if ( icfbgId != KInvalidImg )
-    	{
-        CFbsBitmap* icfImg = NULL;
-
-        if (icfbgmaskId != KInvalidImg)
-            {
-            CFbsBitmap* icfmaskImg = NULL;
-            
-            TRAP_IGNORE( AknsUtils::CreateIconL(skininstance,
-                                   id,
-                                   icfImg,
-                                   icfmaskImg,
-                                   bmpFileName,
-                                   icfbgId,
-                                   icfbgmaskId ) );
-            
-            AknIconUtils::SetSize(icfmaskImg, TSize(1,1), EAspectRatioNotPreserved);
-            TRAP_IGNORE( iMultiLineIcf->SetBackgroundMaskBitmapL(icfmaskImg) );
-            }
-        else
-            {
-            TRAP_IGNORE( AknsUtils::CreateIconL(skininstance,
-                                   id,
-                                   icfImg,
-                                   bmpFileName,
-                                   icfbgId) );
-            }
-    	
-    	AknIconUtils::SetSize(icfImg, TSize(1,1), EAspectRatioNotPreserved);
-    	TRAP_IGNORE( iMultiLineIcf->SetBackgroundBitmapL(icfImg) );
-    	}
-
-    // read text color
-    TRgb textcolor;
-    TInt32 colorMajorSkinId = resReader.ReadInt32();
-    skinitemid = resReader.ReadInt16();
-    
-    id.Set(TInt(colorMajorSkinId), skinitemid);
-
-    const TInt16 textcoloridx = resReader.ReadInt16();
-    
-    TInt error = AknsUtils::GetCachedColor(skininstance, 
-                                           textcolor,
-                                           id,
-                                           textcoloridx);
-
-    if (error == KErrNone)
-        {
-        iMultiLineIcf->SetTextColorL( textcolor );
-        }
-    else
-        {
-        iMultiLineIcf->SetTextColorL( TRgb( KDefaultTextColor ) );
-        }    
-    CleanupStack::PopAndDestroy( 1 ); // resReader*/
-    }
-
-EXPORT_C TBool CPeninputLayoutWindow::IsCanChangeRange(TInt /*aRange*/)
-	{
-	return ETrue;
-	}
-    
-EXPORT_C void CPeninputLayoutWindow::ChangeToPreviousRange(TInt /*aRange*/)
-	{
-		
-	}
-
-EXPORT_C void CPeninputLayoutWindow::SetTextAlignmentL( TInt aAlignment )	
-	{
-	if ( iMultiLineIcf && ConfigInfo()->Language() != ELangNone )
-		{
-		iMultiLineIcf->SetTextAlignmentL( aAlignment, ConfigInfo()->Language() );
-		}
-	}
-//End Of File
--- a/textinput/peninputcommonlayout/src/peninputlayoutwindowext.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1829 +0,0 @@
-/*
-* 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:  common layout window for UI interface of VKB and HWR
-*
-*/
-
-
-// System includes
-#include <coemain.h>
-
-#include <AknFepGlobalEnums.h>
-#include <aknfeppeninputenums.h>
-#include <peninputpluginutils.h>
-#include <peninputcmdparam.h>            // Use global signal
-#include <peninputlayoutmultilineicf.h>
-#include <peninputeventbutton.h>
-#include <peninputmultimodebutton.h>
-#include <peninputdragbutton.h>
-#include <peninputlayoutchoicelist.h>
-#include <peninputlayout.h>
-#include <peninputrangebar.h>
-#include <bautils.h>
-#include <AknIconUtils.h>
-#include <AknLayoutDef.h>
-#include <AknUtils.h>
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <AknsUtils.h>
-//#include <peninputcmdparam.h>
-#include <aknFepVietnameseInputTables.h>
-
-// User includes
-#include "peninputdataconverter.h"
-#include "peninputrangebarinfo.h"
-#include "peninputlayoutwindowext.h"
-#include "peninputclientlayoutinfo.h"
-#include "peninputdataprovider.h"
-#include "peninputlayoutcontext.h"
-#include "peninputvkbctrlext.h"
-#include "peninputnumerickeymappingmgr.h"
-
-// Constants
-const TInt KIntLengthForByte = 8;
-const TInt KPeninputLayoutWindowUnitWidth = 12;
-const TInt KInvalidIndex = -1;
-
-//const TInt32 KInvalidResId = -1;
-//const TInt KInvalidImg = -1 ;
-const TUint32 KDefaultTextColor = 0x000000;
-const TUint32 KDefaultShadowTextColor = 0xffffff;
-//const TInt KNotSupportSkin = -1;
-
-const TInt KIntSizeToInt16 = 2;
-const TInt KMaxNumericString = 32;
-
-// ======== MEMBER FUNCTIONS ========
-
-// ------------------------------------------------------------------------
-// CPeninputLayoutWindowExt::CPeninputLayoutWindowExt
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-EXPORT_C CPeninputLayoutWindowExt::CPeninputLayoutWindowExt( 
-    CFepUiLayout* aUiLayout, MPeninputLayoutContext* aLayoutContext )
-    : CAknFepCtrlBaseWindowExt( aUiLayout, EPeninutWindowCtrlIdBaseWindow ), 
-     iConfigInfo( NULL ), iLayoutContext( aLayoutContext ),
-    iLastUsedTotalColumns( KPeninputLayoutWindowUnitWidth ),
-    iFirstTimeConstruct( ETrue ),
-    iSwitchFontSet(EFalse),
-    iUnitSizeChange(EFalse)
-    { 
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindowExt::ConstructL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputLayoutWindowExt::ConstructL()
-    {
-    BaseConstructL();  
-
-    if( iLayoutContext->LayoutType() == EPluginInputModeVkb ||
-        iLayoutContext->LayoutType() == EPluginInputModeFSQ )
-        {
-        iVkbLayout = CAknFepCtrlVkbLayout::NewL(); 
-        }
-    else
-        {
-        iVkbLayout = NULL;
-        }
-        
-    CCoeEnv* coeEnv = CCoeEnv::Static();
-    	
-    // Set up resources
-    TFileName resFileName = GetWindowResFileName();
-    BaflUtils::NearestLanguageFile(coeEnv->FsSession(), resFileName );
-    iWinResId = coeEnv->AddResourceFileL( resFileName );
-        
-    //TResourceReader reader;
-    
-    //coeEnv->CreateResourceReaderLC( reader, GetWindowResId() );
-    SetResourceId( GetWindowResId() );
-    ConstructFromResourceL();
-    
-    if (!iKeyMappingMgr)
-        {
-        // if key mapping mgr is not constructed in ConstructFromResourceL, need to 
-        // construct it here
-        TResourceReader resReader;
-        CCoeEnv::Static()->CreateResourceReaderLC(resReader, GetNumKeymappingResId());
-        iKeyMappingMgr = CPeninputNumericKepMappingMgr::NewL(resReader);
-        CleanupStack::PopAndDestroy(1);
-        }
-
-    CreateAllControlsL();
-    SetControlsFont();
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindowExt::~CPeninputLayoutWindowExt
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPeninputLayoutWindowExt::~CPeninputLayoutWindowExt()
-    {
-    delete iConfigInfo;
-    delete iKeyMappingMgr;
-    delete iVkbLayout;    
-    // Delete resource file from CoeEnv
-    CCoeEnv::Static()->DeleteResourceFile( iWinResId );
-    
-    CCoeEnv::Static()->DeleteResourceFile( iConfigResId );
-    
-    delete iToneSet;   
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindowExt::SizeChanged
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputLayoutWindowExt::SizeChanged( TBool /*aLandscapeStyle*/ )
-    {
-    iLangOrSizeChanged = ETrue;    
-    ReadLafForShadow();
-	ResetLastColRow();
-    
-    if ( iConfigInfo )
-        {        
-        ChangeClientSize();        
-        }
-        
-    //ReadLafForShadow( rect );
-    
-    TInt style = EPeninputPositionChangeBrJustify;
-    TBuf<KIntSizeToInt16> bufStyle;
-    bufStyle = ( TUint16* )&style;
-    HandleControlEvent(EPeninputLayoutEventMovePosition, NULL, bufStyle);           
-        
-    iLangOrSizeChanged = EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindowExt::ReadLafForShadow
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-void CPeninputLayoutWindowExt::ReadLafForShadow()
-    {
-    TAknWindowLineLayout shadowPane;
-    TAknWindowLineLayout shadowTl;
-    TAknWindowLineLayout shadowBr;
-    TAknLayoutRect shadowRect;
-    TAknLayoutRect shadowTlRect;
-    TAknLayoutRect shadowBrRect;
-
-    shadowPane = AknLayoutScalable_Avkon::bg_popup_fep_shadow_pane(1).LayoutLine();
-    shadowRect.LayoutRect(TRect(), shadowPane);
-
-    shadowTl = AknLayoutScalable_Avkon::bg_popup_fep_shadow_pane_g1().LayoutLine();
-    shadowTlRect.LayoutRect(shadowRect.Rect(), shadowTl);
-
-    shadowBr = AknLayoutScalable_Avkon::bg_popup_fep_shadow_pane_g8().LayoutLine();
-    shadowBrRect.LayoutRect(shadowRect.Rect(), shadowBr);
-    
-    iShadowTlWidth = shadowTlRect.Rect().Size().iWidth;
-    iShadowTlHeight = shadowTlRect.Rect().Size().iHeight;
-    iShadowBrWidth = shadowBrRect.Rect().Size().iWidth;
-    iShadowBrHeight = shadowBrRect.Rect().Size().iHeight;
-    }
-    
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindowExt::SizeChanged
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputLayoutWindowExt::SizeChangedForBaseWindow( TInt /*aTotalColumns*/ )
-    {
-    }
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindowExt::HandleControlEvent
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputLayoutWindowExt::HandleControlEvent( TInt aEventType,
-    CFepUiBaseCtrl* aCtrl, const TDesC& aEventData )
-    {
-    // Call this function in base class
-    CAknFepCtrlBaseWindowExt::HandleControlEvent( aEventType, 
-        aCtrl, aEventData );
-    
-    TInt* data = ( TInt* ) aEventData.Ptr(); 
-    
-    switch ( aEventType )
-        {
-        case EEventButtonUp:
-        	{
-        	// check current range
-		    TInt curRange = CPeninputDataConverter::AnyToInt
-		        ( iLayoutContext->RequestData( EPeninputDataTypeCurrentRange ) );		    
-        	if( aCtrl->ControlId() == EPeninutWindowCtrlIdShiftBtn)
-	        	{
-	        	  if ( ( curRange == ERangeEnglish )  || ( curRange == ERangeAccent ) 
-        			   || ( ConfigInfo()->CaseSensitive() && ( curRange == ERangeNative ) ) )
-	        	  	{
-	        		CAknFepCtrlMultiModeButton* button = 
-					static_cast<CAknFepCtrlMultiModeButton*>( aCtrl );
-		        	TInt realCase = button->GetRealCaseByMode( button->CurrentMode() );	     	       		
-					HandleMergedBtnClicked( realCase );
-	        		}
-		       	else
-		       		{
-		       		HandleShiftAndCapslockBtnClicked();
-		       		TInt shiftStatus = CPeninputDataConverter::AnyToInt
-				        ( iLayoutContext->RequestData( EPeninputDataTypeShiftDown ) );
-				    ChangeMergedButtonStatus( shiftStatus, 0 );
-		       		}				
-	        	}
-
-        	}
-        	break;
-        case EPeninputLayoutEventSwitchLanguage:
-            {
-            TRAP_IGNORE( ChangeInputLanguageL( *data ) );                
-            }
-            break;
-        case EPeninputLayoutEventRange: 
-            {
-            HandleRangeEvent( *data );
-            }
-            break;
-        case EPeninputLayoutEventRangeLoop:
-            {
-            HandleRangeLoopEvent( *data );
-            }
-            break;
-        case EPeninputLayoutEventShift: 
-            {
-            HandleShiftAndCapslockBtnClicked();
-            }
-            break;
-        case EPeninputLayoutEventCapslock:
-            {
-            HandleCapslockBtnClicked();
-            } 
-            break;
-        case EPeninputLayoutEventMovePosition:
-            {
-            TInt style = *( ( TUint16* ) aEventData.Ptr() );
-            ChangeLayoutPosition( style );
-            }
-            break;
-        case EPeninputLayoutEventSetPermittedRange:
-            {
-            if ( *data & ERangeNative )
-                {
-                *data = *data | ERangeAccent | ERangeNativeNumber 
-                    | ERangeMixedText | ERangeMixedNumber;
-                }
-            else if(*data & ERangeEnglish)
-                {
-                *data = *data | ERangeAccent;
-                }
-
-            iLayoutContext->SetData( EPeninputDataTypePermittedRange, data );
-            
-            // Set range of range bar component
-            CFepUiBaseCtrl* bar = 
-                Control( EPeninutWindowCtrlIdRangeBar );
-            if ( bar ) 
-                {
-                CAknFepCtrlRangeBar* rangebar = 
-                    static_cast<CAknFepCtrlRangeBar*>( bar );
-                rangebar->SetPermittedRanges( *data );             
-                }                     
-            }
-            break;  
-        case EPeninputLayoutEventSetPermittedCase:
-            {
-            // Update data:case
-            iLayoutContext->SetData( EPeninputDataTypePermittedCase, data );
-            
-            // Set range of case
-            CFepUiBaseCtrl* bar = 
-                Control( EPeninutWindowCtrlIdRangeBar );
-            if ( bar ) 
-                {
-                CAknFepCtrlRangeBar* rangebar = 
-                    static_cast<CAknFepCtrlRangeBar*>( bar );
-            
-                rangebar->SetPermittedCase( ERangeEnglish, ECaseUpper, 
-                    ( *data & ECaseUpper) != 0 );
-                rangebar->SetPermittedCase( ERangeEnglish, ECaseLower, 
-                    ( *data & ECaseLower) != 0 );
-                rangebar->SetPermittedCase( ERangeEnglish, ECaseText, 
-                    ( *data & ECaseText) != 0 );
-                }
-            }
-            break;
-        case EPeninputLayoutEventSetCase:
-            {
-            DoCaseChange( *data );
-            }
-            break;
-        case EEventSizeChanged:
-            {
-            //if icf editor size changed, we need to inform owner
-            if(aCtrl->ControlId() == EPeninutWindowCtrlIdInputContextField ||  
-               aCtrl->ControlId() == EPeninputWindowCtrlIdMultiLineICF)
-                {
-                iLayoutContext->Sendkey( ESignalLayoutICFLengthChanged, KNullDesC );
-                }
-            }
-            break;
-        default:
-            break;
-        }   
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindowExt::SetEditorTextL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputLayoutWindowExt::SetEditorTextL( 
-    const TFepInputContextFieldData& aData )
-    {
-    if (Control(EPeninutWindowCtrlIdInputContextField))
-        {
-        static_cast<CFepInputContextField*>( Control(EPeninutWindowCtrlIdInputContextField))->SetTextL( aData );
-        return;
-        }
-    
-    if (Control(EPeninputWindowCtrlIdMultiLineICF))
-        {
-        CFepLayoutMultiLineIcf* multiIcf = 
-            static_cast<CFepLayoutMultiLineIcf*>( Control(EPeninputWindowCtrlIdMultiLineICF));
-            
-        multiIcf->SetTextL( aData );
-      
-        if ( iLayoutContext->LayoutType() == EPluginInputModeVkb || 
-             iLayoutContext->LayoutType() == EPluginInputModeFSQ )
-            {
-            TInt lang = CPeninputDataConverter::AnyToInt
-                    ( iLayoutContext->RequestData( EPeninputDataTypeInputLanguage ) );
-            TInt curRange = CPeninputDataConverter::AnyToInt
-        		    ( iLayoutContext->RequestData( EPeninputDataTypeCurrentRange ) );
-        		        
-            if ( lang == ELangVietnamese && curRange == ERangeEnglish )  
-                {
-                TBuf<1> preData;
-                multiIcf->ExtractText( preData, aData.iCurSel.LowerPos()-1, 1 );
-                iVowelChar = EFalse;
-                
-                if ( KNullDesC() != preData )
-                    {
-                    for (TUint i = 0; i < sizeof(VietVowelList) / sizeof(TText); ++i)
-                        {
-                        TBuf<1> buf;
-                        buf.Append( VietVowelList[i] );
-                        if (preData == buf)
-                            {
-                            iVowelChar = ETrue;
-                            break;
-                            }
-                        }
-                    }
-                CPeninputVkbCtrlExt* vkbCtrl = static_cast<CPeninputVkbCtrlExt*>
-                    ( Control( EPeninutWindowCtrlIdVkbCtrl ) );
-                vkbCtrl->DimKeySet( iToneSet, !iVowelChar );
-                }
-            }
-        }
-    }  
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindowExt::SetEditorTextL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputLayoutWindowExt::SetTextIsSecret( TBool aData )
-    {
-    if ( Control(EPeninutWindowCtrlIdInputContextField))
-        {
-        static_cast<CFepInputContextField*>
-        (Control(EPeninutWindowCtrlIdInputContextField))->SetTextIsSecret( aData );
-        }
-    else if (Control(EPeninputWindowCtrlIdMultiLineICF))
-        {
-        static_cast<CFepLayoutMultiLineIcf*>
-        (Control(EPeninputWindowCtrlIdMultiLineICF))->SetTextIsSecret( aData );
-        }
-    }  
-    
-void CPeninputLayoutWindowExt::SetNumberGrouping( TBool aData )
-    {
-    if (Control(EPeninputWindowCtrlIdMultiLineICF))
-        {
-        static_cast<CFepLayoutMultiLineIcf*>
-        (Control(EPeninputWindowCtrlIdMultiLineICF))->SetNumberGrouping( aData );
-        }
-    }
-    
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindowExt::DoClose
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CPeninputLayoutWindowExt::DoClose()
-    {
-    // Send EVkbEventWindowClose to layout
-    this->ReportEvent( EPeninputLayoutEventClose, KNullDesC );
-    
-    // Return true which will permit the window close
-    return EFalse;
-    }
-
-    
-// ---------------------------------------------------------------------------
-// Get layout config method. It does a lasy initialization for a instance of
-// CPeninputLayoutWindowExt::ConfigInfo
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPeninputLayoutConfig* CPeninputLayoutWindowExt::ConfigInfo() const
-    {
-    return iConfigInfo;
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindowExt::CheckResourceExist
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-TBool CPeninputLayoutWindowExt::CheckResourceExist( const TDesC& aFileName )
-    {
-    RFile file;
-    
-    if ( !aFileName.Length() )
-        {
-        return EFalse;
-        }
-        
-    TInt rs = file.Open( CCoeEnv::Static()->FsSession(), aFileName, EFileRead );
-    
-    if ( rs == KErrNotFound )
-        {
-        return EFalse;  
-        }
-    else
-        {
-        file.Close();
-        
-        return ETrue;
-        }
-    }
-  
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindowExt::ChangeInputLanguageL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputLayoutWindowExt::ChangeInputLanguageL( TInt aLangID )
-    {
-    // Determine whether a new language id is same as existing one, 
-    if ( ConfigInfo() )
-        {
-        // If language not changed, exit this function
-        if ( ConfigInfo()->Language() == aLangID )
-            {
-            return;
-            }
-        }
-
-    // First check file exist or not
-    TBool found = CheckResourceExist( GetWindowConfigResFileName( aLangID ) );
-    if ( !found )
-        {
-        aLangID = ELangEnglish;        
-        found = CheckResourceExist( GetWindowConfigResFileName( aLangID ) );
-        }
-        
-    if ( found ) 
-        {
-        // Store language
-        iLayoutContext->SetData( EPeninputDataTypeInputLanguage, &aLangID );
-   
-        if ( iLayoutContext->LayoutType() == EPluginInputModeVkb || 
-            iLayoutContext->LayoutType() == EPluginInputModeFSQ )
-            {       
-            CFepUiBaseCtrl* ctrl = 
-                Control( EPeninutWindowCtrlIdVkbCtrl );
-            if ( ctrl )
-                {
-                ( static_cast<CPeninputVkbCtrlExt*>( ctrl ) )->Reset();
-                }
-            } 
-
-        // Re-construct config info 
-        if ( iConfigInfo )
-            {
-            delete iConfigInfo;
-            iConfigInfo = NULL;
-            }
-            
-        if (iConfigResId)
-            {
-            CCoeEnv::Static()->DeleteResourceFile( iConfigResId );
-            }
-            
-        // construct resource utils
-        
-        CCoeEnv* coeEnv = CCoeEnv::Static();
-        
-        // Set up resources
-        TFileName resFileName = GetWindowConfigResFileName( aLangID );
-        BaflUtils::NearestLanguageFile(coeEnv->FsSession(), resFileName );
-        iConfigResId = coeEnv->AddResourceFileL( resFileName );
-        
-        TResourceReader reader;
-
-        coeEnv->CreateResourceReaderLC( reader, GetWindowConfigResId() );  
-        if ( iLayoutContext->LayoutType() == EPluginInputModeVkb || 
-            iLayoutContext->LayoutType() == EPluginInputModeFSQ )
-            {
-            iVkbLayout->Reset(); 
-            }
-        iConfigInfo = CPeninputLayoutConfig::NewL( *iVkbLayout, reader ); 
-        
-        // Pop and destroy reader
-        CleanupStack::PopAndDestroy( 1 ); 
-        	       
-        // Re-construct rangebar
-        ChangeRangeBarL();
-
-	    //Reset range and layoutid
-	    TInt range = -1;
-	    iLayoutContext->SetData( EPeninputDataTypeCurrentRange, &range );
-	    iLayoutContext->SetData( EPeninputDataTypeClientLayout, &range );
-	    ResetLastColRow();
-	    iLangOrSizeChanged = ETrue;
-	    
-	    CFepUiBaseCtrl* icfCtrl = Control( EPeninputWindowCtrlIdMultiLineICF );
-        if ( icfCtrl )
-            {
-            static_cast<CFepLayoutMultiLineIcf*>(icfCtrl)->SetLanguageId( aLangID );
-            }
-		
-	    delete iToneSet;
-	    iToneSet = NULL;
-	        
-	    if ( aLangID == ELangVietnamese )
-            {
-            iToneSet = HBufC::NewL( KNumberOfToneMarks );
-        
-            for (TInt index = 0; index < KNumberOfToneMarks; index ++)
-                {
-                iToneSet->Des().Append( VietToneMatrix[0][index] );
-                }
-            }
-	    }
-    }
-    
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindowExt::ChangeRangeBarL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-void CPeninputLayoutWindowExt::ChangeRangeBarL()
-    {
-    // Read range bar from config into and reconstruct range button
-    if ( iConfigInfo )
-        {
-        TInt resid = iConfigInfo->RangebarResId();
-        CFepUiBaseCtrl* bar = 
-            Control( EPeninutWindowCtrlIdRangeBar );
-            
-        if ( bar ) 
-            {
-            CAknFepCtrlRangeBar* rangebar = 
-                static_cast<CAknFepCtrlRangeBar*>( bar );
-            
-            CAknFepCtrlRangeBar::TRangeBarActionStyle style = 
-                ( CAknFepCtrlRangeBar::TRangeBarActionStyle )
-                iConfigInfo->RangeBarInfo()->RangeStyle();
-                
-            rangebar->SetActionStyle( style );
-                            
-            TResourceReader reader;
-            
-            CCoeEnv::Static()->CreateResourceReaderLC( reader, resid ); 
-            
-            rangebar->ConstructFromResourceL( reader );
-            
-            // Pop and destroy reader
-            CleanupStack::PopAndDestroy( 1 );
-            }
-        }
-    }
-  
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindowExt::ChangeRange
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputLayoutWindowExt::ChangeRange( TInt aRange, TInt aVkbLayoutId, 
-                                                     TBool aNotify )
-    {
-    TInt curRange = CPeninputDataConverter::AnyToInt
-        ( iLayoutContext->RequestData( EPeninputDataTypeCurrentRange ) );
-    TInt curVkbLayout = CPeninputDataConverter::AnyToInt
-        ( iLayoutContext->RequestData( EPeninputDataTypeVkbLayout ) );
-
-    CFepUiBaseCtrl* bar = 
-        Control( EPeninutWindowCtrlIdRangeBar );
-    CAknFepCtrlRangeBar* rangebar = 
-        static_cast<CAknFepCtrlRangeBar*>( bar );
-        
-    if ( rangebar )
-        {
-        rangebar->ActiveRange( aRange );
-        }
-        
-    if (curRange != aRange || curVkbLayout != aVkbLayoutId || aRange == ERangeAccent)
-        {
-        // Update data:range
-        if (curRange != aRange)
-            iLayoutContext->SetData( EPeninputDataTypeCurrentRange, &aRange );
-            
-        // Change client layout
-        CPeninputRangeBarInfo* rangeBarInfo = iConfigInfo->RangeBarInfo();
-        CPeninputRangeInfo* rangeInfo = rangeBarInfo->FindRange(aRange);
-        
-        __ASSERT_DEBUG(rangeInfo, User::Panic(_L("Commonlayout-Invalid Range"), aRange));
-
-        ChangeClientLayout(rangeInfo->ClientLayoutId());
-        
-        // Notify fep the new range
-        if (aNotify)
-            {
-            TBuf<KIntLengthForByte> buf;
-            CPeninputDataConverter::IntToDesc( aRange, buf );
-            iLayoutContext->Sendkey( ESignalRange, buf );
-            
-	        // When change range mannually, make the entire window visible
-	        TInt style = EPeninputPositionChangeBrJustify;
-	        TBuf<KIntSizeToInt16> bufStyle;
-	        bufStyle = ( TUint16* )&style;
-	        HandleControlEvent(EPeninputLayoutEventMovePosition, NULL, bufStyle);           
-            }
-
-        // Change vkb layout
-        if ( iLayoutContext->LayoutType() == EPluginInputModeVkb ||
-            iLayoutContext->LayoutType() == EPluginInputModeFSQ )
-            {
-            if ( ( aRange == ERangeEnglish ) || ( aRange == ERangeAccent ) 
-                || ( aRange == ERangeNativeNumber )
-                || ( ConfigInfo()->CaseSensitive() 
-                && ( aRange == ERangeNative ) ) )
-                {
-                // Change shift and capslock button status according to the current case
-                TInt curCase = CPeninputDataConverter::AnyToInt
-                    ( iLayoutContext->RequestData( EPeninputDataTypeCase ) );
-                TInt shfit;  
-                TInt capslock;  
-                
-                CPeninputDataConverter::ShiftCapslockByCase( curCase, 
-                    shfit, capslock );      
-
-                iLayoutContext->SetData( EPeninputDataTypeShiftDown, &shfit );
-                //ChangeButtonStatus( shfit, EPeninutWindowCtrlIdShiftBtn );
-                iLayoutContext->SetData( EPeninputDataTypeCapslockDown, &capslock );
-                //ChangeButtonStatus( capslock, EPeninutWindowCtrlIdCapslockBtn );                
-                ChangeMergedButtonStatus( shfit, capslock );
-                
-                TInt caseid = CaseByShiftCapslockStatus();
-                TInt vkblayoutid = 
-                    ConfigInfo()->ShiftCapsSingleVkbLayoutId( aRange, caseid );
-                                
-                if ( aRange == ERangeAccent ) 
-                    {
-                    TInt curAccentIndex = CPeninputDataConverter::AnyToInt
-                        ( iLayoutContext->RequestData( EPeninputDataTypeCurrentAccent ) );
-                    vkblayoutid = vkblayoutid + curAccentIndex * 2;
-                    }      
-                    
-                // Change vkb layout
-                ChangeVkbLayout( vkblayoutid );
-                }
-            else
-                {
-                TInt flag = 0;
-                
-                iLayoutContext->SetData( EPeninputDataTypeShiftDown, &flag );
-                //ChangeButtonStatus( 0, EPeninutWindowCtrlIdShiftBtn );
-                iLayoutContext->SetData( EPeninputDataTypeCapslockDown, &flag );
-                //ChangeButtonStatus( 0, EPeninutWindowCtrlIdCapslockBtn );
-                ChangeMergedButtonStatus( 0, 0 );
-     
-                // Change vkb layout
-                if ( aVkbLayoutId )
-                    {
-                    ChangeVkbLayout( aVkbLayoutId );                   
-                    }
-                else
-                    {
-                    ChangeVkbLayout( rangeInfo->VkbLayoutId() );  
-                    }                
-                }
-            }
-            
-        }
-        
-    if ( ( iLayoutContext->LayoutType() == EPluginInputModeVkb ||
-        iLayoutContext->LayoutType() == EPluginInputModeFSQ )
-          && ( curRange == ERangeNumber || curRange == ERangeNativeNumber )
-          && ( curRange == aRange ) )
-        {
-        // Dimmed some keys if needed  
-        DimKeys();                 
-        }                        
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindowExt::ChangeClientLayout
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputLayoutWindowExt::ChangeClientLayout( 
-    TInt aClientLayoutId )
-    {
-    TInt curClientId = CPeninputDataConverter::AnyToInt
-        ( iLayoutContext->RequestData( EPeninputDataTypeClientLayout ) );
-
-    if ( curClientId != aClientLayoutId )
-        {
-        CPeninputClientLayoutInfo* clientLayout = 
-            ConfigInfo()->FindClientLayoutInfo( aClientLayoutId );
-            
-        __ASSERT_DEBUG( clientLayout, User::Panic(_L("Commonlayout-Invalid ClientLayout"), aClientLayoutId));
-
-        SetLafLayOut( clientLayout->Rows(), clientLayout->Columns() );
-        
-        //SizeChangedForBaseWindow( clientLayout->Columns() );
-
-        // Re-Orginize all controls according to the configuration
-        ReorganizeControls( aClientLayoutId, ETrue );
-      
-        // Update data:client layout id
-        iLayoutContext->SetData( EPeninputDataTypeClientLayout, 
-                                 &aClientLayoutId );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindowExt::ChangeVkbLayout
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputLayoutWindowExt::ChangeVkbLayout( TInt aVkbLayoutId )
-    {
-    TInt latchedFlag = CPeninputDataConverter::AnyToInt(
-                       iLayoutContext->RequestData(EAkninputDataTypeLatchedSet));
-    // If the DeadKey is latched, cancel it and then change the VKB layout
-    if(latchedFlag)
-        {
-        RPointerArray<CPeninputVkbLayoutInfo> vkbListInfo;
-        RPointerArray<CPeninputVkbKeyInfo> keyInfoList;
-        
-        vkbListInfo = iVkbLayout->VkbLayoutInfoList();
-        TInt vkbListNum = vkbListInfo.Count();
-        
-        CVirtualKey* pKey;
-        TBool deadKeyChange = EFalse;
-        // Find the latched DeadKey in all the Vkb layout
-        for(TInt i = 0; i < vkbListNum; i++)
-            {
-            // Get key info list in one VKB layout
-            keyInfoList = vkbListInfo[i]->KeyInfoList();
-            TInt keyListNum = keyInfoList.Count();
-            for(TInt j = 0; j < keyListNum; j++)
-                {
-                pKey = keyInfoList[j]->Key();
-                if(pKey->Latched())
-                    {
-                    // Unlatch the DeadKey
-                    pKey->SetLatched(EFalse);
-                    
-                    // Set the DeadKey state
-                    iLayoutContext->SetData(EAkninputDataTypeLatchedSet, &deadKeyChange);
-                    deadKeyChange = ETrue;
-                    break;
-                    } 
-                }
-            if(deadKeyChange)
-                {
-                break;
-                }
-            }
-        }
-    
-    TInt curVkbId = CPeninputDataConverter::AnyToInt
-        ( iLayoutContext->RequestData( EPeninputDataTypeVkbLayout ) );
-                           
-    if ( ( curVkbId != aVkbLayoutId ) || ( iLangOrSizeChanged ) )
-        {
-        iLangOrSizeChanged = EFalse;
-        // Update data : vkb layout id
-        iLayoutContext->SetData( EPeninputDataTypeVkbLayout, &aVkbLayoutId );
-
-        iVkbLayout->ChangeVkbLayout( aVkbLayoutId );        
-        SetVkbLayoutSize();
-        
-        TInt curClientId = CPeninputDataConverter::AnyToInt 
-           ( iLayoutContext->RequestData( EPeninputDataTypeClientLayout ) );
-        CPeninputControlInfo* vkbInfo = iConfigInfo->FindClientLayoutInfo 
-            ( curClientId )->FindControlInfo( EPeninutWindowCtrlIdVkbCtrl );
-    
-        TRect rect;
-        CPeninputVkbCtrlExt* vkbCtrl = static_cast<CPeninputVkbCtrlExt*>
-            ( Control(EPeninutWindowCtrlIdVkbCtrl));
-      
-          
-        CPeninputVkbLayoutInfo* vkblayout = 
-            ConfigInfo()->FindVkbLayoutInfo( aVkbLayoutId );  
-      
-        if ( vkbCtrl && vkblayout )
-            {
-            DimKeys(); 
-            
-            // Make the true draw
-            UpdateArea( vkbCtrl->Rect(),  EFalse ); 
-            }     
-        }        
-    }
-
-// --------------------------------------------------------------------------
-// CPeninputLayoutWindowExt::HandleRangeEvent
-// (other items were commented in a header)
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputLayoutWindowExt::HandleRangeEvent( TInt aRange )
-    {                                 
-    TInt curRange = CPeninputDataConverter::AnyToInt 
-        ( iLayoutContext->RequestData( EPeninputDataTypeCurrentRange ) );
-  
-    CPeninputRangeBarInfo* rangeBar = iConfigInfo->RangeBarInfo();
-    if ( !rangeBar )
-        {
-        return;
-        }
-
-    CPeninputRangeInfo* rangeInfo = rangeBar->FindRange( aRange );
-    
-    if ( !rangeInfo )
-        {
-        return;
-        }
-      
-    TInt responseStyle = rangeInfo->ResponseStyle();
-    if ( responseStyle == EPeninputRangeResponseNoAction )
-        {
-        return; 
-        }
-    
-    if (curRange != aRange && responseStyle == EPeninputRangeResponseSwitchRange)
-        {
-        TInt index = KInvalidIndex;
-
-        if ( aRange == ERangeAccent )
-            {
-            index = 0;
-            }
-        iLayoutContext->SetData( EPeninputDataTypeCurrentAccent, &index );
-
-        ChangeRange( aRange );     
-        }
-    else if ( responseStyle == EPeninputRangeResponsePopupChoiceItem )
-        {
-        PopupChoiceList();
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CPeninputLayoutWindowExt::HandleRangeLoopEvent
-// (other items were commented in a header)
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputLayoutWindowExt::HandleRangeLoopEvent( TInt aLoop )
-    {
-    TInt curRange = CPeninputDataConverter::AnyToInt
-        ( iLayoutContext->RequestData( EPeninputDataTypeCurrentRange ) );
-                
-    CFepUiBaseCtrl* ctrl = Control( EPeninutWindowCtrlIdRangeBar );
-    CAknFepCtrlRangeBar* rangebar = static_cast<CAknFepCtrlRangeBar*>( ctrl );
-  
-    if ( rangebar )
-        {
-        TRAP_IGNORE( rangebar->SetCaseL( curRange, aLoop ) );
-      
-        if ( ( curRange == ERangeEnglish ) || ( ConfigInfo()->CaseSensitive()
-            && ( curRange == ERangeNative ) ) )
-            {
-            TInt curCase = rangebar->GetCase( curRange );
-
-            // Store case in the data manager, the engine will 
-            // get notice at the same time
-            iLayoutContext->SetData( EPeninputDataTypeCase, &curCase );
-          
-            // Notify fep the new case
-            TBuf<KIntLengthForByte> buf;
-            CPeninputDataConverter::IntToDesc( curCase, buf );
-            iLayoutContext->Sendkey( ESignalCaseMode, buf );
-            }    
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CPeninputLayoutWindowExt::CaseByShiftCapslockStatus
-// (other items were commented in a header)
-// --------------------------------------------------------------------------
-//
-EXPORT_C TInt CPeninputLayoutWindowExt::CaseByShiftCapslockStatus()
-    {
-    TInt shiftStatus = CPeninputDataConverter::AnyToInt 
-        ( iLayoutContext->RequestData( EPeninputDataTypeShiftDown ) );
-    TInt capslockStatus = CPeninputDataConverter::AnyToInt 
-        ( iLayoutContext->RequestData( EPeninputDataTypeCapslockDown ) );
-        
-    return ( capslockStatus * 2 + shiftStatus );
-    }
-    
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindow::HandleShiftBtnClicked
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputLayoutWindowExt::HandleMergedBtnClicked( TInt aCase )
-	{
-	switch( aCase )
-		{
-		case ECaseLower:
-		    {
-			HandleCapslockBtnClicked();
-		    }
-		    break;
-		case ECaseUpper:
-			{
-			HandleShiftBtnClicked();
-			}
-			break;
-		case ECaseText:
-//		case ECaseInverseText:
-			{
-			// Current case is Text, equals shift button
-			//HandleCapslockBtnClicked();			
-			HandleShiftAndCapslockBtnClicked();
-			}
-			break;	
-		default:
-			break;
-		}
-		
-	}
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindowExt::HandleShiftBtnClicked
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputLayoutWindowExt::HandleShiftBtnClicked()
-    {
-    TInt curRange = CPeninputDataConverter::AnyToInt
-        ( iLayoutContext->RequestData( EPeninputDataTypeCurrentRange ) );
-    
-    TInt shiftStatus = CPeninputDataConverter::AnyToInt
-        ( iLayoutContext->RequestData( EPeninputDataTypeShiftDown ) );
-    TInt capslockStatus = CPeninputDataConverter::AnyToInt
-        ( iLayoutContext->RequestData( EPeninputDataTypeCapslockDown ) );
-         
-    // Update data
-    if ( iLayoutContext->IsCapsLockPermitted() )
-    	{
-    	if ( curRange == ERangeEnglish || curRange == ERangeAccent 
-	        || ( ConfigInfo()->CaseSensitive() && curRange == ERangeNative ) )
-		    {
-	        capslockStatus = !capslockStatus;
-	        ChangeMergedButtonStatus( shiftStatus, capslockStatus );
-	        iLayoutContext->SetData( EPeninputDataTypeCapslockDown, &capslockStatus );   
-		    }
-    	}
-    else
-    	{
-    	if ( iLayoutContext->IsShiftPermitted() )
-    		{
-    		shiftStatus = !shiftStatus;
-	        ChangeMergedButtonStatus( shiftStatus, capslockStatus );
-	        iLayoutContext->SetData( EPeninputDataTypeShiftDown, &shiftStatus );
-    		}
-    	}	
-  
-    // Update vkb layout
-    TInt  caseid = CaseByShiftCapslockStatus();
-    
-    TInt vkbLayout = iConfigInfo->ShiftCapsSingleVkbLayoutId( curRange, 
-                                                              caseid );
-                                               
-    TInt responseStyle = 
-        iConfigInfo->RangeBarInfo()->FindRange( curRange )->ResponseStyle();
-    if ( ( curRange == ERangeAccent ) 
-        && ( responseStyle == EPeninputRangeResponsePopupChoiceItem ) )
-        {
-        TInt curAccentIndex = CPeninputDataConverter::AnyToInt
-            ( iLayoutContext->RequestData( EPeninputDataTypeCurrentAccent ) );
-        vkbLayout = vkbLayout + curAccentIndex * 2;
-        }
-        
-    ChangeVkbLayout( vkbLayout );
-    
-    // Synchronize case if needed    
-    if ( ( curRange == ERangeEnglish )  || ( curRange == ERangeAccent ) 
-        || ( ConfigInfo()->CaseSensitive() && ( curRange == ERangeNative ) ) )
-        {
-        // Notify fep the new case
-        TBuf<KIntLengthForByte> buf;
-        TInt fepcase = CPeninputDataConverter::FepCaseByCaseId( caseid );
-        iLayoutContext->SetData( EPeninputDataTypeCase, &fepcase );
-        CPeninputDataConverter::IntToDesc( fepcase, buf );
-        iLayoutContext->Sendkey( ESignalCaseMode, buf );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindowExt::HandleCapslockBtnClicked
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputLayoutWindowExt::HandleCapslockBtnClicked()
-    {
-    TInt curRange = CPeninputDataConverter::AnyToInt
-        ( iLayoutContext->RequestData( EPeninputDataTypeCurrentRange ) );
-
-    TInt capslockStatus = CPeninputDataConverter::AnyToInt
-        ( iLayoutContext->RequestData( EPeninputDataTypeCapslockDown ) );
-    TInt shiftStatus = CPeninputDataConverter::AnyToInt
-        ( iLayoutContext->RequestData( EPeninputDataTypeShiftDown ) );
-        
-    if ( iLayoutContext->IsShiftPermitted() )
-    	{
-    	if ( curRange == ERangeEnglish || curRange == ERangeAccent || 
-            ( ConfigInfo()->CaseSensitive() && curRange == ERangeNative ) )
-	        {
-	        shiftStatus = !shiftStatus;
-	        ChangeMergedButtonStatus( shiftStatus, capslockStatus );
-	        iLayoutContext->SetData( EPeninputDataTypeShiftDown, &shiftStatus );   
-	        }
-    	}
-    else
-    	{
-    	if ( iLayoutContext->IsCapsLockPermitted() )
-    		{
-    		capslockStatus = !capslockStatus;
-	        ChangeMergedButtonStatus( shiftStatus, capslockStatus );
-	        iLayoutContext->SetData( EPeninputDataTypeCapslockDown, &capslockStatus );
-    		}
-    	}
-            
-    // Update vkb layout
-    TInt  caseid = CaseByShiftCapslockStatus(); 
-    TInt vkbLayout = iConfigInfo->ShiftCapsSingleVkbLayoutId( curRange, 
-                                                              caseid );
-                                             
-    TInt responseStyle = 
-        iConfigInfo->RangeBarInfo()->FindRange( curRange )->ResponseStyle();
-    if ( ( curRange == ERangeAccent ) 
-        && ( responseStyle == EPeninputRangeResponsePopupChoiceItem ) )
-        {
-        TInt curAccentIndex = CPeninputDataConverter::AnyToInt
-            ( iLayoutContext->RequestData( EPeninputDataTypeCurrentAccent ) );
-        vkbLayout = vkbLayout + curAccentIndex * 2;
-        }
-            
-    ChangeVkbLayout( vkbLayout );
-    
-    // Synchronize case if needed
-    if ( ( curRange == ERangeEnglish )  || ( curRange == ERangeAccent ) 
-        || ( ConfigInfo()->CaseSensitive() && ( curRange == ERangeNative ) ) )
-        {
-        // Notify fep the new case
-        TBuf<KIntLengthForByte> buf;
-        TInt fepcase = CPeninputDataConverter::FepCaseByCaseId( caseid );
-        iLayoutContext->SetData( EPeninputDataTypeCase, &fepcase );
-        CPeninputDataConverter::IntToDesc( fepcase, buf );
-        iLayoutContext->Sendkey( ESignalCaseMode, buf );
-        }
-    }
-    
-EXPORT_C void CPeninputLayoutWindowExt::HandleShiftAndCapslockBtnClicked()
-    {
-    TInt curRange = CPeninputDataConverter::AnyToInt
-        ( iLayoutContext->RequestData( EPeninputDataTypeCurrentRange ) );
-    
-    TInt shiftStatus = CPeninputDataConverter::AnyToInt
-        ( iLayoutContext->RequestData( EPeninputDataTypeShiftDown ) );
-    TInt capslockStatus = CPeninputDataConverter::AnyToInt
-        ( iLayoutContext->RequestData( EPeninputDataTypeCapslockDown ) );
-     
-    if ( shiftStatus )
-        {
-        shiftStatus = 0;
-        }
-    else
-        {
-        shiftStatus = 1;
-        }
-        
-    // Update data
-    iLayoutContext->SetData( EPeninputDataTypeShiftDown, &shiftStatus );
-        
-    if ( iLayoutContext->IsCapsLockPermitted() )
-    	{
-    	if ( curRange == ERangeEnglish || curRange == ERangeAccent 
-	        || ( ConfigInfo()->CaseSensitive() && curRange == ERangeNative ) )
-		    {
-	        capslockStatus = !capslockStatus;
-	        ChangeMergedButtonStatus( shiftStatus, capslockStatus );
-	        iLayoutContext->SetData( EPeninputDataTypeCapslockDown, &capslockStatus );   
-		    }
-    	}
-    else
-    	{
-    	if ( iLayoutContext->IsShiftPermitted() )
-    		{
-    		shiftStatus = !shiftStatus;
-	        ChangeMergedButtonStatus( shiftStatus, capslockStatus );
-	        iLayoutContext->SetData( EPeninputDataTypeShiftDown, &shiftStatus );
-    		}
-    	}
-	
-    // Update vkb layout
-    TInt  caseid = CaseByShiftCapslockStatus();
-    
-    TInt vkbLayout = iConfigInfo->ShiftCapsSingleVkbLayoutId( curRange, 
-                                                              caseid );
-                                               
-    TInt responseStyle = 
-        iConfigInfo->RangeBarInfo()->FindRange( curRange )->ResponseStyle();
-    if ( ( curRange == ERangeAccent ) 
-        && ( responseStyle == EPeninputRangeResponsePopupChoiceItem ) )
-        {
-        TInt curAccentIndex = CPeninputDataConverter::AnyToInt
-            ( iLayoutContext->RequestData( EPeninputDataTypeCurrentAccent ) );
-        vkbLayout = vkbLayout + curAccentIndex * 2;
-        }
-        
-    ChangeVkbLayout( vkbLayout );
-    
-    // Synchronize case if needed    
-    if ( ( curRange == ERangeEnglish )  || ( curRange == ERangeAccent ) 
-        || ( ConfigInfo()->CaseSensitive() && ( curRange == ERangeNative ) ) )
-        {
-        // Notify fep the new case
-        TBuf<KIntLengthForByte> buf;
-        TInt fepcase = CPeninputDataConverter::FepCaseByCaseId( caseid );
-        iLayoutContext->SetData( EPeninputDataTypeCase, &fepcase );
-        CPeninputDataConverter::IntToDesc( fepcase, buf );
-        iLayoutContext->Sendkey( ESignalCaseMode, buf );
-        }
-    
-    
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindowExt::DimKeys
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-void CPeninputLayoutWindowExt::DimKeys()
-    {
-    TRAP_IGNORE(DimKeysL());
-    }
-void CPeninputLayoutWindowExt::DimKeysL()
-    {
-    CPeninputVkbCtrlExt* vkbCtrl = static_cast<CPeninputVkbCtrlExt*>
-        ( Control( EPeninutWindowCtrlIdVkbCtrl ) );
-    vkbCtrl->CancelDims();
-    TInt currentRange = CPeninputDataConverter::AnyToInt 
-        ( iLayoutContext->RequestData( EPeninputDataTypeCurrentRange ) );
-    TInt permitRange = CPeninputDataConverter::AnyToInt
-        ( iLayoutContext->RequestData( EPeninputDataTypePermittedRange ) ); 
-    TInt keyMapping = CPeninputDataConverter::AnyToInt 
-        ( iLayoutContext->RequestData( EPeninputDataTypeNumericKeymap ) );
-    TInt inputLang = CPeninputDataConverter::AnyToInt
-        ( iLayoutContext->RequestData( EPeninputDataTypeInputLanguage ) );
-         
-    if ( currentRange == ERangeNumber && 
-            (permitRange == ERangeNumber || 
-                    permitRange == ERangeNativeNumber || 
-                    permitRange == (ERangeNumber | ERangeNativeNumber)) )
-        {
-        HBufC* rs = NULL;
-        if ( keyMapping == EKeymapFromResource )
-            {
-            HBufC* customRes = 
-                           (HBufC*) iLayoutContext->RequestData(EAknFepDataTypeUseDefinedResource);
-            _LIT(KTenNumbers,"0123456789");
-            rs = HBufC::NewL(KTenNumbers().Length() + customRes->Length());
-            rs->Des().Copy(*customRes);
-            rs->Des().Append(KTenNumbers);
-            }
-        else
-            {
-            TRAP_IGNORE( rs = iKeyMappingMgr->KeyMappingStringL( keyMapping ); );
-            }
-        
-        if( rs )
-            {
-            vkbCtrl->DimKeys( rs );
-            delete rs;
-            }
-        }
-    else if ( currentRange == ERangeNativeNumber && 
-            (permitRange == ERangeNumber || 
-                    permitRange == ERangeNativeNumber || 
-                    permitRange == (ERangeNumber | ERangeNativeNumber)) )
-        {
-        HBufC* rs = NULL;
-        TRAP_IGNORE( rs = GetKeyMappingStringL( keyMapping, inputLang ) );
-        if( rs )
-            {
-            vkbCtrl->DimKeys( rs );
-            delete rs;
-            }
-        }
-    
-    else if ( (currentRange == ERangeNative || currentRange == ERangeEnglish) && CPeninputDataConverter::AnyToInt
-        ( iLayoutContext->RequestData( EPeninputDataTypeInputLanguage ) ) == ELangVietnamese )
-        {
-        vkbCtrl->DimKeySet( iToneSet, !iVowelChar );
-        }
-        
-    vkbCtrl->Draw();
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindowExt::AddControlL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputLayoutWindowExt::AddNotOwnedControl( 
-    CFepUiBaseCtrl* aControl )
-    {
-    //do nothing if we already has the control.
-    if ( KErrNotFound != ControlList().Find( aControl ) )
-        {
-        return;
-        }
-    
-    if ( aControl )
-        {
-        ( const_cast<RPointerArray<CFepUiBaseCtrl>&>
-            ( ControlList() ) ).Append( aControl );
-        }
-    } 
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindowExt::ChangeButtonStatus
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputLayoutWindowExt::ChangeButtonStatus( const TInt aIsDown, 
-    const TInt aControlId )
-    {
-    CAknFepCtrlEventButton* button = 
-        static_cast<CAknFepCtrlEventButton*>
-        (ControlById( aControlId ) );
-
-    if ( button )
-        {
-        button->SetHighlight( aIsDown == 0 ? EFalse : ETrue );
-        } 
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindow::ChangeButtonStatus
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C void CPeninputLayoutWindowExt::ChangeMergedButtonStatus( 
-											const TInt aIsShiftCase, 
-    								 		const TInt aIsCapslockCase )
-	{
-	CAknFepCtrlMultiModeButton* button = 
-		static_cast<CAknFepCtrlMultiModeButton*>
-        (ControlById( EPeninutWindowCtrlIdShiftBtn ) );
-    
-    if( !button )
-        {
-        return;
-        }
-    switch ( aIsCapslockCase * 2 + aIsShiftCase )
-        {
-        case 1: // text case        
-            {
-            TRAP_IGNORE( button->SetCurrentModeL( EBtnBmpActive, 1 ) );			
-	    	button->SetHighlight( ETrue );
-            }
-            break; 
-        case 2: // upper case
-            {
-            TRAP_IGNORE( button->SetCurrentModeL( EBtnBmpActive, 2 ) );	
-            button->SetHighlight( ETrue );
-            }
-        	break;
-        default:
-            {
-            TRAP_IGNORE( button->SetCurrentModeL( EBtnBmpActive, 0 ) );	
-        	button->SetHighlight( EFalse );
-            }
-            break;
-	    }
-	}    								 	
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindowExt::ChangeLayoutPosition
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//               
-EXPORT_C void CPeninputLayoutWindowExt::ChangeLayoutPosition( TInt aJustifyStyle )
-    {        
-    if ( iLayoutContext->LayoutType() == EPluginInputModeFSQ )
-        {
-        TopLeftJustify();
-        return;
-        }
-    switch ( aJustifyStyle )
-        {
-        case EPeninputPositionChangeBrJustify:
-            {
-            BottomRightJustify();
-            }         
-            break;
-        case EPeninputPositionChangeDataQuery:
-            {
-            //BottomRightJustify();
-            DataQueryJustify();
-            }
-            break;
-        default:
-            {
-            TopLeftJustify();
-            }
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindowExt::SetWindowRect
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//      
-EXPORT_C void CPeninputLayoutWindowExt::SetWindowRect( const TRect& aRect )
-    {
-    //we should know the layout size now
-    if(iLayoutContext->LayoutType() == EPluginInputModeFSQ)
-        {
-        SetRect( aRect );
-        UiLayout()->SetRect(aRect);
-        }
-    else
-        {
-	    TRect rect = aRect;
-
-
-	    TRect shadowRect = TRect( TPoint(), 
-	                              TSize( aRect.Width() + iShadowBrWidth + iShadowTlWidth,
-	                                     aRect.Height() + iShadowTlHeight + iShadowBrHeight)
-	                            );
-	                            
-	    rect.Move( TPoint(iShadowTlWidth, iShadowTlHeight) - rect.iTl );
-	    
-	    SetRect( rect );  
-	    RootControl()->SetRect( rect );
-	    UiLayout()->SetShadowRect( shadowRect );  	
-	    }
-    }
-    
-
-// -----------------------------------------------------------------------------
-// CPeninputLayoutWindowExt::SetSwitchBtnFont
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputLayoutWindowExt::SetSwitchBtnFont(CAknFepCtrlEventButton& aSwitchBtn)
-    {
-    // read switch font laf info only when need
-    if (CPeninputDataConverter::AnyToInt(
-        iLayoutContext->RequestData(EAkninputDataTypeSizeChanging)) ||(!iSwitchFontSet))
-    	{
-        TAknTextLineLayout langSwitch;
-        TAknTextLineLayout langSwitchShadow;
-
-        switch( iLayoutContext->LayoutType() )
-            {
-            case EPluginInputModeVkb:
-            case EPluginInputModeFSQ:
-                {
-                langSwitch = 
-                    AknLayoutScalable_Avkon::cell_vkb_side_pane_t1().LayoutLine();
-                langSwitchShadow = 
-                    AknLayoutScalable_Avkon::cell_vkb_side_pane_t1_copy1().LayoutLine();
-                }
-                break;
-            case EPluginInputModeHwr:
-                {
-                langSwitch = 
-                    AknLayoutScalable_Avkon::cell_hwr_side_pane_t1().LayoutLine();
-                langSwitchShadow = 
-                    AknLayoutScalable_Avkon::cell_hwr_side_pane_t1_copy1().LayoutLine();
-                }
-                break;
-            default:
-                {
-                return;
-                }
-            }
-        
-        iSwitchFont = langSwitch.iFont;
-        iSwitchShadowFont = langSwitchShadow.iFont;
-    	}
-    
-    aSwitchBtn.SetFont(AknLayoutUtils::FontFromId(iSwitchFont, NULL));
-    aSwitchBtn.SetShadowFont(AknLayoutUtils::FontFromId(iSwitchShadowFont, NULL));
-    iSwitchFontSet = ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindowExt::TopLeftJustify
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//   
-EXPORT_C void CPeninputLayoutWindowExt::SetSwitchBtnTextColor(CAknFepCtrlEventButton& aSwitchBtn)
-    {
-    TRgb textColor;
-    TInt error = AknsUtils::GetCachedColor(AknsUtils::SkinInstance(),
-                                           textColor,
-                                           KAknsIIDQsnTextColors,
-                                           EAknsCIQsnTextColorsCG59);
-
-    if (error != KErrNone)
-        {
-    	textColor = TRgb(KDefaultTextColor);
-        }
-        
-    aSwitchBtn.SetFontColor( textColor );   
-    
-    TRgb shadowTextColor;    
-    error = AknsUtils::GetCachedColor(AknsUtils::SkinInstance(),
-                                      shadowTextColor,
-                                      KAknsIIDQsnTextColors,
-                                      EAknsCIQsnTextColorsCG62);
-                                      
-    if (error != KErrNone)
-        {
-    	shadowTextColor = TRgb(KDefaultShadowTextColor);
-        }
-    
-    aSwitchBtn.SetShadowFontColor( shadowTextColor );
-    }
-    
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindowExt::TopLeftJustify
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//   
-void CPeninputLayoutWindowExt::TopLeftJustify()
-    {
-    // Read position from datamgr 
-    TSize layoutSize = UiLayout()->Rect().Size();
-    
-    TPoint tl = UiLayout()->Position();
-    
-    TPoint oldBr = tl + layoutSize;
-    
-    if ( tl.iX < 0 )
-        {
-        tl.iX = 0;
-        }
-    
-    if ( tl.iY < 0 )
-        {
-        tl.iY = 0;  
-        }
-        
-    TPoint br = tl + layoutSize;          
-
-    if ( br != oldBr )
-        {
-        //Write the new position into CenRep
-        TInt x = 0;
-        TInt y = 0;
-        x = 0x0000FFFF & br.iX;
-        y = 0xFFFF0000 & ( br.iY << 16 );
-        TInt pos = x | y;
-        iLayoutContext->SetData( EPeninputDataTypeWindowPosition, &pos );
-        }
-        
-    UiLayout()->LayoutOwner()->SetPosition( tl );
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindowExt::BottomRightJustify
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//    
-void CPeninputLayoutWindowExt::BottomRightJustify()
-    {
-    // Read position from datamgr 
-    TSize layoutSize( UiLayout()->Rect().Size() );
-
-    TPoint oldbr;
-    TPoint br;
-    TPoint tl;
-
-    TSize screenSize = *( ( TSize* ) iLayoutContext->RequestData
-                            ( EPeninputDataTypeScreenSize ) );
-    
-    TInt windowPosition = CPeninputDataConverter::AnyToInt
-        ( iLayoutContext->RequestData( EPeninputDataTypeWindowPosition ) );
-
-    oldbr.iX = windowPosition & 0x0000FFFF;
-    oldbr.iY = ( windowPosition & 0xFFFF0000 ) >> 16;
-    
-    br = oldbr;
-        
-    // Check the top left point is in screen
-    if (br.iX > screenSize.iWidth)
-        {
-    	br.iX = screenSize.iWidth;
-        }
-    if( br.iY > screenSize.iHeight )
-        {
-    	br.iY = screenSize.iHeight;
-        }
-
-    tl.iX = br.iX - layoutSize.iWidth;
-    tl.iY = br.iY - layoutSize.iHeight;
-    
-    if ( tl.iX < 0 )
-        {
-        tl.iX = 0;
-        br.iX = layoutSize.iWidth;
-        }
-
-    if ( tl.iY < 0 )
-        {
-        tl.iY = 0;  
-        br.iY = layoutSize.iHeight;
-        }
-        
-    if ( oldbr != br )
-        {
-        //Write the new position into CenRep
-        TInt x = 0;
-        TInt y = 0;
-        x = 0x0000FFFF & br.iX;
-        y = 0xFFFF0000 & ( br.iY << 16 );
-        TInt pos = x | y;
-        iLayoutContext->SetData( EPeninputDataTypeWindowPosition, &pos );
-        }
-        
-    UiLayout()->LayoutOwner()->SetPosition( tl );
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindowExt::DataQueryJustify
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//   
-void CPeninputLayoutWindowExt::DataQueryJustify()
-    {
-    TRect* dataQueryRect = ( TRect* )( iLayoutContext->RequestData
-        ( EPeninputDataTypeDataQueryDlgRect) );
-    
-    TRect rect = TRect( UiLayout()->Position(), UiLayout()->Rect().Size() );
-    
-	CCoeEnv* coeEnv = CCoeEnv::Static();
-    TPixelsTwipsAndRotation ptSize;     
-    coeEnv->ScreenDevice()->GetDefaultScreenSizeAndRotation(ptSize);    
-
-	// Landscape mode: move window to the br of the screen
-    if (ptSize.iPixelSize.iWidth > ptSize.iPixelSize.iHeight)
-    	{
-    	rect.SetRect(ptSize.iPixelSize.iWidth - rect.Width(), 
-    			     ptSize.iPixelSize.iHeight/2 - rect.Height()/2,
-    			     ptSize.iPixelSize.iWidth, 
-    			     ptSize.iPixelSize.iHeight/2 + rect.Height()/2);
-    	}
-	// Portrait mode: dodge the dataquery   	
-    else if ( rect.Intersects( *dataQueryRect ) )
-        {
-        TInt Y = dataQueryRect->iTl.iY;
-        TInt height = rect.iBr.iY - rect.iTl.iY;
-        rect.iTl.iY = Y - height;
-        rect.iBr.iY = Y;
-        
-        if( rect.iTl.iY <0 )
-            {
-            rect.iTl.iY = 0;
-            rect.iBr.iY = height;
-            }
-        }
-
-    //Write the new position into CenRep
-    TInt x = 0;
-    TInt y = 0;
-    x = 0x0000FFFF & rect.iBr.iX;
-    y = 0xFFFF0000 & ( rect.iBr.iY << 16 );
-    TInt pos = x | y;
-    iLayoutContext->SetData( EPeninputDataTypeWindowPosition, &pos );          
-
-    //Set the layout position
-    UiLayout()->LayoutOwner()->SetPosition( rect.iTl );
-    }
-
-TBool CPeninputLayoutWindowExt::CreateCustomControlL( TInt16 /*aControlId*/, TInt32 /*aImageId*/ )
-	{
-	return EFalse;	
-	}
-    
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindowExt::Draw
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C void CPeninputLayoutWindowExt::Draw()
-    {    
-    // Draw shadow
-    CAknFepCtrlBaseWindowExt::Draw();
-    UpdateArea(UiLayout()->Rect(), EFalse);   
-    }
-       
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindowExt::GetKeyMappingStringL
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//     
-HBufC* CPeninputLayoutWindowExt::GetKeyMappingStringL(TInt aKeyMapping,
-    const TInt aLang )
-    {
-    HBufC* rs = NULL;
-    if ( aKeyMapping == EKeymapFromResource )
-        {
-        HBufC* customRes = (HBufC*) iLayoutContext->RequestData(EAknFepDataTypeUseDefinedResource);
-        _LIT(KTenNumbers,"0123456789");
-        TBuf<KMaxNumericString> numbers;
-        if( aLang == ELangArabic )
-            {
-            numbers.Format( _L("%c%c%c%c%c%c%c%c%c%c"),
-                0x0660, 0x0661, 0x0662,
-                0x0663, 0x0664, 0x0665,
-                0x0666, 0x0667, 0x0668, 0x0669 );
-            }
-        else if( aLang == ELangUrdu || aLang == ELangFarsi )
-            {
-            numbers.Format( _L("%c%c%c%c%c%c%c%c%c%c"),
-                0x06F0, 0x06F1, 0x06F2,
-                0x06F3, 0x06F4, 0x06F5,
-                0x06F6, 0x06F7, 0x06F8, 0x06F9 );
-            }
-        else if( aLang == ELangHindi )
-            {
-            numbers.Format( _L("%c%c%c%c%c%c%c%c%c%c"),
-                0x0966, 0x0967, 0x0968,
-                0x0969, 0x096a, 0x096b,
-                0x096c, 0x096d, 0x096e, 0x096f );
-            }
-        else if( aLang == ELangThai )
-            {
-            numbers.Format( _L("%c%c%c%c%c%c%c%c%c%c"),
-                0x0E50, 0x0E51, 0x0E52,
-                0x0E53, 0x0E54, 0x0E55,
-                0x0E56, 0x0E57, 0x0E58, 0x0E59 );        
-            }
-        else
-            {
-            numbers = KTenNumbers;
-            }
-            
-        rs = HBufC::NewL(numbers.Length() + customRes->Length());
-        rs->Des().Copy(*customRes);
-        rs->Des().Append(numbers);
-        }
-    else
-        {
-        rs = iKeyMappingMgr->KeyMappingStringL( aKeyMapping, aLang );
-        }
-        
-    return rs;     
-    }
-       
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindowExt::SetEnableSwitchToHwr
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//     
-EXPORT_C void CPeninputLayoutWindowExt::SetEnableSwitchToHwr(TBool aEnable)
-    {
-    CAknFepCtrlEventButton* switchToHwrBtn = static_cast<CAknFepCtrlEventButton*>
-        ( Control( EPeninutWindowCtrlIdSwitchToHwrBtn ) );
-
-    if ( aEnable )    
-        {
-        switchToHwrBtn->SetDimmed(EFalse);
-        }
-    else
-        {
-        switchToHwrBtn->SetDimmed(ETrue);
-        switchToHwrBtn->SetActive(EFalse);
-        } 
-    }
-
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindowExt::SetEnableSettingBtn
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//     
-EXPORT_C void CPeninputLayoutWindowExt::SetEnableSettingBtn(TBool aEnable)
-    {
-    CAknFepCtrlEventButton* optionBtn = static_cast<CAknFepCtrlEventButton*>
-        (Control( EPeninutWindowCtrlIdOptionBtn ) );
-            
-    if ( aEnable )    
-        {
-        optionBtn->SetDimmed(EFalse);
-        }
-    else
-        {
-        optionBtn->SetDimmed(ETrue);
-        optionBtn->SetActive(EFalse);
-        } 
-    }
-        
-// ---------------------------------------------------------------------------
-// CPeninputLayoutWindowExt::ReconfigUnitSize
-// (other items were commented in a header)
-// ---------------------------------------------------------------------------
-//     
-EXPORT_C TBool CPeninputLayoutWindowExt::ReconfigUnitSize(TInt /*aClientLayoutId*/)
-    {
-    return EFalse;
-    }
-    
-EXPORT_C void CPeninputLayoutWindowExt::SetLafLayOut(TInt /*aRows*/, TInt /*aColumns*/)
-    {
-    
-    }
-
-EXPORT_C void CPeninputLayoutWindowExt::SetVkbLayoutSize()
-    {
-    
-    }
-EXPORT_C void CPeninputLayoutWindowExt::OnInputLanguageChange()
-    {
-    if ( iLayoutContext->LayoutType() == EPluginInputModeVkb )
-        {       
-        CFepUiBaseCtrl* ctrl = 
-            Control( EPeninutWindowCtrlIdVkbCtrl );
-        if ( ctrl )
-            {
-            ( static_cast<CPeninputVkbCtrlExt*>( ctrl ) )->Reset();
-            }
-        } 
-    }
-    
-void CPeninputLayoutWindowExt::AddCustomControlGroupL(CFepUiBaseCtrl* aCtrl)
-	{
-	AddControlL(aCtrl);
-	}
-
-void CPeninputLayoutWindowExt::ResetLastColRow()
-	{
-    iLastUsedTotalColumns = 0;
-    iLastUsedTotalRows = 0;
-	}
-
-
-EXPORT_C void CPeninputLayoutWindowExt::SetTextAlignmentL( TInt aAlignment )	
-	{
-	CFepLayoutMultiLineIcf* icf = 
-	    static_cast<CFepLayoutMultiLineIcf*>( Control(EPeninputWindowCtrlIdMultiLineICF));
-	    
-	if ( icf && ConfigInfo()->Language() != ELangNone )
-		{
-		icf->SetTextAlignmentL( aAlignment, ConfigInfo()->Language() );
-		}
-	}
-	
-//End Of File
--- a/textinput/peninputcommonlayout/src/peninputnumerickeymappingmgr.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,202 +0,0 @@
-/*
-* 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:  number keymapping manager
-*
-*/
-
-
-// System includes
-#include <eikon.hrh>
-
-// User includes
-#include "peninputnumerickeymappingmgr.h"
-
-// Constants
-_LIT( KNumberString, "0123456789" );
-const TInt KMaxNumericString = 32;
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ------------------------------------------------------------------------
-// CPeninputNumericKepMappingMgr::NewL
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-EXPORT_C CPeninputNumericKepMappingMgr* CPeninputNumericKepMappingMgr::NewL(
-    TResourceReader aReader )
-    {
-    CPeninputNumericKepMappingMgr* self = NewLC( aReader );
-    CleanupStack::Pop( self );
-
-    return self;        
-    }
- 
-// ------------------------------------------------------------------------
-// CPeninputNumericKepMappingMgr::NewLC
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//    
-EXPORT_C CPeninputNumericKepMappingMgr* CPeninputNumericKepMappingMgr::NewLC(
-    TResourceReader aReader )
-    {
-    CPeninputNumericKepMappingMgr* self = 
-        new ( ELeave ) CPeninputNumericKepMappingMgr();
-    CleanupStack::PushL( self );
-    self->ConstructL( aReader );
-
-    return self;        
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputNumericKepMappingMgr::ConstructL
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//   
-void CPeninputNumericKepMappingMgr::ConstructL( TResourceReader aReader ) 
-    {
-    const TInt count = aReader.ReadInt16();
-    
-    for ( TInt i = 0; i < count; i++ )
-        {
-        iKeyMappingIdList.Append( aReader.ReadInt16() );
-        TPtrC ptr = aReader.ReadTPtrC();
-        iKeyMappingStringList.Append( ptr.AllocL() );
-        }
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputNumericKepMappingMgr::~CPeninputNumericKepMappingMgr
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//         
-EXPORT_C CPeninputNumericKepMappingMgr::~CPeninputNumericKepMappingMgr()    
-    {
-    iKeyMappingIdList.Reset();
-    iKeyMappingIdList.Close();
-    
-    iKeyMappingStringList.ResetAndDestroy();
-    iKeyMappingStringList.Close();
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputNumericKepMappingMgr::KeyMappingStringL
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//   
-EXPORT_C HBufC* CPeninputNumericKepMappingMgr::KeyMappingStringL( 
-    const TInt aKeyMappingId ) const
-    {
-    TLocale locale;
-    TBuf<KMaxNumericString> rs = KNumberString();
-    const TInt index = iKeyMappingIdList.Find( aKeyMappingId );
-    
-    if ( index != KErrNotFound )
-        {
-        HBufC* buf = iKeyMappingStringList[index];
-        
-        rs.Append( *buf );
-        
-        if ( ( aKeyMappingId == EAknEditorCalculatorNumberModeKeymap )
-            || ( aKeyMappingId == EAknEditorConverterNumberModeKeymap ) )
-            {
-            rs.Append( locale.DecimalSeparator() ); 
-            }       
-        }
-        
-    return rs.AllocL();          
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputNumericKepMappingMgr::ArabicKeyMappingStringL
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//       
-EXPORT_C HBufC* CPeninputNumericKepMappingMgr::KeyMappingStringL( 
-    const TInt aKeyMappingId, const TInt aLang ) const
-    {
-    
-    TLocale locale;
-    TBuf<KMaxNumericString> rs;
-    if( aLang == ELangArabic )
-        {
-        rs.Format( _L("%c%c%c%c%c%c%c%c%c%c"),
-        0x0660, 0x0661, 0x0662,
-        0x0663, 0x0664, 0x0665,
-        0x0666, 0x0667, 0x0668, 0x0669 );
-        }
-    else if( aLang == ELangFarsi || aLang == ELangUrdu )
-        {
-        rs.Format( _L("%c%c%c%c%c%c%c%c%c%c"),
-        0x06F0, 0x06F1, 0x06F2,
-        0x06F3, 0x06F4, 0x06F5,
-        0x06F6, 0x06F7, 0x06F8, 0x06F9 );
-        }
-    else if( aLang == ELangHindi )
-        {
-        rs.Format( _L("%c%c%c%c%c%c%c%c%c%c"),
-        0x0966, 0x0967, 0x0968,
-        0x0969, 0x096a, 0x096b,
-        0x096c, 0x096d, 0x096e, 0x096f );
-        }
-    else if( aLang == ELangThai )
-        {
-        rs.Format( _L("%c%c%c%c%c%c%c%c%c%c"),
-        0x0E50, 0x0E51, 0x0E52,
-        0x0E53, 0x0E54, 0x0E55,
-        0x0E56, 0x0E57, 0x0E58, 0x0E59 );        
-        }
-    else 
-        {
-        rs = KNumberString();   
-        }
-    
-    const TInt index = iKeyMappingIdList.Find( aKeyMappingId );
-    
-    if ( index != KErrNotFound )
-        {
-        HBufC* buf = iKeyMappingStringList[index];
-        
-        rs.Append( *buf );
-        
-        if ( ( aKeyMappingId == EAknEditorCalculatorNumberModeKeymap )
-            || ( aKeyMappingId == EAknEditorConverterNumberModeKeymap ) )
-            {
-            rs.Append( locale.DecimalSeparator() ); 
-            }       
-        }
-        
-    return rs.AllocL();          
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputNumericKepMappingMgr::Count
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-// 
-EXPORT_C TInt CPeninputNumericKepMappingMgr::Count() const
-    {
-    return iKeyMappingIdList.Count();
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputNumericKepMappingMgr::Reset
-// (other items were commented in a header)    
-// ------------------------------------------------------------------------
-// 
-EXPORT_C void CPeninputNumericKepMappingMgr::Reset()
-    {
-    iKeyMappingIdList.Reset();
-    iKeyMappingStringList.ResetAndDestroy();
-    }
--- a/textinput/peninputcommonlayout/src/peninputrangebarinfo.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,200 +0,0 @@
-/*
-* 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:  range bar layout implementation
-*
-*/
-
-
-// User includes
-#include "peninputrangebarinfo.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ------------------------------------------------------------------------
-// CPeninputRangeInfo::NewL
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-EXPORT_C CPeninputRangeInfo* CPeninputRangeInfo::NewL( 
-    TResourceReader& aReader )                            
-    {
-    CPeninputRangeInfo* self = NewLC( aReader );
-    CleanupStack::Pop( self );
-    
-    return self;
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputRangeInfo::NewLC
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-EXPORT_C CPeninputRangeInfo* CPeninputRangeInfo::NewLC( 
-    TResourceReader& aReader )
-    {
-    CPeninputRangeInfo* self = new ( ELeave ) CPeninputRangeInfo();
-
-    CleanupStack::PushL( self );
-    self->ConstructL( aReader );
-
-    return self;
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputRangeInfo::~CPeninputRangeInfo
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-EXPORT_C CPeninputRangeInfo::~CPeninputRangeInfo()
-    {
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputRangeInfo::ConstructL
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-void CPeninputRangeInfo::ConstructL( TResourceReader& aReader )
-    {
-    ConstructFromResourceL( aReader );
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputRangeInfo::ConstructFromResourceL
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-void CPeninputRangeInfo::ConstructFromResourceL( TResourceReader& aReader )
-    {
-    User::LeaveIfError( iRangeId = aReader.ReadInt16() );    
-    
-    TInt responseStyle = aReader.ReadInt16();
-    
-    switch ( responseStyle )
-        {     
-        case 0:
-            {
-            iResponseStyle = EPeninputRangeResponseNoAction;
-            }
-            break;
-        case 1:
-            {
-            iResponseStyle = EPeninputRangeResponseSwitchRange;
-            }
-            break;
-        case 2:
-            {
-            iResponseStyle = EPeninputRangeResponsePopupChoiceItem;
-            }
-            break;
-        default:
-            {
-            iResponseStyle = EPeninputRangeResponseNoAction;
-            }
-            break;
-        }
-
-    iClientLayoutId = aReader.ReadInt16();
-    iVkbLayoutId = aReader.ReadInt16();
-
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputRangeBarInfo::NewL
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-EXPORT_C CPeninputRangeBarInfo* CPeninputRangeBarInfo::NewL( 
-    TResourceReader& aReader )                                    
-    {
-    CPeninputRangeBarInfo* self = NewLC( aReader );
-    CleanupStack::Pop( self );
-    
-    return self;
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputRangeBarInfo::NewLC
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-EXPORT_C CPeninputRangeBarInfo* CPeninputRangeBarInfo::NewLC( 
-    TResourceReader& aReader )
-    {
-    CPeninputRangeBarInfo* self = new ( ELeave ) CPeninputRangeBarInfo();
-
-    CleanupStack::PushL( self );
-    self->ConstructL( aReader );
-
-    return self;
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputRangeBarInfo::~CPeninputRangeBarInfo
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-EXPORT_C CPeninputRangeBarInfo::~CPeninputRangeBarInfo()
-    {
-    iRanges.ResetAndDestroy();
-    iRanges.Close();
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputRangeBarInfo::FindRange
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-EXPORT_C CPeninputRangeInfo* CPeninputRangeBarInfo::FindRange( TInt aRangeId )
-    {
-    const TInt count = iRanges.Count();
-
-    for ( TInt i = 0; i < count; i++ )
-        {
-        if ( iRanges[i]->RangeId() == aRangeId )
-            {
-            return iRanges[i];
-            }
-        }
-
-    return NULL;
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputRangeBarInfo::ConstructL
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-void CPeninputRangeBarInfo::ConstructL( TResourceReader& aReader )
-    {
-    ConstructFromResourceL( aReader );
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputRangeBarInfo::ConstructFromResourceL
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-void CPeninputRangeBarInfo::ConstructFromResourceL( 
-    TResourceReader& aReader )
-    {
-    iRangeStyle = aReader.ReadInt16();
-    
-    TInt count = aReader.ReadInt16();
-    for ( TInt i = 0; i < count; i++ )
-        {
-        CPeninputRangeInfo* rangeInfo = CPeninputRangeInfo::NewL( aReader );
-        iRanges.Append( rangeInfo );
-        }
-    }
--- a/textinput/peninputcommonlayout/src/peninputshiftcapsInfo.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,140 +0,0 @@
-/*
-* 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:  shift&caps info implementation
-*
-*/
-
-
-// User includes
-#include "peninputshiftcapsInfo.h"
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ------------------------------------------------------------------------
-// CPeninputShiftCapsInfo::NewL
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-EXPORT_C CPeninputShiftCapsInfo* CPeninputShiftCapsInfo::NewL( 
-    TResourceReader& aReader )
-    {
-    CPeninputShiftCapsInfo* self = NewLC( aReader );
-    CleanupStack::Pop( self );
-    
-    return self;
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputShiftCapsInfo::NewLC
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-EXPORT_C CPeninputShiftCapsInfo* CPeninputShiftCapsInfo::NewLC( 
-    TResourceReader& aReader )
-    {
-    CPeninputShiftCapsInfo* self = new ( ELeave ) CPeninputShiftCapsInfo();
-
-    CleanupStack::PushL( self );
-    self->ConstructL( aReader );
-
-    return self;
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputShiftCapsInfo::~CPeninputShiftCapsInfo
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-EXPORT_C CPeninputShiftCapsInfo::~CPeninputShiftCapsInfo()
-    {
-    iShiftCapsSingleList.ResetAndDestroy();
-    iShiftCapsSingleList.Close();
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputShiftCapsInfo::FindShiftCapsSingleById
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-EXPORT_C CPeninputShiftCapsInfo::TPeninputShiftCapsSingle* 
-    CPeninputShiftCapsInfo::FindShiftCapsSingleById( TInt aId )
-    {
-    const TInt count = iShiftCapsSingleList.Count();
-
-    for ( TInt i = 0; i < count; i++ )
-        {
-        if ( iShiftCapsSingleList[i]->iId == aId )
-            {
-            return iShiftCapsSingleList[i];
-            }
-        }
-
-    return NULL;
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputShiftCapsInfo::FindShiftCapsSingleByCase
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-EXPORT_C CPeninputShiftCapsInfo::TPeninputShiftCapsSingle* 
-    CPeninputShiftCapsInfo::FindShiftCapsSingleByCase( TInt aCase )
-    {
-    const TInt count = iShiftCapsSingleList.Count();
-
-    for ( TInt i = 0; i < count; i++ )
-        {
-        if ( iShiftCapsSingleList[i]->iCaseUsed == aCase )
-            {
-            return iShiftCapsSingleList[i];
-            }
-        }
-
-    return NULL;
-    }
-    
-// ------------------------------------------------------------------------
-// CPeninputShiftCapsInfo::ConstructL
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-void CPeninputShiftCapsInfo::ConstructL( TResourceReader& aReader )
-    {
-    ConstructFromResourceL( aReader );
-    }
-
-// ------------------------------------------------------------------------
-// CPeninputShiftCapsInfo::ConstructFromResourceL
-// (other items were commented in a header)
-// ------------------------------------------------------------------------
-//
-void CPeninputShiftCapsInfo::ConstructFromResourceL( 
-    TResourceReader& aReader )
-    {
-    iRangeId = aReader.ReadInt16();
-
-    const TInt count = aReader.ReadInt16();
-    for ( TInt i = 0; i < count; i++ )
-        {
-        TPeninputShiftCapsSingle* shiftCapsSingle = 
-            new ( ELeave ) TPeninputShiftCapsSingle();
-        
-        shiftCapsSingle->iId = aReader.ReadInt16();
-        shiftCapsSingle->iVkbLayoutId = aReader.ReadInt16();
-        shiftCapsSingle->iCaseUsed = aReader.ReadInt16();
-
-        iShiftCapsSingleList.Append( shiftCapsSingle );
-        }
-    }
--- a/textinput/peninputcommonlayout/src/peninputuistatebase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,149 +0,0 @@
-/*
-* 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:  Implementation of the ui state base
-*
-*/
-
-
-// User includes
-#include <peninputlayoutvkb.h>
-#include <AknFepGlobalEnums.h>      // Define EPluginInputModeHwr
-#include <peninputdataconverter.h>
-#include "peninputuistatebase.h"
-#include "peninputlayoutcontext.h"
-#include "peninputcmd.h"
-#include "peninputcommonlayoutglobalenum.h"
-
-const TInt KMaxKeyLength = 10;
-
-// ======== MEMBER FUNCTIONS ========
-
-// --------------------------------------------------------------------------
-// CPeninputUiStateBase::CPeninputUiStateBase
-// (other items were commented in a header)
-// --------------------------------------------------------------------------
-//
-EXPORT_C CPeninputUiStateBase::CPeninputUiStateBase( 
-    MPeninputUiStateMgr* aUiStateMgr, MPeninputLayoutContext* aContext )
-    : iUiStateMgr( aUiStateMgr ), iContext( aContext )
-    {
-    }
-    
-// --------------------------------------------------------------------------
-// CPeninputUiStateBase::NewL
-// (other items were commented in a header)
-// --------------------------------------------------------------------------
-//
-EXPORT_C CPeninputUiStateBase* CPeninputUiStateBase::NewL( 
-    MPeninputUiStateMgr* aUiStateMgr, MPeninputLayoutContext* aContext )
-    {
-    CPeninputUiStateBase* self = new ( ELeave ) 
-        CPeninputUiStateBase( aUiStateMgr, aContext );
-    CleanupStack::PushL( self );
-    self->Construct(); 
-    CleanupStack::Pop( self );
-    
-    return self;
-    }  
-    
-// --------------------------------------------------------------------------
-// CPeninputUiStateBase::ConstructL
-// (other items were commented in a header)
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputUiStateBase::Construct()
-    {
-    } 
-          
-// --------------------------------------------------------------------------
-// CPeninputUiStateBase::~CPeninputUiStateBase
-// (other items were commented in a header)
-// --------------------------------------------------------------------------
-//
-EXPORT_C CPeninputUiStateBase::~CPeninputUiStateBase()
-    {    
-    }        
-
-// --------------------------------------------------------------------------
-// CPeninputUiStateBase::HandleKeyEventL
-// (other items were commented in a header)
-// --------------------------------------------------------------------------
-//
-EXPORT_C TBool CPeninputUiStateBase::HandleKeyEventL( 
-    const TRawEvent& /*aData*/ )   
-    {
-    return EFalse;
-    }    
-
-// --------------------------------------------------------------------------
-// CPeninputUiStateBase::HandleControlEvent
-// (other items were commented in a header).
-// --------------------------------------------------------------------------
-//
-EXPORT_C TBool CPeninputUiStateBase::HandleControlEvent( TInt /*aEventType*/, 
-    const TDesC& /*aEventData*/ )
-    {
-    return EFalse;   
-    }
-
-// --------------------------------------------------------------------------
-// CPeninputUiStateBase::SendKey
-// (other items were commented in a header).
-// --------------------------------------------------------------------------
-//
-EXPORT_C TBool CPeninputUiStateBase::SendKey( const TDesC& aEventData )
-    {
-    TInt len = aEventData.Length();
-    
-    if ( iContext->LayoutType() == EPluginInputModeHwr )
-        {
-        iContext->Sendkey(ESignalKeyEvent,aEventData);
-        }
-    else
-        {
-        if ( len == 1)
-            {
-            // If it is enter, tab, space, back key etc.
-            TPtrC ptr = aEventData.Left(1);
-            iContext->Sendkey(ESignalKeyEvent,ptr);            
-            }
-        else if ( len > 1)
-            {
-            // If it is virtual key
-            TVirtualKeyEventData* data = (TVirtualKeyEventData* ) aEventData.Ptr();
-            
-            TInt lang = CPeninputDataConverter::AnyToInt
-                ( iContext->RequestData( EPeninputDataTypeInputLanguage ) );    
-            
-            TBuf<KMaxKeyLength> trueKeySeries;
-                
-            if ( lang == ELangArabic )
-                {
-                TInt len = data->iKeyData.Length();
-                for ( TInt i=0;i < len; i++ ) 
-                    {
-                    trueKeySeries.Append(data->iKeyData[len-i-1]);
-                    }        
-                } 
-            else
-                {
-                trueKeySeries.Append( data->iKeyData );
-                }
-                    
-            iContext->Sendkey( ESignalKeyEvent, trueKeySeries );             
-            }            
-        }
-        
-    return ETrue; 
-    }
--- a/textinput/peninputcommonlayout/src/peninputuistatemgr.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,152 +0,0 @@
-/*
-* 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:  Implementation of the ui state machine manager
-*
-*/
-
-
-// User includes
-#include "peninputuistatemgr.h"
-#include "peninputlayoutcontext.h"
-#include "peninputuistatebase.h"
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// --------------------------------------------------------------------------
-// CPeninputUiStateMgr::CPeninputUiStateMgr
-// (other items were commented in a header)
-// --------------------------------------------------------------------------
-//
-CPeninputUiStateMgr::CPeninputUiStateMgr( MPeninputLayoutContext* aContext )
-    : iContext( aContext )
-    {
-    }
-
-// --------------------------------------------------------------------------
-// CPeninputUiStateMgr::NewL
-// (other items were commented in a header).
-// --------------------------------------------------------------------------
-//
-EXPORT_C CPeninputUiStateMgr* CPeninputUiStateMgr::NewL( 
-    MPeninputLayoutContext* aContext )
-    {
-    CPeninputUiStateMgr* self = NewLC( aContext );
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-    
-// --------------------------------------------------------------------------
-// CPeninputUiStateMgr::NewLC
-// (other items were commented in a header)
-// --------------------------------------------------------------------------
-//
-EXPORT_C CPeninputUiStateMgr* CPeninputUiStateMgr::NewLC( 
-    MPeninputLayoutContext* aContext )
-    {
-    CPeninputUiStateMgr* self = 
-        new ( ELeave ) CPeninputUiStateMgr( aContext );
-    CleanupStack::PushL( self );
-    self->Construct(); 
-    
-    return self;
-    }
-      
-// --------------------------------------------------------------------------
-// CPeninputUiStateMgr::~CPeninputUiStateMgr
-// (other items were commented in a header)
-// --------------------------------------------------------------------------
-//
-EXPORT_C CPeninputUiStateMgr::~CPeninputUiStateMgr()
-    {
-    iUiStateTypeList.Reset();
-    iUiStateTypeList.Close();
-    
-    iUiStateList.ResetAndDestroy();
-    iUiStateList.Close();
-    }
-    
-// --------------------------------------------------------------------------
-// CPeninputUiStateMgr::CurrentUiState
-// (other items were commented in a header)
-// --------------------------------------------------------------------------
-//
-EXPORT_C CPeninputUiStateBase* CPeninputUiStateMgr::CurrentUiState()
-    {
-    return iCurrentState;
-    }
-
-// --------------------------------------------------------------------------
-// CPeninputUiStateMgr::GetUiState
-// (other items were commented in a header).
-// --------------------------------------------------------------------------
-EXPORT_C CPeninputUiStateBase* CPeninputUiStateMgr::GetUiState( 
-    TInt aUiStateType )                                            
-    {
-    CPeninputUiStateBase* uiState = NULL;
-  
-    for ( TInt i = 0; i < iUiStateTypeList.Count(); i++ )
-        {
-        if ( iUiStateTypeList[i] == aUiStateType )
-            {
-            uiState = iUiStateList[i];
-            break;
-            }
-        }
-    
-    return uiState; 
-    }
-    
-// --------------------------------------------------------------------------
-// CPeninputUiStateMgr::SetCurrentUiState
-// (other items were commented in a header)
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputUiStateMgr::SetCurrentUiState( 
-    CPeninputUiStateBase* aUiState )
-    {
-    iCurrentState = aUiState;
-    }
-
-// --------------------------------------------------------------------------
-// CPeninputUiStateMgr::SetCurrentUiState
-// (other items were commented in a header)
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputUiStateMgr::SetCurrentUiState( TInt aUiStateType )
-    {
-    iCurrentState = GetUiState( aUiStateType );
-    }
-
-// --------------------------------------------------------------------------
-// CPeninputUiStateMgr::AddUiState
-// (other items were commented in a header)
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CPeninputUiStateMgr::AddUiState( CPeninputUiStateBase* aUiState,
-                                               TInt aUiStateType )
-    {
-    iUiStateTypeList.Append( aUiStateType );
-    iUiStateList.Append( aUiState );  
-    }
-    
-// --------------------------------------------------------------------------
-// CPeninputUiStateMgr::ConstructL
-// (other items were commented in a header)
-// --------------------------------------------------------------------------
-//
-void CPeninputUiStateMgr::Construct()
-    {
-    }
Binary file textinput/peninputhwrtrui/data/TrainUiPreset.dat has changed
--- a/textinput/peninputhwrtrui/data/trui.rss	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2624 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Resource definitions for project TrainingUI
-*
-*/
-
-NAME HELL
-
-#include <eikon.rh>
-#include <eikon.rsg>
-#include <avkon.rh>
-#include <avkon.rsg>
-#include <trui_icons.mbg>
-#include <data_caging_paths_strings.hrh>
-#include <appinfo.rh>
-#include <trui.loc>
-#include <aknsconstants.hrh>
-
-#include "trui.hrh"
-#include "trui.rh"
-
-#define TRUI_SHORTCUTEDITOR_TEXT_MAXLENGTH  160
-
-// d:Radio button's text in shortcut edit model view
-// l:(none)
-// r:5.0
-// 
-#define qtn_hwrt_radio_button_own_symbol "Own symbol"
-
-// d:Tooltip text for grid buttont on edit symbol view
-// l:list_single_graphic_pane
-// r:5.0
-// 
-#define qtn_hwrt_tooltip_select_symbol "Select symbol"
-
-// d:Radio button's text in shortcut edit model view
-// l:(none)
-// r:5.0
-// 
-#define qtn_hwrt_radio_button_preset_symbol "Preset symbol"
-
-// d:Tooltip text for preset symbols in shortcut edit model view
-// l:none
-// r:5.0
-// 
-#define qtn_hwrt_text_purpose_selected_symbol "You can select a symbol for the shortcut text and use it later to call the text."
-
-// d:Query note for all preset models are in use
-// l:popup_note_window
-// r:5.0
-//
-#define qtn_hwrt_all_symbols_in_use_notification "All preset symbols are in use."
-
-// d:Displayed in SCT dialog.
-// d:Text in sct dialog as the title
-// l:(none)
-// r:5.0
-//
-#define qtn_sct_dialog_title "Select a character:"
-
-// d:Short application name in application shell.
-// l:(none)
-// r:5.0
-//
-#define qtn_trui_short_caption "trui"
-
-// d:Item in choicelist when language script is western.
-// d:Perform the function of changing character range to western lower
-// l:(none)
-// r:5.0
-//
-#define qtn_hwrt_char_range_lower       "ab"
-
-// d:Item in choicelist when language script is western.
-// d:Perform the function of changing character range to western captial
-// l:(none)
-// r:5.0
-//
-#define qtn_hwrt_char_range_capital     "AB"
-
-// d:Item in choicelist under all scripts.
-// d:Perform the function of changing character range to digits
-// l:(none)
-// r:5.0
-//
-#define qtn_hwrt_char_range_digits      "12"
-
-// d:Item in choicelist under all scripts.
-// d:Perform the function of changing character range to symbols
-// l:(none)
-// r:5.0
-//
-#define qtn_hwrt_char_range_symbols     "*#"
-
-// d:Item in choicelist when language script is cyrillic.
-// d:Perform the function of changing character range to cyrillic lower
-// l:(none)
-// r:5.0
-//
-#define qtn_hwrt_cyrillic_lower_range   <0x0430><0x0431>
-
-// d:Item in choicelist when language script is cyrillic.
-// d:Perform the function of changing character range to cyrillic capital
-// l:(none)
-// r:5.0
-//
-#define qtn_hwrt_cyrillic_capital_range <0x0410><0x0411>
-
-// d:Item in choicelist when language script is greek.
-// d:Perform the function of changing character range to greek lower
-// l:(none)
-// r:5.0
-//
-#define qtn_hwrt_greek_lower_range      <0x03B1><0x03C9>
-
-// d:Item in choicelist when language script is greek.
-// d:Perform the function of changing character range to greek captial
-// l:(none)
-// r:5.0
-//
-#define qtn_hwrt_greek_capital_range    <0x0391><0x03A9>
-
-// d:Item in choicelist when language script is hebrew.
-// d:Perform the function of changing character range to hebrew letters
-// l:(none)
-// r:5.0
-//
-#define qtn_hwrt_hebrew_letters         <0x05D0><0x05D1>
-
-// d:Command in options list of sub menu of character range under western script.
-// d:Perform the function of changing character range to western lower.
-// l:(none)
-// r:5.0
-//
-#define qtn_hwrt_submenu_latin_lower    "ab"
-
-// d:Command in options list of sub menu of character range under western script.
-// d:Perform the function of changing character range to western capital
-// l:list_single_popup_submenu_pane_t1
-// r:5.0
-//
-#define qtn_hwrt_submenu_latin_capital  "AB"
-
-// d:Command in options list of sub menu of character range under western script.
-// d:Perform the function of changing character range to western accent
-// l:list_single_popup_submenu_pane_t1
-// r:5.0
-//
-#define qtn_hwrt_char_range_latin_accent   <0x00E0><0x017E>
-
-// d:Command in options list of sub menu of character range under all scripts.
-// d:Perform the function of changing character range to digits
-// l:list_single_popup_submenu_pane_t1
-// r:5.0
-//
-#define qtn_hwrt_submenu_digits         "12"
-
-// d:Command in options list of sub menu of character range under all scripts.
-// d:Perform the function of changing character range to symbols
-// l:list_single_popup_submenu_pane_t1
-// r:5.0
-//
-#define qtn_hwrt_submenu_symbols        "*#"
-
-// d:Command in options list of sub menu of character range under cyrillic script.
-// d:Perform the function of changing character range to cyrillic lower
-// l:list_single_popup_submenu_pane_t1
-// r:5.0
-//
-#define qtn_hwrt_submenu_cyrillic_lower <0x0430><0x0431>
-
-// d:Command in options list of sub menu of character range under cyrillic script.
-// d:Perform the function of changing character range to cyrillic capital
-// l:list_single_popup_submenu_pane_t1
-// r:5.0
-//
-#define qtn_hwrt_submenu_cyrillic_capital   <0x0410><0x0411>
-
-// d:Command in options list of sub menu of character range under cyrillic script.
-// d:Perform the function of changing character range to cyrillic accent
-// l:list_single_popup_submenu_pane_t1
-// r:5.0
-//
-#define qtn_hwrt_char_range_cyrillic_accent    <0x044A><0x0451>
-
-// d:Command in options list of sub menu of character range under greek script.
-// d:Perform the function of changing character range to greek lower
-// l:list_single_popup_submenu_pane_t1
-// r:5.0
-//
-#define qtn_hwrt_submenu_greek_lower    <0x03B1><0x03C9>
-
-// d:Command in options list of sub menu of character range under greek script.
-// d:Perform the function of changing character range to greek capital.
-// l:list_single_popup_submenu_pane_t1
-// r:5.0
-//
-#define qtn_hwrt_submenu_greek_capital  <0x0391><0x03A9>
-
-// d:Command in options list of sub menu of character range under hebrew script.
-// d:Perform the function of changing character range to hebrew letters.
-// l:list_single_popup_submenu_pane_t1
-// r:5.0
-//
-#define qtn_hwrt_submenu_hebrew_letters <0x05D0><0x05D1>
-
-// Latin character set
-// d:Displayed in SCT, used during developping temporarily.
-// d:Latin lower letters
-// l:(none)
-// r:5.0
-//
-#define qtn_sct_latin_lowerletters <0x0061><0x0062><0x0063><0x0064><0x0065>\
-                                   <0x0066><0x0067><0x0068><0x0069><0x006A>\
-                                   <0x006B><0x006C><0x006D><0x006E><0x006F>\
-                                   <0x0070><0x0071><0x0072><0x0073><0x0074>\
-                                   <0x0075><0x0076><0x0077><0x0078><0x0079>\
-                                   <0x007A>			           
-
-// d:Displayed in SCT, used during developping temporarily.
-// d:Latin upper letters
-// l:(none)
-// r:5.0
-//
-#define qtn_sct_latin_upperletters <0x0041><0x0042><0x0043><0x0044><0x0045>\
-                                   <0x0046><0x0047><0x0048><0x0049><0x004A>\
-                                   <0x004B><0x004C><0x004D><0x004E><0x004F>\
-                                   <0x0050><0x0051><0x0052><0x0053><0x0054>\
-                                   <0x0055><0x0056><0x0057><0x0058><0x0059>\
-                                   <0x005A>
-
-// d:Displayed in SCT, used during developping temporarily.
-// d:Latin digital letters
-// l:(none)
-// r:5.0
-//
-#define qtn_sct_latin_digital <0x0031><0x0032><0x0033><0x0034><0x0035>\
-                              <0x0036><0x0037><0x0038><0x0039><0x0030>
-
-// d:Displayed in SCT, used during developping temporarily.
-// d:Latin symbol letters
-// l:(none)
-// r:5.0
-//
-#define qtn_sct_latin_symbol <0x002E><0x002C><0x0027><0x003F>\
-                             <0x0021><0x0022><0x002D><0x0028>\
-                             <0x0029><0x0040><0x002F><0x003A>\
-                             <0x005F><0x003B><0x002B><0x0026>\
-                             <0x0025><0x002A><0x003D><0x00A3>\
-                             <0x20AC><0x0024><0x00A5><0x00A4>\
-                             <0x003C><0x003E><0x005C><0x007E>\
-                             <0x005E><0x00A1><0x00BF><0x0023>\
-                             <0x007C><0x0060><0x201E><0x00B1>\
-                             <0x2030><0x00A2><0x20AA><0x0E3F>\
-                             <0x20AB>                             
-
-// d:Displayed in SCT, used during developping temporarily.
-// d:Chinese Latin symbol letters
-// l:(none)
-// r:5.0
-//
-#define qtn_sct_latin_symbol_chinese <0x002E><0x002C><0x0027><0x003F>\
-                                     <0x0021><0x0022><0x002D><0x0028>\
-                                     <0x0029><0x0040><0x002F><0x003A>\
-                                     <0x005F><0x003B><0x002B><0x0026>\
-                                     <0x0025><0x002A><0x003D><0x00A3>\
-                                     <0x20AC><0x0024><0x00A5><0x00A4>\
-                                     <0x003C><0x003E><0x005C><0x007E>\
-                                     <0x005E><0x00A1><0x00BF><0x0023>\
-                                     <0x007C><0x0060><0x201E><0x00B1>\
-                                     <0x2030><0x00A2>
-                             
-// d:Displayed in SCT, used during developping temporarily.
-// d:Latin accent letters
-// l:(none)
-// r:5.0
-//
-#define qtn_sct_latin_accent <0x00C0><0x00C1><0x00C2><0x00C3><0x00C4><0x00C5><0x00C6>\
-                             <0x00C7><0x00C8><0x00C9><0x00CA><0x00CB><0x00CC><0x00CD>\
-                             <0x00CE><0x00CF><0x00D0><0x00D1><0x00D2><0x00D3><0x00D4>\
-                             <0x00D5><0x00D6><0x00D8><0x00D9><0x00DA><0x00DB><0x00DC>\
-                             <0x00DD><0x00DE><0x00DF><0x00E0><0x00E1><0x00E2><0x00E3>\
-                             <0x00E4><0x00E5><0x00E6><0x00E7><0x00E8><0x00E9><0x00EA>\
-                             <0x00EB><0x00EC><0x00ED><0x00EE><0x00EF><0x00F0><0x00F1>\
-                             <0x00F2><0x00F3><0x00F4><0x00F5><0x00F6><0x00F8><0x00F9>\
-                             <0x00FA><0x00FB><0x00FC><0x00FD><0x00FE><0x00FF><0x0100>\
-                             <0x0101><0x0102><0x0103><0x0104><0x0105><0x0106><0x0107>\
-                             <0x0108><0x0109><0x010A><0x010B><0x010C><0x010D><0x010E>\
-                             <0x010F><0x0110><0x0111><0x0112><0x0113><0x0114><0x0115>\
-                             <0x0116><0x0117><0x0118><0x0119><0x011A><0x011B><0x011C>\
-                             <0x011D><0x011E><0x011F><0x0120><0x0121><0x0122><0x0123>\
-                             <0x0124><0x0125><0x0126><0x0127><0x012A><0x012B><0x012C>\
-                             <0x012D><0x012E><0x012F><0x0130><0x0131><0x0134><0x0135>\
-                             <0x0136><0x0137><0x0139><0x013A><0x013B><0x013C><0x013D>\
-                             <0x013E><0x013F><0x0140><0x0141><0x0142><0x0143><0x0144>\
-                             <0x0145><0x0146><0x0147><0x0148><0x014A><0x014B><0x014C>\
-                             <0x014D><0x014E><0x014F><0x0150><0x0151><0x0152><0x0153>\
-                             <0x0154><0x0155><0x0156><0x0157><0x0158><0x0159><0x015A>\
-                             <0x015B><0x015C><0x015D><0x015E><0x015F><0x0160><0x0161>\
-                             <0x0162><0x0163><0x0164><0x0165><0x0166><0x0167><0x016A>\
-                             <0x016B><0x016C><0x016D><0x016E><0x016F><0x0170><0x0171>\
-                             <0x0172><0x0173><0x0174><0x0175><0x0176><0x0177><0x0178>\
-                             <0x0179><0x017A><0x017B><0x017C><0x017D><0x017E><0x018F>\
-                             <0x01B7><0x01E4><0x01E5><0x01E6><0x01E7><0x01E8><0x01E9>\
-                             <0x01EE><0x01EF><0x021E><0x021F><0x0259><0x0292>
-
-// Cyrillic character set
-// d:Displayed in SCT, used during developping temporarily.
-// d:Cyrillic lower letters
-// l:(none)
-// r:5.0
-//
-#define qtn_sct_cyrillic_lowerletters <0x0430><0x0431><0x0432><0x0433>\
-                                      <0x0491><0x0434><0x0452><0x0435>\
-                                      <0x0451><0x0454><0x0436><0x0437>\
-                                      <0x0438><0x0439><0x0456><0x0457>\
-                                      <0x0458><0x043A><0x043B><0x0459>\
-                                      <0x043C><0x043D><0x045A><0x043E>\
-                                      <0x043F><0x0440><0x0441><0x0442>\
-                                      <0x045B><0x0443><0x0444><0x0445>\
-                                      <0x0446><0x0447><0x0448><0x0449>\
-                                      <0x044A><0x044B><0x044C><0x044D>\
-                                      <0x044E><0x044F>
-
-// d:Displayed in SCT, used during developping temporarily.
-// d:Cyrillic upper letters
-// l:(none)
-// r:5.0
-//
-#define qtn_sct_cyrillic_upperletters <0x0410><0x0411><0x0412><0x0413>\
-                                      <0x0490><0x0414><0x0402><0x0415>\
-                                      <0x0401><0x0404><0x0416><0x0417>\
-                                      <0x0418><0x0419><0x0406><0x0407>\
-                                      <0x0408><0x041A><0x041B><0x0409>\
-                                      <0x041C><0x041D><0x040A><0x041E>\
-                                      <0x041F><0x0420><0x0421><0x0422>\
-                                      <0x0423><0x0424><0x0425><0x0426>\
-                                      <0x0427><0x0428><0x0429><0x042A>\
-                                      <0x042B><0x042C><0x042D><0x042E>\
-                                      <0x042F>
-
-// d:Displayed in SCT, used during developping temporarily.
-// d:Cyrillic accent letters
-// l:(none)
-// r:5.0
-//
-#define qtn_sct_cyrillic_accent <0x0453><0x0403><0x0491><0x0490>\
-                                <0x0493><0x0492><0x0452><0x0402>\
-                                <0x0455><0x0405><0x0450><0x0400>\
-                                <0x0451><0x0401><0x0454><0x0404>\
-                                <0x04D9><0x04D8><0x04C2><0x04C1>\
-                                <0x0456><0x0406><0x0457><0x0407>\
-                                <0x045D><0x040D><0x0458><0x0408>\
-                                <0x045C><0x040C><0x049B><0x049A>\
-                                <0x049D><0x049C><0x0459><0x0409>\
-                                <0x045A><0x040A><0x04A3><0x04A2>\
-                                <0x04E9><0x04E8><0x045E><0x040E>\
-                                <0x04AF><0x04AE><0x04B1><0x04B0>\
-                                <0x04B3><0x04B2><0x045F><0x040F>\
-                                <0x045B><0x040B><0x04B9><0x04B8>\
-                                <0x04BB><0x04BA>
-
-// d:Displayed in SCT, used during developping temporarily.
-// d:Greek lower letters
-// l:(none)
-// r:5.0
-//
-#define qtn_sct_greek_lowerletters <0x03B1><0x03AC><0x03B2><0x03B3>\
-                                   <0x03B4><0x03B5><0x03AD><0x03B6>\
-                                   <0x03B7><0x03AE><0x03B8><0x03B9>\
-                                   <0x03AF><0x03CA><0x0390><0x03BA>\
-                                   <0x03BB><0x03BC><0x03BD><0x03BE>\
-                                   <0x03BF><0x03CC><0x03C0><0x03C1>\
-                                   <0x03C3><0x03C2><0x03C4><0x03C5>\
-                                   <0x03CD><0x03CB><0x03B0><0x03C6>\
-                                   <0x03C7><0x03C8><0x03C9><0x03CE>
-                                   
-
-// d:Displayed in SCT, used during developping temporarily.
-// d:Greek upper letters
-// l:(none)
-// r:5.0
-//
-#define qtn_sct_greek_upperletters <0x0391><0x0386><0x0392><0x0393>\
-                                   <0x0394><0x0395><0x0388><0x0396>\
-                                   <0x0397><0x0389><0x0398><0x0399>\
-                                   <0x038A><0x03AA><0x039A><0x039B>\
-                                   <0x039C><0x039D><0x039E><0x039F>\
-                                   <0x038C><0x03A0><0x03A1><0x03A3>\
-                                   <0x03A4><0x03A5><0x038E><0x03AB>\
-                                   <0x03A6><0x03A7><0x03A8><0x03A9>\
-                                   <0x038F>
-
-// Hebrew character set
-// d:Displayed in SCT, used during developping temporarily.
-// d:Hebrew lower letters
-// l:(none)
-// r:5.0
-//
-#define qtn_sct_hebrew_letters    <0x05D0><0x05D1><0x05D2><0x05D3>\
-                                  <0x05D4><0x05D5><0x05D6><0x05D7>\
-                                  <0x05D8><0x05D9><0x05DB><0x05DA>\
-                                  <0x05DC><0x05DE><0x05DD><0x05E0>\
-                                  <0x05DF><0x05E1><0x05E2><0x05E4>\
-                                  <0x05E3><0x05E6><0x05E5><0x05E7>\
-                                  <0x05E8><0x05E9><0x05EA>
-                                  
-// Cyrillic character set 
-// d:Displayed in SCT, used during developping temporarily.
-// d:Bulgarian lower letters
-// l:(none)
-// r:5.0
-//
-#define qtn_sct_cyrillic_lowerletters_bulgarian <0x0430><0x0431><0x0432><0x0433>\
-                                                <0x0434><0x0435><0x0436><0x0437>\
-                                                <0x0438><0x0439><0x043A><0x043B>\
-                                                <0x043C><0x043D><0x043E><0x043F>\
-                                                <0x0440><0x0441><0x0442><0x0443>\
-                                                <0x0444><0x0445><0x0446><0x0447>\
-                                                <0x0448><0x0449><0x044A><0x044C>\
-                                                <0x044E><0x044F>
-
-// Cyrillic character set
-// d:Displayed in SCT, used during developping temporarily.
-// d:Russian lowers letters
-// l:(none)
-// r:5.0
-//
-#define qtn_sct_cyrillic_lowerletters_russian <0x0430><0x0431><0x0432><0x0433>\
-                                              <0x0434><0x0435><0x0451><0x0436>\
-                                              <0x0437><0x0438><0x0439><0x043A>\
-                                              <0x043B><0x043C><0x043D><0x043E>\
-                                              <0x043F><0x0440><0x0441><0x0442>\
-                                              <0x0443><0x0444><0x0445><0x0446>\
-                                              <0x0447><0x0448><0x0449><0x044A>\
-                                              <0x044B><0x044C><0x044D><0x044E>\
-                                              <0x044F>
-// Cyrillic character set
-// d:Displayed in SCT, used during developping temporarily.
-// d:Ukraine lowers letters
-// l:(none)
-// r:5.0
-//
-#define qtn_sct_cyrillic_lowerletters_ukraine <0x0430><0x0431><0x0432><0x0433>\
-                                              <0x0491><0x0434><0x0435><0x0454>\
-                                              <0x0436><0x0437><0x0438><0x0439>\
-                                              <0x0456><0x0457><0x043A><0x043B>\
-                                              <0x043C><0x043D><0x043E><0x043F>\
-                                              <0x0440><0x0441><0x0442><0x0443>\
-                                              <0x0444><0x0445><0x0446><0x0447>\
-                                              <0x0448><0x0449><0x044C><0x044E>\
-                                              <0x044F>
-
-// d:Displayed in SCT, used during developping temporarily.
-// d:Bulgarian upper letters
-// l:(none)
-// r:5.0
-//
-#define qtn_sct_cyrillic_upperletters_bulgarian <0x0410><0x0411><0x0412><0x0413>\
-                                                <0x0414><0x0415><0x0416><0x0417>\
-                                                <0x0418><0x0419><0x041A><0x041B>\
-                                                <0x041C><0x041D><0x041E><0x041F>\
-                                                <0x0420><0x0421><0x0422><0x0423>\
-                                                <0x0424><0x0425><0x0426><0x0427>\
-                                                <0x0428><0x0429><0x042A><0x042C>\
-                                                <0x042E><0x042F>
-
-// d:Displayed in SCT, used during developping temporarily.
-// d:Russian upper letters
-// l:(none)
-// r:5.0
-//
-#define qtn_sct_cyrillic_upperletters_russian <0x0410><0x0411><0x0412><0x0413>\
-                                              <0x0414><0x0415><0x0401><0x0416>\
-                                              <0x0417><0x0418><0x0419><0x041A>\
-                                              <0x041B><0x041C><0x041D><0x041E>\
-                                              <0x041F><0x0420><0x0421><0x0422>\
-                                              <0x0423><0x0424><0x0425><0x0426>\
-                                              <0x0427><0x0428><0x0429><0x042A>\
-                                              <0x042B><0x042C><0x042D><0x042E>\
-                                              <0x042F>
-
-// d:Displayed in SCT, used during developping temporarily.
-// d:Ukraine upper letters
-// l:(none)
-// r:5.0
-//
-#define qtn_sct_cyrillic_upperletters_ukraine <0x0410><0x0411><0x0412><0x0413>\
-                                              <0x0490><0x0414><0x0415><0x0404>\
-                                              <0x0416><0x0417><0x0418><0x0419>\
-                                              <0x0406><0x0407><0x041A><0x041B>\
-                                              <0x041C><0x041D><0x041E><0x041F>\
-                                              <0x0420><0x0421><0x0422><0x0423>\
-                                              <0x0424><0x0425><0x0426><0x0427>\
-                                              <0x0428><0x0429><0x042C><0x042E>\
-                                              <0x042F>
-
-// Preset symbols character set
-// d:Preset symbols text
-// l:none
-// r:5.0
-//
-#define qtn_hwrt_preset_characters        <0x2600><0x2601><0x2610><0x2630><0x2690><0x26A1><0x2642>\
-                                          <0x2640><0x2661><0x2662><0x2664><0x2667><0x263E><0x2606>\
-                                          <0x266C><0x26AF><0x2668><0x2698><0x2687><0x2695>
-
-// d:Fullname of MBG files saving App info.
-// l:(none)
-// r:5.0
-// 
-#define qtn_trui_appinfo_icons_filename "trui_aif.mif"
-
-// d:Fullname of MBG files.
-// l:(none)
-// r:5.0
-// 
-#define qtn_trui_icons_filename "trui_icons.mif"
-
-// d:Indicator's text in main view.
-// d:Information of which character being trained.
-// d:%S stands for the currently trained character
-// l:(none)
-// r:5.0
-//
-#define qtn_hwrt_active_char_indicator  "%S"
-
-// d:Default in SCT must be set when initializing a SCT dialog
-// d:It is not used for display, but only for initializing a SCT dialog successfully.
-// l:(none)
-// r:5.0
-// 
-#define qtn_hwr_sct_initial_text " "
-
-// d:Tooltip of character model failing to be saved.
-// l:popup_note_window
-// r:5.0
-//
-#define qtn_hwrt_note_save_failed       "Save failed"
-
-// d:Full application name in application shell.
-// l:(none)
-// r:5.0
-//
-#define  qtn_trui_full_caption "TrainingUI"
-
-// ---------------------------------------------------------------------------
-//   
-//    Define the resource file signature 
-//    This resource should be empty.
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE RSS_SIGNATURE { }
-
-// ---------------------------------------------------------------------------
-//   
-//    Default Document Name
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE TBUF r_default_document_name { buf=""; }
-
-// ---------------------------------------------------------------------------
-//   
-//    Define default menu and CBA key.
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE EIK_APP_INFO
-    {
-    menubar = r_trui_mainview_menubar;
-    }
-
-RESOURCE EIK_APP_INFO_EXT r_trui_toolbar_info_extension
-    {
-    popup_toolbar = r_trui_fixed_toolbar;
-    }
-
-// ---------------------------------------------------------------------------
-// r_trui_mainview
-// Define main view
-// ---------------------------------------------------------------------------
-//
-RESOURCE AVKON_VIEW r_trui_mainview
-    {
-    menubar = r_trui_mainview_menubar;
-    cba = R_AVKON_SOFTKEYS_OPTIONS_EXIT;
-    toolbar = r_trui_mainview_toolbar;    
-    }
-
-// ---------------------------------------------------------------------------
-//   
-//    r_trui_fixed_toolbar
-//    fixed toolbar
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE AVKON_TOOLBAR r_trui_fixed_toolbar
-    {
-    flags = KAknToolbarWithoutCba | KAknToolbarTransparent | KAknToolbarFixed;
-    }
-
-// ---------------------------------------------------------------------------
-//   
-//    r_trui_mainview_toolbar_buttons
-//    fixed toolbar button groups
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE TOOLBAR_BUTTON_GROUPS r_trui_mainview_toolbar_buttons
-    {
-    buttons = 
-        {
-        TBAR_CTRL
-            {
-            type = EAknCtButton;
-            id = EMainViewButtonIdGrid;
-            control = SKIN_BUTTON
-                { 
-                flags = KAknButtonSizeFitText;
-                helptxt= qtn_hwrt_tooltip_select_character;
-                bmpfile = APP_BITMAP_DIR"\\"qtn_trui_icons_filename;
-                bmpid = EMbmTrui_iconsQgn_indi_tb_char_grid;
-                bmpmask = EMbmTrui_iconsQgn_indi_tb_char_grid_mask;
-                mainitemid = EAknsMajorSkin;
-                minoritemid = EAknsMinorGenericQgnIndiTbCharGrid;
-                };
-            },
-        TBAR_CTRL
-            {
-            type = EAknCtButton;
-            id = EMainViewButtonIdPreview;
-            control = SKIN_BUTTON
-                {
-                flags = KAknButtonSizeFitText;
-                helptxt= qtn_hwrt_tooltip_preview_drawing;
-                bmpfile = APP_BITMAP_DIR"\\"qtn_trui_icons_filename;
-                bmpid = EMbmTrui_iconsQgn_indi_tb_model_preview;
-                bmpmask = EMbmTrui_iconsQgn_indi_tb_model_preview_mask;
-                mainitemid = EAknsMajorNone;
-                minoritemid = EAknsMinorGenericQgnIndiTbModelPreview;
-                };
-            },
-        TBAR_CTRL
-            {
-            type = EAknCtButton;
-            id = EMainViewButtonIdDelete;
-            control = SKIN_BUTTON
-                {                
-                flags = KAknButtonSizeFitText;
-                helptxt= qtn_hwrt_tooltip_delete_drawing;
-                bmpfile = APP_BITMAP_DIR"\\"qtn_trui_icons_filename;
-                bmpid = EMbmTrui_iconsQgn_indi_tb_remove;
-                bmpmask = EMbmTrui_iconsQgn_indi_tb_remove_mask;
-                mainitemid = EAknsMajorNone;
-                minoritemid = EAknsMinorGenericQgnIndiTbRemove;
-                };
-            }
-        };
-    }
-    
-// ---------------------------------------------------------------------------
-// r_trui_mainview_menubar
-// Menu title definition in main view
-// ---------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_trui_mainview_menubar
-    {
-    titles =
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_trui_mainview_menupane;
-            }
-        };
-    }
-
-// ---------------------------------------------------------------------------
-// r_trui_mainview_menupane
-// Menu for "Options" in main view
-// ---------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_trui_mainview_menupane
-    {
-    items =
-        {
-        MENU_ITEM
-            {
-            command = EMainViewDeleteModel;
-            cascade = r_trui_mainview_menu_delete_cascade;
-            txt = qtn_hwrt_om_delete_model;
-            },
-        MENU_ITEM
-            {
-            command = EMainViewPreviewModel;
-            txt = qtn_hwrt_om_preview_model;
-            },
-        MENU_ITEM
-            {
-            command = EMainViewCharRange;
-            cascade = r_trui_mainview_menu_charrange_cascade;
-            txt = qtn_hwrt_om_character_range;            
-            },
-        MENU_ITEM
-            {
-            command = EMainViewCharGrid;
-            txt = qtn_hwrt_om_character_grid;
-            },
-        MENU_ITEM
-            {
-            command = EMainViewLanguageScript;
-            cascade = r_trui_mainview_menu_languagescript_cascade;
-            txt = qtn_hwrt_om_select_language;
-            },
-        MENU_ITEM 
-            {
-            command = EMainViewToShortcutsView;
-            txt = qtn_hwrt_om_shortcuts;
-            },            
-        MENU_ITEM
-            {
-            command = EMainViewHelp;
-            txt = qtn_options_help;
-            },
-        MENU_ITEM
-            {
-            command = EAknSoftkeyExit;
-            txt = qtn_options_exit;
-            }
-        };
-    }
-
-//-----------------------------------------------------------------------------
-//
-//    r_trui_mainview_menu_delete_cascade
-//    Sub menu-pane of "Language script" menu
-//
-//-----------------------------------------------------------------------------
-//    
-RESOURCE MENU_PANE r_trui_mainview_menu_delete_cascade
-    {
-    items=
-        {
-        MENU_ITEM 
-            {
-            command = EMainViewDeleteCurrentModel;
-            txt = qtn_hwrt_submenu_delete_current_model;            
-            },
-        MENU_ITEM 
-            {
-            command = EMainViewDeleteAllModel;
-            txt = qtn_hwrt_submenu_delete_all_models;
-            }
-        };    
-    }  
-
-//-----------------------------------------------------------------------------
-//
-//    r_trui_mainview_menu_languagescript_cascade
-//    Sub menu-pane of "Language script" menu
-//
-//-----------------------------------------------------------------------------
-//    
-RESOURCE MENU_PANE r_trui_mainview_menu_languagescript_cascade
-    {
-    items=
-        {
-        MENU_ITEM 
-            {
-            command = EMainViewSubmenuWestern;
-            txt = qtn_hwrt_submenu_western;
-            flags = EEikMenuItemRadioStart | EEikMenuItemSymbolOn;
-            },
-        MENU_ITEM 
-            {
-            command = EMainViewSubmenuCyrillic;
-            txt = qtn_hwrt_submenu_cyrillic;
-            },
-        MENU_ITEM 
-            {
-            command = EMainViewSubmenuGreek;
-            txt = qtn_hwrt_submenu_greek;
-            },
-        MENU_ITEM 
-            {
-            command = EMainViewSubmenuHebrew;
-            txt = qtn_hwrt_submenu_hebrew;
-            flags = EEikMenuItemRadioEnd;
-            }
-        };    
-    }          
-    
-//-----------------------------------------------------------------------------
-//
-//    r_trui_mainview_menu_charrange_cascade
-//    Sub menu-pane of "Character Range" menu
-//
-//-----------------------------------------------------------------------------
-//    
-RESOURCE MENU_PANE r_trui_mainview_menu_charrange_cascade
-    {    
-    }
-    
-//-----------------------------------------------------------------------------
-//
-//    r_trui_mainview_submenu_charrange_latin
-//    Sub menu items of "Character Range" under Latin
-//
-//-----------------------------------------------------------------------------
-//    
-RESOURCE MENU_ITEMS r_trui_mainview_submenu_charrange_latin
-    {
-    items=
-        {
-        MENU_ITEM 
-            {
-            command = EMainViewSubmenuLatinLowerLetter;
-            txt = qtn_hwrt_submenu_latin_lower;
-            flags = EEikMenuItemRadioStart | EEikMenuItemSymbolOn;
-            },
-        MENU_ITEM 
-            {
-            command = EMainViewSubmenuLatinUpperLetter;
-            txt = qtn_hwrt_submenu_latin_capital;
-            },
-        MENU_ITEM 
-            {
-            command = EMainViewSubmenuLatinAccent;
-            txt = qtn_hwrt_char_range_latin_accent;
-            },
-        MENU_ITEM 
-            {
-            command = EMainViewSubmenuDigital;
-            txt = qtn_hwrt_submenu_digits;
-            },
-        MENU_ITEM 
-            {
-            command = EMainViewSubmenuSymbols;
-            txt = qtn_hwrt_submenu_symbols;
-            flags = EEikMenuItemRadioEnd;
-            }
-        };  
-    }
- 
-//-----------------------------------------------------------------------------
-//
-//    r_trui_mainview_submenu_charrange_cyrillic
-//    Sub menu items of "Character Range" under Cyrillic
-//
-//-----------------------------------------------------------------------------
-//    
-RESOURCE MENU_ITEMS r_trui_mainview_submenu_charrange_cyrillic
-    {
-    items=
-        {
-        MENU_ITEM 
-            {
-            command = EMainViewSubmenuCyrillicLowerLetters;
-            txt = qtn_hwrt_submenu_cyrillic_lower;
-            flags = EEikMenuItemRadioStart | EEikMenuItemSymbolOn;
-            },
-        MENU_ITEM 
-            {
-            command = EMainViewSubmenuCyrillicUpperLetters;
-            txt = qtn_hwrt_submenu_cyrillic_capital;
-            },
-        MENU_ITEM 
-            {
-            command = EMainViewSubmenuCyrillicAccent;
-            txt = qtn_hwrt_char_range_cyrillic_accent;
-            },            
-        MENU_ITEM 
-            {
-            command = EMainViewSubmenuDigital;
-            txt = qtn_hwrt_submenu_digits;
-            },
-        MENU_ITEM 
-            {
-            command = EMainViewSubmenuSymbols;
-            txt = qtn_hwrt_submenu_symbols;
-            flags = EEikMenuItemRadioEnd;
-            }
-        };  
-    }
- 
-//-----------------------------------------------------------------------------
-//
-//    r_trui_mainview_submenu_charrange_greek
-//    Sub menu items of "Character Range" under Greek
-//
-//-----------------------------------------------------------------------------
-//    
-RESOURCE MENU_ITEMS r_trui_mainview_submenu_charrange_greek
-    {
-    items=
-        {
-        MENU_ITEM 
-            {
-            command = EMainViewSubmenuGreekLowerLetters;
-            txt = qtn_hwrt_submenu_greek_lower;
-            flags = EEikMenuItemRadioStart | EEikMenuItemSymbolOn;
-            },
-        MENU_ITEM 
-            {
-            command = EMainViewSubmenuGreekUpperLetters;
-            txt = qtn_hwrt_submenu_greek_capital;
-            },
-        MENU_ITEM 
-            {
-            command = EMainViewSubmenuDigital;
-            txt = qtn_hwrt_submenu_digits;
-            },
-        MENU_ITEM 
-            {
-            command = EMainViewSubmenuSymbols;
-            txt = qtn_hwrt_submenu_symbols;
-            flags = EEikMenuItemRadioEnd;
-            }
-        };  
-    }
-
-//-----------------------------------------------------------------------------
-//
-//    r_trui_mainview_submenu_charrange_hebrew
-//    Sub menu items of "Character Range" under Hebrew
-//
-//-----------------------------------------------------------------------------
-//    
-RESOURCE MENU_ITEMS r_trui_mainview_submenu_charrange_hebrew
-    {
-    items=
-        {
-        MENU_ITEM 
-            {
-            command = EMainViewSubmenuHebrewLetters;
-            txt = qtn_hwrt_submenu_hebrew_letters;
-            flags = EEikMenuItemRadioStart | EEikMenuItemSymbolOn;
-            },
-        MENU_ITEM 
-            {
-            command = EMainViewSubmenuDigital;
-            txt = qtn_hwrt_submenu_digits;
-            },
-        MENU_ITEM 
-            {
-            command = EMainViewSubmenuSymbols;
-            txt = qtn_hwrt_submenu_symbols;
-            flags = EEikMenuItemRadioEnd;
-            }
-        };  
-    }        
-    
-// ---------------------------------------------------------------------------
-// r_trui_shortcutsview
-// Define shortcuts view
-// ---------------------------------------------------------------------------
-//
-RESOURCE AVKON_VIEW r_trui_shortcutsview
-    {
-    menubar = r_trui_shortcutsview_menubar;
-    cba = R_AVKON_SOFTKEYS_OPTIONS_EXIT;
-    toolbar = r_trui_shortcuts_toolbar;
-    }
-
-// ---------------------------------------------------------------------------
-// r_trui_shortcutedittextview
-// Define shortcut edit text view
-// ---------------------------------------------------------------------------
-//
-RESOURCE AVKON_VIEW r_trui_shortcutedittextview
-    {
-    cba = r_trui_shortcuteditview_empty_cba;
-    }
-
-// ---------------------------------------------------------------------------
-//   
-//    r_trui_shortcuts_toolbar_buttons
-//    fixed toolbar button groups
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE TOOLBAR_BUTTON_GROUPS r_trui_shortcuts_toolbar_buttons
-    {
-    buttons = 
-        {
-        TBAR_CTRL
-            {
-            type = EAknCtButton;
-            id = EShortcutsViewButtonIdEditText;
-            control = SKIN_BUTTON
-                {
-                flags = KAknButtonSizeFitText;
-                helptxt= qtn_hwrt_tooltip_edit_shortcut_text;
-                bmpfile = APP_BITMAP_DIR"\\"qtn_trui_icons_filename;
-                bmpid = EMbmTrui_iconsQgn_indi_mce_tb_text;
-                bmpmask = EMbmTrui_iconsQgn_indi_mce_tb_text_mask;
-                mainitemid = EAknsMajorNone;
-                minoritemid = EAknsMinorGenericQgnIndiMceTbText;
-                };
-            },
-        TBAR_CTRL
-            {
-            type = EAknCtButton;
-            id = EShortcutsViewButtonIdEditModel;
-            control = SKIN_BUTTON
-                {
-                flags = KAknButtonSizeFitText;
-                helptxt= qtn_hwrt_tooltip_edit_shortcut_symbol;
-                bmpfile = APP_BITMAP_DIR"\\"qtn_trui_icons_filename;
-                bmpid = EMbmTrui_iconsQgn_indi_tb_edit_model;
-                bmpmask = EMbmTrui_iconsQgn_indi_tb_edit_model_mask;
-                mainitemid = EAknsMajorNone;
-                minoritemid = EAknsMinorGenericQgnIndiTbEditModel;
-                };
-            },
-        TBAR_CTRL
-            {
-            type = EAknCtButton;
-            id = EShortcutsViewButtonIdDelete;
-            control = SKIN_BUTTON
-                {
-                flags = KAknButtonSizeFitText;
-                helptxt= qtn_hwrt_tooltip_delete;
-                bmpfile = APP_BITMAP_DIR"\\"qtn_trui_icons_filename;
-                bmpid = EMbmTrui_iconsQgn_indi_tb_remove;
-                bmpmask = EMbmTrui_iconsQgn_indi_tb_remove_mask;
-                mainitemid = EAknsMajorNone;
-                minoritemid = EAknsMinorGenericQgnIndiTbRemove;
-                };
-            }
-        };
-    }
-
-// ---------------------------------------------------------------------------
-// r_trui_shortcutsview_menubar
-// Menu title definition in shortcuts view
-// ---------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_trui_shortcutsview_menubar
-    {
-    titles =
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_trui_shortcutsview_menupane;
-            }
-        };
-    }
-
-// ---------------------------------------------------------------------------
-// r_trui_shortcutsview_menupane
-// Menu for "Options" in shortcuts view
-// ---------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_trui_shortcutsview_menupane
-    {
-    items =
-        {
-        MENU_ITEM
-            {
-            command = EShortcutViewEditText;
-            txt = qtn_hwrt_om_edit_shortcut_text;
-            },
-        MENU_ITEM
-            {
-            command = EShortcutViewEditModel;
-            txt = qtn_hwrt_om_edit_shortcut_symbol;
-            },
-        MENU_ITEM
-            {
-            command = EShortcutViewCreate;
-            txt = qtn_hwrt_om_new_shortcut;            
-            },
-        MENU_ITEM
-            {
-            command = EShortcutViewDelete;
-            txt = qtn_hwrt_om_delete_shortcut;
-            },
-        MENU_ITEM
-            {
-            command = EShortcutViewLinkToHandwritting;
-            txt = qtn_hwrt_om_training;
-            },        
-        MENU_ITEM
-            {
-            command = EShortcutViewMark;
-            txt = qtn_options_list_mark_one;
-            },
-        MENU_ITEM
-            {
-            command = EShortcutViewUnmark;
-            txt = qtn_options_list_unmark_one;
-            },
-        MENU_ITEM
-            {
-            command = EShortcutViewResetInfoMessage;
-            txt = qtn_hwrt_om_reset_intro;
-            },
-        MENU_ITEM
-            {
-            command = EShortcutViewHelp;
-            txt = qtn_options_help;
-            },
-        MENU_ITEM
-            {
-            command = EAknSoftkeyExit;
-            txt = qtn_options_exit;
-            }
-        };
-    }
-
-// ---------------------------------------------------------------------------
-// r_trui_shortcutsview_context_menubar
-// Menu title definition for context menu in shortcuts view
-// ---------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_trui_shortcutsview_context_menubar
-    {
-    titles =
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_trui_shortcutsview_context_menupane;
-            }
-        };
-    }
-
-// ---------------------------------------------------------------------------
-// r_trui_shortcutsview_context_menupane
-// Menu for context menu in shortcuts view
-// ---------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_trui_shortcutsview_context_menupane
-    {
-    items =
-        {
-        MENU_ITEM
-            {
-            command = EShortcutViewEditText;
-            txt = qtn_msk_edit_text;
-            },
-        MENU_ITEM
-            {
-            command = EShortcutViewEditModel;
-            txt = qtn_msk_edit_symbol;
-            }
-        };
-    }
-       
-// ---------------------------------------------------------------------------
-// r_trui_shortcuteditview
-// Define shortcut edit view
-// ---------------------------------------------------------------------------
-//
-RESOURCE AVKON_VIEW r_trui_shortcuteditview
-    {
-    cba = R_AVKON_SOFTKEYS_DONE_BACK;
-    toolbar = r_trui_shortcut_edit_symbol_toolbar;
-    }
-
-// ---------------------------------------------------------------------------
-//   
-//    r_trui_shortcuteditview_create_cba
-//    CBA button when enter shortcut edit symbol view in wizard
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE CBA r_trui_shortcuteditview_create_cba
-    {
-    flags = 0;
-    buttons = 
-        {
-        CBA_BUTTON 
-            {
-            id = EAknSoftkeyDone; 
-            txt = text_softkey_finish;
-            },
-        CBA_BUTTON 
-            {
-            id = EAknSoftkeyBack; 
-            txt = text_softkey_back;
-            }           
-        };
-    } 
-   
-// ---------------------------------------------------------------------------
-//   
-//    r_trui_shortcuteditview_empty_cba
-//    Empty CBA button
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE CBA r_trui_shortcuteditview_empty_cba
-    {
-    flags = 0;
-    buttons = 
-        {
-        CBA_BUTTON 
-            {            
-            },
-        CBA_BUTTON 
-            {
-            }
-        };
-    }    
-    
-// ---------------------------------------------------------------------------
-//   
-//    r_trui_shortcuteditview_toolbar_buttons
-//    fixed toolbar button groups
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE TOOLBAR_BUTTON_GROUPS r_trui_shortcuteditview_toolbar_buttons
-    {
-    buttons = 
-        {
-        TBAR_CTRL
-            {
-            type = EAknCtButton;
-            id = EShortcutEditViewGrid;
-            control = SKIN_BUTTON
-                {
-                flags = KAknButtonSizeFitText; 
-                };
-            },        
-        TBAR_CTRL
-            {
-            type = EAknCtButton;
-            id = EShortcutEditViewPreviewModel;
-            control = SKIN_BUTTON
-                {
-                flags = KAknButtonSizeFitText;
-                helptxt= qtn_hwrt_tooltip_preview_drawing;
-                bmpfile = APP_BITMAP_DIR"\\"qtn_trui_icons_filename;
-                bmpid = EMbmTrui_iconsQgn_indi_tb_model_preview;
-                bmpmask = EMbmTrui_iconsQgn_indi_tb_model_preview_mask;
-                mainitemid = EAknsMajorNone;
-                minoritemid = EAknsMinorGenericQgnIndiTbModelPreview;
-                };
-            },
-        TBAR_CTRL
-            {
-            type = EAknCtButton;
-            id = EShortcutEditViewDelete;
-            control = SKIN_BUTTON
-                {
-                flags = KAknButtonSizeFitText;
-                helptxt= qtn_hwrt_tooltip_delete_drawing;
-                bmpfile = APP_BITMAP_DIR"\\"qtn_trui_icons_filename;
-                bmpid = EMbmTrui_iconsQgn_indi_tb_remove;
-                bmpmask = EMbmTrui_iconsQgn_indi_tb_remove_mask;
-                mainitemid = EAknsMajorNone;
-                minoritemid = EAknsMinorGenericQgnIndiTbRemove;
-                };
-            }
-        };
-    }
-    
-// ---------------------------------------------------------------------------
-// r_trui_infomessageview
-// Define shortcut edit view
-// ---------------------------------------------------------------------------
-//
-RESOURCE AVKON_VIEW r_trui_infomessageview
-    {    
-    cba = r_trui_infomessageview_cba;
-    }
-    
-// ---------------------------------------------------------------------------
-//   
-//    r_trui_infomessageview_cba
-//    CBA button for trui infomessage view
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE CBA r_trui_infomessageview_cba
-    {
-    flags = 0;
-    buttons = 
-        {
-        CBA_BUTTON 
-            {
-            id = EAknSoftkeyNext; 
-            txt = text_softkey_start;
-            },
-        CBA_BUTTON 
-            {
-            id = EAknSoftkeyCancel; 
-            txt = text_softkey_cancel;
-            }           
-        };
-    }
-    
-// ---------------------------------------------------------------------------
-//   
-//    r_mainview_button_charrange_latin_lower
-//    Skin-specified button for latin lower range
-//
-// ---------------------------------------------------------------------------
-//
-
-RESOURCE SKIN_BUTTON r_mainview_button_charrange_latin_lower
-    {   
-    bmpfile = APP_BITMAP_DIR"\\"qtn_trui_icons_filename;
-    bmpid = EMbmTrui_iconsQgn_indi_input_case_small;
-    bmpmask = EMbmTrui_iconsQgn_indi_input_case_small_mask;
-    mainitemid = EAknsMajorSkin;
-    minoritemid = EAknsMinorGenericQgnIndiFepButtonCaseSmall;    
-    }
-
-// ---------------------------------------------------------------------------
-//   
-//    r_mainview_button_charrange_latin_upper
-//    Skin-specified button for latin upper range
-//
-// ---------------------------------------------------------------------------
-//
-
-RESOURCE SKIN_BUTTON r_mainview_button_charrange_latin_upper
-    {
-    bmpfile = APP_BITMAP_DIR"\\"qtn_trui_icons_filename;
-    bmpid = EMbmTrui_iconsQgn_indi_input_case_capital;
-    bmpmask = EMbmTrui_iconsQgn_indi_input_case_capital_mask;
-    mainitemid = EAknsMajorSkin;
-    minoritemid = EAknsMinorGenericQgnIndiFepButtonCaseCapital;
-    }
-    
-// ---------------------------------------------------------------------------
-//   
-//    r_mainview_button_charrange_latin_accent
-//    Skin-specified button for latin accent range
-//
-// ---------------------------------------------------------------------------
-//
-
-RESOURCE SKIN_BUTTON r_mainview_button_charrange_latin_accent
-    {
-    bmpfile = APP_BITMAP_DIR"\\"qtn_trui_icons_filename;
-    bmpid = EMbmTrui_iconsQgn_indi_input_case_accented;
-    bmpmask = EMbmTrui_iconsQgn_indi_input_case_accented_mask;
-    mainitemid = EAknsMajorNone;
-    minoritemid = EAknsMinorGenericQgnIndiFepButtonCaseAccented;
-    }
-
-// ---------------------------------------------------------------------------
-//   
-//    r_mainview_button_charrange_cyrillic_lower
-//    Skin-specified button for cyrillic lower range
-//
-// ---------------------------------------------------------------------------
-//
-
-RESOURCE SKIN_BUTTON r_mainview_button_charrange_cyrillic_lower
-    {
-    bmpfile = APP_BITMAP_DIR"\\"qtn_trui_icons_filename;
-    bmpid = EMbmTrui_iconsQgn_indi_input_case_small_cyrillic;
-    bmpmask = EMbmTrui_iconsQgn_indi_input_case_small_cyrillic_mask;
-    mainitemid = EAknsMajorSkin;
-    minoritemid = EAknsMinorGenericQgnIndiFepButtonCaseSmallCyrillic;
-    }
-    
-// ---------------------------------------------------------------------------
-//   
-//    r_mainview_button_charrange_cyrillic_upper
-//    Skin-specified button for cyrillic upper range
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE SKIN_BUTTON r_mainview_button_charrange_cyrillic_upper
-    {
-    bmpfile = APP_BITMAP_DIR"\\"qtn_trui_icons_filename;
-    bmpid = EMbmTrui_iconsQgn_indi_input_case_capital_cyrillic;
-    bmpmask = EMbmTrui_iconsQgn_indi_input_case_capital_cyrillic_mask;
-    mainitemid = EAknsMajorSkin;
-    minoritemid = EAknsMinorGenericQgnIndiFepButtonCaseCapitalCyrillic;
-    }
-    
-// ---------------------------------------------------------------------------
-//   
-//    r_mainview_button_charrange_cyrillic_accent
-//    Skin-specified button for cyrillic accent range
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE SKIN_BUTTON r_mainview_button_charrange_cyrillic_accent
-    {
-    bmpfile = APP_BITMAP_DIR"\\"qtn_trui_icons_filename;
-    bmpid = EMbmTrui_iconsQgn_indi_input_case_accented_cyrillic;
-    bmpmask = EMbmTrui_iconsQgn_indi_input_case_accented_cyrillic_mask;
-    mainitemid = EAknsMajorSkin;
-    minoritemid = EAknsMinorGenericQgnIndiFepButtonCaseAccentedCyrillic;
-    }
-
-// ---------------------------------------------------------------------------
-//   
-//    r_mainview_button_charrange_greek_lower
-//    Skin-specified button for greek lower range
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE SKIN_BUTTON r_mainview_button_charrange_greek_lower
-    {
-    bmpfile = APP_BITMAP_DIR"\\"qtn_trui_icons_filename;
-    bmpid = EMbmTrui_iconsQgn_indi_input_case_small_greek;
-    bmpmask = EMbmTrui_iconsQgn_indi_input_case_small_greek_mask;
-    mainitemid = EAknsMajorSkin;
-    minoritemid = EAknsMinorGenericQgnIndiFepButtonCaseSmallGreek;
-    }
-
-// ---------------------------------------------------------------------------
-//   
-//    r_mainview_button_charrange_greek_upper
-//    Skin-specified button for greek upper range
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE SKIN_BUTTON r_mainview_button_charrange_greek_upper
-    {
-    bmpfile = APP_BITMAP_DIR"\\"qtn_trui_icons_filename;
-    bmpid = EMbmTrui_iconsQgn_indi_input_case_capital_greek;
-    bmpmask = EMbmTrui_iconsQgn_indi_input_case_capital_greek_mask;
-    mainitemid = EAknsMajorSkin;
-    minoritemid = EAknsMinorGenericQgnIndiFepButtonCaseCapitalGreek;
-    }
-
-// ---------------------------------------------------------------------------
-//   
-//    r_mainview_button_charrange_hebrew_letters
-//    Skin-specified button for hebrew range
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE SKIN_BUTTON r_mainview_button_charrange_hebrew_letters
-    {
-    bmpfile = APP_BITMAP_DIR"\\"qtn_trui_icons_filename;
-    bmpid = EMbmTrui_iconsQgn_indi_input_case_text_hebrew;
-    bmpmask = EMbmTrui_iconsQgn_indi_input_case_text_hebrew_mask;
-    mainitemid = EAknsMajorSkin;
-    minoritemid = EAknsMinorGenericQgnIndiFepButtonCaseTextHebrew;
-    }
-
-// ---------------------------------------------------------------------------
-//   
-//    r_mainview_button_charrange_numeric
-//    Skin-specified button for numeric range
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE SKIN_BUTTON r_mainview_button_charrange_numeric
-    {
-    bmpfile = APP_BITMAP_DIR"\\"qtn_trui_icons_filename;
-    bmpid = EMbmTrui_iconsQgn_indi_input_case_numeric;
-    bmpmask = EMbmTrui_iconsQgn_indi_input_case_numeric_mask;
-    mainitemid = EAknsMajorSkin;
-    minoritemid = EAknsMinorGenericQgnIndiFepButtonCaseNumeric;
-    }
-
-// ---------------------------------------------------------------------------
-//   
-//    r_mainview_button_charrange_symbol
-//    Skin-specified button for symbol range
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE SKIN_BUTTON r_mainview_button_charrange_symbol
-    {
-    bmpfile = APP_BITMAP_DIR"\\"qtn_trui_icons_filename;
-    bmpid = EMbmTrui_iconsQgn_indi_input_case_special;
-    bmpmask = EMbmTrui_iconsQgn_indi_input_case_special_mask;
-    mainitemid = EAknsMajorSkin;
-    minoritemid = EAknsMinorGenericQgnIndiFepButtonCaseSpecial;
-    }
-
-// ---------------------------------------------------------------------------
-//   
-//    r_mainview_button_left
-//    Skin-specified button for left button
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE SKIN_BUTTON r_mainview_button_left
-    {
-    bmpfile = APP_BITMAP_DIR"\\"qtn_trui_icons_filename;
-    bmpid = EMbmTrui_iconsQgn_indi_input_char_prev;
-    bmpmask = EMbmTrui_iconsQgn_indi_input_char_prev_mask;
-    mainitemid = EAknsMajorSkin;
-    minoritemid = EAknsMinorGenericQgnIndiInputCharPrev;
-    }
-
-// ---------------------------------------------------------------------------
-//   
-//    r_mainview_button_right
-//    Skin-specified button for right button
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE SKIN_BUTTON r_mainview_button_right
-    {   
-    bmpfile = APP_BITMAP_DIR"\\"qtn_trui_icons_filename;
-    bmpid = EMbmTrui_iconsQgn_indi_input_char_next;
-    bmpmask = EMbmTrui_iconsQgn_indi_input_char_next_mask;
-    mainitemid = EAknsMajorSkin;
-    minoritemid = EAknsMinorGenericQgnIndiInputCharNext;
-    }
-
-RESOURCE LABEL r_mainview_label_tip
-    {
-    horiz_align = EEikLabelAlignHLeft;
-    vert_align = EEikLabelAlignVTop;    
-    }
-    
-RESOURCE LABEL r_mainview_label_indicator
-    {
-    horiz_align = EEikLabelAlignHCenter;
-    vert_align = EEikLabelAlignVCenter;    
-    }
-
-// ---------------------------------------------------------------------------
-//   
-//   r_navigationpane_tabgroup
-//   Tab group definition, loaded when menu item selected
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE TAB_GROUP r_navigationpane_tabgroup
-    {
-    tab_width = EAknTabWidthWithTwoTabs;  // display two tabs
-    active = 0;
-    tabs = 
-        {
-        TAB
-            {
-            id = ENavigationPaneMainViewTab;
-            bmpfile = APP_BITMAP_DIR"\\"qtn_trui_icons_filename;
-            bmpid = EMbmTrui_iconsQgn_prop_hwrtraining_tab2;
-            bmpmask = EMbmTrui_iconsQgn_prop_hwrtraining_tab2_mask;
-            },
-        TAB
-            {
-            id = ENavigationPaneShortcutsViewTab;
-            bmpfile = APP_BITMAP_DIR"\\"qtn_trui_icons_filename;
-            bmpid = EMbmTrui_iconsQgn_prop_hwrtraining_shortcut_tab2;
-            bmpmask = EMbmTrui_iconsQgn_prop_hwrtraining_shortcut_tab2_mask;
-            }
-        };
-    }
-
-// ---------------------------------------------------------------------------
-//   
-//   r_shortcuteditview_label_shortcuttext
-//   Shortcut edit botton in the shortcuteditview
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE LABEL r_shortcuteditview_label_shortcuttext
-    {
-    horiz_align = EEikLabelAlignHCenter;
-    vert_align = EEikLabelAlignVCenter;    
-    }
-
-// ---------------------------------------------------------------------------
-//   r_trui_sct_dialog
-//   SCT definition.
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_trui_sct_dialog
-    {
-    flags = EGeneralQueryFlags | EEikDialogFlagNoBorder |
-            EEikDialogFlagNoShadow | EEikDialogFlagWait;
-    buttons = R_AVKON_SOFTKEYS_SELECT_CANCEL__SELECT;
-    items=
-        {
-        DLG_LINE
-            {
-            type = EAknCtPopupHeadingPane;
-            id = EAknSCTQueryHeadingId;
-            control = AVKON_HEADING
-                {
-                label = qtn_hwrt_sct_select_character;
-                headinglayout = R_AVKON_SCT_LIST_HEADING_PANE;
-                };
-            },
-        DLG_LINE
-            {
-            type = EAknCtSpecialCharacterMap;
-            id = EAknSCTQueryContentId;
-            control = SPECIAL_CHAR_TABLE
-                {
-                contents =
-                    {
-                    SCT_CHAR_SET
-                        {
-                        id = EAknSCTLowerCase;
-                        chars = qtn_hwr_sct_initial_text;
-                        }
-                    };
-                };
-            }
-        };
-    }
-    
-// ---------------------------------------------------------------------------
-//   r_trui_sct_charset_latin_lower
-//   SCT charset definition for latin lower range.
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE SPECIAL_CHAR_TABLE r_trui_sct_charset_latin_lower
-    {
-    contents =
-        {
-        SCT_CHAR_SET
-            {
-            id = EAknSCTLowerCase;
-            chars = qtn_sct_latin_lowerletters;
-            }
-        };
-    }
-
-// ---------------------------------------------------------------------------
-//   r_trui_sct_charset_latin_upper
-//   SCT charset definition for latin upper range.
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE SPECIAL_CHAR_TABLE r_trui_sct_charset_latin_upper
-    {
-    contents =
-        {
-        SCT_CHAR_SET
-            {
-            id = EAknSCTLowerCase;
-            chars = qtn_sct_latin_upperletters;
-            }
-        };
-    }
-
-// ---------------------------------------------------------------------------
-//   r_trui_sct_charset_latin_numeric
-//   SCT charset definition for latin numeric range.
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE SPECIAL_CHAR_TABLE r_trui_sct_charset_latin_numeric
-    {
-    contents =
-        {
-        SCT_CHAR_SET
-            {
-            id = EAknSCTLowerCase;
-            chars = qtn_sct_latin_digital;
-            }
-        };
-    }
-
-// ---------------------------------------------------------------------------
-//   r_trui_sct_charset_latin_symbol
-//   SCT charset definition for latin symbol range.
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE SPECIAL_CHAR_TABLE r_trui_sct_charset_latin_symbol
-    {
-    contents =
-        {
-        SCT_CHAR_SET
-            {
-            id = EAknSCTLowerCase;
-            chars = qtn_sct_latin_symbol;
-            }
-        };
-    }
-
-// ---------------------------------------------------------------------------
-//   r_trui_sct_charset_latin_symbol_chinese
-//   SCT charset definition for latin symbol range.
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE SPECIAL_CHAR_TABLE r_trui_sct_charset_latin_symbol_chinese
-    {
-    contents =
-        {
-        SCT_CHAR_SET
-            {
-            id = EAknSCTLowerCase;
-            chars = qtn_sct_latin_symbol_chinese;
-            }
-        };
-    }
-    
-// ---------------------------------------------------------------------------
-//   r_trui_sct_charset_latin_accent
-//   SCT charset definition for latin accent range.
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE SPECIAL_CHAR_TABLE r_trui_sct_charset_latin_accent
-    {
-    contents =
-        {
-        SCT_CHAR_SET
-            {
-            id = EAknSCTLowerCase;
-            chars = qtn_sct_latin_accent;
-            }
-        };
-    }
-
-// ---------------------------------------------------------------------------
-//   r_trui_sct_charset_cyrillic_lower
-//   SCT charset definition for cyrillic lower range.
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE SPECIAL_CHAR_TABLE r_trui_sct_charset_cyrillic_lower
-    {
-    contents =
-        {
-        SCT_CHAR_SET
-            {
-            id = EAknSCTLowerCase;
-            chars = qtn_sct_cyrillic_lowerletters;
-            }
-        };
-    }
-
-// ---------------------------------------------------------------------------
-//   r_trui_sct_charset_cyrillic_lower_bulgarian
-//   SCT charset definition for Bulgarian lower range.
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE SPECIAL_CHAR_TABLE r_trui_sct_charset_cyrillic_lower_bulgarian
-    {
-    contents =
-        {
-        SCT_CHAR_SET
-            {
-            id = EAknSCTLowerCase;
-            chars = qtn_sct_cyrillic_lowerletters_bulgarian;
-            }
-        };
-    }
-
-// ---------------------------------------------------------------------------
-//   r_trui_sct_charset_cyrillic_lower_russian
-//   SCT charset definition for Russian lower range.
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE SPECIAL_CHAR_TABLE r_trui_sct_charset_cyrillic_lower_russian
-    {
-    contents =
-        {
-        SCT_CHAR_SET
-            {
-            id = EAknSCTLowerCase;
-            chars = qtn_sct_cyrillic_lowerletters_russian;
-            }
-        };
-    }
-
-// ---------------------------------------------------------------------------
-//   r_trui_sct_charset_cyrillic_lower_ukraine
-//   SCT charset definition for Ukraine lower range.
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE SPECIAL_CHAR_TABLE r_trui_sct_charset_cyrillic_lower_ukraine
-    {
-    contents =
-        {
-        SCT_CHAR_SET
-            {
-            id = EAknSCTLowerCase;
-            chars = qtn_sct_cyrillic_lowerletters_ukraine;
-            }
-        };
-    }
-
-// ---------------------------------------------------------------------------
-//   r_trui_sct_charset_cyrillic_upper
-//   SCT charset definition for cyrillic upper range.
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE SPECIAL_CHAR_TABLE r_trui_sct_charset_cyrillic_upper
-    {
-    contents =
-        {
-        SCT_CHAR_SET
-            {
-            id = EAknSCTLowerCase;
-            chars = qtn_sct_cyrillic_upperletters;
-            }
-        };
-    }
-
-// ---------------------------------------------------------------------------
-//   r_trui_sct_charset_cyrillic_upper_bulgarian
-//   SCT charset definition for Bulgarian upper range.
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE SPECIAL_CHAR_TABLE r_trui_sct_charset_cyrillic_upper_bulgarian
-    {
-    contents =
-        {
-        SCT_CHAR_SET
-            {
-            id = EAknSCTLowerCase;
-            chars = qtn_sct_cyrillic_upperletters_bulgarian;
-            }
-        };
-    }
-
-// ---------------------------------------------------------------------------
-//   r_trui_sct_charset_cyrillic_upper_russian
-//   SCT charset definition for Russian upper range.
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE SPECIAL_CHAR_TABLE r_trui_sct_charset_cyrillic_upper_russian
-    {
-    contents =
-        {
-        SCT_CHAR_SET
-            {
-            id = EAknSCTLowerCase;
-            chars = qtn_sct_cyrillic_upperletters_russian;
-            }
-        };
-    }
-
-// ---------------------------------------------------------------------------
-//   r_trui_sct_charset_cyrillic_upper_ukraine
-//   SCT charset definition for Ukraine upper range.
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE SPECIAL_CHAR_TABLE r_trui_sct_charset_cyrillic_upper_ukraine
-    {
-    contents =
-        {
-        SCT_CHAR_SET
-            {
-            id = EAknSCTLowerCase;
-            chars = qtn_sct_cyrillic_upperletters_ukraine;
-            }
-        };
-    }
-
-// ---------------------------------------------------------------------------
-//   r_trui_sct_charset_cyrillic_accent
-//   SCT charset definition for cyrillic accent range.
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE SPECIAL_CHAR_TABLE r_trui_sct_charset_cyrillic_accent
-    {
-    contents =
-        {
-        SCT_CHAR_SET
-            {
-            id = EAknSCTLowerCase;
-            chars = qtn_sct_cyrillic_accent;
-            }
-        };
-    }
-
-// ---------------------------------------------------------------------------
-//   r_trui_sct_charset_greek_lower
-//   SCT charset definition for greek lower range.
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE SPECIAL_CHAR_TABLE r_trui_sct_charset_greek_lower
-    {
-    contents =
-        {
-        SCT_CHAR_SET
-            {
-            id = EAknSCTLowerCase;
-            chars = qtn_sct_greek_lowerletters;
-            }
-        };
-    }
-
-// ---------------------------------------------------------------------------
-//   r_trui_sct_charset_greek_upper
-//   SCT charset definition for greek upper range.
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE SPECIAL_CHAR_TABLE r_trui_sct_charset_greek_upper
-    {
-    contents =
-        {
-        SCT_CHAR_SET
-            {
-            id = EAknSCTLowerCase;
-            chars = qtn_sct_greek_upperletters;
-            }
-        };
-    }
-
-// ---------------------------------------------------------------------------
-//   r_trui_sct_charset_hebrew_letters
-//   SCT charset definition for hebrew letters range.
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE SPECIAL_CHAR_TABLE r_trui_sct_charset_hebrew_letters
-    {
-    contents =
-        {
-        SCT_CHAR_SET
-            {
-            id = EAknSCTLowerCase;
-            chars = qtn_sct_hebrew_letters;
-            }
-        };
-    }
-        
-// ---------------------------------------------------------------------------
-//   
-//   r_trui_querydialog_delete_shortcut
-//   Query dialog appear 
-//   when pressing "Delete shortcut" from menu.
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_trui_querydialog_delete_shortcut
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_YES_NO;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_CONFIRMATION_QUERY
-                {
-                layout = EConfirmationQueryLayout;
-                };
-            }
-        };
-    }
-    
-// ---------------------------------------------------------------------------
-//   
-//   r_trui_querydialog_shortcut_not_assigned
-//   Query dialog appearing when exiting without model
-//
-// ---------------------------------------------------------------------------
-//   
-RESOURCE DIALOG r_trui_querydialog_shortcut_not_assigned
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_YES_NO;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_CONFIRMATION_QUERY
-                {
-                layout = EConfirmationQueryLayout;
-                label = qtn_hwrt_note_shortcut_not_assigned;
-                };
-            }
-        };
-    }
-    
-// ---------------------------------------------------------------------------
-//   r_trui_shortcut_edit_text_editor
-//   Shortcut text setting editor
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE AVKON_SETTING_PAGE r_trui_shortcut_edit_text_editor
-    {
-    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL;
-    label = qtn_hwrt_shortcut_assign_text;
-    type = EEikCtEdwin;
-    editor_resource_id = r_trui_shortcut_setting_editor_edwin;
-    invalid_contents_softkey_resource = R_AVKON_SOFTKEYS_CANCEL;
-    extension = r_trui_setting_page_extension;
-    }
-    
-RESOURCE AVKON_SETTING_PAGE_EXTENSION r_trui_setting_page_extension
-    {
-    flags = KAknSettingPageNoEmbeddedSoftKeys;
-    }
-
-// ---------------------------------------------------------------------------
-// r_trui_shortcut_setting_editor_edwin
-// Setting editor control.
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE EDWIN r_trui_shortcut_setting_editor_edwin
-    {
-    lines = 0;    
-    maxlength = TRUI_SHORTCUTEDITOR_TEXT_MAXLENGTH;    
-    }
-    
-// ---------------------------------------------------------------------------
-//   r_trui_shortcut_edit_text_editor
-//   Shortcut text setting editor
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE AVKON_SETTING_PAGE r_trui_shortcut_wizard_editor
-    {
-    softkey_resource = r_trui_shortcutedittextview_next_back;
-    label = qtn_hwrt_shortcut_assign_text;
-    type = EEikCtEdwin;
-    editor_resource_id = r_trui_shortcut_setting_editor_edwin;
-    invalid_contents_softkey_resource = R_AVKON_SOFTKEYS_BACK;
-    extension = r_trui_setting_page_extension;
-    }
-
-// ---------------------------------------------------------------------------
-//   
-// r_trui_shortcutedittextview_next_back
-// CBA button
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE CBA r_trui_shortcutedittextview_next_back
-    {
-    flags = 0;
-    buttons = 
-        {
-        CBA_BUTTON 
-            {
-            id = EAknSoftkeyNext; 
-            txt = text_softkey_next;
-            },
-        CBA_BUTTON 
-            {
-            id = EAknSoftkeyBack; 
-            txt = text_softkey_back;
-            }
-        };
-    }
-
-// ---------------------------------------------------------------------------
-//   
-//    This is the first option of the listbox in the
-//    shortcut view "New WHR Shortcut"
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE TBUF r_trui_shortcutview_new_shortcut
-    { buf = qtn_hwrt_list_item_new_shortcut; }
-
-// ---------------------------------------------------------------------------
-//   
-//    The text above the Writing Box
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE TBUF r_trui_mainview_text_teach_character
-    { buf = qtn_hwrt_text_teach_character; }
-
-// ---------------------------------------------------------------------------
-//   
-//    The Active character indicator
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE TBUF r_trui_mainview_active_char_indicator
-    { buf = qtn_hwrt_active_char_indicator; }
-
-// ---------------------------------------------------------------------------
-//   
-//    Text for Character Range
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE TBUF r_trui_mainview_char_range_lower
-    { buf = qtn_hwrt_char_range_lower; }
-    
-RESOURCE TBUF r_trui_mainview_char_range_capital
-    { buf = qtn_hwrt_char_range_capital; }
-    
-RESOURCE TBUF r_trui_mainview_char_range_accent
-    { buf = qtn_hwrt_char_range_latin_accent; }
-
-RESOURCE TBUF r_trui_mainview_char_range_digits
-    { buf = qtn_hwrt_char_range_digits; }
-    
-RESOURCE TBUF r_trui_mainview_char_range_symbols
-    { buf = qtn_hwrt_char_range_symbols; }
-    
-RESOURCE TBUF r_trui_mainview_cyrillic_lower
-    { buf = qtn_hwrt_cyrillic_lower_range; }
-    
-RESOURCE TBUF r_trui_mainview_cyrillic_capital
-    { buf = qtn_hwrt_cyrillic_capital_range; }
-    
-RESOURCE TBUF r_trui_mainview_cyrillic_accent
-    { buf = qtn_hwrt_char_range_cyrillic_accent; }    
-    
-RESOURCE TBUF r_trui_mainview_greek_lower
-    { buf = qtn_hwrt_greek_lower_range; }
-    
-RESOURCE TBUF r_trui_mainview_greek_capital
-    { buf = qtn_hwrt_greek_capital_range; }   
-    
-RESOURCE TBUF r_trui_mainview_hebrew_letters
-    { buf = qtn_hwrt_hebrew_letters; }
-
-
-// ---------------------------------------------------------------------------
-//   
-//    Text for Character Set
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE TBUF r_trui_characterset_latin_lowerletters
-    { buf = qtn_sct_latin_lowerletters; }
-    
-RESOURCE TBUF r_trui_characterset_latin_upperletters
-    { buf = qtn_sct_latin_upperletters;}
-
-RESOURCE TBUF r_trui_characterset_latin_accent
-    { buf = qtn_sct_latin_accent;}
-
-RESOURCE TBUF r_trui_characterset_latin_digital
-    { buf = qtn_sct_latin_digital; }
-
-RESOURCE TBUF r_trui_characterset_latin_symbol
-    { buf = qtn_sct_latin_symbol; }
-
-RESOURCE TBUF r_trui_characterset_latin_symbol_chinese
-    { buf = qtn_sct_latin_symbol_chinese; }
-
-RESOURCE TBUF r_trui_characterset_cyrillic_lowerletters
-    { buf = qtn_sct_cyrillic_lowerletters; }
-
-RESOURCE TBUF r_trui_characterset_cyrillic_lowerletters_bulgarian
-    { buf = qtn_sct_cyrillic_lowerletters_bulgarian; }
-
-RESOURCE TBUF r_trui_characterset_cyrillic_lowerletters_ukraine
-    { buf = qtn_sct_cyrillic_lowerletters_ukraine; }
-
-RESOURCE TBUF r_trui_characterset_cyrillic_lowerletters_russian
-    { buf = qtn_sct_cyrillic_lowerletters_russian; }
-
-RESOURCE TBUF r_trui_characterset_cyrillic_upperletters
-    { buf = qtn_sct_cyrillic_upperletters; }
-
-RESOURCE TBUF r_trui_characterset_cyrillic_upperletters_bulgarian
-    { buf = qtn_sct_cyrillic_upperletters_bulgarian; }
-
-RESOURCE TBUF r_trui_characterset_cyrillic_upperletters_russian
-    { buf = qtn_sct_cyrillic_upperletters_russian; }
-
-RESOURCE TBUF r_trui_characterset_cyrillic_upperletters_ukraine
-    { buf = qtn_sct_cyrillic_upperletters_ukraine; }
-
-RESOURCE TBUF r_trui_characterset_cyrillic_accent
-    { buf = qtn_sct_cyrillic_accent;}
-
-RESOURCE TBUF r_trui_characterset_greek_lowerletters
-    { buf = qtn_sct_greek_lowerletters; }
-
-RESOURCE TBUF r_trui_characterset_greek_upperletters
-    { buf = qtn_sct_greek_upperletters; }
-
-RESOURCE TBUF r_trui_characterset_hebrew_letters
-    { buf = qtn_sct_hebrew_letters; }
-
-// ---------------------------------------------------------------------------
-//   
-//    Operation tooltip
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE TBUF r_trui_tooltip_saved
-    { buf = qtn_hwrt_confirmation_banner_saved; }    
-RESOURCE TBUF r_trui_tooltip_deleted
-    { buf = qtn_hwrt_confirmation_banner_deleted; }
-RESOURCE TBUF r_trui_note_clear_box
-    { buf = qtn_hwrt_note_clear_box; }
-RESOURCE TBUF r_trui_note_similar_model
-    { buf = qtn_hwrt_note_similar_model; }
-RESOURCE TBUF r_trui_note_save_failed
-    { buf = qtn_hwrt_note_save_failed; }    
-    
-// ---------------------------------------------------------------------------
-//   
-//    Text for title pane
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE TBUF r_trui_mainview_titlepane_text
-    { buf = qtn_hwrt_title_pane; }
-RESOURCE TBUF r_trui_shortcutsview_titlepane_text
-    { buf = qtn_hwrt_title_pane; }
-RESOURCE TBUF r_trui_shortcuteditview_titlepane_text
-    { buf = qtn_hwrt_title_wizard_hwr_shortcut; }
-RESOURCE TBUF r_trui_infomessageview_titlepane_text
-    { buf = qtn_hwrt_title_crete_new_shortcut; }
-RESOURCE TBUF r_trui_shortcutedittextview_titlepane_text
-    { buf = qtn_hwrt_title_hwr_shortcut; }
-RESOURCE TBUF r_trui_shortcutedittextview_titlepane_number
-    { buf = qtn_hwrt_title_first_page_number; }
-RESOURCE TBUF r_trui_shortcutedittextview_titlepane_last_number
-    { buf = qtn_hwrt_title_last_page_number; }
-    
-// ---------------------------------------------------------------------------
-//   r_trui_localisable_app_info
-//   Trainui localisable app info.
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE LOCALISABLE_APP_INFO r_trui_localisable_app_info 
-    { 
-    short_caption = qtn_apps_hwrt_grid; 
-    caption_and_icon = 
-        {
-        CAPTION_AND_ICON_INFO 
-            { 
-            number_of_icons = 1; 
-            icon_file = APP_BITMAP_DIR"\\"qtn_trui_appinfo_icons_filename; 
-            }        
-        };
-    }
-    
-// ---------------------------------------------------------------------------
-//   
-//    Text for shortcut edit model view
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE TBUF r_trui_shortcuteditmodelview_radiobutton_own
-    { buf = qtn_hwrt_radio_button_own_symbol; }
-RESOURCE TBUF r_trui_shortcuteditmodelview_radiobutton_preset
-    { buf = qtn_hwrt_radio_button_preset_symbol; }
-RESOURCE TBUF r_trui_shortcuteditmodelview_label_own
-    { buf = qtn_hwrt_text_purpose_own_symbol; }
-
-// ---------------------------------------------------------------------------
-// r_trui_language_script_set
-// Define the resource struct for mapping table 
-// from language code to language script.
-// ---------------------------------------------------------------------------
-//
-RESOURCE LANGUAGE_SCRIPT_SET r_trui_language_script_set
-    {
-    contents = 
-        {
-        LANGUAGE_SCRIPT
-            {
-            id = EMainViewSubmenuWestern;
-            codes = 
-                { 
-                01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 13, 
-                14, 15, 17, 18, 25, 26, 27, 28, 39, 45, 49, 
-                51, 59, 67, 68, 70, 76, 78, 79, 83, 157, 158, 
-                159, 160, 161, 326, 327, 44, 102, 103, 401, 402
-                };
-            },
-        LANGUAGE_SCRIPT
-            {
-            id = EMainViewSubmenuCyrillic;
-            codes = 
-                {
-                16, 42, 93
-                };
-            },
-        LANGUAGE_SCRIPT
-            {
-            id = EMainViewSubmenuGreek;
-            codes = 
-                {
-                54
-                };
-            },
-        LANGUAGE_SCRIPT
-            {
-            id = EMainViewSubmenuHebrew;
-            codes = 
-                {
-                57
-                };
-            }
-        };
-    }
-
-// ---------------------------------------------------------------------------
-// The informative message for shortcut wizard.
-// ---------------------------------------------------------------------------
-//
-RESOURCE TBUF r_trui_infomaessageview_message
-    { buf = qtn_hwrt_informative_message; }
-
-// ---------------------------------------------------------------------------
-// The text for checkbox in info message view.
-// ---------------------------------------------------------------------------
-//
-RESOURCE TBUF r_trui_infomaessageview_checkbox_text
-    { buf = qtn_hwrt_informative_message_check_box_label; }
-
-// ---------------------------------------------------------------------------
-// The text for own symbol in shortcut edit symbol view.
-// ---------------------------------------------------------------------------
-//
-RESOURCE TBUF r_trui_shortcuteditview_own_symbol
-    { buf = qtn_hwrt_text_purpose_own_symbol; }
-                
-// ---------------------------------------------------------------------------
-// The text for preset symbol in shortcut edit symbol view.
-// ---------------------------------------------------------------------------
-//
-RESOURCE TBUF r_trui_shortcuteditview_preset_symbol
-    { buf = qtn_hwrt_text_purpose_selected_symbol; }
-
-// ---------------------------------------------------------------------------
-// The text for error note of symbol in use.
-// ---------------------------------------------------------------------------
-//
-RESOURCE TBUF r_trui_shortcuteditview_error_note_in_use
-    { buf = qtn_hwrt_note_shortcut_is_used; }
-
-// ---------------------------------------------------------------------------
-// The text for error note of all symbols in use.
-// ---------------------------------------------------------------------------
-//
-RESOURCE TBUF r_trui_shortcuteditview_error_note_all_in_use
-    { buf = qtn_hwrt_all_symbols_in_use_notification; }
-
-// ---------------------------------------------------------------------------
-//   r_trui_sct_charset_latin_lower
-//   SCT charset definition for latin lower range.
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE SPECIAL_CHAR_TABLE r_trui_sct_charset_preset
-    {
-    contents =
-        {
-        SCT_CHAR_SET
-            {
-            id = EAknSCTLowerCase;
-            chars = qtn_hwrt_preset_characters;
-            }
-        };
-    }
-
-// ---------------------------------------------------------------------------
-// Preset symbols
-// ---------------------------------------------------------------------------
-//
-RESOURCE TBUF r_trui_preset_symbols
-    { buf = qtn_hwrt_preset_characters; }
-
-// ---------------------------------------------------------------------------
-//   
-//   r_trui_querydialog_delete_shortcut
-//   Query dialog appear 
-//   when pressing "Current shortcut" from menu.
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_trui_querydialog_delete_all_models
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_YES_NO;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_CONFIRMATION_QUERY
-                {
-                layout = EConfirmationQueryLayout;
-                label = qtn_hwrt_note_delete_all_models;
-                };
-            }
-        };
-    }
-    
-// ---------------------------------------------------------------------------
-// Query dialog text for deleting single shortcut.
-// ---------------------------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_hwrt_query_delete_shortcut
-    { buf = qtn_hwrt_query_delete_shortcut; }
-    
-// ---------------------------------------------------------------------------
-// Query dialog text for deleting mutiple shortcuts.
-// ---------------------------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_hwrt_query_delete_several_shortcuts
-    { buf = qtn_hwrt_query_delete_several_shortcuts; }
-
-// ---------------------------------------------------------------------------
-//   
-//    r_trui_mainview_toolbar
-//    toolbar
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE AVKON_TOOLBAR r_trui_mainview_toolbar
-    {
-    flags = KAknToolbarWithoutCba | KAknToolbarTransparent | KAknToolbarFixed;            
-    items =
-        {
-        TBAR_CTRL
-            {
-            type = EAknCtButton;
-            id = EMainViewButtonIdGrid;
-            control = AVKON_BUTTON
-                {
-                flags  = KAknButtonSizeFitText;
-                states =
-                    {
-                    AVKON_BUTTON_STATE
-                        {
-                        helptxt= qtn_hwrt_tooltip_select_character;
-                        bmpfile = APP_BITMAP_DIR"\\"qtn_trui_icons_filename;
-                        bmpid = EMbmTrui_iconsQgn_indi_tb_char_grid;
-                        bmpmask = EMbmTrui_iconsQgn_indi_tb_char_grid_mask;
-                        }
-                    };
-                };
-            },
-        TBAR_CTRL
-            {
-            type = EAknCtButton;
-            id = EMainViewButtonIdPreview;
-            control = AVKON_BUTTON
-                {
-                flags  = KAknButtonSizeFitText;
-                states =
-                    {
-                    AVKON_BUTTON_STATE
-                        {
-                        helptxt= qtn_hwrt_tooltip_preview_drawing;
-                        bmpfile = APP_BITMAP_DIR"\\"qtn_trui_icons_filename;
-                        bmpid = EMbmTrui_iconsQgn_indi_tb_model_preview;
-                        bmpmask = EMbmTrui_iconsQgn_indi_tb_model_preview_mask;
-                        }
-                    };
-                };
-            },
-        TBAR_CTRL
-            {
-            type = EAknCtButton;
-            id = EMainViewButtonIdDelete;
-            control = AVKON_BUTTON
-                {
-                flags  = KAknButtonSizeFitText;
-                states =
-                    {
-                    AVKON_BUTTON_STATE
-                        {
-                        helptxt= qtn_hwrt_tooltip_delete_drawing;
-                        bmpfile = APP_BITMAP_DIR"\\"qtn_trui_icons_filename;
-                        bmpid = EMbmTrui_iconsQgn_indi_tb_remove;
-                        bmpmask = EMbmTrui_iconsQgn_indi_tb_remove_mask;
-                        }
-                    };
-                };
-            }
-        };
-    }
-
-// ---------------------------------------------------------------------------
-//   
-//    r_trui_shortcuts_toolbar
-//    toolbar
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE AVKON_TOOLBAR r_trui_shortcuts_toolbar
-    {
-    flags = KAknToolbarWithoutCba | KAknToolbarTransparent | KAknToolbarFixed;            
-    items =
-        {
-        TBAR_CTRL
-            {
-            type = EAknCtButton;
-            id = EShortcutsViewButtonIdEditText;
-            control = AVKON_BUTTON
-                {
-                flags  = KAknButtonSizeFitText;
-                states =
-                    {
-                    AVKON_BUTTON_STATE
-                        {
-                        helptxt= qtn_hwrt_tooltip_edit_shortcut_text;
-                        bmpfile = APP_BITMAP_DIR"\\"qtn_trui_icons_filename;
-                        bmpid = EMbmTrui_iconsQgn_indi_mce_tb_text;
-                        bmpmask = EMbmTrui_iconsQgn_indi_mce_tb_text_mask;
-                        }
-                    };
-                };
-            },
-        TBAR_CTRL
-            {
-            type = EAknCtButton;
-            id = EShortcutsViewButtonIdEditModel;
-            control = AVKON_BUTTON
-                {
-                flags  = KAknButtonSizeFitText;
-                states =
-                    {
-                    AVKON_BUTTON_STATE
-                        {
-                        helptxt= qtn_hwrt_tooltip_edit_shortcut_symbol;
-                        bmpfile = APP_BITMAP_DIR"\\"qtn_trui_icons_filename;
-                        bmpid = EMbmTrui_iconsQgn_indi_tb_edit_model;
-                        bmpmask = EMbmTrui_iconsQgn_indi_tb_edit_model_mask;
-                        }
-                    };
-                };
-            },
-        TBAR_CTRL
-            {
-            type = EAknCtButton;
-            id = EShortcutsViewButtonIdDelete;
-            control = AVKON_BUTTON
-                {
-                flags  = KAknButtonSizeFitText;
-                states =
-                    {
-                    AVKON_BUTTON_STATE
-                        {
-                        helptxt= qtn_hwrt_tooltip_delete;
-                        bmpfile = APP_BITMAP_DIR"\\"qtn_trui_icons_filename;
-                        bmpid = EMbmTrui_iconsQgn_indi_tb_remove;
-                        bmpmask = EMbmTrui_iconsQgn_indi_tb_remove_mask;
-                        }
-                    };
-                };
-            }
-        };
-    }
-
-// ---------------------------------------------------------------------------
-//   
-//    r_trui_shortcut_edit_symbol_toolbar
-//    toolbar
-//
-// ---------------------------------------------------------------------------
-//
-RESOURCE AVKON_TOOLBAR r_trui_shortcut_edit_symbol_toolbar
-    {
-    flags = KAknToolbarWithoutCba | KAknToolbarTransparent | KAknToolbarFixed;            
-    items =
-        {
-        TBAR_CTRL
-            {
-            type = EAknCtButton;
-            id = EShortcutEditViewGrid;
-            control = AVKON_BUTTON
-                {
-                flags  = KAknButtonSizeFitText;
-                };
-            },
-        TBAR_CTRL
-            {
-            type = EAknCtButton;
-            id = EShortcutEditViewPreviewModel;
-            control = AVKON_BUTTON
-                {
-                flags  = KAknButtonSizeFitText;
-                states =
-                    {
-                    AVKON_BUTTON_STATE
-                        {
-                        helptxt= qtn_hwrt_tooltip_preview_drawing;
-                        bmpfile = APP_BITMAP_DIR"\\"qtn_trui_icons_filename;
-                        bmpid = EMbmTrui_iconsQgn_indi_tb_model_preview;
-                        bmpmask = EMbmTrui_iconsQgn_indi_tb_model_preview_mask;
-                        }
-                    };
-                };
-            },
-        TBAR_CTRL
-            {
-            type = EAknCtButton;
-            id = EShortcutEditViewDelete;
-            control = AVKON_BUTTON
-                {
-                flags  = KAknButtonSizeFitText;
-                states =
-                    {
-                    AVKON_BUTTON_STATE
-                        {
-                        helptxt= qtn_hwrt_tooltip_delete_drawing;
-                        bmpfile = APP_BITMAP_DIR"\\"qtn_trui_icons_filename;
-                        bmpid = EMbmTrui_iconsQgn_indi_tb_remove;
-                        bmpmask = EMbmTrui_iconsQgn_indi_tb_remove_mask;
-                        }
-                    };
-                };
-            }
-        };
-    }
-
--- a/textinput/peninputhwrtrui/data/trui_reg.rss	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Resource definitions for project TrainingUI
-*
-*/
-//trui application's registration resource file 
-
-#include <appinfo.rh>
-#include <trui.rsg>
-#include <data_caging_paths_strings.hrh>
-
-UID2 KUidAppRegistrationResourceFile
-UID3 0x2000B104
-
-// d:Trui app file name
-// l:(none)
-// r:5.0
-// 
-#define qtn_trui_app_file "trui"
-
-// d:Trui localisable resource file name
-// l:(none)
-// r:5.0
-//
-#define qtn_trui_localisable_resource_file "trui"
-
-RESOURCE APP_REGISTRATION_INFO 
-    {
-    app_file = qtn_trui_app_file;
-    localisable_resource_file = APP_RESOURCE_DIR"\\"qtn_trui_localisable_resource_file;
-    localisable_resource_id = R_TRUI_LOCALISABLE_APP_INFO;
-    hidden = KAppIsHidden;
-    }
--- a/textinput/peninputhwrtrui/group/bld.inf	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Build information file for project ?myapp
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_EXPORTS
-../loc/trui.loc MW_LAYER_LOC_EXPORT_PATH(trui.loc)
-../data/TrainUiPreset.dat /epoc32/RELEASE/winscw/udeb/Z/resource/TrainUiPreset.dat
-../data/TrainUiPreset.dat /epoc32/RELEASE/winscw/urel/Z/resource/TrainUiPreset.dat
-../data/TrainUiPreset.dat /epoc32/RELEASE/armv5/UREL/z/resource/TrainUiPreset.dat
-../data/TrainUiPreset.dat /epoc32/RELEASE/armv5/UDEB/z/resource/TrainUiPreset.dat
-../inc/truisupportedlanguageid.h |../../../inc/truisupportedlanguageid.h
-
-../rom/peninputhwrtruivariant.iby CUSTOMER_MW_LAYER_IBY_EXPORT_PATH(peninputhwrtruivariant.iby)
-../rom/peninputhwrtruiresources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(peninputhwrtruiresources.iby)
-
-PRJ_MMPFILES
-
-//gnumakefile trui_aif.mk
-trui.mmp 
-
-PRJ_EXTENSIONS
-START EXTENSION s60/mifconv
-OPTION TARGETFILE trui_icons.mif
-OPTION HEADERFILE trui_icons.mbg
-OPTION SOURCEFILE iconlist.txt
-END
-
-START EXTENSION s60/mifconv
-OPTION TARGETFILE trui_aif.mif
-OPTION SOURCEFILE iconlist_aif.txt
-END
-
--- a/textinput/peninputhwrtrui/group/iconlist.txt	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
--c32,1 qgn_indi_input_case_accented.svg
--c32,1 qgn_indi_input_case_capital.svg
--c32,1 qgn_indi_input_case_capital_cyrillic.svg
--c32,1 qgn_indi_input_case_capital_greek.svg
--c32,1 qgn_indi_input_case_numeric.svg
--c32,1 qgn_indi_input_case_small.svg
--c32,1 qgn_indi_input_case_small_cyrillic.svg
--c32,1 qgn_indi_input_case_small_greek.svg
--c32,1 qgn_indi_input_case_text_hebrew.svg
--c32,1 qgn_indi_input_case_special.svg
--c32,1 qgn_indi_input_char_next.svg
--c32,1 qgn_indi_input_char_prev.svg
--c32,1 qgn_indi_tb_char_grid.svg
--c32,1 qgn_indi_tb_edit_model.svg
--c32,1 qgn_indi_tb_model_preview.svg
--c32,1 qgn_indi_tb_remove.svg
--c32,1 qgn_prop_hwrtraining_shortcut_new.svg
--c32,1 qgn_prop_hwrtraining_shortcut_tab2.svg
--c32,1 qgn_prop_hwrtraining_tab2.svg
--c32,1 qgn_indi_mce_tb_text.svg
--c32,1 qgn_indi_marked_add.svg
--c32,1 qgn_graf_fep_bg_colour.svg
--c32,1 qgn_graf_fep_popup_shadow_tl.svg
--c32,1 qgn_graf_fep_popup_shadow_t.svg
--c32,1 qgn_graf_fep_popup_shadow_tr.svg
--c32,1 qgn_graf_fep_popup_shadow_b.svg
--c32,1 qgn_graf_fep_popup_shadow_bl.svg
--c32,1 qgn_graf_fep_popup_shadow_br.svg
--c32,1 qgn_graf_fep_popup_shadow_l.svg
--c32,1 qgn_graf_fep_popup_shadow_r.svg
--c32,1 qgn_indi_input_case_accented_cyrillic.svg
\ No newline at end of file
--- a/textinput/peninputhwrtrui/group/iconlist_aif.txt	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
--c32,1 qgn_menu_hwr_training.svg
\ No newline at end of file
--- a/textinput/peninputhwrtrui/group/trui.mmp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,101 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Project definition file for TrainingUI
-*
-*/
-
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-TARGETPATH              PROGRAMS_DIR   
-TARGET                  trui.exe
-TARGETTYPE              exe
-UID                     0x100039CE 0x2000B104
-
-CAPABILITY              CAP_APPLICATION
-VENDORID                VID_DEFAULT
-EPOCSTACKSIZE           0x5000 
-
-SOURCEPATH              ../src
-SOURCE                  trui.cpp
-SOURCE                  truiapplication.cpp
-SOURCE                  truidocument.cpp
-SOURCE                  truiappui.cpp
-SOURCE                  truimainview.cpp
-SOURCE                  truishortcutsview.cpp
-SOURCE                  truishortcuteditview.cpp
-SOURCE                  truicontainerbase.cpp
-SOURCE                  truimainviewcontainer.cpp
-SOURCE                  truishortcutscontainer.cpp
-SOURCE                  truishortcuteditcontainer.cpp
-SOURCE                  truiengine.cpp
-SOURCE                  truihwrbox.cpp
-SOURCE                  truitextsettingpagecontainer.cpp
-SOURCE                  truishortcutedittextview.cpp
-SOURCE                  truiinfomessageview.cpp 
-SOURCE                  truiinfomessagecontainer.cpp
-SOURCE                  truilanguagerelation.cpp
-SOURCE                  truiappradiobutton.cpp
-
-USERINCLUDE             ../inc
-MW_LAYER_SYSTEMINCLUDE
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY                 euser.lib
-LIBRARY                 apparc.lib
-LIBRARY                 cone.lib 
-LIBRARY                 eikcore.lib  
-LIBRARY                 avkon.lib  
-LIBRARY                 eikcoctl.lib 
-LIBRARY                 bafl.lib
-LIBRARY                 eiksrv.lib
-LIBRARY                 eikctl.lib 
-LIBRARY                 aknicon.lib
-LIBRARY                 egul.lib 
-LIBRARY                 estor.lib 
-LIBRARY                 efsrv.lib 
-LIBRARY                 CommonEngine.lib
-LIBRARY                 centralrepository.lib
-LIBRARY                 ptiengine.lib
-LIBRARY                 hlplch.lib
-LIBRARY                 cdlengine.lib
-LIBRARY                 aknlayout2.lib
-LIBRARY                 gdi.lib
-LIBRARY                 aknskins.lib 
-LIBRARY                 aknskinsrv.lib 
-LIBRARY                 aknswallpaperutils.lib
-LIBRARY                 fbscli.lib 
-LIBRARY                 aknlayout2scalable.lib
-LIBRARY                 ws32.lib
-LIBRARY                 etext.lib 
-LIBRARY                 form.lib
-
-LIBRARY                 FeatMgr.lib                // feature manager
-#ifdef RD_TACTILE_FEEDBACK 
-LIBRARY                 touchfeedback.lib 
-#endif // RD_TACTILE_FEEDBACK
-
-SOURCEPATH              ../data
-START RESOURCE          trui.rss
-HEADER
-LANGUAGE_IDS
-TARGETPATH              APP_RESOURCE_DIR
-END // RESOURCE
-
-START RESOURCE          trui_reg.rss
-DEPENDS trui.rsg
-TARGETPATH              /private/10003a3f/apps
-END // RESOURCE
-
--- a/textinput/peninputhwrtrui/group/trui_aif.mk	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-#
-# Copyright (c) 2007 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:  icons makefile for project ?myapp
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=$(EPOCROOT)Epoc32\release\$(PLATFORM)\$(CFG)\Z
-else
-ZDIR=$(EPOCROOT)Epoc32\data\z
-endif
-
-TARGETDIR = $(ZDIR)\resource\apps
-HEADERDIR = $(EPOCROOT)epoc32\include
-APPINFOFILENAME = $(TARGETDIR)\trui_aif.mif
-ICONTARGETFILENAME = $(TARGETDIR)\trui_icons.mif
-HEADERFILENAME = $(HEADERDIR)\trui_icons.mbg
-ICONDIR = ..\data
-
-do_nothing :
-	@rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-RESOURCE :
-	mifconv $(ICONTARGETFILENAME) /H$(HEADERFILENAME) \
-        /c32,1 qgn_indi_input_case_accented.svg \
-        /c32,1 qgn_indi_input_case_capital.svg \
-        /c32,1 qgn_indi_input_case_capital_cyrillic.svg \
-        /c32,1 qgn_indi_input_case_capital_greek.svg \
-	/c32,1 qgn_indi_input_case_numeric.svg \
-	/c32,1 qgn_indi_input_case_small.svg \
-	/c32,1 qgn_indi_input_case_small_cyrillic.svg \
-	/c32,1 qgn_indi_input_case_small_greek.svg \
-	/c32,1 qgn_indi_input_case_text_hebrew.svg \
-	/c32,1 qgn_indi_input_case_special.svg \
-        /c32,1 qgn_indi_input_char_next.svg \
-	/c32,1 qgn_indi_input_char_prev.svg \
-        /c32,1 qgn_indi_tb_char_grid.svg \
-        /c32,1 qgn_indi_tb_edit_model.svg \
-        /c32,1 qgn_indi_tb_model_preview.svg \
-        /c32,1 qgn_indi_tb_remove.svg \
-        /c32,1 qgn_prop_hwrtraining_shortcut_new.svg \
-        /c32,1 qgn_prop_hwrtraining_shortcut_tab2.svg \
-        /c32,1 qgn_prop_hwrtraining_tab2.svg \
-        /c32,1 qgn_indi_mce_tb_text.svg \
-	/c32,1 qgn_indi_marked_add.svg \
-	/c32,1 $(ICONDIR)\qgn_graf_fep_bg_colour.svg \
-	/c32,1 $(ICONDIR)\qgn_graf_fep_popup_shadow_tl.svg \
-	/c32,1 $(ICONDIR)\qgn_graf_fep_popup_shadow_t.svg \
-	/c32,1 $(ICONDIR)\qgn_graf_fep_popup_shadow_tr.svg \
-	/c32,1 $(ICONDIR)\qgn_graf_fep_popup_shadow_b.svg \
-	/c32,1 $(ICONDIR)\qgn_graf_fep_popup_shadow_bl.svg \
-	/c32,1 $(ICONDIR)\qgn_graf_fep_popup_shadow_br.svg \
-	/c32,1 $(ICONDIR)\qgn_graf_fep_popup_shadow_l.svg \
-	/c32,1 $(ICONDIR)\qgn_graf_fep_popup_shadow_r.svg \
-	/c32,1 qgn_indi_input_case_accented_cyrillic.svg
-
-	mifconv $(APPINFOFILENAME)\
-        /c32,1 qgn_menu_hwr_training.svg
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
--- a/textinput/peninputhwrtrui/inc/trui.hrh	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Resource headers for project TrainingUI
-*
-*/
-
-
-#ifndef TRUI_HRH
-#define TRUI_HRH
-
-/** trui enumerate command codes */
-enum TTruiIds
-    {
-    ENavigationPaneMainViewTab = 1, // start value must not be 0
-    ENavigationPaneShortcutsViewTab,
-    EMainViewDeleteModel,
-    EMainViewDeleteCurrentModel,
-    EMainViewDeleteAllModel,
-    EMainViewPreviewModel,
-    EMainViewCharRange,
-    EMainViewCharGrid,
-    EMainViewLanguageScript,
-    EMainViewToShortcutsView,
-    EMainViewHelp,
-    EMainViewSubmenuWestern,
-    EMainViewSubmenuCyrillic,
-    EMainViewSubmenuGreek,
-    EMainViewSubmenuHebrew,
-    EMainViewSubmenuLatinLowerLetter,
-    EMainViewSubmenuLatinUpperLetter,
-    EMainViewSubmenuDigital,
-    EMainViewSubmenuSymbols,
-    EMainViewSubmenuLatinAccent,
-    EMainViewSubmenuCyrillicLowerLetters,
-    EMainViewSubmenuCyrillicUpperLetters,
-    EMainViewSubmenuCyrillicAccent,
-    EMainViewSubmenuGreekLowerLetters,
-    EMainViewSubmenuGreekUpperLetters,   
-    EMainViewSubmenuHebrewLetters,
-    EShortcutViewEditText,
-    EShortcutViewEditModel,
-    EShortcutViewCreate,
-    EShortcutViewDelete,
-    EShortcutViewLinkToHandwritting,
-    EShortcutViewMark,
-    EShortcutViewUnmark,
-    EShortcutViewResetInfoMessage,
-    EShortcutViewHelp,    
-    EShortcutEditViewDelete,
-    EShortcutEditViewPreviewModel,
-    EShortcutEditViewGrid,
-    EMainViewMsk,
-    EMainViewButtonIdGrid,
-    EMainViewButtonIdPreview,
-    EMainViewButtonIdDelete,
-    EShortcutsViewButtonIdEditText,
-    EShortcutsViewButtonIdEditModel,
-    EShortcutsViewButtonIdDelete
-    };
-
-/** trui enumerate character range id */
-enum TTruiCharacterRange
-    {
-    ELatinLowerLetters = EMainViewSubmenuLatinLowerLetter,
-    ELatinUpperLetters,
-    ELatinDigital,
-    ELatinSymbol,
-    ELatinAccent,
-    ECyrillicLowerLetters,
-    ECyrillicUpperLetters,
-    ECyrillicAccent,
-    EGreekLowerLetters,
-    EGreekUpperLetters,    
-    EHebrewLetters    
-    };
-#endif // TRUI_HRH
--- a/textinput/peninputhwrtrui/inc/trui.rh	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-/*
-* 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:  Resource headers for project ?myapp
-*
-*/
-
-#ifndef TRUI_RH
-#define TRUI_RH
-
-// ---------------------------------------------------------------------------
-// Define MENU_ITEMS struct type to save all menu items
-// ---------------------------------------------------------------------------
-//
-STRUCT MENU_ITEMS
-    {
-    // All menu items
-    STRUCT items[];
-    }
-    
-// ---------------------------------------------------------------------------
-// Define LANGUAGE_SCRIPT_SET struct type to store supported language script.
-// ---------------------------------------------------------------------------
-//
-STRUCT LANGUAGE_SCRIPT_SET
-    {
-    // All language script
-    STRUCT contents[];
-    }
-    
-// ---------------------------------------------------------------------------
-// Define LANGUAGE_SCRIPT_SET struct type to store supported language script.
-// ---------------------------------------------------------------------------
-//
-STRUCT LANGUAGE_SCRIPT
-    {
-    WORD id;
-    WORD codes[];
-    }
-
-// ---------------------------------------------------------------------------
-// Define LANGUAGE_SCRIPT_SET struct type for skin specified button.
-// ---------------------------------------------------------------------------
-//
-STRUCT SKIN_BUTTON
-    {
-    WORD flags=0;
-    LTEXT helptxt="";
-    LTEXT bmpfile="";
-    WORD bmpid=0xffff;
-    WORD bmpmask=0xffff;
-    WORD press_bmpid=0xffff;
-    WORD press_bmpmask=0xffff;
-    LONG mainitemid=0;
-    LONG minoritemid=0;
-    LONG mainitempressid=0;
-    LONG minoritempressid=0;
-    }
-
-STRUCT TOOLBAR_BUTTON_GROUPS
-    {
-    STRUCT buttons[];
-    }
-    
-#endif // TRUI_RH
--- a/textinput/peninputhwrtrui/inc/truiapplication.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Application class of TrainingUI
-*
-*/
-
-
-#ifndef C_TRUIAPPLICATION_H
-#define C_TRUIAPPLICATION_H
-
-// UID for the application, this should correspond to the uid defined in the mmp file
-static const TUid KUidtruiApp = { 0x2000B104 };
-
-#include <aknapp.h>
-
-/**
- *  Instance of CTruiApplication is the application part of the AVKON
- *  application framework for the TrainingUI application
- *
- *  @code
- *   new CTruiApplication;
- *  @endcode
- *
- *  @lib avkon.lib eikcore.lib eiksrv.lib
- */
-class CTruiApplication : public CAknApplication
-    {
-public:  // from CAknApplication
-
-    /**
-     * Returns the application DLL UID value
-     *
-     * @return the UID of this Application/Dll
-     */
-    TUid AppDllUid() const;
-
-protected: // from CAknApplication
-
-    /**
-     * Create a CApaDocument object and return a pointer to it
-     *
-     * @return a pointer to the created document
-     */
-    CApaDocument* CreateDocumentL();
-    
-	/**
-    * Opens the .ini file associated with the application.
-    *
-    * @param aFs File server session to use. Not used.
-    * @return Pointer to the dictionary store object representing the
-    * application's .ini file.
-    */    
-    CDictionaryStore* OpenIniFileLC( RFs& aFs ) const;    
-    };
-
-#endif // C_TRUIAPPLICATION_H
-
--- a/textinput/peninputhwrtrui/inc/truiappradiobutton.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,301 +0,0 @@
-/*
-* Copyright (c) 2007 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:  radio button - control in Training UI application 
-*
-*/
-
-
-#ifndef C_TRUIAPPRADIOBUTTON_H
-#define C_TRUIAPPRADIOBUTTON_H
-
-// includes 
-#include <coecntrl.h>
-
-// Class declaration
-class MTruiRadioButtonObserver;
-
-/**
- *  CTruiRadioButton is a new component for selecting own/preset model
- *  in shortcut edit view.  
- *  @lib avkon.lib
- */ 
-
-class CTruiRadioButton: public CCoeControl, public MCoeControlObserver
-    {
-public:
-    /* Flags for radion button status. */
-    enum TRadioButtonStatus
-        {
-        ENonSelected = 0,
-        ESelected
-        };
-
-    /* Flags for button type. */
-    enum TSelectionType
-        {
-        ERadioButton = 0,
-        ECheckBox        
-        };
-                
-    /**
-     * Two-phased constructor.
-     * @param aParent the parent control for choice list
-     * @param aTextArray the items' text that will be displayed in radion button.
-     * @param aStatusArray the selected status for each radio button.
-     * @param aSelectionType The type of the selection type, radio or checkbox
-     * @return Pointer to CTruiRadioButton's instance
-     */
-    static CTruiRadioButton* NewL( CCoeControl* aParent,
-                              TSelectionType aSelectionType,
-                              MTruiRadioButtonObserver* aObserver = NULL );
-
-    /**
-     * Two-phased constructor.
-     * @param aParent the parent control for choice list
-     * @param aTextArray the items' text that will be displayed in radion button.
-     * @param aStatusArray The selected status for each radio button.
-     * @param aSelectionType The type of the selection type, radio or checkbox
-     * @return Pointer to CTruiRadioButton's instance
-     */
-    static CTruiRadioButton* NewLC( CCoeControl* aParent, 
-                              TSelectionType aSelectionType,
-                              MTruiRadioButtonObserver* aObserver = NULL );
-    /**
-     * Destructor
-     */
-    ~CTruiRadioButton();
-    
-    /**
-     * Convert texts into Label and update them in radio buttons     
-     */
-    void HandleItemAdditionL();
-    
-    /**
-     * Add one item to radio button
-     * @param aText The text of the radio button.
-     * @param aStatus The current selected status of the radio button
-     */
-    void AddItem( const HBufC* aText, TRadioButtonStatus aStatus );
-    
-    /**
-     * Return the status array
-     */
-    inline const RArray<TRadioButtonStatus>& StatusArray() const
-        {
-        return iStatusArray;
-        };
-
-    /**    
-     * Handle pointer on radio button
-     *
-     * @param aIndex The index of the button group item.
-     * @param aEventType The event type.
-     */
-    void HandlePointerRadioButtonL( TInt aIndex, TCoeEvent aEventType );
-    
-    /**    
-     * Handle pointer on checkbox
-     *
-     * @param aIndex The index of the button group item.
-     * @param aEventType The event type.
-     */
-    void HandlePointerCheckBox( TInt aIndex, TCoeEvent aEventType );
-    
-    inline void SetMultilineLayout( const TAknMultiLineTextLayout& aMultilineLayout )
-        {
-        iMultilineLayout = aMultilineLayout;
-        };
-        
-// from CCoeControl
-    /**
-     * Return the control's minisize.
-     */
-	TSize MinimumSize();
-    
-private:
-
-    /**
-     * C++ Default Constructor 
-     */
-    CTruiRadioButton( MTruiRadioButtonObserver* aObserver, 
-                      TSelectionType aSelectionType ); 
-    
-    /**
-     * 2nd phase constructor
-     * @param aParent the parent control for choice list
-     * @param aTextArray the items' text that will be displayed in radion button.
-     * @param aStatusArray the selected status for each radio button.
-     */
-    void ConstructL( CCoeControl* aParent );
-                     
-    /**    
-     * Create radio button's bitmap.
-     */
-    void CreateBitmapForRadioButtonL();
-
-    /**
-     * Get cached color of skin for label control
-     * 
-     * @param aColor The color of Label will be set    
-     */
-    TInt GetCachedLabelTextColor( TRgb& aColor );
-    
-    /**
-     * Load layouts for icons from LAF.
-     *
-     * @param aVarity Varity for LAF
-     */
-    void LoadIconsLayout( TInt aVarity );
-
-    /**
-     * Convert logical name to visual name for label when needed.
-     *
-     * @param aLabel The label is used to show text
-     * @param aLogicalTxt The logical text which is needed to be converted.
-     * @param aFont The font of label text
-     * @param aLineWidth The line width of each text of label
-     */
-    void ConvertToVisualForEdwinL( CEikLabel* aLabel, const TDesC& aLogicalTxt, 
-                                   const CFont& aFont, TInt aLineWidth );
-    
-    /**
-     * Clip text of label to fit label width.
-     *
-     * @param aLabel The label is used to show text
-     * @param aIndex The index of text in text array
-     */
-    void ClipToFitLabelL( CEikLabel* aLabel, TInt aIndex );    
-    
-// from MCoeControlObserver 
-    /**
-     * From MCoeControlObserver. Handles an event from an observed control.
-     * @param aControl The control that sent the event.    
-     * @param aEventType The event type.     
-     */
-    void HandleControlEventL( CCoeControl* aControl,TCoeEvent aEventType );
-    
-// from CCoeControl
-    /**     
-     * Responds to changes to the size and position of the contents of this control.
-     */
-    void SizeChanged();
-
-    /**
-     * Draws control to given area
-     * @param aRect The rectangle that should be drawn by the control. 
-     */
-    void Draw( const TRect& aRect ) const;
-    
-    /**
-     * Gets the number of controls contained in a compound control.
-     * @return The number of component controls contained by this control. 
-     */
-    TInt CountComponentControls() const;
-
-    /**
-     * Gets an indexed component of a compound control.
-     * @param aIndex The index of the control.
-     * @return The component control with an index of aIndex.
-     */
-	CCoeControl* ComponentControl( TInt aIndex ) const;
-	
-    /**
-     * Gets an indexed component of a compound control.
-     * @param aIndex The index of the control.
-     * @return The component control with an index of aIndex.
-     */
-    void HandlePointerEventL( const TPointerEvent& aPointerEvent );
-    
-    /**
-     * From CoeControl.
-     * Handles a change to the control's resources.
-     *
-     * @param aType A message UID value.
-     */
-    void HandleResourceChange( TInt aType );
-
-private: // data
-
-    /**
-     * The control array store all sub-controls     
-     * Own
-     */
-    CArrayPtrFlat<CCoeControl>* iControlArray;
-    
-    /**
-     * The array to store the current status for each radio button
-     * Own
-     */
-    RArray<TRadioButtonStatus> iStatusArray;    
-    
-    /**
-     * The text array to store the text for each radio button
-     * Own
-     */
-    RPointerArray<HBufC> iTextArray;
-    
-    /**
-     * The bitmap for selected radio button.
-     * Own
-     */    
-    CFbsBitmap* iRadioButtonSelectedBmp;
-
-    /**
-     * The bitmap mask for selected radio button.
-     * Own
-     */
-    CFbsBitmap* iRadioButtonSelectedBmpm;
-
-    /**
-     * The bitmap for non-selected radio button.
-     * Own
-     */
-    CFbsBitmap* iRadioButtonNonSelectedBmp;
-
-    /**
-     * The bitmap mask for non-selected radio button.
-     * Own
-     */
-    CFbsBitmap* iRadioButtonNonSelectedBmpm;
-    
-    /**
-     * The observer used to notify the current selected item changed
-     * Not own
-     */
-    MTruiRadioButtonObserver* iObserver;
-    
-    /**
-     * The observer used to notify the current selected item changed
-     * Not own
-     */
-    TSelectionType iSelectionType;
-    
-    /**
-     * Array to store TAknLayoutRect for icons
-     * 
-     * Own
-     */
-    RArray<TAknLayoutRect> iIconLayout;
-    
-    TBool iTactileSupported;        
-    
-    /**
-     * MultilineLayout for edwin
-     * 
-     */
-    TAknMultiLineTextLayout iMultilineLayout;    
-    };
-        
-#endif // C_TRUIAPPRADIOBUTTON_H
-
--- a/textinput/peninputhwrtrui/inc/truiappui.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,173 +0,0 @@
-/*
-* Copyright (c) 2007 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:  UI class of TrainingUI
-*
-*/
-
-
-#ifndef C_TRUIAPPUI_H
-#define C_TRUIAPPUI_H
-
-#include <aknViewAppUi.h>
-#include <AknTabObserver.h>
-
-// Forward reference
-class CTruiMainView;
-class CTruiShortcutsView;
-class CTruiShortcutEditView;
-class CAknNavigationDecorator;
-class CTruiEngine;
-class CTruiShortcutEditTextView;
-class CTruiInfoMessageView;
-
-/**
- *  Instance of CTruidemoAppUi is the User Interface part of the AVKON
- *  application framework for the TrainingUI application
- *
- *  @code
- *   CEikAppUi* appUi = new (ELeave) CTruiAppUi;
- *  @endcode
- *
- *  @lib avkon.lib eikcore.lib eiksrv.lib
- */
-class CTruiAppUi : public CAknViewAppUi, public MAknTabObserver 
-    {
-public:
-    /**
-     * Perform the second phase construction of a CTruiAppUi object 
-     */
-    void ConstructL();
-
-    /** 
-     * Perform the first phase of two phase construction.
-     */
-    CTruiAppUi();
-
-    /**  
-     * Destroy the object and release all memory objects
-     */
-    ~CTruiAppUi();
-    
-    /**  
-     * Get hand writing engine
-     *
-     * @return Pointer to CTruiEngine's instance
-     */
-    CTruiEngine* HwrEngine() const;
-    
-    /**  
-     * Get hand Navigation Decorator
-     *
-     * @return The pointer to navigation pane.
-     */
-    CAknNavigationDecorator* GetNaviDecorator() const;
-
-    /**  
-     * Close the navi pane
-     */
-    void CloseNaviPaneL();
-
-    /**  
-     * Show the navi pane
-     */
-    void ShowNaviPaneL();
-    
-    /**  
-     * Show the title pane
-     *
-     * @param aTitle: The text to be displayed in Tilte pane     
-     */
-    void ShowTitlePaneL( const TDesC& aTitle );
-    
-// from CAknViewAppUi
-
-    /**
-     * Handle user menu selections
-     *
-     * @param aCommand the enumerated code for the option selected
-     */
-    void HandleCommandL( TInt aCommand );
-    
-    // from MAknTabObserver    
-    /**
-     * Handle active tab changed
-     *
-     * @param aIndex the index of active tab.
-     */
-    void TabChangedL( TInt aIndex );      
-                
-private:
-
-    /**
-     * Create navigation pane.
-     *
-     * @param aResourceId The resource Id.
-     * @return The pointer to navigation pane.
-     *      
-     */    
-    CAknNavigationDecorator* CreateNavigationTabL( const TInt aResourceId,
-                                                   const TInt aDefaultActive );            
-
-private: // data
-    /**
-     * iMainView is the view that allows user to train HWR engine to
-     * recognize user's own writing style
-     * Own
-     */
-    CTruiMainView* iMainView;
-    
-    /**
-     * iShortcutsView is the view that allows user to manage the shortcuts
-     * Own
-     */
-    CTruiShortcutsView* iShortcutsView;
-    
-    /**
-     * iShortcutEditView is the view that allows user to edit the shortcuts
-     * Own
-     */
-    CTruiShortcutEditView* iShortcutEditView;
-    
-    /**
-     * Pointer to shortcut edit text view 
-     * on which users can alter shortcut's text.
-     * Own
-     */
-    CTruiShortcutEditTextView* iShortcutEditTextView;
-    
-    /**
-     * Pointer to info message view for shortcut wizard.     
-     * Own
-     */
-    CTruiInfoMessageView* iInfoMessageView;
-    
-    /**
-     * iNaviDecorator is navigation pane.
-     * Allow users to switch views between main view and shortcut main view.
-     * Own
-     */    
-    CAknNavigationDecorator* iNaviDecorator;
-    
-    CAknNavigationDecorator* iEmptyNaviDecorator;
-    
-    /**  
-     * hand writing engine
-     * Own
-     */
-    CTruiEngine* iEngine;
-    };
-
-
-#endif // C_TRUIAPPUI_H
-
--- a/textinput/peninputhwrtrui/inc/truicontainerbase.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,232 +0,0 @@
-/*
-* Copyright (c) 2007 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:  CTruiContainerBase class of TrainingUI
-*
-*/
-
-
-#ifndef C_TRUICONTAINERBASE_H
-#define C_TRUICONTAINERBASE_H
-
-
-#include <coecntrl.h>
-#include <eiklabel.h>
-
-class CTruiAppUi;
-class CTruiEngine;
-class MCoeControlObserver;
-class CAknButton;
-class CAknToolbar;
-class TAknLayoutText;
-class CAknView;
-
-// Varity of landscape
-const TInt KLandscapeVarity = 1;
-
-// Varity of portrait
-const TInt KPortraitVarity = 0;
-
-const TInt KLabelMaxLines = 20;
-
-/* Key lead to the setting of always displaying wizard view*/
-const TUint32 KAlwaysDisplayWizardKey              = 0x00000001;
-
-_LIT( KLineBreak, "\n" );
-
-const TUid KAknfepUID = { 0x100056de };
-
-const TInt KExtraSize = 10;
-
-/**
- *  Base class for contrainers
- *  All contrainer need to be inherited from this class
- *
- */
-class CTruiContainerBase : public CCoeControl
-    {
-public:
-
-    /**
-    * Destructor.
-    */
-    virtual ~CTruiContainerBase();
-    
-    /**     
-     * Get the origin size in which input the model for preset symbols. 
-     *
-     * @return The size in which to input preset symbols.
-     */
-    static TSize OriginSymbolSize();
-    inline void SetView( CAknView* aView )
-        {
-        iView = aView;
-        };
-protected:
-    CTruiContainerBase();
-    
-    /**     
-     * Wrap the text to fit the minisize of Label
-     *
-     * @param aLabel The pointer to the label.
-     * @param aText The origin text
-     * @param aMaxLines The max line of the wrapped text.     
-     * @param aWrappedText Store the wrapped text.
-     * @return The number of lines.
-     */    
-    TInt WrapLabelText( const CEikLabel* aLabel, const TDesC& aText, 
-                        TInt aMaxLines, HBufC* aWrappedText );
-                        
-    /**     
-     * Wrap the text to fit the minisize of Label
-     *
-     * @param aLayoutText Layout of text.     
-     * @param aText The origin text
-     * @param aMaxLines The max line of the wrapped text.     
-     * @param aWrappedText Store the wrapped text.
-     * @return The number of lines.
-     */
-    TInt WrapLabelText(  const TAknLayoutText& aLayoutText, const TDesC& aText,
-                         TInt aMaxLines, HBufC* aWrappedText );
-                         
-    /**     
-     * Wrap the text to fit  Label
-     *
-     * @param aFont Font of text.     
-     * @param aText The origin text need to be wrapped
-     * @param aLineWidthArray Line width array.     
-     * @param aWrappedText Store the wrapped text.     
-     */
-    void WrapLabelTextL(  const CFont* aFont, const TDesC& aText,
-                          const RArray<TInt>& aLineWidthArray, 
-                          HBufC* aWrappedText );
-
-
-    /**     
-     * Create skin specified button from resource
-     *
-     * @param aResourceId The resource Id.
-     * @param aParent The parent of control
-     * @param aObserver The observer of control
-     * @return Instance of aknbutton.
-     */
-    CAknButton* CreateButtonL( TInt aResourceId, 
-                               const CCoeControl* aParent, 
-                               MCoeControlObserver* aObserver );
-                               
-    /**     
-     * Add skin specified buttons into toolbar
-     *
-     * @param aToolbar The toolbar will contain skin-specified buttons.
-     * @param aResourceId Button groups resource id.
-     */
-    void AddButtonsToToolbarL( CAknToolbar* aToolbar, TInt aResourceId );
-    
-     /**
-     * Return current keyboard mode.
-     *
-     * @return 0: ITU-T; 1: QWERTY.
-     */    
-    TInt CurrentKeyBoardModeL(); 
-    
-    /**
-     * Read setting from ini file to decide if display wizard view.
-     *
-     * @param aKey Key value in ini file.
-     * @param aValue Value of the key.
-     */
-    void GetSettingFromIniFileL( TUint32 aKey, TInt& aValue );
-    
-    /**
-     * Save settings into file
-     * 
-     * @param aKey Key value to specify one setting
-     * @param aValue Value to be stored
-     */
-    void SaveSettingIntoIniFileL( TUint32 aKey, TInt aValue );
-    
-    /**
-     * Get cached color of skin for label control
-     * 
-     * @param aColor The color of Label will be set    
-     */
-    TInt GetCachedLabelTextColor( TRgb& aColor );
-    
-    /**
-     * Get cached color of skin for icon
-     * 
-     * @param aColorId The color id of icon color group
-     * @param aColorIndex The color index in the color group
-     * @param aColor On return, the catched color.
-     */
-    TInt GetCachedIcontColor( TRgb& aColor, const TAknsItemID& aColorId, TInt aColorIndex );
-    
-    /**
-     * Construct icons from resource.
-     *
-     * @param aResourceId Resource Id.
-     * @return The constructed icon
-     */
-    CGulIcon* ConstructIconFromResourceL( TInt aResourceId );
-
-    /**
-     * From CoeControl.
-     * Handles a change to the control's resources.
-     *
-     * @param aType A message UID value.
-     */
-    void HandleResourceChange( TInt aType );    
-    
-private:
-    /**     
-     * Create skin specified button from resource
-     *
-     * @param aReader The resource reader.
-     * @return Instance of aknbutton.
-     */
-    CAknButton* ConstructButtonFromResourceL( TResourceReader& aReader );
-    
-    /**     
-     * Wrap the text to fit the minisize of Label
-     *
-     * @param aFont Font of text.
-     * @param aWidth Width of text.
-     * @param aText The origin text
-     * @param aMaxLines The max line of the wrapped text.     
-     * @param aWrappedText Store the wrapped text.
-     * @return The number of lines.
-     */
-    TInt DoWrapLabelText(  const CFont* aFont, TInt aWidth, 
-                           const TDesC& aText, 
-                           TInt aMaxLines, 
-                           HBufC* aWrappedText );
-
-        
-protected: // data
-
-    /**
-     * Point to the controlor class of the application.
-     * Not Own.
-     */
-    CTruiAppUi* iAppUi;
-    
-    /**  
-     * hand writing engine
-     * Not Own.
-     */
-    CTruiEngine* iEngine;
-    CAknView* iView;
-    };
-
-#endif // C_TRUICONTAINERBASE_H
-
--- a/textinput/peninputhwrtrui/inc/truidocument.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Declares document for TrainingUI
-*
-*/
-
-
-#ifndef C_TRUIDOCUMENT_H
-#define C_TRUIDOCUMENT_H
-
-#include <AknDoc.h>
-
-// Forward references
-class CTruiAppUi;
-class CAknApplication;
-
-/**
- *  Instance of class CTruiDocument is the Document part of the AVKON
- *  application framework for the TrainingUI application
- *
- *  @code
- *   CApaDocument* document = new (ELeave) CTruiDocument(*this);
- *  @endcode
- *
- *  @lib avkon.lib eikcore.lib eiksrv.lib
- */
-class CTruiDocument : public CAknDocument
-    {
-public:
-    /**
-     * Perform the first phase of two phase construction
-     *
-     * @param aApp application creating this document
-     */
-    CTruiDocument( CAknApplication& aApp );
-    
-    /**
-     * Destroy the object and release all memory objects
-     */
-    ~CTruiDocument();
-
-
-    /**
-     * Create a CTruiAppUi object and return a pointer to it
-     *
-     * @return a pointer to the created instance of the AppUi created
-     */
-    CEikAppUi* CreateAppUiL();
-
-    };
-
-#endif // C_TRUIDOCUMENT_H
-
--- a/textinput/peninputhwrtrui/inc/truiengine.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,484 +0,0 @@
-/*
-* Copyright (c) 2007 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:  CTruiEngine class of TrainingUI
-*
-*/
-
-
-#ifndef C_TRUIENGINE_H
-#define C_TRUIENGINE_H
-
-#include <e32base.h>
-#include <badesca.h>
-
-const TInt KShortcutMaxLength = 164;
-class CPtiEngine;
-class MTruiEngine;
-class TLanguageRelation;
-class CEikonEnv;
-    
-/**
- *  CTruiEngine view class.
- *
- */
-class CTruiEngine : public CBase
-    {
-public:
-    /** 
-     * Two phase construction.
-     * 
-     * @return Pointer to CTruiEngine's instance
-     */
-    static CTruiEngine* NewL( CEikonEnv* aEikonEnv );
-
-    /** 
-     * Two phase construction.
-     * 
-     * @return Pointer to CTruiEngine's instance
-     */
-    static CTruiEngine* NewLC( CEikonEnv* aEikonEnv );   
-        
-    /**  
-     * Destroy the object and release all memory objects
-     */    
-    virtual ~CTruiEngine();
-
-    /**
-     * Get the current input language
-     *
-     * @return Current input language
-     */    
-    inline TLanguage InputLanguage() const;
-    
-//Language Script
-    /**
-     * Set current language script
-     *
-     * @param aIndex The index of language script in the array named iSupportedScript
-     */
-    void SetLanguageScriptByIndexL( TInt aIndex );
-    
-    /**
-     * Get name list of all supported language scripts
-     *
-     * @return CDesCArray* The name list
-     */
-    inline const CDesCArray* LanguageScriptName();
-    
-    /**
-     * Get id of supported language script
-     *
-     * @return RArray<Tint> list of the script id
-     */
-    inline const RArray<TInt>& SupportedLanguageScript();
-    
-    /**
-     * Get enum ID of the current language script
-     *
-     * @return  ID of the current language
-     */
-    inline TInt CurrentLanguageScript() const;
-    
-//Character Range
-    /**
-     * Set current character range
-     *
-     * @param aIndex The index of character range in the array named iSupportedRange
-     */
-    void SetCharacterRangeByIndexL( TInt aIndex );
-    
-    /**
-     * Get name list of all supported character range
-     *
-     * @return CDesCArray* The name list
-     */
-    CDesCArray* GetCharacterRangeName();
-    
-    /**
-     * Get enum ID of the current character range
-     *
-     * @return TInt ID of the character range
-     */
-    TInt GetCurrentCharacterRange();
-    
-    /**
-     * Get enum ID of the supported character ranges
-     *
-     * @return Reference to the array saving IDs of the supported range
-     */    
-    inline const RArray<TInt>& GetCurrentSupportedRangesId();
-    
-    /**
-     * Transform character range to engine's subrange
-     */
-    void SetSubrange();
-    
-//Character Set
-
-    /**
-     * Get current character set
-     *
-     * @return HBufC* The string contained character set
-     */
-    const HBufC* CharacterSet();
-    
-    /**
-     * Check if character has model
-     *
-     * @param aLanguageScript Where the character is come from
-     * @param aChar The character which is checked
-     * @return TBool True means this character has model
-     *               False means this character doesn't has model yet
-     */
-    TBool CheckCharacterModel( const TDesC& aChar );
-    
-    /**
-     * Get character model
-     *
-     * @param aChar Get this character's model
-     * @param aModel Array of points where the character's model is stored.     
-     */
-    void GetCharacterModelL( const TDesC& aChar, RArray<TPoint>& aModel );
-    
-    /**
-     * Set character model
-     *
-     * @param aChar Set model to this character
-     * @param aModel Array of points where the character's model is stored.
-     * @param aSimilarMsg Text exists in the HWREngine with the similar model.
-     * @return none, if the symbol model is invalid, leave with KErrAlreadyExists
-     */
-    void SetCharacterModelL( const TDesC& aChar,
-                             RArray<TPoint>& aModel,
-                             TDes& aSimilarMsg );
-        
-    /**
-     * Delete character model
-     *
-     * @param aChar Delete this character's model
-     * @return TInt Error value. If no error occurred, KErrNone is returned
-     */
-    TInt DeleteCharacterModel( const TDesC& aChar );
-    
-//Shortcut
-    
-    /**
-     * Check if shortcut has model
-     *
-     * @param aText The shortcut which is checked
-     * @return TBool True means this shortcut has model
-     *               False means this shortcut doesn't has model yet
-     */
-    TBool CheckShortcutModel( const TDesC& aText );
-        
-    /**
-     * Change the text of an existing shortcut
-     *
-     * @param aOldText The text of an existing shortcut
-     * @param aNewText The new text of the shortcut     
-     */
-    void ChangeShortcutTextL( const TDesC& aNewText );    
-
-    /**
-     * Set current editing shortcut
-     *
-     * @param sShortcut text of the shortcut
-     * @return TInt Error value. If no error occurred, KErrNone is returned
-     */
-    TInt SetShortcut( const TDesC& aText );
-    
-    /**
-     * Get current edited shortcut
-     *
-     * @return TDes shortcut text
-     */
-    inline TDes& Shortcut();
-    
-    /**
-     * Get all shortcuts from HWR engine
-     *
-     * @return Pointer to iShortcutList to contain all existing shortcut
-     */
-    inline CDesCArray* ShortcutTextList();
-    
-    /**
-     * Save shortcut text and its assigned character model into PTI Engine
-     *
-     * @param aText Save this Shortcut's model
-     * @param aModel Array of points where the Shortcut's model is stored.
-     * @param aSimilarMsg Text exists in the HWREngine with the similar model.
-     * @return none, if the symbol model is invalid, leave with KErrAlreadyExists
-     */
-    void SaveShortcutL( const TDesC& aText,
-                        RArray<TPoint>& aModel,
-                        TDes& aSimilarMsg );
-    
-    /**
-     * Delete Shortcut model
-     *
-     * @param aText Delete this Shortcut's model
-     * @return TInt Error value. If no error occurred, KErrNone is returned
-     */
-    TInt DeleteShortcut( const TDesC& aText );
-    
-    /**
-     * Update Shortcut list
-     *
-     */
-    void UpdateShortcutListL();
-    
-    /**
-     * Set edit state
-     *
-     * @param aNew: ETrue, perform the function of adding new shortcut. 
-     *              EFalse, perform the function of editting old shortcut.
-     */
-    inline void NewShortcut( TBool aNew );
-    
-    /**
-     * Get edit state
-     *
-     */
-    inline TBool NewShortcut();
-    
-    /**
-     * Set if display shortcut wizard view.
-     *
-     * @param aIsDisplay ETrue: Display shortcut wizard view
-     */
-    inline void SetDisplayWizard( TBool aIsDisplay );
-
-    /**
-     * Get if display shortcut wizard view
-     *
-     * @return ETrue: Display shortcut wizard view
-     */
-    inline TBool DisplayWizard() const;
-    
-    /**
-     * Set the current selected index
-     *
-     * @param aSelectedIndex currently selected index of shortcuts
-     */
-    inline void SetCurrentSelectedIndex( TInt aSelectedIndex );
-        
-    /**
-     * Get the current selected index
-     *
-     * @return aSelectedIndex currently selected index of shortcuts
-     */
-    inline TInt CurrentSelectedIndex();
-
-    /**
-     * Get guiding line pos
-     * 
-     * @param aSize The size of WritingBox
-     * @param aTop The vertical coordinate of top guiding line
-     * @param aBottom The vertical coordinate of bottom guiding line
-     * @return TInt Error value. If no error occurred, KErrNone is returned
-     */
-    TInt GetGuidingLinePos( const TSize& aSize, TInt& aTop , TInt&  aBottom); 
-
-    /**
-     * Get the number of the maximum of shortcuts
-     *
-     * @return TInt The number of the maximum of shortcuts
-     */
-    TInt MaxShortCutLength(); 
-    
-    /**
-     * Get trails assigned to the specified shortcut.
-     * 
-     * @param aText The specified shortcut text
-     * @param aModel Trails of the shortcut.
-     * @param aUnicode The assigned preset text if it is a preset shortcut,
-     *        otherwise, it is 0;     
-     */
-    void GetShortcutModelL( const TDesC& aText, RArray<TPoint>& aModel, TUint& aUnicode );
-    
-    /**
-     * Save preset shortcuts.
-     * 
-     * @param aUnicode The assigned preset text.
-     * @param aShortcut The shortcut to be save.
-     */
-    void SavePresetShortcutL( TUint aUnicode, const TDesC& aShortcut );
-
-    /**
-     * Get trails assigned to a preset text.
-     * 
-     * @param aUnicode The unicode of the preset text.
-     * @param aModel Store trails of the preset text.
-     * @param aShortcut Indicate whether the preset text has been assigned to a shortcut text.
-     *        If KNullDesC, it is not in use.
-     */
-    void GetPresetSymbolByUnicodeL( TUint aUnicode, RArray<TPoint>& aModel, TDes& aShortcut );
-    
-    /**
-     * Return all unicodes of preset text stored in PTI engine
-     * 
-     * @param aPresets All preset text's unicodes are stored in this array.     
-     */
-    void GetAllPresetSymbolsL( RArray<TUint>& aPresets );    
-    
-private:
-
-    /** 
-     * Perform the first phase of two phase construction.
-     */
-    CTruiEngine( CEikonEnv* aEikonEnv );
-    
-    /**
-     * Perform the second phase construction of a CTruidemoAppUi object 
-     */
-    void ConstructL(); 
-    
-    /**
-     * Initialize the table used to map language to language script
-     * @param aResourceId ResourceId of Language script set.
-     * @param aLanguageRelation Store the mappint relation.
-     */
-    void InitLanguageRelationL( TInt aResourceId, 
-                            RArray<TLanguageRelation>& aLanguageRelation );
-    
-    /**
-     * Initialize the supported language script.    
-     * @param aSupportedScript Store the suppotred script.
-     * @param aEngine PtiEngine from which get supported input language.
-     * @param aLanguageRelation Mapping relation used to convert language 
-     *                          into language script.     
-     */
-    void InitSupportedLanguageScriptL( RArray<TInt>& aSupportedScript,
-                                       CPtiEngine* aEngine,
-                              const RArray<TLanguageRelation>& aLanguageRelation );
-    
-    /**
-     * Get the active language script from the active input language
-     * @param aLanguageCode Currently active input language code.
-     * @param aLanguageRelation Mapping relation used to convert language 
-     *                          into language script.     
-     */
-    TInt GetActiveLanguageScript( TInt aLanguageCode, 
-                           const RArray<TLanguageRelation>& aLanguageRelation );
-                           
-    /**
-     * Get the resourc id of lower case of Cyrillic according to the current input language
-     * @param aLanguage Currently input language.
-     * @return resource id 
-     */
-    TInt CyrillicLowerResourceId( TLanguage aLanguage );
-    
-    /**
-     * Get the resourc id of upper case of Cyrillic according to the current input language
-     * @param aLanguage Currently input language.
-     * @return resource id 
-     */
-    TInt CyrillicUpperResourceId( TLanguage aLanguage );
-
-private:
-
-    /**
-     * Current edited shortcut
-     */
-    TBuf<KShortcutMaxLength> iShortcut;
-    
-    /**
-     * Array of all supported language script
-     * Own
-     */
-    RArray<TInt> iSupportedScript;
-        
-    /**
-     * Current language script
-     */
-    TInt iCurrentScript;
-    
-    /**
-     * Array of all supported character range
-     * Own
-     */
-    RArray<TInt> iSupportedRange;
-    
-    /**
-     * Array of the name of all supported character range
-     * Own
-     */
-    CDesCArray* iRangeName;
-    
-    /**
-     * Current character range
-     */
-    TInt iCurrentRange;
-    
-    /**
-     * String of character set
-     * Own
-     */
-    HBufC* iCharacterSet;
-       
-    /**
-     * Array of the shortcut
-     * Own
-     */
-    CDesCArray* iShortcutList;
-    
-    /**
-     * Indicate if current edited shortcut is new created
-     */
-    TBool iNewShortcut;
-    
-    /**
-     * The currently selected index of shortcuts
-     */
-    TInt iSelectedShortcut;
-    
-    /**
-     * PtiEngine
-     * Own
-     */
-    CPtiEngine* iEngine;
-    
-    /**
-     * Interface trui used in PtiEngine
-     * Not own
-     */
-    MTruiEngine* iPtiEngine;
-    
-    /**
-     * Current subrange
-     */
-    TInt iSubrange;
-    
-    /**
-     * Pointer to eikon enviroment.
-     * Not own
-     */
-    CEikonEnv* iEnv;
-    
-    /**
-     * Check if need to display shortcut wizard view
-     */
-    TBool iIsDisplay;
-    
-    /**
-     * Current input language
-     */    
-    TLanguage iInputLanguage;
-    };
-    
-#include "truiengine.inl"
-
-#endif // C_TRUIENGINE_H
-
-                    
--- a/textinput/peninputhwrtrui/inc/truiengine.inl	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,148 +0,0 @@
-/*
-* Copyright (c) 2007 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:  implementation of inline function of CTruiEngine
-*
-*/
-
-
-// ---------------------------------------------------------------------------
-// Get enum ID of the current language script
-// ---------------------------------------------------------------------------
-//      
-inline TInt CTruiEngine::CurrentLanguageScript() const
-    {
-    return iCurrentScript;
-    }
-
-// ---------------------------------------------------------------------------
-// Get name list of all supported character range
-// ---------------------------------------------------------------------------
-//      
-inline CDesCArray* CTruiEngine::GetCharacterRangeName()
-    {
-    return iRangeName;
-    }
-
-// ---------------------------------------------------------------------------
-// Get enum ID of the current character range
-// ---------------------------------------------------------------------------
-//      
-inline TInt CTruiEngine::GetCurrentCharacterRange()
-    {
-    return iCurrentRange;
-    }
-
-// ---------------------------------------------------------------------------
-// Get enum ID of the supported character ranges
-// ---------------------------------------------------------------------------
-//
-inline const RArray<TInt>& CTruiEngine::GetCurrentSupportedRangesId()
-    {
-    return iSupportedRange;
-    }
-    
-// ---------------------------------------------------------------------------
-// Get current character set
-// ---------------------------------------------------------------------------
-//  
-inline const HBufC* CTruiEngine::CharacterSet()
-    {
-    return iCharacterSet;
-    }
-
-// ---------------------------------------------------------------------------
-// Get current edited shortcut
-// ---------------------------------------------------------------------------
-//
-inline TDes& CTruiEngine::Shortcut()
-    {
-    return iShortcut;
-    }
-
-inline const RArray<TInt>& CTruiEngine::SupportedLanguageScript()
-    {
-    return iSupportedScript;
-    }
-
-// ---------------------------------------------------------------------------
-// Set edit state
-// ---------------------------------------------------------------------------
-//
-inline void CTruiEngine::NewShortcut( TBool aNew )
-    {
-    iNewShortcut = aNew;
-    }
-
-// ---------------------------------------------------------------------------
-// Get edit state
-// ---------------------------------------------------------------------------
-//
-inline TBool CTruiEngine::NewShortcut()
-    {
-    return iNewShortcut;
-    }
-    
-// ---------------------------------------------------------------------------
-// Set if display shortcut wizard view.
-// ---------------------------------------------------------------------------
-//
-inline void CTruiEngine::SetDisplayWizard( TBool aIsDisplay )
-    {
-    iIsDisplay = aIsDisplay;
-    }
-
-// ---------------------------------------------------------------------------
-// Get if display shortcut wizard view
-// ---------------------------------------------------------------------------
-//
-inline TBool CTruiEngine::DisplayWizard() const
-    {
-    return iIsDisplay;
-    }
-   
-// ---------------------------------------------------------------------------
-// Set the current selected index
-// ---------------------------------------------------------------------------
-//
-inline void CTruiEngine::SetCurrentSelectedIndex( TInt aSelectedIndex )
-    {
-    iSelectedShortcut = aSelectedIndex;
-    }
-    
-// ---------------------------------------------------------------------------
-// Get the current selected index
-// ---------------------------------------------------------------------------
-//
-inline TInt CTruiEngine::CurrentSelectedIndex()
-    {
-    return iSelectedShortcut;
-    }
-    
-// ---------------------------------------------------------------------------
-// Get shortcut list
-// ---------------------------------------------------------------------------
-//
-inline CDesCArray* CTruiEngine::ShortcutTextList()
-    {
-    return iShortcutList;
-    }
-
-// ---------------------------------------------------------------------------
-// Get the current input language
-// ---------------------------------------------------------------------------
-//
-inline TLanguage CTruiEngine::InputLanguage() const
-    {
-    return iInputLanguage;
-    }
--- a/textinput/peninputhwrtrui/inc/truihelp.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Define help topic
-*
-*/
-
-
-#ifndef TRUIHELP_H
-#define TRUIHELP_H
-
-// Main view topic in help application
-_LIT( HWRT_HLP_MAIN_VIEW,"HWRT_HLP_MAIN_VIEW" );
-
-// Shortcuts view topic in help application
-_LIT( HWRT_HLP_SHORTCUTS,"HWRT_HLP_SHORTCUTS_MAIN_VIEW" );
-
-// Shortcut edit view topic in help application
-_LIT( HWRT_HLP_SHORTCUTS_EDIT_VIEW,"SHORTCUTS_EDIT_VIEW" );
-
-#endif
-
--- a/textinput/peninputhwrtrui/inc/truihwrbox.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,593 +0,0 @@
-/*
-* Copyright (c) 2007 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:  hand writing box - control in Training UI application 
-*
-*/
-
-
-#ifndef C_TRAININGUIHWRBOX_H
-#define C_TRAININGUIHWRBOX_H
-
-// includes 
-#include <coecntrl.h>
-#include <AknInfoPopupNoteController.h> // Tooltip
-
-// forward declarations  
-class MTruiHwrBoxObserver;
-class CAknInfoPopupNoteController;
-class CAknsBasicBackgroundControlContext;
-
-const TPoint KTail( 0xFFFF,0 );
-
-// Class declaration
-/**
- *  CTruiHwrBox
- *  CTruiHwrBox is new component, which allows input and output a character
- *  model by strokes
- *  @lib avkon.lib
- */ 
-class CTruiHwrBox : public CCoeControl, public MAknInfoPopupNoteObserver
-    {   
-public:
-
-    /* Flags for hwrbox state. HwrBox must be one and only one state */   
-    enum TBoxState
-        {
-        /* Already has model but doesn't play the animation */
-        EExistModelStop = 0,
-        /* Already has model and play the animation */
-        EExistModelDraw,
-        /* Ready to input an new character model */
-        ENewModelStop,
-        /* Use is inputting an new character model */
-        ENewModelDraw,
-        }; 
-        
-    enum THwrBoxFlag
-        {
-        ENoFrameHwrBox = 0x00000000,
-        EFrameHwrBox = 0x00000001,
-        EReadOnlyHwrBox = 0x00000002,
-        EWritableHwrBox = 0x00000004
-        };
-        
-public: 
-
-    /**
-     * Two-phased constructor.
-     * @param aParent the parent control for choice list
-     * @param aRect the extent of the control
-     * @return Pointer to CTruiHwrBox's instance
-     */
-    static CTruiHwrBox* NewL( CCoeControl* aParent, 
-                              MTruiHwrBoxObserver* aHwrBoxObserver = NULL,
-                              MAknsControlContext* aBgContext = NULL );
-
-    /**
-     * Two-phased constructor.
-     * @param aParent the parent control for choice list
-     * @param aRect the extent of the control
-     * @return Pointer to CTruiHwrBox's instance
-     */
-    static CTruiHwrBox* NewLC( CCoeControl* aParent,
-                               MTruiHwrBoxObserver* aHwrBoxObserver = NULL,
-                               MAknsControlContext* aBgContext = NULL );
-    
-    /**
-     * Destructor
-     */
-    ~CTruiHwrBox(); 
-    
-    /**
-     * Periodic Callback function
-     * To save the model
-     *
-     * @param aObject: Transfer the pointer to CTruiHwrBox into this function
-     * @return system-wide err code
-     */
-    static TInt TimeToSaveL( TAny* aObject );
-    
-    /**
-     * Save the new inputting model
-     */
-    void SaveModelL();
-
-    /**
-     * Save the new inputting model by manual.
-     */
-    void SaveModelByManuallyL();
-    
-    /**
-     * Periodic Callback function
-     * To draw the next piont in the animation
-     *
-     * @param aObject: Transfer the pointer to CTruiHwrBox into this function
-     * @return system-wide err code
-     */
-    static TInt TimeToDrawNextL( TAny* aObject );
-    
-    /**
-     * Draw the next piont in the animation
-     */
-    void DrawNextL();
-    
-    /**
-     * Begin to draw the existing model
-     *
-     * @param aIsScale ETrue scale points to the fitable size before playing.
-     * @param aRefSize The size as the reference coordination for scaling.
-     */
-    void PlayAnimation( TBool aIsScale = EFalse, const TSize& aRefSize = TSize( 1, 1 ) );
-    
-    /**
-     * clear the existing model
-     */
-    void ClearExistModel();
-    
-    /**
-     * Set HwrBox observer
-     * @param aHwrBoxObserver the observer
-     */
-    void SetHwrBoxObserver( MTruiHwrBoxObserver* aHwrBoxObserver );
-    
-    /**
-     * Get the Hwrbox's model
-     *
-     * @return Reference to iPointArrayModel
-     */
-    RArray<TPoint>& Model();
-    
-    /**
-     * Get the Hwrbox's state
-     *
-     * @return Current HWR box's state
-     */
-    TInt BoxState() const;
-    
-    /**
-     * Pause the playing of animation
-     */
-    void PausePlaying();
-    
-    /**
-     * Resume the playing of animation
-     */
-    void ResumePlaying();
-    
-    /**
-     * Set guiding line
-     *
-     * @param aTop The vertical coordinate of top guiding line
-     * @param aBottom The vertical coordinate of bottom guiding line
-     * @return system-wide err code
-     */
-    TInt SetGuidingLine( TInt aTop, TInt aBottom );
-    
-    /**
-     * Show trails statically
-     *
-     * @param aPointArray The points that will be shown in HwrBox
-     */
-    void ShowTrails( const RArray<TPoint>& aPointArray, 
-                     TBool aIsScale = EFalse,
-                     const TSize& aRefSize = TSize( 1, 1 ) );
-    
-    /**
-     * Show tooltip
-     *
-     * @param aText The tooltip tex.
-     * @param aPosition The tooltip's location.
-     * @param aBeforeTimeout The time internal that will popup tooltip
-     * @param aInViewTimeout The time internal that will hide tooltip
-     */
-    void ShowTooltipL( const TDesC& aText,
-                       const TPoint& aPosition, 
-                       const TInt aBeforeTimeout,
-                       const TInt aInViewTimeout );
-    
-    /**
-     * Set the position for tooltip
-     *     
-     * @param aPosition The tooltip's location.
-     */
-    void SetTooltipPosition( const TPoint& aPosition );
-    
-    /**
-     * Hide tooltip
-     *
-     */
-    void HideInfoPopupNote();
-// From CCoeControl 
-    
-    /**
-     * From CCoeControl. Handles key events.
-     * @param aKeyEvent the key event    
-     * @param aType The type of key event
-     * @return Indicates whether or not the keyevent was used by this control   
-     */
-    TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );    
-    
-    /**
-     * From CCoeControl. Draws control to given area
-     * @param aRect The rectangle that should be drawn by the control. 
-     */
-    void Draw( const TRect& aRect ) const;
-       
-    /**
-     * Draw character model
-     */
-    void DrawModel();
-    
-    /**
-     * Set box state from outside
-     *
-     * @param aReady ture means model is loaded
-     *               false means no model is loaded
-     */
-    void ModelIsReady( TBool aReady = ETrue );
-    
-    TRect DrawableRect() const;
-    
-    inline void SetHwrBoxFlag( TUint aFlag )
-        {
-        iFlag = aFlag;
-        };
-        
-    /**
-     * Set flag to indicate if draw bottom guideline
-     *
-     * @param aBottomGuideLineDisplay ETrue means draw bottom guideline
-     */
-    inline void SetDisplayBottomGuideLine( TBool aBottomGuideLineDisplay )
-        {
-        iBottomGuideLineDisplay = aBottomGuideLineDisplay;
-        };
-
-    /**
-     * Set flag to indicate if draw top guideline
-     *
-     * @param aTopGuideLineDisplay ETrue means draw bottom guideline
-     */
-    inline void SetDisplayTopGuideLine( TBool aTopGuideLineDisplay )
-        {
-        iTopGuideLineDisplay = aTopGuideLineDisplay;
-        };
-        
-    /**
-     * Set editing mode to readonly or writable
-     *
-     * @param aReadOnly ETrue means hwrbox is readonly
-     *                  EFalse means hwrbox is loaded
-     */
-    void SetHwrBoxReadOnly( TBool aReadOnly );
-
-// from CCoeControl
-    
-    /**
-     * From CCoeControl. Handles pointer events
-     * @param aPointerEvent the pointer event be be handled.
-     */
-    void HandlePointerEventL( const TPointerEvent& aPointerEvent );    
-    
-protected: 
-
-
-    /**
-     * From CoeControl.
-     * Responds to changes to the size and position of the contents of this control.
-     */
-    void SizeChanged();
-    
-    /**
-     * Handles a change to the control's resources.
-     *
-     * @param aType A message UID value.
-     */
-    void HandleResourceChange( TInt aType );
-    
-    /**
-     * Handle focus changed
-     *
-     */
-    void FocusChanged( TDrawNow aDrawNow ); 
-
-private:
-
-    /**
-     * C++ Default Constructor 
-     */
-    CTruiHwrBox(); 
-
-    /**
-     * 2nd phase constructor
-     * @param aParent the parent control for choice list
-     * @param aRect the extent of the control
-     */
-    void ConstructL( CCoeControl* aParent,
-                     MTruiHwrBoxObserver* aHwrBoxObserver = NULL,
-                     MAknsControlContext* aBgContext = NULL );
-    
-    /**
-     * Check if the point is contained in drawing area
-     *
-     * @param aPoint The point which to be checked
-     * @return ETrue: The point is in drawing area
-     *         EFalse: The point isn't in drawing area
-     */
-    TBool IsContained( const TPoint& aPoint ) const;
-    
-    /**
-    * Adjust shortcut model's point to fit the popup hwr box. 
-    * @param aOriginSize Origin size of which input character model.
-    * @param aRealSize Real popup hwr box's size.
-    * @param aModel The model to be adjuested.
-    */    
-    void ScaleModel( const TSize& aOriginSize, 
-                     const TSize& aRealSize, 
-                     RArray<TPoint>& aModel );
-       
-    /**
-     * Draws all points.     
-     */
-    void DrawTrails( CWindowGc& aGc ) const;
-    
-    /**
-     * Set context for this control.
-     *
-     * @param aGc Handle for CWindowGc
-     */
-    void PrepareContext( CWindowGc& aGc ) const;
-    
-    /**
-     * Load bitmaps for border.
-     *
-     */
-    void LoadBorderBitmapsL();
-    
-    /**
-     * Load bitmaps for shadows.
-     *
-     */
-    void LoadShadowBitmapsL();
-
-    /**
-     * Load bitmaps for guidelines.
-     *
-     */
-    void LoadGuideLineBitmapsL();
-    
-    /**
-     * Load layouts for borders from LAF.
-     *
-     * @param aVarity Varity for LAF
-     */
-    void LoadBorderLayout( TInt aVarity );
-
-    /**
-     * Load layouts for shadows from LAF.
-     *
-     * @param aVarity Varity for LAF
-     */
-    void LoadShadowLayout( TInt aVarity );
-    
-    /**
-     * Load layouts for guidelines from LAF.
-     *
-     * @param aVarity Varity for LAF
-     */
-    void LoadGuideLineLayout( TInt aVarity );
-
-    /**
-     * Draw borders.
-     *
-     */
-    void DrawBorders( CWindowGc& aGc ) const;
-    
-    /**
-     * Draw shadows.
-     *
-     */
-    void DrawShadows( CWindowGc& aGc ) const;
-
-    /**
-     * Draw guideliens.
-     *
-     */    
-    void DrawGuideLines( CWindowGc& aGc ) const;    
-    
-// From MAknInfoPopupNoteObserver
-    /**
-    * Handles events reported from info popup note.
-    * @param aController The controller that controls the note, from
-    *   where the event originates.
-    * @param aEvent The event.
-    */
-    void HandleInfoPopupNoteEvent( CAknInfoPopupNoteController* aController,
-            TAknInfoPopupNoteEvent aEvent );
-    
-private: // data
-
-    /**
-     * When this timer time out, the inputting of new character is over.
-     * Own.
-     */
-    CPeriodic* iTimeToSave;
-    
-    /**
-     * To control drawing speed
-     * Own.
-     */
-    CPeriodic* iTimeToDrawNext;
-
-    /**
-     * Contain the points need to be drawn on screen
-     * Own
-     */
-    RArray<TPoint> iPointArrayDraw;
-
-    /**
-     * Contain the character model points
-     * Own
-     */
-    RArray<TPoint> iPointArrayModel;
-    
-    /**
-     * Current control state 
-     */
-    TBoxState iBoxState;
-    
-    /**
-     * Observe user's input
-     * Not own
-     */
-    MTruiHwrBoxObserver* iHwrBoxObserver;
-    
-    /**
-     * Use this attribute to count the last animated point
-     * zero implies the first point
-     */
-    TInt iLastAnimatedPoint;
-    
-    /**
-     * Guideline top left point
-     */
-    TPoint iGuideLineTopL;
-    
-    /**
-     * Guideline top right point
-     */
-    TPoint iGuideLineTopR;
-    
-    /**
-     * Guideline bottom left point
-     */
-    TPoint iGuideLineBottomL;
-    
-    /**
-     * Guideline bottom right point
-     */
-    TPoint iGuideLineBottomR;
-    
-    /**
-     * Indicate pen position
-     */
-    TBool iPenInRect;   
-          
-    /**
-     * Flag of training box.
-     */
-    TUint iFlag;
-    
-    /**
-     * Component used to show tooltip
-     * Own.
-     */
-    CAknInfoPopupNoteController* iTooltip;
-    
-    /**
-     * Check if draw bottom guideline.
-     */
-    TBool iBottomGuideLineDisplay;
-    
-    /**
-     * Check if draw bottom guideline.     
-     */    
-    TBool iTopGuideLineDisplay;
-        
-    /**
-     * Pointer array to store pointers to bitmaps of borders
-     * 
-     * Own
-     */    
-    RPointerArray<CFbsBitmap> iBorderBitmaps;
-
-    /**
-     * Pointer array to store pointers to mask bitmaps of borders
-     * 
-     * Own
-     */
-    RPointerArray<CFbsBitmap> iBorderBitmapMasks;
-
-    /**
-     * Array to store pointers to TAknLayoutRect for borders
-     * 
-     * Own
-     */
-    RArray<TAknLayoutRect> iBorderLayout;
-
-
-    /**
-     * Pointer array to store pointers to bitmaps of shadows
-     * 
-     * Own
-     */    
-    RPointerArray<CFbsBitmap> iShadowBitmaps;
-
-    /**
-     * Pointer array to store pointers to mask bitmaps of shadows
-     * 
-     * Own
-     */
-    RPointerArray<CFbsBitmap> iShadowBitmapMasks;
-
-    /**
-     * Array to store pointers to TAknLayoutRect for shadows
-     * 
-     * Own
-     */
-    RArray<TAknLayoutRect> iShadowLayout;
-    
-    /**
-     * Pointer array to store pointers to bitmaps of guideline
-     * 
-     * Own
-     */    
-    RPointerArray<CFbsBitmap> iGuideLineBitmaps;
-
-    /**
-     * Pointer array to store pointers to mask bitmaps of guideline
-     * 
-     * Own
-     */
-    RPointerArray<CFbsBitmap> iGuideLineBitmapMasks;
-
-    /**
-     * Array to store pointers to TAknLayoutRect for guidelines
-     * 
-     * Own
-     */
-    RArray<TAknLayoutRect> iGuideLineLayout;
-    
-    /**
-     * Rect of drawable for trails;
-     * 
-     */
-    TRect iDrawabelRect;
-    
-    /**
-     * Color of pen;
-     * 
-     */
-    TRgb iPenColor;
-    
-    
-    CAknsBasicBackgroundControlContext* iBgContext;
-    
-    TBool iStartSave;
-    };    
-
-#endif // TRAININGUIHWRBOX_H
-
-// end of file
-
--- a/textinput/peninputhwrtrui/inc/truihwrboxobserver.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* 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:  Control's observer
-*
-*/
-
-
-#ifndef M_TRUIHWRBOXOBSERVER_H
-#define M_TRUIHWRBOXOBSERVER_H
-
-// CLASS DECLARATION
-
-/**
-* MTruiHwrBoxObserver.
-* An instance of a class derived from MTrainingUIHwrBoxObserver is an object
-* which can be informed when an event defined in this interface occured.
-*/
-class MTruiHwrBoxObserver 
-    {
-public:
-    enum TMessageType
-        {
-        EModelExist,
-        EModelDelete
-        };
-    /**
-     * TimeOut
-     * Handle the event when a time out occurs.
-     * @param aModel the array of points where the model is stored
-     */
-    virtual void SaveNewModelL() = 0;
-    
-    /**
-     * HandleEventL
-     * Handle the message event from the HwrBox
-     * @param aMessage According to the aMessage to handle the event
-     */
-    virtual void HandleEventL( TMessageType aMessage ) = 0;
-    };
-
-#endif //M_TRUIHWRBOXOBSERVER_H
-
--- a/textinput/peninputhwrtrui/inc/truiinfomessagecontainer.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,165 +0,0 @@
-/*
-* Copyright (c) 2007 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:  CTruiInfoMessageContainer class of TrainingUI
-*
-*/
-
-
-#ifndef C_TRUIINFOMESSAGECONTAINER_H
-#define C_TRUIINFOMESSAGECONTAINER_H
-
-#include <AknLayout2Def.h>
-#include "truicontainerbase.h"
-
-class CAknsBasicBackgroundControlContext;
-class CEikButtonGroupContainer;
-class CEikLabel;
-class CTruiRadioButton;
-class CEikEdwin;
-
-/**
- *  CTruiInfoMessageContainer container control
- *  Used as the component to shortcut main view
- *
- *  @code
- *      iContainer = CTruiInfoMessageContainer::NewL( ClientRect() );
- *      iContainer->SetMopParent( this );
- *      AppUi()->AddToStackL( *this, iContainer );
- *  @endcode
- *
- */
- 
-class CTruiInfoMessageContainer : public CTruiContainerBase
-    {
-public:    
-    /**
-     * Two-phased constructor.
-     * @param aRect The rectangle that defines the control's extent. 
-     *              The rectangle's origin is relative to the origin
-     *              of its associated window.
-     * @return Pointer to the component control
-     */
-    static CTruiInfoMessageContainer* NewL( const TRect& aRect );
-    
-    /**
-     * Two-phased constructor.
-     * @param aRect The rectangle that defines the control's extent. 
-     *              The rectangle's origin is relative to the origin
-     *              of its associated window.
-     * @return Pointer to the component control
-     */
-    static CTruiInfoMessageContainer* NewLC( const TRect& aRect );
-    
-    /**
-     * Destructor.
-     */
-    virtual ~CTruiInfoMessageContainer();
-    
-    /**
-     * Do something before exit
-     */
-    void PrepareToExitL();
-    
-private:
-
-    /**
-     * Constructor.
-     */
-    CTruiInfoMessageContainer();
-
-    /**
-     * Two-phased constructor. Second phase
-     * @param aRect The rectangle that defines the control's extent. 
-     *              The rectangle's origin is relative to the origin
-     *              of its associated window.
-     */
-    void ConstructL( const TRect& aRect );
-    
-    /**
-     * Create controls to be displayed in this container.
-     */
-    void InitializeControlsL();
-
-    /**
-     * Create label and display it in the container.
-     *    
-     * @param aParent The parent of the control.
-     * @return The pointer to the label.
-     */
-    CEikLabel* CreateLabelL( const CCoeControl* aParent );
-    
-
-
-// from base class CCoeControl    
-     /**
-     * Draw the screen.
-     * @param aRect the rectangle of this view that needs updating
-     */
-    void Draw( const TRect& aRect ) const;
-
-    /**
-     * From CoeControl.
-     * Responds to changes to the size and position of the contents of this control.
-     */
-    void SizeChanged();
-    
-    /**
-     * From CoeControl.
-     * Handles a change to the control's resources.
-     *
-     * @param aType A message UID value.
-     */
-    void HandleResourceChange( TInt aType );
-
-private: // data
-
-    /**
-     * Pointer to background
-     * Own
-     */
-    CAknsBasicBackgroundControlContext*	iBackGround;
-
-    /**
-     * Pointer to the label text
-     * Own
-     */
-    HBufC* iLabelText;
-    
-    /**
-     * Pointer to the radio button
-     * Own
-     */
-    CTruiRadioButton* iRadioButtonContainer;
-    
-    /**
-     * Pointer to the edwin text
-     * Own
-     */
-    CEikEdwin* iEdwin;    
-    
-    /**
-     * MultilineLayout for edwin
-     * 
-     */
-    TAknMultiLineTextLayout iMultilineLayout;
-    
-    /**
-     * TRect of instruct pane for edwin
-     * 
-     */
-    TRect iInstructPaneRect;
-    };
-
-#endif // C_TRUIINFOMESSAGECONTAINER_H
-
--- a/textinput/peninputhwrtrui/inc/truiinfomessageview.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +0,0 @@
-/*
-* Copyright (c) 2007 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:  CTruiInfoMessageView class of TrainingUI
-*
-*/
-
-
-#ifndef C_TRUIINFOMESSAGEVIEW_H
-#define C_TRUIINFOMESSAGEVIEW_H
-
-#include <aknview.h>
-
-class CTruiInfoMessageContainer;
-
-// UID of view
-const TUid KTruiInfoMessageViewId = {5};
-
-/**
- *  CTruiInfoMessageView view class.
- *
- *  @code
- *    CTruiInfoMessageView* view = CTruiInfoMessageView::NewLC(); 
- *    AddViewL( view );
- *    CleanupStack::Pop();
- *  @endcode
- *
- */
-class CTruiInfoMessageView : public CAknView
-    {
-public:
-    /** 
-     * Two phase construction.
-     * 
-     * @return Pointer to CTruiInfoMessageView's instance
-     */    
-    static CTruiInfoMessageView* NewL();
-    
-    /** 
-     * Two phase construction.
-     * 
-     * @return Pointer to CTruiInfoMessageView's instance
-     */
-    static CTruiInfoMessageView* NewLC();    
-
-    /**
-    * Destructor.
-    */    
-    virtual ~CTruiInfoMessageView();
-
-// from base class CAknView
-
-    /**
-    * From CAknView
-    * Returns views id.
-    *
-    * @return id for this view.
-    */
-    TUid Id() const;
-    
-    /**
-     * From CAknView 
-     * Command handling function. 
-     *
-     * @param aCommand ID of the command to respond to. 
-     */    
-    void HandleCommandL( TInt aCommand );    
-    
-private:
-
-    CTruiInfoMessageView();
-    
-    void ConstructL();
-    
-    /**
-    * From CAknView
-    * Called by the framework when view is activated.
-    *
-    * @param aPrevViewId This is not used now.
-    * @param aCustomMessage This is not used now.
-    * @param aCustomMessage This is not used now.
-    */
-    void DoActivateL( const TVwsViewId& aPrevViewId,
-                      TUid aCustomMessageId,
-                      const TDesC8& aCustomMessage );
-
-    /**
-    * From CAknView
-    * Called by the framework when view is deactivated.
-    *
-    */
-    void DoDeactivate();
-    
-private: // data
-    
-    CTruiInfoMessageContainer* iContainer;    
-    };
-
-#endif // C_TRUIINFOMESSAGEVIEW_H
-
--- a/textinput/peninputhwrtrui/inc/truilanguagerelation.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
-* Copyright (c) 2007 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:  TLanguageRelation class of TrainingUI
-*
-*/
-
-
-#ifndef T_TRUILANGUAGERELATION_H
-#define T_TRUILANGUAGERELATION_H
-
-#include <e32std.h>
-
-class TLanguageRelation
-    {
-public:
-    TLanguageRelation( TInt aCode, TInt aLanguageScriptId );
-    
-    inline TInt LanguageCode() const
-        {
-        return iCode;
-        };
-    
-    inline TInt LanguageScriptId() const
-        {
-        return iLanguageScriptId;
-        };
-  
-private:
-    TInt iCode;
-    TInt iLanguageScriptId;    
-    };
-
-#endif // T_TRUILANGUAGERELATION_H
--- a/textinput/peninputhwrtrui/inc/truimainview.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,166 +0,0 @@
-/*
-* Copyright (c) 2007 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:  CTruiMainView class of TrainingUI
-*
-*/
-
-
-#ifndef C_TRUIMAINVIEW_H
-#define C_TRUIMAINVIEW_H
-
-#include <aknview.h>
-#include <akntoolbarobserver.h>
-
-class CTruiMainViewContainer;
-
-// UID of view
-const TUid KTruiMainViewId = {1};
-
-/**
- *  CTruiMainView view class.
- *
- *  @code
- *    CTruiMainView* view = CTruiMainView::NewLC(); 
- *    AddViewL( view );
- *    CleanupStack::Pop();
- *  @endcode
- *
- */
-class CTruiMainView : public CAknView, public MAknToolbarObserver
-    {
-public:
-
-    /** 
-     * Two phase construction.
-     * 
-     * @return Pointer to CTruiMainView's instance
-     */    
-    static CTruiMainView* NewL();
-
-    /** 
-     * Two phase construction.
-     * 
-     * @return Pointer to CTruiMainView's instance
-     */
-    static CTruiMainView* NewLC();    
-
-    /**
-    * Destructor.
-    */    
-    virtual ~CTruiMainView();
-
-// from base class CAknView
-
-   /**
-    * Returns views id.
-    *
-    * @return id for this view.
-    */
-    TUid Id() const;
-    
-   /**     
-     * Command handling function. 
-     *
-     * @param aCommand ID of the command to respond to. 
-     */    
-    void HandleCommandL( TInt aCommand );
-
-// from MEikMenuObserver    
-    /**
-     * Dynamically initialises a menu pane.
-     *
-     * @param aResourceId The resource Id.
-     * @param aMenuPane The in-memory representation of the menu pane.     
-     */    
-    void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
-
-private:
-
-   /**
-    * Constructor.
-    */    
-    CTruiMainView();
-    
-   /**
-    * Perform the second phase construction of a CTruiMainView object.
-    */    
-    void ConstructL();   
-                                
-    /**
-    * Dynamically initialises the character range menu pane.
-    *
-    * @param aScriptId Language script Id.    
-    * @param aMenuPane The in-memory representation of the menu pane.
-    */
-    void InitCharRangeSubMenuL( TInt aScriptId, CEikMenuPane* aMenuPane);
-                                
-    /**
-    * Get reource ID of menu items for initializing menu pane.
-    *
-    * @param aScriptId Language script Id.    
-    * @return resource Id of menu items.
-    */
-    TInt MenuItemsReourceId( TInt aScriptId );
-    
-    /**
-    * Check menu item dimmed by menu item id.
-    *
-    * @param aMenuPane Pointer to menu pane. 
-    * @param aMenuItemId Menu item id of menu.    
-    * @return ETrue: menu item is dimmed
-    */
-    TBool IsMenuItemDimmed( CEikMenuPane* aMenuPane, TInt aMenuItemId );
-    
-// from base class CAknView
-   /**
-    * Called by the framework when view is activated.
-    *
-    * @param aPrevViewId This is not used now.
-    * @param aCustomMessage This is not used now.
-    * @param aCustomMessage This is not used now.
-    */
-    void DoActivateL( const TVwsViewId& aPrevViewId,
-                      TUid aCustomMessageId,
-                      const TDesC8& aCustomMessage );
-
-   /**    
-    * Called by the framework when view is deactivated.
-    *
-    */
-    void DoDeactivate();
-    
-    /**
-     * From MAknToolbarObserver.
-     * Handles toolbar events for a certain toolbar item.
-     *
-     * @param aCommand The command ID of some toolbar item.
-     */
-    void OfferToolbarEventL( TInt aCommand );    
-
-private: // data
-
-    /**
-     * Pointer to the component control
-     * own.  
-     */
-    CTruiMainViewContainer* iContainer;     
-    
-    /**
-     * Indicates whether all delete is dimmed
-     */
-    TBool iDimAllDelete;
-    };
-    
-#endif // C_TRUIMAINVIEW_H
-
--- a/textinput/peninputhwrtrui/inc/truimainviewcontainer.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,439 +0,0 @@
-/*
-* Copyright (c) 2007 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:  CTruiMainViewContainer class of TrainingUI
-*
-*/
-
-
-#ifndef C_TRUIMAINVIEWCONTAINER_H
-#define C_TRUIMAINVIEWCONTAINER_H
-
-#include "truicontainerbase.h"
-#include "truihwrboxobserver.h"
-
-class CAknButton;
-class CAknChoiceList;
-class CTruiHwrBox;
-class CAknCharMapDialog;
-class CAknsBasicBackgroundControlContext;
-class CEikLabel;
-class CAknPreviewPopUpController;
-
-const TInt KActiveCharSize = 1;
-const TInt KLabelTextLen = 100;
-/**
- *  CTruiMainViewContainer container control
- *  Used as the component to training ui main view
- *
- *  @code
- *      iContainer = CTruiMainViewContainer::NewL( ClientRect() );
- *      iContainer->SetMopParent( this );
- *      AppUi()->AddToStackL( *this, iContainer );
- *  @endcode
- *
- */
-class CTruiMainViewContainer : public CTruiContainerBase, 
-                               public MCoeControlObserver,
-                               public MTruiHwrBoxObserver
-    {
-public:
-    
-    /**
-     * Two-phased constructor.
-     * @param aRect The rectangle that defines the control's extent. 
-     *              The rectangle's origin is relative to the origin of its associated window.
-     * @return Pointer to the component control
-     */
-    static CTruiMainViewContainer* NewL( const TRect& aRect );
-    
-    /**
-     * Two-phased constructor.
-     * @param aRect The rectangle that defines the control's extent. 
-     *              The rectangle's origin is relative to the origin of its associated window.
-     * @return Pointer to the component control
-     */
-    static CTruiMainViewContainer* NewLC( const TRect& aRect );
-
-    /**
-     * Destructor.
-     */
-    virtual ~CTruiMainViewContainer();
-    
-    /**
-     * Handles an event from an observed control.
-     *
-     * @param aControl The control that sent the event.    
-     * @param aEventType The event type.     
-     */    
-    void HandleControlEventL( CCoeControl* aControl, TCoeEvent aEventType );
-    
-    /**
-     * Handles language script changed.
-     *
-     * @param aScriptId The selected language script's Id
-     */  
-    void HandleLanguageScriptChangedL( TInt aScriptId );
-
-    /**
-     * Handles character range changed.     
-     *          
-     * @param aIndex The index of range item in Menu "character range" or choicelist
-     * @param aRangeId The range Id.
-     */  
-    void HandleCharRangeChangedL( TInt aIndex, TInt aRangeId );
-    
-    /**
-     * Handles choosing an active char from SCT.
-     *          
-     */  
-    void HandleChooseCharEventL();
-    
-    /**
-     * Preview character model
-     *          
-     */  
-    void PreviewCharacterModel();
-    
-    /**
-     * Set current trained character
-     *
-     * @param aChar the trained character         
-     */ 
-    void SetCurrentCharL( const TPtrC& aChar );
-    
-    /**
-     * Clear current model
-     *        
-     */ 
-    void ClearCurrentModel();
-    
-    /**
-     * Delete model of current character
-     *        
-     */ 
-    void DeleteModelL();
-    
-    /**
-     * Delete all models of current character
-     *        
-     */ 
-    void DeleteAllModelL();
-
-    /**
-     * Check if clear button has been dimmed
-     *       
-     * @return ETrue: dimmed; EFalse: undimmed  
-     */    
-    TBool IsButtonDimmed();
-    
-    /**
-     * Check if all delete button has been dimmed
-     *       
-     * @return ETrue: dimmed; EFalse: undimmed  
-     */
-    TBool IsAllDelete();
-    
-    /**
-     * Get character set Id, used to choose which characters will be displayed in SCT
-     *
-     * @param aRangeId Character range Id for special character table 
-     *     
-     * @return Id of character set. 
-     */       
-    TInt SctCharacterSetId( TInt aRangeId );
-
-    /**
-     * Get cyrillic lower character set Id
-     *
-     * @param aInputLanguage Current input language
-     *     
-     * @return Id of character set. 
-     */       
-    TInt SctCyrillicLowerCharacterSetId( TLanguage aInputLanguage );
-
-    /**
-     * Get cyrillic upper character set Id
-     *
-     * @param aInputLanguage Current input language
-     *     
-     * @return Id of character set. 
-     */       
-    TInt SctCyrillicUpperCharacterSetId( TLanguage aInputLanguage );
-        
-    /**
-     * Before exit, do some necessary operation
-     *
-     */
-    void PrepareToExitL();
-    
-    /**
-     * Handle size changed
-     *
-     * @param aVarity: Use aVarity to load different resulotion's LAF data.
-     */    
-    void DoSizeChanged( TInt aVarity );
-
-private:
-
-   /**
-    * Constructor.
-    */    
-    CTruiMainViewContainer();
-
-   /**
-    * Perform the second phase construction of a CTruiMainViewContainer object.
-    *
-    * @param aRect: The rectangle that defines the control's extent. 
-    */
-    void ConstructL( const TRect& aRect );
-    
-    /**
-     * Create controls to be displayed in this container.
-     *
-     */    
-    void InitializeControlsL();
-    
-    /**
-     * Create label and display it in the container.
-     *
-     * @param aResourceID The resource ID
-     * @param aParent The parent of the control.
-     * @param aObserver The observer of the control.
-     * @return The pointer to the label.
-     */
-    CEikLabel* CreateLabelL( const TInt aResourceId,
-                             const CCoeControl* aParent,
-                             MCoeControlObserver* aObserver );
-                             
-    /**
-     * Create choicelist and display it in the container.
-     *
-     * @param aParent The parent of the control.
-     * @param aObserver The observer of the control.   
-     * @param aTextArray The content displayed in the control.
-     * @param aButton The attached button.
-     * @return The pointer to the choiclist.
-     */
-    CAknChoiceList* CreateChoiceListL( CCoeControl* aParent,
-                                       MCoeControlObserver* aObserver,
-                                       CDesCArray* aTextArray,
-                                       CAknButton* aButton );
-                             
-    /**
-     * Create HWRBox and display it in the container.
-     *
-     * @param aParent The parent of the control.
-     * @param aObserver The observer of the control.
-     * @return The pointer to the choiclist.
-     */
-    CTruiHwrBox* CreateHwrBoxL( CCoeControl* aParent, 
-                                MTruiHwrBoxObserver* aObserver );
-     
-     /**
-     * Return button's resourceId by Character Range Id.
-     *
-     * @param aRangeId The character range ID.     
-     * @return Reource Id to be used to create button for choicelist.
-     */                                           
-    TInt ButtonResourceId( TInt aRangeId ) const;
-
-    /**
-     * Pop Sct dialog
-     *
-     * @param aCharCase Character case for special character table 
-     *
-     * @param aSpecialChar Reference to the buffer where selected special characters are put.
-     * @param aCharSetResourceId The resource ID of special character table 
-     * @return Id of the button used to dismiss dialog.
-     * 
-     */    
-    TInt PopupSctDialogL( TInt aCharCase, TDes& aSpecialChars, TInt aCharSetResourceId );
-
-    /**
-     * Popup information note
-     *
-     * @param aText The text to be displayed in CAknInformationNote.
-     */ 
-    void PopupInformationNoteL( const TDesC& aText );       
-                                   
-    /**
-     * Adjust special behavior characters to displayable characters.
-     * @param aResult Return result for adjustment.
-     *
-     */
-    void AdjustDisplayChars( TDes& aResult );
-    
-    /**
-     * From CoeControl.
-     * Handles key event.
-     *
-     * @param aKeyEvent The key event.
-     * @param aType The type of key event: EEventKey, EEventKeyUp or EEventKeyDown. 
-     * @return Indicates whether or not the key event was used by this control.
-     */    
-    TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );
-
-    /**
-     *  GetHelpContext()
-     *  Identify the help context so that the framework can look up
-     *  the corresponding help topic
-     *  @param aContext Returns the help context
-     */    
-    void GetHelpContext( TCoeHelpContext& aContext ) const;
-            
-    /**
-     * From CoeControl.
-     * Responds to changes to the size and position of the contents of this control.
-     */
-    void SizeChanged();
-    
-    /**
-     * From CoeControl.
-     * Responds to a change in focus.
-     *
-     * @param aRect Contains the value that was passed to it by SetFocus(). 
-     */
-    void FocusChanged( TDrawNow aDrawNow );
-    
-    /**
-     * From CoeControl.
-     * Draws the container.
-     *
-     * @param aRect The region of the control to be redrawn. Co-ordinates are relative to the control's origin (top left corner).      
-     */    
-    virtual void Draw( const TRect& aRect ) const;
-    
-    /**
-     * From CoeControl.
-     * Handles a change to the control's resources.
-     *
-     * @param aType A message UID value.
-     */
-    void HandleResourceChange( TInt aType );   
-    
-    void HandlePointerEventL(const TPointerEvent& aPointerEvent);
-    
-// From MTruiHWRBoxObserver 
-    /**
-     * From MTruiHWRBoxObserver.
-     * Input times out
-     * Handle the save model event
-     */
-    void SaveNewModelL();
-    
-    /**
-     * From MTruiHWRBoxObserver.
-     * HandleEventL
-     * Handle the message event from the HWRBox
-     * @param aMessage According to the aMessage to handle the event
-     */
-    void HandleEventL( TMessageType aMessage );
-       
-private: // data
-
-    /**
-     * The current trained character
-     */
-    TBuf<KActiveCharSize> iCurrentChar;
-    
-    /**
-     * The current tip of training character
-     */
-    HBufC* iLabeltext;
-    
-    /**
-     * Store the wrapped text to indicate which character is being trained.
-     * 
-     * Own
-     */
-    HBufC* iWrappedLabelText;
-
-    /**
-     * This text helps a user understand that he / she is
-     * teaching his / her own character models to HWR engine
-     * Not own
-     */
-    CEikLabel* iLabel;
-    
-    /**
-     * The Clear button in toolbar, used to clean up the Writing Box
-     * Not own
-     */
-    CAknButton* iClearBtn;
-
-    /**
-     * The preview button in toolbar
-     * Not own
-     */
-    CAknButton* iPreviewBtn;
-    
-    /**
-     * The button currently associated with choicelist.
-     * Not own
-     */
-    CAknButton* iCurChoiceListBtn;
-
-    /**
-     * Left buttons allow quick access to the previous character
-     * in the selected character range.
-     * Not own
-     */
-    CAknButton* iLeftBtn;
-
-    /**
-     * Indicates which character is currently selected.
-     * Not own
-     */
-    CEikLabel* iIindicator;
-
-    /**
-     * Right buttons allow quick access to the Next character
-     * in the selected character range.
-     * Not own
-     */
-    CAknButton* iRightBtn;
-    
-    /**
-     * ChoiceList is used for switching between character ranges.
-     * Not own
-     */
-    CAknChoiceList* iChoicelist;
-
-    /**
-     * The Writing Box is used for drawing a character model.
-     * Not own
-     */
-    CTruiHwrBox* iHwrBox;
-    
-    /**
-     * Pointer to background
-     * Own
-     */
-    CAknsBasicBackgroundControlContext*	iBackGround;        
-    
-    /**
-     * Rect of parent pane of label     
-     */
-    TRect iLabelPaneRect;
-    
-    /**
-     * MultiLineTextLayout of Label
-     */
-    TAknMultiLineTextLayout iMultilineLayout;
-     
-    RArray<TInt> iLineWidthArray;    
-    };
-
-#endif // C_TRUIMAINVIEWCONTAINER_H
-
--- a/textinput/peninputhwrtrui/inc/truiradiobuttonobserver.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Control radio button's observer
-*
-*/
-
-#ifndef M_TRUIRADIOBUTTONOBSERVER_H
-#define M_TRUIRADIOBUTTONOBSERVER_H
-
-// CLASS DECLARATION
-
-/**
-* MTruiRadioButtonObserver.
-* An instance of a class derived from MTruiRadioButtonObserver is an object
-* which can be informed when an event of state-changed occure.
-*/
-class MTruiRadioButtonObserver 
-    {
-public:
-    /**
-     * Notify that which radio button is selected.
-     * @param aIndex The index of currently selected index.
-     */
-    virtual void SelectChangedL( TInt aIndex ) = 0;
-    };
-
-#endif //M_TRUIRADIOBUTTONOBSERVER_H
-
-
-
--- a/textinput/peninputhwrtrui/inc/truishortcuteditcontainer.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,417 +0,0 @@
-/*
-* Copyright (c) 2007 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:  CTruiShortcutEditContainer class of TrainingUI
-*
-*/
-
-
-#ifndef C_TRUISHORTCUTEDITCONTAINER_H
-#define C_TRUISHORTCUTEDITCONTAINER_H
-
-#include <AknLayout2Def.h>
-#include "truicontainerbase.h"
-#include "truihwrboxobserver.h"
-#include "truiradiobuttonobserver.h"
-
-class CAknButton;
-class CTruiHwrBox;
-class CAknsBasicBackgroundControlContext;
-class CTruiRadioButton;
-class CAknCharMapDialog;
-    
-/**
- *  CTruiShortcutEditContainer container control
- *  Used as the component to shortcut main view
- *
- *  @code
- *      iContainer = CTruiShortcutEditContainer::NewL( ClientRect() );
- *      iContainer->SetMopParent( this );
- *      AppUi()->AddToStackL( *this, iContainer );
- *  @endcode
- *
- */
-class CTruiShortcutEditContainer : public CTruiContainerBase,
-                                   public MCoeControlObserver,
-                                   public MTruiHwrBoxObserver,
-                                   public MTruiRadioButtonObserver
-    {
-public:
-    
-    /**
-     * Two-phased constructor.
-     * @param aRect The rectangle that defines the control's extent. 
-     *              The rectangle's origin is relative to the origin
-     *              of its associated window.
-     * @return Pointer to the component control
-     */
-    static CTruiShortcutEditContainer* NewL( const TRect& aRect );
-    
-    /**
-     * Two-phased constructor.
-     * @param aRect The rectangle that defines the control's extent. 
-     *              The rectangle's origin is relative to the origin
-     *              of its associated window.
-     * @return Pointer to the component control
-     */
-    static CTruiShortcutEditContainer* NewLC( const TRect& aRect );
-
-    /**
-     * Destructor.
-     */
-    virtual ~CTruiShortcutEditContainer();
-
-    /**
-     * Switch app's active view to ShortcutView.
-     */
-    void SwitchToShortcutViewL();
-   
-    /**
-     * Go back to the previous view.
-     */
-    void BackToPreviousViewL();
-    
-    /**
-     * Query if shortcut model exist
-     */
-    TBool HasShortcutModel();
-   
-    /**
-     * Preview shortcut model
-     */
-    void PreviewShortcutModel();
-    
-    /**
-    * Before exit, do some necessary operation
-    *
-    * @retrun TBool if ready to exit, true will be return,
-    *               otherwise it will return false
-    */
-    TBool PrepareToExitL();
-    
-    /**
-     * Clear current model
-     *        
-     */ 
-    void ClearCurrentModelL();
-    
-    /**
-     * Return the currently selected index, which will be set in Shortcuts view.
-     *
-     * @param aItemList The shortcut list array in which will locate the aTex.
-     * @param aText The shortcut item which will be located in aItemList
-     * @return The index of aText in aItemList. 
-     *         If it doesn't exist, it will return KErrNotFound.          
-     */ 
-    TInt DefaultSelectedIndex( const CDesCArray* aItemList, 
-                               const TDesC& aText );  
-                               
-    /**
-     * Popup SCT dialog.
-     *
-     */
-    void PopupSctDialogL();
-    
-private:
-
-    /**
-     * Constructor.
-     */
-    CTruiShortcutEditContainer();
-
-    /**
-     * Two-phased constructor. Second phase
-     * @param aRect The rectangle that defines the control's extent. 
-     *              The rectangle's origin is relative to the origin
-     *              of its associated window.
-     */
-    void ConstructL( const TRect& aRect );
-    
-    /**
-     * Create controls to be displayed in this container.
-     */    
-    void InitializeControlsL();        
-    
-    /**
-     * Create radio button.
-     */
-    void CreateRadioButtonL();
-    
-    /**
-     * Create HWRBox
-     */
-    void CreateHwrBoxL();
-    
-    /**
-     * Create buttons
-     */
-    void CcnstructButtonL();
-    
-    /**
-     * Create Label
-     */
-    void CreateLabelL();
-    
-    /**
-     * Popup tooltip
-     *
-     * @param aResourceID The numeric ID of the resource string to be read.
-     */ 
-    void PopupTooltipL( TInt aResourceID );    
-    
-    /**
-     * Layout under landscape condition     
-     */ 
-    void DoLayoutLandscape();
-    
-    /**
-     * Layout under portait condition     
-     */ 
-    void DoLayoutPortait();
-    
-    /**
-     * Save own shortcut.
-     *
-     * @param aShortcut The shortcut text which to be stored.
-     * @param aModel The points array assigned to the shortcut.
-     * @param aErrMsg The error message for too similar.
-     * Leave with code KErrAlreadyInUse
-     */ 
-    void SaveOwnShortcutL( const TDesC& aShortcut, 
-                           RArray<TPoint>& aModel, 
-                           TDes& aErrMsg );
-    
-    /**
-     * Save preset shortcut
-     *
-     * @param aShortcut The shortcut text which to be stored.
-     * @param aUnicode The unicode of preset symbol assigned to the shortcut.
-     * Leave with code KErrAlreadyInUse
-     */ 
-    void SavePresetShortcutL( const TDesC& aShortcut, TUint aUnicode );
-    
-    /**
-     * Backup shortcut model. It is probably to be restored when press Back to exit.
-     *
-     * @param aOriginalModel The shortcut model which to be backuped.
-     * @param aOriginalUnicode The unicode of preset symbol which to be backuped.     
-     */ 
-    void BackupShortcutModel( const RArray<TPoint>& aOriginalModel,
-                              TUint aOriginalUnicode );
-                              
-    /**
-     * Set active char.
-     *
-     * @param aUnicode The unicode which to be displayed.
-     */ 
-    void SetActiveCharL( TUint aUnicode );
-        
-    /**
-     * Find the first available preset symbol.
-     *
-     * @param aStartPos The position from which to search
-     * @param aDirection The direction of how to search in preset arrays,
-     *                   Toward left or toward right
-     * @param aUnicode The unicode of the first available preset symbol.
-     * @return ETrue: search successfully; EFalse: Fail to seach, meaning all in use
-     */ 
-    TBool FindFirstAvailableCharL( TInt aStartPos, TInt aEndPos, 
-                                   TInt aDirection, TUint& aUnicode );
-    
-    /**
-     * Return if the preset is in use
-     *
-     * @param aUnicode The preset's unicode
-     * @return ETrue: in use
-     */ 
-    TBool CheckPresetSymbolInUseL( TUint aUnicode );
-    
-    /**
-     * Do something to response to size changed
-     *
-     * @param aVarity Varity to decide which option will be retrieved from LAF data
-     */ 
-    void DoSizeChanged( TInt aVarity );
-    
-// from base class CCoeControl    
-    /**
-     * Draw the screen.
-     * @param aRect the rectangle of this view that needs updating
-     */
-    void Draw( const TRect& aRect ) const;
-
-    /**
-     * From CoeControl.
-     * Responds to changes to the size and position of the contents of this control.
-     */
-    void SizeChanged();
-
-    /**
-     * From CoeControl.
-     * Responds to a change in focus.
-     *
-     * @param aRect Contains the value that was passed to it by SetFocus(). 
-     */
-    void FocusChanged( TDrawNow aDrawNow );
-    
-    /**
-     * Handles a change to the control's resources.
-     *
-     * @param aType A message UID value.
-     */
-    void HandleResourceChange( TInt aType );
-    
-// from MCoeControlObserver
-    /** 
-     * Handles an event from an observed control.
-     * This function is called when a control for which this control is the
-     * observer calls CCoeControl::ReportEventL(). It should be implemented
-     * by the observer control, and should handle all events sent by controls
-     * it observes.
-     *
-     *@param aControl The control that sent the event.
-     *@param aEventType The event type.
-     */
-    void HandleControlEventL( CCoeControl* aControl, TCoeEvent aEventType );
-    
-// From MTruiHWRBoxObserver 
-    /**
-     * From MTruiHWRBoxObserver.
-     * Input times out
-     * Handle the save model event
-     */
-    void SaveNewModelL();
-    
-    /**
-     * From MTruiHWRBoxObserver.
-     * HandleEventL
-     * Handle the message event from the HWRBox
-     * @param aMessage According to the aMessage to handle the event
-     */
-    void HandleEventL( TMessageType aMessage );
-    
-// from MTruiRadioButtonObserver
-    /**
-     * Notify that which radio button is selected.
-     * @param aIndex The index of currently selected index.
-     */
-    void SelectChangedL( TInt aIndex );
-       
-private: // data
-    /**
-     * The Writing Box is used for drawing a character model.
-     * Not own
-     */
-    CTruiHwrBox* iHwrBox;
-    
-    /**
-     * Pointer to background
-     * Own
-     */
-    CAknsBasicBackgroundControlContext*	iBackGround;
-   
-    /**
-     * Pointer to radio button
-     * Not own
-     */
-    CTruiRadioButton* iRadioButtonContainer; 
-    
-    /**
-     * Pointer to the tip label
-     * Not own
-     */
-    CEikLabel* iLabelTip;
-    
-    /**
-     * The current tip of training shortcut
-     * Own
-     */
-    HBufC* iLabeltext;
-    
-    /**
-     * Store the wrapped text to give tips about own or preset.
-     * Own
-     */
-    HBufC* iWrappedLabelText;
-
-    /**
-     * Left button.
-     * Not own
-     */
-    CAknButton* iLeftBtn;
-
-    /**
-     * Right button.
-     * Not own
-     */
-    CAknButton* iRightBtn;
-
-    /**
-     * Active indicator.
-     * Not own
-     */
-    CEikLabel* iIndicator;
-    
-    /**
-     * Current preset symbol.
-     */    
-    TUint iUnicode;
-    
-    /**
-     * Current shortcut type.
-     */
-    TInt iShortcutType;
-    
-    /**
-     * Store the old points of the current shortcut.
-     * own
-     */
-    RArray<TPoint> iModelBak;
-    
-    /**
-     * Store the old unicode of the current preset shortcut.     
-     */
-    TUint iUnicodeBak;
-    
-    /**
-     * Check if need to restore old shortcut.
-     */
-    TBool iIsRestored;
-    
-    /**
-     * Check if the hwrbox is empty.
-     */
-    TBool iIsEmptyHwrBox;
-    
-    /**
-     * Store all presets from Engine.
-     * Own
-     */
-    RArray<TUint> iPresets;
-    
-    /**
-     * Which char is active in preset array.
-     */
-    TInt iActiveCharPos;
-    
-    TAknMultiLineTextLayout iMultilineLayout;
-    
-    /**
-     * Line array.
-     * Own
-     */
-    RArray<TInt> iLineWidthArray; 
-    };
-
-#endif // C_TRUISHORTCUTEDITCONTAINER_H
-
--- a/textinput/peninputhwrtrui/inc/truishortcutedittextview.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,113 +0,0 @@
-/*
-* Copyright (c) 2007 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:  CTruiShortcutEditTextView class of TrainingUI
-*
-*/
-
-
-#ifndef C_TRUISHORTCUTEDITTEXTVIEW_H
-#define C_TRUISHORTCUTEDITTEXTVIEW_H
-
-#include <aknview.h>
-
-class CTruiTextSettingPageContainer;
-
-// UID of view
-const TUid KTruiShortcutEditTextViewId = {4};
-
-/**
- *  CTruiShortcutEditTextView view class.
- *
- *  @code
- *    CTruiShortcutEditTextView* view = CTruiShortcutEditTextView::NewLC(); 
- *    AddViewL( view );
- *    CleanupStack::Pop();
- *  @endcode
- *
- */
-class CTruiShortcutEditTextView : public CAknView
-    {        
-public:
-
-    /** 
-     * Two phase construction.
-     * 
-     * @return Pointer to CTruiShortcutEditTextView's instance
-     */    
-    static CTruiShortcutEditTextView* NewL();
-    
-    /** 
-     * Two phase construction.
-     * 
-     * @return Pointer to CTruiShortcutEditTextView's instance
-     */
-    static CTruiShortcutEditTextView* NewLC();    
-
-    /**
-    * Destructor.
-    */    
-    virtual ~CTruiShortcutEditTextView();
-
-    inline const TVwsViewId& StartViewId()
-        {
-        return iStartView;
-        };
-
-// from base class CAknView
-
-    /**
-    * From CAknView
-    * Returns views id.
-    *
-    * @return id for this view.
-    */
-    TUid Id() const;
-  
-private:
-
-    CTruiShortcutEditTextView();
-    
-    void ConstructL();
-
-    /**
-    * From CAknView
-    * Called by the framework when view is activated.
-    *
-    * @param aPrevViewId This is not used now.
-    * @param aCustomMessage This is not used now.
-    * @param aCustomMessage This is not used now.
-    */
-    void DoActivateL( const TVwsViewId& aPrevViewId,
-                      TUid aCustomMessageId,
-                      const TDesC8& aCustomMessage );
-
-    /**
-    * From CAknView
-    * Called by the framework when view is deactivated.
-    *
-    */
-    void DoDeactivate();
-
-private: // data
-    
-    /**
-     * Pointer to the component control
-     * own.  
-     */
-    CTruiTextSettingPageContainer* iContainer;
-    
-    TVwsViewId iStartView;
-    };
-
-#endif
--- a/textinput/peninputhwrtrui/inc/truishortcuteditview.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +0,0 @@
-/*
-* Copyright (c) 2007 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:  CTruiShortcutEditView class of TrainingUI
-*
-*/
-
-
-
-#ifndef C_TRUISHORTCUTEDITVIEW_H
-#define C_TRUISHORTCUTEDITVIEW_H
-
-#include <aknview.h>
-#include <akntoolbarobserver.h>
-
-class CTruiShortcutEditContainer;
-
-// UID of view
-const TUid KTruiShortcutEditViewId = {3};
-
-/**
- *  CTruiShortcutEditView view class.
- *
- *  @code
- *    CTruiShortcutEditView* view = CTruiShortcutEditView::NewLC(); 
- *    AddViewL( view );
- *    CleanupStack::Pop();
- *  @endcode
- *
- */
-class CTruiShortcutEditView : public CAknView, public MAknToolbarObserver
-    {
-public:
-
-    /** 
-     * Two phase construction.
-     * 
-     * @return Pointer to CTruiShortcutEditView's instance
-     */        
-    static CTruiShortcutEditView* NewL();
-
-    /** 
-     * Two phase construction.
-     * 
-     * @return Pointer to CTruiShortcutEditView's instance
-     */
-    static CTruiShortcutEditView* NewLC();    
-
-    /**
-    * Destructor.
-    */    
-    virtual ~CTruiShortcutEditView();
-    
-    inline const TVwsViewId& PreviousViewId() const
-        {
-        return iPreViewId;
-        };
-
-// from base class CAknView
-
-    /**
-    * Returns views id.
-    *
-    * @return id for this view.
-    */
-    TUid Id() const;
-    
-    /**
-     * Command handling function. 
-     *
-     * @param aCommand ID of the command to respond to. 
-     */    
-    void HandleCommandL( TInt aCommand );
-   
-private:
-
-   /**
-    * Constructor.
-    */     
-    CTruiShortcutEditView();
-    
-   /**
-    * Perform the second phase construction of a CTruiShortcutEditView object.
-    */     
-    void ConstructL();
-
-// From CAknView
-    /**
-    * Called by the framework when view is activated.
-    *
-    * @param aPrevViewId This is not used now.
-    * @param aCustomMessage This is not used now.
-    * @param aCustomMessage This is not used now.
-    */
-    void DoActivateL( const TVwsViewId& aPrevViewId,
-                      TUid aCustomMessageId,
-                      const TDesC8& aCustomMessage );
-
-    /**    
-    * Called by the framework when view is deactivated.
-    *
-    */
-    void DoDeactivate();
-    
-// MAknToolbarObserver
-    /**
-     * Handles toolbar events for a certain toolbar item.
-     * @param aCommand The command ID of some toolbar item.
-     */
-    void OfferToolbarEventL( TInt aCommand );
-
-private: // data
-
-    /**
-     * Pointer to the component control
-     * own.  
-     */
-    CTruiShortcutEditContainer* iContainer;    
-    
-    /**
-     * The previous view id     
-     */
-    TVwsViewId iPreViewId;
-    };
-    
-#endif // C_TRUISHORTCUTEDITVIEW_H
-
--- a/textinput/peninputhwrtrui/inc/truishortcutscontainer.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,319 +0,0 @@
-/*
-* Copyright (c) 2007 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:  CTruiShortcutsContainer class of TrainingUI
-*
-*/
-
-
-#ifndef C_TRUISHORTCUTSCONTAINER_H
-#define C_TRUISHORTCUTSCONTAINER_H
-
-#include <eiklbo.h>
-#include <AknPreviewPopUpObserver.h>
-#include "truicontainerbase.h"
-
-class CEikButtonGroupContainer;
-class CAknSingleGraphicStyleListBox;
-class CTruiHwrBox;
-class CAknPreviewPopUpController;
-
-/**
- *  CTruiShortcutsContainer container control
- *  Used as the component to shortcut main view
- *
- *  @code
- *      iContainer = CTruiShortcutsContainer::NewL( ClientRect() );
- *      iContainer->SetMopParent( this );
- *      AppUi()->AddToStackL( *this, iContainer );
- *  @endcode
- *
- */
-class CTruiShortcutsContainer : public CTruiContainerBase,
-                                public MEikListBoxObserver,
-                                public MAknPreviewPopUpObserver
-    {
-public:
-
-    /**
-     * Two-phased constructor.
-     * @param aRect The rectangle that defines the control's extent. 
-     *              The rectangle's origin is relative to the origin of its associated window.
-     * @return Pointer to the component control
-     */
-    static CTruiShortcutsContainer* NewL( const TRect& aRect );
-    
-    /**
-     * Two-phased constructor.
-     * @param aRect The rectangle that defines the control's extent. 
-     *              The rectangle's origin is relative to the origin of its associated window.
-     * @return Pointer to the component control
-     */
-    static CTruiShortcutsContainer* NewLC( const TRect& aRect );
-
-    /**
-     * Destructor.
-     */
-    virtual ~CTruiShortcutsContainer();
-
-    /**
-     * Popup the TextSettingPage and added the new shortcut to ListBox.    
-     */    
-    void AddShortcutL();
-    
-    /**
-     * Delete shortcut.    
-     */
-    void DeleteShortcutL();
-    
-    /**
-     * Mark shortcut.    
-     */
-    void MarkShortcutL();
-    
-    /**
-     * Unmark shortcut.    
-     */
-    void UnmarkShortcutL();
-    
-    /**
-     * Return currently selected item's index.
-     *
-     * @return Currently selected item's index. 
-     */
-    TInt CurrentItemIndex();
-
-    /**
-     * Test if the currently selected index is marked.
-     *
-     * @param aSelectedIndex: Current selected item's index
-     * @return ETrue if the item is marked. EFalse if it is not marked. 
-     */    
-    TBool IsMarked( TInt aSelectedIndex );
-     
-    /**
-     * Return the count of being marked currently.
-     *     
-     * @return The count of being marked. 
-     */    
-    TInt MarkCount();
-    
-    /**
-     * Edit shortcut
-     * @param aOnlyEditText ETrue : Only edit shortcut text.
-     *                      EFalse : Only edit shortcut model.
-     */
-    void EditShortcutL( TBool aOnlyEditText = EFalse );
-        
-    
-    /**
-     * Check if reset introduction
-     * 
-     * @return ETrue: Reset introcudtion
-     *         EFalse: Do not.
-     */
-    TBool IsResetIntroduction();
-
-    /**
-     * Reset introduction
-     * 
-     */
-    void ResetIntroductionL();
-    
-    /**
-     * Set flag to indicate popup window being displayed.
-     *
-     * @param aDisplayPopupWindow ETrue : Displaying.
-     *                            EFalse : Not displaying.
-     */
-    inline void SetDisplayPopupWindow( TBool aDisplayPopupWindow )
-        {
-        iDisplayPopupWindow = aDisplayPopupWindow;
-        };
-
-// from MEikListBoxObserver
-    /**
-     * Observer callback from the listbox
-     * @param aListBox  ptr to listbox that is calling the method  
-     * @param aEventType  type of event; defined by MEikListBoxObserver 
-     */
-    void HandleListBoxEventL( CEikListBox* aListBox, TListBoxEvent aEventType );
-
-// from CCoeControl
-    /**
-     * Handles key event.
-     *
-     * @param aKeyEvent The key event.
-     * @param aType The type of key event: EEventKey, EEventKeyUp or EEventKeyDown. 
-     *
-     * @return Indicates whether or not the key event was used by this control.
-     */    
-    TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,
-                                 TEventCode aType );    
-
-    /**
-     *  GetHelpContext()
-     *  Identify the help context so that the framework can look up
-     *  the corresponding help topic
-     *  @param aContext Returns the help context
-     */    
-    void GetHelpContext( TCoeHelpContext& aContext ) const;
-           
-private:
-    
-   /**
-    * Constructor.
-    */
-    CTruiShortcutsContainer();
-
-   /**
-    * Perform the second phase construction of a CTruiMainViewContainer object.
-    *
-    * @param aRect: The rectangle that defines the control's extent. 
-    */
-    void ConstructL( const TRect& aRect );
-    
-    /**
-     * Create controls to be displayed in this container.
-     */    
-    void InitializeControlsL();       
-    
-    /**
-     * Delete shortcut from ListBox.     
-     */    
-    void DeleteItemsL();
-    
-    /**
-     * Create preview popup controller to show popup hwrbox.       
-     */ 
-    CAknPreviewPopUpController* CreatePopupHwrBoxL();
-    
-    /**
-     * Popup HWR box
-     * @param aPosition The position to display HWR box
-     * @param aShowDelay The delay time interval before being shown.
-     * @param aHideDelay The delay time interval after which to hide tooltip.     
-     */ 
-    void PopupHwrBoxL( const TPoint& aPosition, 
-                       const TTimeIntervalMicroSeconds32& aShowDelay,
-                       const TTimeIntervalMicroSeconds32& aHideDelay );        
-    /**
-     * Preview shortcut model in popup hwrbox.
-     * @param aShortcutText The shortcut to be previewed
-     */ 
-    void PreviewShortcutModelL( const TDesC& aShortcutText, TInt aIndex );
-                          
-   /**
-    * Check if need to preview shortcut and perform previewing necessarily.
-    *
-    * @param aIndex To stand for which item of the listbox
-    * @return ETrue : Preview shortcut model. EFalse : Don't preview it.
-    */    
-    TBool CheckAndPreviewShortcutModelL( TInt aIndex );
-    
-   /**
-    * Update buttons' status in toolbar.
-    *
-    * @param aIndex To stand for which item of the listbox.
-    */
-    void UpdateToolbarButtonStatus( TInt aIndex );
-
-    /**
-     * Create ListBox
-     */
-    void CreateListBoxL();
-    
-    /**
-     * Setup text data for listbox
-     */    
-    void LoadTextArrayL( const CDesCArray* aTextArray );
-    
-    /**
-     * Handle event when listbox change to another focused item.
-     */
-    void HandleListBoxFocusChangedL( TInt aIndex );    
-
-    /**
-     * Popup context menu.
-     * @param aResourceId The resource Id of the context menu.
-     */
-    void PopupContextMenuL( TInt aResourceId );
-    
-    /**
-     * Get position relative to screen origin for popup window.
-     * @param aIndex The index of item from which pop up.
-     */
-    TPoint PopupWindowPosition( TInt aIndex );
-       
-// from MAknPreviewPopUpObserver
-    /**    
-    * Called by the preview popup when an appropriate event takes place. 
-    * @param aController Pointer to the sender of the event.
-    * @param aEvent Event type.
-    */
-    void HandlePreviewPopUpEventL(
-          CAknPreviewPopUpController* aController, TPreviewPopUpEvent aEvent );
-
-// from CoeControl.   
-    /**     
-     * Responds to changes to the size and position of the contents of this control.
-     */
-    void SizeChanged();
-    
-    /**     
-     * Responds to a change in focus.
-     * @param aDrawNow Contains the value that was passed to it by SetFocus().
-     */
-    void FocusChanged( TDrawNow aDrawNow );
-    
-    /**     
-     * Handles pointer events.
-     * @param aPointerEvent The pointer event.
-     */
-    void HandlePointerEventL( const TPointerEvent& aPointerEvent );
-       
-private: // data
-        
-    /**
-     * list box to display all shortcut
-     * Not own
-     */
-    CAknSingleGraphicStyleListBox* iListBox;
-    
-    /**
-     * Pointer to HWR box displayed in popup controller
-     * Own
-     */
-    CTruiHwrBox* iHwrBox;
-
-    /**
-     * Pointer to preview popup used to show tooltip
-     * Own
-     */
-    CAknPreviewPopUpController* iPopupController;
-
-    /**
-     * Check if popup preview when focus changed
-     */
-    TBool iDisplayPopupWindow;
-    
-    TUint iShortcutUnicode;
-    
-    /**
-     * Point of pen down on item.
-     */
-    TPoint iPenDownPoint;
-    };
-
-#endif // C_TRUISHORTCUTSCONTAINER_H
-
--- a/textinput/peninputhwrtrui/inc/truishortcutsview.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +0,0 @@
-/*
-* Copyright (c) 2007 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:  CTruiShortcutsView class of TrainingUI
-*
-*/
-
-
-
-#ifndef C_TRUISHORTCUTSVIEW_H
-#define C_TRUISHORTCUTSVIEW_H
-
-#include <aknview.h>
-#include <akntoolbarobserver.h>
-
-class CTruiShortcutsContainer;
-class CTruiTextSettingPageContainer;
-
-// UID of view
-const TUid KTruiShortcutsViewId = {2};
-
-/**
- *  CTruiShortcutsView view class.
- *
- *  @code
- *    CTruiShortcutsView* view = CTruiShortcutsView::NewLC(); 
- *    AddViewL( view );
- *    CleanupStack::Pop();
- *  @endcode
- *
- */
-class CTruiShortcutsView : public CAknView, public MAknToolbarObserver
-    {
-public:
-
-    /** 
-     * Two phase construction.
-     * 
-     * @return Pointer to CTruiShortcutsView's instance
-     */    
-    static CTruiShortcutsView* NewL();
-
-    /** 
-     * Two phase construction.
-     * 
-     * @return Pointer to CTruiShortcutsView's instance
-     */
-    static CTruiShortcutsView* NewLC();    
-
-    /**
-    * Destructor.
-    */    
-    virtual ~CTruiShortcutsView();
-
-// from base class CAknView
-    /**
-    * From CAknView
-    * Returns views id.
-    *
-    * @return id for this view.
-    */
-    TUid Id() const;    
-    
-    /**
-     * From CAknView 
-     * Command handling function. 
-     *
-     * @param aCommand ID of the command to respond to. 
-     */    
-    void HandleCommandL( TInt aCommand );
-
-private:
-
-    CTruiShortcutsView();
-    
-    void ConstructL();
-    
-    /**
-    * From CAknView
-    * Called by the framework when view is activated.
-    *
-    * @param aPrevViewId This is not used now.
-    * @param aCustomMessage This is not used now.
-    * @param aCustomMessage This is not used now.
-    */
-    void DoActivateL( const TVwsViewId& aPrevViewId,
-                      TUid aCustomMessageId,
-                      const TDesC8& aCustomMessage );   
-    
-    /**
-    * From CAknView
-    * Called by the framework when view is deactivated.
-    *
-    */
-    void DoDeactivate();
-
-// from MEikMenuObserver    
-    /**
-     * Dynamically initialises a menu pane.
-     *
-     * @param aResourceId The resource Id.
-     * @param aMenuPane The in-memory representation of the menu pane.     
-     */    
-    void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
-    
-    /**
-     * Dynamically initialises a menu bar.
-     *
-     * @param aResourceId The resource Id.
-     * @param aMenuPane The in-memory representation of the menu bar.     
-     */ 
-    void DynInitMenuBarL( TInt aResourceId, CEikMenuBar *aMenuBar );
-    
-// from MAknToolbarObserver
-    /**     
-     * Handles toolbar events for a certain toolbar item.
-     *
-     * @param aCommand The command ID of some toolbar item.
-     */
-    void OfferToolbarEventL( TInt aCommand );
-    /** 
-     * From CAknView. This function processes user commands.  
-     * @param aCommand ID of the command to respond to. 
-     */        
-    void ProcessCommandL( TInt aCommand );    
-    
-private: // data
-
-    /**
-     * Pointer to the component control
-     * own.  
-     */
-    CTruiShortcutsContainer* iContainer; 
-    };
-    
-#endif // C_TRUISHORTCUTSVIEW_H
-
--- a/textinput/peninputhwrtrui/inc/truisupportedlanguageid.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Define which language should be supported.
-*
-*/
-
-
-
-#ifndef T_TRUISUPPORTEDLANGUAGEID_H
-#define T_TRUISUPPORTEDLANGUAGEID_H
-
-#include <e32const.h>
-
-const TInt KTruiSupportedLanguages[] =
-    {
-    ELangEnglish,
-	ELangFrench,
-	ELangGerman,
-	ELangSpanish,
-	ELangItalian,
-	ELangSwedish,
-	ELangDanish,
-	ELangNorwegian,
-	ELangFinnish,
-	ELangAmerican,
-	ELangPortuguese,
-	ELangTurkish,
-	ELangIcelandic,
-    ELangRussian,
-    ELangHungarian,
-    ELangDutch,
-	ELangCzech,
-	ELangSlovak,
-	ELangPolish,
-	ELangSlovenian,
-	ELangTagalog,
-	ELangBulgarian,
-	ELangCroatian,
-	ELangEstonian,
-	ELangCanadianFrench,
-	ELangIndonesian,
-	ELangLatvian,
-	ELangLithuanian,
-	ELangMalay,
-    ELangBrazilianPortuguese,
-    ELangRomanian,
-    ELangSerbian,
-    ELangLatinAmericanSpanish,
-    ELangEnglish_Taiwan,
-    ELangEnglish_HongKong,
-    ELangEnglish_Prc,
-    ELangEnglish_Japan,
-    ELangEnglish_Thailand,
-    ELangMalay_Apac,
-    327,
-    ELangCatalan,
-    102,
-    103,
-    401,
-    402,
-    ELangUkrainian,
-    ELangGreek,
-    ELangHebrew
-    };
-
-#endif // 
\ No newline at end of file
--- a/textinput/peninputhwrtrui/inc/truitextsettingpagecontainer.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,122 +0,0 @@
-/*
-* Copyright (c) 2007 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:  CTruiTextSettingPageContainer class of TrainingUI
-*
-*/
-
-
-#ifndef C_TRUITEXTSETTINGPAGECONTAINER_H
-#define C_TRUITEXTSETTINGPAGECONTAINER_H
-
-#include <akntextsettingpage.h>
-#include <AknPreviewPopUpObserver.h>
-
-class CTruiHwrBox;
-class CAknPreviewPopUpController;
-
-class CTruiTextSettingPageContainer : public CAknTextSettingPage,
-                                      public MAknPreviewPopUpObserver
-    {
-public:
-
-    /**
-     * Two-phased constructor.
-     * @param aResourceId Resource Id of CAknTextSettingPage
-     * @param aText Reference to text for editing
-     * @param aEnableHwrBox Indicate whether to open HWR box to preview model
-     *        assigned to the shortcut text
-     * @param aTextSettingPageFlags option flags for miscellaneous things
-     * @return Pointer to the component control
-     */
-    static CTruiTextSettingPageContainer* NewL( TInt aResourceId, 
-                                                TDes& aText, 
-                                                const TRect& aRect,
-                                                TBool aEnableHwrBox = EFalse, 
-                                                TInt aTextSettingPageFlags = 0 );
-    
-    /**
-     * Two-phased constructor.
-     * @param aResourceId Resource Id of CAknTextSettingPage
-     * @param aText Reference to text for editing
-     * @param aEnableHwrBox Indicate whether to open HWR box to preview model
-     *        assigned to the shortcut text
-     * @param aTextSettingPageFlags option flags for miscellaneous things
-     * @return Pointer to the component control
-     */
-    static CTruiTextSettingPageContainer* NewLC( TInt aResourceId, 
-                                                 TDes& aText, 
-                                                 const TRect& aRect,
-                                                 TBool aEnableHwrBox = EFalse,
-                                                 TInt aTextSettingPageFlags = 0 );
-
-    /**
-     * Destructor.
-     */
-    virtual ~CTruiTextSettingPageContainer();
-
-private:    
-    /**
-    * Constructor.
-	* @param aSettingPageResourceId	Setting Page to use (if present)
-	* @param aText						Reference to text for editing
-	* @param aTextSettingPageFlags		option flags for miscellaneous things    
-    */
-    CTruiTextSettingPageContainer( TInt aResourceID, TDes& aText, TInt aTextSettingPageFlags = 0 );
-
-   /**
-    * Perform the second phase construction of a CTruiMainViewContainer object.
-    *
-    * @param aEnableHwrBox Indicate whether to open HWR box to preview model
-    *        assigned to the shortcut text    
-    */
-    void ConstructL( const TRect& aRect, TBool aEnableHwrBox = EFalse );      
-    
-    /**
-     * From CoeControl.
-     * Responds to changes to the size and position of the contents of this control.
-     */
-    void SizeChanged();
-    
-    /**
-     * From CAknSettingPage
-     * Processes events from the softkeys.     
-     *
-     * @param	aCommandId	Event Id from the soft-key
-     */
-	void ProcessCommandL( TInt aCommandId );
-	
-// from MAknPreviewPopUpObserver
-    /**    
-    * Called by the preview popup when an appropriate event takes place. 
-    * @param aController Pointer to the sender of the event.
-    * @param aEvent Event type.
-    */
-    void HandlePreviewPopUpEventL(
-          CAknPreviewPopUpController* aController, TPreviewPopUpEvent aEvent );
-
-private: // data    
-    /**
-     * Pointer to HWR box.
-     * Own
-     */
-    CTruiHwrBox* iHwrBox;
-    
-    /**
-     * Pointer to preview popup used to show tooltip
-     * Own
-     */
-    CAknPreviewPopUpController* iPopupController;
-    };
-    
-#endif // C_TRUITEXTSETTINGPAGECONTAINER_H
\ No newline at end of file
--- a/textinput/peninputhwrtrui/loc/trui.loc	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,391 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Localization strings for project TrainingUI
-*
-*/
-
-
-// d:Command in options list in mainview and shortcut edit view.
-// d:Perform the function of deleting character model
-// l:list_single_pane_t1_cp2
-// r:5.0
-//
-#define qtn_hwrt_om_delete_model        "Delete a model"
-
-// d:Command in options list in mainview.
-// d:Perform the function of previewing character model
-// l:list_single_pane_t1_cp2
-// r:5.0
-//
-#define qtn_hwrt_om_preview_model        "Preview model"
-
-// d:Command in options list in mainview.
-// d:Perform the function of changing character range.
-// l:list_single_pane_t1_cp2
-// r:5.0
-//
-#define qtn_hwrt_om_character_range     "Character range"
-
-// d:Command in options list in mainview.
-// d:Perform the function of openning sct dialog.
-// l:list_single_pane_t1_cp2
-// r:5.0
-//
-#define qtn_hwrt_om_character_grid      "Character grid"
-
-// d:Command in options list in mainview.
-// d:Perform the function of changing language script.
-// l:list_single_pane_t1_cp2
-// r:5.0
-//
-#define qtn_hwrt_om_select_language     "Language script"
-
-// d:Command in options list in mainview, shortcuts view and shortcut edit view.
-// d:Perform the function of openning help application.
-// l:list_single_pane_t1_cp2
-// r:5.0
-//
-#define qtn_options_help                "Help"
-
-// d:Command in options list in mainview, shortcuts view and shortcut edit view.
-// d:Perform the function of exitting the application.
-// l:list_single_pane_t1_cp2
-// r:5.0
-//
-#define qtn_options_exit                "Exit"
-
-// d:Command in options list in shortcuts view.
-// d:Perform the function of editting the old text of shortcut.
-// l:list_single_pane_t1_cp2
-// r:5.0
-//
-#define qtn_hwrt_om_edit_shortcut_text   "Edit text"
-
-// d:Command in options list in shortcuts view.
-// d:Perform the function of editting the old model of shortcut.
-// l:list_single_pane_t1_cp2
-// r:5.0
-//
-#define qtn_hwrt_om_edit_shortcut_symbol    "Edit model"
-
-// d:Command in options list in shortcuts view.
-// d:Perform the function of creating a new shortcut.
-// l:list_single_pane_t1_cp2
-// r:5.0
-//
-#define qtn_hwrt_om_new_shortcut        "Create shortcut"
-
-// d:Command in options list in shortcuts view.
-// d:The entry of deleting shortcuts
-// l:list_single_pane_t1_cp2
-// r:5.0
-//
-#define qtn_hwrt_om_delete_shortcut "Delete shortcut"
-
-// d:Command in options list in shortcuts view.
-// d:Perform the function of switching to the main view.
-// l:list_single_pane_t1_cp2
-// r:5.0
-//
-#define qtn_hwrt_om_training    "Training view"
-
-// d:Command in options list in shortcuts view.
-// d:Perform the function of marking an old shortcut.
-// l:list_single_pane_t1_cp2
-// r:5.0
-//
-#define qtn_options_list_mark_one       "Mark"
-
-// d:Command in options list in shortcuts view.
-// d:Perform the function of unmarking an old shortcut.
-// l:list_single_pane_t1_cp2
-// r:5.0
-//
-#define qtn_options_list_unmark_one     "Unmark"
-
-// d:Tip text in shortcut text setting page.
-// d:Tip of shortcut text setting page.
-// l:list_single_pane_t1_cp2
-// r:5.0
-//
-#define qtn_hwrt_shortcut_assign_text   "Shortcut text:"
-
-// d:First item's text of ListBox in shortcuts view.
-// d:Perform the function of creating a new shortcut.
-// l:(none)
-// r:5.0
-//
-#define qtn_hwrt_list_item_new_shortcut "New shortcut"
-
-// d:Label's text in main view.
-// d:Information of which character being trained.
-// d:%U stands for the currently trained character
-// l:list_single_hwr_training_instruct_pane_t1
-// r:5.0
-//
-#define qtn_hwrt_text_teach_character   "Teach your own character '%U' for handwriting recognition"
-
-// d:Title pane text in main view and shortcuts view.
-// l:title_pane_t2/opt9
-// r:5.0
-//
-#define qtn_hwrt_title_pane             "Handwritting"
-
-// d:Title pane text in info message view.
-// l:title_pane_t2/opt9
-// r:5.0
-//
-#define qtn_hwrt_title_crete_new_shortcut  "Create new shortcut"
-
-// d:Tooltip text in confirmation banner.
-// d:Information of the character model being saved successfully.
-// l:popup_preview_text_window_t1
-// r:5.0
-//
-#define qtn_hwrt_confirmation_banner_saved  "Saved"
-
-// d:Tooltip text in confirmation banner.
-// d:Information of the character model being deleted.
-// l:popup_preview_text_window_t1
-// r:5.0
-//
-#define qtn_hwrt_confirmation_banner_deleted    "Deleted"
-
-// d:Command in options list of sub_menu language script in main view.
-// d:Perform the function of changing language script
-// l:list_single_popup_submenu_pane_t1
-// r:5.0
-//
-#define qtn_hwrt_submenu_western        "WESTERN"
-
-// d:Command in options list of sub_menu language script in main view.
-// d:Perform the function of changing language script
-// l:list_single_popup_submenu_pane_t1
-// r:5.0
-//
-#define qtn_hwrt_submenu_cyrillic       "CYRILLIC"
-
-// d:Command in options list of sub_menu language script in main view.
-// d:Perform the function of changing language script
-// l:list_single_popup_submenu_pane_t1
-// r:5.0
-//
-#define qtn_hwrt_submenu_greek          "GREEK"
-
-// d:Command in options list of sub_menu language script in main view.
-// d:Perform the function of changing language script
-// l:list_single_popup_submenu_pane_t1
-// r:5.0
-//
-#define qtn_hwrt_submenu_hebrew         "HEBREW"
-
-// d:Tooltip to clear current character model first in the state of drawing the unempty HWR box.
-// l:popup_preview_text_window/opt1
-// r:5.0
-//
-#define qtn_hwrt_note_clear_box         "Delete the current model first and then draw a new one"
-
-// d:Tooltip to clear current character model first in the state of saving a similar model.
-// d: %S stands for the similar character with which the newly inputed model is similar with.
-// l:popup_preview_text_window/opt1
-// r:5.0
-//
-#define qtn_hwrt_note_similar_model     "Character model is too similar to %S"
-
-// d:Tooltip of shortcut will being deleted before leave shortcut edit view with empty character model.
-// l:popup_note_window
-// r:5.0
-//
-#define qtn_hwrt_note_shortcut_not_assigned "Shortcut model missing. Shortcut will be deleted.\nExit anyway?"
-
-// d:Displayed in Query dialog, when press "Current shortcut" from menu.
-// d:Text in query dialog to query if delete the selected shortcut
-// l:popup_note_window
-// r:5.0
-//
-#define qtn_hwrt_query_delete_shortcut    "Delete shortcut?"
-
-// d:Displayed in context menu in shortcuts view.
-// d:Text in context emnu
-// l:list_single_pane_t1_cp2
-// r:5.0
-// 
-#define qtn_msk_edit_text "Edit text"
-
-// d:Displayed in context menu in shortcuts view.
-// d:Text in context emnu
-// l:list_single_pane_t1_cp2
-// r:5.0
-// 
-#define qtn_msk_edit_symbol "Edit symbol"
-
-// d:Tooltip text for edit text button in toolbar on shortcut main view
-// l:popup_preview_text_window_t1
-// r:5.0
-// 
-#define qtn_hwrt_tooltip_edit_shortcut_text "Edit Shortcut text"
-
-// d:Tooltip text for edit symbol button in toolbar on shortcut main view
-// l:popup_preview_text_window_t1
-// r:5.0
-// 
-#define qtn_hwrt_tooltip_edit_shortcut_symbol "Edit Shortcut Symbol"
-
-// d:Tooltip text for delete button in toolbar on shortcut main view
-// l:popup_preview_text_window_t1
-// r:5.0
-// 
-#define qtn_hwrt_tooltip_delete "Delete"
-
-// d:Tooltip text for own symbols in shortcut edit model view
-// l:list_single_hwr_training_instruct_pane/opt3
-// r:5.0
-// 
-#define qtn_hwrt_text_purpose_own_symbol "You can drow a symbol for the shortcut text and use it later to call the text. Please use maximum of six strokes."
-
-// d:Infomation message
-// l:list_single_hwr_training_instruct_pane/opt3
-// r:5.0
-// 
-#define qtn_hwrt_informative_message    "To create a new shortcut, please, first define the text (1/1). After that, select or draw your own symbol for the shortcut (2/2)."
-
-// d:Text for radio button in infomessage view
-// l:list_single_hwr_training_symbol_option_pane_t1
-// r:5.0
-// 
-#define qtn_hwrt_informative_message_check_box_label    "Don’t show this again"
-
-// d:Text of left softkey for Next
-// l:control_pane_t1/opt7
-// r:5.0
-// 
-#define text_softkey_next   "Next"
-
-// d:Text of left softkey for Back
-// l:control_pane_t1/opt7
-// r:5.0
-// 
-#define text_softkey_back   "Back"
-
-// d:Text of left softkey for Finish
-// l:control_pane_t1/opt7
-// r:5.0
-// 
-#define text_softkey_finish "Finish"
-
-// d:Error note for already in use of shortcut
-// l:None
-// r:5.0
-// 
-#define qtn_hwrt_note_shortcut_is_used  "Shortcut symbol is in use, select a new one."
-
-// d:Text on main view option menu
-// l:list_single_popup_submenu_pane_t1
-// r:5.0
-// 
-#define qtn_hwrt_submenu_delete_current_model   "Current model"
-
-// d:Text on main view option menu
-// l:list_single_popup_submenu_pane_t1
-// r:5.0
-// 
-#define qtn_hwrt_submenu_delete_all_models  "All Models"
-
-// d:Text on main view option menu
-// l:list_single_pane_t1_cp2
-// r:5.0
-// 
-#define qtn_hwrt_om_shortcuts  "Shortcuts view"
-
-// d:Text for LSK on infomessage view
-// l:control_pane_t1/opt7
-// r:5.0
-//
-#define text_softkey_start        "Start"
-
-// d:Text for LSK on infomessage view
-// l:control_pane_t1/opt7
-// r:5.0
-//
-#define text_softkey_cancel        "Cancel"
-
-// d:Tooltip text for grid buttont on training main view
-// l:popup_preview_text_window_t1
-// r:5.0
-// 
-#define qtn_hwrt_tooltip_select_character "Select character"
-
-// d:Tooltip text for preview buttont on training main view
-// l:popup_preview_text_window_t1
-// r:5.0
-// 
-#define qtn_hwrt_tooltip_preview_drawing "Preview drawing"
-
-// d:Tooltip text for delete buttont on training main view
-// l:popup_preview_text_window_t1
-// r:5.0
-// 
-#define qtn_hwrt_tooltip_delete_drawing "Delete drawing"
-
-// d:Query note for delete all models
-// l:popup_note_window
-// r:5.0
-//
-#define qtn_hwrt_note_delete_all_models "Are you sure you want to delete all models?"
-
-// d:Displayed in SCT dialog.
-// d:Text in sct dialog as the title
-// l:heading_pane_t1/opt1
-// r:5.0
-//
-#define qtn_hwrt_sct_select_character "Select a character"
-
-// d:Tooltip of HWR Training in Fast swap window
-// d:Text in sct dialog as the title
-// l:cell_app_pane_t1
-// r:5.0
-//
-#define qtn_apps_hwrt_grid "Training"
-
-// d:Last page number for title pane in shortcut edit text view
-// l:title_pane_t2/opt9
-// r:5.0
-// 
-#define qtn_hwrt_title_last_page_number "2(2)"
-
-// d:Text of query dialog for shortcut mail view when deleting mutiple shortcuts
-// d:%N is the number of marked list items.
-// l:popup_note_window
-// r:5.0
-// 
-#define qtn_hwrt_query_delete_several_shortcuts "Delete %N Shortcuts?"
-
-// d:Option menu item on shortcut main view.
-// d:To get the hided Informative Message View visible again.
-// l:list_single_pane_t1_cp2
-// r:5.0
-// 
-#define qtn_hwrt_om_reset_intro "Reset introduction"
-
-// d:Title pane text in shortcut edit view.
-// l:title_pane_t2/opt9
-// r:5.0
-//
-#define qtn_hwrt_title_wizard_hwr_shortcut "1(2) HWR shortcut"
-
-// d:Title pane text in shortcut edit view.
-// l:title_pane_t2/opt9
-// r:5.0
-//
-#define qtn_hwrt_title_hwr_shortcut    "HWR Shortcut"
--- a/textinput/peninputhwrtrui/rom/peninputhwrtruiresources.iby	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Image description file for TrainUI application
-*
-*/
-
-#ifndef TRUIRESOURCES_IBY
-#define TRUIRESOURCES_IBY
-#ifdef __PEN_SUPPORT
-#include <data_caging_paths_for_iby.hrh>
-
-#ifndef FF_CAPACITIVE_DISPLAY
-#ifdef __HANDWRITING_RECOGNITION_INPUT
-
-// TrainUI UI =======================================================
-S60_APP_RESOURCE(trui)
-
-#endif // __HANDWRITING_RECOGNITION_INPUT
-#endif // FF_CAPACITIVE_DISPLAY
-
-#endif // __PEN_SUPPORT
-#endif // TRUIRESOURCES_IBY
\ No newline at end of file
--- a/textinput/peninputhwrtrui/rom/peninputhwrtruivariant.iby	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Image description file for TrainUI application
-*
-*/
-
-#ifndef TRUI_IBY
-#define TRUI_IBY
-
-#include <data_caging_paths_for_iby.hrh>
-#include <bldvariant.hrh>
-
-#ifdef __PEN_SUPPORT
-#ifndef FF_CAPACITIVE_DISPLAY
-#ifdef __HANDWRITING_RECOGNITION_INPUT
-#if defined(LOCALES_SC_IBY) || defined(__LOCALES_01_IBY__) \
-    || defined(__LOCALES_02_IBY__) || defined(__LOCALES_03_IBY__) \
-    || defined(__LOCALES_04_IBY__) || defined(__LOCALES_05_IBY__) \
-    || defined(__LOCALES_06_IBY__) || defined(__LOCALES_07_IBY__) \
-    || defined(__LOCALES_08_IBY__) || defined(__LOCALES_09_IBY__) \
-    || defined(__LOCALES_10_IBY__) || defined(__LOCALES_13_IBY__) \
-    || defined(__LOCALES_14_IBY__) || defined(__LOCALES_15_IBY__) \
-    || defined(__LOCALES_16_IBY__) || defined(__LOCALES_17_IBY__) \
-    || defined(__LOCALES_18_IBY__) || defined(__LOCALES_25_IBY__) \
-    || defined(__LOCALES_26_IBY__) || defined(__LOCALES_27_IBY__) \
-    || defined(__LOCALES_28_IBY__) || defined(__LOCALES_39_IBY__) \
-    || defined(__LOCALES_45_IBY__) || defined(__LOCALES_49_IBY__) \
-    || defined(__LOCALES_51_IBY__) || defined(__LOCALES_59_IBY__) \
-    || defined(__LOCALES_67_IBY__) || defined(__LOCALES_68_IBY__) \
-    || defined(__LOCALES_70_IBY__) || defined(__LOCALES_76_IBY__) \
-    || defined(__LOCALES_78_IBY__) || defined(__LOCALES_79_IBY__) \
-    || defined(__LOCALES_83_IBY__) || defined(__LOCALES_157_IBY__) \
-    || defined(__LOCALES_158_IBY__) || defined(__LOCALES_159_IBY__) \
-    || defined(__LOCALES_160_IBY__) || defined(__LOCALES_161_IBY__) \
-    || defined(__LOCALES_326_IBY__) || defined(__LOCALES_327_IBY__) \
-    || defined(__LOCALES_44_IBY__) || defined(__LOCALES_401_IBY__) \
-    || defined(__LOCALES_402_IBY__) || defined(__LOCALES_186_IBY__) \
-    || defined(__LOCALES_102_IBY__) || defined(__LOCALES_103_IBY__) \
-    || defined(__LOCALES_230_IBY__) || defined(__LOCALES_16_IBY__) \
-    || defined(__LOCALES_42_IBY__) || defined(__LOCALES_93_IBY__) \
-    || defined(__LOCALES_54_IBY__) || defined(__LOCALES_57_IBY__)
-#define PENINPUT_TRUI
-#endif // __HANDWRITING_RECOGNITION_INPUT
-#endif // FF_CAPACITIVE_DISPLAY
-#endif // __PEN_SUPPORT
-
-#ifdef PENINPUT_TRUI
-// TrainUI UI =======================================================
-S60_APP_EXE(trui)
-S60_APP_AIF_ICONS(trui)
-S60_APP_AIF_RSC(trui)
-data=\epoc32\release\armv5\urel\z\resource\TrainUiPreset.dat	RESOURCE_FILES_DIR\TrainUiPreset.dat
-data=\epoc32\data\Z\resource\apps\trui_icons.mif	APP_BITMAP_DIR\trui_icons.mif
-#endif
-#endif // __PEN_SUPPORT
-
-#endif // TRUI_IBY
\ No newline at end of file
--- a/textinput/peninputhwrtrui/src/trui.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Application entrance
-*
-*/
-
-
-#include <eikstart.h>
-#include "truiapplication.h"
-
-// ================= EXPORTED FUNCTIONS =================================
-// ---------------------------------------------------------------------------
-// Create an application, and return a pointer to it
-// ---------------------------------------------------------------------------
-//
-CApaApplication* NewApplication()
-	{
-	return new CTruiApplication;
-	}
-
-
-TInt E32Main()
-	{
-	return EikStart::RunApplication( NewApplication );	
-	}
-
--- a/textinput/peninputhwrtrui/src/truiapplication.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Implement of class CTruiApplication
-*
-*/
-
-
-#include <eikapp.h>
-
-#include "truidocument.h"
-#include "truiapplication.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// To create document
-// ---------------------------------------------------------------------------
-//
-CApaDocument* CTruiApplication::CreateDocumentL()
-    {  
-    // Create an trui document, and return a pointer to it    
-    CApaDocument* document = new (ELeave) CTruiDocument( *this );
-    return document;
-    }
-
-// ---------------------------------------------------------------------------
-// Get Uid of AppDll
-// ---------------------------------------------------------------------------
-//
-TUid CTruiApplication::AppDllUid() const
-    {
-    // Return the UID for the trui application
-    return KUidtruiApp;
-    }
-    
-// ---------------------------------------------------------------------------
-// Opens the .ini file associated with the application.
-// ---------------------------------------------------------------------------
-//
-CDictionaryStore* CTruiApplication::OpenIniFileLC( RFs& aFs ) const
-    {
-    return CEikApplication::OpenIniFileLC( aFs );
-    }
--- a/textinput/peninputhwrtrui/src/truiappradiobutton.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,545 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Implement of class CTruiRadioButton
-*
-*/
-
-
-#include <eiklabel.h>
-#include <barsread.h>
-#include <eikenv.h>
-#include <avkon.rsg>
-#include <AknIconUtils.h>
-#include <AknsSkinInstance.h>
-#include <AknsDrawUtils.h>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <AknUtils.h>
-#include <AknBidiTextUtils.h> 
-#include <bidivisual.h>
-#include <featmgr.h>
-
-#ifdef RD_TACTILE_FEEDBACK 
-#include <touchfeedback.h>  
-#endif //RD_TACTILE_FEEDBACK
-
-#include "truiappradiobutton.h"
-#include "truiradiobuttonobserver.h"
-#include "truicontainerbase.h"
-
-// The amount of icons of bitmap files for ratio button
-const TInt KRadioButtonIconCounts = 2;
-
-const TInt KSpaceBetweenItems = 10;
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Two-phased constructor.
-// ---------------------------------------------------------------------------
-//
-CTruiRadioButton* CTruiRadioButton::NewL( CCoeControl* aParent, 
-                              TSelectionType aSelectionType,
-                              MTruiRadioButtonObserver* aObserver )
-    {
-    CTruiRadioButton* self = CTruiRadioButton::NewLC( aParent, aSelectionType, 
-                                                      aObserver );
-    CleanupStack::Pop( self );
-    return self;
-    }
-    
-// ---------------------------------------------------------------------------
-// Two-phased constructor.
-// ---------------------------------------------------------------------------
-//
-CTruiRadioButton* CTruiRadioButton::NewLC( CCoeControl* aParent, 
-                              TSelectionType aSelectionType,
-                              MTruiRadioButtonObserver* aObserver )
-    {
-    CTruiRadioButton* self = new ( ELeave ) CTruiRadioButton( aObserver, 
-                                                              aSelectionType );
-    CleanupStack::PushL( self );
-    self->ConstructL( aParent );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CTruiHwrBox::CTruiHwrBox()
-// C++ default constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CTruiRadioButton::CTruiRadioButton( MTruiRadioButtonObserver* aObserver,
-                                    TSelectionType aSelectionType )
-                 :iObserver( aObserver ), iSelectionType( aSelectionType )
-    {
-    // No implementation required
-    }
-
-    
-// -----------------------------------------------------------------------------
-// CTruiRadioButton::ConstructL()
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CTruiRadioButton::ConstructL( CCoeControl* aParent )
-    {
-    SetContainerWindowL( *aParent );
-    CreateBitmapForRadioButtonL();    
-    #ifdef RD_TACTILE_FEEDBACK  
-        iTactileSupported = FeatureManager::FeatureSupported( KFeatureIdTactileFeedback ); 
-    #endif // RD_TACTILE_FEEDBACK    
-    }
-    
-// -----------------------------------------------------------------------------
-// Convert texts into Label and update them in radio buttons.
-// -----------------------------------------------------------------------------
-//
-void CTruiRadioButton::HandleItemAdditionL()
-    {
-    // Re-init control array
-    delete iControlArray;
-    iControlArray = NULL;
-    if ( iTextArray.Count() > 0 )
-        {        
-        iControlArray = new (ELeave) CArrayPtrFlat<CCoeControl>
-                                                    ( iTextArray.Count() );
-        }
-    // text layout
-    // Add items for radio button
-    for ( TInt i = 0; i < iTextArray.Count(); i++ )
-        {
-        // Create label
-        CEikLabel* label = new (ELeave) CEikLabel();
-        CleanupStack::PushL( label );
-        label->SetContainerWindowL( *this );
-        label->SetObserver( this );
-        label->SetTextL( *iTextArray[i] );
-
-        // Add label to control array
-        iControlArray->AppendL( label );        
-        CleanupStack::Pop( label );
-        }        
-    }
-    
-// -----------------------------------------------------------------------------
-// Add one item to radio button.
-// -----------------------------------------------------------------------------
-//
-void CTruiRadioButton::AddItem( const HBufC* aText, TRadioButtonStatus aStatus )
-    {
-    iTextArray.Append( aText );
-    iStatusArray.Append( aStatus );
-    }
-
-// -----------------------------------------------------------------------------
-// CTruiRadioButton::~CTruiRadioButton()
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CTruiRadioButton::~CTruiRadioButton()
-    {
-    iStatusArray.Close();
-    iTextArray.ResetAndDestroy();
-    if ( iControlArray )
-        {
-        iControlArray->ResetAndDestroy();
-        delete iControlArray;
-        }        
-    delete iRadioButtonSelectedBmp;
-    delete iRadioButtonSelectedBmpm;
-    delete iRadioButtonNonSelectedBmp;
-    delete iRadioButtonNonSelectedBmpm;
-    iIconLayout.Close();
-    }
-    
-// ---------------------------------------------------------------------------
-// Handles an event from an observed control.
-// ---------------------------------------------------------------------------
-//
-void CTruiRadioButton::HandleControlEventL( CCoeControl* aControl,TCoeEvent aEventType )
-    {
-    TInt index;
-    for ( index = 0; index < iControlArray->Count(); index++ )
-        {
-        if ( aControl == iControlArray->At( index ) )
-            {
-            break;
-            }                    
-        }
-    if ( iSelectionType == ERadioButton )
-        {
-        HandlePointerRadioButtonL( index, aEventType );
-        }
-    else
-        {
-        HandlePointerCheckBox( index, aEventType );
-        }    
-    DrawNow();
-    }
-
-// ---------------------------------------------------------------------------
-// Handle pointer on radio button.
-// ---------------------------------------------------------------------------
-//
-void CTruiRadioButton::HandlePointerRadioButtonL( TInt aIndex, TCoeEvent aEventType )
-    {
-    if ( aIndex < iStatusArray.Count() && aEventType == EEventRequestFocus )
-        {
-        for ( TInt i = 0; i < iStatusArray.Count(); i++ )
-            {
-            if ( i == aIndex )
-                {
-                if ( iStatusArray[aIndex] == ENonSelected )
-                    {
-                    iStatusArray[aIndex] = ESelected;
-                    if ( iObserver )
-                        {
-                        iObserver->SelectChangedL( aIndex );
-                        }
-                    }
-                }
-            else
-                {
-                iStatusArray[i] = ENonSelected;
-                }            
-            } 
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Handle pointer on checkbox.
-// ---------------------------------------------------------------------------
-//
-void CTruiRadioButton::HandlePointerCheckBox( TInt aIndex, TCoeEvent aEventType )
-    {
-    if ( aIndex < iControlArray->Count() && aEventType == EEventRequestFocus )
-        {
-        iStatusArray[aIndex] = ( iStatusArray[aIndex] == ENonSelected ) 
-                                            ? ESelected : ENonSelected;        
-        }
-    }
-        
-// ---------------------------------------------------------------------------
-// Handles an event from an observed control.
-// ---------------------------------------------------------------------------
-//
-void CTruiRadioButton::SizeChanged()
-    {        
-    LoadIconsLayout( 0 );    
-    for ( TInt i = 0; i < iIconLayout.Count(); i++ )
-        {
-        TSize iconSize = iIconLayout[i].Rect().Size();
-        AknIconUtils::SetSize( iRadioButtonSelectedBmp, iconSize );
-        AknIconUtils::SetSize( iRadioButtonSelectedBmpm, iconSize );
-        AknIconUtils::SetSize( iRadioButtonNonSelectedBmpm, iconSize );
-        AknIconUtils::SetSize( iRadioButtonNonSelectedBmpm, iconSize );
-        }
-    // list_single_hwr_training_symbol_option_pane_t1  
-    if ( iControlArray && iTextArray.Count() > 0 )
-        {
-        for ( TInt i = 0; i < iTextArray.Count(); i++ )
-            {
-            TAknTextComponentLayout option_pane_t1_layout = 
-                       AknLayoutScalable_Apps::                       
-                       list_single_hwr_training_symbol_option_pane_t1( 0 );                       
-            CEikLabel* label = static_cast<CEikLabel*>( iControlArray->At( i ) );
-            AknLayoutUtils::LayoutLabel( label, 
-                                         Rect(), 
-                                         iMultilineLayout );
-            // Set color for label
-            TRgb labelColor = KRgbBlack;
-            TInt error = GetCachedLabelTextColor( labelColor );
-            if ( error == KErrNone )
-                {
-                TRAP_IGNORE( label->OverrideColorL( EColorLabelText, labelColor ) );
-                }
-            TRAP_IGNORE( ClipToFitLabelL( label, i ) );
-            // Set font for label
-            if ( TBidiText::ScriptDirectionality( User::Language() )
-                 ==  TBidiText::ERightToLeft )
-                { // arabic,hebrew, set text RTL
-                label->SetLabelAlignment( ELayoutAlignBidi );                
-                }
-            }            
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// Draws control to given area
-// -----------------------------------------------------------------------------
-//
-void CTruiRadioButton::Draw( const TRect& /*aRect*/ ) const
-    {
-    CWindowGc& gc = SystemGc();
-    // Gets the control's extent
-    TRect rect( Rect() );
-    // Clears the screen       
-    Window().SetBackgroundColor( TRgb( ~0 ) );
-    
-    TSize pixSize = iRadioButtonSelectedBmp->SizeInPixels();
-    for ( TInt i = 0; i < iStatusArray.Count(); i++ )
-        {
-        TPoint tl( rect.iTl.iX, rect.iTl.iY + pixSize.iWidth * i 
-                   +  KSpaceBetweenItems * i );
-        if ( iStatusArray[i] == ESelected )
-            {
-            iIconLayout[0].DrawImage( gc, iRadioButtonSelectedBmp, iRadioButtonSelectedBmpm );
-            }
-        else if ( iStatusArray[i] == ENonSelected )
-            {
-            iIconLayout[0].DrawImage( gc, iRadioButtonNonSelectedBmp, 
-                                          iRadioButtonNonSelectedBmpm );
-            }        
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// Gets the number of controls contained in a compound control.
-// -----------------------------------------------------------------------------
-//
-TInt CTruiRadioButton::CountComponentControls() const
-    {
-    if ( iControlArray )
-        {
-        return iControlArray->Count();
-        }
-    return 0;
-    }
-
-// -----------------------------------------------------------------------------
-// Gets an indexed component of a compound control.
-// -----------------------------------------------------------------------------
-//
-CCoeControl* CTruiRadioButton::ComponentControl( TInt aIndex ) const
-    {
-    if ( iControlArray && aIndex < iControlArray->Count() )
-        {
-        return iControlArray->At( aIndex );
-        }
-    return NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// From class CCoeControl.
-// Handles a change to the control's resources.
-// ---------------------------------------------------------------------------
-//
-void CTruiRadioButton::HandleResourceChange( TInt aType )
-    {   
-    CCoeControl::HandleResourceChange( aType );    
-    if ( aType == KAknsMessageSkinChange && iControlArray )
-        {        
-        TRgb labelColor = KRgbBlack;
-        TInt error = GetCachedLabelTextColor( labelColor );
-        if ( error == KErrNone )
-            {
-            for ( TInt i = 0; i < iControlArray->Count(); i++ )
-                {
-                CCoeControl* label = iControlArray->At( i );
-                TRAP_IGNORE( label->OverrideColorL( EColorLabelText, labelColor ) );
-                }
-            }  
-        TRAP_IGNORE( CreateBitmapForRadioButtonL() ); 
-        SizeChanged();       
-        }    
-    }
-
-// -----------------------------------------------------------------------------
-// Gets an indexed component of a compound control.
-// -----------------------------------------------------------------------------
-//
-void CTruiRadioButton::HandlePointerEventL( const TPointerEvent& aPointerEvent )
-    {
-    if ( aPointerEvent.iType == TPointerEvent::EButton1Down )
-        {
-        // Click the area of icon
-        TSize pixSize = iRadioButtonSelectedBmp->SizeInPixels();
-        TRect rect( Rect() );
-        for ( TInt i = 0; i < iControlArray->Count(); i++ )
-            {
-            if ( iIconLayout[i].Rect().Contains( aPointerEvent.iPosition ) )            
-                {
-                // Handle the event to point on Icon
-                HandleControlEventL(  iControlArray->At( i ),
-                                      EEventRequestFocus );
-                }        
-            }
-        #ifdef RD_TACTILE_FEEDBACK 
-        if ( iTactileSupported )
-            {
-            MTouchFeedback::Instance()->InstantFeedback( ETouchFeedbackBasic );
-            }        
-        #endif // RD_TACTILE_FEEDBACK
-        }
-    CCoeControl::HandlePointerEventL( aPointerEvent );
-    }
-    
-// -----------------------------------------------------------------------------
-// Return the control's minisize.
-// -----------------------------------------------------------------------------
-//
-TSize CTruiRadioButton::MinimumSize()
-    {
-    TInt miniWidth = 0;
-    TInt miniHeight = 0;
-    for ( TInt i = 0; i < iControlArray->Count(); i++ )
-        {
-        TSize itemMiniSize = iControlArray->At( i )->Size();
-        miniHeight += itemMiniSize.iHeight + KSpaceBetweenItems * i;
-        miniWidth = itemMiniSize.iWidth 
-                    + iRadioButtonSelectedBmp->SizeInPixels().iWidth;
-        }
-    return TSize( miniWidth, miniHeight );
-    }
-            
-// -----------------------------------------------------------------------------
-// Create radio button's bitmap.
-// -----------------------------------------------------------------------------
-//
-void CTruiRadioButton::CreateBitmapForRadioButtonL()
-    {
-    delete iRadioButtonSelectedBmp;
-    delete iRadioButtonSelectedBmpm;
-    delete iRadioButtonNonSelectedBmp;
-    delete iRadioButtonNonSelectedBmpm;
-    // Read resource file
-    TResourceReader reader;
-    TInt btnResource;
-    if ( iSelectionType == ERadioButton )
-        {
-        btnResource = R_AVKON_SETTING_PAGE_RADIOBUTTON_ICONS;
-        }
-    else
-        {
-        btnResource= R_AVKON_SETTING_PAGE_CHECKBOX_ICONS;
-        }
-    iEikonEnv->CreateResourceReaderLC( reader, btnResource );
-    reader.ReadInt16(); //not needed, simple or complex
-    HBufC* bmpFile = reader.ReadHBufCL();
-    CleanupStack::PushL( bmpFile );
-    TInt count = reader.ReadInt16(); // count    
-    if( count < KRadioButtonIconCounts )
-        {
-        User::Leave(KErrCorrupt);
-        }    
-    TInt32 bmpSelected = reader.ReadInt32();
-    TInt32 bmpSelectedM = reader.ReadInt32();
-    TInt32 bmpNonSelected = reader.ReadInt32();
-    TInt32 bmpNonSelectedM = reader.ReadInt32();
-    CleanupStack::Pop( bmpFile );
-    CleanupStack::PopAndDestroy(); // reader
-    
-    CleanupStack::PushL( bmpFile );
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    AknsUtils::CreateColorIconL( skin,
-                                 KAknsIIDQgnIndiRadiobuttOn,
-                                 KAknsIIDQsnIconColors,
-                                 EAknsCIQsnIconColorsCG14,
-                                 iRadioButtonSelectedBmp,
-                                 iRadioButtonSelectedBmpm,
-                                 *bmpFile,
-                                 bmpSelected,
-                                 bmpSelectedM,
-                                 KRgbBlack
-                                 );
-    
-    AknsUtils::CreateColorIconL( skin,
-                                 KAknsIIDQgnIndiRadiobuttOff,
-                                 KAknsIIDQsnIconColors,
-                                 EAknsCIQsnIconColorsCG14,
-                                 iRadioButtonNonSelectedBmp,
-                                 iRadioButtonNonSelectedBmpm,                                  
-                                 *bmpFile,
-                                 bmpNonSelected,
-                                 bmpNonSelectedM,
-                                 KRgbBlack
-                                 );
-    CleanupStack::PopAndDestroy( bmpFile );   
-    }
-
-// ---------------------------------------------------------------------------
-// Get cached color of skin for label control
-// ---------------------------------------------------------------------------
-// 
-TInt CTruiRadioButton::GetCachedLabelTextColor( TRgb& aColor )
-    {
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    // Set pen color to the color of test in main area
-    return AknsUtils::GetCachedColor( skin,
-                                      aColor,
-                                      KAknsIIDQsnTextColors,
-                                      EAknsCIQsnTextColorsCG6 );
-    }
-
-// ---------------------------------------------------------------------------
-// Load layouts for icons from LAF.
-// ---------------------------------------------------------------------------
-// 
-void CTruiRadioButton::LoadIconsLayout( TInt aVarity )
-    {
-    TRect rect = Rect();
-    iIconLayout.Reset();
-    // Caculate list_single_hwr_training_symbol_option_pane_g1 for line1
-    TAknWindowComponentLayout icon_checked_layout = 
-         AknLayoutScalable_Apps::list_single_hwr_training_symbol_option_pane_g1         
-                                        ( aVarity );
-    TAknLayoutRect icon_checked_layout_rect;
-    icon_checked_layout_rect.LayoutRect( rect, icon_checked_layout );    
-    iIconLayout.Append( icon_checked_layout_rect );
-    }
-// -----------------------------------------------------------------------------
-// Convert logical name to visual name for label when needed.
-// -----------------------------------------------------------------------------
-//
-void CTruiRadioButton::ConvertToVisualForEdwinL( CEikLabel* aLabel, 
-                                                 const TDesC& aLogicalTxt, 
-                                                 const CFont& aFont, 
-                                                 TInt aLineWidth )
-    {
-    HBufC* visualText = HBufC::NewLC( aLogicalTxt.Length() 
-                                      + TBidiLogicalToVisual::KMinCharAvailable
-                                      + KExtraSize );
-    TPtr visualTextPtr = visualText->Des();
-    AknBidiTextUtils::ConvertToVisualAndClip( aLogicalTxt, visualTextPtr, 
-                                              aFont, aLineWidth, aLineWidth );
-    aLabel->SetTextL( *visualText ); 
-    aLabel->SetLabelAlignment( ELayoutAlignBidi );
-    CleanupStack::PopAndDestroy( visualText );   
-    }
-
-// -----------------------------------------------------------------------------
-// Clip text of editor to fit editor width.
-// -----------------------------------------------------------------------------
-//
-void CTruiRadioButton::ClipToFitLabelL( CEikLabel* aLabel, TInt aIndex )
-    {    
-    if ( aLabel && aLabel->Size().iWidth > 0 )
-        {                
-        // Get font fo editor from LAF
-        const CFont* edwinFont = AknLayoutUtils::FontFromId
-                                 ( iMultilineLayout.FontId() );
-        // Prepare text to set into editor
-        HBufC* textInArray = iTextArray[aIndex];
-        // Create a new HBufC to store text for editor
-        HBufC* edwinText = HBufC::NewLC( textInArray->Length()
-                                         + KExtraSize );
-        TPtr edwinTextPtr = edwinText->Des();        
-        edwinTextPtr.Copy( *textInArray );
-        // Clip text for editor
-        AknTextUtils::ClipToFit( edwinTextPtr, *edwinFont, 
-            aLabel->Size().iWidth );        
-        aLabel->SetTextL( *edwinText );    
-        CleanupStack::PopAndDestroy( edwinText );        
-        }    
-    }
-
--- a/textinput/peninputhwrtrui/src/truiappui.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,286 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Implement of class CTruiAppUi
-*
-*/
-
-
-#include <avkon.hrh>
-#include <aknnavide.h>
-#include <barsread.h>
-#include <akntabgrp.h>
-#include <trui.rsg>
-#include <akntitle.h> 
-#include <hlplch.h>
-#include <AknsUtils.h>
-
-#include "trui.hrh"
-#include "truiappui.h"
-#include "truimainview.h"
-#include "truishortcutsview.h"
-#include "truishortcuteditview.h"
-#include "truishortcutedittextview.h"
-#include "truiinfomessageview.h"
-#include "truiengine.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// ConstructL is called by the application framework
-// ---------------------------------------------------------------------------
-//
-void CTruiAppUi::ConstructL()
-    {
-    BaseConstructL();    
-    //Create HWR engine
-    iEngine = CTruiEngine::NewL( iEikonEnv );
-
-    //Create view
-    iMainView = CTruiMainView::NewL();
-    AddViewL( iMainView );    
- 
-    iShortcutsView = CTruiShortcutsView::NewL();   
-    AddViewL( iShortcutsView );
-    
-    iShortcutEditView = CTruiShortcutEditView::NewL();   
-    AddViewL( iShortcutEditView );
-    
-    iShortcutEditTextView = CTruiShortcutEditTextView::NewL();   
-    AddViewL( iShortcutEditTextView );   
-    
-    iInfoMessageView = CTruiInfoMessageView::NewL();   
-    AddViewL( iInfoMessageView );      
-
-    SetDefaultViewL( *iMainView );
-  
-    iNaviDecorator = CreateNavigationTabL( R_NAVIGATIONPANE_TABGROUP, 0 );
-    
-    // Create empty navi pane
-    // Get status pane from AppUi
-    CEikStatusPane* statusPane = StatusPane();
-    CEikStatusPaneBase::TPaneCapabilities naviPaneCapability =
-        statusPane->PaneCapabilities( TUid::Uid( EEikStatusPaneUidNavi ) );        
-    // if the navigation pane can be used
-    if ( naviPaneCapability.IsPresent() && naviPaneCapability.IsAppOwned() )
-        {
-        CAknNavigationControlContainer* naviPane = 
-            static_cast<CAknNavigationControlContainer*>
-            ( statusPane->ControlL( TUid::Uid( EEikStatusPaneUidNavi ) ) );
-        // if the navigation pane can be used
-        if ( naviPaneCapability.IsPresent() && naviPaneCapability.IsAppOwned() )
-            {
-            iEmptyNaviDecorator = naviPane->CreateNavigationLabelL();
-            }        
-        }   
-    AknsUtils::SetAvkonSkinEnabledL( ETrue );    
-    }
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CTruiAppUi::CTruiAppUi()                              
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CTruiAppUi::~CTruiAppUi()
-    {
-    if ( iNaviDecorator )
-        {
-        delete iNaviDecorator;        
-        }
-    if ( iEmptyNaviDecorator )
-        {
-        delete iEmptyNaviDecorator;        
-        }
-    if ( iEngine )
-        {
-        delete iEngine;        
-        }    
-    }
-
-// ---------------------------------------------------------------------------
-// handle any menu commands
-// ---------------------------------------------------------------------------
-//
-void CTruiAppUi::HandleCommandL( TInt aCommand )
-    {
-    switch( aCommand )
-        {
-        case EEikCmdExit:
-        case EAknSoftkeyExit:
-            {
-            PrepareToExit();
-            Exit();
-            break;
-            }
-        case EMainViewHelp:
-        case EShortcutViewHelp:
-            {
-            CArrayFix<TCoeHelpContext>* buf = CCoeAppUi::AppHelpContextL();
-            HlpLauncher::LaunchHelpApplicationL( iEikonEnv->WsSession(), 
-                                                 buf );
-            break;
-            }
-        default:
-            break;
-        }
-    }    
-    
-// ---------------------------------------------------------------------------
-// Create navigation pane
-// ---------------------------------------------------------------------------
-//
-CAknNavigationDecorator* CTruiAppUi::CreateNavigationTabL
-                                     ( const TInt aResourceId, 
-                                       const TInt aDefaultActive )
-    {    
-    // Get status pane from AppUi
-    CEikStatusPane* statusPane = StatusPane();
-    CEikStatusPaneBase::TPaneCapabilities naviPaneCapability =
-        statusPane->PaneCapabilities( TUid::Uid( EEikStatusPaneUidNavi ) );
-    
-    CAknNavigationDecorator* naviDecorator = NULL;
-    // if the navigation pane can be used
-    if ( naviPaneCapability.IsPresent() && naviPaneCapability.IsAppOwned() )
-        {
-        // Get the navigation pane from status pane.
-        CAknNavigationControlContainer* naviPane = 
-            static_cast<CAknNavigationControlContainer*>
-            ( statusPane->ControlL( TUid::Uid( EEikStatusPaneUidNavi ) ) );
-        TResourceReader reader;
-        iEikonEnv->CreateResourceReaderLC( reader, aResourceId );
-        
-        // Create the navigation pane tab group
-        naviDecorator = naviPane->CreateTabGroupL( reader, this );
-        CleanupStack::PushL( naviDecorator );
-        
-        // Set tab text
-        CAknTabGroup* tabGroup = static_cast<CAknTabGroup*>
-                                 ( naviDecorator->DecoratedControl() );    
-        tabGroup->SetActiveTabByIndex( aDefaultActive );
-         
-        // Push and show the navigation pane
-        naviPane->PushL( *naviDecorator );
-        CleanupStack::Pop( naviDecorator );
-        CleanupStack::PopAndDestroy(); // reader
-        }
-    return naviDecorator;
-    }
-
-// ---------------------------------------------------------------------------
-// return pointer of hand writing engine
-// ---------------------------------------------------------------------------
-//
-CTruiEngine* CTruiAppUi::HwrEngine() const
-    {
-    return iEngine;
-    }
-
-// ---------------------------------------------------------------------------
-// Return a pointer to navigation pane.
-// ---------------------------------------------------------------------------
-//
-CAknNavigationDecorator* CTruiAppUi::GetNaviDecorator() const
-    {
-    return iNaviDecorator;
-    }
-
-// ---------------------------------------------------------------------------
-// Close the navi pane
-// ---------------------------------------------------------------------------
-//
-void CTruiAppUi::CloseNaviPaneL()
-    {
-    // Get status pane from AppUi
-    CEikStatusPane* statusPane = StatusPane();
-
-    CEikStatusPaneBase::TPaneCapabilities naviPaneCapability =
-        statusPane->PaneCapabilities( TUid::Uid( EEikStatusPaneUidNavi ) );   
-    // if the navigation pane can be used
-    if ( naviPaneCapability.IsPresent() && naviPaneCapability.IsAppOwned() )
-        {
-        // Get the navigation pane from status pane.
-        CAknNavigationControlContainer* naviPane =
-             static_cast<CAknNavigationControlContainer*>
-             ( statusPane->ControlL( TUid::Uid( EEikStatusPaneUidNavi ) ) );        
-        // Pop and hide the navigation pane
-        naviPane->PushL( *iEmptyNaviDecorator );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Show the navi pane
-// ---------------------------------------------------------------------------
-//
-void CTruiAppUi::ShowNaviPaneL()
-    {
-    CEikStatusPane* statusPane = StatusPane();
-
-    CEikStatusPaneBase::TPaneCapabilities naviPaneCapability =
-        statusPane->PaneCapabilities( TUid::Uid( EEikStatusPaneUidNavi ) );  
-    // if the navigation pane can be used
-    if ( naviPaneCapability.IsPresent() && naviPaneCapability.IsAppOwned() )
-        {
-        CAknNavigationControlContainer* naviPane =
-              static_cast<CAknNavigationControlContainer*>
-              ( statusPane->ControlL( TUid::Uid( EEikStatusPaneUidNavi ) ) );
-        // Push and show the navigation pane
-        naviPane->PushL( *iNaviDecorator );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Handle active tab changed
-// ---------------------------------------------------------------------------
-//
-void CTruiAppUi::TabChangedL( TInt aIndex )
-    {
-    if ( aIndex == 0 )
-        {
-        // Switch to mainview
-        ActivateLocalViewL( KTruiMainViewId );        
-        }
-    else
-        {
-        // Switch to shortcuts view
-        ActivateLocalViewL( KTruiShortcutsViewId );
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// Show the title pane
-// ---------------------------------------------------------------------------
-//    
-void CTruiAppUi::ShowTitlePaneL( const TDesC& aTitle )
-    {
-    CEikStatusPane* statusPane = StatusPane();
-    CEikStatusPaneBase::TPaneCapabilities titlePaneCapability =
-        statusPane->PaneCapabilities( TUid::Uid( EEikStatusPaneUidTitle ) );
-    if ( titlePaneCapability.IsPresent() && titlePaneCapability.IsAppOwned() )
-        {
-        CAknTitlePane* titlePane = static_cast<CAknTitlePane*>
-            ( statusPane->ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) );
-        titlePane->SetTextL( aTitle );
-        }
-    }
-
-
-
-
-
--- a/textinput/peninputhwrtrui/src/truicontainerbase.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,434 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Implement of class CTruiContainerBase
-*
-*/
-
-
-#include <AknDef.h>
-#include <aknbutton.h>
-#include <barsread.h>
-#include <akntoolbar.h>
-#include <e32property.h>
-#include <AvkonInternalCRKeys.h>
-#include <eikapp.h>
-#include <AknsUtils.h>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <layoutmetadata.cdl.h>
-#include <gulicon.h>
-#include <aknview.h>
-#include <s32stor.h>
-
-#include "truicontainerbase.h"
-#include "truiappui.h"
-
-_LIT( KChangeLine, "\n" );
-
-const TSize KHwrBoxSizeLandscape = TSize( 200, 200 );
-
-// ======== MEMBER FUNCTIONS ========
-
-CTruiContainerBase::CTruiContainerBase()
-    {
-    iAppUi = static_cast<CTruiAppUi*>( iAvkonViewAppUi );
-    iEngine = iAppUi->HwrEngine();
-    }
-
-CTruiContainerBase::~CTruiContainerBase()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Get the origin size in which input the model for preset symbols. 
-// ---------------------------------------------------------------------------
-//
-TSize CTruiContainerBase::OriginSymbolSize()
-    {   
-    TRect rect = iAvkonViewAppUi->ClientRect();
-    
-    TAknWindowComponentLayout main_pane_layout = 
-                            AknLayoutScalable_Apps::main_hwr_training_pane();
-    TAknLayoutRect main_pane_layout_rect;
-    main_pane_layout_rect.LayoutRect( rect, main_pane_layout );
-    TRect main_pane_rect = main_pane_layout_rect.Rect();
-    
-    // hwr_training_write_pane
-    TAknWindowComponentLayout write_pane_layout = 
-               AknLayoutScalable_Apps::hwr_training_write_pane( 2 );
-    TAknLayoutRect write_pane_layout_rect;
-    write_pane_layout_rect.LayoutRect( main_pane_rect, write_pane_layout );
-    
-    TAknWindowComponentLayout drawable_rect_layout = 
-               AknLayoutScalable_Apps::hwr_training_write_pane_g7( 0 );
-    TAknLayoutRect drawable_rect_layout_rect;
-    drawable_rect_layout_rect.LayoutRect( write_pane_layout_rect.Rect(), 
-                                          drawable_rect_layout );
-    return drawable_rect_layout_rect.Rect().Size();
-    }
-
-// ---------------------------------------------------------------------------
-// Wrap the text to fit the minisize of Label.
-// ---------------------------------------------------------------------------
-//
-TInt CTruiContainerBase::WrapLabelText( const CEikLabel* aLabel, 
-                                            const TDesC& aText,
-                                            TInt aMaxLines, 
-                                            HBufC* aWrappedText )
-    {
-    return DoWrapLabelText( aLabel->Font(), aLabel->Size().iWidth, aText, 
-                            aMaxLines, aWrappedText );
-    }
-
-// ---------------------------------------------------------------------------
-// Wrap the text to fit the minisize of Label.
-// ---------------------------------------------------------------------------
-//
-TInt CTruiContainerBase::WrapLabelText(  const TAknLayoutText& aLayoutText,
-                                         const TDesC& aText,
-                                         TInt aMaxLines, 
-                                         HBufC* aWrappedText )
-    {
-    const CFont* font = aLayoutText.Font();
-    TInt width = aLayoutText.TextRect().Size().iWidth;
-    return DoWrapLabelText( font, width, aText, aMaxLines, aWrappedText );
-    }    
-
-// ---------------------------------------------------------------------------
-// Wrap the text to fit the minisize of Label.
-// ---------------------------------------------------------------------------
-//
-void CTruiContainerBase::WrapLabelTextL(  const CFont* aFont, const TDesC& aText,
-    const RArray<TInt>& aLineWidthArray, 
-    HBufC* aWrappedText )
-    {    
-    if ( aWrappedText && aLineWidthArray.Count() > 0 )
-        {
-        CArrayFixFlat<TInt>* lineWidthArray = new (ELeave) 
-                                CArrayFixFlat<TInt>( aLineWidthArray.Count() );
-        CleanupStack::PushL( lineWidthArray );
-        // Create line array        
-        for ( TInt i = 0; i < aLineWidthArray.Count(); i++ )
-            {
-            lineWidthArray->AppendL( aLineWidthArray[i] );
-            }
-        // Do wrap and clip
-        TPtr wrappedTextPtr = aWrappedText->Des();
-        AknTextUtils::WrapToStringAndClipL( aText, *lineWidthArray, *aFont, 
-            wrappedTextPtr );        
-        CleanupStack::PopAndDestroy( lineWidthArray );
-        }    
-    }    
-
-// ---------------------------------------------------------------------------
-// Create skin specified button from resource.
-// ---------------------------------------------------------------------------
-//
-CAknButton* CTruiContainerBase::CreateButtonL( TInt aResourceId, 
-                                               const CCoeControl* aParent, 
-                                               MCoeControlObserver* aObserver )
-    {
-    TResourceReader reader;
-    iEikonEnv->CreateResourceReaderLC( reader, aResourceId );
-    CAknButton* button = ConstructButtonFromResourceL( reader );
-    if ( aParent )
-        {
-        button->SetContainerWindowL( *aParent );
-        }   
-    if ( aObserver )
-        {
-        button->SetObserver( aObserver );    
-        }    
-    CleanupStack::PopAndDestroy(); // reader    
-    return button;
-    }
-
-// ---------------------------------------------------------------------------
-// Add skin specified buttons into toolbar.
-// ---------------------------------------------------------------------------
-//
-void CTruiContainerBase::AddButtonsToToolbarL( CAknToolbar* aToolbar, TInt aResourceId )
-    {
-    TResourceReader reader;
-    iEikonEnv->CreateResourceReaderLC( reader, aResourceId );
-    const TInt buttonCount = reader.ReadInt16();
-    for ( TInt i = 0; i < buttonCount; i++ )
-        {
-        // Create each toolbar item
-        TInt controlType = reader.ReadInt16();
-        TInt commandId = reader.ReadInt16();
-        reader.ReadInt16(); // flags
-        reader.ReadInt16(); // length        
-        CAknButton* button = ConstructButtonFromResourceL( reader );
-        aToolbar->AddItemL( button, controlType, commandId, 0, i );       
-        }
-    CleanupStack::PopAndDestroy(); // reader    
-    }
-
-// ---------------------------------------------------------------------------
-// Return current keyboard mode.
-// ---------------------------------------------------------------------------
-// 
-TInt CTruiContainerBase::CurrentKeyBoardModeL()
-    {
-    RProperty keyboardProperty;
-    CleanupClosePushL( keyboardProperty );
-    User::LeaveIfError( keyboardProperty.Attach( KCRUidAvkon, 
-                                                 KAknQwertyInputModeActive ) );
-    TInt keyboardMode = 0;
-    keyboardProperty.Get( keyboardMode );    
-    CleanupStack::PopAndDestroy( &keyboardProperty ); 
-    return keyboardMode;
-    }
-
-// ---------------------------------------------------------------------------
-// Read setting from ini file to decide if display wizard view.
-// ---------------------------------------------------------------------------
-// 
-void CTruiContainerBase::GetSettingFromIniFileL( TUint32 aKey, TInt& aValue )
-    {
-    CDictionaryStore* iniFile = iAppUi->Application()->OpenIniFileLC( iEikonEnv->FsSession() );
-    RDictionaryReadStream readSteam;
-    readSteam.OpenLC( *iniFile, TUid::Uid( aKey ) );
-    TInt16 value;
-    readSteam >> value;
-    aValue = value;
-    CleanupStack::PopAndDestroy( &readSteam );
-    CleanupStack::PopAndDestroy( iniFile );    
-    }
-
-// ---------------------------------------------------------------------------
-// Save settings into file.
-// ---------------------------------------------------------------------------
-// 
-void CTruiContainerBase::SaveSettingIntoIniFileL( TUint32 aKey, TInt aValue )
-    {
-    CDictionaryStore* iniFile = 
-                 iAppUi->Application()->OpenIniFileLC( iEikonEnv->FsSession() );
-    RDictionaryWriteStream stream;
-    stream.AssignLC( *iniFile, TUid::Uid( aKey ) );
-    stream << (TInt16)aValue;
-    stream.CommitL();
-    iniFile->CommitL();
-    CleanupStack::PopAndDestroy( &stream );
-    CleanupStack::PopAndDestroy( iniFile );
-    }
-
-// ---------------------------------------------------------------------------
-// Get cached color of skin for label control
-// ---------------------------------------------------------------------------
-// 
-TInt CTruiContainerBase::GetCachedLabelTextColor( TRgb& aColor )
-    {
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    // Set pen color to the color of test in main area
-    return AknsUtils::GetCachedColor( skin,
-                                      aColor,
-                                      KAknsIIDQsnTextColors,
-                                      EAknsCIQsnTextColorsCG6 );
-    }
-
-// ---------------------------------------------------------------------------
-// Get cached color of skin for icon
-// ---------------------------------------------------------------------------
-// 
-TInt CTruiContainerBase::GetCachedIcontColor( TRgb& aColor, 
-                                              const TAknsItemID& aColorId, 
-                                              TInt aColorIndex )
-    {
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    // Set pen color to the color of test in main area
-    return AknsUtils::GetCachedColor( skin,
-                                      aColor,
-                                      aColorId,
-                                      aColorIndex );
-    }
-
-// ---------------------------------------------------------------------------
-// Create skin specified button from resource.
-// ---------------------------------------------------------------------------
-//
-CAknButton* CTruiContainerBase::ConstructButtonFromResourceL( TResourceReader& aReader )
-    {
-    TInt flags = aReader.ReadInt16();
-    TPtrC helpText = aReader.ReadTPtrC();
-    TPtrC fileName = aReader.ReadTPtrC();
-    TInt bmpId = aReader.ReadInt16();    
-    TInt bmpMaskId = aReader.ReadInt16();
-    TInt pressId = aReader.ReadInt16();
-    TInt pressMaskId = aReader.ReadInt16();
-    TInt mainItemId = aReader.ReadInt32();
-    TInt minorItemId = aReader.ReadInt32();
-    TInt mainItemPressId = aReader.ReadInt32();
-    TInt minorItemPressId = aReader.ReadInt32();
-    
-    CGulIcon* icon = NULL;
-    TInt length = fileName.Length();
-    if ( fileName.Length() )
-        {
-        TAknsItemID aknItemId = { mainItemId, minorItemId };        
-        
-        // Create icon
-        CFbsBitmap* bitmap;
-        CFbsBitmap* bitmapm;
-        MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-        AknsUtils::CreateColorIconL( skin,
-                                     aknItemId,
-                                     KAknsIIDQsnIconColors,
-                                     EAknsCIQsnIconColorsCG30,
-                                     bitmap,
-                                     bitmapm,
-                                     fileName,
-                                     bmpId,
-                                     bmpMaskId,
-                                     KRgbBlack );
-        CleanupStack::PushL( bitmap );
-        CleanupStack::PushL( bitmapm );
-        icon = CGulIcon::NewL( bitmap, bitmapm ); // Ownership transfered
-        CleanupStack::Pop( bitmapm );
-        CleanupStack::Pop( bitmap );        
-        }
-    CleanupStack::PushL( icon );
-    CAknButton* button =  CAknButton::NewL ( icon, 
-                                             NULL,
-                                             NULL,
-                                             NULL,
-                                             KNullDesC, 
-                                             helpText, 
-                                             flags,
-                                             NULL );
-    CleanupStack::Pop( icon );
-    return button;    
-    }
-
-// ---------------------------------------------------------------------------
-// Construct icons from resource.
-// ---------------------------------------------------------------------------
-//
-CGulIcon* CTruiContainerBase::ConstructIconFromResourceL( TInt aResourceId )
-    {
-    TResourceReader reader;
-    iEikonEnv->CreateResourceReaderLC( reader, aResourceId );
-    TInt flags = reader.ReadInt16();
-    TPtrC helpText = reader.ReadTPtrC();
-    TPtrC fileName = reader.ReadTPtrC();
-    TInt bmpId = reader.ReadInt16();    
-    TInt bmpMaskId = reader.ReadInt16();
-    TInt pressId = reader.ReadInt16();
-    TInt pressMaskId = reader.ReadInt16();
-    TInt mainItemId = reader.ReadInt32();
-    TInt minorItemId = reader.ReadInt32();
-    TInt mainItemPressId = reader.ReadInt32();
-    TInt minorItemPressId = reader.ReadInt32();
-    
-    TAknsItemID aknItemId = { mainItemId, minorItemId };    
-    
-    // Create icon
-    CFbsBitmap* bitmap;
-    CFbsBitmap* bitmapm;
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    AknsUtils::CreateColorIconL( skin,
-                                 aknItemId,
-                                 KAknsIIDQsnIconColors,                                 
-                                 EAknsCIQsnIconColorsCG30,
-                                 bitmap,
-                                 bitmapm,
-                                 fileName,
-                                 bmpId,
-                                 bmpMaskId,
-                                 KRgbBlack );
-    CleanupStack::PushL( bitmap );
-    CleanupStack::PushL( bitmapm );
-    CGulIcon* icon = CGulIcon::NewL( bitmap, bitmapm ); // Ownership transfered
-    CleanupStack::Pop( bitmapm );
-    CleanupStack::Pop( bitmap );    
-    CleanupStack::PopAndDestroy(); // reader  
-    return icon;      
-    }
-
-// ---------------------------------------------------------------------------
-// Wrap the text to fit the minisize of Label.
-// ---------------------------------------------------------------------------
-//
-TInt CTruiContainerBase::DoWrapLabelText(  const CFont* aFont, TInt aWidth,
-                                           const TDesC& aText, TInt aMaxLines, 
-                                           HBufC* aWrappedText )
-    {        
-    TInt lineCount;
-    TInt startPos = 0;
-    TInt lines = 1;
-    if ( aWidth <= 0 || !aWrappedText )
-        {
-        return 0;
-        }    
-    TPtrC subText = aText.Mid( startPos, aText.Length() - startPos );    
-    TPtr newTextPtr = aWrappedText->Des();
-    newTextPtr.Copy( KNullDesC ); 
-    while ( ( lineCount = aFont->TextCount( subText, aWidth ) ) < subText.Length() )
-        {
-        // Need to wrap
-        if ( ++lines > aMaxLines )
-            {
-            // Check if it is up to maximum line
-            break;
-            }
-        // get the last char of every line
-        TChar nextCharLine = aText[ startPos + lineCount ];
-        
-        // Decide at which position insert the \n
-        if ( nextCharLine == TChar( ' ' ) )
-            {
-            // Replace nextCharLine with \n
-            newTextPtr.Append( subText.Mid( 0, lineCount ) );
-            newTextPtr.Append( KChangeLine );
-            // And move the startPos for the next loop.
-            startPos += lineCount + 1;
-            }
-        else
-            {
-            // Go forward to find " " and replace it with \n
-            // And move the startPos for the next loop.
-            TPtrC subTextPtr = subText.Mid( 0, lineCount );
-            TInt pos = subTextPtr.LocateReverse( TChar( ' ' ) );
-            if ( pos != KErrNotFound )
-                {
-                newTextPtr.Append( subTextPtr.Left( pos ) );
-                newTextPtr.Append( KChangeLine );
-                startPos += pos + 1;
-                }
-            else
-                {
-                newTextPtr.Append( subTextPtr );
-                newTextPtr.Append( KChangeLine );
-                startPos += lineCount;
-                }
-            }
-        subText.Set( aText.Mid( startPos, aText.Length() - startPos ) );
-        }
-    newTextPtr.Append( subText );
-    return lines;
-    }
-        
-// ---------------------------------------------------------------------------
-// From class CCoeControl.
-// Handles a change to the control's resources.
-// ---------------------------------------------------------------------------
-//
-void CTruiContainerBase::HandleResourceChange( TInt aType )
-    {
-    CCoeControl::HandleResourceChange( aType );
-    if ( aType==KEikDynamicLayoutVariantSwitch && iView )
-        {
-        SetRect( iView->ClientRect() );            
-        }     
-    }
--- a/textinput/peninputhwrtrui/src/truidocument.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Implement of class CTruiDocument
-*
-*/
-
-
-#include "truiappui.h"
-#include "truidocument.h"
-#include "truiapplication.h"
-
-// ======== MEMBER FUNCTIONS ======== 
-
-// ---------------------------------------------------------------------------
-// Standard Symbian OS construction
-// ---------------------------------------------------------------------------
-//
-CTruiDocument::CTruiDocument( CAknApplication& aApp ) : CAknDocument( aApp ) 
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Standard Symbian OS construction
-// ---------------------------------------------------------------------------
-//
-CTruiDocument::~CTruiDocument()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Create the application user interface, and return a pointer to it,
-// the framework takes ownership of this object
-// ---------------------------------------------------------------------------
-//
-CEikAppUi* CTruiDocument::CreateAppUiL()
-    {
-    CEikAppUi* appUi = new (ELeave) CTruiAppUi;
-    return appUi;
-    }
-
--- a/textinput/peninputhwrtrui/src/truiengine.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,725 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Implement of class CTruiShortcutsView
-*
-*/
-
-
-#include <trui.rsg>
-#include <e32const.h>
-#include <PtiMHwrRecognizer.h>
-#include <PtiLanguage.h>
-#include <eikenv.h>
-#include <AknFepInternalCRKeys.h>
-#include <centralrepository.h>
-#include <featmgr.h>
-#include <PtiEngine.h>
-
-#include "trui.hrh"
-#include "truiengine.h"
-
-#include "truilanguagerelation.h"
-
-const TInt KRangeNamesArraySize = 5;
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// construction
-// ---------------------------------------------------------------------------
-//
-CTruiEngine::CTruiEngine( CEikonEnv* aEikonEnv ) : iEnv( aEikonEnv )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// construction
-// ---------------------------------------------------------------------------
-//
-void CTruiEngine::ConstructL()
-    {  
-    CRepository* repository = CRepository::NewLC( KCRUidAknFep );
-    // Get current input language
-    TInt inputLanguage = 0;
-    repository->Get( KAknFepInputTxtLang, inputLanguage );
-    iInputLanguage = (TLanguage)inputLanguage;
-
-    // Create PtiEngine
-    iEngine = CPtiEngine::NewL();
-    MPtiHwrRecognizer* hwr = iEngine->GetHwrRecognizerL( ELangEnglish );
-    
-    iPtiEngine = hwr->QueryUdmInterfaceL() ;    
-    
-    // Initialize a mapping table for language script
-    RArray<TLanguageRelation> languageRelation;
-    CleanupClosePushL( languageRelation );
-    InitLanguageRelationL( R_TRUI_LANGUAGE_SCRIPT_SET, languageRelation );
-    
-    // Get all supported language script
-    InitSupportedLanguageScriptL( iSupportedScript, iEngine, languageRelation );
-    
-    if ( iSupportedScript.Count() == 0 )
-        {
-        User::Leave( KErrNotSupported );
-        }
-    
-    // Get currently active language script
-    TInt langCode;
-    repository->Get( KAknFepInputTxtLang, langCode );    
-    TInt activeScript = GetActiveLanguageScript( langCode, languageRelation );
-    
-    // Destroy the mapping table.
-    CleanupStack::PopAndDestroy( &languageRelation );
-    CleanupStack::PopAndDestroy( repository );
-    
-    if ( activeScript != KErrNotFound )
-        {
-        SetLanguageScriptByIndexL( activeScript );
-        }
-    else
-        {
-        User::Leave( KErrNotSupported );
-        }    
-    }
-
-// ---------------------------------------------------------------------------
-// construction
-// ---------------------------------------------------------------------------
-//
-CTruiEngine* CTruiEngine::NewL( CEikonEnv* aEikonEnv )
-    {
-    CTruiEngine* self = CTruiEngine::NewLC( aEikonEnv );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// construction
-// ---------------------------------------------------------------------------
-//
-CTruiEngine* CTruiEngine::NewLC( CEikonEnv* aEikonEnv )
-    {
-    CTruiEngine* self = new ( ELeave ) CTruiEngine( aEikonEnv );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// destruction
-// ---------------------------------------------------------------------------
-//
-CTruiEngine::~CTruiEngine()
-    {
-    iSupportedScript.Close();        
-    if ( iRangeName )
-        {
-        iRangeName->Reset();
-        delete iRangeName;        
-        }
-    iSupportedRange.Close();
-    if ( iCharacterSet )
-        {
-        delete iCharacterSet;        
-        }        
-    if ( iShortcutList )
-        {
-        iShortcutList->Reset();
-        delete iShortcutList;
-        }
-    delete iEngine;
-    }
-
-// ---------------------------------------------------------------------------
-// Set current language script
-// ---------------------------------------------------------------------------
-//
-void CTruiEngine::SetLanguageScriptByIndexL( TInt aIndex )
-    {
-    //Set script
-    iCurrentScript = aIndex;
-    
-    //Delete previous iRangeName
-    if ( iRangeName )
-        {
-        delete iRangeName;
-        iRangeName = NULL;
-        }
-    //Reset iSupportedRange
-    iSupportedRange.Reset();
-    
-    //Set character range
-    HBufC* charRange;
-    switch( iCurrentScript )
-        {
-        case EMainViewSubmenuWestern:
-            {
-            //There are 5 subranges under Western
-            iRangeName = new (ELeave) CDesCArrayFlat( KRangeNamesArraySize ); 
-            charRange = iEnv->AllocReadResourceLC( R_TRUI_MAINVIEW_CHAR_RANGE_LOWER );
-            iRangeName->AppendL( *charRange );
-            CleanupStack::PopAndDestroy( charRange );
-            iSupportedRange.Append( ELatinLowerLetters );
-            
-            charRange = iEnv->AllocReadResourceLC( R_TRUI_MAINVIEW_CHAR_RANGE_CAPITAL );
-            iRangeName->AppendL( *charRange );
-            CleanupStack::PopAndDestroy( charRange );
-            iSupportedRange.Append( ELatinUpperLetters );
-            
-            charRange = iEnv->AllocReadResourceLC( R_TRUI_MAINVIEW_CHAR_RANGE_ACCENT );
-            iRangeName->AppendL( *charRange );
-            CleanupStack::PopAndDestroy( charRange );
-            iSupportedRange.Append( ELatinAccent );
-
-            charRange = iEnv->AllocReadResourceLC( R_TRUI_MAINVIEW_CHAR_RANGE_DIGITS );
-            iRangeName->AppendL( *charRange );
-            CleanupStack::PopAndDestroy( charRange );
-            iSupportedRange.Append( ELatinDigital );
-            
-            charRange = iEnv->AllocReadResourceLC( R_TRUI_MAINVIEW_CHAR_RANGE_SYMBOLS );
-            iRangeName->AppendL( *charRange );
-            CleanupStack::PopAndDestroy( charRange );
-            iSupportedRange.Append( ELatinSymbol );
-            
-            iPtiEngine->SetLanguageScriptL( EPtiHwrScriptLatin );
-            break;
-            }
-        case EMainViewSubmenuCyrillic:
-            {
-            //There are 5 subranges under Cyrillic
-            iRangeName = new (ELeave) CDesCArrayFlat( KRangeNamesArraySize );
-            charRange = iEnv->AllocReadResourceLC( R_TRUI_MAINVIEW_CYRILLIC_LOWER );
-            iRangeName->AppendL( *charRange );
-            CleanupStack::PopAndDestroy( charRange );
-            iSupportedRange.Append( ECyrillicLowerLetters );
-            
-            charRange = iEnv->AllocReadResourceLC( R_TRUI_MAINVIEW_CYRILLIC_CAPITAL );
-            iRangeName->AppendL( *charRange );
-            CleanupStack::PopAndDestroy( charRange );
-            iSupportedRange.Append( ECyrillicUpperLetters );
-
-            charRange = iEnv->AllocReadResourceLC( R_TRUI_MAINVIEW_CHAR_RANGE_DIGITS );
-            iRangeName->AppendL( *charRange );
-            CleanupStack::PopAndDestroy( charRange );
-            iSupportedRange.Append( ELatinDigital );            
-
-            charRange = iEnv->AllocReadResourceLC( R_TRUI_MAINVIEW_CHAR_RANGE_SYMBOLS );
-            iRangeName->AppendL( *charRange );
-            CleanupStack::PopAndDestroy( charRange );
-            iSupportedRange.Append( ELatinSymbol );
-            
-            iPtiEngine->SetLanguageScriptL( EPtiHwrScriptCyrillic );
-            break;
-            }
-        case EMainViewSubmenuGreek:
-            {
-            //There are 5 subranges under Greek
-            iRangeName = new (ELeave) CDesCArrayFlat( KRangeNamesArraySize );
-            charRange = iEnv->AllocReadResourceLC( R_TRUI_MAINVIEW_GREEK_LOWER );
-            iRangeName->AppendL( *charRange );
-            CleanupStack::PopAndDestroy( charRange );
-            iSupportedRange.Append( EGreekLowerLetters );
-            
-            charRange = iEnv->AllocReadResourceLC( R_TRUI_MAINVIEW_GREEK_CAPITAL );
-            iRangeName->AppendL( *charRange );
-            CleanupStack::PopAndDestroy( charRange );
-            iSupportedRange.Append( EGreekUpperLetters );
-            
-            charRange = iEnv->AllocReadResourceLC( R_TRUI_MAINVIEW_CHAR_RANGE_DIGITS );
-            iRangeName->AppendL( *charRange );
-            CleanupStack::PopAndDestroy( charRange );
-            iSupportedRange.Append( ELatinDigital );
-
-            charRange = iEnv->AllocReadResourceLC( R_TRUI_MAINVIEW_CHAR_RANGE_SYMBOLS );
-            iRangeName->AppendL( *charRange );
-            CleanupStack::PopAndDestroy( charRange );
-            iSupportedRange.Append( ELatinSymbol );
-            
-            iPtiEngine->SetLanguageScriptL( EPtiHwrScriptGreek );
-            break;
-            }
-        case EMainViewSubmenuHebrew:
-            {
-            //There are 4 subranges under Hebrew
-            iRangeName = new (ELeave) CDesCArrayFlat( KRangeNamesArraySize );
-            charRange = iEnv->AllocReadResourceLC( R_TRUI_MAINVIEW_HEBREW_LETTERS );
-            iRangeName->AppendL( *charRange );
-            CleanupStack::PopAndDestroy( charRange );
-            iSupportedRange.Append( EHebrewLetters );
-   
-            charRange = iEnv->AllocReadResourceLC( R_TRUI_MAINVIEW_CHAR_RANGE_DIGITS );
-            iRangeName->AppendL( *charRange );
-            CleanupStack::PopAndDestroy( charRange );
-            iSupportedRange.Append( ELatinDigital );
-
-            charRange = iEnv->AllocReadResourceLC( R_TRUI_MAINVIEW_CHAR_RANGE_SYMBOLS );
-            iRangeName->AppendL( *charRange );
-            CleanupStack::PopAndDestroy( charRange );
-            iSupportedRange.Append( ELatinSymbol );
-            
-            iPtiEngine->SetLanguageScriptL( EPtiHwrScriptHebrew );
-            break;
-            }
-        default:
-            {
-            User::Leave( KErrArgument );
-            }
-        } 
-        // Set the first range as the default range
-        SetCharacterRangeByIndexL( 0 );
-    }
-   
-// ---------------------------------------------------------------------------
-// Set current character range
-// ---------------------------------------------------------------------------
-// 
-void CTruiEngine::SetCharacterRangeByIndexL( TInt aIndex )
-    {
-    iCurrentRange = iSupportedRange[aIndex];
-    
-    //Update character set by range
-    TInt resourceId= 0;
-    switch( iCurrentRange )
-        {
-        case ELatinLowerLetters:
-            {
-            resourceId = R_TRUI_CHARACTERSET_LATIN_LOWERLETTERS;
-            break;
-            }
-        case ELatinUpperLetters:
-            {
-            resourceId = R_TRUI_CHARACTERSET_LATIN_UPPERLETTERS;
-            break;
-            }
-        case ELatinAccent:
-            {
-            resourceId = R_TRUI_CHARACTERSET_LATIN_ACCENT;
-            break;
-            }
-        case ELatinDigital:
-            {
-            resourceId = R_TRUI_CHARACTERSET_LATIN_DIGITAL;
-            break;
-            }
-        case ELatinSymbol:
-            {
-            if ( FeatureManager::FeatureSupported(KFeatureIdChinese) )
-                {
-                resourceId = R_TRUI_CHARACTERSET_LATIN_SYMBOL_CHINESE;
-                }
-            else
-                {
-                resourceId = R_TRUI_CHARACTERSET_LATIN_SYMBOL;
-                }                        
-            break;
-            }
-        case ECyrillicLowerLetters:
-            {
-            // According to current input language,
-            // Return different resource id.            
-            resourceId = CyrillicLowerResourceId( iInputLanguage );
-            break;
-            }
-        case ECyrillicUpperLetters:
-            {
-            resourceId = CyrillicUpperResourceId( iInputLanguage );
-            break;
-            }
-        case ECyrillicAccent:
-            {
-            resourceId = R_TRUI_CHARACTERSET_CYRILLIC_ACCENT;
-            break;
-            }
-        case EGreekLowerLetters:
-            {
-            resourceId = R_TRUI_CHARACTERSET_GREEK_LOWERLETTERS;
-            break;
-            }
-        case EGreekUpperLetters:
-            {
-            resourceId = R_TRUI_CHARACTERSET_GREEK_UPPERLETTERS;
-            break;
-            }
-        case EHebrewLetters:
-            {
-            resourceId = R_TRUI_CHARACTERSET_HEBREW_LETTERS;
-            break;
-            }
-        default:
-            {
-            User::Leave( KErrArgument );
-            }
-        }
-    if ( iCharacterSet )
-        {
-        delete iCharacterSet;
-        iCharacterSet = NULL;
-        }
-    iCharacterSet = iEnv->AllocReadResourceL( resourceId );
-    
-    //Transfer character range to engine's subrange and store it in local
-    SetSubrange();
-    }
-    
-// ---------------------------------------------------------------------------
-// Check if character has model
-// ---------------------------------------------------------------------------
-//
-TBool CTruiEngine::CheckCharacterModel( const TDesC& aChar )
-    {
-    return iPtiEngine->CharacterModelExist( aChar );
-    }
-
-// ---------------------------------------------------------------------------
-// Delete character model
-// ---------------------------------------------------------------------------
-//
-TInt CTruiEngine::DeleteCharacterModel( const TDesC& aChar )
-    {
-    return iPtiEngine->DeleteCharacterModel( aChar );
-    }
-
-// ---------------------------------------------------------------------------
-// Set character model
-// ---------------------------------------------------------------------------
-//
-void CTruiEngine::SetCharacterModelL( const TDesC& aChar,
-                                      RArray<TPoint>& aModel,
-                                      TDes& aSimilarMsg )
-    {
-    iPtiEngine->SetCharacterModelL( aChar, aModel, iSubrange, aSimilarMsg );
-    }
-
-// ---------------------------------------------------------------------------
-// Get character model
-// ---------------------------------------------------------------------------
-// 
-void CTruiEngine::GetCharacterModelL( const TDesC& aChar, RArray<TPoint>& aModel )
-    {
-    iPtiEngine->GetCharacterModelL( aChar, aModel );     
-    }
-
-// ---------------------------------------------------------------------------
-// Check if shortcut has model
-// ---------------------------------------------------------------------------
-//
-TBool CTruiEngine::CheckShortcutModel( const TDesC& aText )
-    {
-    return iPtiEngine->CheckShortcutModel( aText );
-    }
-    
-// ---------------------------------------------------------------------------
-// Save shortcut text and its assigned character model into PTI Engine
-// Meanwhile update shortcutlist
-// ---------------------------------------------------------------------------
-//
-void CTruiEngine::SaveShortcutL( const TDesC& aText,
-                                 RArray<TPoint>& aModel,
-                                 TDes& aSimilarMsg )
-    {
-    iPtiEngine->SetShortcutModelL( aText, aModel, aSimilarMsg );    
-    }
-
-// ---------------------------------------------------------------------------
-// Delete shortcut text and its assigned character model from PTI Engine
-// Meanwhile update shortcutlist
-// ---------------------------------------------------------------------------
-//
-TInt CTruiEngine::DeleteShortcut( const TDesC& aText )
-    {
-    return iPtiEngine->DeleteShortcutModel( aText );   
-    }
-
-// ---------------------------------------------------------------------------
-// Set current edited shortcut
-// ---------------------------------------------------------------------------
-//
-TInt CTruiEngine::SetShortcut( const TDesC& aText )
-    {
-    iShortcut = aText;
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-// Update Shortcut list
-// ---------------------------------------------------------------------------
-//
-void CTruiEngine::UpdateShortcutListL()
-    {
-    if ( iShortcutList )
-        {
-        iShortcutList->Reset();
-        delete iShortcutList;
-        iShortcutList = NULL;
-        }
-        
-    RPointerArray<HBufC> list;
-    CleanupClosePushL( list );    
-    TRAPD( err, iPtiEngine->GetShortcutTextListL( list ) );   
-    if ( err == KErrNone )
-        {
-        if ( list.Count() > 0 )
-            {
-            iShortcutList = new (ELeave) CDesCArrayFlat( list.Count() );
-            for ( TInt i = 0; i < list.Count(); i++ )
-                {
-                iShortcutList->AppendL( *list[i]  );
-                }
-            iShortcutList->Sort( ECmpCollated );  
-            }
-        }
-    list.ResetAndDestroy();               
-    CleanupStack::PopAndDestroy( &list );    
-    }
-
-// ---------------------------------------------------------------------------
-// From class MTruiEngine.
-// change the text of an existing shortcut.
-// ---------------------------------------------------------------------------
-//
-void CTruiEngine::ChangeShortcutTextL( const TDesC& aNewText )
-    {
-    iPtiEngine->ChangeShortcutTextL( iShortcut, aNewText );
-    }
-
-// ---------------------------------------------------------------------------
-// Get guiding line pos
-// ---------------------------------------------------------------------------
-//
-TInt CTruiEngine::GetGuidingLinePos( const TSize& aSize, TInt& aTop , TInt& aBottom )
-    {
-    return iPtiEngine->GetGuidingLinePos( aSize, aTop, aBottom );
-    }
-
-// ---------------------------------------------------------------------------
-// Get the number of the maximum of shortcuts
-// ---------------------------------------------------------------------------
-//
-TInt CTruiEngine::MaxShortCutLength()
-    {
-    return iPtiEngine->MaxShortCutLength();
-    }
-
-// ---------------------------------------------------------------------------
-// Get trails assigned to the specified shortcut.
-// ---------------------------------------------------------------------------
-//
-void CTruiEngine::GetShortcutModelL( const TDesC& aText, 
-                                     RArray<TPoint>& aModel, 
-                                     TUint& aUnicode )
-    {
-    iPtiEngine->GetShortcutModelL( aText, aModel, aUnicode );
-    }
-
-// ---------------------------------------------------------------------------
-// Save preset shortcuts.
-// ---------------------------------------------------------------------------
-//
-void CTruiEngine::SavePresetShortcutL( TUint aUnicode, const TDesC& aShortcut )
-    {
-    iPtiEngine->SavePresetShortcutL( aUnicode,  aShortcut );
-    }
-
-// ---------------------------------------------------------------------------
-// Get trails assigned to a preset text.
-// ---------------------------------------------------------------------------
-//
-void CTruiEngine::GetPresetSymbolByUnicodeL( TUint aUnicode, 
-                                             RArray<TPoint>& aModel, 
-                                             TDes& aShortcut )
-    {
-    iPtiEngine->GetPresetSymbolByUnicodeL( aUnicode, aModel, aShortcut );
-    }
-    
-// ---------------------------------------------------------------------------
-// Return all unicodes of preset text stored in PTI engine.
-// ---------------------------------------------------------------------------
-//
-void CTruiEngine::GetAllPresetSymbolsL( RArray<TUint>& aPresets )
-    {
-    iPtiEngine->GetAllPresetSymbolsL( aPresets );
-    }
-
-// ---------------------------------------------------------------------------
-// Transform character range to engine's subrange
-// ---------------------------------------------------------------------------
-//
-void CTruiEngine::SetSubrange()
-    {
-    switch( iCurrentRange )
-        {
-        case ELatinLowerLetters:
-        case ELatinUpperLetters:
-        case ELatinAccent:
-            {
-            iSubrange = EPtiHwrRangeLanguage;
-            break;
-            }
-        case ELatinDigital:
-            {
-            iSubrange = EPtiHwrRangeNumber;
-            break;
-            }
-        case ELatinSymbol:
-            {
-            iSubrange = EPtiHwrRangeSymbol;
-            break;
-            }
-        case ECyrillicLowerLetters:
-        case ECyrillicUpperLetters:
-        case ECyrillicAccent:
-            {
-            iSubrange = EPtiHwrRangeLanguage;
-            break;
-            }
-        case EGreekLowerLetters:
-        case EGreekUpperLetters:
-            {
-            iSubrange = EPtiHwrRangeLanguage;
-            break;
-            }
-        case EHebrewLetters:
-            {
-            iSubrange = EPtiHwrRangeLanguage;
-            break;
-            }
-        default:
-            {
-            iSubrange = EPtiHwrRangeAny;
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Initialize the tabel used to map language to language script
-// ---------------------------------------------------------------------------
-//
-void CTruiEngine::InitLanguageRelationL( TInt aResourceId, 
-                               RArray<TLanguageRelation>& aLanguageRelation )
-    {
-    TResourceReader reader;
-    iEnv->CreateResourceReaderLC( reader, aResourceId );
-    TInt script_count = reader.ReadInt16();
-    for ( TInt i = 0; i < script_count; i++ )
-        {
-        TInt scriptId = reader.ReadInt16();
-        TInt lang_count = reader.ReadInt16();
-        for ( TInt j = 0; j < lang_count; j++ )
-            {
-            TInt langCode = reader.ReadInt16();
-            aLanguageRelation.Append( TLanguageRelation( langCode, scriptId ) );
-            }
-        }        
-    CleanupStack::PopAndDestroy(); // reader    
-    }
-    
-// ---------------------------------------------------------------------------
-// Initialize the supported language script. 
-// ---------------------------------------------------------------------------
-//
-void CTruiEngine::InitSupportedLanguageScriptL( RArray<TInt>& aSupportedScript,
-                                                CPtiEngine* aEngine,
-                          const RArray<TLanguageRelation>& aLanguageRelation )
-    {
-    // Get all supported input language.
-    RArray<TInt> avaiableLanuage;
-    CleanupClosePushL( avaiableLanuage );
-    aEngine->GetAvailableLanguagesL( avaiableLanuage );
-    avaiableLanuage.Sort();
-           
-    // Map language to language script utilizing TLanguageRelation
-    for ( TInt i = 0; i < aLanguageRelation.Count(); i++ )
-        {        
-        TInt languageScriptId = aLanguageRelation[i].LanguageScriptId();
-        if ( aSupportedScript.Find( languageScriptId ) == KErrNotFound )
-            {
-            TInt languageCode = aLanguageRelation[i].LanguageCode();
-            if ( avaiableLanuage.FindInOrder( languageCode ) != KErrNotFound )
-                {
-                // Add language to aSupportedScript
-                aSupportedScript.Append( languageScriptId );
-                }
-            }
-        }
-        
-    CleanupStack::PopAndDestroy( &avaiableLanuage );
-    }
-
-// ---------------------------------------------------------------------------
-// Initialize the supported language script. 
-// ---------------------------------------------------------------------------
-//    
-TInt CTruiEngine::GetActiveLanguageScript( TInt aLanguageCode, 
-                         const RArray<TLanguageRelation>& aLanguageRelation )
-    {
-    for ( TInt i = 0; i < aLanguageRelation.Count(); i++ )
-        {
-        if ( aLanguageCode == aLanguageRelation[i].LanguageCode() )
-            {
-            return aLanguageRelation[i].LanguageScriptId();
-            }
-        }    
-    return KErrNotFound;
-    }
-
-// ---------------------------------------------------------------------------
-// Get the resourc id of lower case of Cyrillic 
-// according to the current input language.
-// ---------------------------------------------------------------------------
-//    
-TInt CTruiEngine::CyrillicLowerResourceId( TLanguage aLanguage )
-    {
-    if ( aLanguage == ELangBulgarian )
-        {
-        return R_TRUI_CHARACTERSET_CYRILLIC_LOWERLETTERS_BULGARIAN;
-        }
-    else if ( aLanguage == ELangRussian )
-        {
-        return R_TRUI_CHARACTERSET_CYRILLIC_LOWERLETTERS_RUSSIAN;
-        }
-    else if ( aLanguage == ELangUkrainian )
-        {
-        return R_TRUI_CHARACTERSET_CYRILLIC_LOWERLETTERS_UKRAINE;
-        }
-    else
-        {
-        return R_TRUI_CHARACTERSET_CYRILLIC_LOWERLETTERS;
-        }                
-    }
-
-// ---------------------------------------------------------------------------
-// Get the resourc id of upper case of Cyrillic 
-// according to the current input language.
-// ---------------------------------------------------------------------------
-// 
-TInt CTruiEngine::CyrillicUpperResourceId( TLanguage aLanguage )
-    {
-    if ( aLanguage == ELangBulgarian )
-        {
-        return R_TRUI_CHARACTERSET_CYRILLIC_UPPERLETTERS_BULGARIAN;
-        }
-    else if ( aLanguage == ELangRussian )
-        {
-        return R_TRUI_CHARACTERSET_CYRILLIC_UPPERLETTERS_RUSSIAN;
-        }
-    else if ( aLanguage == ELangUkrainian )
-        {
-        return R_TRUI_CHARACTERSET_CYRILLIC_UPPERLETTERS_UKRAINE;
-        }
-    else
-        {
-        return R_TRUI_CHARACTERSET_CYRILLIC_UPPERLETTERS;
-        }                    
-    }
-
--- a/textinput/peninputhwrtrui/src/truihwrbox.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1374 +0,0 @@
-/*
-* 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:  Implement of class CTruiHwrBox
-*
-*/
-
-
-// INCLUDE FILES
-#include <centralrepository.h>
-#include <settingsinternalcrkeys.h>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <layoutmetadata.cdl.h>
-#include <AknUtils.h>
-#include <AknsSkinInstance.h>
-#include <AknsDrawUtils.h>
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <AknsBasicBackgroundControlContext.h>
-
-#include <AknsConstants.h>
-#include <trui_icons.mbg>
-
-#include "truihwrbox.h"
-#include "truihwrboxobserver.h"
-#include "truiappui.h"
-#include "truiappui.h"
-#include "truiengine.h"
-
-#ifdef __WINS__
-static const TInt KWritePeriod = 1500000;
-#else
-static const TInt KWritePeriod = 1000000;
-#endif
-
-#ifdef __WINS__
-static const TInt KDrawSpeed = 30000;
-#else
-static const TInt KDrawSpeed = 30000;
-#endif
-
-const TInt KFirstPoint = -1;
-const TSize KGuideLinePenSize = TSize( 1, 1 );
-const TSize KLinePenSize = TSize( 4, 4 );
-const TInt KFirstEventDelay = 0;
-
-_LIT( KTRUIICONSFILENAME, "\\resource\\apps\\trui_icons.mif" );
-
-const TInt KTopGuideLineIndex = 0;
-const TInt KBottomGuideLineIndex = 1;
-
-const TInt KGuideLineWidthRadio = 10;
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Two-phased constructor.
-// ---------------------------------------------------------------------------
-//
-CTruiHwrBox* CTruiHwrBox::NewL( CCoeControl* aParent,
-                                MTruiHwrBoxObserver* aHwrBoxObserver,
-                                MAknsControlContext* aBgContext )
-    {
-    CTruiHwrBox* self = CTruiHwrBox::NewLC( aParent, aHwrBoxObserver,
-                                            aBgContext );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Two-phased constructor.
-// ---------------------------------------------------------------------------
-//
-CTruiHwrBox* CTruiHwrBox::NewLC( CCoeControl* aParent,
-                                 MTruiHwrBoxObserver* aHwrBoxObserver,
-                                 MAknsControlContext* aBgContex )
-    {
-    CTruiHwrBox* self = new ( ELeave ) CTruiHwrBox();
-    CleanupStack::PushL( self );
-    self->ConstructL( aParent, aHwrBoxObserver,
-                      aBgContex );
-    return self;
-    }
-        
-// -----------------------------------------------------------------------------
-// CTruiHwrBox::CTruiHwrBox()
-// C++ default constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CTruiHwrBox::CTruiHwrBox()
-    {
-    // No implementation required
-    }
-
-// -----------------------------------------------------------------------------
-// CTruiHwrBox::ConstructL()
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CTruiHwrBox::ConstructL( CCoeControl* aParent,
-                              MTruiHwrBoxObserver* aHwrBoxObserver,
-                              MAknsControlContext* aBgContext )
-    {
-    if ( aParent ) 
-        {
-        SetContainerWindowL( *aParent );
-        }
-    else
-        {
-        CreateWindowL();
-        }
-        
-    SetHwrBoxObserver( aHwrBoxObserver );
-    
-    // Create tooltip
-    iTooltip = CAknInfoPopupNoteController::NewL();    
-    iTooltip->SetTooltipModeL( ETrue );
-    iTooltip->AddObserverL( *this );
-    
-    iBoxState = ENewModelStop;    
-    iTimeToSave = CPeriodic::NewL( CActive::EPriorityHigh ); // neutral priority
-    iTimeToDrawNext = CPeriodic::NewL( CActive::EPriorityStandard ); // neutral priority
-    
-    iPointArrayDraw.Reset();
-    iPointArrayModel.Reset();
-    
-    LoadBorderBitmapsL();
-    LoadShadowBitmapsL();
-    LoadGuideLineBitmapsL();
-    
-    EnableDragEvents();    
-    
-    iBgContext = static_cast<CAknsBasicBackgroundControlContext*>( aBgContext );
-    
-    }
-
-// -----------------------------------------------------------------------------
-// CTruiHwrBox::~CTruiHwrBox()
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CTruiHwrBox::~CTruiHwrBox()
-    {
-    if ( iTooltip )
-        {
-        iTooltip->RemoveObserver( *this );
-        }    
-    HideInfoPopupNote();
-    
-    // Cancel and delete timer.
-    if ( iTimeToSave )
-        {
-        iTimeToSave->Cancel();
-        delete iTimeToSave;
-        }
-      
-    if ( iTimeToDrawNext )
-        {
-        iTimeToDrawNext->Cancel();
-        delete iTimeToDrawNext;
-        }
-    
-    iPointArrayDraw.Close();
-    iPointArrayModel.Close();
-    delete iTooltip;
-    
-    iBorderBitmaps.ResetAndDestroy();
-    iBorderBitmapMasks.ResetAndDestroy();
-    iBorderLayout.Close();
-    
-    iShadowBitmaps.ResetAndDestroy();
-    iShadowBitmapMasks.ResetAndDestroy();
-    iShadowLayout.Close();
-        
-    iGuideLineBitmaps.ResetAndDestroy();
-    iGuideLineBitmapMasks.ResetAndDestroy();
-    iGuideLineLayout.Close();
-    }
-
-// -----------------------------------------------------------------------------
-// Draws control to given area
-// -----------------------------------------------------------------------------
-//
-void CTruiHwrBox::Draw( const TRect& /*aRect*/ ) const
-    {
-    // Get the standard graphics context 
-    CWindowGc& gc = SystemGc();        
-    
-    // Set context
-    PrepareContext( gc );
-    
-    // Gets the control's extent
-    TRect rect = Rect();
-    if ( iBgContext )
-        {
-        MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-        if ( !AknsDrawUtils::Background( skin, iBgContext, 
-                                         gc, rect ) ) 
-            {
-            gc.Clear( rect );
-            }
-        }
-        
-    if ( iFlag & EFrameHwrBox == EFrameHwrBox )
-        {
-        // Draw border
-        DrawBorders( gc );
-        // Draw shawdow
-        DrawShadows( gc ); 
-        }
-    
-    // Get repository
-    CRepository* repository = NULL;
-    TRAPD( err, repository = CRepository::NewL( KCRUidPersonalizationSettings ) );
-    if ( err == KErrNone )
-        {
-        TInt guideLine;
-        repository->Get( KSettingsPenInputGuideLine, guideLine );
-        delete repository;
-        repository = NULL;
-        // Draw guideline
-        if ( guideLine )
-            {
-            // Draw guidelines            
-            DrawGuideLines( gc );   
-            }        
-        }        
-    // Draw work area  
-    gc.SetPenSize( KLinePenSize );
-    DrawTrails( gc );
-    }
-        
-TInt CTruiHwrBox::TimeToSaveL( TAny* aObject )
-    {
-    ( (CTruiHwrBox*)aObject )->SaveModelL(); // cast, and call non-static function
-    return KErrNone;
-    }
-    
-TInt CTruiHwrBox::TimeToDrawNextL( TAny* aObject )
-    {
-    ( (CTruiHwrBox*)aObject )->DrawNextL(); // cast, and call non-static function
-    return KErrNone;
-    }
-    
-// -----------------------------------------------------------------------------
-// CTruiHwrBox::TimedOut()
-// Timer control, called everytime the time times out.
-// -----------------------------------------------------------------------------
-//
-void CTruiHwrBox::SaveModelL()
-    {
-    if ( iBoxState == ENewModelDraw )
-        {
-        // Restore all screen to invalid region.
-        Window().Invalidate();
-        //Cancel the timer
-        iTimeToSave->Cancel();
-        iBoxState = EExistModelStop;
-        SetPointerCapture( EFalse );
-        iPointArrayModel.Reset();
-        for ( TInt i=0; i<iPointArrayDraw.Count(); i++ )
-            {
-            iPointArrayModel.Append( iPointArrayDraw[i] );
-            }
-        //can't save an empty model
-        if ( iPointArrayModel.Count() > 0 )
-            {                        
-            if ( iHwrBoxObserver )
-                {
-                iHwrBoxObserver->SaveNewModelL();
-                }            
-            }
-        else
-            {
-            ClearExistModel();
-            }
-        iStartSave = EFalse;
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// Compare the numbers of points of two arrays at first. if they are not same, 
-// add a new point from iPointArrayModel to iPointArrayDraw. then draw a new line
-// -----------------------------------------------------------------------------
-//
-void CTruiHwrBox::DrawNextL()
-    {
-    // Check HwrBox state at first and then Check if model is drawn acompletely
-    if ( iBoxState == EExistModelDraw &&
-        iPointArrayModel.Count() > iPointArrayDraw.Count() )
-        {
-        // Add new point to iPointArrayDraw
-        iPointArrayDraw.AppendL( iPointArrayModel[ iPointArrayDraw.Count() ] );
-        // Update the screen
-        DrawModel();
-        }
-    else
-        {
-        iBoxState = EExistModelStop;
-        iTimeToDrawNext->Cancel();
-        Window().Invalidate();
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// Draw an existing model
-// ---------------------------------------------------------------------------
-//
-void CTruiHwrBox::PlayAnimation( TBool aIsScale, const TSize& aRefSize )
-    {
-    if ( ( iBoxState == EExistModelStop || iBoxState == EExistModelDraw ) 
-        && iPointArrayModel.Count() )
-        {
-        // Check and scale model points         
-        if ( aIsScale )
-            {
-            // Scale model points
-            ScaleModel( aRefSize, Rect().Size(), iPointArrayModel );
-            }
-            
-        //Cancel the timer at first
-        iTimeToDrawNext->Cancel();
-        
-        //Clear the box
-        iPointArrayDraw.Reset();
-        if ( Parent() )
-            {            
-            Parent()->DrawNow();            
-            }        
-        
-        //Set index of point need to be drawn to the beginning
-        iLastAnimatedPoint = KFirstPoint;
-        
-        //Set animate timer
-        iTimeToDrawNext->Start( KFirstEventDelay, KDrawSpeed, TCallBack( TimeToDrawNextL, this ) );
-        
-        //Change box state
-        iBoxState = EExistModelDraw;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Clear the existing model
-// ---------------------------------------------------------------------------
-//
-void CTruiHwrBox::ClearExistModel()
-    {
-    switch ( iBoxState )
-        {
-        case EExistModelDraw:
-            {
-            //animation is playing, cancel the timer before clear it
-            iTimeToDrawNext->Cancel();
-            break;
-            }
-        case ENewModelDraw:
-            {
-            //new model is inputting, cancel the timer before clear it
-            iTimeToSave->Cancel();
-            iStartSave = EFalse;
-            break;
-            }
-        case EExistModelStop:
-        case ENewModelStop:
-        default:
-            {
-            }
-        }
-    iPointArrayModel.Reset();
-    iPointArrayDraw.Reset();
-    iBoxState = ENewModelStop;
-    Window().Invalidate();
-    }
-        
-// ---------------------------------------------------------------------------
-// Handles an event from an observed control.
-// ---------------------------------------------------------------------------
-//
-void CTruiHwrBox::HandlePointerEventL( const TPointerEvent& aPointerEvent )
-    {        
-    if ( iFlag & EReadOnlyHwrBox )
-        {
-        // Readonly, don't handle pointer event.
-        return;
-        }
-            
-    CCoeControl::HandlePointerEventL( aPointerEvent );    
-    if ( AknLayoutUtils::PenEnabled() )
-        {
-        switch( aPointerEvent.iType )
-            {
-            case TPointerEvent::EButton1Down:
-                {
-                Window().Invalidate();
-                if ( IsContained( aPointerEvent.iPosition ) )
-                    {   
-                    HideInfoPopupNote();                 
-                    iPenInRect = ETrue;
-                    if ( iBoxState == ENewModelStop )
-                        {
-                        //change box state
-                        iBoxState = ENewModelDraw;
-                        SetPointerCapture( ETrue );
-                        //start from the point where button is down
-                        iPointArrayDraw.Append( aPointerEvent.iPosition - Position() );
-                        iLastAnimatedPoint = KFirstPoint;
-                        DrawModel();
-                        }
-                    else if ( iBoxState == ENewModelDraw )
-                        {
-                        //cancel the iTimeToSave
-                        iTimeToSave->Cancel();
-                        iStartSave = EFalse;
-                        //start from the point where button is down
-                        iPointArrayDraw.Append( aPointerEvent.iPosition - Position() );
-                        DrawModel();
-                        }
-                    else
-                        {
-                        if ( iHwrBoxObserver )
-                            {
-                            iHwrBoxObserver->HandleEventL( MTruiHwrBoxObserver::EModelExist );
-                            }                        
-                        }
-                    }
-                else
-                    {
-                    iPenInRect = EFalse;
-                    }
-                break;    
-                }
-            case TPointerEvent::EButton1Up:    
-                {                
-                if ( iBoxState == ENewModelDraw )
-                    {
-                    iPointArrayDraw.Append( KTail ); 
-                    if ( !iStartSave )
-                        {
-                        iStartSave = ETrue;
-                        iTimeToSave->Start( KWritePeriod,
-                                            KWritePeriod,
-                                            TCallBack( TimeToSaveL, this ) );
-                        }
-                    }
-                break;
-                }
-            case TPointerEvent::EDrag:
-            case TPointerEvent::EMove:
-                {
-                if ( iBoxState == ENewModelDraw )
-                    {                    
-                    if ( IsContained( aPointerEvent.iPosition ) )
-                        {
-                        Window().Invalidate();
-                        HideInfoPopupNote(); 
-                        //Pen go into available rect again, start an new trace
-                        if ( iPenInRect == EFalse )
-                            {
-                            iTimeToSave->Cancel();
-                            iStartSave = EFalse;
-                            }
-                        iPointArrayDraw.Append( aPointerEvent.iPosition - Position() );
-                        DrawModel();
-                        iPenInRect = ETrue;
-                        }
-                    else
-                        {
-                        if ( iPenInRect )
-                            {
-                            iPointArrayDraw.Append( KTail );                           
-                            if ( !iStartSave )
-                                {
-                                iStartSave = ETrue;
-                                iTimeToSave->Start( KWritePeriod,
-                                                    KWritePeriod,
-                                                    TCallBack( TimeToSaveL, 
-                                                               this ) );
-                                }
-                            iPenInRect = EFalse;
-                            }
-                        }
-                    }
-                break;
-                }
-            default:
-                break;
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Handles an event from an observed control.
-// ---------------------------------------------------------------------------
-//
-TKeyResponse CTruiHwrBox::OfferKeyEventL( const TKeyEvent& /*aKeyEvent*/,
-                                                TEventCode /*aType*/ )
-    {
-    return EKeyWasConsumed;
-    }
-    
-// --------------------------------------------------------------------------
-// CTruiHwrBox::SetHwrBoxObserver
-// --------------------------------------------------------------------------
-//
-void CTruiHwrBox::SetHwrBoxObserver( MTruiHwrBoxObserver* aHwrBoxObserver )
-    {
-    iHwrBoxObserver = aHwrBoxObserver;
-    }
-    
-// --------------------------------------------------------------------------
-// Get the HwrBox's model.
-// --------------------------------------------------------------------------
-//
-RArray<TPoint>& CTruiHwrBox::Model()
-    {
-    return iPointArrayModel;
-    }
-    
-// --------------------------------------------------------------------------
-// Draw character model
-// --------------------------------------------------------------------------
-//
-void CTruiHwrBox::DrawModel()
-    {
-    if ( IsActivated() && iPointArrayDraw.Count() &&
-         iLastAnimatedPoint + 1 < iPointArrayDraw.Count() )
-        {
-        // Get system graphic content
-        CWindowGc& gc = SystemGc();
-        RWindow& window = Window();
-        gc.Activate( window );  
-        window.Invalidate( Rect() );
-        window.BeginRedraw( Rect() );
-        Draw( Rect() );
-        window.EndRedraw();
-        gc.Deactivate();        
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// Responds to changes to the size and position of the contents of this control.
-// ---------------------------------------------------------------------------
-//
-void CTruiHwrBox::SizeChanged()
-    {
-    LoadBorderLayout( 0 );
-    for ( TInt i = 0; i < iBorderLayout.Count()
-                      && i < iBorderBitmaps.Count()
-                      && i < iBorderBitmapMasks.Count(); i++ )
-        {
-        TSize size = iBorderLayout[i].Rect().Size();
-	    AknIconUtils::SetSize( iBorderBitmaps[i], size, EAspectRatioNotPreserved );
-	    AknIconUtils::SetSize( iBorderBitmapMasks[i], size, EAspectRatioNotPreserved );        
-        }
-    
-    LoadShadowLayout( 0 );
-    for ( TInt i = 0; i < iShadowLayout.Count()
-                      && i < iShadowBitmaps.Count()
-                      && i < iShadowBitmapMasks.Count(); i++ )
-        {
-        TSize size = iShadowLayout[i].Rect().Size();
-	    AknIconUtils::SetSize( iShadowBitmaps[i], size, EAspectRatioNotPreserved );
-	    AknIconUtils::SetSize( iShadowBitmapMasks[i], size, EAspectRatioNotPreserved );
-        }
-    
-    LoadGuideLineLayout( 0 );    
-    // Guide line position
-    TInt margin = Size().iWidth / KGuideLineWidthRadio;
-    
-    iGuideLineBottomL.iX = Position().iX + margin;
-    iGuideLineTopL.iX = Position().iX + margin;
-    
-    for ( TInt i = 0; i < iGuideLineLayout.Count()
-                      && i < iGuideLineBitmaps.Count()
-                      && i < iGuideLineBitmapMasks.Count(); i++ )
-        {
-        TSize size = iGuideLineLayout[i].Rect().Size();
-        size.iWidth = Size().iWidth - margin * 2;
-	    AknIconUtils::SetSize( iGuideLineBitmaps[i], size, EAspectRatioNotPreserved );
-	    AknIconUtils::SetSize( iGuideLineBitmapMasks[i], size, EAspectRatioNotPreserved );
-        }
-    
-    // Caculate hwr_training_write_pane_g7 for drawable rect
-    TRect rect = Rect();
-    TAknWindowComponentLayout drawable_rect_layout = 
-               AknLayoutScalable_Apps::hwr_training_write_pane_g7( 0 );
-    TAknLayoutRect drawable_rect_layout_rect;
-    drawable_rect_layout_rect.LayoutRect( rect, drawable_rect_layout );
-    iDrawabelRect = drawable_rect_layout_rect.Rect();
-    iDrawabelRect.Shrink( KLinePenSize.iWidth ,
-                      KLinePenSize.iHeight );
-    iPenColor = drawable_rect_layout_rect.Color();    
-
-    TInt guidinglinetop(0);
-    TInt guidinglinebottom(0);
-    CTruiEngine* engine = static_cast<CTruiAppUi*>( iEikonEnv->AppUi() )->HwrEngine();
-    engine->GetGuidingLinePos( iDrawabelRect.Size(), guidinglinetop, guidinglinebottom );
-    SetGuidingLine( guidinglinetop, guidinglinebottom );    
-    }
-
-// ---------------------------------------------------------------------------
-// From class CCoeControl.
-// Handles a change to the control's resources.
-// ---------------------------------------------------------------------------
-//
-void CTruiHwrBox::HandleResourceChange( TInt aType )
-    {
-    CCoeControl::HandleResourceChange( aType );
-    if ( aType == KEikMessageUnfadeWindows )
-        {
-        DrawDeferred();
-        }
-    if ( aType == KAknsMessageSkinChange )
-        {
-        TRAP_IGNORE(
-            LoadBorderBitmapsL();
-            LoadShadowBitmapsL();
-            LoadGuideLineBitmapsL();        
-            )
-        SizeChanged();
-        }    
-    }
-
-// ---------------------------------------------------------------------------
-// From class CCoeControl.
-// Handle focus changed.
-// ---------------------------------------------------------------------------
-//
-void CTruiHwrBox::FocusChanged( TDrawNow /*aDrawNow*/ )
-    {    
-    if ( !IsFocused() && iBoxState == ENewModelDraw )    
-        {
-        iPointArrayDraw.Append( KTail );
-        TRAP_IGNORE( SaveModelL() );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// When load model from outside, set box state
-// ---------------------------------------------------------------------------
-//
-void CTruiHwrBox::ModelIsReady( TBool aReady )
-    {
-    if ( aReady )
-        {
-        iBoxState = EExistModelStop;
-        }
-    else
-        {
-        iBoxState = ENewModelStop;
-        }
-    }
-
-TRect CTruiHwrBox::DrawableRect() const
-    {
-    return iDrawabelRect;
-    }
-
-// ---------------------------------------------------------------------------
-// Set editing mode to readonly or writable
-// ---------------------------------------------------------------------------
-//
-void CTruiHwrBox::SetHwrBoxReadOnly( TBool aReadOnly )
-    {
-    TUint flag = aReadOnly ? EReadOnlyHwrBox : EWritableHwrBox;
-    iFlag &= ( ~EReadOnlyHwrBox & ~EWritableHwrBox );
-    iFlag |= flag;     
-    }
-    
-// ---------------------------------------------------------------------------
-// Get the Hwrbox's state
-// ---------------------------------------------------------------------------
-//
-TInt CTruiHwrBox::BoxState() const
-    {
-    return iBoxState;
-    }
-
-// ---------------------------------------------------------------------------
-// Pause the playing of animation
-// ---------------------------------------------------------------------------
-//
-void CTruiHwrBox::PausePlaying()
-    {
-    if ( iBoxState == EExistModelDraw  )
-        {
-        iBoxState = EExistModelStop;
-        iTimeToDrawNext->Cancel();
-        Window().Invalidate();
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// Resume the playing of animation
-// ---------------------------------------------------------------------------
-//
-void CTruiHwrBox::ResumePlaying()
-    {
-    // Check HwrBox state at first and then Check if model is drawn acompletely
-    if ( iBoxState == EExistModelStop &&
-        iPointArrayModel.Count() > iPointArrayDraw.Count() )
-        {
-        
-        //Cancel the timer at first
-        iTimeToDrawNext->Cancel();
-
-        //Set animate timer
-        iTimeToDrawNext->Start( KFirstEventDelay, KDrawSpeed, 
-                                TCallBack(TimeToDrawNextL, this) );
-        
-        //Change box state
-        iBoxState = EExistModelDraw;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Set Guiding Line
-// ---------------------------------------------------------------------------
-//
-TInt CTruiHwrBox::SetGuidingLine( TInt aTop, TInt aBottom )
-    {
-    TRect rect = DrawableRect();
-    if ( Size().iHeight <= aBottom || aBottom <= 0
-         || Size().iHeight <= aTop || aTop <= 0 )
-        {
-        return KErrArgument;
-        }
-            
-    iGuideLineTopL.iY = rect.iTl.iY + aTop;
-    iGuideLineBottomL.iY = rect.iTl.iY + aBottom;
-    return KErrNone;
-    }
-    
-// ---------------------------------------------------------------------------
-// Check if the point is contained in drawing area
-// ---------------------------------------------------------------------------
-// 
-TBool CTruiHwrBox::IsContained( const TPoint& aPoint ) const
-    {
-    return DrawableRect().Contains( aPoint );
-    }
-   
-// ---------------------------------------------------------------------------
-// Adjust shortcut model's point to fit the popup hwr box. 
-// ---------------------------------------------------------------------------
-//    
-void CTruiHwrBox::ScaleModel( const TSize& aOriginSize, 
-                              const TSize& aRealSize, 
-                              RArray<TPoint>& aModel )
-    {
-    CTruiEngine* engine = static_cast<CTruiAppUi*>( iEikonEnv->AppUi() )->HwrEngine();
-    TInt originTop;    
-    TInt originBottom;
-    engine->GetGuidingLinePos( aOriginSize, originTop, originBottom );
-    TInt realTop;
-    TInt realBottom;
-    engine->GetGuidingLinePos( aRealSize, realTop, realBottom );
-    for ( TInt i =0; i < aModel.Count(); i++ )
-        {                
-        if ( aModel[i] != KTail )
-            {
-            aModel[i].iX = aModel[i].iX * realBottom / originBottom;
-            aModel[i].iY = aModel[i].iY * realBottom / originBottom;            
-            }        
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// Draws all points.
-// -----------------------------------------------------------------------------
-//
-void CTruiHwrBox::DrawTrails( CWindowGc& aGc ) const
-    {
-    // Draw model
-    if ( iPointArrayDraw.Count() )
-        {
-        //Draw from the first point in the array
-        TInt lastAnimatedPoint( 0 );
-        TPoint relativePos;
-        if ( OwnsWindow() )
-            {
-            relativePos = TPoint( 0, 0 );
-            }
-        else
-            {
-            relativePos = Position();
-            }        
-        aGc.Plot( iPointArrayDraw[lastAnimatedPoint] + relativePos );
-                
-        // Check if there is point need to be drawn
-        // Plus 1 to lastAnimatedPointIndex since zero implies the first point
-        // in the iLastAnimatedPoint
-        while ( lastAnimatedPoint + 1 < iPointArrayDraw.Count() )
-            {
-            //Check if this is a new arc and increase the index counter
-            if ( iPointArrayDraw[lastAnimatedPoint++] != KTail )
-                {
-                //It is not a new arc, then check if this is the end of an arc
-                if ( iPointArrayDraw[lastAnimatedPoint] != KTail )
-                    {
-                    //It is not the end of an arc, so draw line
-                    aGc.DrawLineTo( iPointArrayDraw[lastAnimatedPoint]
-                                   + relativePos );
-                    }
-                }
-            else
-                {
-                //It is a new arc, so move the pen to the new point 
-                aGc.Plot( iPointArrayDraw[lastAnimatedPoint]
-                         + relativePos );
-                }
-            }
-        }
-    }   
-
-// --------------------------------------------------------------------------
-// Set context for this control.
-// --------------------------------------------------------------------------
-//
-void CTruiHwrBox::PrepareContext( CWindowGc& aGc ) const
-    {
-    TRgb color;
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    // Set pen color to the color of test in main area
-    TInt error = AknsUtils::GetCachedColor( skin,
-                                            color,
-                                            KAknsIIDQsnTextColors,
-                                            EAknsCIQsnTextColorsCG6 );
-    if ( !error )
-        {
-        aGc.SetPenColor( color );
-        }
-    }
-    
-// --------------------------------------------------------------------------
-// Load bitmaps for border.
-// --------------------------------------------------------------------------
-//
-void CTruiHwrBox::LoadBorderBitmapsL()
-    {
-    iBorderBitmaps.ResetAndDestroy();
-    iBorderBitmapMasks.ResetAndDestroy();
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    CFbsBitmap* bitmapLeft;
-    CFbsBitmap* bitmapLeftMask;
-    AknsUtils::CreateColorIconL( skin,
-                                 KAknsIIDQgnGrafFepBgColour,
-                                 KAknsIIDQsnIconColors,
-                                 EAknsCIQsnIconColorsCG14,
-                                 bitmapLeft,
-                                 bitmapLeftMask,
-                                 KTRUIICONSFILENAME,
-                                 EMbmTrui_iconsQgn_graf_fep_bg_colour,
-                                 EMbmTrui_iconsQgn_graf_fep_bg_colour_mask,
-                                 KRgbBlack
-                                 );    
-    iBorderBitmaps.Append( bitmapLeft );
-    iBorderBitmapMasks.Append( bitmapLeftMask );
-
-    CFbsBitmap* bitmapTop;
-    CFbsBitmap* bitmapTopMask;
-    AknsUtils::CreateColorIconL( skin,
-                                 KAknsIIDQgnGrafFepBgColour,
-                                 KAknsIIDQsnIconColors,
-                                 EAknsCIQsnIconColorsCG14,
-                                 bitmapTop,
-                                 bitmapTopMask,
-                                 KTRUIICONSFILENAME,
-                                 EMbmTrui_iconsQgn_graf_fep_bg_colour,
-                                 EMbmTrui_iconsQgn_graf_fep_bg_colour_mask,
-                                 KRgbBlack
-                                 );    
-    iBorderBitmaps.Append( bitmapTop );
-    iBorderBitmapMasks.Append( bitmapTopMask );
-
-    CFbsBitmap* bitmapBottom;
-    CFbsBitmap* bitmapBottomMask;
-    AknsUtils::CreateColorIconL( skin,
-                                 KAknsIIDQgnGrafFepBgColour,
-                                 KAknsIIDQsnIconColors,
-                                 EAknsCIQsnIconColorsCG14,
-                                 bitmapBottom,
-                                 bitmapBottomMask,
-                                 KTRUIICONSFILENAME,
-                                 EMbmTrui_iconsQgn_graf_fep_bg_colour,
-                                 EMbmTrui_iconsQgn_graf_fep_bg_colour_mask,
-                                 KRgbBlack
-                                 );    
-    iBorderBitmaps.Append( bitmapBottom );
-    iBorderBitmapMasks.Append( bitmapBottomMask );
-
-    CFbsBitmap* bitmapRight;
-    CFbsBitmap* bitmapRightMask;
-    AknsUtils::CreateColorIconL( skin,
-                                 KAknsIIDQgnGrafFepBgColour,
-                                 KAknsIIDQsnIconColors,
-                                 EAknsCIQsnIconColorsCG14,
-                                 bitmapRight,
-                                 bitmapRightMask,
-                                 KTRUIICONSFILENAME,
-                                 EMbmTrui_iconsQgn_graf_fep_bg_colour,
-                                 EMbmTrui_iconsQgn_graf_fep_bg_colour_mask,
-                                 KRgbBlack
-                                 );    
-    iBorderBitmaps.Append( bitmapRight );
-    iBorderBitmapMasks.Append( bitmapRightMask );
-    }
-
-// --------------------------------------------------------------------------
-// Load bitmaps for shadows.
-// --------------------------------------------------------------------------
-//
-void CTruiHwrBox::LoadShadowBitmapsL()
-    {
-    iShadowBitmaps.ResetAndDestroy();
-    iShadowBitmapMasks.ResetAndDestroy();    
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    CFbsBitmap* bitmapTl;
-    CFbsBitmap* bitmapTlMask;
-    AknsUtils::CreateColorIconL( skin,
-                                 KAknsIIDQgnGrafFepPopupShadowTl,
-                                 KAknsIIDQsnIconColors,
-                                 EAknsCIQsnIconColorsCG14,
-                                 bitmapTl,
-                                 bitmapTlMask,
-                                 KTRUIICONSFILENAME,
-                                 EMbmTrui_iconsQgn_graf_fep_popup_shadow_tl,
-                                 EMbmTrui_iconsQgn_graf_fep_popup_shadow_tl_mask,
-                                 KRgbBlack
-                                 );    
-    iShadowBitmaps.Append( bitmapTl );
-    iShadowBitmapMasks.Append( bitmapTlMask );
-
-    CFbsBitmap* bitmapT;
-    CFbsBitmap* bitmapTMask;
-    AknsUtils::CreateColorIconL( skin,
-                                 KAknsIIDQgnGrafFepPopupShadowT,
-                                 KAknsIIDQsnIconColors,
-                                 EAknsCIQsnIconColorsCG14,
-                                 bitmapT,
-                                 bitmapTMask,
-                                 KTRUIICONSFILENAME,
-                                 EMbmTrui_iconsQgn_graf_fep_popup_shadow_t,
-                                 EMbmTrui_iconsQgn_graf_fep_popup_shadow_t_mask,
-                                 KRgbBlack
-                                 );    
-    iShadowBitmaps.Append( bitmapT );
-    iShadowBitmapMasks.Append( bitmapTMask );
-
-    CFbsBitmap* bitmapTr;
-    CFbsBitmap* bitmapTrMask;
-    AknsUtils::CreateColorIconL( skin,
-                                 KAknsIIDQgnGrafFepPopupShadowTr,
-                                 KAknsIIDQsnIconColors,
-                                 EAknsCIQsnIconColorsCG14,
-                                 bitmapTr,
-                                 bitmapTrMask,
-                                 KTRUIICONSFILENAME,
-                                 EMbmTrui_iconsQgn_graf_fep_popup_shadow_tr,
-                                 EMbmTrui_iconsQgn_graf_fep_popup_shadow_tr_mask,
-                                 KRgbBlack
-                                 );    
-    iShadowBitmaps.Append( bitmapTr );
-    iShadowBitmapMasks.Append( bitmapTrMask );
-
-    CFbsBitmap* bitmapL;
-    CFbsBitmap* bitmapLMask;
-    AknsUtils::CreateColorIconL( skin,
-                                 KAknsIIDQgnGrafFepPopupShadowL,
-                                 KAknsIIDQsnIconColors,
-                                 EAknsCIQsnIconColorsCG14,
-                                 bitmapL,
-                                 bitmapLMask,
-                                 KTRUIICONSFILENAME,
-                                 EMbmTrui_iconsQgn_graf_fep_popup_shadow_l,
-                                 EMbmTrui_iconsQgn_graf_fep_popup_shadow_l_mask,
-                                 KRgbBlack
-                                 );    
-    iShadowBitmaps.Append( bitmapL );
-    iShadowBitmapMasks.Append( bitmapLMask );
-
-    CFbsBitmap* bitmapBl;
-    CFbsBitmap* bitmapBlMask;
-    AknsUtils::CreateColorIconL( skin,
-                                 KAknsIIDQgnGrafFepPopupShadowBl,
-                                 KAknsIIDQsnIconColors,
-                                 EAknsCIQsnIconColorsCG14,
-                                 bitmapBl,
-                                 bitmapBlMask,
-                                 KTRUIICONSFILENAME,
-                                 EMbmTrui_iconsQgn_graf_fep_popup_shadow_bl,
-                                 EMbmTrui_iconsQgn_graf_fep_popup_shadow_bl_mask,
-                                 KRgbBlack
-                                 );    
-    iShadowBitmaps.Append( bitmapBl );
-    iShadowBitmapMasks.Append( bitmapBlMask );
-
-    CFbsBitmap* bitmapR;
-    CFbsBitmap* bitmapRMask;
-    AknsUtils::CreateColorIconL( skin,
-                                 KAknsIIDQgnGrafFepPopupShadowR,
-                                 KAknsIIDQsnIconColors,
-                                 EAknsCIQsnIconColorsCG14,
-                                 bitmapR,
-                                 bitmapRMask,
-                                 KTRUIICONSFILENAME,
-                                 EMbmTrui_iconsQgn_graf_fep_popup_shadow_r,
-                                 EMbmTrui_iconsQgn_graf_fep_popup_shadow_r_mask,
-                                 KRgbBlack
-                                 );    
-    iShadowBitmaps.Append( bitmapR );
-    iShadowBitmapMasks.Append( bitmapRMask );
-
-    CFbsBitmap* bitmapB;
-    CFbsBitmap* bitmapBMask;
-    AknsUtils::CreateColorIconL( skin,
-                                 KAknsIIDQgnGrafFepPopupShadowB,
-                                 KAknsIIDQsnIconColors,
-                                 EAknsCIQsnIconColorsCG14,
-                                 bitmapB,
-                                 bitmapBMask,
-                                 KTRUIICONSFILENAME,
-                                 EMbmTrui_iconsQgn_graf_fep_popup_shadow_b,
-                                 EMbmTrui_iconsQgn_graf_fep_popup_shadow_b_mask,
-                                 KRgbBlack
-                                 );    
-    iShadowBitmaps.Append( bitmapB );
-    iShadowBitmapMasks.Append( bitmapBMask );
-
-    CFbsBitmap* bitmapBr;
-    CFbsBitmap* bitmapBrMask;
-    AknsUtils::CreateColorIconL( skin,
-                                 KAknsIIDQgnGrafFepPopupShadowBr,
-                                 KAknsIIDQsnIconColors,
-                                 EAknsCIQsnIconColorsCG14,
-                                 bitmapBr,
-                                 bitmapBrMask,
-                                 KTRUIICONSFILENAME,
-                                 EMbmTrui_iconsQgn_graf_fep_popup_shadow_br,
-                                 EMbmTrui_iconsQgn_graf_fep_popup_shadow_br_mask,
-                                 KRgbBlack
-                                 );    
-    iShadowBitmaps.Append( bitmapBr );
-    iShadowBitmapMasks.Append( bitmapBrMask );
-    }
-
-// --------------------------------------------------------------------------
-// Load bitmaps for guidelines.
-// --------------------------------------------------------------------------
-//
-void CTruiHwrBox::LoadGuideLineBitmapsL()
-    {
-    iGuideLineBitmaps.ResetAndDestroy();
-    iGuideLineBitmapMasks.ResetAndDestroy();    
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    CFbsBitmap* bitmapTop;
-    CFbsBitmap* bitmapTopMask;
-    AknsUtils::CreateColorIconL( skin,
-                                 KAknsIIDQgnGrafFepBgColour,
-                                 KAknsIIDQsnIconColors,
-                                 EAknsCIQsnIconColorsCG14,
-                                 bitmapTop,
-                                 bitmapTopMask,
-                                 KTRUIICONSFILENAME,
-                                 EMbmTrui_iconsQgn_graf_fep_bg_colour,
-                                 EMbmTrui_iconsQgn_graf_fep_bg_colour_mask,
-                                 KRgbBlack
-                                 );    
-    iGuideLineBitmaps.Append( bitmapTop );
-    iGuideLineBitmapMasks.Append( bitmapTopMask );
-
-    CFbsBitmap* bitmapBottom;
-    CFbsBitmap* bitmapBottomMask;
-    AknsUtils::CreateColorIconL( skin,
-                                 KAknsIIDQgnGrafFepBgColour,
-                                 KAknsIIDQsnIconColors,
-                                 EAknsCIQsnIconColorsCG14,
-                                 bitmapBottom,
-                                 bitmapBottomMask,
-                                 KTRUIICONSFILENAME,
-                                 EMbmTrui_iconsQgn_graf_fep_bg_colour,
-                                 EMbmTrui_iconsQgn_graf_fep_bg_colour_mask,
-                                 KRgbBlack
-                                 );    
-    iGuideLineBitmaps.Append( bitmapBottom );
-    iGuideLineBitmapMasks.Append( bitmapBottomMask );
-    }
-
-// --------------------------------------------------------------------------
-// Load layouts for borders from LAF.
-// --------------------------------------------------------------------------
-//
-void CTruiHwrBox::LoadBorderLayout( TInt aVarity )
-    {
-    TRect rect = Rect();
-    iBorderLayout.Reset();
-    // Caculate hwr_training_write_pane_g1
-    TAknWindowComponentLayout border_left_layout = 
-               AknLayoutScalable_Apps::hwr_training_write_pane_g1( aVarity );
-    TAknLayoutRect border_left_layout_rect;
-    border_left_layout_rect.LayoutRect( rect, border_left_layout );    
-    iBorderLayout.Append( border_left_layout_rect );
-
-    TAknWindowComponentLayout border_top_layout = 
-               AknLayoutScalable_Apps::hwr_training_write_pane_g2( aVarity );
-    TAknLayoutRect border_top_layout_rect;
-    border_top_layout_rect.LayoutRect( rect, border_top_layout );    
-    iBorderLayout.Append( border_top_layout_rect );
-    
-    TAknWindowComponentLayout border_bottom_layout = 
-               AknLayoutScalable_Apps::hwr_training_write_pane_g3( aVarity );
-    TAknLayoutRect border_bottom_layout_rect;
-    border_bottom_layout_rect.LayoutRect( rect, border_bottom_layout );    
-    iBorderLayout.Append( border_bottom_layout_rect );
-
-    TAknWindowComponentLayout border_right_layout = 
-               AknLayoutScalable_Apps::hwr_training_write_pane_g4( aVarity );
-    TAknLayoutRect border_right_layout_rect;
-    border_right_layout_rect.LayoutRect( rect, border_right_layout );    
-    iBorderLayout.Append( border_right_layout_rect );
-    }
-
-// --------------------------------------------------------------------------
-// Load layouts for shadows from LAF.
-// --------------------------------------------------------------------------
-//
-void CTruiHwrBox::LoadShadowLayout( TInt aVarity )
-    {
-    TRect rect = Rect();
-    iShadowLayout.Reset();
-    // Caculate bg_frame_shadow_pane
-    TAknWindowComponentLayout shadow_pane_layout = 
-               AknLayoutScalable_Apps::bg_frame_shadow_pane( aVarity );
-    TAknLayoutRect shadow_pane_layout_rect;
-    shadow_pane_layout_rect.LayoutRect( rect, shadow_pane_layout );
-    TRect shadowPaneRect = shadow_pane_layout_rect.Rect();
-    
-    // Caculate bg_frame_shadow_pane_g1
-    TAknWindowComponentLayout shadow_pane_tl_layout = 
-               AknLayoutScalable_Apps::bg_frame_shadow_pane_g1( aVarity );
-    TAknLayoutRect shadow_pane_tl_layout_rect;
-    shadow_pane_tl_layout_rect.LayoutRect( shadowPaneRect, shadow_pane_tl_layout );    
-    iShadowLayout.Append( shadow_pane_tl_layout_rect );
-
-    // Caculate bg_frame_shadow_pane_g2
-    TAknWindowComponentLayout shadow_pane_t_layout = 
-               AknLayoutScalable_Apps::bg_frame_shadow_pane_g2( aVarity );
-    TAknLayoutRect shadow_pane_t_layout_rect;
-    shadow_pane_t_layout_rect.LayoutRect( shadowPaneRect, shadow_pane_t_layout );
-    iShadowLayout.Append( shadow_pane_t_layout_rect );
-
-    // Caculate bg_frame_shadow_pane_g3
-    TAknWindowComponentLayout shadow_pane_tr_layout = 
-               AknLayoutScalable_Apps::bg_frame_shadow_pane_g3( aVarity );
-    TAknLayoutRect shadow_pane_tr_layout_rect;
-    shadow_pane_tr_layout_rect.LayoutRect( shadowPaneRect, shadow_pane_tr_layout );
-    iShadowLayout.Append( shadow_pane_tr_layout_rect );
-
-    // Caculate bg_frame_shadow_pane_g4
-    TAknWindowComponentLayout shadow_pane_l_layout = 
-               AknLayoutScalable_Apps::bg_frame_shadow_pane_g4( aVarity );
-    TAknLayoutRect shadow_pane_l_layout_rect;
-    shadow_pane_l_layout_rect.LayoutRect( shadowPaneRect, shadow_pane_l_layout );
-    iShadowLayout.Append( shadow_pane_l_layout_rect );
-
-    // Caculate bg_frame_shadow_pane_g5
-    TAknWindowComponentLayout shadow_pane_bl_layout = 
-               AknLayoutScalable_Apps::bg_frame_shadow_pane_g5( aVarity );
-    TAknLayoutRect shadow_pane_bl_layout_rect;
-    shadow_pane_bl_layout_rect.LayoutRect( shadowPaneRect, shadow_pane_bl_layout );
-    iShadowLayout.Append( shadow_pane_bl_layout_rect );
-
-    // Caculate bg_frame_shadow_pane_g6
-    TAknWindowComponentLayout shadow_pane_r_layout = 
-               AknLayoutScalable_Apps::bg_frame_shadow_pane_g6( aVarity );
-    TAknLayoutRect shadow_pane_r_layout_rect;
-    shadow_pane_r_layout_rect.LayoutRect( shadowPaneRect, shadow_pane_r_layout );
-    iShadowLayout.Append( shadow_pane_r_layout_rect );
-
-    // Caculate bg_frame_shadow_pane_g7
-    TAknWindowComponentLayout shadow_pane_b_layout = 
-               AknLayoutScalable_Apps::bg_frame_shadow_pane_g7( aVarity );
-    TAknLayoutRect shadow_pane_b_layout_rect;
-    shadow_pane_b_layout_rect.LayoutRect( shadowPaneRect, shadow_pane_b_layout );
-    iShadowLayout.Append( shadow_pane_b_layout_rect );
-
-    // Caculate bg_frame_shadow_pane_g8
-    TAknWindowComponentLayout shadow_pane_br_layout = 
-               AknLayoutScalable_Apps::bg_frame_shadow_pane_g8( aVarity );
-    TAknLayoutRect shadow_pane_br_layout_rect;
-    shadow_pane_br_layout_rect.LayoutRect( shadowPaneRect, shadow_pane_br_layout );
-    iShadowLayout.Append( shadow_pane_br_layout_rect );
-    }
-
-// --------------------------------------------------------------------------
-// Load layouts for guidelines from LAF.
-// --------------------------------------------------------------------------
-//
-void CTruiHwrBox::LoadGuideLineLayout( TInt aVarity )
-    {
-    TRect rect = Rect();
-    iGuideLineLayout.Reset();
-    // Caculate hwr_training_write_pane_g5
-    TAknWindowComponentLayout top_guideline_layout = 
-               AknLayoutScalable_Apps::hwr_training_write_pane_g5( aVarity );
-    TAknLayoutRect top_guideline_layout_rect;
-    top_guideline_layout_rect.LayoutRect( rect, top_guideline_layout );
-    iGuideLineLayout.Append( top_guideline_layout_rect );
-
-    // Caculate hwr_training_write_pane_g6
-    TAknWindowComponentLayout bottom_guideline_layout = 
-               AknLayoutScalable_Apps::hwr_training_write_pane_g6( aVarity );
-    TAknLayoutRect bottom_guideline_layout_rect;
-    bottom_guideline_layout_rect.LayoutRect( rect, bottom_guideline_layout );
-    iGuideLineLayout.Append( bottom_guideline_layout_rect );
-    }
-
-// --------------------------------------------------------------------------
-// Draw borders.
-// --------------------------------------------------------------------------
-//
-void CTruiHwrBox::DrawBorders( CWindowGc& aGc ) const
-    {
-    for ( TInt i = 0; i < iBorderLayout.Count(); i++ )
-        {
-        iBorderLayout[i].DrawImage( aGc, iBorderBitmaps[i], iBorderBitmapMasks[i] );        
-        }
-    }
-
-// --------------------------------------------------------------------------
-// Draw shadows.
-// --------------------------------------------------------------------------
-//
-void CTruiHwrBox::DrawShadows( CWindowGc& aGc ) const
-    {
-    for ( TInt i = 0; i < iShadowLayout.Count(); i++ )
-        {
-        iShadowLayout[i].DrawImage( aGc, iShadowBitmaps[i], iShadowBitmapMasks[i] );
-        }
-    }
-    
-// --------------------------------------------------------------------------
-// Draw guidelines.
-// --------------------------------------------------------------------------
-//
-void CTruiHwrBox::DrawGuideLines( CWindowGc& aGc ) const
-    {
-    if ( iTopGuideLineDisplay && KTopGuideLineIndex < iGuideLineLayout.Count()
-                              && KTopGuideLineIndex < iGuideLineBitmaps.Count()
-                              && KTopGuideLineIndex < iGuideLineBitmapMasks.Count() )
-        {        
-        TSize pixSize = iGuideLineBitmaps[KTopGuideLineIndex]->SizeInPixels();
-        aGc.BitBltMasked( iGuideLineTopL, iGuideLineBitmaps[KTopGuideLineIndex], 
-                         TRect( TPoint( 0, 0 ), pixSize ), 
-                         iGuideLineBitmapMasks[KTopGuideLineIndex], EFalse );        
-        }
-        
-    if ( iBottomGuideLineDisplay && KBottomGuideLineIndex < iGuideLineLayout.Count()
-                              && KBottomGuideLineIndex < iGuideLineBitmaps.Count()
-                              && KBottomGuideLineIndex < iGuideLineBitmapMasks.Count() )
-        {
-        TSize pixSize = iGuideLineBitmaps[KBottomGuideLineIndex]->SizeInPixels();                
-        aGc.BitBltMasked( iGuideLineBottomL, iGuideLineBitmaps[KBottomGuideLineIndex], 
-                         TRect( TPoint( 0, 0 ), pixSize ), 
-                         iGuideLineBitmapMasks[KBottomGuideLineIndex], EFalse );
-        }
-    }  
-    
-// -----------------------------------------------------------------------------
-// Show trails.
-// -----------------------------------------------------------------------------
-//
-void CTruiHwrBox::ShowTrails( const RArray<TPoint>& aPointArray, 
-                              TBool aIsScale,
-                              const TSize& aRefSize )
-    {    
-    // Set values fo iPointArrayDraw
-    if ( aPointArray.Count() > 0 )
-        {
-        iPointArrayDraw.Reset();
-        for ( TInt i = 0; i < aPointArray.Count(); i++ )
-            {
-            iPointArrayDraw.Append( aPointArray[i] );
-            }
-        }
-    
-    // Adjust the trails in terms of HwrBox size
-    if ( aIsScale )
-        {
-        // Scale model points
-        ScaleModel( aRefSize, iDrawabelRect.Size(), iPointArrayDraw );
-        }
-    DrawNow();
-    }
-    
-// --------------------------------------------------------------------------
-// CTruiHwrBox::ShowTooltipL
-// --------------------------------------------------------------------------
-//
-void CTruiHwrBox::ShowTooltipL( const TDesC& aText, 
-                                const TPoint& aPosition,
-                                const TInt aBeforeTimeout,
-                                const TInt aInViewTimeout )
-    {
-    if ( aText.Length() < 0 )
-        {
-        return;
-        }
-    iTooltip->SetTextL( aText );
-    iTooltip->SetTimeDelayBeforeShow( aBeforeTimeout );
-    iTooltip->SetTimePopupInView( aInViewTimeout );
-    iTooltip->SetPositionAndAlignment( aPosition, EHCenterVTop );
-
-    iTooltip->ShowInfoPopupNote();        
-    }
-
-void CTruiHwrBox::SetTooltipPosition( const TPoint& aPosition )
-    {
-    if ( iTooltip )
-        {
-        iTooltip->SetPositionAndAlignment( aPosition, EHCenterVTop );
-        }
-    }
-
-// --------------------------------------------------------------------------
-// Hide tooltip.
-// --------------------------------------------------------------------------
-//
-void CTruiHwrBox::HideInfoPopupNote()
-    {
-    if ( iTooltip )
-        {
-        iTooltip->HideInfoPopupNote();
-        }    
-    }
-
-// --------------------------------------------------------------------------
-// Handles events reported from info popup note.
-// --------------------------------------------------------------------------
-//
-void CTruiHwrBox::HandleInfoPopupNoteEvent( CAknInfoPopupNoteController* aController,
-        TAknInfoPopupNoteEvent aEvent )
-    {
-    if ( aController == iTooltip && aEvent == EInfoPopupNoteHidden )
-        {        
-        DrawNow();        
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// Save the new inputting model by manual.
-// -----------------------------------------------------------------------------
-//
-void CTruiHwrBox::SaveModelByManuallyL()
-    {
-    if ( iPointArrayDraw.Count() && !iStartSave )
-        {
-        // Has drawn
-        if ( iPointArrayDraw[iPointArrayDraw.Count() - 1] != KTail )
-            {
-            iPointArrayDraw.Append( KTail );            
-            }
-        SaveModelL();
-        }        
-    }
--- a/textinput/peninputhwrtrui/src/truiinfomessagecontainer.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,316 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Implement of class CTruiInfoMessageContainer
-*
-*/
-
-
-#include <eikenv.h>
-#include <AknsBasicBackgroundControlContext.h>
-#include <AknsDrawUtils.h>
-#include <trui.rsg>
-#include <eiklabel.h>
-#include <eikon.hrh>
-#include <AknUtils.h>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <layoutmetadata.cdl.h>
-#include <eikedwin.h>
-
-#include "truiinfomessagecontainer.h"
-#include "truiappradiobutton.h"
-#include "truiappui.h"
-#include "truiengine.h"
-#include "truicontainerbase.h"
-
-// Varity of instruct pane both for landscape and portrait
-const TInt KVarityInstructPane = 4;
-
-// Varity of list pane both for landscape and portrait
-const TInt KVarityListPane = 2;
-
-// Varity of symbol option pane both for landscape and portrait
-const TInt KVaritySymbolOptionPane = 2;
-
-// Varity of list symbol option pane both for landscape and portrait
-const TInt KVarityListSymbolOptionPane = 1;
-
-
-// ======== MEMBER FUNCTIONS ========
-
-CTruiInfoMessageContainer::CTruiInfoMessageContainer()
-    {  
-    }
-    
-void CTruiInfoMessageContainer::ConstructL( const TRect& aRect )
-    {    
-    // Initialize control array
-    InitComponentArrayL();
-        
-    // Set parent control or owning window
-    CreateWindowL();       
-
-    // Initialize controls
-    InitializeControlsL();
-
-    iLabelText = iEikonEnv->AllocReadResourceL( R_TRUI_INFOMAESSAGEVIEW_MESSAGE );
-    iEdwin->SetTextL( iLabelText );    
-
-    SetRect( aRect );
-    ActivateL();   
-    
-    iBackGround = CAknsBasicBackgroundControlContext::NewL
-                  ( KAknsIIDQsnBgAreaMain, Rect(), EFalse);
-    iEdwin->SetSkinBackgroundControlContextL( iBackGround );
-    }        
-    
-CTruiInfoMessageContainer* CTruiInfoMessageContainer::NewL( const TRect& aRect )
-    {
-    CTruiInfoMessageContainer* self = CTruiInfoMessageContainer::NewLC( aRect );
-    CleanupStack::Pop( self );
-    return self;
-    }
-    
-CTruiInfoMessageContainer* CTruiInfoMessageContainer::NewLC( const TRect& aRect )
-    {
-    CTruiInfoMessageContainer* self = new (ELeave) CTruiInfoMessageContainer();
-    CleanupStack::PushL( self );
-    self->ConstructL( aRect );
-    return self;
-    }
-    
-CTruiInfoMessageContainer::~CTruiInfoMessageContainer()
-    {
-    delete iBackGround;        
-    delete iLabelText;
-    }
-
-// ---------------------------------------------------------------------------
-// Do something before exit.
-// ---------------------------------------------------------------------------
-// 
-void CTruiInfoMessageContainer::PrepareToExitL()
-    {
-    // Save checkbox setting
-    const RArray<CTruiRadioButton::TRadioButtonStatus>& statusArray = 
-                                          iRadioButtonContainer->StatusArray();
-    TBool isDisplayed = statusArray.Count() && statusArray[0] ? EFalse : ETrue;
-    iEngine->SetDisplayWizard( isDisplayed );
-    if ( statusArray.Count() )
-        {
-        SaveSettingIntoIniFileL( KAlwaysDisplayWizardKey, statusArray[0] );
-        }    
-    }
-    
-// ---------------------------------------------------------------------------
-// Create controls to be displayed in this container.
-// ---------------------------------------------------------------------------
-//
-void CTruiInfoMessageContainer::InitializeControlsL()
-    {
-    iRadioButtonContainer = CTruiRadioButton::NewL( this, 
-                                               CTruiRadioButton:: ECheckBox );
-    Components().AppendLC( iRadioButtonContainer );
-    CleanupStack::Pop( iRadioButtonContainer );
-    
-    HBufC* radioText1 = iEikonEnv->AllocReadResourceLC
-                             ( R_TRUI_INFOMAESSAGEVIEW_CHECKBOX_TEXT );
-    iRadioButtonContainer->AddItem( radioText1, CTruiRadioButton::ENonSelected );
-    CleanupStack::Pop( radioText1 ); // transfered ownership
-    iRadioButtonContainer->HandleItemAdditionL();
-    
-    iEdwin = new (ELeave) CEikEdwin;
-    iEdwin->ConstructL();
-    iEdwin->SetReadOnly( ETrue );     
-    Components().AppendLC( iEdwin );
-    CleanupStack::Pop( iEdwin );
-    
-    }
-
-// ---------------------------------------------------------------------------
-// Create label and display it in the container.
-// ---------------------------------------------------------------------------
-//
-CEikLabel* CTruiInfoMessageContainer::CreateLabelL( const CCoeControl* aParent )
-    {
-    CEikLabel* aknLabel = new (ELeave) CEikLabel();
-    CleanupStack::PushL( aknLabel );
-    aknLabel->SetContainerWindowL( *aParent );
-    aknLabel->ActivateL();
-    CleanupStack::Pop( aknLabel ); 
-    return aknLabel;
-    }
-
-
-// ---------------------------------------------------------------------------
-// From class CCoeControl.
-// Responds to changes to the size and position of the contents of this control.
-// ---------------------------------------------------------------------------
-//
-void CTruiInfoMessageContainer::SizeChanged()
-    {
-    TRect rect = Rect();
-
-    TAknWindowComponentLayout main_pane_layout = 
-                            AknLayoutScalable_Apps::main_hwr_training_pane();
-    TAknLayoutRect main_pane_layout_rect;
-    main_pane_layout_rect.LayoutRect( rect, main_pane_layout );
-    TRect main_pane_rect = main_pane_layout_rect.Rect();
-
-    // hwr_training_instruct_pane    
-    TAknWindowComponentLayout instruct_pane_layout = 
-               AknLayoutScalable_Apps::hwr_training_instruct_pane( KVarityInstructPane );    
-    TAknLayoutRect instruct_pane_layout_rect;
-    instruct_pane_layout_rect.LayoutRect( main_pane_rect, instruct_pane_layout );
-    iInstructPaneRect = instruct_pane_layout_rect.Rect();
-    
-    // count of text rows    
-    TInt count = AknLayoutScalable_Apps::
-               list_single_hwr_training_instruct_pane_ParamLimits( KVarityListPane )
-               .LastRow() + 1;
-    
-    // array contains all text rows in help screen
-    RArray<TAknTextComponentLayout> textLayoutArray;
-    for( TInt i = 0; i < count; i++ )
-        {       
-        // pane area for each row
-        TAknWindowComponentLayout each_row_layout =  
-            AknLayoutScalable_Apps::list_single_hwr_training_instruct_pane
-                                    ( KVarityListPane, 0, i );
-        TAknLayoutRect each_row_layout_rect;
-        each_row_layout_rect.LayoutRect( iInstructPaneRect, 
-                                         each_row_layout );
-        // smaller pane for text itself
-        TAknTextComponentLayout each_row_text_layout =  
-            AknLayoutScalable_Apps::list_single_hwr_training_instruct_pane_t1();
-    
-        // composition of two latter componets
-        TAknTextComponentLayout textCompCompositionWiz = 
-            TAknWindowComponentLayout::ComposeText(
-                each_row_layout, each_row_text_layout );
- 
-        TRAPD( error, textLayoutArray.AppendL( textCompCompositionWiz ) );
-        // if error in append function, then just exit the loop      
-        if ( error != KErrNone )
-            {
-            break;
-            }
-        }       
-    iMultilineLayout = TAknTextComponentLayout::Multiline( textLayoutArray );
-    textLayoutArray.Close();
-
-    // Do layout for edwin
-    AknLayoutUtils::LayoutEdwin( iEdwin, 
-                                 iInstructPaneRect, 
-                                 iMultilineLayout,
-                                 EAknsCIQsnTextColorsCG6 ); 
-
-	// Do layout for radio button
-    // hwr_training_instruct_pane
-    TAknWindowComponentLayout symbol_option_pane = 
-               AknLayoutScalable_Apps::main_hwr_training_symbol_option_pane
-                                      ( KVaritySymbolOptionPane );
-    TAknLayoutRect symbol_option_pane_layout_rect;
-    symbol_option_pane_layout_rect.LayoutRect( main_pane_rect, symbol_option_pane );
-    
-	TAknWindowComponentLayout list_option_pane = 
-               AknLayoutScalable_Apps::list_single_hwr_training_symbol_option_pane
-                                      ( KVarityListSymbolOptionPane );
-    TAknLayoutRect list_option_pane_layout_rect;
-    list_option_pane_layout_rect.LayoutRect( symbol_option_pane_layout_rect.Rect(), 
-                                             list_option_pane );
-    // Create multiline text for radion button
-    // count of text rows    
-    TInt radionLines = AknLayoutScalable_Apps::
-               list_single_hwr_training_symbol_option_pane_ParamLimits
-               ( KVarityListSymbolOptionPane )
-               .LastRow() + 1;
-    
-    // array contains all text rows in help screen
-    RArray<TAknTextComponentLayout> radionTextLayoutArray;
-    for( TInt i = 0; i < radionLines; i++ )
-        {       
-        // pane area for each row
-        TAknWindowComponentLayout each_row_layout =  
-            AknLayoutScalable_Apps::list_single_hwr_training_symbol_option_pane
-                                    ( KVarityListSymbolOptionPane, 0, i );
-        TAknLayoutRect each_row_layout_rect;
-        each_row_layout_rect.LayoutRect( symbol_option_pane_layout_rect.Rect(), 
-                                         each_row_layout );
-        // smaller pane for text itself
-        TAknTextComponentLayout each_row_text_layout =  
-            AknLayoutScalable_Apps::list_single_hwr_training_symbol_option_pane_t1();
-    
-        // composition of two latter componets
-        TAknTextComponentLayout textCompCompositionWiz = 
-            TAknWindowComponentLayout::ComposeText(
-                each_row_layout, each_row_text_layout );
- 
-        TRAPD( error, radionTextLayoutArray.AppendL( textCompCompositionWiz ) );
-        // if error in append function, then just exit the loop      
-        if ( error != KErrNone )
-            {
-            break;
-            }
-        }       
-    TAknMultiLineTextLayout radioMultilineLayout 
-                            = TAknTextComponentLayout::Multiline( radionTextLayoutArray );
-    radionTextLayoutArray.Close();  
-    iRadioButtonContainer->SetMultilineLayout( radioMultilineLayout );
-    iRadioButtonContainer->SetRect( symbol_option_pane_layout_rect.Rect() );
-    
-    if ( iBackGround )
-        {
-        iBackGround->SetRect( Rect() );
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// Draw.
-// ---------------------------------------------------------------------------
-//    
-void CTruiInfoMessageContainer::Draw( const TRect& /*aRect*/ ) const
-   {
-    // Get the standard graphics context
-    CWindowGc& gc = SystemGc();
-    // Gets the control's extent
-    TRect rect( Rect());
-    // Clears the screen
-    gc.Clear( rect );
-
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();  
-    if ( AknsDrawUtils::HasBitmapBackground( skin, iBackGround ) ) 
-        {
-        AknsDrawUtils::Background( skin, iBackGround, gc, rect );
-        }   
-    }
-// ---------------------------------------------------------------------------
-// From class CCoeControl.
-// Handles a change to the control's resources.
-// ---------------------------------------------------------------------------
-//
-void CTruiInfoMessageContainer::HandleResourceChange( TInt aType )
-    {    
-    CTruiContainerBase::HandleResourceChange( aType );
-    if ( aType == KAknsMessageSkinChange )
-        {
-        if ( iEdwin )
-            {
-            // Do layout for edwin
-            AknLayoutUtils::LayoutEdwin( iEdwin, 
-                                         iInstructPaneRect, 
-                                         iMultilineLayout,
-                                         EAknsCIQsnTextColorsCG6 );
-            }
-        }
-    }
--- a/textinput/peninputhwrtrui/src/truiinfomessageview.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,135 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Implement of class CTruiShortcutEditTextView
-*
-*/
-
-
-#include <avkon.hrh>
-#include <trui.rsg>
-#include <eikcolib.h>
-#include <akntoolbar.h>
-
-#include "truiinfomessageview.h"
-#include "truiappui.h"
-#include "truiinfomessagecontainer.h"
-#include "truishortcutedittextview.h"
-#include "truishortcutsview.h"
-#include "truiengine.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-CTruiInfoMessageView::CTruiInfoMessageView()
-    {
-    }
-    
-void CTruiInfoMessageView::ConstructL()
-    {
-    BaseConstructL( R_TRUI_INFOMESSAGEVIEW );
-    }    
-    
-CTruiInfoMessageView* CTruiInfoMessageView::NewL()
-    {
-    CTruiInfoMessageView* self = CTruiInfoMessageView::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-    
-CTruiInfoMessageView* CTruiInfoMessageView::NewLC()
-    {
-    CTruiInfoMessageView* self = new( ELeave ) CTruiInfoMessageView;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-    
-CTruiInfoMessageView::~CTruiInfoMessageView()
-    {
-    }
-    
-// ---------------------------------------------------------------------------
-// From class CAknView.
-// Returns views id.
-// ---------------------------------------------------------------------------
-//
-TUid CTruiInfoMessageView::Id() const
-    {
-    return KTruiInfoMessageViewId;    
-    }
-    
-// ---------------------------------------------------------------------------
-// From class CAknView.
-// Command handling function.
-// ---------------------------------------------------------------------------
-//
-void CTruiInfoMessageView::HandleCommandL( TInt aCommand )
-    {
-    CTruiAppUi* appui = static_cast<CTruiAppUi*>( AppUi() );
-    switch ( aCommand )
-        {
-        case EAknSoftkeyNext:
-            {
-            appui->HwrEngine()->SetShortcut( KNullDesC );
-            iContainer->PrepareToExitL();
-            appui->ActivateLocalViewL( KTruiShortcutEditTextViewId );
-            break;
-            }            
-        case EAknSoftkeyCancel:
-            {
-            appui->ActivateLocalViewL( KTruiShortcutsViewId );
-            break;            
-            }
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// From class CAknView.
-// Carried out when View is activated
-// ---------------------------------------------------------------------------
-//
-void CTruiInfoMessageView::DoActivateL( const TVwsViewId& /*aPrevViewId*/,
-                  TUid /*aCustomMessageId*/,
-                  const TDesC8& /*aCustomMessage*/ )
-	{
-    CTruiAppUi* appui = static_cast<CTruiAppUi*>( AppUi() );
-    // Set title pane
-    HBufC* titleText = iEikonEnv->AllocReadResourceLC
-                                ( R_TRUI_INFOMESSAGEVIEW_TITLEPANE_TEXT );
-    appui->ShowTitlePaneL( *titleText );
-    CleanupStack::PopAndDestroy( titleText );
-    
-    // Close navi pane
-    appui->CloseNaviPaneL();
-	
-	// Create container        
-    iContainer = CTruiInfoMessageContainer::NewL( ClientRect() );
-    iContainer->SetMopParent( this );
-    iContainer->SetView( this );
-    AppUi()->AddToStackL( *this, iContainer );
-	}
-
-// ---------------------------------------------------------------------------
-// From class CAknView.
-// Carried out when View is deactivated
-// ---------------------------------------------------------------------------
-//
-void CTruiInfoMessageView::DoDeactivate()
-    {
-    if ( iContainer )
-        {
-        AppUi()->RemoveFromStack( iContainer );
-        delete iContainer;
-        iContainer = NULL;
-        }
-    }
--- a/textinput/peninputhwrtrui/src/truilanguagerelation.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Implement of class TLanguageRelation
-*
-*/
-
-
-#include "truilanguagerelation.h"
-	
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// construction
-// ---------------------------------------------------------------------------
-//
-TLanguageRelation::TLanguageRelation( TInt aCode, TInt aLanguageScriptId )
-                  : iCode( aCode ), iLanguageScriptId( aLanguageScriptId )
-    {
-    }
--- a/textinput/peninputhwrtrui/src/truimainview.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,401 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Implement of class CTruiMainView
-*
-*/
-
-
-#include <aknViewAppUi.h>
-#include <eikmenup.h>
-#include <trui.rsg>
-#include <akntoolbar.h>
-#include <aknnavide.h>
-#include <akntabgrp.h>
-
-#include "truimainview.h"
-#include "truimainviewcontainer.h"
-#include "trui.hrh"
-#include "truiappui.h"
-#include "truiengine.h"
-#include "truishortcutsview.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-CTruiMainView::CTruiMainView()
-    {
-    }
-
-void CTruiMainView::ConstructL()
-    {
-    BaseConstructL( R_TRUI_MAINVIEW );
-    }
-
-CTruiMainView* CTruiMainView::NewL()
-    {
-    CTruiMainView* self = CTruiMainView::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-CTruiMainView* CTruiMainView::NewLC()
-    {
-    CTruiMainView* self = new( ELeave ) CTruiMainView;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-CTruiMainView::~CTruiMainView()
-    {
-    }
-    
-// ---------------------------------------------------------------------------
-// From class CAknView.
-// Returns views id.
-// ---------------------------------------------------------------------------
-//
-TUid CTruiMainView::Id() const
-    {
-    return KTruiMainViewId;    
-    }
-    
-// ---------------------------------------------------------------------------
-// From class CAknView.
-// Command handling function.
-// ---------------------------------------------------------------------------
-//
-void CTruiMainView::HandleCommandL( TInt aCommand )
-    {
-    switch ( aCommand )
-        {
-        case EMainViewCharGrid:
-            {
-            // Handle menu item command "Character Grid"
-            iContainer->HandleChooseCharEventL();             
-            }
-            break;
-        case EMainViewSubmenuWestern:
-        case EMainViewSubmenuCyrillic:
-        case EMainViewSubmenuGreek:
-        case EMainViewSubmenuHebrew:
-            {
-            iContainer->HandleLanguageScriptChangedL( aCommand );
-            }
-            break;
-        case EMainViewSubmenuLatinLowerLetter:
-        case EMainViewSubmenuLatinUpperLetter:
-        case EMainViewSubmenuLatinAccent:
-        case EMainViewSubmenuDigital:
-        case EMainViewSubmenuSymbols:
-        case EMainViewSubmenuCyrillicLowerLetters:
-        case EMainViewSubmenuCyrillicUpperLetters:
-        case EMainViewSubmenuCyrillicAccent:        
-        case EMainViewSubmenuGreekLowerLetters:
-        case EMainViewSubmenuGreekUpperLetters:       
-        case EMainViewSubmenuHebrewLetters:        
-            {
-            // Handle character range changed
-            // Get range index in menu pane by range Id
-            CTruiAppUi* appui = static_cast<CTruiAppUi*>( AppUi() );
-            CTruiEngine* engine = appui->HwrEngine();
-            const RArray<TInt>& rangeIdArray = 
-                                engine->GetCurrentSupportedRangesId();
-            TInt indexOfMenuItems = rangeIdArray.Find( aCommand );
-            if ( indexOfMenuItems != KErrNotFound )
-                {
-                // Set current character range by index in Engine
-                engine->SetCharacterRangeByIndexL( indexOfMenuItems );
-
-                // Call iContainer->HandleCharRangeChanged to handle it.
-                iContainer->HandleCharRangeChangedL( indexOfMenuItems, 
-                                                     aCommand );
-                }	        
-            }
-	        break;
-        case EMainViewDeleteCurrentModel:
-            {
-            iContainer->DeleteModelL();
-            }
-            break;
-        case EMainViewDeleteAllModel:
-            {
-            iContainer->DeleteAllModelL();
-            break;
-            }
-        case EMainViewPreviewModel:
-            {
-            iContainer->PreviewCharacterModel();
-            break;
-            }
-        case EMainViewToShortcutsView:
-            {
-            CTruiAppUi* appui = static_cast<CTruiAppUi*>( AppUi() );
-            CAknNavigationDecorator* naviDecorator = appui->GetNaviDecorator();
-            CAknTabGroup* tabGroup = static_cast<CAknTabGroup*>
-                                    ( naviDecorator->DecoratedControl() );
-            tabGroup->SetActiveTabById( ENavigationPaneShortcutsViewTab );
-            // Switch to local view.
-            appui->ActivateLocalViewL( KTruiShortcutsViewId );
-            break;
-            }
-        case EAknSoftkeyExit:
-            {
-            iContainer->PrepareToExitL();
-            AppUi()->HandleCommandL( aCommand );
-            }
-            break;
-        default:
-            {
-            AppUi()->HandleCommandL( aCommand );            
-            }                    
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// From class CAknView.
-// Carried out when View is activated
-// ---------------------------------------------------------------------------
-//
-void CTruiMainView::DoActivateL( const TVwsViewId& /*aPrevViewId*/,
-                  TUid /*aCustomMessageId*/,
-                  const TDesC8& /*aCustomMessage*/ )
-    {
-    // Set title pane
-    CTruiAppUi* appui = static_cast<CTruiAppUi*>( AppUi() );
-    HBufC* titleText = 
-           iEikonEnv->AllocReadResourceLC( R_TRUI_MAINVIEW_TITLEPANE_TEXT );
-    appui->ShowTitlePaneL( *titleText );
-    CleanupStack::PopAndDestroy( titleText );
-
-    iContainer = CTruiMainViewContainer::NewL( ClientRect() );
-    iContainer->SetMopParent( this );
-    AppUi()->AddToStackL( *this, iContainer );    
-    iContainer->SetView( this );
-
-    // Set toolbar
-    CAknToolbar* toolbar = Toolbar();
-    if ( toolbar )
-        {
-        toolbar->SetToolbarObserver( this );
-        toolbar->SetToolbarVisibility( ETrue, EFalse );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// From class CAknView.
-// Carried out when View is deactivated
-// ---------------------------------------------------------------------------
-//
-void CTruiMainView::DoDeactivate()
-    {
-    if ( iContainer )
-        {        
-        AppUi()->RemoveFromStack( iContainer );
-        delete iContainer;
-        iContainer = NULL;
-        }        
-    }
-
-// ---------------------------------------------------------------------------
-// From class MAknToolbarObserver.
-// Handles toolbar events for a certain toolbar item.
-// ---------------------------------------------------------------------------
-//
-void CTruiMainView::OfferToolbarEventL( TInt aCommand )
-    {
-    switch ( aCommand )
-        {
-        case EMainViewButtonIdGrid:
-            {
-            // Open SCT
-            iContainer->HandleChooseCharEventL();
-            break;
-            }
-        case EMainViewButtonIdPreview:
-            {
-            // Preview character animation
-            iContainer->PreviewCharacterModel();
-            break;
-            }
-        case EMainViewButtonIdDelete:
-            {
-            // Clear HWR box and delete character model
-            iContainer->DeleteModelL();
-            break;
-            }
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// Dynamically initialises a menu pane.
-// ---------------------------------------------------------------------------
-//
-void CTruiMainView::DynInitMenuPaneL( TInt aResourceId, 
-                                      CEikMenuPane* aMenuPane )
-    {
-    // Get engine
-    CTruiAppUi* appui = static_cast<CTruiAppUi*>( AppUi() );
-    CTruiEngine* engine = appui->HwrEngine();
-    
-    if ( aResourceId == R_TRUI_MAINVIEW_MENUPANE )
-        {
-        // Get language script from engine
-        // Determine whether "Language script" will be displayed.
-        aMenuPane->SetItemDimmed( EMainViewLanguageScript, 
-                            ( engine->SupportedLanguageScript().Count() <= 1 ) );
-        
-        // Determine whether "Delete model" will be displayed
-        iDimAllDelete = iContainer->IsAllDelete();
-                       
-        TBool isDimmed = ( iContainer->IsButtonDimmed() && iDimAllDelete ) 
-                         ? ETrue: EFalse;
-        aMenuPane->SetItemDimmed( EMainViewDeleteModel, isDimmed );
-        
-        // Determine whether "Preview model" will be displayed.
-        TBool isPreviewDimmed = iContainer->IsButtonDimmed() ? ETrue: EFalse;
-        aMenuPane->SetItemDimmed( EMainViewPreviewModel, isPreviewDimmed );
-        }    
-    if ( aResourceId == R_TRUI_MAINVIEW_MENU_LANGUAGESCRIPT_CASCADE )
-        {        
-        // Set which items will be displayed by supported language script
-        const RArray<TInt>& languageScriptId = 
-                                           engine->SupportedLanguageScript();
-        aMenuPane->SetItemDimmed( EMainViewSubmenuWestern, ETrue );
-        aMenuPane->SetItemDimmed( EMainViewSubmenuCyrillic, ETrue );
-        aMenuPane->SetItemDimmed( EMainViewSubmenuGreek, ETrue );
-        aMenuPane->SetItemDimmed( EMainViewSubmenuHebrew, ETrue );
-        for ( TInt i = 0; i < languageScriptId.Count(); i++ )
-            {
-            aMenuPane->SetItemDimmed( languageScriptId[i], EFalse );
-            }
-        
-        if ( IsMenuItemDimmed( aMenuPane, EMainViewSubmenuWestern ) )
-            {
-            aMenuPane->DeleteMenuItem( EMainViewSubmenuWestern );
-            }
-        if ( IsMenuItemDimmed( aMenuPane, EMainViewSubmenuCyrillic ) )
-            {
-            aMenuPane->DeleteMenuItem( EMainViewSubmenuCyrillic );
-            }
-        if ( IsMenuItemDimmed( aMenuPane, EMainViewSubmenuGreek ) )
-            {
-            aMenuPane->DeleteMenuItem( EMainViewSubmenuGreek );
-            }
-        if ( IsMenuItemDimmed( aMenuPane, EMainViewSubmenuHebrew ) )
-            {
-            aMenuPane->DeleteMenuItem( EMainViewSubmenuHebrew );
-            }
-        
-        // Set which item will be indicated by current language script         
-        aMenuPane->SetItemButtonState( engine->CurrentLanguageScript(), 
-                                       EEikMenuItemSymbolOn );
-        
-        // Set current selected item
-        TInt pos;
-        aMenuPane->ItemAndPos( engine->CurrentLanguageScript(), pos );
-        aMenuPane->SetSelectedItem( pos );
-        }
-    if ( aResourceId == R_TRUI_MAINVIEW_MENU_CHARRANGE_CASCADE )
-        {
-        // Get language script from model      
-        // Init character range submenu                     
-        InitCharRangeSubMenuL( engine->CurrentLanguageScript(), aMenuPane );
-        
-        if ( engine->CurrentLanguageScript() == EMainViewSubmenuCyrillic )
-            {
-            // Dim cyrillic accent range
-            aMenuPane->SetItemDimmed( EMainViewSubmenuCyrillicAccent, ETrue );
-            }
-
-        // Get the current item's Id
-        TInt rangeId = engine->GetCurrentCharacterRange();
-        
-        // Set which item to be indicated       
-        aMenuPane->SetItemButtonState( rangeId, EEikMenuItemSymbolOn );
-        
-        // Set which item to be highlighted
-        const RArray<TInt>& rangeIdArray = 
-                                      engine->GetCurrentSupportedRangesId();
-        TInt indexOfMenuItems = rangeIdArray.Find( rangeId );
-        if ( indexOfMenuItems != KErrNotFound )
-            {
-            aMenuPane->SetSelectedItem( indexOfMenuItems );
-            }
-        }
-    if ( aResourceId == R_TRUI_MAINVIEW_MENU_DELETE_CASCADE )
-        {
-        aMenuPane->SetItemDimmed( EMainViewDeleteCurrentModel, 
-                                  iContainer->IsButtonDimmed() );
-        aMenuPane->SetItemDimmed( EMainViewDeleteAllModel, iDimAllDelete );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Dynamically initialises the character range menu pane.
-// ---------------------------------------------------------------------------
-//
-void CTruiMainView::InitCharRangeSubMenuL( TInt aScriptId,
-                                           CEikMenuPane* aMenuPane)
-    {
-    // Get the corrent reource ID of MENU_ITEMS by 
-    TInt reourceId = MenuItemsReourceId( aScriptId );
-    // Add these menu items into menu pane
-    aMenuPane->AddMenuItemsL( reourceId );    
-    }
-    
-// ---------------------------------------------------------------------------
-// Get reource ID of menu items for initializing menu pane.
-// ---------------------------------------------------------------------------
-//
-TInt CTruiMainView::MenuItemsReourceId( TInt aScriptId )
-    {
-    TInt reourceId;
-    switch ( aScriptId )
-        {
-        case EMainViewSubmenuWestern:
-            {
-            reourceId = R_TRUI_MAINVIEW_SUBMENU_CHARRANGE_LATIN;
-            }
-            break;            
-        case EMainViewSubmenuCyrillic:
-            {
-            reourceId = R_TRUI_MAINVIEW_SUBMENU_CHARRANGE_CYRILLIC;
-            }
-            break;                    
-        case EMainViewSubmenuGreek:
-            {
-            reourceId = R_TRUI_MAINVIEW_SUBMENU_CHARRANGE_GREEK;
-            }
-            break;        
-        case EMainViewSubmenuHebrew:
-            {
-            reourceId = R_TRUI_MAINVIEW_SUBMENU_CHARRANGE_HEBREW;
-            }        
-            break;
-        default:
-            reourceId = 0;
-            break;            
-        }
-    return reourceId;            
-    }   
-
-// ---------------------------------------------------------------------------
-// Check menu item dimmed by menu item id.
-// ---------------------------------------------------------------------------
-//
-TBool CTruiMainView::IsMenuItemDimmed( CEikMenuPane* aMenuPane, TInt aMenuItemId )
-    {
-    CEikMenuPaneItem::SData& itemdata = aMenuPane->ItemData( aMenuItemId );    
-    return ( itemdata.iFlags & EEikMenuItemDimmed == EEikMenuItemDimmed );    
-    }
--- a/textinput/peninputhwrtrui/src/truimainviewcontainer.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1333 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Implement of class CTruiMainViewContainer
-*
-*/
-
-
-#include <eiklabel.h>
-#include <barsread.h>
-#include <aknnavide.h>
-#include <akntabgrp.h>
-#include <eikspane.h>
-#include <aknViewAppUi.h>
-#include <eikedwin.h>
-#include <aknbutton.h>
-#include <aknchoicelist.h>
-#include <aknSctDialog.h>
-#include <trui.rsg>
-#include <StringLoader.h>
-#include <aknnotewrappers.h>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <AknsBasicBackgroundControlContext.h>
-#include <AknsDrawUtils.h>
-#include <layoutmetadata.cdl.h>
-#include <akntoolbar.h>
-#include <AknPreviewPopUpController.h>
-#include <AknsConstants.h>
-#include <trui_icons.mbg>
-#include <featmgr.h>
-
-#include "truicontainerbase.h"
-#include "truimainviewcontainer.h"
-#include "truihwrbox.h"
-#include "truiengine.h"
-#include "truiappui.h"
-#include "truiapplication.h"
-#include "truihelp.h"
-#include "trui.hrh"
-#include "truimainview.h"
-
-// Max length of text in indicator
-const TInt KIndicatorTextLen = 10;
-
-// Max length of text of silimar message
-const TInt KSimilarMsgLength = 160;
-
-// Delay time of showing tooltip
-const TInt KTooltipShowDelay = 0;
-
-// Delay time of hiding tooltip
-const TInt KTooltipHideDelay = 3000;
-
-// Size for buffer to fill maximum characters from SCT.
-const TInt KSctBufferSize = 32;
-
-const TInt KHwrTooltipY = 20;
-
-const TInt KVarityNaviPaneContents = 0;
-
-//the special gesture characters
-_LIT(KDisplayBackspace, "\x2190");
-_LIT(KDisplaySpace, "\xF800");
-_LIT(KDisplayEnter, "\xF801");
-
-// ======== MEMBER FUNCTIONS ========
-
-CTruiMainViewContainer::CTruiMainViewContainer()
-    {  
-    }
-    
-void CTruiMainViewContainer::ConstructL( const TRect& aRect )
-    {    
-    // Initialize control array
-    InitComponentArrayL();   
-        
-    // Set parent control or owning window
-    CreateWindowL();
-   
-    iBackGround = CAknsBasicBackgroundControlContext::NewL
-                                                      ( KAknsIIDQsnBgAreaMain, 
-                                                        Rect(), 
-                                                        EFalse );
-
-    // Initialize controls
-    InitializeControlsL();
- 
-    SetRect( aRect );    
-
-    // Set first character of the character set as the default trained character
-    const HBufC* charSet = iEngine->CharacterSet();
-    ASSERT( charSet );
-    SetCurrentCharL( charSet->Mid( 0, 1 ) );
-
-    TInt currentRangeId = iEngine->GetCurrentCharacterRange();    
-    const RArray<TInt>& rangeIdArray = 
-                        iEngine->GetCurrentSupportedRangesId();
-    TInt indexOfMenuItems = rangeIdArray.Find( currentRangeId );
-    if ( indexOfMenuItems != KErrNotFound )
-        {
-        // Set choiclist' selected item to index.
-        iChoicelist->SetSelectedIndex( indexOfMenuItems ); 
-        }
-    else
-        {
-        iChoicelist->SetSelectedIndex( 0 ); 
-        }
-
-    // Set hwrbox's rect to engine and set guiding line to hwrbox
-    iHwrBox->SetDisplayBottomGuideLine( ETrue );
-    if ( iEngine->CurrentLanguageScript() == EMainViewSubmenuHebrew )
-        {
-        iHwrBox->SetDisplayTopGuideLine( ETrue );
-        }
-
-    ActivateL();  
-
-    }
-    
-CTruiMainViewContainer* CTruiMainViewContainer::NewL( const TRect& aRect )
-    {
-    CTruiMainViewContainer* self = CTruiMainViewContainer::NewLC( aRect );
-    CleanupStack::Pop( self );
-    return self;
-    }
-    
-CTruiMainViewContainer* CTruiMainViewContainer::NewLC( const TRect& aRect )
-    {
-    CTruiMainViewContainer* self = new (ELeave) CTruiMainViewContainer();
-    CleanupStack::PushL( self );
-    self->ConstructL( aRect );
-    return self;
-    }
-    
-CTruiMainViewContainer::~CTruiMainViewContainer()
-    {
-    if ( iBackGround )
-        {
-        delete iBackGround;
-        }
-    delete iWrappedLabelText;
-    delete iLabeltext;
-    iLineWidthArray.Close();
-    }
-  
-// ---------------------------------------------------------------------------
-// Create controls to be displayed in this container.
-// ---------------------------------------------------------------------------
-//
-void CTruiMainViewContainer::InitializeControlsL()
-    {    
-    CAknToolbar* toolbar = iAppUi->View( KTruiMainViewId )->Toolbar();
-    // Get Clear button from toolbar    
-    if ( toolbar )
-        {
-        iClearBtn = static_cast<CAknButton*>
-                    ( toolbar->ControlOrNull( EMainViewButtonIdDelete ) );
-        iPreviewBtn = static_cast<CAknButton*>
-                    ( toolbar->ControlOrNull( EMainViewButtonIdPreview ) );           
-        }
-            
-    // Create Label for text above writting box
-    iLabel = CreateLabelL( R_MAINVIEW_LABEL_TIP, this, NULL );
-    Components().AppendLC( iLabel );
-    CleanupStack::Pop( iLabel );
-    
-    // Create left button
-    iLeftBtn = CreateButtonL( R_MAINVIEW_BUTTON_LEFT, this, this );
-    Components().AppendLC( iLeftBtn );
-    CleanupStack::Pop( iLeftBtn );
-    
-    // Create indicator
-    iIindicator = CreateLabelL( R_MAINVIEW_LABEL_INDICATOR, this, this );
-    Components().AppendLC( iIindicator );
-    CleanupStack::Pop( iIindicator );
-        
-    // Create right button
-    iRightBtn = CreateButtonL( R_MAINVIEW_BUTTON_RIGHT, this, this );
-    Components().AppendLC( iRightBtn );
-    CleanupStack::Pop( iRightBtn );
-    
-    // Create choicelist
-    TInt buttonResource = ButtonResourceId
-                         ( iEngine->GetCurrentCharacterRange() );
-    CAknButton* rangeButton = CreateButtonL( buttonResource,
-                                             this, NULL );
-    iCurChoiceListBtn = rangeButton;
-    CDesCArray* charRangeArray = iEngine->GetCharacterRangeName();
-    CDesCArray* ownedCharRangeArray = new ( ELeave ) CDesCArrayFlat
-                                          ( charRangeArray->MdcaCount() );
-                                          
-    CleanupStack::PushL( ownedCharRangeArray );
-    for ( TInt i=0; i<charRangeArray->MdcaCount(); i++ )
-        {
-        ownedCharRangeArray->AppendL( charRangeArray->MdcaPoint( i ) );
-        }
-    iChoicelist = CreateChoiceListL( this, this, 
-                                     ownedCharRangeArray,rangeButton );
-    CleanupStack::Pop( ownedCharRangeArray );
-    ownedCharRangeArray = NULL;// Ownership has been transfered to choicelist                                                                                                     
-    Components().AppendLC( iChoicelist );
-    CleanupStack::Pop( iChoicelist );    
-    
-    iHwrBox = CreateHwrBoxL( this, this );
-    iHwrBox->SetHwrBoxFlag( CTruiHwrBox::EFrameHwrBox );
-    Components().AppendLC( iHwrBox );
-    CleanupStack::Pop( iHwrBox );    
-    }
-
-// ---------------------------------------------------------------------------
-// Create label and display it in the container.
-// ---------------------------------------------------------------------------
-//
-CEikLabel* CTruiMainViewContainer::CreateLabelL( const TInt aResourceId,
-                                                 const CCoeControl* aParent,
-                                             MCoeControlObserver* aObserver )
-    {
-    CEikLabel* aknLabel = new (ELeave) CEikLabel();
-    CleanupStack::PushL( aknLabel );
-    if ( aParent )
-        {
-        aknLabel->SetContainerWindowL( *aParent );
-        }
-    if ( aObserver )
-        {
-        aknLabel->SetObserver( aObserver );    
-        }
-    if ( aResourceId != 0 )
-        {
-        TResourceReader reader;
-        iEikonEnv->CreateResourceReaderLC( reader, aResourceId );
-        aknLabel->ConstructFromResourceL( reader );
-        CleanupStack::PopAndDestroy(); // reader
-        }    
-    aknLabel->ActivateL();
-    CleanupStack::Pop( aknLabel ); 
-    return aknLabel;
-    }
-
-// ---------------------------------------------------------------------------
-// Create choicelist and display it in the container.
-// ---------------------------------------------------------------------------
-// 
- CAknChoiceList* CTruiMainViewContainer::CreateChoiceListL
-                                             ( CCoeControl* aParent,
-                                             MCoeControlObserver* aObserver,
-                                             CDesCArray* aTextArray,
-                                             CAknButton* aButton )
-    {
-    CAknChoiceList* choiceList = CAknChoiceList::NewLC( aParent, 
-                                                        aTextArray,
-                     CAknChoiceList::EAknChoiceListWithoutCurrentSelection,                     
-                                                        aButton );    
-    choiceList->SetObserver( aObserver );   
-    CleanupStack::Pop( choiceList );
-    return choiceList;
-    }
-
-// ---------------------------------------------------------------------------
-// Create HWRBox and display it in the container.
-// ---------------------------------------------------------------------------
-// 
-CTruiHwrBox* CTruiMainViewContainer::CreateHwrBoxL( CCoeControl* aParent,
-                                            MTruiHwrBoxObserver* aObserver )
-    {   
-    return CTruiHwrBox::NewL( aParent, aObserver, iBackGround );
-    }
-    
-// ---------------------------------------------------------------------------
-// Responds to changes to the size and position of the contents of this control.
-// ---------------------------------------------------------------------------
-//
-void CTruiMainViewContainer::SizeChanged()
-    {        
-    TInt varity = Layout_Meta_Data::IsLandscapeOrientation() ? KLandscapeVarity 
-                                                             : KPortraitVarity;
-    DoSizeChanged( varity );
-    
-    if ( iBackGround )
-        {
-        iBackGround->SetRect( Rect() );
-        }
-    }       
-   
-// ---------------------------------------------------------------------------
-// From class CCoeControl.
-// Handles key event.
-// ---------------------------------------------------------------------------
-//      
-TKeyResponse CTruiMainViewContainer::OfferKeyEventL
-                                     ( const TKeyEvent& aKeyEvent, 
-                                       TEventCode aType )
-    {    
-    if ( aType == EEventKey )
-        {        
-        switch ( aKeyEvent.iCode )
-            {
-            case EKeyLeftArrow:
-                {
-                return EKeyWasConsumed;
-                }
-            case EKeyRightArrow:
-                {       
-                CAknNavigationDecorator* naviDecorator = 
-                                                  iAppUi->GetNaviDecorator();
-                CAknTabGroup* tabGroup = static_cast<CAknTabGroup*>
-                                       ( naviDecorator->DecoratedControl() );
-                return tabGroup->OfferKeyEventL( aKeyEvent, aType );
-                }            
-            default:
-                break;
-            }
-        }    
-    return EKeyWasNotConsumed;    
-    }
-    
-// ---------------------------------------------------------------------------
-// From class CCoeControl.
-// The region of the control to be redrawn.
-// ---------------------------------------------------------------------------
-//
-void CTruiMainViewContainer::Draw( const TRect& /*aRect*/ ) const
-    {
-    // Get the standard graphics context
-    CWindowGc& gc = SystemGc();
-    // Gets the control's extent
-    TRect rect( Rect() );
-    // Clears the screen
-    gc.Clear( rect );
-
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    if ( AknsDrawUtils::HasBitmapBackground( skin, iBackGround ) ) 
-        {
-        AknsDrawUtils::Background( skin, iBackGround, gc, rect );
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// From class CCoeControl.
-// Handles a change to the control's resources.
-// ---------------------------------------------------------------------------
-//
-void CTruiMainViewContainer::HandleResourceChange( TInt aType )
-    {
-    CTruiContainerBase::HandleResourceChange( aType );
-    if ( aType == KEikDynamicLayoutVariantSwitch && iHwrBox )
-        {
-        if ( iHwrBox->BoxState() == CTruiHwrBox::ENewModelDraw )
-            {
-            TRAP_IGNORE( iHwrBox->SaveModelByManuallyL() );
-            }        
-        }
-    
-    if ( aType == KAknsMessageSkinChange )
-        {
-        TRgb labelColor = KRgbBlack;
-        TInt error = GetCachedLabelTextColor( labelColor );
-        if ( error == KErrNone )
-            {
-            TRAPD( errLable, iLabel->OverrideColorL( EColorLabelText, 
-                                                     labelColor ) );
-            if ( errLable != KErrNone )
-                {
-                return;
-                }
-            TRAP_IGNORE( iIindicator->OverrideColorL( EColorLabelText, 
-                                                      labelColor ) );            
-            }
-        TRgb iconColor = KRgbBlack;            
-        // Change left icon
-        iLeftBtn->State()->SetIcon( ConstructIconFromResourceL
-                                    ( R_MAINVIEW_BUTTON_LEFT ) );
-        // Change right icon
-        iRightBtn->State()->SetIcon( ConstructIconFromResourceL
-                                    ( R_MAINVIEW_BUTTON_RIGHT ) );
-        
-        // Change choicelist button
-        TInt rangeId = iEngine->GetCurrentCharacterRange();
-        TInt buttonResoureId  = ButtonResourceId( rangeId );
-        iCurChoiceListBtn->State()->SetIcon( ConstructIconFromResourceL
-                                             ( buttonResoureId ) );            
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Handles an event from an observed control.
-// ---------------------------------------------------------------------------
-//
-void CTruiMainViewContainer::HandleControlEventL(CCoeControl* aControl,
-                                                 TCoeEvent aEventType)
-    {
-    // Handle left button event
-    if ( aControl == iLeftBtn && aEventType == EEventStateChanged )
-        {        
-        //Get character set
-        const HBufC* charSet = iEngine->CharacterSet();
-        ASSERT( charSet );
-        //Locate current position
-        TInt charPos = charSet->Find( iCurrentChar );
-        if ( charPos != KErrNotFound )
-            {
-            //Move left
-            TInt length = charSet->Length();
-            charPos = ( charPos - 1 + length ) % length;
-            SetCurrentCharL( charSet->Mid( charPos, 1 ) );
-            }
-        }
-    // Handle indicator button event
-    else if ( aControl == iIindicator && aEventType == EEventRequestFocus )
-        {	
-        PreviewCharacterModel();
-        }
-    // Handle right button event
-    else if ( aControl == iRightBtn && aEventType == EEventStateChanged )
-        {
-        //Get character set
-        const HBufC* charSet = iEngine->CharacterSet();
-        ASSERT( charSet );
-        //Locate current position
-        TInt charPos = charSet->Find( iCurrentChar );
-        if ( charPos != KErrNotFound )
-            {
-            //Move left
-            TInt length = charSet->Length();
-            charPos = ( charPos + 1 + length ) % length;
-            SetCurrentCharL( charSet->Mid( charPos, 1 ) );
-            }
-        }
-    // Handle choicelist event
-    else if ( aControl == iChoicelist && aEventType == EEventStateChanged )
-        {
-        // Handle character range changing event
-        // Get the selected index            
-        TInt index = iChoicelist->SelectedIndex();
-            
-        // Set current character range by index in Engine
-        iEngine->SetCharacterRangeByIndexL( index );
-            
-        // Get the current character range Id
-        TInt rangeId = iEngine->GetCurrentCharacterRange();
-            
-        // Handle character range changed
-        HandleCharRangeChangedL( index, rangeId );
-        }    
-    }
-         
-// ---------------------------------------------------------------------------
-// From class MTruiHWRBoxObserver.
-// Responds to changes to the size and position of the contents of control.
-// ---------------------------------------------------------------------------
-//
-void CTruiMainViewContainer::SaveNewModelL()
-    {    
-    TBuf<KSimilarMsgLength> similarMsg;
-    TRAPD( err, iEngine->SetCharacterModelL( iCurrentChar,
-                                             iHwrBox->Model(),
-                                             similarMsg ) );
-    switch ( err )
-        {
-        case KErrNone:
-            {
-            //Dim clear button and preview button
-            if ( iClearBtn )
-                {
-                iClearBtn->SetDimmed( EFalse );
-                iClearBtn->DrawNow();
-                }
-            if ( iPreviewBtn )
-                {
-                iPreviewBtn->SetDimmed( EFalse );
-                iPreviewBtn->DrawNow();                
-                }
-            TPoint hwrPos = iHwrBox->PositionRelativeToScreen();
-            HBufC* tooltipText = 
-                        iEikonEnv->AllocReadResourceLC( R_TRUI_TOOLTIP_SAVED );
-            iHwrBox->ShowTooltipL( *tooltipText, 
-                          hwrPos + TPoint( iHwrBox->Size().iWidth, KHwrTooltipY ),
-                          KTooltipShowDelay, KTooltipHideDelay );
-            CleanupStack::PopAndDestroy( tooltipText );                        
-            break;
-            }
-        case KErrAlreadyExists:
-            {
-            //Clear invalid model
-            ClearCurrentModel();
-            
-            // Transfer some special gesture chars into displayable chars.
-            AdjustDisplayChars( similarMsg );
-            
-            //Popup err message
-            HBufC* errMsg = iEikonEnv->AllocReadResourceLC( R_TRUI_NOTE_SIMILAR_MODEL );
-            HBufC* tooltipText = HBufC::NewLC( errMsg->Length() + similarMsg.Length()
-                                               + KExtraSize );
-            TPtr tooltipTextPtr = tooltipText->Des();
-            tooltipTextPtr.Format( *errMsg, &similarMsg );
-            PopupInformationNoteL( *tooltipText );
-            CleanupStack::PopAndDestroy( tooltipText );
-            CleanupStack::PopAndDestroy( errMsg );
-            break;
-            }
-        default:
-            {
-            //Clear invalid model
-            ClearCurrentModel();
-            //Popup err message
-            HBufC* tooltipText = iEikonEnv->AllocReadResourceLC( R_TRUI_NOTE_SAVE_FAILED );
-            PopupInformationNoteL( *tooltipText );
-            CleanupStack::PopAndDestroy( tooltipText );
-            break;
-            }
-        }
-    };
-    
-// ---------------------------------------------------------------------------
-// From class MTruiHWRBoxObserver.
-// Handle the message event from the HWRBox
-// ---------------------------------------------------------------------------
-//
-void CTruiMainViewContainer::HandleEventL( TMessageType aMessage )
-    {
-    if ( aMessage == EModelExist )
-        {
-        HBufC* tooltipText = 
-                      iEikonEnv->AllocReadResourceLC( R_TRUI_NOTE_CLEAR_BOX );
-        PopupInformationNoteL( *tooltipText );
-        CleanupStack::PopAndDestroy( tooltipText );        
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// Handles language script changed.
-// ---------------------------------------------------------------------------
-//
-void CTruiMainViewContainer::HandleLanguageScriptChangedL( TInt aScriptId )
-    {    
-    CTruiEngine* engine = iAppUi->HwrEngine();
-    const RArray<TInt>& languageScriptId = engine->SupportedLanguageScript();
-    TInt index = languageScriptId.Find( aScriptId );
-    if ( index != KErrNotFound )
-        {
-        // Set the language script 
-        engine->SetLanguageScriptByIndexL( aScriptId );        
-    
-        // Copy language script names array        
-        CDesCArray* rangeNames = engine->GetCharacterRangeName();        
-        CDesCArray* itemsInChoiceList = new (ELeave) CDesCArrayFlat
-                                                     ( rangeNames->Count() );
-        CleanupStack::PushL( itemsInChoiceList );
-        for ( TInt i = 0; i < rangeNames->Count(); i++ )
-            {
-            itemsInChoiceList->AppendL( ( *rangeNames )[i] );
-            }
-            
-        // Set the items in choicelist
-        iChoicelist->SetItems( itemsInChoiceList ); // Transfered ownership
-        CleanupStack::Pop( itemsInChoiceList );
-        
-        // Set hwrbox's rect to engine and set guiding line to hwrbox
-        TBool isDisplayTopGuideLine = ( iEngine->CurrentLanguageScript() 
-                                 == EMainViewSubmenuHebrew ) ? ETrue : EFalse;
-        
-        iHwrBox->SetDisplayTopGuideLine( isDisplayTopGuideLine );
-
-        // Get the ative character range's ID.
-        TInt rangeId = engine->GetCurrentCharacterRange();        
-        // Handle char range changed with index 0
-        HandleCharRangeChangedL( 0, rangeId );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Handles character range changed.
-// ---------------------------------------------------------------------------
-//
-void CTruiMainViewContainer::HandleCharRangeChangedL( TInt aIndex, 
-                                                      TInt aRangeId )
-    {
-    // Get the button's resourceID by char range's ID
-    TInt buttonResoureId  = ButtonResourceId( aRangeId );
-    // Create new button with the reourceID
-    // and add it to the AknChoiceList
-    if ( buttonResoureId )
-        {       
-        CAknButton* rangeButton = CreateButtonL( buttonResoureId, 
-                                               this, NULL );
-        iCurChoiceListBtn = rangeButton;
-        CleanupStack::PushL( rangeButton );
-        iChoicelist->SetButtonL( rangeButton );
-        CleanupStack::Pop( rangeButton );
-        iChoicelist->DrawNow();
-        }   
-    // Set choiclist' selected item to index.
-    iChoicelist->SetSelectedIndex( aIndex );
-    
-    // Refresh the active char with the first char in the character set
-    const HBufC* charSet = iEngine->CharacterSet();
-    ASSERT( charSet );
-    SetCurrentCharL( charSet->Mid( 0, 1 ) );     
-    }
-    
-// ---------------------------------------------------------------------------
-// Handles choosing an active char from SCT.
-// ---------------------------------------------------------------------------
-//
-void CTruiMainViewContainer::HandleChooseCharEventL()
-    {
-    TInt rangeId = 
-        iAppUi->HwrEngine()->GetCurrentCharacterRange();                        
-    
-    // Get character set id by character range id
-    TInt characterSetId = SctCharacterSetId( rangeId );
-        
-    // Popup SCT dialog
-    TBuf<KSctBufferSize> selectedStr;
-    TInt buttonId = PopupSctDialogL( EAknSCTLowerCase, 
-                                     selectedStr, 
-                                     characterSetId );
-    if ( buttonId != 0 && selectedStr.Length() > 0 )
-        {
-        SetCurrentCharL( selectedStr.Mid( 0, 1 ) );
-        }   
-    }
-            
-// ---------------------------------------------------------------------------
-// Check if clear button has been dimmed.
-// ---------------------------------------------------------------------------
-//
-TBool CTruiMainViewContainer::IsButtonDimmed()
-    {
-    return iClearBtn ? iClearBtn->IsDimmed() : EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// Check if all delete button has been dimmed.
-// ---------------------------------------------------------------------------
-//
-TBool CTruiMainViewContainer::IsAllDelete()
-    {
-    const HBufC* charSet = iEngine->CharacterSet();
-    for ( TInt i = 0; i < charSet->Length(); i++ )
-        {
-        if ( iEngine->CheckCharacterModel( charSet->Mid( i, 1 ) ) )
-            {
-            return EFalse;
-            }
-        }  
-    return ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// Return button's resourceId by Character Range Id.
-// Use this resoueceId to create the correct button.
-// ---------------------------------------------------------------------------
-//
-TInt CTruiMainViewContainer::ButtonResourceId( TInt aRangeId ) const
-    {
-    TInt resoureId;
-    switch ( aRangeId )
-        {
-        case ELatinLowerLetters:
-            {
-            resoureId = R_MAINVIEW_BUTTON_CHARRANGE_LATIN_LOWER;
-            }
-            break;
-        case ELatinUpperLetters:
-            {
-            resoureId = R_MAINVIEW_BUTTON_CHARRANGE_LATIN_UPPER;
-            }        
-            break;
-        case ELatinAccent:
-            {
-            resoureId = R_MAINVIEW_BUTTON_CHARRANGE_LATIN_ACCENT;
-            }        
-            break;
-        case ELatinDigital:
-            {
-            resoureId = R_MAINVIEW_BUTTON_CHARRANGE_NUMERIC;
-            }
-            break;
-        case ELatinSymbol:
-            {
-            resoureId = R_MAINVIEW_BUTTON_CHARRANGE_SYMBOL;            
-            }
-            break;
-        case ECyrillicLowerLetters:
-            { //
-            resoureId = R_MAINVIEW_BUTTON_CHARRANGE_CYRILLIC_LOWER;            
-            }
-            break;
-        case ECyrillicUpperLetters:
-            {
-            resoureId = R_MAINVIEW_BUTTON_CHARRANGE_CYRILLIC_UPPER;            
-            }            
-            break;
-        case ECyrillicAccent:
-            {
-            resoureId = R_MAINVIEW_BUTTON_CHARRANGE_CYRILLIC_ACCENT;
-            }        
-            break;
-        case EGreekLowerLetters:
-            {
-            resoureId = R_MAINVIEW_BUTTON_CHARRANGE_GREEK_LOWER;            
-            }            
-            break;
-        case EGreekUpperLetters:
-            {
-            resoureId = R_MAINVIEW_BUTTON_CHARRANGE_GREEK_UPPER;            
-            }            
-            break;
-        case EHebrewLetters:
-            {
-            resoureId = R_MAINVIEW_BUTTON_CHARRANGE_HEBREW_LETTERS;
-            }
-            break;
-        default:
-            {
-            resoureId = 0;
-            }            
-        }
-    return resoureId;        
-    }
-    
-// ---------------------------------------------------------------------------
-// Pop Sct dialog.
-// ---------------------------------------------------------------------------
-//
-TInt CTruiMainViewContainer::PopupSctDialogL( TInt aCharCase, 
-                                              TDes& aSpecialChars, 
-                                              TInt aCharSetResourceId )
-    {    
-    CAknCharMapDialog* sct = new (ELeave) CAknCharMapDialog( aCharCase, 
-                                           aSpecialChars, 
-                                           aCharSetResourceId );    
-    TInt keyboardMode = CurrentKeyBoardModeL();     
-    if ( keyboardMode )
-        {
-        // QWERTY: Lock numeric keys.
-        sct->LockNumericKeys( ETrue );
-        }
-    else
-        {
-        // ITU-T: Unlock numeric keys.
-        sct->LockNumericKeys( EFalse );
-        }    
-
-    sct->DisableRecentCharsRow();
-    TInt retValue = sct->ExecuteLD( R_TRUI_SCT_DIALOG );
-    return retValue;
-    }
-
-// ---------------------------------------------------------------------------
-// Set current trained char
-// ---------------------------------------------------------------------------
-//
-void CTruiMainViewContainer::SetCurrentCharL( const TPtrC& aChar )
-    {
-    //If previous char's model is not saved, save it before setting new char.
-    if ( iHwrBox->BoxState() == CTruiHwrBox::ENewModelDraw )
-        {
-        //Call save function from hwrbox,
-        //in order to stop periodics in the hwrbox
-        iHwrBox->SaveModelByManuallyL();
-        }
-    // In case of new localization not check-in, temporary    
-    if ( iCurrentChar != aChar )
-        {
-        //Set current char
-        iCurrentChar = aChar;
-        //Set Top Label's text
- 	    HBufC* teachCharacter = NULL;
-        teachCharacter = StringLoader::LoadLC
-                          ( R_TRUI_MAINVIEW_TEXT_TEACH_CHARACTER, aChar ); 	        
-        if ( !iLabeltext )
-            {
-            delete iLabeltext;
-            iLabeltext = NULL;
-            iLabeltext = HBufC::NewL( teachCharacter->Length() + KExtraSize );
-            }
-        TPtr labelOldPtr = iLabeltext->Des();
-        if ( labelOldPtr.MaxLength() < teachCharacter->Length() )
-            {
-            iLabeltext = iLabeltext->ReAlloc( teachCharacter->Length() + KExtraSize );            
-            }
-        TPtr labelTextPtr = iLabeltext->Des();
-        labelTextPtr.Copy( *teachCharacter );
-        CleanupStack::PopAndDestroy( teachCharacter );
-                
-        delete iWrappedLabelText;
-        iWrappedLabelText = NULL;
-        iWrappedLabelText = HBufC::NewL( iLabeltext->Length() 
-                                         + iLineWidthArray.Count() 
-                                         + KExtraSize );
-        // Be ready to show label
-        const CFont* font = AknLayoutUtils::FontFromId( iMultilineLayout.FontId() );
-        TRAPD( err, WrapLabelTextL( font, *iLabeltext, iLineWidthArray, iWrappedLabelText ) );
-        if ( err == KErrNone )
-            {
-            iLabel->SetTextL( *iWrappedLabelText );
-            }
-        else
-            {
-            iLabel->SetTextL( *iLabeltext );
-            }
-        AknLayoutUtils::LayoutLabel( iLabel, 
-                                     iLabelPaneRect, 
-                                     iMultilineLayout );
-        TRgb labelColor = KRgbBlack;
-        if ( GetCachedLabelTextColor( labelColor ) == KErrNone )
-            {
-            iLabel->OverrideColorL( EColorLabelText, labelColor );
-            }
-    
-        //Set Indicator's text
-        const HBufC* charIndicator = iEikonEnv->AllocReadResourceL
-                                      ( R_TRUI_MAINVIEW_ACTIVE_CHAR_INDICATOR );
-        TBuf<KIndicatorTextLen> indicatortext;
-        indicatortext.Format( *charIndicator, &aChar );
-        delete charIndicator;
-        charIndicator = NULL;
-        iIindicator->SetTextL( indicatortext );
-        }
-
-    iHwrBox->ClearExistModel();
-    //Load existing model and dim clear button
-    if ( iEngine->CheckCharacterModel( iCurrentChar ) )
-        {
-        //Get model from engine
-        TRAPD( err, iEngine->GetCharacterModelL( iCurrentChar, iHwrBox->Model() ) );
-        if ( err == KErrNone )
-            {
-            iHwrBox->ModelIsReady();
-            //Activate clear button and preview button
-            if ( iClearBtn )
-                {
-                iClearBtn->SetDimmed( EFalse );
-                iClearBtn->DrawNow();
-                }
-            if ( iPreviewBtn )
-                {
-                iPreviewBtn->SetDimmed( EFalse );
-                iPreviewBtn->DrawNow();
-                }
-            }
-        //Preview    
-        iHwrBox->PlayAnimation( EFalse );
-        }
-    else
-        {
-        iHwrBox->ModelIsReady( EFalse );
-        if ( iClearBtn )
-            {
-            //Dim clear button and preview button       
-            iClearBtn->SetDimmed( ETrue );
-            iClearBtn->DrawNow();
-            }
-        if ( iPreviewBtn )
-            {
-            iPreviewBtn->SetDimmed( ETrue );
-            iPreviewBtn->DrawNow();            
-            }
-        } 
-    }
-    
-// ---------------------------------------------------------------------------
-// Preview character model
-// ---------------------------------------------------------------------------
-//
-void CTruiMainViewContainer::PreviewCharacterModel()
-    {
-    if ( iEngine->CheckCharacterModel( iCurrentChar ) )
-        {
-        iHwrBox->PlayAnimation( EFalse );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Clear current model
-// ---------------------------------------------------------------------------
-//
-void CTruiMainViewContainer::ClearCurrentModel()
-    {
-    if ( iClearBtn )
-        {
-        iClearBtn->SetDimmed( ETrue );
-        iClearBtn->DrawNow();
-        }
-    if ( iPreviewBtn )
-        {
-        iPreviewBtn->SetDimmed( ETrue );
-        iPreviewBtn->DrawNow();        
-        }
-    iHwrBox->ClearExistModel();
-    }
-    
-// ---------------------------------------------------------------------------
-// Popup information note
-// ---------------------------------------------------------------------------
-//    
-void CTruiMainViewContainer::PopupInformationNoteL( const TDesC& aText )
-    {         
-    CAknInformationNote* note = new (ELeave) CAknInformationNote( ETrue );
-    note->ExecuteLD( aText );
-    }
-// ---------------------------------------------------------------------------
-// Adjust special behavior characters to displayable characters.
-// ---------------------------------------------------------------------------
-// 
-void CTruiMainViewContainer::AdjustDisplayChars( TDes& aResult )
-    {
-    if ( aResult.Length() > 0 && aResult.Length() <= 1 )
-        {
-        switch ( aResult[0] )
-            {
-            case EKeyEnter:
-                {
-                aResult.Replace( 0, 1, KDisplayEnter );
-                break;
-                }
-            case EKeySpace:
-                {
-                aResult.Replace( 0, 1, KDisplaySpace );
-                break;
-                }
-            case EKeyBackspace:
-                {
-                aResult.Replace( 0, 1, KDisplayBackspace );
-                break;
-                }
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Delete model of the shortcut
-// ---------------------------------------------------------------------------
-//
-void CTruiMainViewContainer::DeleteModelL()
-    {
-    // Delete shortcut from engine
-    if ( iEngine->DeleteCharacterModel( *iIindicator->Text() )
-        == KErrNone )
-        {
-        ClearCurrentModel();
-
-        // Pop tooltip        
-        HBufC* tooltipText = 
-                     iEikonEnv->AllocReadResourceLC( R_TRUI_TOOLTIP_DELETED );
-        TPoint hwrPos = iHwrBox->PositionRelativeToScreen();
-        iHwrBox->ShowTooltipL( *tooltipText, 
-                      hwrPos + TPoint( iHwrBox->Size().iWidth, KHwrTooltipY ),
-                      KTooltipShowDelay, KTooltipHideDelay );        
-        CleanupStack::PopAndDestroy( tooltipText );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Delete all models of current character
-// ---------------------------------------------------------------------------
-//
-void CTruiMainViewContainer::DeleteAllModelL()
-    {
-    // Popup note dialog
-    CAknQueryDialog* dlg = CAknQueryDialog::NewL();
-    if ( dlg->ExecuteLD( R_TRUI_QUERYDIALOG_DELETE_ALL_MODELS ) )
-        {
-        // press yes 
-        const HBufC* charSet = iEngine->CharacterSet();
-        for ( TInt i = 0; i < charSet->Length(); i++ )
-            {
-            if ( iEngine->CheckCharacterModel( charSet->Mid( i, 1 ) ) )
-                {
-                if ( *iIindicator->Text() == charSet->Mid( i, 1 ) )
-                    {
-                    DeleteModelL();
-                    }
-                else
-                    {
-                    iEngine->DeleteCharacterModel( charSet->Mid( i, 1 ) );
-                    }
-                }
-            }    
-        }    
-    }
-    
-// ---------------------------------------------------------------------------
-// Get character set Id, 
-// used to choose which characters will be displayed in SCT
-// ---------------------------------------------------------------------------
-//
-TInt CTruiMainViewContainer::SctCharacterSetId( TInt aRangeId )
-    {
-    TInt characterSetId;
-    switch ( aRangeId )
-        {
-        case EMainViewSubmenuLatinLowerLetter:
-            {
-            characterSetId = R_TRUI_SCT_CHARSET_LATIN_LOWER;
-            break;
-            }            
-        case EMainViewSubmenuCyrillicLowerLetters:
-            {
-            characterSetId = SctCyrillicLowerCharacterSetId
-                                            ( iEngine->InputLanguage() );
-            break;
-            }
-        case EMainViewSubmenuGreekLowerLetters:
-            {
-            characterSetId = R_TRUI_SCT_CHARSET_GREEK_LOWER;
-            break;
-            }        
-        case EMainViewSubmenuHebrewLetters:
-            {
-            characterSetId = R_TRUI_SCT_CHARSET_HEBREW_LETTERS;
-            break;
-            }        
-        case EMainViewSubmenuLatinAccent:
-            {
-            characterSetId = R_TRUI_SCT_CHARSET_LATIN_ACCENT;
-            break;
-            }            
-        case EMainViewSubmenuLatinUpperLetter:
-            {            
-            characterSetId = R_TRUI_SCT_CHARSET_LATIN_UPPER;
-            break;            
-            }
-        case EMainViewSubmenuCyrillicUpperLetters:
-            {            
-            characterSetId = SctCyrillicUpperCharacterSetId
-                                           ( iEngine->InputLanguage() );
-            break;
-            }
-        case EMainViewSubmenuCyrillicAccent:
-            {
-            characterSetId = R_TRUI_SCT_CHARSET_CYRILLIC_ACCENT;
-            break;
-            }                    
-        case EMainViewSubmenuGreekUpperLetters:
-            {
-            characterSetId = R_TRUI_SCT_CHARSET_GREEK_UPPER;
-            break;
-            }        
-        case EMainViewSubmenuDigital:
-            {
-            characterSetId = R_TRUI_SCT_CHARSET_LATIN_NUMERIC;
-            break;
-            }
-        case EMainViewSubmenuSymbols:
-            {
-            if ( FeatureManager::FeatureSupported(KFeatureIdChinese) )
-                {
-                characterSetId = R_TRUI_SCT_CHARSET_LATIN_SYMBOL_CHINESE;
-                }
-            else
-                {
-                characterSetId = R_TRUI_SCT_CHARSET_LATIN_SYMBOL;
-                }
-            break;
-            }
-        default:
-            {
-            characterSetId = 0;
-            }
-        }
-    return characterSetId;        
-    }
-
-// ---------------------------------------------------------------------------
-// Get cyrillic lower character set Id.
-// ---------------------------------------------------------------------------
-//
-TInt CTruiMainViewContainer::SctCyrillicLowerCharacterSetId
-                                                  ( TLanguage aInputLanguage )
-    {
-    if ( aInputLanguage == ELangBulgarian )
-        {
-        return R_TRUI_SCT_CHARSET_CYRILLIC_LOWER_BULGARIAN;
-        }
-    else if ( aInputLanguage == ELangRussian )
-        {
-        return R_TRUI_SCT_CHARSET_CYRILLIC_LOWER_RUSSIAN;
-        }
-    else if ( aInputLanguage == ELangUkrainian )
-        {
-        return R_TRUI_SCT_CHARSET_CYRILLIC_LOWER_UKRAINE;
-        }
-    else
-        {
-        return R_TRUI_SCT_CHARSET_CYRILLIC_LOWER;
-        }    
-    }
-
-// ---------------------------------------------------------------------------
-// Get cyrillic upper character set Id.
-// ---------------------------------------------------------------------------
-//
-TInt CTruiMainViewContainer::SctCyrillicUpperCharacterSetId
-                                                  ( TLanguage aInputLanguage )
-    {
-    if ( aInputLanguage == ELangBulgarian )
-        {
-        return R_TRUI_SCT_CHARSET_CYRILLIC_UPPER_BULGARIAN;
-        }
-    else if ( aInputLanguage == ELangRussian )
-        {
-        return R_TRUI_SCT_CHARSET_CYRILLIC_UPPER_RUSSIAN;
-        }
-    else if ( aInputLanguage == ELangUkrainian )
-        {
-        return R_TRUI_SCT_CHARSET_CYRILLIC_UPPER_UKRAINE;
-        }
-    else
-        {
-        return R_TRUI_SCT_CHARSET_CYRILLIC_UPPER;
-        }    
-    }
-
-// ---------------------------------------------------------------------------
-// Before exit, do some necessary operation
-// ---------------------------------------------------------------------------
-//
-void CTruiMainViewContainer::PrepareToExitL()
-    {
-    //If previous char's model is not saved, save it before exit.
-    if ( iHwrBox->BoxState() == CTruiHwrBox::ENewModelDraw )
-        {
-        //Call save function from hwrbox,
-        //in order to stop periodics in the hwrbox
-        iHwrBox->SaveModelByManuallyL();
-        }
-    iHwrBox->HideInfoPopupNote();
-    }
-
-// ---------------------------------------------------------------------------
-// This is called whenever the control gains or loses focus, 
-// ---------------------------------------------------------------------------
-// 
-void CTruiMainViewContainer::FocusChanged( TDrawNow /*aDrawNow*/ )
-    {    
-    if ( IsFocused() )
-        {        
-        if ( iHwrBox->BoxState() == CTruiHwrBox::EExistModelStop )
-            {
-            iHwrBox->ResumePlaying();
-            }
-        }
-    else
-        {
-        if ( iHwrBox->BoxState() == CTruiHwrBox::EExistModelDraw )
-            {
-            iHwrBox->PausePlaying();
-            }
-        }
-    iHwrBox->SetFocus( IsFocused() );
-    }
-        
-// ---------------------------------------------------------------------------
-// Gets the control's help context. Returns a NULL context by default.
-// ---------------------------------------------------------------------------
-//
-void CTruiMainViewContainer::GetHelpContext( TCoeHelpContext& aContext ) const
-    {    
-    aContext.iMajor = KUidtruiApp;
-    aContext.iContext = HWRT_HLP_MAIN_VIEW;
-    }
-
-// ---------------------------------------------------------------------------
-// Handle size changed.
-// ---------------------------------------------------------------------------
-//
-void CTruiMainViewContainer::DoSizeChanged( TInt aVarity )
-    {    
-    TRect rect = Rect();
-    
-    TAknWindowComponentLayout main_pane_layout = 
-                            AknLayoutScalable_Apps::main_hwr_training_pane();
-    TAknLayoutRect main_pane_layout_rect;
-    main_pane_layout_rect.LayoutRect( rect, main_pane_layout );
-    TRect main_pane_rect = main_pane_layout_rect.Rect();
-    
-    // Caculate hwr_training_navi_pane
-    TAknWindowComponentLayout navi_pane_layout = 
-               AknLayoutScalable_Apps::hwr_training_navi_pane( aVarity );
-    TAknLayoutRect navi_pane_layout_rect;
-    navi_pane_layout_rect.LayoutRect( main_pane_rect, navi_pane_layout );
-    TRect navi_pane_rect = navi_pane_layout_rect.Rect();
-    // Caculate navi pane contents
-    // hwr_training_navi_pane_g1
-    TAknWindowComponentLayout navi_pane_g1_layout = 
-               AknLayoutScalable_Apps::hwr_training_navi_pane_g1
-                                                  ( KVarityNaviPaneContents );
-    TAknLayoutRect navi_pane_g1_layout_rect;
-    navi_pane_g1_layout_rect.LayoutRect( navi_pane_rect, navi_pane_g1_layout );    
-    TRect choicelistRect = navi_pane_g1_layout_rect.Rect();    
-    iChoicelist->SetRect( choicelistRect );
-    
-    // hwr_training_navi_pane_g2
-    // hwr_training_navi_pane_g3
-    TAknWindowComponentLayout navi_pane_g3_layout = 
-               AknLayoutScalable_Apps::hwr_training_navi_pane_g3
-                                                  ( KVarityNaviPaneContents );       
-    TAknLayoutRect navi_pane_g3_layout_rect;
-    navi_pane_g3_layout_rect.LayoutRect( navi_pane_rect, navi_pane_g3_layout );    
-    iLeftBtn->SetRect( navi_pane_g3_layout_rect.Rect() );
-    // hwr_training_navi_pane_g4
-    TAknWindowComponentLayout navi_pane_g4_layout = 
-               AknLayoutScalable_Apps::hwr_training_navi_pane_g4
-                                                  ( KVarityNaviPaneContents );       
-    TAknLayoutRect navi_pane_g4_layout_rect;
-    navi_pane_g4_layout_rect.LayoutRect( navi_pane_rect, navi_pane_g4_layout );
-    iRightBtn->SetRect( navi_pane_g4_layout_rect.Rect() );
-    // hwr_training_navi_pane_g5
-    TAknWindowComponentLayout navi_pane_g5_layout = 
-               AknLayoutScalable_Apps::hwr_training_navi_pane_g5
-                                                  ( KVarityNaviPaneContents );
-    TAknLayoutRect navi_pane_g5_layout_rect;
-    navi_pane_g5_layout_rect.LayoutRect( navi_pane_rect, navi_pane_g5_layout );
-    TRect indicator_rect = navi_pane_g5_layout_rect.Rect();
-    iIindicator->SetRect( indicator_rect );
-    // hwr_training_navi_pane_t1    
-    TAknTextComponentLayout nave_pane_t1_layout = 
-               AknLayoutScalable_Apps::hwr_training_navi_pane_t1
-                                                  ( KVarityNaviPaneContents );
-    TAknLayoutText navi_pane_t1_layout_text;
-    navi_pane_t1_layout_text.LayoutText( indicator_rect, nave_pane_t1_layout );
-    iIindicator->SetFont( navi_pane_t1_layout_text.Font() );
-    iIindicator->SetLabelAlignment( navi_pane_t1_layout_text.Align() );
-    
-    // hwr_training_write_pane
-    TAknWindowComponentLayout write_pane_layout = 
-               AknLayoutScalable_Apps::hwr_training_write_pane( aVarity );       
-    TAknLayoutRect write_pane_layout_rect;
-    write_pane_layout_rect.LayoutRect( main_pane_rect, write_pane_layout );
-    iHwrBox->SetRect( write_pane_layout_rect.Rect() );
-    
-    TPoint hwrPos = iHwrBox->PositionRelativeToScreen();
-    iHwrBox->SetTooltipPosition( hwrPos + TPoint( iHwrBox->Size().iWidth, KHwrTooltipY ) );
-    
-    // hwr_training_instruct_pane
-    TAknWindowComponentLayout instruct_pane_layout = 
-               AknLayoutScalable_Apps::hwr_training_instruct_pane( aVarity );       
-    TAknLayoutRect instruct_pane_layout_rect;
-    instruct_pane_layout_rect.LayoutRect( main_pane_rect, instruct_pane_layout );    
-    iLabelPaneRect = instruct_pane_layout_rect.Rect();
-    
-    // count of text rows
-    TInt count = AknLayoutScalable_Apps::
-                 list_single_hwr_training_instruct_pane_ParamLimits().LastRow() + 1;
-
-    // array contains all text rows in help screen
-    RArray<TAknTextComponentLayout> textLayoutArray; 
-    iLineWidthArray.Reset();
-    for( TInt i = 0; i < count; i++ )
-        {
-        // pane area for each row
-        TAknWindowComponentLayout each_row_layout =  
-            AknLayoutScalable_Apps::list_single_hwr_training_instruct_pane( 0, 0, i );
-        TAknLayoutRect each_row_layout_rect;
-        each_row_layout_rect.LayoutRect( iLabelPaneRect, 
-                                         each_row_layout );
-        iLineWidthArray.Append( each_row_layout_rect.Rect().Width() );
-        // smaller pane for text itself
-        TAknTextComponentLayout each_row_text_layout =  
-            AknLayoutScalable_Apps::list_single_hwr_training_instruct_pane_t1();
-             
-        // composition of two latter componets
-        TAknTextComponentLayout textCompCompositionWiz = 
-            TAknWindowComponentLayout::ComposeText(
-                each_row_layout, each_row_text_layout );
- 
-        TRAPD(error, textLayoutArray.AppendL( textCompCompositionWiz ) );
-        // if error in append function, then just exit the loop      
-        if ( error != KErrNone )
-            {
-            
-            break;
-            }
-        }       
-        
-    iMultilineLayout = TAknTextComponentLayout::Multiline( textLayoutArray );        
-    if ( iLabeltext && iWrappedLabelText )
-        {
-        // Be ready to show label
-        TAknLayoutText multilineTextLayout;
-        multilineTextLayout.LayoutText( iLabelPaneRect, iMultilineLayout );    
-        const CFont* font = AknLayoutUtils::FontFromId( iMultilineLayout.FontId() );
-        TRAPD( err, WrapLabelTextL( font, *iLabeltext, iLineWidthArray, iWrappedLabelText ) );
-        if ( err == KErrNone )
-            {
-            TRAP_IGNORE( iLabel->SetTextL( *iWrappedLabelText ) );
-            }
-        else
-            {
-            TRAP_IGNORE( iLabel->SetTextL( *iLabeltext ) );
-            }        
-        AknLayoutUtils::LayoutLabel( iLabel, 
-                                     iLabelPaneRect, 
-                                     iMultilineLayout );
-        }
-    textLayoutArray.Close();
-    
-    TRgb labelColor = KRgbBlack;
-    TInt error = GetCachedLabelTextColor( labelColor );
-    if ( error == KErrNone )
-        {
-        TRAP_IGNORE( iLabel->OverrideColorL( EColorLabelText, labelColor ) );
-        TRAP_IGNORE( iIindicator->OverrideColorL( EColorLabelText, labelColor ) );
-        }
-    }
-    
-void CTruiMainViewContainer::HandlePointerEventL(const TPointerEvent& aPointerEvent)
-    {    
-    if ( iHwrBox->BoxState() == CTruiHwrBox::ENewModelDraw )
-        {
-        //Call save function from hwrbox,
-        //in order to stop periodics in the hwrbox
-        iHwrBox->HandlePointerEventL( aPointerEvent );       
-        }
-    else
-        {
-        CCoeControl::HandlePointerEventL( aPointerEvent );
-        }    
-    }
-
--- a/textinput/peninputhwrtrui/src/truishortcuteditcontainer.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1235 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Implement of class CTruiShortcutEditContainer
-*
-*/
-
-
-#include <eikedwin.h>
-#include <aknbutton.h>
-#include <eiklabel.h>
-#include <barsread.h>
-#include <aknnavide.h>
-#include <aknnotewrappers.h> 
-#include <trui.rsg>
-#include <AknsBasicBackgroundControlContext.h>
-#include <AknsDrawUtils.h>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <avkon.rsg>
-#include <layoutmetadata.cdl.h>
-#include <akntoolbar.h>
-#include <aknSctDialog.h>
-
-#include "truicontainerbase.h"
-#include "truishortcuteditcontainer.h"
-#include "truihwrbox.h"
-#include "truiengine.h"
-#include "truiappui.h"
-#include "truishortcutsview.h"
-#include "truiapplication.h"
-#include "truiappradiobutton.h"
-#include "truishortcutsview.h"
-#include "truiapplication.h"
-#include "truishortcutedittextview.h"
-#include "trui.hrh"
-#include "truishortcuteditview.h"
-
-const TInt KSimilarMsgLength = 160;
-
-// The maximum number of lines for tips
-const TInt KIndicatorBufSize = 2;
-
-// The index of each item in radio button groups
-const TInt KOwnIndex = 0;
-const TInt KPresetIndex = 1;
-
-// Layout for portrait
-const TPoint KLabelTipPosPortrait = TPoint( 0, 0 );
-const TSize KLabelTipSizePortrait = TSize( 360, 60 );
-const TPoint KRadioPosPortrait = TPoint( 5, 73 );
-const TSize KRadioSizePortrait = TSize( 196, 99 );
-const TPoint KLeftBtnPosPotrait = TPoint( 115, 160 );
-const TPoint KIndicatorPosPotrait = TPoint( 165, 160 );
-const TPoint KRightBtnPosPotrait = TPoint( 215, 160 );
-const TPoint KHwrBoxPosPortrait = TPoint( 90, 215 );
-
-const TSize KButtonSize = TSize( 50, 50 );
-
-// Layout for landscape
-const TPoint KRadioPosLandscape = TPoint( 5, 18 );
-const TPoint KLabelTipPosLandscape = TPoint( 5, 120 );
-const TSize KLabelTipSizeLandscape = TSize( 250, 120 );
-
-const TPoint KLeftBtnPos = TPoint( 300, 15 );
-
-const TPoint KRightBtnPos = TPoint( 400, 15 );
-const TPoint KIndicatorPosLandscape = TPoint( 350, 15 );
-const TSize KHwrBoxSizeLandscape = TSize( 200, 200 );
-const TPoint KHwrBoxPosLandscape = TPoint( 275, 80 );
-
-const TInt KTooltipPopupTimeOut = 0;
-const TInt KTooltipStayTimeOut = 3000;
-
-const TInt KSctBufferSize = 32;
-const TInt KHwrTooltipY = 20;
-
-_LIT( KActiveCharFormat, "%c" );
-
-// Varity of landscape for common components
-const TInt KVarityLandscape = 3;
-
-// Varity of portrait for common components
-const TInt KVarityPortrait = 2;
-
-const TInt KVarityListPane = 1;
-
-// ======== MEMBER FUNCTIONS ========
-
-CTruiShortcutEditContainer::CTruiShortcutEditContainer()
-    {  
-    iActiveCharPos = KErrNotFound;
-    }
-    
-void CTruiShortcutEditContainer::ConstructL( const TRect& aRect )
-    {    
-    // Initialize control array
-    InitComponentArrayL();
-        
-    // Set parent control or owning window
-    CreateWindowL();
-
-    iBackGround = CAknsBasicBackgroundControlContext::NewL
-                  ( KAknsIIDQsnBgAreaMain, Rect(), EFalse);
-    
-    // Initialize controls
-    InitializeControlsL();       
-    
-#ifdef TRAININGUI_FOR_PRESET
-    // Get all presets from Engine
-    HBufC* presetHBuf = iEikonEnv->AllocReadResourceLC( R_TRUI_PRESET_SYMBOLS );
-    for ( TInt i = 0; i < presetHBuf->Length(); i++ )
-        {
-        iPresets.Append( ( *presetHBuf )[i] );
-        }
-    CleanupStack::PopAndDestroy( presetHBuf );        
-#endif
-      
-    // Load setting data
-    CTruiShortcutEditView* view = static_cast<CTruiShortcutEditView*>
-                           ( iAppUi->View( KTruiShortcutEditViewId ) );
-    
-    if ( view->PreviousViewId() == TVwsViewId( KUidtruiApp, KTruiShortcutsViewId ) )
-        {
-        // Edit old shortcut
-        iEngine->GetShortcutModelL( iEngine->Shortcut(), 
-                                    iHwrBox->Model(), 
-                                    iUnicode );
-        // Backup shortcut model
-        BackupShortcutModel( iHwrBox->Model(), iUnicode );
-        // Load the current active char whether is own or preset.
-        iShortcutType = iUnicode ? KPresetIndex : KOwnIndex;
-        iIsEmptyHwrBox = iUnicode ? ETrue : EFalse;
-#ifdef TRAININGUI_FOR_PRESET
-        if ( iUnicode )
-            {
-            // Edit preset shortcut
-            iActiveCharPos = iPresets.Find( iUnicode );
-            }
-        else
-            {
-            // Edit own shortcut, get the first available preset shortcut
-            if ( FindFirstAvailableCharL( 0, iPresets.Count() - 1, 1, iUnicode ) )
-                {
-                iActiveCharPos = iPresets.Find( iUnicode );
-                }
-            else
-                {        
-                iActiveCharPos = KErrNotFound;
-                }            
-            }
-#endif
-        }
-    else
-        {
-        // Create new shortcut        
-        // Load the current active char whether is own or preset.
-        iShortcutType = KOwnIndex;
-        iIsEmptyHwrBox = ETrue;
-#ifdef TRAININGUI_FOR_PRESET
-        if ( FindFirstAvailableCharL( 0, iPresets.Count() - 1, 1, iUnicode ) )
-            {
-            iActiveCharPos = iPresets.Find( iUnicode );
-            }
-        else
-            {        
-            iActiveCharPos = KErrNotFound;
-            }
-#endif
-        }
-
-    // Set radio button
-    iRadioButtonContainer->HandlePointerRadioButtonL( iShortcutType, 
-                                                      EEventRequestFocus );
-    SetRect( aRect );
-    
-    ActivateL();
-    }
-    
-CTruiShortcutEditContainer* CTruiShortcutEditContainer::NewL( const TRect& aRect )
-    {
-    CTruiShortcutEditContainer* self = CTruiShortcutEditContainer::NewLC( aRect );
-    CleanupStack::Pop( self );
-    return self;
-    }
-    
-CTruiShortcutEditContainer* CTruiShortcutEditContainer::NewLC( const TRect& aRect )
-    {
-    CTruiShortcutEditContainer* self = new (ELeave) CTruiShortcutEditContainer();
-    CleanupStack::PushL( self );
-    self->ConstructL( aRect );
-    return self;
-    }
-    
-CTruiShortcutEditContainer::~CTruiShortcutEditContainer()
-    {
-    delete iBackGround;
-    delete iLabeltext;
-    delete iWrappedLabelText;
-    iModelBak.Close();
-    iPresets.Close();
-    iLineWidthArray.Close();
-    }
-    
-// ---------------------------------------------------------------------------
-// Create controls to be displayed in this container.
-// ---------------------------------------------------------------------------
-//
-void CTruiShortcutEditContainer::InitializeControlsL()
-    {
-    // Create fixed toolbar
-    CAknToolbar* toolbar = iAppUi->View( KTruiShortcutEditViewId )->Toolbar();
-    // Get Clear button from toolbar    
-    CAknButton* clearButton = static_cast<CAknButton*>
-                    ( toolbar->ControlOrNull( EShortcutEditViewDelete ) );
-
-    CreateRadioButtonL();         
-
-    CcnstructButtonL();
-    
-    CreateLabelL();
-    
-    CreateHwrBoxL();
-    }
-    
-// ---------------------------------------------------------------------------
-// From class CCoeControl.
-// Responds to changes to the size and position of the contents of this control.
-// ---------------------------------------------------------------------------
-//
-void CTruiShortcutEditContainer::SizeChanged()
-    {
-    TInt varity = Layout_Meta_Data::IsLandscapeOrientation() ? KVarityLandscape
-                                                             : KVarityPortrait;
-    DoSizeChanged( varity );
-    // Set hwrbox's rect to engine and set guiding line to hwrbox
-    iHwrBox->SetDisplayBottomGuideLine( ETrue );
-    TBool isDisplayTopGuideLine = ( iEngine->CurrentLanguageScript() 
-                             == EMainViewSubmenuHebrew ) ? ETrue : EFalse;
-    
-    iHwrBox->SetDisplayTopGuideLine( isDisplayTopGuideLine );
-        
-    if ( varity == KVarityLandscape )
-        {
-        DoLayoutLandscape();
-        }
-    else if ( varity == KVarityPortrait )  
-        {
-        DoLayoutPortait();
-        }
-    if ( iBackGround )
-        {
-        iBackGround->SetRect( Rect() );
-        }    
-    }
-
-// ---------------------------------------------------------------------------
-// Layout under landscape condition.
-// ---------------------------------------------------------------------------
-//    
-void CTruiShortcutEditContainer::DoLayoutLandscape()
-    {    
-#ifdef TRAININGUI_FOR_PRESET  
-    iRadioButtonContainer->SetRect( TRect( KRadioPosLandscape, 
-                                           KRadioSizePortrait ) );
-    iLeftBtn->SetRect( TRect( KLeftBtnPos, KButtonSize ) );
-    iRightBtn->SetRect( TRect( KRightBtnPos, KButtonSize ) );
-    iIndicator->SetRect( TRect( KIndicatorPosLandscape, KButtonSize ) );
-#endif
-    }
-    
-// ---------------------------------------------------------------------------
-// Layout under portait condition.
-// ---------------------------------------------------------------------------
-//    
-void CTruiShortcutEditContainer::DoLayoutPortait()
-    {
-#ifdef TRAININGUI_FOR_PRESET
-    iRadioButtonContainer->SetRect( TRect( KRadioPosPortrait, 
-                                           KRadioSizePortrait ) );    
-    iLeftBtn->SetRect( TRect( KLeftBtnPosPotrait, KButtonSize ) );
-    iRightBtn->SetRect( TRect( KRightBtnPosPotrait, KButtonSize ) );
-    iIndicator->SetRect( TRect( KIndicatorPosPotrait, KButtonSize ) );
-#endif
-    }    
-
-// ---------------------------------------------------------------------------
-// Save own shortcut.
-// ---------------------------------------------------------------------------
-//
-void CTruiShortcutEditContainer::SaveOwnShortcutL( const TDesC& aShortcut, 
-                                                   RArray<TPoint>& aModel,
-                                                   TDes& aErrMsg )
-    {
-    // Ensure the shortcut doesn't exist.
-    if ( iEngine->CheckShortcutModel( aShortcut ) )
-        {
-        iEngine->DeleteShortcut( aShortcut );
-        }
-    if ( aModel.Count() )
-        {
-        iEngine->SaveShortcutL( aShortcut, aModel, aErrMsg );
-        }
-    }    
-    
-// ---------------------------------------------------------------------------
-// Save preset shortcut.
-// ---------------------------------------------------------------------------
-//
-void CTruiShortcutEditContainer::SavePresetShortcutL( const TDesC& aShortcut, 
-                                                      TUint aUnicode )
-    {
-    // Ensure the shortcut doesn't exist.
-    if ( iEngine->CheckShortcutModel( aShortcut ) )
-        {
-        iEngine->DeleteShortcut( aShortcut );
-        }
-    // Check if aUnicode is in use.
-    RArray<TPoint> presetModel;
-    CleanupClosePushL( presetModel );
-    TBuf<KSimilarMsgLength> msg;
-    iEngine->GetPresetSymbolByUnicodeL( aUnicode, presetModel, msg );
-    if ( msg.Length() > 0 )
-        {
-        // In use, being assigned to some shortcut.
-        User::Leave( KErrInUse );
-        }
-    CleanupStack::PopAndDestroy( &presetModel );
-    iEngine->SavePresetShortcutL( aUnicode, aShortcut );
-    }
-
-// ---------------------------------------------------------------------------
-// Backup shortcut model. It is probably to be restored when press Back to exit.
-// ---------------------------------------------------------------------------
-//
-void CTruiShortcutEditContainer::BackupShortcutModel
-                                 ( const RArray<TPoint>& aOriginalModel,
-                                   TUint aOriginalUnicode )
-    {
-    iUnicodeBak = aOriginalUnicode;
-    if ( !iUnicodeBak )
-        {
-        // If old shortcut is own, it is necessary to store trails.
-        // If it is preset, backup is unecessary
-        for ( TInt i = 0; i < aOriginalModel.Count(); i++ )
-            {
-            iModelBak.Append( aOriginalModel[i] );
-            }        
-        }    
-    }
-
-// ---------------------------------------------------------------------------
-// Set active char.
-// ---------------------------------------------------------------------------
-//
-void CTruiShortcutEditContainer::SetActiveCharL( TUint aUnicode )
-    {
-    // Set active indicator
-    TBuf<KIndicatorBufSize> preset;
-
-    // Preset symbol
-    preset.Format( KActiveCharFormat, aUnicode );
-    iIndicator->SetTextL( preset );        
-    iIndicator->DrawNow();    
-    // Clear hwrbox and stop playing animation    
-    iHwrBox->ClearExistModel();
-    // Get model
-    TBuf<KSimilarMsgLength> similarMsg;
-    iEngine->GetPresetSymbolByUnicodeL( aUnicode, iHwrBox->Model(),
-                                        similarMsg );
-    // Play animation in HwrBox 
-    iHwrBox->ModelIsReady( ETrue );
-    if ( iShortcutType == KPresetIndex )
-        {
-        // As for preset, need to scale trails size firstly
-        iHwrBox->PlayAnimation( ETrue, CTruiContainerBase::OriginSymbolSize() );
-        }
-    else
-        {
-        iHwrBox->PlayAnimation();
-        }    
-    }
-
-// ---------------------------------------------------------------------------
-// Find the first available preset symbol.
-// ---------------------------------------------------------------------------
-//
-TBool CTruiShortcutEditContainer::FindFirstAvailableCharL( TInt aStartPos, 
-                                                           TInt aEndPos,
-                                                           TInt aDirection, 
-                                                           TUint& aUnicode )
-    {
-    while ( aStartPos != aEndPos && aStartPos < iPresets.Count() )
-        {
-        if ( !CheckPresetSymbolInUseL( iPresets[aStartPos] ) )
-            {            
-            aUnicode = iPresets[aStartPos];
-            return ETrue;
-            }
-        else
-            {
-            // In use
-            if ( iUnicodeBak == iPresets[aStartPos] )
-                {
-                // But the preset symbol is the old preset 
-                // which users are editting, 
-                // Still display the symbol in indicator                
-                aUnicode = iPresets[aStartPos];
-                return ETrue;
-                }
-            }
-        if ( aDirection )
-            {
-            // Go right           
-            aStartPos = ( ++aStartPos + iPresets.Count() ) % iPresets.Count();
-            }
-        else
-            {
-            // Go left
-            aStartPos = ( --aStartPos + iPresets.Count() ) % iPresets.Count();
-            }                    
-        }
-    if ( aEndPos < iPresets.Count() && !CheckPresetSymbolInUseL( iPresets[aEndPos] ) )
-        {
-        aUnicode = iPresets[aEndPos];
-        return ETrue;
-        }      
-    return EFalse;           
-    }
-    
-// ---------------------------------------------------------------------------
-// Return if the preset is in use.
-// ---------------------------------------------------------------------------
-//
-TBool CTruiShortcutEditContainer::CheckPresetSymbolInUseL( TUint aUnicode )
-    {
-    // Check if iUnicode is in use
-    RArray<TPoint> presetModels;
-    CleanupClosePushL( presetModels );
-    TBuf<KSimilarMsgLength> similarMsg;      
-    iEngine->GetPresetSymbolByUnicodeL( aUnicode,
-                                        presetModels,
-                                        similarMsg );
-    CleanupStack::PopAndDestroy( &presetModels );
-    if ( similarMsg.Length() )
-        {
-        return ETrue;
-        }
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// Do something to response to size changed.
-// ---------------------------------------------------------------------------
-// 
-void CTruiShortcutEditContainer::DoSizeChanged( TInt aVarity )
-    {
-    TRect rect = Rect();
-    
-    TAknWindowComponentLayout main_pane_layout = 
-                            AknLayoutScalable_Apps::main_hwr_training_pane();
-    TAknLayoutRect main_pane_layout_rect;
-    main_pane_layout_rect.LayoutRect( rect, main_pane_layout );
-    TRect main_pane_rect = main_pane_layout_rect.Rect();
-        
-    // hwr_training_write_pane
-    TAknWindowComponentLayout write_pane_layout = 
-               AknLayoutScalable_Apps::hwr_training_write_pane( aVarity );
-    TAknLayoutRect write_pane_layout_rect;
-    write_pane_layout_rect.LayoutRect( main_pane_rect, write_pane_layout );
-    iHwrBox->SetRect( write_pane_layout_rect.Rect() );
-    
-    TPoint hwrPos = iHwrBox->PositionRelativeToScreen();
-    iHwrBox->SetTooltipPosition( hwrPos + TPoint( iHwrBox->Size().iWidth, KHwrTooltipY ) );
-
-    // hwr_training_instruct_pane
-    TAknWindowComponentLayout instruct_pane_layout = 
-               AknLayoutScalable_Apps::hwr_training_instruct_pane( aVarity );
-    TAknLayoutRect instruct_pane_layout_rect;
-    instruct_pane_layout_rect.LayoutRect( main_pane_rect, instruct_pane_layout );    
-    // count of text rows
-    TInt count = AknLayoutScalable_Apps::
-                 list_single_hwr_training_instruct_pane_ParamLimits( KVarityListPane )
-                 .LastRow() + 1;
-
-    // array contains all text rows in help screen
-    RArray<TAknTextComponentLayout> textLayoutArray;
-    iLineWidthArray.Reset();
-    for( TInt i = 0; i < count; i++ )
-        {
-        // pane area for each row
-        TAknWindowComponentLayout each_row_layout =  
-            AknLayoutScalable_Apps::list_single_hwr_training_instruct_pane
-            ( KVarityListPane, 0, i );
-        TAknLayoutRect each_row_layout_rect;
-        each_row_layout_rect.LayoutRect( instruct_pane_layout_rect.Rect(), 
-                                         each_row_layout );
-        iLineWidthArray.Append( each_row_layout_rect.Rect().Width() );
-        // smaller pane for text itself
-        TAknTextComponentLayout each_row_text_layout =  
-            AknLayoutScalable_Apps::list_single_hwr_training_instruct_pane_t1();
-    
-        // composition of two latter componets
-        TAknTextComponentLayout textCompCompositionWiz = 
-            TAknWindowComponentLayout::ComposeText(
-                each_row_layout, each_row_text_layout );
- 
-        TRAPD(error, textLayoutArray.AppendL( textCompCompositionWiz ) );
-        // if error in append function, then just exit the loop      
-        if ( error != KErrNone )
-            {
-            break;
-            }
-        }       
-    iMultilineLayout = TAknTextComponentLayout::Multiline( textLayoutArray ); 
-    if ( iLabeltext && iWrappedLabelText )
-        {
-        // Be ready to show label
-        TAknLayoutText multilineTextLayout;
-        multilineTextLayout.LayoutText( instruct_pane_layout_rect.Rect(), iMultilineLayout );    
-        const CFont* font = AknLayoutUtils::FontFromId( iMultilineLayout.FontId() );
-        TRAPD( err, WrapLabelTextL( font, *iLabeltext, iLineWidthArray, iWrappedLabelText ) );
-        if ( err == KErrNone )
-            {
-            TRAP_IGNORE( iLabelTip->SetTextL( *iWrappedLabelText ) );
-            }
-        else
-            {
-            TRAP_IGNORE( iLabelTip->SetTextL( *iLabeltext ) );
-            }        
-        AknLayoutUtils::LayoutLabel( iLabelTip, 
-                                     instruct_pane_layout_rect.Rect(), 
-                                     iMultilineLayout );
-        }
-    textLayoutArray.Close();
-
-    TRgb labelColor = KRgbBlack;
-    TInt error = GetCachedLabelTextColor( labelColor );
-    if ( error == KErrNone )
-        {
-        TRAP_IGNORE( iLabelTip->OverrideColorL( EColorLabelText, labelColor ) );
-        TRAP_IGNORE( iIndicator->OverrideColorL( EColorLabelText, labelColor ) );
-        }
-    }
-        
-// ---------------------------------------------------------------------------
-// Create radio button.
-// ---------------------------------------------------------------------------
-//    
-void CTruiShortcutEditContainer::CreateRadioButtonL()
-    {
-    iRadioButtonContainer = CTruiRadioButton::NewL( this,
-                                             CTruiRadioButton::ERadioButton,
-                                             this );
-    Components().AppendLC( iRadioButtonContainer );
-    CleanupStack::Pop( iRadioButtonContainer );
-    
-    HBufC* radioTextOwn = iEikonEnv->AllocReadResourceLC
-                             ( R_TRUI_SHORTCUTEDITMODELVIEW_RADIOBUTTON_OWN );
-    iRadioButtonContainer->AddItem( radioTextOwn, CTruiRadioButton::ENonSelected );
-    CleanupStack::Pop( radioTextOwn ); // transfered ownership
-    HBufC* radioTextPreset = iEikonEnv->AllocReadResourceLC
-                             ( R_TRUI_SHORTCUTEDITMODELVIEW_RADIOBUTTON_PRESET );
-    iRadioButtonContainer->AddItem( radioTextPreset, CTruiRadioButton::ENonSelected );
-    CleanupStack::Pop( radioTextPreset ); // transfered ownership
-    iRadioButtonContainer->HandleItemAdditionL();
-    }
-   
-// ---------------------------------------------------------------------------
-// Create HWR box to write and play model
-// ---------------------------------------------------------------------------
-//    
-void CTruiShortcutEditContainer::CreateHwrBoxL()
-    {
-    CTruiHwrBox* hwrBox = CTruiHwrBox::NewL( this, this, iBackGround );    
-    hwrBox->SetHwrBoxFlag( CTruiHwrBox::EFrameHwrBox );
-    Components().AppendLC( hwrBox );
-    hwrBox->ActivateL();    
-    CleanupStack::Pop( hwrBox );
-    iHwrBox = hwrBox;
-    }
-
-// ---------------------------------------------------------------------------
-// Create buttons.
-// ---------------------------------------------------------------------------
-//    
-void CTruiShortcutEditContainer::CcnstructButtonL()
-    {
-    // Left button for last character
-    CAknButton* preButton = CreateButtonL( R_MAINVIEW_BUTTON_LEFT,
-                                           this,
-                                           this );
-    Components().AppendLC( preButton );
-    CleanupStack::Pop( preButton );    
-    iLeftBtn = preButton;
-
-    // Right button for next character
-    CAknButton* nextButton = CreateButtonL( R_MAINVIEW_BUTTON_RIGHT,
-                                           this,
-                                           this );
-    Components().AppendLC( nextButton );
-    CleanupStack::Pop( nextButton );    
-    iRightBtn = nextButton;    
-    }
-
-// ---------------------------------------------------------------------------
-// Create buttons.
-// ---------------------------------------------------------------------------
-//    
-void CTruiShortcutEditContainer::CreateLabelL()
-    {
-    //Create label tip
-    CEikLabel* tipLabel = new (ELeave) CEikLabel();
-    CleanupStack::PushL( tipLabel );    
-    tipLabel->SetContainerWindowL( *this );
-    tipLabel->SetTextL( KNullDesC );
-    tipLabel->ActivateL();
-    CleanupStack::Pop( tipLabel );
-    Components().AppendLC( tipLabel );
-    CleanupStack::Pop( tipLabel );
-    iLabelTip = tipLabel;    
-
-    // Create active character indicator
-    CEikLabel* aknLabel = new (ELeave) CEikLabel();
-    CleanupStack::PushL( aknLabel );
-    aknLabel->SetContainerWindowL( *this );
-    aknLabel->SetObserver( this );
-    aknLabel->SetAlignment( 
-         TGulAlignmentValue ( EEikLabelAlignHCenter|EEikLabelAlignVCenter ) );
-    aknLabel->SetTextL( KNullDesC );
-    aknLabel->ActivateL();
-    CleanupStack::Pop( aknLabel );
-    Components().AppendLC( aknLabel );    
-    CleanupStack::Pop( aknLabel );     
-    iIndicator = aknLabel;
-    iIndicator->SetObserver( this );    
-    }
-    
-// ---------------------------------------------------------------------------
-// Draw.
-// ---------------------------------------------------------------------------
-//    
-void CTruiShortcutEditContainer::Draw( const TRect& /*aRect*/ ) const
-    {
-    // Get the standard graphics context
-    CWindowGc& gc = SystemGc();
-    // Gets the control's extent
-    TRect rect( Rect());
-    // Clears the screen
-    gc.Clear( rect );
-
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();  
-    if ( AknsDrawUtils::HasBitmapBackground( skin, iBackGround ) ) 
-        {
-        AknsDrawUtils::Background( skin, iBackGround, gc, rect );
-        }   
-    }
-
-// ---------------------------------------------------------------------------
-// Switch to shortcuts view.
-// ---------------------------------------------------------------------------
-//  
-void CTruiShortcutEditContainer::SwitchToShortcutViewL()
-    {    
-    // Update shortcut list
-    iEngine->UpdateShortcutListL();
-    // Find the current shortcut's index in shortcut list
-    CDesCArray* shortcutList = iEngine->ShortcutTextList();
-    TInt index = DefaultSelectedIndex( shortcutList, iEngine->Shortcut() );
-    if ( index == KErrNotFound )
-        {
-        TInt oldIndex = iEngine->CurrentSelectedIndex();
-        if ( shortcutList )
-            {
-            index = ( oldIndex > shortcutList->Count() ) 
-                               ? shortcutList->Count() : oldIndex;
-            }
-        else
-            {
-            index = 0;
-            }
-        }
-       
-    // Set current index in Engine
-    iEngine->SetCurrentSelectedIndex( index );
-
-    // Close tooltip
-    iHwrBox->HideInfoPopupNote();
-
-    iAppUi->ActivateLocalViewL( KTruiShortcutsViewId );
-    // Show NaviDecorator
-    iAppUi->ShowNaviPaneL();
-    }
-
-// ---------------------------------------------------------------------------
-// Go back to previous view
-// ---------------------------------------------------------------------------
-//  
-void CTruiShortcutEditContainer::BackToPreviousViewL()
-    {
-    if ( iIsRestored )
-        {
-        // Check if restore the old shortcut
-        if ( iUnicodeBak )
-            {
-            // Old shortcut is preset, restore it.
-            SavePresetShortcutL( iEngine->Shortcut(), iUnicodeBak );
-            }
-        else
-            {
-            // Old shortcut is own, restore it.
-            // Or create new shortcut
-            TBuf<KSimilarMsgLength> similarMsg;
-            SaveOwnShortcutL( iEngine->Shortcut(), iModelBak, similarMsg );
-            }        
-        }  
-        
-    // Close tooltip
-    iHwrBox->HideInfoPopupNote();
-    
-    // Show NaviDecorator      
-    CTruiShortcutEditView* view = static_cast<CTruiShortcutEditView*>
-                           ( iAppUi->View( KTruiShortcutEditViewId ) );
-    iAppUi->ActivateLocalViewL( view->PreviousViewId().iViewUid );
-    
-    if ( view->PreviousViewId() == TVwsViewId( KUidtruiApp, KTruiShortcutsViewId ) )
-        {
-        iAppUi->ShowNaviPaneL();        
-        }    
-    }
-    
-// ---------------------------------------------------------------------------
-// Handles an event from an observed control.
-// ---------------------------------------------------------------------------
-//     
-void CTruiShortcutEditContainer::HandleControlEventL( CCoeControl* aControl,
-                                                      TCoeEvent aEventType )
-    {
-    if ( aControl == iLeftBtn && aEventType == EEventStateChanged )
-        {        
-        if ( iActiveCharPos != KErrNotFound )
-            {
-            // Edit an old preset
-            // Find first available preset, otherwise, show error note all in use
-            // Create a new preset shortcut but at least one is available
-            // Find first available preset, otherwise, nothing to do
-            TInt startPos = ( iActiveCharPos - 1 + iPresets.Count() ) 
-                            % iPresets.Count();
-            TInt endPos = ( iActiveCharPos + 1 + iPresets.Count() ) 
-                            % iPresets.Count();       
-            if ( FindFirstAvailableCharL( startPos, endPos, 0, iUnicode ) )
-                {
-                iActiveCharPos = iPresets.Find( iUnicode );
-                SetActiveCharL( iUnicode ); 
-                }
-            else if ( !iEngine->NewShortcut() )
-                {
-                // if Create a new preset shortcut but at least one is available
-                // nothing to do
-                // show error note : all in use
-                PopupTooltipL( R_TRUI_SHORTCUTEDITVIEW_ERROR_NOTE_ALL_IN_USE );
-                }
-            }
-        else
-            {
-            // Create a new preset, but all in use
-            // Show error note
-            PopupTooltipL( R_TRUI_SHORTCUTEDITVIEW_ERROR_NOTE_ALL_IN_USE );
-            }
-        }
-    else if ( aControl == iRightBtn && aEventType == EEventStateChanged )
-        {
-        if ( iActiveCharPos != KErrNotFound )
-            {
-            // Edit an old preset
-            // Find first available preset, otherwise, show error note all in use
-            // Create a new preset shortcut but at least one is available
-            // Find first available preset, otherwise, nothing to do
-            TInt startPos = ( iActiveCharPos + 1 + iPresets.Count() ) 
-                            % iPresets.Count();
-            TInt endPos = ( iActiveCharPos - 1 + iPresets.Count() ) 
-                            % iPresets.Count();       
-            if ( FindFirstAvailableCharL( startPos, endPos, 1, iUnicode ) )
-                {
-                iActiveCharPos = iPresets.Find( iUnicode );
-                SetActiveCharL( iUnicode ); 
-                }
-            else if ( !iEngine->NewShortcut() )
-                {
-                // show error note : all in use
-                PopupTooltipL( R_TRUI_SHORTCUTEDITVIEW_ERROR_NOTE_ALL_IN_USE );
-                }
-            }
-        else
-            {
-            // Create a new preset, but all in use
-            // Show error note
-            PopupTooltipL( R_TRUI_SHORTCUTEDITVIEW_ERROR_NOTE_ALL_IN_USE );
-            }
-        }
-    else if ( iShortcutType == KPresetIndex && aControl == iIndicator 
-              && aEventType == EEventRequestFocus )
-        {
-        PreviewShortcutModel();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// From class MTruiHWRBoxObserver.
-// Handle the save model event
-// ---------------------------------------------------------------------------
-//
-void CTruiShortcutEditContainer::SaveNewModelL()
-    {
-    // Carry out saving new model
-    if ( iShortcutType == KOwnIndex )
-        {
-        iIsRestored = ETrue;
-        
-        // If shortcut is own, it will save new model
-        TBuf<KSimilarMsgLength> similarMsg;
-        TRAPD( err, SaveOwnShortcutL( iEngine->Shortcut(), 
-                                      iHwrBox->Model(), 
-                                      similarMsg ) );
-        switch ( err )
-            {
-            case KErrNone:
-                {
-                iIsEmptyHwrBox = EFalse;
-                CAknToolbar* toolbar = iAppUi->View( KTruiShortcutEditViewId )
-                                             ->Toolbar();
-                CAknButton* clearBtn = static_cast<CAknButton*>
-                          ( toolbar->ControlOrNull( EShortcutEditViewDelete ) );
-                clearBtn->SetDimmed( EFalse );
-                clearBtn->DrawNow(); 
-                CAknButton* previewBtn = static_cast<CAknButton*>
-                          ( toolbar->ControlOrNull( EShortcutEditViewPreviewModel ) );
-                previewBtn->SetDimmed( EFalse );
-                previewBtn->DrawNow(); 
-
-                TPoint hwrPos = iHwrBox->PositionRelativeToScreen();
-                HBufC* tooltipText = 
-                        iEikonEnv->AllocReadResourceLC( R_TRUI_TOOLTIP_SAVED );
-                iHwrBox->ShowTooltipL( *tooltipText, 
-                                  hwrPos + TPoint( iHwrBox->Size().iWidth, KHwrTooltipY ),
-                                       KTooltipPopupTimeOut, 
-                                       KTooltipStayTimeOut );
-                CleanupStack::PopAndDestroy( tooltipText );
-                break;
-                }
-            case KErrAlreadyExists:
-                {
-                //Clear invalid model
-                ClearCurrentModelL();
-                
-                //Popup err message
-                PopupTooltipL( R_TRUI_SHORTCUTEDITVIEW_ERROR_NOTE_IN_USE );
-                break;
-                }
-                
-            }
-        }       
-    }
-
-// ---------------------------------------------------------------------------
-// From class MTruiHWRBoxObserver.
-// Handle the message event from the HWRBox
-// ---------------------------------------------------------------------------
-//
-void CTruiShortcutEditContainer::HandleEventL( TMessageType aMessage )
-    {
-    if ( aMessage == EModelExist )
-        {
-        PopupTooltipL( R_TRUI_NOTE_CLEAR_BOX );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// From class MTruiHWRBoxObserver.
-// Notify that which radio button is selected.
-// ---------------------------------------------------------------------------
-//
-void CTruiShortcutEditContainer::SelectChangedL( TInt aIndex )
-    {
-    // Change the text below radio buttons
-    TInt tipResource = aIndex ? R_TRUI_SHORTCUTEDITVIEW_PRESET_SYMBOL
-                              : R_TRUI_SHORTCUTEDITVIEW_OWN_SYMBOL;    
-    delete iLabeltext;
-    iLabeltext = NULL;
-    iLabeltext = iEikonEnv->AllocReadResourceL( tipResource );
-    delete iWrappedLabelText;
-    iWrappedLabelText = NULL;
-    // count of text rows
-    TInt lines = AknLayoutScalable_Apps::
-                 list_single_hwr_training_instruct_pane_ParamLimits( KVarityListPane )
-                 .LastRow() + 1;         
-    iWrappedLabelText = HBufC::NewL( iLabeltext->Length() + lines
-                                     + KExtraSize );
-    // Be ready to show label
-    const CFont* font = AknLayoutUtils::FontFromId( iMultilineLayout.FontId() );
-    TRAPD( err, WrapLabelTextL( font, *iLabeltext, iLineWidthArray, iWrappedLabelText ) );
-    if ( err == KErrNone )
-        {
-        iLabelTip->SetTextL( *iWrappedLabelText );
-        }
-    else
-        {
-        iLabelTip->SetTextL( *iLabeltext );
-        }
-    // Get Clear button from toolbar
-    CAknToolbar* toolbar = iAppUi->View( KTruiShortcutEditViewId )->Toolbar();
-    CAknButton* clearBtn = static_cast<CAknButton*>
-                ( toolbar->ControlOrNull( EShortcutEditViewDelete ) );
-    CAknButton* gridBtn = static_cast<CAknButton*>
-                ( toolbar->ControlOrNull( EShortcutEditViewGrid ) );
-    // Dim left and right buttons when selecting "own symbol"
-    TBool btnDimmed = aIndex ? EFalse : ETrue;
-    iLeftBtn->SetDimmed( btnDimmed );
-    iLeftBtn->DrawNow();
-    iRightBtn->SetDimmed( btnDimmed );
-    iRightBtn->DrawNow();
-
-    // Set grid button status
-    gridBtn->SetDimmed( btnDimmed );
-    gridBtn->DrawNow();
-
-    // Set active indicator
-    TBuf<KIndicatorBufSize> preset;
-    if ( aIndex && iUnicode )
-        {
-        // Preset symbol
-        preset.Format( KActiveCharFormat, iUnicode );
-        }
-    else
-        {
-        // Own
-        preset.Copy( KNullDesC );
-        }
-    iIndicator->SetTextL( preset );        
-    iIndicator->DrawNow();    
-
-    // Update current shortcut type
-    iShortcutType = aIndex;   
-
-    // Clear hwrbox and stop playing animation    
-    iHwrBox->ClearExistModel();
-    
-    if ( iShortcutType == KPresetIndex )
-        {
-        // If preset shortcut, get trail points.
-        TBuf<KSimilarMsgLength> similarMsg;
-        iEngine->GetPresetSymbolByUnicodeL( iUnicode, 
-                                            iHwrBox->Model(), similarMsg );
-        iHwrBox->ModelIsReady( ETrue );
-        iHwrBox->PlayAnimation( ETrue, CTruiContainerBase::OriginSymbolSize() );
-        }
-    else if ( !iIsEmptyHwrBox )
-        {
-        // If own shortcut, get trail points
-        TUint unicode = 0;
-        iEngine->GetShortcutModelL( iEngine->Shortcut(), iHwrBox->Model(),
-                                    unicode );
-        iHwrBox->ModelIsReady( ETrue );
-        iHwrBox->PlayAnimation();
-        }
-
-    // Set hwrbox model
-    if ( iShortcutType == KPresetIndex )
-        {        
-        iHwrBox->SetHwrBoxReadOnly( ETrue );        
-        }
-    else
-        {
-        iHwrBox->SetHwrBoxReadOnly( EFalse );
-        }
-    
-    // Set clear button's status
-    clearBtn->SetDimmed( !( iHwrBox->Model().Count() ) | aIndex );
-    clearBtn->DrawNow();
-
-    // Set preview button status
-    CAknButton* previewBtn = static_cast<CAknButton*>
-              ( toolbar->ControlOrNull( EShortcutEditViewPreviewModel ) );
-
-    previewBtn->SetDimmed( !( iHwrBox->Model().Count() | aIndex ) );
-    previewBtn->DrawNow();
-    }
-    
-// ---------------------------------------------------------------------------
-// Preview shortcut model
-// ---------------------------------------------------------------------------
-//
-void CTruiShortcutEditContainer::PreviewShortcutModel()
-    {
-    //even hwrbox know if current character has existing model.
-    //ask for engine to confirm this
-    iHwrBox->PlayAnimation(); 
-    }
-
-// ---------------------------------------------------------------------------
-// Check if model exist
-// ---------------------------------------------------------------------------
-//
-TBool CTruiShortcutEditContainer::HasShortcutModel()
-    {    
-    return EFalse;
-    }
-    
-// ---------------------------------------------------------------------------
-// Prepare to exit
-// ---------------------------------------------------------------------------
-//
-TBool CTruiShortcutEditContainer::PrepareToExitL()
-    {
-    iHwrBox->HideInfoPopupNote();
-    //If previous char's model is not saved, save it before exit.
-    if ( iHwrBox->BoxState() == CTruiHwrBox::ENewModelDraw )
-        {
-        //Call save function from hwrbox,
-        //in order to stop periodics in the hwrbox
-        iHwrBox->SaveModelByManuallyL();
-        }
-        
-    //After saving model, if shortcut model is empty,
-    //notice user that shortcut will be delete.
-    if ( iHwrBox->Model().Count() == 0 )
-        {
-        // Not assign model to shortcut
-        CAknQueryDialog* dlg = CAknQueryDialog::NewL();
-        if ( dlg->ExecuteLD( R_TRUI_QUERYDIALOG_SHORTCUT_NOT_ASSIGNED ) )
-            {
-            // yes/ok pressed
-            iEngine->DeleteShortcut( iEngine->Shortcut() );
-            return ETrue;
-            }
-        else
-            {
-            return EFalse;
-            }
-        }
-    else
-        {
-        if ( iShortcutType == KPresetIndex )
-            {
-            // Save preset
-            // No need to save own preset again, because it has been saved before.
-            TRAPD( err, SavePresetShortcutL( iEngine->Shortcut(), iUnicode ) );
-            if ( err == KErrInUse )
-                {
-                // Pop information note
-                HBufC* errMsg = iEikonEnv->AllocReadResourceLC
-                              ( R_TRUI_SHORTCUTEDITVIEW_ERROR_NOTE_IN_USE );
-                CAknConfirmationNote* note = new (ELeave) CAknConfirmationNote 
-                                                                    ( ETrue );
-                note->ExecuteLD( *errMsg );                
-                CleanupStack::PopAndDestroy( errMsg );
-                return EFalse;
-                }                
-            }
-        }
-    return ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// Clear current model
-// ---------------------------------------------------------------------------
-//
-void CTruiShortcutEditContainer::ClearCurrentModelL()
-    {
-    // Get Clear button from toolbar
-    CAknToolbar* toolbar = iAppUi->View( KTruiShortcutEditViewId )->Toolbar();    
-    CAknButton* clearBtn = static_cast<CAknButton*>
-                ( toolbar->ControlOrNull( EShortcutEditViewDelete ) );    
-    clearBtn->SetDimmed( ETrue );
-    clearBtn->DrawNow();
-    
-    // Set preview button status
-    CAknButton* previewBtn = static_cast<CAknButton*>
-              ( toolbar->ControlOrNull( EShortcutEditViewPreviewModel ) );
-
-    previewBtn->SetDimmed( ETrue );
-    previewBtn->DrawNow();
-
-    iHwrBox->ClearExistModel();
-    HBufC* tipText = iEikonEnv->AllocReadResourceLC( R_TRUI_TOOLTIP_DELETED );
-    TPoint hwrPos = iHwrBox->PositionRelativeToScreen();
-    iHwrBox->ShowTooltipL( *tipText, 
-                           hwrPos + TPoint( iHwrBox->Size().iWidth, KHwrTooltipY ),
-                           KTooltipPopupTimeOut, KTooltipStayTimeOut );
-    CleanupStack::PopAndDestroy( tipText ); 
-    iIsEmptyHwrBox = ETrue;
-    }
-    
-// ---------------------------------------------------------------------------
-// Popup tooltip
-// ---------------------------------------------------------------------------
-//    
-void CTruiShortcutEditContainer::PopupTooltipL( TInt aResourceID )
-    {
-    HBufC* tooltiptext =iEikonEnv->AllocReadResourceLC( aResourceID );
-    CAknInformationNote* note = new (ELeave) CAknInformationNote( ETrue );
-    note->ExecuteLD( *tooltiptext );
-    CleanupStack::PopAndDestroy( tooltiptext );
-    }
-
-// ---------------------------------------------------------------------------
-// This is called whenever the control gains or loses focus, 
-// ---------------------------------------------------------------------------
-// 
-void CTruiShortcutEditContainer::FocusChanged( TDrawNow /*aDrawNow*/ )
-    {
-    if ( IsFocused() )
-        {
-        if ( iHwrBox->BoxState() == CTruiHwrBox::EExistModelStop )
-            {
-            iHwrBox->ResumePlaying();
-            }
-        }
-    else
-        {
-        if ( iHwrBox->BoxState() == CTruiHwrBox::EExistModelDraw )
-            {
-            iHwrBox->PausePlaying();
-            }
-        }
-    iHwrBox->SetFocus( IsFocused() );
-    }
-
-// ---------------------------------------------------------------------------
-// Return the currently selected index, which will be set in Shortcuts view.
-// ---------------------------------------------------------------------------
-//
-TInt CTruiShortcutEditContainer::DefaultSelectedIndex( const CDesCArray* aItemList,
-                                                       const TDesC& aText )
-    {    
-    if ( aItemList )
-        {
-        for ( TInt i = 0; i < aItemList->Count(); i++ )
-            {        
-            if ( (*aItemList)[i].Compare( aText ) == 0 )
-                {
-                return i + 1;
-                }
-            }
-        }
-    return KErrNotFound;
-    }
-
-// ---------------------------------------------------------------------------
-// Popup SCT dialog.
-// ---------------------------------------------------------------------------
-//
-void CTruiShortcutEditContainer::PopupSctDialogL()
-    {
-    TBuf<KSctBufferSize> selectedStr;
-    CAknCharMapDialog* sct = new (ELeave) CAknCharMapDialog( EAknSCTLowerCase, 
-                                           selectedStr, 
-                                           R_TRUI_SCT_CHARSET_PRESET );    
-    TInt keyboardMode = CurrentKeyBoardModeL(); 
-    if ( keyboardMode )
-        {
-        // QWERTY: Lock numeric keys.
-        sct->LockNumericKeys( ETrue );
-        }
-    else
-        {
-        // ITU-T: Unlock numeric keys.
-        sct->LockNumericKeys( EFalse );
-        }
-    sct->DisableRecentCharsRow();
-    if ( sct->ExecuteLD( R_TRUI_SCT_DIALOG ) )
-        {        
-        TInt selectedUnicode = selectedStr.Length() ? selectedStr[0] : NULL;
-        TBool isInUse = CheckPresetSymbolInUseL( selectedUnicode );
-        if ( isInUse && selectedUnicode != iUnicodeBak )
-            {
-            // Preset is in use
-            //Popup err message
-            PopupTooltipL( R_TRUI_SHORTCUTEDITVIEW_ERROR_NOTE_IN_USE );
-            return;
-            }
-        else
-            {
-            TInt activePos = iPresets.Find( selectedUnicode );
-            
-            // Set active char pos
-            iActiveCharPos = ( activePos != KErrNotFound ) ? activePos : 0;
-            iUnicode = iPresets[iActiveCharPos];
-            SetActiveCharL( selectedUnicode );            
-            }        
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// From class CCoeControl.
-// Handles a change to the control's resources.
-// ---------------------------------------------------------------------------
-//
-void CTruiShortcutEditContainer::HandleResourceChange( TInt aType )
-    {
-    CTruiContainerBase::HandleResourceChange( aType );
-    if ( aType == KEikDynamicLayoutVariantSwitch && iHwrBox )
-        {
-        if ( iHwrBox->BoxState() == CTruiHwrBox::ENewModelDraw )
-            {
-            TRAP_IGNORE( iHwrBox->SaveModelByManuallyL() );
-            }        
-        }    
-
-    if ( aType == KAknsMessageSkinChange )
-        {
-        TRgb labelColor = KRgbBlack;
-        TInt error = GetCachedLabelTextColor( labelColor );
-        if ( error == KErrNone )
-            {
-            TRAPD( errLable, iLabelTip->OverrideColorL( EColorLabelText, 
-                                                        labelColor ) );
-            if ( errLable != KErrNone )
-                {
-                return;
-                }
-            TRAP_IGNORE( iIndicator->OverrideColorL( EColorLabelText, 
-                                                     labelColor ) );
-            }        
-        }         
-    }
--- a/textinput/peninputhwrtrui/src/truishortcutedittextview.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,162 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Implement of class CTruiShortcutEditTextView
-*
-*/
-
-
-#include <akntextsettingpage.h>
-#include <trui.rsg>
-#include <akntoolbar.h>
-#include <eikcolib.h>
-
-#include "truiappui.h"
-#include "truishortcutedittextview.h"
-#include "truitextsettingpagecontainer.h"
-#include "truiengine.h"
-#include "truiinfomessageview.h"
-#include "truiapplication.h"
-#include "truishortcuteditview.h"
-#include "truishortcutsview.h"
-#include "truicontainerbase.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-CTruiShortcutEditTextView::CTruiShortcutEditTextView()
-    {
-    }
-
-void CTruiShortcutEditTextView::ConstructL()
-    {
-    BaseConstructL(R_TRUI_SHORTCUTEDITTEXTVIEW);
-    }
-
-CTruiShortcutEditTextView* CTruiShortcutEditTextView::NewL()
-    {
-    CTruiShortcutEditTextView* self = CTruiShortcutEditTextView::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-CTruiShortcutEditTextView* CTruiShortcutEditTextView::NewLC()
-    {
-    CTruiShortcutEditTextView* self = new( ELeave ) CTruiShortcutEditTextView;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-CTruiShortcutEditTextView::~CTruiShortcutEditTextView()
-    {
-    }
-    
-// ---------------------------------------------------------------------------
-// From class CAknView.
-// Returns views id.
-// ---------------------------------------------------------------------------
-//
-TUid CTruiShortcutEditTextView::Id() const
-    {
-    return KTruiShortcutEditTextViewId;    
-    }    
-
-// ---------------------------------------------------------------------------
-// From class CAknView.
-// Carried out when View is activated
-// ---------------------------------------------------------------------------
-//
-void CTruiShortcutEditTextView::DoActivateL( const TVwsViewId& aPrevViewId,
-                  TUid /*aCustomMessageId*/,
-                  const TDesC8& /*aCustomMessage*/ )
-	{    
-    CTruiAppUi* appui = static_cast<CTruiAppUi*>( AppUi() );
-    if ( aPrevViewId == TVwsViewId( KUidtruiApp, KTruiInfoMessageViewId ) 
-         || aPrevViewId == TVwsViewId( KUidtruiApp, KTruiShortcutsViewId ) )
-        {
-        if ( appui->HwrEngine()->NewShortcut() )
-            {
-            iStartView = TVwsViewId( KUidtruiApp, KTruiInfoMessageViewId );
-            }
-        else
-            {
-            iStartView = aPrevViewId;
-            }        
-        }
-    
-    // Set title pane
-    if ( iStartView == TVwsViewId( KUidtruiApp, KTruiInfoMessageViewId ) )
-        {
-        HBufC* titleText = iEikonEnv->AllocReadResourceLC
-                           ( R_TRUI_SHORTCUTEDITTEXTVIEW_TITLEPANE_TEXT );
-        HBufC* titleNumber = iEikonEnv->AllocReadResourceLC
-                           ( R_TRUI_SHORTCUTEDITTEXTVIEW_TITLEPANE_NUMBER );
-         
-        // Offer new locfile by localization team
-        HBufC* titlePaneText = iEikonEnv->AllocReadResourceLC
-                       ( R_TRUI_SHORTCUTEDITVIEW_TITLEPANE_TEXT );
-        appui->ShowTitlePaneL( *titlePaneText );
-        CleanupStack::PopAndDestroy( titlePaneText );
-        CleanupStack::PopAndDestroy( titleNumber );
-        CleanupStack::PopAndDestroy( titleText );
-        }
-	else if ( iStartView == TVwsViewId( KUidtruiApp, KTruiShortcutsViewId ) )
-	    {
-        HBufC* titleText = iEikonEnv->AllocReadResourceLC
-                           ( R_TRUI_SHORTCUTEDITTEXTVIEW_TITLEPANE_TEXT );
-        appui->ShowTitlePaneL( *titleText );
-        CleanupStack::PopAndDestroy( titleText );
-	    }
-	    
-	// Close navi pane
-    appui->CloseNaviPaneL();
-
-    // Open container
-    if ( iStartView == TVwsViewId( KUidtruiApp, KTruiInfoMessageViewId ) )
-        {
-        iContainer = CTruiTextSettingPageContainer::NewL
-                                              ( R_TRUI_SHORTCUT_WIZARD_EDITOR,
-                                                appui->HwrEngine()->Shortcut(),
-                                                ClientRect(),
-                                                EFalse,
-                        CAknTextSettingPage::EPutCursorAtEnd | 
-                        CAknTextSettingPage::EPredictiveTextEntryPermitted );
-        }
-    else
-        {
-        iContainer = CTruiTextSettingPageContainer::NewL
-                                              ( R_TRUI_SHORTCUT_EDIT_TEXT_EDITOR,
-                                                appui->HwrEngine()->Shortcut(),
-                                                ClientRect(),
-                                                ETrue,
-                        CAknTextSettingPage::EPutCursorAtEnd | 
-                        CAknTextSettingPage::EPredictiveTextEntryPermitted );
-        }    
-	AppUi()->AddToStackL( *this, iContainer );	
-	}
-
-// ---------------------------------------------------------------------------
-// From class CAknView.
-// Carried out when View is deactivated
-// ---------------------------------------------------------------------------
-//
-void CTruiShortcutEditTextView::DoDeactivate()
-    {
-    if ( iContainer )
-        {
-        AppUi()->RemoveFromStack( iContainer );
-        delete iContainer;
-        iContainer = NULL;
-        }
-
-    }
--- a/textinput/peninputhwrtrui/src/truishortcuteditview.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,195 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Implement of class CTruiShortcutEditView
-*
-*/
-
-
-#include <aknViewAppUi.h>
-#include <trui.rsg>
-#include <eikmenup.h>
-#include <eikbtgpc.h>
-#include <avkon.rsg>
-#include <akntoolbar.h>
-
-#include "truishortcuteditview.h"
-#include "truishortcuteditcontainer.h"
-#include "truiappui.h"
-#include "trui.hrh"
-#include "truishortcutsview.h"
-#include "truiapplication.h"
-#include "truiengine.h"
-#include "truishortcutedittextview.h"
-
-_LIT( KSeperatorBetweenTitle, " " );
-
-// ======== MEMBER FUNCTIONS ========
-
-CTruiShortcutEditView::CTruiShortcutEditView()
-    {
-    }
-
-void CTruiShortcutEditView::ConstructL()
-    {
-    BaseConstructL( R_TRUI_SHORTCUTEDITVIEW );
-    }
-
-CTruiShortcutEditView* CTruiShortcutEditView::NewL()
-    {
-    CTruiShortcutEditView* self = CTruiShortcutEditView::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-CTruiShortcutEditView* CTruiShortcutEditView::NewLC()
-    {
-    CTruiShortcutEditView* self = new( ELeave ) CTruiShortcutEditView;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-CTruiShortcutEditView::~CTruiShortcutEditView()
-    {
-    }
-    
-// ---------------------------------------------------------------------------
-// From class CAknView.
-// Returns views id.
-// ---------------------------------------------------------------------------
-//
-TUid CTruiShortcutEditView::Id() const
-    {
-    return KTruiShortcutEditViewId;    
-    }
-    
-// ---------------------------------------------------------------------------
-// From class CAknView.
-// Command handling function.
-// ---------------------------------------------------------------------------
-//
-void CTruiShortcutEditView::HandleCommandL( TInt aCommand )
-    {
-    switch ( aCommand )
-        {
-        case EAknSoftkeyDone:
-            {
-            if ( iContainer->PrepareToExitL() )
-                { 
-                iContainer->SwitchToShortcutViewL();
-                }            
-            break;
-            }
-        case EAknSoftkeyBack:
-            {
-            iContainer->BackToPreviousViewL();   
-            break;
-            }
-        }
-    }
-
-    
-// ---------------------------------------------------------------------------
-// From class CAknView.
-// Carried out when View is activated
-// ---------------------------------------------------------------------------
-//
-void CTruiShortcutEditView::DoActivateL( const TVwsViewId& aPrevViewId,
-                  TUid /*aCustomMessageId*/,
-                  const TDesC8& /*aCustomMessage*/ )
-    {
-    iPreViewId = aPrevViewId;
-    CTruiAppUi* appui = static_cast<CTruiAppUi*>( AppUi() );
-    CEikButtonGroupContainer* cba = Cba();
-    // Set title pane and SK1's text
-    if ( aPrevViewId == TVwsViewId( KUidtruiApp, KTruiShortcutsViewId ) )
-        {
-        appui->ShowTitlePaneL( appui->HwrEngine()->Shortcut() );
-        cba->SetCommandSetL( R_AVKON_SOFTKEYS_DONE_BACK );
-        }
-    else if ( aPrevViewId == TVwsViewId( KUidtruiApp, KTruiShortcutEditTextViewId ) )
-        {
-        HBufC* numberText = iEikonEnv->AllocReadResourceLC
-                           ( R_TRUI_SHORTCUTEDITTEXTVIEW_TITLEPANE_LAST_NUMBER );
-        HBufC* title = HBufC::NewLC( appui->HwrEngine()->Shortcut().Length() 
-                                     + numberText->Length() + KExtraSize );
-        TPtr titlePtr = title->Des();
-        titlePtr.Copy( *numberText );        
-        titlePtr.Append( KSeperatorBetweenTitle );
-        titlePtr.Append( appui->HwrEngine()->Shortcut() );
-        appui->ShowTitlePaneL( *title );    
-        CleanupStack::PopAndDestroy( title );
-        CleanupStack::PopAndDestroy( numberText );
-        cba->SetCommandSetL( R_TRUI_SHORTCUTEDITVIEW_CREATE_CBA );
-        }
-                
-    // Close navi pane
-    appui->CloseNaviPaneL();
-    
-    iContainer = CTruiShortcutEditContainer::NewL( ClientRect() );
-    iContainer->SetMopParent( this );
-    AppUi()->AddToStackL( *this, iContainer );
-    iContainer->SetView( this );    
-
-    // Set toolbar
-    CAknToolbar* toolbar = Toolbar();
-    if ( toolbar )
-        {
-        toolbar->SetToolbarObserver( this );
-        toolbar->SetToolbarVisibility( ETrue, EFalse );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// From class CAknView.
-// Carried out when View is deactivated
-// ---------------------------------------------------------------------------
-//
-void CTruiShortcutEditView::DoDeactivate()
-    {	
-    if ( iContainer )
-        {
-        AppUi()->RemoveFromStack( iContainer );
-        delete iContainer;
-        iContainer = NULL;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// From class MAknToolbarObserver.
-// Handles toolbar events for a certain toolbar item.
-// ---------------------------------------------------------------------------
-//
-void CTruiShortcutEditView::OfferToolbarEventL( TInt aCommand )
-    {
-    switch ( aCommand )
-        {
-        case EShortcutEditViewDelete:
-            {
-            iContainer->ClearCurrentModelL();
-            break;
-            }
-        case EShortcutEditViewPreviewModel:
-            {
-            iContainer->PreviewShortcutModel();
-            break;
-            }
-        case EShortcutEditViewGrid:
-            {
-            iContainer->PopupSctDialogL();
-            break;
-            }
-        }
-    }
-    
--- a/textinput/peninputhwrtrui/src/truishortcutscontainer.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1010 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Implement of class CTruiShortcutsContainer
-*
-*/
-
-
-#include <barsread.h>
-#include <aknnavide.h>
-#include <akntabgrp.h>
-#include <eikspane.h>
-#include <aknViewAppUi.h>
-#include <aknlists.h>
-#include <AknIconArray.h>
-#include <eikclbd.h>
-#include <trui.rsg>
-#include <StringLoader.h>
-#include <trui_icons.mbg>
-#include <AknIconUtils.h>
-#include <gulicon.h> 
-#include <akntextsettingpage.h>
-#include <AknQueryDialog.h>  
-#include <AknPreviewPopUpController.h>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <layoutmetadata.cdl.h>
-#include <akntoolbar.h>
-#include <aknbutton.h>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <biditext.h>
-
-#include "truicontainerbase.h"
-#include "truishortcutscontainer.h"
-#include "truimainview.h"
-#include "truiengine.h"
-#include "truiappui.h"
-#include "truiengine.h"
-#include "truishortcuteditview.h"
-#include "trui.hrh"
-#include "truiapplication.h"
-#include "truihelp.h"
-#include "truihwrbox.h"
-#include "truishortcutedittextview.h"
-#include "truiinfomessageview.h"
-#include "truishortcutsview.h"
-
-_LIT( KTRUIICONSFILENAME, "\\resource\\apps\\trui_icons.mif" );
-
-// Initialized size for item array
-const TInt KItemArraySize = 1;
-
-// Initialized size for icon array
-const TInt KIconArraySize = 3;
-
-// listbox item format string
-_LIT( KListItemWithPicFormat, "1\t%S\t\t" );
-_LIT( KListItemFormat, "\t%S\t\t" );
-    
-// Delay time of showing tooltip
-const TTimeIntervalMicroSeconds32 KTooltipShowDelay = 1000000;
-
-// Delay time of hiding tooltip
-const TTimeIntervalMicroSeconds32 KTooltipHideDelay = 3000000;
-
-// Rect of popup hwrbox
-const TRect KPopupHwrBoxRect = TRect( TPoint( 0, 0 ), TSize( 75, 75 ) );
-
-const TPoint KPopupHwrBoxPosLandscape = TPoint( 479, 360 );
-const TPoint KPopupHwrBoxPosPortrait = TPoint( 337, 500 );
-
-const TInt KPopupWindowVarity = 0;
-
-const TInt KParaDelimiterSize = 1;
-_LIT( KParaDelimiterFormat, "%c" );
-    
-// ======== MEMBER FUNCTIONS ========
-
-CTruiShortcutsContainer::CTruiShortcutsContainer()
-    {  
-    }
-    
-void CTruiShortcutsContainer::ConstructL( const TRect& aRect )
-    {
-    // Initialize control array
-    InitComponentArrayL();
-        
-    // Set parent control or owning window
-    CreateWindowL();   
-    
-    // Load shortcuts
-    iEngine->UpdateShortcutListL();
-    
-    // Initialize controls
-    InitializeControlsL();
-    SetRect( aRect );
-                
-    // Set default selected index
-    iListBox->SetCurrentItemIndex( iEngine->CurrentSelectedIndex() );
-               
-    HandleListBoxFocusChangedL( CurrentItemIndex() );
-    
-    ActivateL();    
-    }
-    
-CTruiShortcutsContainer* CTruiShortcutsContainer::NewL( const TRect& aRect )
-    {
-    CTruiShortcutsContainer* self = CTruiShortcutsContainer::NewLC( aRect );
-    CleanupStack::Pop( self );
-    return self;
-    }
-    
-CTruiShortcutsContainer* CTruiShortcutsContainer::NewLC
-                                                  ( const TRect& aRect )
-    {
-    CTruiShortcutsContainer* self = new (ELeave) CTruiShortcutsContainer();
-    CleanupStack::PushL( self );
-    self->ConstructL( aRect );
-    return self;
-    }
-    
-CTruiShortcutsContainer::~CTruiShortcutsContainer()
-    {    
-    delete iPopupController;     
-    delete iHwrBox;
-    }
-    
-// ---------------------------------------------------------------------------
-// Create controls to be displayed in this container.
-// ---------------------------------------------------------------------------
-//
-void CTruiShortcutsContainer::InitializeControlsL()
-    {
-    // Create toolbar
-    CAknToolbar* toolbar = iAppUi->View( KTruiShortcutsViewId )->Toolbar();
-    // Get Clear button from toolbar    
-    CAknButton* deleteButton = static_cast<CAknButton*>
-                    ( toolbar->ControlOrNull( EShortcutsViewButtonIdDelete ) );
-
-    // Create listbox
-    CreateListBoxL();
-    
-    // Create preview popup window
-    iPopupController = CreatePopupHwrBoxL();    
-    }
-            
-// ---------------------------------------------------------------------------
-// From class CCoeControl.
-// Responds to changes to the size and position of the contents of this control.
-// ---------------------------------------------------------------------------
-//
-void CTruiShortcutsContainer::SizeChanged()
-    {
-    if ( iListBox )
-        {
-        iListBox->SetRect( Rect() );
-        }    
-    
-    // caculate main pane
-    TRect rect = Rect();    
-    TAknWindowComponentLayout main_pane_layout = 
-                            AknLayoutScalable_Apps::main_hwr_training_pane();
-    TAknLayoutRect main_pane_layout_rect;
-    main_pane_layout_rect.LayoutRect( rect, main_pane_layout );
-    TRect main_pane_rect = main_pane_layout_rect.Rect();
-    
-    // Calculate popup_hwr_training_preview_window
-    TAknWindowComponentLayout preview_popup_layout = 
-               AknLayoutScalable_Apps::popup_hwr_training_preview_window
-                                                     ( KPopupWindowVarity );
-    TAknLayoutRect preview_popup_layout_rect;
-    preview_popup_layout_rect.LayoutRect( main_pane_rect, preview_popup_layout );    
-    
-    iHwrBox->SetSize( preview_popup_layout_rect.Rect().Size() );
-    
-    TPoint itemPos = PopupWindowPosition( CurrentItemIndex() );
-    iPopupController->SetPosition( itemPos );
-    }       
-
-// ---------------------------------------------------------------------------
-// From class CCoeControl.
-// This is called whenever the control gains or loses focus, 
-// ---------------------------------------------------------------------------
-// 
-void CTruiShortcutsContainer::FocusChanged( TDrawNow /*aDrawNow*/ )
-    {
-    if ( IsFocused() )
-        {        
-        if ( iDisplayPopupWindow )
-            {            
-            TRAPD( err, CheckAndPreviewShortcutModelL( CurrentItemIndex() ) );
-            if ( err != KErrNone )
-                {
-                iDisplayPopupWindow = EFalse;
-                }
-            }
-        }
-    else
-        {        
-        // Close pupup preview window
-        iPopupController->HidePopUp();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// From class CCoeControl.
-// Handles pointer events.
-// ---------------------------------------------------------------------------
-//     
-void CTruiShortcutsContainer::HandlePointerEventL( const TPointerEvent& aPointerEvent )
-    {
-    iPenDownPoint = aPointerEvent.iPosition;
-    CCoeControl::HandlePointerEventL( aPointerEvent );    
-    }
-    
-// ---------------------------------------------------------------------------
-// Popup the TextSettingPage and added the new shortcut to ListBox.
-// ---------------------------------------------------------------------------
-//     
-void CTruiShortcutsContainer::AddShortcutL()
-    {    
-    iEngine->NewShortcut( ETrue );
-    iEngine->SetShortcut( KNullDesC );
-    // Get always display setting from ini file
-    TInt isNotDisplayWizard = 0;
-    TRAPD( err, GetSettingFromIniFileL( KAlwaysDisplayWizardKey, isNotDisplayWizard ) );
-    if ( err != KErrNone )
-        {
-        isNotDisplayWizard = 0;
-        }
-        
-    if ( isNotDisplayWizard )
-        {
-        iEngine->SetDisplayWizard( EFalse );
-        iAppUi->ActivateLocalViewL( KTruiShortcutEditTextViewId );
-        }
-    else
-        {
-        iEngine->SetDisplayWizard( ETrue );
-        iAppUi->ActivateLocalViewL( KTruiInfoMessageViewId );
-        }    
-    }
-
-// ---------------------------------------------------------------------------
-// Edit shortcut
-// ---------------------------------------------------------------------------
-// 
-void CTruiShortcutsContainer::EditShortcutL( TBool aOnlyEditText )
-    {
-    CDesCArray* shortcutlist = iEngine->ShortcutTextList();
-    TInt posInEngine = iListBox->CurrentItemIndex() - 1;
-    iEngine->SetShortcut( shortcutlist->MdcaPoint( posInEngine ) );
-    iEngine->NewShortcut( EFalse );
-    // Switch to shortcut edit view 
-    if ( aOnlyEditText )
-        {
-        iAppUi->ActivateLocalViewL( KTruiShortcutEditTextViewId );
-        }
-    else
-        {
-        iAppUi->ActivateLocalViewL( KTruiShortcutEditViewId );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Check if reset introduction
-// ---------------------------------------------------------------------------
-// 
-TBool CTruiShortcutsContainer::IsResetIntroduction()
-    {
-    TInt value = 0;
-    TRAPD( err, GetSettingFromIniFileL( KAlwaysDisplayWizardKey, value ) );
-    if ( err != KErrNone )
-        {
-        value = 0;
-        }
-    return value ? ETrue: EFalse;
-    }    
-
-// ---------------------------------------------------------------------------
-// Reset introduction
-// ---------------------------------------------------------------------------
-// 
-void CTruiShortcutsContainer::ResetIntroductionL()
-    {
-    SaveSettingIntoIniFileL( KAlwaysDisplayWizardKey, 0 );
-    iAppUi->ActivateLocalViewL( KTruiInfoMessageViewId );
-    }
-    
-// ---------------------------------------------------------------------------
-// From MEikListBoxObserver
-// Handle event from an listbox
-// ---------------------------------------------------------------------------
-//     
-void CTruiShortcutsContainer::HandleListBoxEventL( CEikListBox* /*aListBox*/,
-                                                  TListBoxEvent aEventType )
-    {       
-    switch( aEventType )
-        {
-        case EEventPenDownOnItem:
-            {            
-            iPopupController->HidePopUp();
-            // Check index
-            TInt index = CurrentItemIndex();
-            iListBox->View()->XYPosToItemIndex( iPenDownPoint, index );
-            // Popup preview window
-            HandleListBoxFocusChangedL( index );
-            }
-            break;
-        case EEventItemClicked:
-            {
-            break;
-            }
-        case EEventItemDoubleClicked:
-            {            
-            if ( CurrentItemIndex() > 0 )
-                {
-                if ( MarkCount() == 0 )
-                    {
-                    // Pop context menu
-                    PopupContextMenuL( R_TRUI_SHORTCUTSVIEW_CONTEXT_MENUBAR );
-                    }
-                }
-            else
-               {                
-               // Tap on "New shortcut"
-               AddShortcutL();
-               }
-            // Set the current index into engine
-            // Update toolbar button's status
-            break;
-            }
-        case EEventItemDraggingActioned:
-            {            
-            iPopupController->HidePopUp();            
-            TInt index = CurrentItemIndex();
-            iListBox->View()->XYPosToItemIndex( iPenDownPoint, index );
-            // Popup preview window
-            HandleListBoxFocusChangedL( index );
-            break;
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// From class CCoeControl.
-// Handles key event.
-// ---------------------------------------------------------------------------
-//      
-TKeyResponse CTruiShortcutsContainer::OfferKeyEventL
-                                      ( const TKeyEvent& aKeyEvent, 
-                                        TEventCode aType )
-    {
-    if ( aType == EEventKey )
-        {        
-        switch ( aKeyEvent.iCode )
-            {            
-            case EKeyLeftArrow:
-                {                
-                CAknNavigationDecorator* naviDecorator = 
-                                         iAppUi->GetNaviDecorator();
-                CAknTabGroup* tabGroup = static_cast<CAknTabGroup*>
-                                        ( naviDecorator->DecoratedControl() );
-                return tabGroup->OfferKeyEventL( aKeyEvent, aType );   
-                }
-            case EKeyRightArrow:
-                {                
-                return EKeyWasConsumed;
-                }
-            case EKeyUpArrow:
-            case EKeyDownArrow:
-                {
-                if ( iListBox )
-                    {                    
-                    iPopupController->HidePopUp();
-                    TKeyResponse keyResponse = iListBox->OfferKeyEventL
-                                               ( aKeyEvent, aType );
-                    // Set the CBA button
-                    if ( IsMarked( 0 ) )
-                        {
-                        iListBox->SetCurrentItemIndex( 0 );
-                        AknSelectionService::HandleMarkableListProcessCommandL
-                                             ( EAknCmdUnmark, iListBox );
-                        iListBox->SetCurrentItemIndexAndDraw( iEngine->CurrentSelectedIndex() );
-                        }                        
-                    HandleListBoxFocusChangedL( CurrentItemIndex() );
-                    return keyResponse;
-                    }		   
-			    }		
-			case EKeyEnter:
-			case EKeyOK:
-			    {
-			    
-                if ( iListBox != NULL && CurrentItemIndex() == 0 )
-                    {
-                    // Select "Create new shortcut" item
-                    AddShortcutL();
-                    }
-                else
-                    {
-                    if ( MarkCount() == 0 )
-                        {
-                        // Pop context menu
-                        PopupContextMenuL( R_TRUI_SHORTCUTSVIEW_CONTEXT_MENUBAR );
-                        }
-                    }
-                return EKeyWasConsumed;                
-                 }
-            default:
-                break;			    
-            }
-       }    
-    return EKeyWasNotConsumed;    
-    }
-
-// ---------------------------------------------------------------------------
-// Gets the control's help context. Returns a NULL context by default.
-// ---------------------------------------------------------------------------
-//
-void CTruiShortcutsContainer::GetHelpContext( TCoeHelpContext& aContext ) const
-    {
-    aContext.iMajor = KUidtruiApp;
-    aContext.iContext = HWRT_HLP_SHORTCUTS;
-    }
-        
-// ---------------------------------------------------------------------------
-// Delete shortcut from ListBox
-// ---------------------------------------------------------------------------
-//     
-void CTruiShortcutsContainer::DeleteItemsL()
-    {
-    CTextListBoxModel* model = iListBox->Model();
-    CDesCArray* itemArray = static_cast<CDesCArray*>( model->ItemTextArray() );
-    if ( MarkCount() > 0 )
-        {
-        // Delete all marked items, ignoring the selected item.
-        RArray<TInt> selectionIndexes;
-        CleanupClosePushL( selectionIndexes );
-        const CArrayFix<TInt>* indexArray = iListBox->SelectionIndexes();
-        TInt indexArrayLen = indexArray->Count();
-        
-        // Copy the selection indexes array into RArray<TInt>
-        for ( TInt i = 0; i < indexArrayLen; i++ )
-            {
-            selectionIndexes.Append( ( *indexArray )[i] );
-            }
-        selectionIndexes.Sort();
-        // Delete all marked items    
-        TInt selectionCount = selectionIndexes.Count();                    
-        for ( TInt i = selectionCount - 1; i >= 0; i-- )
-            {   
-            // Delete item from Engine
-            TInt itemArrayIndex = selectionIndexes[i];
-            CDesCArray* shortcutList = iEngine->ShortcutTextList();
-
-            if ( shortcutList )
-                {
-                iEngine->DeleteShortcut( (*shortcutList)[itemArrayIndex-1] );            
-                // Delete the currently selected item from array
-                itemArray->Delete( itemArrayIndex );
-                // Update ListBox
-                AknListBoxUtils::HandleItemRemovalAndPositionHighlightL( iListBox, 
-                                                                        itemArrayIndex,
-                                                                        ETrue);     
-                }        
-            }
-        CleanupStack::PopAndDestroy( &selectionIndexes ); // selectionIndexes           
-        }
-    else
-        {
-        // Delete the currently selected item.
-        // Get the currently selected item
-        TInt selectedIndex = CurrentItemIndex();
-
-        // Delete item from Engine
-        CDesCArray* shortcutList = iEngine->ShortcutTextList();
-        if ( shortcutList )
-            {
-            iEngine->DeleteShortcut( (*shortcutList)[selectedIndex-1] );            
-            // Delete the currently selected item from array
-            itemArray->Delete( selectedIndex );
-            // Update ListBox
-            AknListBoxUtils::HandleItemRemovalAndPositionHighlightL( iListBox, 
-                                                                    selectedIndex,
-                                                                    ETrue);     
-            }        
-    }
-    iListBox->DrawNow();                
-    iEngine->UpdateShortcutListL();
-    // Set the current CBA
-    HandleListBoxFocusChangedL( CurrentItemIndex() );
-    }
-    
-// ---------------------------------------------------------------------------
-// Delete shortcut
-// ---------------------------------------------------------------------------
-//     
-void CTruiShortcutsContainer::DeleteShortcutL()
-    {
-    // Popup note dialog
-    CAknQueryDialog* dlg = CAknQueryDialog::NewL();
-    HBufC* prompt = NULL;
-    TInt count = MarkCount();
-    if ( count )
-        {
-        prompt = StringLoader::LoadLC( R_QTN_HWRT_QUERY_DELETE_SEVERAL_SHORTCUTS, count );
-        }
-    else
-        {
-        prompt = StringLoader::LoadLC( R_QTN_HWRT_QUERY_DELETE_SHORTCUT );
-        }
-    
-    if ( dlg->ExecuteLD( R_TRUI_QUERYDIALOG_DELETE_SHORTCUT, *prompt ) )
-        {
-        // press yes 
-        // Delete item from Listbox, also delete from Engine in it.
-        iPopupController->HidePopUp();
-        DeleteItemsL();        
-        }
-    CleanupStack::PopAndDestroy( prompt ); // prompt
-    }
-
-// ---------------------------------------------------------------------------
-// Handle event when listbox change to another focused item.
-// ---------------------------------------------------------------------------
-//     
-void CTruiShortcutsContainer::HandleListBoxFocusChangedL( TInt aIndex )
-    {
-    // Set the current index into engine
-    iEngine->SetCurrentSelectedIndex( aIndex );
-    // Update toolbar button's status
-    UpdateToolbarButtonStatus( aIndex );
-    // Draw current item // add this line
-    iListBox->DrawItem( aIndex ); // add this line
-    // Preview shortcut model if it has model.
-    CheckAndPreviewShortcutModelL( aIndex );
-    }
-    
-// ---------------------------------------------------------------------------
-// Mark shortcut
-// ---------------------------------------------------------------------------
-//     
-void CTruiShortcutsContainer::MarkShortcutL()
-    {
-    // The first item mustn't be marked
-    TInt currentIndex = CurrentItemIndex();
-    if ( currentIndex != 0 )
-        {
-        AknSelectionService::HandleMarkableListProcessCommandL( EAknCmdMark,
-                                                                iListBox );       
-        }
-        
-    CAknToolbar* toolbar = iAppUi->View( KTruiShortcutsViewId )->Toolbar();
-    if ( toolbar )
-        {
-        // Set edit text button's status
-        CAknButton* editTextButton = static_cast<CAknButton*>
-                    ( toolbar->ControlOrNull( EShortcutsViewButtonIdEditText ) );
-        editTextButton->SetDimmed( ETrue );
-        editTextButton->DrawNow();
-        // Set edit model button's status
-        CAknButton* editModelButton = static_cast<CAknButton*>
-                    ( toolbar->ControlOrNull( EShortcutsViewButtonIdEditModel ) );
-        editModelButton->SetDimmed( ETrue );
-        editModelButton->DrawNow();
-        }    
-    }
-    
-// ---------------------------------------------------------------------------
-// Unmark shortcut
-// ---------------------------------------------------------------------------
-//     
-void CTruiShortcutsContainer::UnmarkShortcutL()
-    {
-    // The first item mustn't be unmarked
-    TInt currentIndex = CurrentItemIndex();
-    if ( currentIndex != 0 )
-        {
-        AknSelectionService::HandleMarkableListProcessCommandL( EAknCmdUnmark,
-                                                                iListBox );
-        }
-    if ( MarkCount() == 0 )
-        {
-        CAknToolbar* toolbar = iAppUi->View( KTruiShortcutsViewId )->Toolbar();
-        if ( toolbar )
-            {
-            // Set edit text button's status
-            CAknButton* editTextButton = static_cast<CAknButton*>
-                        ( toolbar->ControlOrNull( EShortcutsViewButtonIdEditText ) );
-            editTextButton->SetDimmed( EFalse );
-            editTextButton->DrawNow();
-            // Set edit model button's status
-            CAknButton* editModelButton = static_cast<CAknButton*>
-                        ( toolbar->ControlOrNull( EShortcutsViewButtonIdEditModel ) );
-            editModelButton->SetDimmed( EFalse );
-            editModelButton->DrawNow();
-            }
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// Return current selected item's index
-// ---------------------------------------------------------------------------
-//
-TInt CTruiShortcutsContainer::CurrentItemIndex()
-    {       
-    return iListBox->CurrentItemIndex();
-    }
-
-// ---------------------------------------------------------------------------
-// Test if the currently selected index is marked
-// ---------------------------------------------------------------------------
-//    
-TBool CTruiShortcutsContainer::IsMarked( TInt aSelectedIndex )
-    {
-    const CArrayFix<TInt>* aIndexArray = iListBox->SelectionIndexes();    
-    for ( TInt index = 0; index < aIndexArray->Count(); index++ )
-        {
-        if ( aSelectedIndex == ( *aIndexArray )[index] )
-            {
-            return ETrue;
-            }
-        }
-    return EFalse;        
-    }
-
-// ---------------------------------------------------------------------------
-// Return the count of being marked currently.
-// ---------------------------------------------------------------------------
-// 
-TInt CTruiShortcutsContainer::MarkCount()
-    {
-    const CArrayFix<TInt>* aIndexArray = iListBox->SelectionIndexes();
-    return aIndexArray->Count();
-    }
-
-// ---------------------------------------------------------------------------
-// Create preview popup controller to show popup hwrbox.
-// ---------------------------------------------------------------------------
-// 
-CAknPreviewPopUpController* CTruiShortcutsContainer::CreatePopupHwrBoxL()
-    {   
-    iHwrBox = CTruiHwrBox::NewL( this, NULL );   
-    iHwrBox->SetHwrBoxFlag( CTruiHwrBox::ENoFrameHwrBox 
-                            | CTruiHwrBox::EReadOnlyHwrBox );
-    CAknPreviewPopUpController* popupController =
-                      CAknPreviewPopUpController::NewL
-                      ( *iHwrBox, CAknPreviewPopUpController::EPermanentMode );
-    popupController->AddObserverL( *this );
-    return popupController;
-    }
-
-// ---------------------------------------------------------------------------
-// Show the text tooltip.
-// ---------------------------------------------------------------------------
-//
-void CTruiShortcutsContainer::PopupHwrBoxL( const TPoint& aPosition, 
-                           const TTimeIntervalMicroSeconds32& aShowDelay,
-                           const TTimeIntervalMicroSeconds32& aHideDelay )
-    {    
-    if ( iPopupController && iHwrBox )
-        {
-        iPopupController->SetPosition( aPosition );
-        // Set hwrbox's rect to engine and set guiding line to hwrbox
-        iHwrBox->SetDisplayBottomGuideLine( ETrue );
-        if ( iEngine->CurrentLanguageScript() == EMainViewSubmenuHebrew )
-            {
-            iHwrBox->SetDisplayTopGuideLine( ETrue );
-            }        
-        iPopupController->SetPopUpShowDelay( aShowDelay );
-        iPopupController->SetPopUpHideDelay( aHideDelay );
-        iPopupController->ShowPopUp();
-        }
-    }   
-    
-// ---------------------------------------------------------------------------
-// Preview shortcut model in popup hwrbox.
-// ---------------------------------------------------------------------------
-//
-void CTruiShortcutsContainer::PreviewShortcutModelL( const TDesC& aShortcutText,
-                                                     TInt aIndex )
-    {
-    // Get shortcut model
-    if ( iEngine->CheckShortcutModel( aShortcutText ) )
-        {        
-        TRAPD( err, iEngine->GetShortcutModelL( aShortcutText, 
-                                                iHwrBox->Model(), 
-                                                iShortcutUnicode ) );
-        if ( err == KErrNone )
-            { 
-            // Popup hwrbox
-            // Get position for popup window
-            TPoint itemPos = PopupWindowPosition( aIndex );            
-            PopupHwrBoxL( itemPos,
-                          KTooltipShowDelay,
-                          KTooltipHideDelay );
-            }
-        }    
-    }
-    
-// ---------------------------------------------------------------------------
-// Called by the preview popup when an appropriate event takes place.
-// ---------------------------------------------------------------------------
-//
-void CTruiShortcutsContainer::HandlePreviewPopUpEventL(
-      CAknPreviewPopUpController* aController, TPreviewPopUpEvent aEvent )
-    {
-    if ( aController == iPopupController && aEvent == EPreviewPopUpShown )
-        {
-        TSize refSize = CTruiContainerBase::OriginSymbolSize();       
-        iHwrBox->ShowTrails( iHwrBox->Model(), ETrue, refSize );        
-        iDisplayPopupWindow = EFalse;
-        }
-    else
-        {
-        iHwrBox->ClearExistModel();
-        iHwrBox->DrawNow();
-        iDisplayPopupWindow = ETrue;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Create list box to display all shortcut
-// ---------------------------------------------------------------------------
-// 
-void CTruiShortcutsContainer::CreateListBoxL()
-    {
-    // listbox instance
-    iListBox = new (ELeave) CAknSingleGraphicStyleListBox;
-    Components().AppendLC( iListBox );
-    CleanupStack::Pop( iListBox ); // iListBox
-    
-    // Construct listbox
-    iListBox->ConstructL( this, EAknListBoxMarkableList ); 
-
-    // Set container control
-    iListBox->SetContainerWindowL( *this );
-    
-    // Set observer
-    iListBox->SetListBoxObserver( this );
-
-    // Add scrollbars to listbox
-    iListBox->CreateScrollBarFrameL(ETrue);
-    iListBox->ScrollBarFrame()->SetScrollBarVisibilityL(
-        CEikScrollBarFrame::EAuto, CEikScrollBarFrame::EAuto );    
-
-    // Get shortcut list from engine
-    CDesCArray* primalList = iEngine->ShortcutTextList();   
-
-    LoadTextArrayL( primalList );
-
-    // construct icon array with granularity 3
-    CArrayPtr<CGulIcon>* iconList = new (ELeave) CAknIconArray( KIconArraySize );
-    CleanupStack::PushL( iconList );
-    CFbsBitmap* bitmap;
-    CFbsBitmap* bitmapm;
-
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    AknsUtils::CreateColorIconL( skin,
-                                 KAknsIIDQgnIndiMarkedAdd,
-                                 KAknsIIDQsnIconColors,
-                                 EAknsCIQsnIconColorsCG16,
-                                 bitmap,
-                                 bitmapm,
-                                 KTRUIICONSFILENAME,
-                                 EMbmTrui_iconsQgn_indi_marked_add,
-                                 EMbmTrui_iconsQgn_indi_marked_add_mask,
-                                 KRgbBlack
-                                 ); 
-    CleanupStack::PushL( bitmap );
-    CleanupStack::PushL( bitmapm );
-    CGulIcon* iconMark = CGulIcon::NewL( bitmap, bitmapm ); // Ownership transfered
-    CleanupStack::Pop( bitmapm );
-    CleanupStack::Pop( bitmap );                                   
-    CleanupStack::PushL( iconMark );
-    iconList->AppendL( iconMark );
-    CleanupStack::Pop( iconMark );
-    
-    AknsUtils::CreateIconL( skin,
-                            KAknsIIDQgnPropHwrTrainingShortcut,
-                            bitmap,
-                            bitmapm,
-                            KTRUIICONSFILENAME,
-                            EMbmTrui_iconsQgn_prop_hwrtraining_shortcut_new,
-                            EMbmTrui_iconsQgn_prop_hwrtraining_shortcut_new_mask
-                            );
-    CleanupStack::PushL( bitmap );
-    CleanupStack::PushL( bitmapm );    
-    CGulIcon* iconNew = CGulIcon::NewL( bitmap, bitmapm ); // Ownership transfered
-    CleanupStack::Pop( bitmapm );
-    CleanupStack::Pop( bitmap );
-    CleanupStack::PushL( iconNew );
-    iconList->AppendL( iconNew );
-    CleanupStack::Pop( iconNew );
-
-    iListBox->ItemDrawer()->ColumnData()->SetIconArray( iconList );
-    
-    CleanupStack::Pop( iconList ); // iconList
-
-    iListBox->SetFocus( ETrue );
-    // update listbox
-    iListBox->ActivateL();    
-    }
-
-// ---------------------------------------------------------------------------
-// Setup text data for listbox
-// ---------------------------------------------------------------------------
-// 
-void CTruiShortcutsContainer::LoadTextArrayL( const CDesCArray* aTextArray )
-    {  
-    // Construct listbox item array.
-    // The items in the list contain an option of create new shortcut
-    // and the primal shortcuts from HWR engine
-    CDesCArray* itemList = new (ELeave) CDesCArrayFlat( KItemArraySize ); 
-    CleanupStack::PushL(itemList);
-          
-    TBuf<KShortcutMaxLength> item;    
-    HBufC* newShortcutText = StringLoader::LoadL( R_TRUI_SHORTCUTVIEW_NEW_SHORTCUT );
-    item.Format( KListItemWithPicFormat, newShortcutText );
-    delete newShortcutText;
-    newShortcutText = NULL;
-    itemList->AppendL(item);
-    
-    // if at least one shortcut exists
-     if ( aTextArray )
-        {
-        // Item from WHR engine
-        for ( TInt i=0; i < aTextArray->Count(); i++ )
-            {
-            TBuf<KShortcutMaxLength> itemPrimal;
-            itemPrimal = aTextArray->MdcaPoint(i);
-            item.Format( KListItemFormat, &itemPrimal );
-            TBuf<KParaDelimiterSize> paraDelimiter;
-            paraDelimiter.Format( KParaDelimiterFormat, EKeyEnter );
-            AknTextUtils::ReplaceCharacters( item, paraDelimiter, TChar( EKeySpace ) );          
-            itemList->AppendL( item );
-            }        
-        } 
-    // set items and ownership
-    CleanupStack::Pop( itemList );
-    iListBox->Model()->SetItemTextArray( itemList );
-    iListBox->Model()->SetOwnershipType( ELbmOwnsItemArray );
-    iListBox->HandleItemAdditionL();    
-    }
-    
-// ---------------------------------------------------------------------------
-// Popup context menu.
-// ---------------------------------------------------------------------------
-// 
-void CTruiShortcutsContainer::PopupContextMenuL( TInt aResourceId )
-    {    
-    // Hide popup preview window
-    iPopupController->HidePopUp();  
-    // Popup context menu  
-    CEikMenuBar* parentMenuBar = iAppUi->View( KTruiShortcutsViewId )->MenuBar();
-    if ( parentMenuBar )
-        {
-        parentMenuBar->SetMenuTitleResourceId( aResourceId );
-        parentMenuBar->SetMenuType( CEikMenuBar::EMenuContext );
-        parentMenuBar->TryDisplayMenuBarL();
-        parentMenuBar->SetMenuTitleResourceId( R_TRUI_SHORTCUTSVIEW_MENUBAR );
-        parentMenuBar->SetMenuType( CEikMenuBar::EMenuOptions );
-        }    
-    }
-
-// ---------------------------------------------------------------------------
-// Get position relative to screen origin for popup window.
-// ---------------------------------------------------------------------------
-// 
-TPoint CTruiShortcutsContainer::PopupWindowPosition( TInt aIndex )
-    {
-    // Place popup window to left-bottom
-    TPoint itemPos = iListBox->View()->ItemPos( aIndex ) 
-                     + iListBox->PositionRelativeToScreen();
-    TSize itemSize = iListBox->View()->ItemSize( aIndex );    
-    itemPos.iY += itemSize.iHeight;
-    
-    // if direction is upforwards.
-    if ( Rect().iBr.iY + iListBox->PositionRelativeToScreen().iY - 
-         ( itemPos.iY + iPopupController->Size().iHeight ) < 0 )
-        {
-        itemPos.iY -= ( itemSize.iHeight + iPopupController->Size().iHeight );
-        }
-        
-    if ( TBidiText::ScriptDirectionality( User::Language() )
-         ==  TBidiText::ELeftToRight )
-        { // None-arabic,hebrew, place popup window to right-bottom
-        itemPos.iX += itemSize.iWidth;
-        // Sub width of scroll bar
-        TInt scrollbarWidth = 0;
-        if ( iListBox->ScrollBarFrame() )
-            {
-            scrollbarWidth = iListBox->ScrollBarFrame()
-                             ->ScrollBarBreadth( CEikScrollBar::EVertical );
-            }
-        itemPos.iX -= scrollbarWidth;
-        }
-    else
-        {
-        itemPos.iX += iPopupController->Size().iWidth;        
-        }
-    return itemPos;
-    }
-    
-// ---------------------------------------------------------------------------
-// Check if need to preview shortcut and perform previewing necessarily.
-// ---------------------------------------------------------------------------
-// 
-TBool CTruiShortcutsContainer::CheckAndPreviewShortcutModelL( TInt aIndex )
-    {
-    TBool ret = EFalse;
-    if ( aIndex > 0 )
-        {
-        // Get selected shortcut text
-        CDesCArray* shortcutlist = iEngine->ShortcutTextList();
-        TInt posInEngine = aIndex - 1;
-        // Popup hwr box to preview
-        PreviewShortcutModelL( shortcutlist->MdcaPoint( posInEngine ), aIndex );
-        ret = ETrue;
-        }
-    else
-        {
-        iPopupController->HidePopUp();
-        ret = EFalse;
-        }    
-    return ret;
-    }
-    
-// ---------------------------------------------------------------------------
-// Update buttons' status in toolbar
-// ---------------------------------------------------------------------------
-// 
-void CTruiShortcutsContainer::UpdateToolbarButtonStatus( TInt aIndex )
-    {
-    CAknToolbar* toolbar = iAppUi->View( KTruiShortcutsViewId )->Toolbar();
-    if ( toolbar )
-        {
-        // Set edit text button's status
-        CAknButton* editTextButton = static_cast<CAknButton*>
-                    ( toolbar->ControlOrNull( EShortcutsViewButtonIdEditText ) );
-        if ( editTextButton )
-            {
-            if ( aIndex > 0 )
-                {
-                if ( MarkCount() > 0 )
-                    {
-                    editTextButton->SetDimmed( ETrue );
-                    }
-                else
-                    {
-                    editTextButton->SetDimmed( EFalse );
-                    }
-                }
-            else
-                {
-                editTextButton->SetDimmed( ETrue );
-                }
-            editTextButton->DrawNow();
-            }
-            
-        // Set edit model button's status
-        CAknButton* editModelButton = static_cast<CAknButton*>
-                    ( toolbar->ControlOrNull( EShortcutsViewButtonIdEditModel ) );
-        if ( editModelButton )
-            {
-            if( aIndex > 0 )
-                {
-                if ( MarkCount() > 0 )
-                    {
-                    editModelButton->SetDimmed( ETrue );
-                    }
-                else
-                    {
-                    CDesCArray* shortcutlist = iEngine->ShortcutTextList();
-                    TInt posInEngine = aIndex - 1;
-                    if ( iEngine->CheckShortcutModel
-                                 ( shortcutlist->MdcaPoint( posInEngine ) ) )
-                        {
-                        // Shortcut model exist and allow to edit model.
-                        editModelButton->SetDimmed( EFalse );
-                        }
-                    }
-                }
-            else
-                {
-                editModelButton->SetDimmed( ETrue );
-                }
-            editModelButton->DrawNow();
-            }
-                    
-        // Set delete button's status            
-        CAknButton* deleteButton = static_cast<CAknButton*>
-                    ( toolbar->ControlOrNull( EShortcutsViewButtonIdDelete ) );
-        if ( deleteButton )  
-            {
-            TBool isDimmed = aIndex > 0 ? EFalse : ETrue;
-            deleteButton->SetDimmed( isDimmed );
-            deleteButton->DrawNow(); 
-            }
-        }
-    }
--- a/textinput/peninputhwrtrui/src/truishortcutsview.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,302 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Implement of class CTruiShortcutsView
-*
-*/
-
-
-#include <aknViewAppUi.h>
-#include <trui.rsg>
-#include <eikmenup.h>
-#include <akntoolbar.h>
-#include <aknnavide.h>
-#include <akntabgrp.h>
-
-#include "truishortcutsview.h"
-#include "truishortcutscontainer.h"
-#include "trui.hrh"
-#include "truiappui.h"
-#include "truishortcutedittextview.h"
-#include "truimainview.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-CTruiShortcutsView::CTruiShortcutsView()
-    {
-    }
-
-void CTruiShortcutsView::ConstructL()
-    {
-    BaseConstructL( R_TRUI_SHORTCUTSVIEW );
-    }
-
-CTruiShortcutsView* CTruiShortcutsView::NewL()
-    {
-    CTruiShortcutsView* self = CTruiShortcutsView::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-CTruiShortcutsView* CTruiShortcutsView::NewLC()
-    {
-    CTruiShortcutsView* self = new( ELeave ) CTruiShortcutsView;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-CTruiShortcutsView::~CTruiShortcutsView()
-    {
-    }
-    
-// ---------------------------------------------------------------------------
-// From class CAknView.
-// Returns views id.
-// ---------------------------------------------------------------------------
-//
-TUid CTruiShortcutsView::Id() const
-    {
-    return KTruiShortcutsViewId;    
-    }
-    
-// ---------------------------------------------------------------------------
-// From class CAknView.
-// Command handling function.
-// ---------------------------------------------------------------------------
-//
-void CTruiShortcutsView::HandleCommandL( TInt aCommand )
-    {
-    switch ( aCommand )
-        {
-        case EShortcutViewCreate:
-            {
-            iContainer->AddShortcutL();
-            }
-            break;
-        case EShortcutViewEditText:
-            {
-            iContainer->EditShortcutL( ETrue );
-            break;
-            }
-        case EShortcutViewEditModel:
-            {
-            iContainer->EditShortcutL( EFalse );            
-            }
-            break;
-        case EShortcutViewLinkToHandwritting:
-            {
-            // Set main view tab active
-            CTruiAppUi* appui = static_cast<CTruiAppUi*>( AppUi() );            
-            CAknNavigationDecorator* naviDecorator = appui->GetNaviDecorator();
-            CAknTabGroup* tabGroup = static_cast<CAknTabGroup*>
-                                    ( naviDecorator->DecoratedControl() );
-            tabGroup->SetActiveTabById( ENavigationPaneMainViewTab );
-            // Switch to local view.
-            appui->ActivateLocalViewL( KTruiMainViewId );
-            }
-            break;
-        case EShortcutViewMark:
-            {
-            iContainer->MarkShortcutL();
-            }
-            break;
-        case EShortcutViewUnmark:
-            {
-            iContainer->UnmarkShortcutL();
-            }
-            break;
-        case EShortcutViewResetInfoMessage:
-            {
-            iContainer->ResetIntroductionL();
-            }
-            break;
-        case EShortcutViewDelete:
-            {
-            iContainer->DeleteShortcutL();
-            }
-            break;
-        default:
-            {
-            AppUi()->HandleCommandL( aCommand );
-            }
-        }
-    }
-	
-// ---------------------------------------------------------------------------
-// From class CAknView.
-// Carried out when View is activated
-// ---------------------------------------------------------------------------
-//
-void CTruiShortcutsView::DoActivateL( const TVwsViewId& /*aPrevViewId*/,
-                  TUid /*aCustomMessageId*/,
-                  const TDesC8& /*aCustomMessage*/ )
-	{
-    // Set title pane
-    CTruiAppUi* appui = static_cast<CTruiAppUi*>( AppUi() );
-    HBufC* titleText = iEikonEnv->AllocReadResourceLC
-                       ( R_TRUI_SHORTCUTSVIEW_TITLEPANE_TEXT );
-    appui->ShowTitlePaneL( *titleText );
-    CleanupStack::PopAndDestroy( titleText );
-	
-	// Show navi pane
-    appui->ShowNaviPaneL();
-    
-    iContainer = CTruiShortcutsContainer::NewL( ClientRect() );
-    iContainer->SetMopParent( this );
-    AppUi()->AddToStackL( *this, iContainer );	
-    iContainer->SetView( this );         
-    
-    // Set toolbar
-    CAknToolbar* toolbar = Toolbar();    
-    if ( toolbar )
-        {
-        toolbar->SetToolbarObserver( this );
-        toolbar->SetToolbarVisibility( ETrue, EFalse );
-        }
-	}
-
-// ---------------------------------------------------------------------------
-// From class CAknView.
-// Carried out when View is deactivated
-// ---------------------------------------------------------------------------
-//
-void CTruiShortcutsView::DoDeactivate()
-    {
-    if ( iContainer )
-        {        
-        AppUi()->RemoveFromStack( iContainer );
-        delete iContainer;
-        iContainer = NULL;
-        }        
-    }
-
-
-// ---------------------------------------------------------------------------
-// From MEikMenuObserver
-// Dynamically initialises a menu pane.
-// ---------------------------------------------------------------------------
-//
-void CTruiShortcutsView::DynInitMenuPaneL( TInt aResourceId, 
-                                           CEikMenuPane* aMenuPane )
-    {
-    // Prepare to display popup window when focus return to container
-    iContainer->SetDisplayPopupWindow( ETrue );
-    
-    if ( aResourceId == R_TRUI_SHORTCUTSVIEW_MENUPANE )
-        {       
-        // Check if "Edit" will be displayed when first item highlighted.
-        // Check if "Delete" will be displayed when first item highlighted.
-        // Check if "Mark" will be displayed when first item highlighted.
-        // Check if "Unmark" will be displayed when first item highlighted.        
-        TInt currentIndex = iContainer->CurrentItemIndex();
-        if ( currentIndex != 0 )
-            {
-            if ( iContainer->MarkCount() > 0 )
-                {
-                // At least one marked, "Edit" won't be displayed
-                aMenuPane->SetItemDimmed( EShortcutViewEditText, ETrue );
-                aMenuPane->SetItemDimmed( EShortcutViewEditModel, ETrue );                
-                }
-            else
-                {
-                // All unmark, "Edit" will be displayed.
-                aMenuPane->SetItemDimmed( EShortcutViewEditText, EFalse );
-                aMenuPane->SetItemDimmed( EShortcutViewEditModel, EFalse );                
-                }            
-            aMenuPane->SetItemDimmed( EShortcutViewDelete, EFalse );
-            aMenuPane->SetItemDimmed( EShortcutViewMark, EFalse );
-            aMenuPane->SetItemDimmed( EShortcutViewUnmark, EFalse );
-            if ( iContainer->IsMarked( currentIndex ) )
-                { 
-                // The currently selected item mark, display "Unmark"
-                aMenuPane->SetItemDimmed( EShortcutViewMark, ETrue );
-                }
-            else
-                {
-                // The currently selected item unmark, display "Mark"
-                aMenuPane->SetItemDimmed( EShortcutViewUnmark, ETrue );
-                }
-            
-            // Hide Reset introduction
-            aMenuPane->SetItemDimmed( EShortcutViewResetInfoMessage, ETrue );
-            }
-        else
-            {
-            aMenuPane->SetItemDimmed( EShortcutViewEditText, ETrue );
-            aMenuPane->SetItemDimmed( EShortcutViewEditModel, ETrue );
-            aMenuPane->SetItemDimmed( EShortcutViewDelete, ETrue );
-            aMenuPane->SetItemDimmed( EShortcutViewMark, ETrue );
-            aMenuPane->SetItemDimmed( EShortcutViewUnmark, ETrue );
-            
-            // Check value of setting of introduction
-            TBool isDimReset = iContainer->IsResetIntroduction() ? EFalse : ETrue;
-            aMenuPane->SetItemDimmed( EShortcutViewResetInfoMessage, isDimReset );
-            }
-        }
-    }
- 
-// ---------------------------------------------------------------------------
-// From class MEikMenuObserver.
-// Dynamically initialises a menu bar.
-// ---------------------------------------------------------------------------
-//
-void CTruiShortcutsView::DynInitMenuBarL( TInt aResourceId, 
-                                          CEikMenuBar* /*aMenuBar*/ )
-    {
-    if ( aResourceId == R_TRUI_SHORTCUTSVIEW_CONTEXT_MENUBAR )
-        {        
-        iContainer->SetDisplayPopupWindow( ETrue );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// From class MAknToolbarObserver.
-// Handles toolbar events for a certain toolbar item.
-// ---------------------------------------------------------------------------
-//
-void CTruiShortcutsView::OfferToolbarEventL( TInt aCommand )
-    {
-    switch ( aCommand )
-        {
-        case EShortcutsViewButtonIdEditText:
-            {
-            // Open the text setting view
-            iContainer->EditShortcutL( ETrue );
-            break;
-            }
-        case EShortcutsViewButtonIdEditModel:
-            {
-            // Open the shortcut edit view
-            iContainer->EditShortcutL( EFalse );
-            break;
-            }
-        case EShortcutsViewButtonIdDelete:
-            {
-            iContainer->DeleteShortcutL();
-            break;
-            }
-        }
-    }
-// ---------------------------------------------------------------------------
-// From CAknView. This function processes user commands.
-// ---------------------------------------------------------------------------
-// 
-void CTruiShortcutsView::ProcessCommandL( TInt aCommand )
-    {
-    if ( !iContainer )
-        {
-        return;
-        }
-    CAknView::ProcessCommandL( aCommand );
-    }
--- a/textinput/peninputhwrtrui/src/truitextsettingpagecontainer.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,343 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Implement of class CTruiTextSettingPageContainer
-*
-*/
-
-
-#include <aknlayoutscalable_apps.cdl.h>
-#include <AknsControlContext.h>
-#include <AknPreviewPopUpController.h>
-#include <AknPreviewPopUpObserver.h>
-#include <layoutmetadata.cdl.h>
-
-#include "truitextsettingpagecontainer.h"
-#include "truihwrbox.h"
-#include "truiappui.h"
-#include "truiengine.h"
-#include "truishortcutsview.h"
-#include "truiapplication.h"
-#include "truiinfomessageview.h"
-#include "truishortcuteditview.h"
-#include "truishortcutedittextview.h"
-#include "trui.hrh"
-#include "truicontainerbase.h"
-
-// Initialized size for hwrbox
-const TSize KHwrboxSize = TSize( 100, 100 );
-
-// The x-cordination of hwrbox pos
-const TInt KHwrBoxPosPortraitX = 60;
-const TInt KHwrBoxPosLandscapeX = 100;
-
-const TInt KPopupWindowVarity = 1;
-
-const TInt KParaDelimiterSize = 1;
-
-_LIT( KParaDelimiterFormat, "%c" );
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor.
-// ---------------------------------------------------------------------------
-//
-CTruiTextSettingPageContainer::CTruiTextSettingPageContainer
-                ( TInt aResourceID, TDes& aText, TInt aTextSettingPageFlags )
-             :CAknTextSettingPage( aResourceID, aText, aTextSettingPageFlags )
-    {  
-    }
-    
-// ---------------------------------------------------------------------------
-// Perform the second phase construction of a CTruiMainViewContainer object.
-// ---------------------------------------------------------------------------
-//
-void CTruiTextSettingPageContainer::ConstructL( const TRect& aRect, TBool aEnableHwrBox )
-    {
-    CAknTextSettingPage::ConstructL();
-    TextControl()->SetObserver( this );
-    // Check character model 
-    CEikEdwin* edwin = static_cast<CEikEdwin*>( EditorControl() );
-    HBufC* shortcutText = edwin->GetTextInHBufL();    
-    if ( shortcutText )
-        {        
-        // Replace paragraph seperator to line break
-        TPtr ptr = shortcutText->Des();
-        TBuf<KParaDelimiterSize> paraDelimiter;
-        paraDelimiter.Format( KParaDelimiterFormat, EKeyEnter ); 
-        AknTextUtils::ReplaceCharacters( ptr, paraDelimiter, 
-                                TChar( CEditableText::EParagraphDelimiter ) );
-        CleanupStack::PushL( shortcutText );
-        edwin->SetTextL( shortcutText );
-        CleanupStack::PopAndDestroy( shortcutText );
-        }    
-        
-    if ( aEnableHwrBox )
-        {
-        CTruiAppUi* appUi = static_cast<CTruiAppUi*>( iAvkonViewAppUi );
-        CTruiEngine* engine = appUi->HwrEngine();
-        if ( engine->CheckShortcutModel( engine->Shortcut() ) )
-            {
-            // Create hwrbox            
-            iHwrBox = CTruiHwrBox::NewL( NULL, NULL );
-            iHwrBox->SetHwrBoxFlag( CTruiHwrBox::ENoFrameHwrBox 
-                                    | CTruiHwrBox::EReadOnlyHwrBox);
-            
-            // Create preview popup
-            iPopupController = CAknPreviewPopUpController::NewL
-                      ( *iHwrBox, CAknPreviewPopUpController::EPermanentMode );            
-            iPopupController->AddObserverL( *this );
-            // Set guide line
-            iHwrBox->SetDisplayBottomGuideLine( ETrue );
-            if ( engine->CurrentLanguageScript() == EMainViewSubmenuHebrew )
-                {
-                iHwrBox->SetDisplayTopGuideLine( ETrue );
-                }
-            iPopupController->SetPopUpShowDelay( 0 );            
-            }                          
-        }
-    SetRect( aRect );
-    if ( iPopupController )
-        {
-        iPopupController->ShowPopUp();
-        }    
-    ActivateL();
-    }
-
-// ---------------------------------------------------------------------------
-// Two-phased constructor.
-// ---------------------------------------------------------------------------
-//
-CTruiTextSettingPageContainer* CTruiTextSettingPageContainer::NewL
-                                                ( TInt aResourceId, 
-                                                  TDes& aText,
-                                                  const TRect& aRect,
-                                                  TBool aEnableHwrBox,
-                                                  TInt aTextSettingPageFlags )
-    {
-    CTruiTextSettingPageContainer* self = CTruiTextSettingPageContainer::NewLC
-                                                  ( aResourceId, aText,
-                                                    aRect,
-                                                    aEnableHwrBox,
-                                                    aTextSettingPageFlags );
-    CleanupStack::Pop( self );
-    return self;
-    }
-    
-// ---------------------------------------------------------------------------
-// Two-phased constructor.
-// ---------------------------------------------------------------------------
-//
-CTruiTextSettingPageContainer* CTruiTextSettingPageContainer::NewLC
-                                                ( TInt aResourceId, 
-                                                  TDes& aText, 
-                                                  const TRect& aRect,
-                                                  TBool aEnableHwrBox,
-                                                  TInt aTextSettingPageFlags )
-    {
-    CTruiTextSettingPageContainer* self = new (ELeave) 
-                                          CTruiTextSettingPageContainer
-                                                 ( aResourceId, aText,
-                                                   aTextSettingPageFlags );
-    CleanupStack::PushL( self );
-    self->ConstructL( aRect, aEnableHwrBox );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-
-CTruiTextSettingPageContainer::~CTruiTextSettingPageContainer()
-    {
-    delete iPopupController;
-    delete iHwrBox;
-    }
-    
-// ---------------------------------------------------------------------------
-// Responds to changes to the size and position of the contents of this control.
-// ---------------------------------------------------------------------------
-//
-void CTruiTextSettingPageContainer::SizeChanged()
-    {
-    CAknTextSettingPage::SizeChanged();
-    
-    if ( iHwrBox )
-        {
-        // caculate main pane
-        TRect rect = Rect();    
-        TAknWindowComponentLayout main_pane_layout = 
-                                AknLayoutScalable_Apps::main_hwr_training_pane();
-        TAknLayoutRect main_pane_layout_rect;
-        main_pane_layout_rect.LayoutRect( rect, main_pane_layout );
-        TRect main_pane_rect = main_pane_layout_rect.Rect();
-        
-        // Calculate popup_hwr_training_preview_window
-        TAknWindowComponentLayout preview_popup_layout = 
-                   AknLayoutScalable_Apps::popup_hwr_training_preview_window
-                                                         ( KPopupWindowVarity );
-        TAknLayoutRect preview_popup_layout_rect;
-        preview_popup_layout_rect.LayoutRect( main_pane_rect, preview_popup_layout );
-                
-        TPoint labelPos = TextLabel()->PositionRelativeToScreen();
-        TPoint hwrPos = TPoint( 0, 0 );
-        if ( TBidiText::ScriptDirectionality( User::Language() )
-                                              ==  TBidiText::ELeftToRight )
-            {
-            TInt offset = Layout_Meta_Data::IsLandscapeOrientation() ?
-                          KHwrBoxPosLandscapeX : KHwrBoxPosPortraitX;
-            hwrPos = labelPos + TPoint( offset, TextLabel()->Size().iHeight );
-            }
-        else
-            {
-            hwrPos = labelPos + TPoint( TextLabel()->Size().iWidth, 
-                            		TextLabel()->Size().iHeight );
-            }
-
-        iHwrBox->SetSize( preview_popup_layout_rect.Rect().Size() );
-        iPopupController->SetPosition( hwrPos );
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// Processes events from the softkeys.     
-// ---------------------------------------------------------------------------
-//
-void CTruiTextSettingPageContainer::ProcessCommandL( TInt aCommandId )
-    {
-    HideMenu();    
-    switch ( aCommandId )
-        {
-        case EAknSoftkeyOk:
-        case EAknSoftkeySelect:
-            {
-            // Get the current text in setting page
-            CTruiAppUi* appUi = static_cast<CTruiAppUi*>( iAvkonViewAppUi );
-            CTruiEngine* engine = appUi->HwrEngine();
-            CEikEdwin* edwin = static_cast<CEikEdwin*>( EditorControl() );
-            HBufC* shortcutText = edwin->GetTextInHBufL();
-            CleanupStack::PushL( shortcutText );
-            // Replace paragraph seperator to line break            
-            TPtr ptr = shortcutText->Des();
-            TBuf<KParaDelimiterSize> paraDelimiter;
-            paraDelimiter.Format( KParaDelimiterFormat, CEditableText::EParagraphDelimiter );
-            AknTextUtils::ReplaceCharacters( ptr, paraDelimiter, TChar( EKeyEnter ) );
-            // Update new text
-            engine->ChangeShortcutTextL( *shortcutText );
-            // Recalculate selected index of shortcut list
-            // Update shortcut list
-            engine->UpdateShortcutListL();
-            // Find the current shortcut's index in shortcut list
-            TInt index = 0;
-            CDesCArray* shortcutList = engine->ShortcutTextList();
-            if ( shortcutList )
-                {                
-                TInt ret = 0;
-                ret = shortcutList->Find( *shortcutText, index );
-                if ( ret == KErrNotFound )
-                    {
-                    TInt oldIndex = engine->CurrentSelectedIndex();
-                    index = ( oldIndex > shortcutList->Count() ) 
-                                       ? shortcutList->Count() : oldIndex;
-                    }
-                }
-            // Set current index in Engine
-            engine->SetCurrentSelectedIndex( index + 1 );           
-            CleanupStack::PopAndDestroy( shortcutText );            
-            // Store the content of setting page
-            UpdateSettingL();
-            CTruiShortcutEditTextView* view = 
-                                     static_cast<CTruiShortcutEditTextView*>
-                              ( appUi->View( KTruiShortcutEditTextViewId ) );
-            if ( view->StartViewId() == 
-                        TVwsViewId( KUidtruiApp, KTruiInfoMessageViewId ) )
-                {
-                ProcessCommandL( EAknSoftkeyNext );
-                }
-            else
-                {
-                // Switch to shortcuts view.
-                iAvkonViewAppUi->ActivateLocalViewL
-                                            ( view->StartViewId().iViewUid );
-                }
-            break;
-            }
-        case EAknSoftkeyCancel:
-            {
-            iAvkonViewAppUi->ActivateLocalViewL( KTruiShortcutsViewId );
-            break;
-            }
-        case EAknSoftkeyNext:
-            {
-            UpdateSettingL();
-            // Get the current text in setting page
-            CTruiAppUi* appUi = static_cast<CTruiAppUi*>( iAvkonViewAppUi );
-            CTruiEngine* engine = appUi->HwrEngine();
-            CEikEdwin* edwin = static_cast<CEikEdwin*>( EditorControl() );
-            HBufC* shortcutText = edwin->GetTextInHBufL();
-            CleanupStack::PushL( shortcutText );
-            // Replace paragraph seperator to line break            
-            TPtr ptr = shortcutText->Des();
-            TBuf<KParaDelimiterSize> paraDelimiter;
-            paraDelimiter.Format( KParaDelimiterFormat, CEditableText::EParagraphDelimiter );
-            AknTextUtils::ReplaceCharacters( ptr, paraDelimiter, TChar( EKeyEnter ) );
-            engine->SetShortcut( ptr );            
-            CleanupStack::PopAndDestroy( shortcutText );                        
-            iAvkonViewAppUi->ActivateLocalViewL( KTruiShortcutEditViewId );
-            break;
-            }
-        case EAknSoftkeyBack:
-            {
-            CTruiAppUi* appUi = static_cast<CTruiAppUi*>( iAvkonViewAppUi );
-            CTruiEngine* engine = appUi->HwrEngine();            
-            if ( engine->DisplayWizard() )
-                {
-                iAvkonViewAppUi->ActivateLocalViewL( KTruiInfoMessageViewId );
-                }
-            else
-                {
-                iAvkonViewAppUi->ActivateLocalViewL( KTruiShortcutsViewId );
-                }
-            break;
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// From MAknPreviewPopUpObserver
-// Called by the preview popup when an appropriate event takes place.
-// ---------------------------------------------------------------------------
-// 
-void CTruiTextSettingPageContainer::HandlePreviewPopUpEventL(
-      CAknPreviewPopUpController* aController, TPreviewPopUpEvent aEvent )
-    {
-    if ( aController == iPopupController && aEvent == EPreviewPopUpShown )
-        {
-        CTruiAppUi* appUi = static_cast<CTruiAppUi*>( iAvkonViewAppUi );
-        CTruiEngine* engine = appUi->HwrEngine();
-        CEikEdwin* edwin = TextControl();
-        HBufC* shortcutText = edwin->GetTextInHBufL();
-        CleanupStack::PushL( shortcutText );
-        // Get character model
-        TUint unicode = 0;
-        TRAPD( err, engine->GetShortcutModelL( engine->Shortcut(), iHwrBox->Model(), unicode ) );
-        if ( err == KErrNone )
-            {
-            TSize refSize = CTruiContainerBase::OriginSymbolSize();
-            iHwrBox->ShowTrails( iHwrBox->Model(), ETrue, refSize );
-            }    
-        CleanupStack::PopAndDestroy( shortcutText );
-        }
-    }