Catchup to latest Symbian^4 GCC_SURGE
authorWilliam Roberts <williamr@symbian.org>
Thu, 22 Jul 2010 16:37:15 +0100
branchGCC_SURGE
changeset 34 83a66d423d78
parent 21 3f9a9ca46190 (current diff)
parent 31 f1bdd6b078d1 (diff)
Catchup to latest Symbian^4
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUserDictionaryEditDialog.h	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUserDictionaryEditDialog.h	Thu Jul 22 16:37:15 2010 +0100
@@ -34,7 +34,7 @@
 #define AKNFEPUSERDICTIONARYEDITDIALOG_H_
 
 #include <aknselectionlist.h>
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 #include <aknsfld.h>
 #include <AknQueryDialog.h>
 #include <avkon.hrh>
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepAvkonCandidatePopup.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepAvkonCandidatePopup.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -44,7 +44,7 @@
 #include <AknFepInternalCRKeys.h>
 #include <AvkonInternalCRKeys.h>
 
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 #include <AknFepGlobalEnums.h>
 #include <avkon.hrh>
 #include "AknFepAvkonCandidatePopup.h"
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepPredictiveSettingDialog.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepPredictiveSettingDialog.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -41,13 +41,15 @@
 #include <AknFepGlobalEnums.h>
 #include "AknFepPredictiveSettingDialog.h"
 #include <aknnotewrappers.h>
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 #include <hlplch.h>
-#include <csxhelp/cp.hlp.hrh> 
+//#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);		
@@ -186,7 +188,7 @@
                     new (ELeave) CArrayFixFlat<TCoeHelpContext>( KArrayGranularity );
 	    	CleanupStack::PushL ( contexts );
 	    	TUid appuid = { 0x100058EC };
-	    	contexts->AppendL( TCoeHelpContext( appuid, KPREDINPUT_HLP_INPUT ) );
+	    	contexts->AppendL( TCoeHelpContext( appuid, KFEPIMPLPREDINPUT_HLP_INPUT ) );
 	    	CleanupStack::Pop( contexts );
 	    	HlpLauncher::LaunchHelpApplicationL( CEikonEnv::Static()->WsSession(), contexts );		
 			}
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepPredictiveSettingList.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepPredictiveSettingList.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -34,7 +34,7 @@
 #include <AvkonInternalCRKeys.h>
 #include <e32property.h>
 #include <PtiDefs.h>
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 #include <AknFepGlobalEnums.h>
 #include <featmgr.h> 
 
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlDualLanguageSettingDialog.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlDualLanguageSettingDialog.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -32,7 +32,7 @@
 #include <AvkonInternalCRKeys.h>
 #include <AknFepGlobalEnums.h>
 #include <aknnotewrappers.h>
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 #include "AknFepUIAvkonCtrlDualLanguageSettingDialog.h"
 #include "AknFepUIAvkonCtrlDualLanguageSettingModel.h"
 #include "AknFepUIAvkonCtrlDualLanguageSettingData.h"
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlJapaneseCandidatePane.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlJapaneseCandidatePane.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -36,7 +36,7 @@
 #include <AknsDrawUtils.h>
 #include <AknsBasicBackgroundControlContext.h>
 #include <AknLayout.lag>
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 
 #include <skinlayout.cdl.h>
 #include <AknLayout2ScalableDef.h>
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlJapaneseKutenQueryDialog.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlJapaneseKutenQueryDialog.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -36,7 +36,7 @@
 #include <aknsoundsystem.h>
 #include <charconv.h>
 #include <PtiDefs.h>                //keys
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 #include <avkon.hrh>
 
 #include "AknFepUIAvkonCtrlJapaneseKutenQueryDialog.h"
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlJapanesePredictivePane.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlJapanesePredictivePane.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -35,7 +35,7 @@
 #include <aknPopupHeadingPane.h>
 #include <AknsDrawUtils.h>
 #include <AknsBasicBackgroundControlContext.h>
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 #include <barsread.h>
 #include <eikmop.h>
 #include <AknLayout.lag>
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonImpl.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonImpl.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -36,7 +36,7 @@
 #include <aknlistquerydialog.h>
 #include <aknedsts.h>               //CAknEdwinState
 #include <barsread.h>
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 #include "AknFepGlobalEnums.h"
 #include <aknstyluspopupmenu.h>
 #include <aknSctDialog.h>           //CAknCharMapDialog
--- a/fep/aknfep/src/AknFepCaseManager.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/AknFepCaseManager.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -30,7 +30,7 @@
 #include "AknFepPanic.h"
 #include "aknfeppeninputenums.h"
 
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 #include <aknedsts.h>
 #include <barsread.h>
 #include <jplangutil.h>
--- a/fep/aknfep/src/AknFepManager.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/AknFepManager.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -69,7 +69,7 @@
 #include <frmtview.h>
 #include <aknedformaccessor.h>
 
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 #include <avkon.mbg>
 
 #include "aknconsts.h"
@@ -104,7 +104,7 @@
 #ifdef RD_INTELLIGENT_TEXT_INPUT
 #include "AknFepUiWordPopupContent.h"
 #include "AknFepFnKeyManager.h"
-#include <csxhelp/cp.hlp.hrh> 
+//#include <csxhelp/cp.hlp.hrh> 
 #endif //RD_INTELLIGENT_TEXT_INPUT
 
 #ifdef RD_TACTILE_FEEDBACK
@@ -132,6 +132,7 @@
 
 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())
@@ -4900,7 +4901,7 @@
                     new (ELeave) CArrayFixFlat<TCoeHelpContext>( KArrayGranularity );
 	    	CleanupStack::PushL ( contexts );
 	    	TUid appuid = { 0x100058EC };
-	    	contexts->AppendL( TCoeHelpContext( appuid, KPREDINPUT_HLP_INPUT ) );
+	    	contexts->AppendL( TCoeHelpContext( appuid, KFEPPREDINPUT_HLP_INPUT ) );
 	    	CleanupStack::Pop( contexts );
 	    	HlpLauncher::LaunchHelpApplicationL( CEikonEnv::Static()->WsSession(), contexts );			
 			}
--- a/fep/aknfep/src/AknFepPluginManager.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/AknFepPluginManager.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -42,7 +42,7 @@
 #include <AvkonInternalCRKeys.h>    // KAknQwertyInputModeActive
 #include <hlplch.h>
 //#include <peninputgsinterface.h>
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 #include <avkon.rsg>
 #include <AknIndicatorContainer.h>  //CAknIndicatorContainer
 #include <StringLoader.h>
--- a/fep/aknfep/src/AknFepThaiSCTSelector.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/AknFepThaiSCTSelector.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -37,7 +37,7 @@
 #include <PtiDefs.h>
 #include <aknSctDialog.h>
 #include <avkon.rsg>
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 #include <e32std.h>
 
 #include <AknFepManager.h>
--- a/fep/aknfep/src/AknFepUIInputStateEntryMiniQwertyCangJie.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/AknFepUIInputStateEntryMiniQwertyCangJie.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -37,7 +37,7 @@
 #include "AknFepManager.h"                  //FepMan flag
 #include "AknFepUICtrlInputPane.h"
 #include "AknFepUiCtrlContainerChinese.h"
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 #include <PtiEngine.h>      //CPtiEngine
 #include <e32keys.h>        //keys  
 #include <avkon.rsg>
--- a/fep/aknfep/src/AknFepUIInputStateEntryMiniQwertyPinyinPhrase.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/AknFepUIInputStateEntryMiniQwertyPinyinPhrase.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -37,7 +37,7 @@
 #include "AknFepManager.h"                  //FepMan flag
 #include "AknFepUICtrlInputPane.h"
 #include "AknFepUiCtrlContainerChinese.h"
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 #include <PtiEngine.h>      //CPtiEngine
 #include <e32keys.h>        //keys  
 #include <avkon.rsg>
--- a/fep/aknfep/src/AknFepUiInputStateCandidateHalfQwertyChinesePhrase.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/AknFepUiInputStateCandidateHalfQwertyChinesePhrase.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -39,7 +39,7 @@
 #include "AknFepUICtrlPinyinPopup.h"
 #include "AknFepUIManagerStateInterface.h"  
 #include "AknFepManager.h" 
-#include <AknFep.rsg>                 
+#include <aknfep.rsg>                 
 
 // Constant definition
 const TInt KMinCandidateCount = 1;
--- a/fep/aknfep/src/AknFepUiInputStateCandidateHiraganaKanji.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/AknFepUiInputStateCandidateHiraganaKanji.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -42,7 +42,7 @@
 #include <PtiDefs.h>                    // keys
 #include <PtiEngine.h>
 #include <PtiCompositionDataIF.h>       // MPtiEngineCompositionDataInterfac
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 
 // CONSTANTS
 
--- a/fep/aknfep/src/AknFepUiInputStateCandidateMiniQwertyPinyinAndStrokePhrase.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/AknFepUiInputStateCandidateMiniQwertyPinyinAndStrokePhrase.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -41,7 +41,7 @@
 #include "aknfepuictrleditpane.h"           //phrase creation
 #include "AknFepUIManagerStateInterface.h"  
 #include "AknFepManager.h" 
-#include <AknFep.rsg>                 
+#include <aknfep.rsg>                 
 
 // ---------------------------------------------------------------------------
 // AknFepUiInputStateCandidateMiniQwertyPinyinAndStrokePhrase::
--- a/fep/aknfep/src/AknFepUiInputStateCandidateMiniQwertyZhuyinPhrase.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/AknFepUiInputStateCandidateMiniQwertyZhuyinPhrase.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -38,7 +38,7 @@
 #include "AknFepUICtrlInputPane.h"
 #include "AknFepUIManagerStateInterface.h"  
 #include "AknFepManager.h" 
-#include <AknFep.rsg>   
+#include <aknfep.rsg>   
 
 #include "aknfepuictrleditpane.h"           //for zhuyin phrase creation
 #include "aknfepinputstateminiqwertyzhuyinkeymap.h"
--- a/fep/aknfep/src/AknFepUiInputStateCandidateRetroActive.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/AknFepUiInputStateCandidateRetroActive.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -42,7 +42,7 @@
 #include <PtiEngine.h>
 #include <PtiCompositionDataIF.h>       // MPtiEngineCompositionDataInterfac
 #include <avkon.rsg>
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 
 
 // CONSTANTS
--- a/fep/aknfep/src/AknFepUiInputStateConversionHiraganaKanji.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/AknFepUiInputStateConversionHiraganaKanji.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -36,7 +36,7 @@
 #include <PtiDefs.h>                     // keys
 #include <PtiEngine.h>
 #include <PtiCompositionDataIF.h>        // MPtiEngineCompositionDataInterface
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 
 // CONSTANTS
 
--- a/fep/aknfep/src/AknFepUiInputStateEntryHalfQwertyWesternPredictive.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/AknFepUiInputStateEntryHalfQwertyWesternPredictive.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -40,7 +40,7 @@
 #include <PtiCompositionDataIF.h>   //MPtiEngineCompositionDataInterface
 #include <featmgr.h>                //FeatureManager
 #include <e32keys.h>
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 #include <PtiUserDicEntry.h>
 // TODO: Remove this include
 #include <AvkonInternalCRKeys.h>
--- a/fep/aknfep/src/AknFepUiInputStateEntryHiraganaKanji.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/AknFepUiInputStateEntryHiraganaKanji.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -36,7 +36,7 @@
 #include <PtiDefs.h>                     // keys
 #include <PtiEngine.h>
 #include <PtiCompositionDataIF.h>        // MPtiEngineCompositionDataInterface
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 
 // CONSTANTS
 
--- a/fep/aknfep/src/AknFepUiInputStateEntryIndicPredictive.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/AknFepUiInputStateEntryIndicPredictive.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -30,7 +30,7 @@
 #include "AknFepUIManagerStateInterface.h"      //MAknFepUIManagerStateInterface
 #include "AknFepPanic.h"
 #include "AknFepManagerUIInterface.h"
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 #include <PtiEngine.h>
 #include <PtiDefs.h>
 
--- a/fep/aknfep/src/AknFepUiInputStateEntryMiniQwertyZhuyinPhrase.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/AknFepUiInputStateEntryMiniQwertyZhuyinPhrase.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -41,7 +41,7 @@
 #include <e32keys.h>
 #include <PtiDefs.h>    
 #include <avkon.rsg>            //keys
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 
 const TInt KInputPaneLength = 32;
 _LIT(KSep, "'");
--- a/fep/aknfep/src/AknFepUiInputStateEntryPinyinPhrase.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/AknFepUiInputStateEntryPinyinPhrase.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -40,7 +40,7 @@
 #include <PtiEngine.h>                          //CPtiEngine
 #include <PtiDefs.h>                            //keys
 #include <avkon.rsg>
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 #include <aknnotewrappers.h>
 
 const TText KPinyinTone0Valid = 0x02C9;
--- a/fep/aknfep/src/AknFepUiInputStateEntryQwertyWesternPredictive.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/AknFepUiInputStateEntryQwertyWesternPredictive.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -41,7 +41,7 @@
 #include <PtiCompositionDataIF.h>   //MPtiEngineCompositionDataInterface
 #include <featmgr.h>                //FeatureManager
 #include <e32keys.h>
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 
 
 static const TInt KKeyMappingsLength = 63;
--- a/fep/aknfep/src/AknFepUiInputStateEntryThaiPredictive.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/AknFepUiInputStateEntryThaiPredictive.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -37,7 +37,7 @@
 #include <PtiEngine.h>                             //CPtiEngine
 #include <PtiDefs.h>                            //keys
 #include <e32keys.h>
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 
 TAknFepInputStateEntryThaiPredictive::
 TAknFepInputStateEntryThaiPredictive(MAknFepUIManagerStateInterface* aOwner)
--- a/fep/aknfep/src/AknFepUiInputStateEntryVietnamesePredictive.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/AknFepUiInputStateEntryVietnamesePredictive.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -38,7 +38,7 @@
 #include <PtiDefs.h>                            //keys
 #include <aknSctDialog.h>
 #include <avkon.rsg>
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 
 #include "AknFepUiManagerWestern.h"
 TAknFepInputStateEntryVietnamesePredictive::
--- a/fep/aknfep/src/AknFepUiInputStateEntryWesternPredictive.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/AknFepUiInputStateEntryWesternPredictive.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -41,7 +41,7 @@
 #include <PtiDefs.h>                            //keys
 #include <featmgr.h>                //FeatureManager
 #include <e32keys.h>
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 #include <PtiUserDicEntry.h>
 
 // The Maximum world size
--- a/fep/aknfep/src/AknFepUiInputStateEntryWesternPredictiveJp.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/AknFepUiInputStateEntryWesternPredictiveJp.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -37,7 +37,7 @@
 #include <PtiDefs.h>                            //keys
 #include <featmgr.h>                //FeatureManager
 #include <e32keys.h>
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 
 TAknFepInputStateEntryWesternPredictiveJp::
 TAknFepInputStateEntryWesternPredictiveJp(MAknFepUIManagerStateInterface* aOwner)
--- a/fep/aknfep/src/AknFepUiInputStateEntryZhuyinStrokeBasePhrase.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/AknFepUiInputStateEntryZhuyinStrokeBasePhrase.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -38,7 +38,7 @@
 #include <PtiEngine.h>      //CPtiEngine
 #include <e32keys.h>        //keys  
 #include <avkon.rsg>
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 
 TAknFepInputStateEntryZhuyinStrokeBasePhrase::TAknFepInputStateEntryZhuyinStrokeBasePhrase(
                                 MAknFepUIManagerStateInterface* aOwner,
--- a/fep/aknfep/src/AknFepUiInputStateInitialIndicMultitap.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/AknFepUiInputStateInitialIndicMultitap.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -37,7 +37,7 @@
 #include <PtiDefs.h>
 #include <aknSctDialog.h>
 #include <avkon.rsg>
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 #include <eikenv.h>
 
 #define PTI_CLEAR_CURRENTWORD( A, B ) \
--- a/fep/aknfep/src/AknFepUiInputStateInitialThaiMultitap.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/AknFepUiInputStateInitialThaiMultitap.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -37,7 +37,7 @@
 #include <PtiDefs.h>
 #include <aknSctDialog.h>
 #include <avkon.rsg>
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 
 
 TAknFepInputStateInitialThaiMultitap::
--- a/fep/aknfep/src/AknFepUiInputStateInitialVietnameseMultitap.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/AknFepUiInputStateInitialVietnameseMultitap.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -39,7 +39,7 @@
 #include <PtiDefs.h>
 #include <aknSctDialog.h>
 #include <avkon.rsg>
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 
 #include "AknFepUiManagerWestern.h"
 
--- a/fep/aknfep/src/AknFepUiInputStateJapanesePredictiveBase.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/AknFepUiInputStateJapanesePredictiveBase.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -39,7 +39,7 @@
 #include <PtiDefs.h>                    // keys
 #include <PtiEngine.h>
 #include <PtiCompositionDataIF.h>       // MPtiEngineCompositionDataInterface
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 
 
 // CONSTANTS
--- a/fep/aknfep/src/AknFepUiInputStateNextWordJapanesePredictive.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/AknFepUiInputStateNextWordJapanesePredictive.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -40,7 +40,7 @@
 #include <PtiDefs.h>                    // keys
 #include <PtiEngine.h>
 #include <PtiCompositionDataIF.h>       // MPtiEngineCompositionDataInterface
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 
 
 // CONSTANTS
--- a/fep/aknfep/src/AknFepUiInputStatePredictiveInputJapanese.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/AknFepUiInputStatePredictiveInputJapanese.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -40,7 +40,7 @@
 #include <PtiDefs.h>                    // keys
 #include <PtiEngine.h>
 #include <PtiCompositionDataIF.h>       // MPtiEngineCompositionDataInterface
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 #include <avkon.rsg>
 
 // CONSTANTS
--- a/fep/aknfep/src/AknFepUiManagerBase.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/AknFepUiManagerBase.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -43,7 +43,7 @@
 #include "AknFepCaseManager.h"
 #include "AknFepPanic.h"
 
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 #include <AknIndicatorContainer.h>  // CAknIndicatorContainer::TIndicatorContext
 #include <PtiEngine.h> 
 #include <PtiDefs.h>
--- a/fep/aknfep/src/AknFepUiManagerChinese.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/AknFepUiManagerChinese.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -121,7 +121,7 @@
 #include <PtiDefs.h>
 
 #include <avkon.rsg>        //phrase creation
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 
 // CONSTANTS
 const TInt16 KStrokeHorizontalValue = 0x4e00; 
--- a/fep/aknfep/src/AknFepUiManagerWestern.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/AknFepUiManagerWestern.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -96,7 +96,7 @@
 #include <PtiEngine.h> 
 #include <PtiDefs.h>
 #include <PtiUserDicEntry.h>
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 // CONSTANTS
 
 /**
--- a/fep/aknfep/src/aknfepinputstatecandidatepinyinphrasecreation.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/aknfepinputstatecandidatepinyinphrasecreation.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -30,7 +30,7 @@
 // System includes
 #include <PtiEngine.h>   
 #include <avkon.rsg>
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 //#include <aknquerydialog.h> //CAknQueryDialog  
 
 // User includes
--- a/fep/aknfep/src/aknfepinputstatepinyinphrasecreationbase.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/aknfepinputstatepinyinphrasecreationbase.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -30,7 +30,7 @@
 #include <PtiEngine.h>                          //CPtiEngine
 #include <PtiUserDicEntry.h>
 #include <avkon.rsg>
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 
 #include "aknfepinputstatepinyinphrasecreationbase.h"
 #include "AknFepPanic.h"
--- a/fep/aknfep/src/aknfepinputstatespellingpinyinphrasecreation.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/aknfepinputstatespellingpinyinphrasecreation.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -29,7 +29,7 @@
 #include <PtiEngine.h>                          //CPtiEngine
 #include <PtiDefs.h>                            //keys
 #include <avkon.rsg>
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 #include <aknnotewrappers.h>
 
 #include "AknFepPanic.h"
--- a/fep/aknfep/src/aknfepuiinputminiqwertypinyinphrasebase.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/aknfepuiinputminiqwertypinyinphrasebase.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -32,7 +32,7 @@
 #include <PtiEngine.h>
 #include <PtiDefs.h>
 #include <avkon.rsg>
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 #include <PtiUserDicEntry.h>
 #include <aknnotewrappers.h> //CAknWarningNote 
 // User includes
--- a/fep/aknfep/src/aknfepuiinputminiqwertystrokephrasebase.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/aknfepuiinputminiqwertystrokephrasebase.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -33,7 +33,7 @@
 #include <PtiEngine.h>
 #include <PtiDefs.h>
 #include <avkon.rsg>
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 #include <PtiUserDicEntry.h>
 #include <aknnotewrappers.h> //CAknWarningNote 
 
--- a/fep/aknfep/src/aknfepuiinputminiqwertyzhuyinphrasebase.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/aknfepuiinputminiqwertyzhuyinphrasebase.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -32,7 +32,7 @@
 #include <PtiEngine.h>
 #include <PtiDefs.h>
 #include <avkon.rsg>
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 #include <PtiUserDicEntry.h>
 #include <aknnotewrappers.h> //CAknWarningNote 
 // User includes
--- a/fep/aknfep/src/aknfepuiinputstateentryhalfqwertyphrase.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/aknfepuiinputstateentryhalfqwertyphrase.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -37,7 +37,7 @@
 #include "AknFepUICtrlInputPane.h"
 #include "AknFepUICtrlPinyinPopup.h"        //Pinyin phrase
 #include "AknFepUiCtrlContainerChinese.h"
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 #include <PtiEngine.h>      //CPtiEngine
 #include <e32keys.h>        //keys  
 #include <avkon.rsg>
--- a/fep/aknfep/src/aknfepuiinputstateentrypinyinphrasecreation.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/aknfepuiinputstateentrypinyinphrasecreation.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -32,7 +32,7 @@
 
 #include <PtiDefs.h>                            //keys
 #include <avkon.rsg>
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 #include <aknnotewrappers.h>
 
 #include "AknFepPanic.h"
--- a/fep/aknfep/src/aknfepuiinputstateentryzhuyinphrasecreation.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/aknfepuiinputstateentryzhuyinphrasecreation.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -31,7 +31,7 @@
 
 #include <PtiDefs.h>                            //keys
 #include <avkon.rsg>
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 #include <aknnotewrappers.h>
 
 #include "AknFepPanic.h"
--- a/fep/aknfep/src/aknfepuiinputstateinitialindicphoneticmultitap.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/aknfepuiinputstateinitialindicphoneticmultitap.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -37,7 +37,7 @@
 #include <PtiDefs.h>
 #include <aknsctdialog.h>
 #include <avkon.rsg>
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 #include <EikEnv.h>
 #include <Aknutils.h>
 #define PHONETIC_SEPARATOR 0x2e
--- a/fep/aknfep/src/aknfepuiinputstateminiqwertystrokephrase.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/aknfepuiinputstateminiqwertystrokephrase.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -33,7 +33,7 @@
 #include <PtiEngine.h>  
 #include <PtiUserDicEntry.h>
 #include <aknnotewrappers.h> //CAknWarningNote
-#include <AknFep.rsg>  
+#include <aknfep.rsg>  
 
 // User includes
 #include "AknFepUiCtrlContainerChinese.h"
--- a/fep/aknfep/src/aknfepuiinputstateminiqwertyzhuyinphrase.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/aknfepuiinputstateminiqwertyzhuyinphrase.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -33,7 +33,7 @@
 #include <PtiEngine.h>  
 #include <PtiUserDicEntry.h>
 #include <aknnotewrappers.h> //CAknWarningNote
-#include <AknFep.rsg>  
+#include <aknfep.rsg>  
 
 // User includes
 #include "AknFepUiCtrlContainerChinese.h"
--- a/fep/aknfep/src/aknfepuiinputstatestrokephrasebase.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/aknfepuiinputstatestrokephrasebase.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -31,7 +31,7 @@
 // System includes
 #include <PtiEngine.h>
 #include <avkon.rsg>
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 #include <PtiUserDicEntry.h>
 #include <aknnotewrappers.h> //CAknWarningNote 
 
--- a/fep/aknfep/src/aknfepuiinputstatezhuyinphrasecreationbase.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/aknfepuiinputstatezhuyinphrasecreationbase.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -29,7 +29,7 @@
 
 #include <PtiEngine.h>                          //CPtiEngine
 #include <avkon.rsg>
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 
 #include "aknfepuiinputstatezhuyinphrasecreationbase.h"
 #include "AknFepUIManagerStateInterface.h"      //MAknFepUIManagerStateInterface
--- a/fep/aknfep/src/aknfepuserdbdlg.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/aknfepuserdbdlg.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -46,7 +46,7 @@
 #include <f32file.h> //RFs
 #include <eikedwin.h> //CEikEdwin 
 #include <akntitle.h> //CAknTitlePane 
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 #include "AknFep.hrh"
 #include "aknfepuserdbdlg.h"
 #include "dbmanagement.h"
--- a/fep/aknfep/src/aknfepuserdbquerydlg.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/aknfepuserdbquerydlg.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -21,7 +21,7 @@
 #include <aknnotewrappers.h> //CAknWarningNote
 #include <eikedwin.h> //CEikEdwin 
 
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 
 #include "aknfepuserdbquerydlg.h"
 #include "dbmanagement.h"
--- a/fep/aknfep/src/dbmanagement.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/aknfep/src/dbmanagement.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -27,7 +27,7 @@
 
 
 //system include files
-#include <AknFep.rsg>
+#include <aknfep.rsg>
 #include <PtiUserDicEntry.h>
 #include <PtiEngine.h>
 #include <StringLoader.h> 
--- a/fep/frontendprocessor/group/BLD.INF	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/frontendprocessor/group/BLD.INF	Thu Jul 22 16:37:15 2010 +0100
@@ -20,7 +20,7 @@
 */
 
 // include test code
-#include "../test/group/BLD.INF"
+#include "../test/group/bld.inf"
 
 PRJ_PLATFORMS
 DEFAULT
--- a/fep/frontendprocessor/source/FEPBASE.CPP	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/frontendprocessor/source/FEPBASE.CPP	Thu Jul 22 16:37:15 2010 +0100
@@ -19,7 +19,7 @@
 #include <w32std.h>
 #include <coemain.h>
 #include <coedef.h>
-#include "coedatastorage.h"
+#include "CoeDataStorage.h"
 #include <fepbase.h>
 #include <fepitfr.h>
 #include <fepbpanic.h>
--- a/fep/frontendprocessor/test/src/TFEP1TESTTARGET.CPP	Fri Jun 11 16:25:13 2010 +0100
+++ b/fep/frontendprocessor/test/src/TFEP1TESTTARGET.CPP	Thu Jul 22 16:37:15 2010 +0100
@@ -18,7 +18,7 @@
 // it has not been investigated a way to automate parts of it, particularly key combinations of 'shift+A', 'shift+B' or 'shift+S',
 // which still rely on a live creature checking that the output on the screen is correct (that creature may want to put a delay
 // when sending messages to be able to see that message, otherwise it may be too fast for it/him/her).
-// 
+//
 //
 
 /**
@@ -61,12 +61,12 @@
 
 
 /*************************************************************
- **  
+ **
  **  TTstResourceFileId - TCleanupItem derived class
- **  
+ **
  *************************************************************/
 /*
-	Encapsulates the clean up operations. The class unloads the resource file from the list maintained by CCoeEnv 
+	Encapsulates the clean up operations. The class unloads the resource file from the list maintained by CCoeEnv
 */
 TTstResourceFileId::TTstResourceFileId(CCoeEnv& aConeEnvironment, TInt aResourceFileId)
 	:TCleanupItem(UnloadResourceFile, this),
@@ -84,9 +84,9 @@
 
 
 /*************************************************************
- **  
+ **
  **  CTstTestTargetDialog - CEikDialog derived class
- **  
+ **
  *************************************************************/
 
 /**
@@ -112,6 +112,10 @@
 
 TBool CTstTestTargetDialog::OkToExitL(TInt /*aKeyCode*/)
 	{
+    RDebug::Print(_L("**************************************************************"));
+    RDebug::Print(_L("****                OK or CANCEL key pressed                  "));
+    RDebug::Print(_L("**************************************************************\n"));
+
 	// Get fields text values...
 	CEikEdwin* edwinNormal = static_cast<CEikEdwin*>(Control(EControlIdNormalEdwin));
 	edwinNormal->GetText(gTextNormalEdwin);
@@ -134,7 +138,7 @@
 
 
 /**
-   Flag TRUE for support of Phonetic alphabets 
+   Flag TRUE for support of Phonetic alphabets
 */
 TBool CTstTestTargetDialog::SupportsPhoneticAlphabet() const
 	{
@@ -145,9 +149,9 @@
 
 
 /*************************************************************
- **  
+ **
  **  CFep1TestTargetUi
- **  
+ **
  *************************************************************/
 
 CFep1TestTargetUi::CFep1TestTargetUi(CTmsTestStep* aStep) :
@@ -160,14 +164,18 @@
 	}
 
 /**
-  Install the FEP.\n 
+  Install the FEP.\n
   Set the windows server event as User defined.\n
-  Connect the client session to widows server.\n 
+  Connect the client session to widows server.\n
   Create the Client side handle \n
   Send the user events and close the session on completion\n
 */
 void CFep1TestTargetUi::ConstructL()
 	{
+    RDebug::Print(_L("**************************************************************"));
+    RDebug::Print(_L("****           CFep1TestTargetUi::ConstructL                  "));
+    RDebug::Print(_L("**************************************************************\n"));
+
 	CTestAppUi::ConstructL();
 
 	iCoeEnv->InstallFepL(KNullUid);
@@ -198,14 +206,14 @@
 	{
 	switch(aStep)
 		{
-		
+
 //----------------------------------------------------------------------------------------------
 
 /**
    @SYMTestCaseID 		UIF-FEPTEST-0004
    @SYMPREQ				0000
    @SYMTestCaseDesc  	Offer key events to the dialog having the TFEP1 activated.
-   @SYMTestPriority 	High 
+   @SYMTestPriority 	High
    @SYMTestStatus 		Implemented
    @SYMTestActions 		Simulate key events sent to the dialog box, and do some actions with the fep,
    						like commit, cancel and go back to add a 'missing' letter.
@@ -222,41 +230,41 @@
 			SendKey(code);
 			}
 			break;
-			
+
 		case 4:
 			{
 			INFO_PRINTF1(_L("...simulate Key Event Enter ---> Submits 'ABC'"));
-			SendKey(EKeyEnter);			
+			SendKey(EKeyEnter);
 			}
 			break;
 
-		case 5: case 6: case 7: 
+		case 5: case 6: case 7:
 			{
 			TUint code = 'D' + aStep - 5;
 			INFO_PRINTF2(_L("...simulate Key Event '%d'"), code);
 			SendKey(code);
 			}
 			break;
-			
+
 		case 8:
 			{
 			INFO_PRINTF1(_L("...simulate Key Event Escape ---> Cancels 'DEF'"));
-			SendKey(EKeyEscape);			
+			SendKey(EKeyEscape);
 			}
 			break;
 
-		case 9: case 10: case 11: 
+		case 9: case 10: case 11:
 			{
 			TUint code = 'H' + aStep - 9;
 			INFO_PRINTF2(_L("...simulate Key Event '%d'"), code);
 			SendKey(code);
 			}
 			break;
-			
+
 		case 12: case 13: case 14: case 15: case 16:
 			{
 			INFO_PRINTF1(_L("...simulate Key Cursor Left --->  Go left 5 positions (should not go further than the previous 'H' however"));
-			SendKey(EKeyLeftArrow);			
+			SendKey(EKeyLeftArrow);
 			}
 			break;
 
@@ -271,14 +279,14 @@
 		case 18:
 			{
 			INFO_PRINTF1(_L("...simulate Key Event Enter ---> Submits 'GHIJ'"));
-			SendKey(EKeyEnter);			
+			SendKey(EKeyEnter);
 			}
 			break;
 
 		case 19: case 20: case 21: case 22: case 23:
 			{
 			INFO_PRINTF1(_L("...simulate Key Cursor Right --->  Go right few positions in case we were within inline editing fep mode"));
-			SendKey(EKeyRightArrow);			
+			SendKey(EKeyRightArrow);
 			if(aStep == 23)
 				{
 				RecordTestResultL();
@@ -293,7 +301,7 @@
    @SYMTestCaseID 		UIF-FEPTEST-0005
    @SYMPREQ				0000
    @SYMTestCaseDesc  	Repeat the same as the other but changing mode (inline <--> non inline)
-   @SYMTestPriority 	High 
+   @SYMTestPriority 	High
    @SYMTestStatus 		Implemented
    @SYMTestActions 		Simulate key events sent to the dialog box, and do some actions with the fep,
    						like commit, cancel and go back to add a 'missing' letter.
@@ -306,52 +314,52 @@
 			{
 			SetTestStepID(_L("UIF-FEPTEST-0005"));
 			INFO_PRINTF1(_L("...simulate Key Event 'Shift + I' ---> Changes fep mode!"));
-			SendKey('I', EModifierRightShift);			
+			SendKey('I', EModifierRightShift);
 			}
 			break;
 
-		case 52: case 53: case 54: 
+		case 52: case 53: case 54:
 			{
 			TUint code = 'K' + aStep - 52;
 			INFO_PRINTF2(_L("...simulate Key Event '%d'"), code);
 			SendKey(code);
 			}
 			break;
-			
+
 		case 55:
 			{
 			INFO_PRINTF1(_L("...simulate Key Event Enter ---> Submits 'KLM'"));			// Submit "KLM" ----> We should have "ABCGHIJKLM"
-			SendKey(EKeyEnter);			
+			SendKey(EKeyEnter);
 			}
 			break;
 
-		case 56: case 57: case 58: 
+		case 56: case 57: case 58:
 			{
 			TUint code = 'N' + aStep - 56;
 			INFO_PRINTF2(_L("...simulate Key Event '%d'"), code);
 			SendKey(code);
 			}
 			break;
-			
+
 		case 59:
 			{
 			INFO_PRINTF1(_L("...simulate Key Event Escape ---> Cancels 'NOP'"));
-			SendKey(EKeyEscape);			
+			SendKey(EKeyEscape);
 			}
 			break;
 
-		case 60: case 61: case 62: 
+		case 60: case 61: case 62:
 			{
 			TUint code = 'R' + aStep - 60;
 			INFO_PRINTF2(_L("...simulate Key Event '%d'"), code);
 			SendKey(code);
 			}
 			break;
-			
+
 		case 63: case 64: case 65: case 66: case 67:
 			{
 			INFO_PRINTF1(_L("...simulate Key Cursor Left --->  Go left 5 positions (should not go further than the previous 'R' however"));
-			SendKey(EKeyLeftArrow);			
+			SendKey(EKeyLeftArrow);
 			}
 			break;
 
@@ -366,14 +374,14 @@
 		case 69:
 			{
 			INFO_PRINTF1(_L("...simulate Key Event Enter ---> Submits 'QRST'"));	// Submit "QRST" ----> We should have "ABCGHIJKLMQRST"
-			SendKey(EKeyEnter);			
+			SendKey(EKeyEnter);
 			}
 			break;
 
 		case 70: case 71: case 72: case 73: case 74:
 			{
 			INFO_PRINTF1(_L("...simulate Key Cursor Right --->  Go right few positions in case we were within inline editing fep mode"));
-			SendKey(EKeyRightArrow);			
+			SendKey(EKeyRightArrow);
 			if(aStep == 74)
 					{
 					RecordTestResultL();
@@ -388,7 +396,7 @@
    @SYMTestCaseID 		UIF-FEPTEST-0006
    @SYMPREQ				0000
    @SYMTestCaseDesc  	Test changing focus
-   @SYMTestPriority 	High 
+   @SYMTestPriority 	High
    @SYMTestStatus 		Implemented
    @SYMTestActions 		Simulate key events to change focus of the Fep window and move the windows around.
    						In addition, simulate the key event that sends the Fep window to the current dialog cursor.
@@ -401,14 +409,14 @@
 			{
 			SetTestStepID(_L("UIF-FEPTEST-0006"));
 			INFO_PRINTF1(_L("...simulate Key Event 'Shift + N' ---> Moves the Fep window to dialog cursor!"));
-			SendKey('N', EModifierRightShift);			
+			SendKey('N', EModifierRightShift);
 			}
 			break;
 
 		case 102:
 			{
 			INFO_PRINTF1(_L("...simulate Key Event 'Shift + F' ---> Changes focus!"));
-			SendKey('F', EModifierRightShift);			
+			SendKey('F', EModifierRightShift);
 			}
 			break;
 
@@ -416,14 +424,14 @@
 			{
 			INFO_PRINTF1(_L("...send several cursor right events to move the window"));
 			for (TInt ii=10; ii>0; --ii)
-				SendKey(EKeyRightArrow);			
+				SendKey(EKeyRightArrow);
 			}
 			break;
 
 		case 116:
 			{
 			INFO_PRINTF1(_L("...simulate Key Event Enter ---> Finishes moving the Fep window!"));
-			SendKey(EKeyEnter);			
+			SendKey(EKeyEnter);
 			RecordTestResultL();
 			}
 			break;
@@ -435,7 +443,7 @@
    @SYMTestCaseID 		UIF-FEPTEST-0007
    @SYMPREQ				0000
    @SYMTestCaseDesc  	Test TFEP1 in HEXadecimal mode
-   @SYMTestPriority 	High 
+   @SYMTestPriority 	High
    @SYMTestStatus 		Implemented
    @SYMTestActions 		Change Fep to HEX mode by means of the corresponding key event.
    						Simulate that the combination of 0x0040 produces the symbol '@'
@@ -448,7 +456,7 @@
 			{
 			SetTestStepID(_L("UIF-FEPTEST-0007"));
 			INFO_PRINTF1(_L("...simulate Key Event 'Shift + M' ---> Changes to hex fep!"));
-			SendKey('M', EModifierRightShift);			
+			SendKey('M', EModifierRightShift);
 			}
 			break;
 
@@ -487,14 +495,19 @@
 		case 157:
 			{
 			INFO_PRINTF1(_L("...simulate Key Event Enter ---> Submits '0040' ==> At symbol (@)"));
-			SendKey(EKeyEnter);			
+			SendKey(EKeyEnter);
 			}
 			break;
 
 		case 158:
 			{
 			INFO_PRINTF1(_L("...simulate Key Event 'Shift + M' ---> Changes back to normal fep!"));
-			SendKey('M', EModifierRightShift);			
+			SendKey('M', EModifierRightShift);
+
+		    RDebug::Print(_L("**************************************************************"));
+		    RDebug::Print(_L("****           UIF-FEPTEST-0007 Finished                      "));
+		    RDebug::Print(_L("**************************************************************\n"));
+
 			RecordTestResultL();
 			}
 			break;
@@ -506,7 +519,7 @@
    @SYMTestCaseID 		UIF-FEPTEST-0008
    @SYMPREQ				0000
    @SYMTestCaseDesc  	Text selection within a dialog box editor.
-   @SYMTestPriority 	High 
+   @SYMTestPriority 	High
    @SYMTestStatus 		Implemented
    @SYMTestActions 		To test this functionality we simulate a key event to go to the next dialog
    						field (cursor down). Once in there, some numerical key events are sent to the
@@ -525,7 +538,7 @@
 			{
 			SetTestStepID(_L("UIF-FEPTEST-0008"));
 			INFO_PRINTF1(_L("Send cursor down events to move the next dialog"));
-			SendKey(EKeyDownArrow);			
+			SendKey(EKeyDownArrow);
 			}
 			break;
 
@@ -540,11 +553,11 @@
 		case 205:
 			{
 			INFO_PRINTF1(_L("...simulate Key Event 'Shift + W' ---> Change cursor type in case of inline editing!"));
-			SendKey('W', EModifierRightShift);			
+			SendKey('W', EModifierRightShift);
 			}
 			break;
-			
-		case 206: case 207: case 208: 
+
+		case 206: case 207: case 208:
 			{
 			INFO_PRINTF1(_L("...simulate Key Cursor 'shift + Left' --->  Selects non-submitted text"));
 			SendKey(EKeyLeftArrow, EModifierLeftShift|EModifierShift);
@@ -562,14 +575,14 @@
 		case 212:
 			{
 			INFO_PRINTF1(_L("...simulate Key Event Enter ---> Submits '123'"));
-			SendKey(EKeyEnter);			
+			SendKey(EKeyEnter);
 			}
 			break;
 
 		case 213:
 			{
 			INFO_PRINTF1(_L("...simulate Key Event 'Shift + I' ---> Changes fep mode!"));
-			SendKey('I', EModifierRightShift);			
+			SendKey('I', EModifierRightShift);
 			}
 			break;
 
@@ -584,11 +597,11 @@
 		case 217:
 			{
 			INFO_PRINTF1(_L("...simulate Key Event 'Shift + W' ---> Change cursor type in case of inline editing!"));
-			SendKey('W', EModifierRightShift);			
+			SendKey('W', EModifierRightShift);
 			}
 			break;
-			
-		case 218: case 219: case 220: 
+
+		case 218: case 219: case 220:
 			{
 			INFO_PRINTF1(_L("...simulate Key Cursor 'shift + Right' --->  Selects non-submitted text"));
 			SendKey(EKeyLeftArrow, EModifierLeftShift|EModifierShift);
@@ -606,14 +619,14 @@
 		case 224:
 			{
 			INFO_PRINTF1(_L("...simulate Key Event Enter ---> Submits '456'"));
-			SendKey(EKeyEnter);			
+			SendKey(EKeyEnter);
 			}
 			break;
 
 		case 225: case 226: case 227:
 			{
 			INFO_PRINTF1(_L("...simulate Key Cursor Left --->  Go left 3 positions (we should be between digits 3 and 4!"));
-			SendKey(EKeyLeftArrow);			
+			SendKey(EKeyLeftArrow);
 			}
 			break;
 
@@ -627,21 +640,21 @@
 		case 229:
 			{
 			INFO_PRINTF1(_L("...simulate Key Event 'Shift + A' ---> Tells about what's AFTER the selected 4!"));	// Should be 56
-			SendKey('A', EModifierRightShift);			
+			SendKey('A', EModifierRightShift);
 			}
 			break;
-			
+
 		case 230:
 			{
 			INFO_PRINTF1(_L("...simulate Key Event 'Shift + S' ---> Tells about what's SELECTED!"));	// Should be 4
-			SendKey('S', EModifierRightShift);			
+			SendKey('S', EModifierRightShift);
 			}
 			break;
-			
+
 		case 231:
 			{
 			INFO_PRINTF1(_L("...simulate Key Event 'Shift + B' ---> Tells about what's BEFORE the selected 4!"));	// Should be 123
-			SendKey('B', EModifierRightShift);			
+			SendKey('B', EModifierRightShift);
 			}
 			break;
 
@@ -656,7 +669,7 @@
 		case 234:
 			{
 			INFO_PRINTF1(_L("...simulate Key Event Enter ---> Submits '00'"));						// We should have 1230056
-			SendKey(EKeyEnter);			
+			SendKey(EKeyEnter);
 			RecordTestResultL();
 			}
 			break;
@@ -669,12 +682,12 @@
    @SYMTestCaseID 		UIF-FEPTEST-0009
    @SYMPREQ				0000
    @SYMTestCaseDesc  	Fep state within a dialog box editor.
-   @SYMTestPriority 	High 
+   @SYMTestPriority 	High
    @SYMTestStatus 		Implemented
    @SYMTestActions 		To test this functionality we simulate a key event to go to change the state
    						variable (in TFEP1 case it's just a counter), repeating the same event few times.
    						he next dialog.
-   						Move to the next text editor box and go back to the previous one. State is maintained 
+   						Move to the next text editor box and go back to the previous one. State is maintained
    @SYMTestExpectedResults 	The state is maintained even though we move across to other text editor boxes (partly manual)
  */
 
@@ -685,30 +698,34 @@
 		case 252: case 253: case 254: case 255:
 			{
 			INFO_PRINTF1(_L("...simulate Key Event 'Shift + T' ---> Changes State variable!"));
-			SendKey('T', EModifierRightShift);			
+			SendKey('T', EModifierRightShift);
 			}
 			break;
 
 		case 256:
 			{
 			INFO_PRINTF1(_L("Send cursor up events to move the next dialog"));
-			SendKey(EKeyUpArrow);			
+			SendKey(EKeyUpArrow);
 			}
 			break;
 
 		case 257:
 			{
 			INFO_PRINTF1(_L("Send cursor down events to move the next dialog"));
-			SendKey(EKeyDownArrow);			
+			SendKey(EKeyDownArrow);
 			}
 			break;
 
 		case 258: case 259: case 260: case 261: case 262:
 			{
 			INFO_PRINTF1(_L("...simulate Key Event 'Shift + T' ---> Changes State variable!"));
-			SendKey('T', EModifierRightShift);			
+			SendKey('T', EModifierRightShift);
 			if(aStep == 262)
 				{
+                RDebug::Print(_L("**************************************************************"));
+                RDebug::Print(_L("****           UIF-FEPTEST-0009 Finished                      "));
+                RDebug::Print(_L("**************************************************************\n"));
+
 				RecordTestResultL();
 				}
 			}
@@ -721,10 +738,10 @@
    @SYMTestCaseID 		UIF-FEPTEST-0010
    @SYMPREQ				0000
    @SYMTestCaseDesc  	Kata-kata dialog box editor.
-   @SYMTestPriority 	High 
+   @SYMTestPriority 	High
    @SYMTestStatus 		Implemented
-   @SYMTestActions 		To test this functionality we simulate a key event to go to next dialog box 
-   						editor (Katakana dialog box). Simulate some characters and check that 
+   @SYMTestActions 		To test this functionality we simulate a key event to go to next dialog box
+   						editor (Katakana dialog box). Simulate some characters and check that
    						they appear on the box accordingly.
    @SYMTestExpectedResults 	When the dialog is dismissed, the text box reads as is expected.
  */
@@ -735,11 +752,11 @@
 			{
 			SetTestStepID(_L("UIF-FEPTEST-0010"));
 			INFO_PRINTF1(_L("Send cursor down events to move the next dialog"));
-			SendKey(EKeyDownArrow);			
+			SendKey(EKeyDownArrow);
 			}
 			break;
 
-		case 352: case 353: case 354:  
+		case 352: case 353: case 354:
 			{
 			SetTestStepID(_L("UIF-FEPTEST-0010"));
 			TUint code = 'E' + aStep - 352;
@@ -759,14 +776,14 @@
    @SYMTestCaseID 		UIF-FEPTEST-0011
    @SYMPREQ				0000
    @SYMTestCaseDesc  	Phoneticall dialog box editor.
-   @SYMTestPriority 	High 
+   @SYMTestPriority 	High
    @SYMTestStatus 		Implemented
-   @SYMTestActions 		To test this functionality we simulate a key event to go to next dialog box 
-   						editor (Phoneticall dialog box). Simulate some characters and check that 
+   @SYMTestActions 		To test this functionality we simulate a key event to go to next dialog box
+   						editor (Phoneticall dialog box). Simulate some characters and check that
    						they appear on the box accordingly, i.e, converting single characters to those
    						in the phoneticall alphabet (A-->Alpha, B-->Bravo...)
-   						In addition, uninstall the Fep and write more characters, so they are not 
-   						phonetically 'translated' by the Fep. 		
+   						In addition, uninstall the Fep and write more characters, so they are not
+   						phonetically 'translated' by the Fep.
    @SYMTestExpectedResults 	When the dialog is dismissed, the text box reads as is expected.
  */
 
@@ -776,22 +793,22 @@
 			{
 			SetTestStepID(_L("UIF-FEPTEST-0011"));
 			INFO_PRINTF1(_L("Send cursor down events to move the next dialog"));
-			SendKey(EKeyDownArrow);			
+			SendKey(EKeyDownArrow);
 			}
 			break;
 
-		case 452: case 453: case 454:  
+		case 452: case 453: case 454:
 			{
 			TUint code = 'J' + aStep - 452;
 			INFO_PRINTF2(_L("...simulate Key Event '%d'"), code);
 			SendKey(code);
 			}
 			break;
-			
+
 		case 455:
 			{
 			INFO_PRINTF1(_L("...simulate Key Event Enter ---> Submits 'JulietteKiloLima'"));
-			SendKey(EKeyEnter);			
+			SendKey(EKeyEnter);
 			}
 			break;
 
@@ -810,11 +827,16 @@
 			SendKey(code);
 			}
 			break;
-			
+
 		case 460:
 			{
 			//INFO_PRINTF1(_L("...simulate Key Event Enter ---> Submits 'MNO' (not Fep installed --> No Alphabetical!"));
-			//SendKey(EKeyEnter);			
+			//SendKey(EKeyEnter);
+
+		    RDebug::Print(_L("**************************************************************"));
+		    RDebug::Print(_L("****           UIF-FEPTEST-0011 Finished                      "));
+		    RDebug::Print(_L("**************************************************************\n"));
+
 			RecordTestResultL();
 			}
 			break;
@@ -825,11 +847,11 @@
    @SYMTestCaseID 		TI18N-FEPBASE-CIT-4001
    @SYMPREQ				2471
    @SYMTestCaseDesc  	Check FEPBASE Unicode 5.0 support.
-   @SYMTestPriority 	High 
+   @SYMTestPriority 	High
    @SYMTestStatus 		Implemented
    @SYMTestActions 		1. Pass BMP code points to WORD.exe
-                        2. Pass non-BMP code points to WORD.exe 
- 		
+                        2. Pass non-BMP code points to WORD.exe
+
    @SYMTestExpectedResults 	When the dialog is dismissed, the text box reads as is expected.
  */
 
@@ -850,7 +872,7 @@
 		case 462:
 			{
 			INFO_PRINTF1(_L("...simulate Key Event 'Shift + M' ---> Changes to hex fep!"));
-			SendKey('M', EModifierRightShift);			
+			SendKey('M', EModifierRightShift);
 			TUint codes[] = {'0', '0', '0', '2', '1'};	// FEP 4 supports UTF-16, and need 5 digits for one Unicode value
 			for (int i = 0; i < sizeof(codes)/sizeof(TUint); i++)
 				{
@@ -858,10 +880,10 @@
 				SendKey(codes[i]);
 				}
 			INFO_PRINTF1(_L("...simulate Key Event Enter"));
-			SendKey(EKeyEnter);			
+			SendKey(EKeyEnter);
 			}
 			break;
-		case 463:  
+		case 463:
 			{
 			TUint codes[] = {'0', '0', '4', '1', '1'};	// FEP 4 supports UTF-16, and need 5 digit for one Unicode value
 			for (int i = 0; i < sizeof(codes)/sizeof(TUint); i++)
@@ -870,10 +892,10 @@
 				SendKey(codes[i]);
 				}
 			INFO_PRINTF1(_L("...simulate Key Event Enter"));
-			SendKey(EKeyEnter);			
+			SendKey(EKeyEnter);
 			}
 			break;
-		case 464:  
+		case 464:
 			{
 			TUint codes[] = {'0', '0', 'E', '0', '2'};	// FEP 4 supports UTF-16, and need 5 digit for one Unicode value
 			for (int i = 0; i < sizeof(codes)/sizeof(TUint); i++)
@@ -882,7 +904,7 @@
 				SendKey(codes[i]);
 				}
 			INFO_PRINTF1(_L("...simulate Key Event Enter"));
-			SendKey(EKeyEnter);			
+			SendKey(EKeyEnter);
 			}
 			break;
 		case 465:
@@ -894,7 +916,7 @@
 				SendKey(codes[i]);
 				}
 			INFO_PRINTF1(_L("...simulate Key Event Enter"));
-			SendKey(EKeyEnter);			
+			SendKey(EKeyEnter);
 			}
 			break;
 		case 466:
@@ -906,7 +928,7 @@
 				SendKey(codes[i]);
 				}
 			INFO_PRINTF1(_L("...simulate Key Event Enter"));
-			SendKey(EKeyEnter);			
+			SendKey(EKeyEnter);
 			}
 			break;
 		case 467:
@@ -918,7 +940,7 @@
 				SendKey(codes[i]);
 				}
 			INFO_PRINTF1(_L("...simulate Key Event Enter"));
-			SendKey(EKeyEnter);			
+			SendKey(EKeyEnter);
 			}
 			break;
 		case 468:
@@ -930,7 +952,7 @@
 				SendKey(codes[i]);
 				}
 			INFO_PRINTF1(_L("...simulate Key Event Enter"));
-			SendKey(EKeyEnter);			
+			SendKey(EKeyEnter);
 			}
 			break;
 		case 469:
@@ -942,10 +964,10 @@
 				SendKey(codes[i]);
 				}
 			INFO_PRINTF1(_L("...simulate Key Event Enter"));
-			SendKey(EKeyEnter);			
+			SendKey(EKeyEnter);
 			}
 			break;
-		case 470: 
+		case 470:
 			{
 			TUint codes[] =  {'2', 'F', '8', '0', '0'};
 			for (int i = 0; i < sizeof(codes)/sizeof(TUint); i++)
@@ -954,7 +976,7 @@
 				SendKey(codes[i]);
 				}
 			INFO_PRINTF1(_L("...simulate Key Event Enter"));
-			SendKey(EKeyEnter);			
+			SendKey(EKeyEnter);
 			}
 			break;
 		case 471:
@@ -972,8 +994,13 @@
 			INFO_PRINTF1(_L("Uninstall the FEP 4"));
 			iCoeEnv->InstallFepL(KNullUid);
 			User::After(TTimeIntervalMicroSeconds32(2000000));
-            SendKey(EKeyEnter);  
-            RecordTestResultL();
+			SendKey(EKeyEnter);
+
+			RDebug::Print(_L("**************************************************************"));
+			RDebug::Print(_L("****           TI18N-FEPBASE-CIT-4001 Finished                      "));
+			RDebug::Print(_L("**************************************************************\n"));
+
+			RecordTestResultL();
 			}
 			break;
 
@@ -983,10 +1010,10 @@
    @SYMTestCaseID 		UIF-FEPTEST-0012
    @SYMPREQ				0000
    @SYMTestCaseDesc  	Dismiss dialog.
-   @SYMTestPriority 	High 
+   @SYMTestPriority 	High
    @SYMTestStatus 		Implemented
    @SYMTestActions 		To test this functionality we simulate a key event to dismiss the dialog.
-   						When the dialog is closed, CTstTestTargetDialog::OkToExitL() is called and 
+   						When the dialog is closed, CTstTestTargetDialog::OkToExitL() is called and
    						general variables are set with the values from the dialog text editors.
    @SYMTestExpectedResults 	All global variables read as expected.
  */
@@ -998,10 +1025,10 @@
 			SetTestStepID(_L("UIF-FEPTEST-0012"));
 			INFO_PRINTF1(_L("Ssimulate Key Enter Event to dismiss the dialog"));
 			AutoTestManager().Cancel();
-			SendKey(EKeyEnter);			
+			SendKey(EKeyEnter);
 			}
 			break;
-			
+
 		case 502:
 			{
 			INFO_PRINTF1(_L("Wait for 2 seconds..."));
@@ -1011,6 +1038,10 @@
 
 		case 503:
 			{
+	         RDebug::Print(_L("**************************************************************"));
+	         RDebug::Print(_L("****           Checking dialog values...                      "));
+	         RDebug::Print(_L("**************************************************************\n"));
+
 			INFO_PRINTF1(_L("Checking dialog values..."));
 			INFO_PRINTF3(_L("gTextNormalEdwin was '%S' (expected '%S')"), &gTextNormalEdwin, &KExpectedTextNormalEdwin);
 			INFO_PRINTF3(_L("gTextNormalNumEdwin was '%S' (expected '%S')"), &gTextNormalNumEdwin, &KExpectedTextNormalNumEdwin);
@@ -1034,7 +1065,7 @@
 			}
 			break;
 		}
-		
+
 	}
 
 
@@ -1051,7 +1082,7 @@
 	}
 
 
-/** 
+/**
   Handle the window events.\n
   Create a window server session and connect the client\n
   Create a client side handle for the server.\n
@@ -1068,11 +1099,11 @@
 
 	RWindowGroup& winGroup = iCoeEnv->RootWin();
 	TInt theId = winGroup.Identifier();
-	
+
 	aEvent.SetType(EEventKeyDown);
 	aEvent.SetTimeNow();
 	ws.SendEventToWindowGroup(theId, aEvent);
-		
+
 	aEvent.SetType(EEventKey);
 	aEvent.SetTimeNow();
 	ws.SendEventToWindowGroup(theId, aEvent);
@@ -1080,10 +1111,10 @@
 	aEvent.SetType(EEventKeyUp);
 	aEvent.SetTimeNow();
 	ws.SendEventToWindowGroup(theId, aEvent);
-	
+
 	ws.Close();
 	}
-	
+
 /**
   Handle the user defined events.\n
   Search for the resource file that support the language.\n
@@ -1095,10 +1126,10 @@
 		{
 		CCoeEnv& coneEnvironment=*CCoeEnv::Static();
 		TFileName* resourceFileName=new(ELeave) TFileName(KFep1TestTargetResourceFilePath);
-	
+
 		TBuf8<128> buf;
 		buf.Copy(*resourceFileName);
-	
+
 		CleanupStack::PushL(resourceFileName);
 		BaflUtils::NearestLanguageFile(coneEnvironment.FsSession(), *resourceFileName);
 		TTstResourceFileId resourceFileId(coneEnvironment, coneEnvironment.AddResourceFileL(*resourceFileName));
@@ -1110,17 +1141,17 @@
 		dlg->ExecuteLD(R_TFT_DIALOG);
 		CleanupStack::PopAndDestroy(&resourceFileId);
 		}
-	else 
+	else
 		{
-		CTestAppUi::HandleApplicationSpecificEventL(aType, aEvent);	
+		CTestAppUi::HandleApplicationSpecificEventL(aType, aEvent);
 		}
 	}
 
 
 /*************************************************************
- **  
+ **
  **  CTestFep1TargetStep
- **  
+ **
  *************************************************************/
 
 CTestFep1TargetStep::CTestFep1TargetStep()
@@ -1133,10 +1164,10 @@
 	}
 
 
-/**  
+/**
   Call ConstructL() of CEikonEnv and initialize a pointer to CFep1TestTargetUi \n
   Set the application's user interface object \n
-  Call ConstructL() of CFep1TestTargetUi 
+  Call ConstructL() of CFep1TestTargetUi
 */
 void CTestFep1TargetStep::ConstructAppL(CEikonEnv* aCoe)
     { // runs inside a TRAP harness
@@ -1174,7 +1205,7 @@
 	__UHEAP_MARKEND;
 
 	INFO_PRINTF1(_L("...TestFep1Target finished!"));
-	
+
 	return TestStepResult();
 	}
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fepstub/UiPlugins/AknFepUiInterface/bwins/aknfepuiinterfaceu.def	Thu Jul 22 16:37:15 2010 +0100
@@ -0,0 +1,8 @@
+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)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fepstub/UiPlugins/AknFepUiInterface/eabi/aknfepuiinterfaceu.def	Thu Jul 22 16:37:15 2010 +0100
@@ -0,0 +1,18 @@
+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>#
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fepstub/UiPlugins/AknFepUiInterface/group/AknFepUiInterface.mmp	Thu Jul 22 16:37:15 2010 +0100
@@ -0,0 +1,61 @@
+/*
+* 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fepstub/UiPlugins/AknFepUiInterface/group/bld.inf	Thu Jul 22 16:37:15 2010 +0100
@@ -0,0 +1,63 @@
+/*
+* 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fepstub/UiPlugins/AknFepUiInterface/inc/AknFepCandidatePopup.h	Thu Jul 22 16:37:15 2010 +0100
@@ -0,0 +1,102 @@
+/*
+* 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
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fepstub/UiPlugins/AknFepUiInterface/inc/AknFepCandidatePopupCallback.h	Thu Jul 22 16:37:15 2010 +0100
@@ -0,0 +1,50 @@
+/*
+* 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fepstub/UiPlugins/AknFepUiInterface/inc/AknFepIndicator.h	Thu Jul 22 16:37:15 2010 +0100
@@ -0,0 +1,58 @@
+/*
+* 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fepstub/UiPlugins/AknFepUiInterface/inc/AknFepUICtrlCandidatePane.h	Thu Jul 22 16:37:15 2010 +0100
@@ -0,0 +1,305 @@
+/*
+* 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fepstub/UiPlugins/AknFepUiInterface/inc/AknFepUICtrlCandidatePaneInterface.h	Thu Jul 22 16:37:15 2010 +0100
@@ -0,0 +1,84 @@
+/*
+* 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fepstub/UiPlugins/AknFepUiInterface/inc/AknFepUICtrlCandidateSelected.h	Thu Jul 22 16:37:15 2010 +0100
@@ -0,0 +1,176 @@
+/*
+* 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fepstub/UiPlugins/AknFepUiInterface/inc/AknFepUICtrlContainerJapanese.h	Thu Jul 22 16:37:15 2010 +0100
@@ -0,0 +1,85 @@
+/*
+* 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fepstub/UiPlugins/AknFepUiInterface/inc/AknFepUICtrlInputPane.h	Thu Jul 22 16:37:15 2010 +0100
@@ -0,0 +1,112 @@
+/*
+* 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fepstub/UiPlugins/AknFepUiInterface/inc/AknFepUICtrlPinyinPopup.h	Thu Jul 22 16:37:15 2010 +0100
@@ -0,0 +1,455 @@
+/*
+* 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fepstub/UiPlugins/AknFepUiInterface/inc/AknFepUiCtrlContainerChinese.h	Thu Jul 22 16:37:15 2010 +0100
@@ -0,0 +1,189 @@
+/*
+* 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
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fepstub/UiPlugins/AknFepUiInterface/inc/AknFepUiInterfacePlugin.h	Thu Jul 22 16:37:15 2010 +0100
@@ -0,0 +1,45 @@
+/*
+* 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fepstub/UiPlugins/AknFepUiInterface/inc/AknFepUiStylusPopupMenu.h	Thu Jul 22 16:37:15 2010 +0100
@@ -0,0 +1,45 @@
+/*
+* 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fepstub/UiPlugins/AknFepUiInterface/inc/AknFepUiWordPopupContent.h	Thu Jul 22 16:37:15 2010 +0100
@@ -0,0 +1,106 @@
+/*
+* 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fepstub/UiPlugins/AknFepUiInterface/inc/aknfepuictrleditentrypopup.h	Thu Jul 22 16:37:15 2010 +0100
@@ -0,0 +1,251 @@
+/*
+* 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fepstub/UiPlugins/AknFepUiInterface/inc/aknfepuictrleditpane.h	Thu Jul 22 16:37:15 2010 +0100
@@ -0,0 +1,545 @@
+/*
+* 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
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fepstub/UiPlugins/AknFepUiInterface/src/AknFepIndicator.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -0,0 +1,52 @@
+/*
+* 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;
+	}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fepstub/UiPlugins/AknFepUiInterface/src/AknFepUiInterface.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -0,0 +1,107 @@
+/*
+* 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);
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fepstub/UiPlugins/AknFepUiInterface/src/AknFepUiMenus.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -0,0 +1,39 @@
+/*
+* 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 fepstub/conf/aknfep.confml has changed
Binary file fepstub/conf/aknfep_101F876D.crml has changed
Binary file fepstub/conf/aknfep_japan.confml has changed
Binary file fepstub/conf/aknfep_thai.confml has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fepstub/group/AknFep.mmp	Thu Jul 22 16:37:15 2010 +0100
@@ -0,0 +1,98 @@
+/*
+* 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
+
+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          AknFepPlugin.cpp
+
+LIBRARY         euser.lib
+LIBRARY         fepbase.lib
+LIBRARY         cone.lib
+LIBRARY         ws32.lib
+LIBRARY         eikcoctl.lib
+LIBRARY         eikctl.lib
+LIBRARY         eikcore.lib
+LIBRARY         avkon.lib
+LIBRARY         bafl.lib
+LIBRARY         apparc.lib
+LIBRARY         tagma.lib
+LIBRARY         gdi.lib
+
+
+LIBRARY ecom.lib
+
+
+START WINS
+BASEADDRESS     0x70500000
+END
+
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fepstub/group/bld.inf	Thu Jul 22 16:37:15 2010 +0100
@@ -0,0 +1,59 @@
+/*
+* 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
+
+../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)
+
+../inc/aknfeppeninputimeplugin.h    |../../inc/aknfeppeninputimeplugin.h
+// 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
+//gnumakefile aknfep_icons_dc.mk
+../group/AknFep.mmp
+../UiPlugins/AknFepUiInterface/group/AknFepUiInterface.mmp
+
+
+
+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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fepstub/group/fep.ini	Thu Jul 22 16:37:15 2010 +0100
@@ -0,0 +1,1 @@
+(AknFep.fep
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fepstub/group/fep_ecom.ini	Thu Jul 22 16:37:15 2010 +0100
@@ -0,0 +1,1 @@
+0::0x101FD65A
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fepstub/inc/AknFep.hrh	Thu Jul 22 16:37:15 2010 +0100
@@ -0,0 +1,46 @@
+/*
+* 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fepstub/inc/AknFepManager.h	Thu Jul 22 16:37:15 2010 +0100
@@ -0,0 +1,157 @@
+/*
+* 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 <gulicon.h>  
+#include <fepbase.h>                    //CCoeFep
+#include <aknedstsobs.h>                //MAknEdStateObserver
+#include <uikon.hrh>                    //TAknEditorNumericKeymap
+#include <aknEditStateIndicator.h>      //TAknEditingState
+
+class CAknEdwinState;
+/**
+ * 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,
+    private MAknEdStateObserver
+    {
+
+public:
+
+public:
+    /**
+     * C++ Constructor
+     */
+    CAknFepManager(CCoeEnv& aConeEnvironment);
+
+    /**
+     *  Second phase construction
+     */
+    void ConstructL(const CCoeFepParameters& aFepParameters);
+
+    /**
+     * destructor
+     */
+    virtual ~CAknFepManager();
+public: // from MAknEdStateObserver
+    /**
+     * from MAknEdStateObserver - not used
+     */
+    virtual void HandleAknEdwinStateEventL(CAknEdwinState* aAknEdwinState, 
+                                           EAknEdwinStateEvent aEventType);
+//private:        //from MFepInlineTextFormatRetriever
+//    /**
+//     * from MFepInlineTextFormatRetriever - not needed, has to be implemented for MCoeFepAwareTextEditor interface
+//     */
+//    virtual void GetFormatOfFepInlineText(TCharFormat& aFormat, 
+//                                          TInt& aNumberOfCharactersWithSameFormat, 
+//                                          TInt aPositionOfCharacter) const;
+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();
+
+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 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 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:
+  
+    };
+#endif //__AKN_FEP_MANAGER_H__    
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fepstub/inc/AknFepPlugin.h	Thu Jul 22 16:37:15 2010 +0100
@@ -0,0 +1,57 @@
+/*
+* 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fepstub/inc/aknfeppeninputimeplugin.h	Thu Jul 22 16:37:15 2010 +0100
@@ -0,0 +1,248 @@
+/*
+* 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fepstub/resource/100056de.rss	Thu Jul 22 16:37:15 2010 +0100
@@ -0,0 +1,53 @@
+/*
+* 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fepstub/resource/AknFep.rss	Thu Jul 22 16:37:15 2010 +0100
@@ -0,0 +1,1937 @@
+/*
+* 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fepstub/rom/aknfepResources.iby	Thu Jul 22 16:37:15 2010 +0100
@@ -0,0 +1,33 @@
+/*
+* 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fepstub/rom/aknfep_variant.iby	Thu Jul 22 16:37:15 2010 +0100
@@ -0,0 +1,39 @@
+/*
+* 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)
+
+#endif
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fepstub/rom/aknfepuiinterface.iby	Thu Jul 22 16:37:15 2010 +0100
@@ -0,0 +1,37 @@
+/*
+* 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fepstub/src/AknFepManager.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -0,0 +1,99 @@
+/*
+* 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.
+*
+*/
+
+
+#include "AknFepManager.h"
+
+#include <bautils.h>
+#include <coeaui.h>                 //CCoeAppUi
+
+CAknFepManager::CAknFepManager(CCoeEnv& aConeEnvironment)
+    :CCoeFep(aConeEnvironment)
+    {
+    }
+
+void CAknFepManager::ConstructL(const CCoeFepParameters& /*aFepParameters*/)
+    {
+    }
+CAknFepManager::~CAknFepManager()
+    {
+    }
+void CAknFepManager::HandleAknEdwinStateEventL(CAknEdwinState* /*aAknEdwinState*/, 
+                                               EAknEdwinStateEvent /*aEventType*/)
+{
+}
+void CAknFepManager::HandleChangeInFocus()
+    {
+    }
+void CAknFepManager::HandleGainingForeground()
+    {
+    }
+void CAknFepManager::HandleLosingForeground()
+    {
+    }
+void CAknFepManager::HandleDestructionOfFocusedItem()
+    {
+    }   
+
+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::CancelTransaction()
+    {
+
+    }
+
+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*/)
+    {
+    }
+
+    
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fepstub/src/AknFepPlugin.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -0,0 +1,70 @@
+/*
+* 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/group/bld.inf	Fri Jun 11 16:25:13 2010 +0100
+++ b/group/bld.inf	Thu Jul 22 16:37:15 2010 +0100
@@ -32,4 +32,4 @@
 #include "../inputmethods_plat/group/bld.inf"
 #include "../inputmethods_pub/group/bld.inf"
 #include "../textinput/group/bld.inf"
-#include "../fep/group/bld.inf"
\ No newline at end of file
+#include "../fepstub/group/bld.inf"
\ No newline at end of file
--- a/textinput/peninputarc/group/bld.inf	Fri Jun 11 16:25:13 2010 +0100
+++ b/textinput/peninputarc/group/bld.inf	Thu Jul 22 16:37:15 2010 +0100
@@ -24,7 +24,6 @@
 
 // IBY-files
 ../rom/peninputarc.iby CORE_MW_LAYER_IBY_EXPORT_PATH(peninputarc.iby)
-../rom/peninputarcresources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(peninputarcresources.iby)
 
 //from peninputlayouteng
 //layout engine header.
@@ -39,111 +38,19 @@
 ../inc/pensrvcliinc/peninputuilayoutbase.h                              |../../../inc/peninputuilayoutbase.h
 
 
-//layout header file.
-../inc/peninputlayoutcontrolinc/peninputlayout.h                        |../../../inc/peninputlayout.h
-
-//M interface for layout and base controls
-../inc/peninputlayoutcontrolinc/peninputlayoutminterface.h              |../../../inc/peninputlayoutminterface.h
-
-//the control base header file. 
-../inc/peninputlayoutcontrolinc/peninputlayoutbasecontrol.h             |../../../inc/peninputlayoutbasecontrol.h
-
-//header file for vkb control
-../inc/peninputlayoutcontrolinc/peninputlayoutvkb.h                     |../../../inc/peninputlayoutvkb.h
-
-//header file for control group 
-../inc/peninputlayoutcontrolinc/peninputlayoutctrlgroup.h               |../../../inc/peninputlayoutctrlgroup.h
-
-//header file for hwr window
-../inc/peninputlayoutcontrolinc/peninputlayouthwrwnd.h                  |../../../inc/peninputlayouthwrwnd.h
-
-//header file for button and bsae class
-../inc/peninputlayoutcontrolinc/peninputlayoutbutton.h                  |../../../inc/peninputlayoutbutton.h
-
-//header file for editot area base
-../inc/peninputlayoutcontrolinc/peninputlayouteditareabase.h            |../../../inc/peninputlayouteditareabase.h
-
-//header file for input context field
-../inc/peninputlayoutcontrolinc/peninputinputcontextfield.h             |../../../inc/peninputinputcontextfield.h
-../inc/peninputlayoutcontrolinc/peninputlayoutmultilineicf.h            |../../../inc/peninputlayoutmultilineicf.h
-
-//header file for insert point
-../inc/peninputlayoutcontrolinc/peninputlayoutinsertionpoint.h          |../../../inc/peninputlayoutinsertionpoint.h
-../inc/peninputlayoutcontrolinc/peninputlayoutcursor.h                  |../../../inc/peninputlayoutcursor.h
-
-//header file for candidate window
-../inc/peninputlayoutcontrolinc/peninputlayoutcandidatewnd.h            |../../../inc/peninputlayoutcandidatewnd.h
-
-//root control
-../inc/peninputlayoutcontrolinc/peninputlayoutrootctrl.h                |../../../inc/peninputlayoutrootctrl.h
-../inc/peninputlayoutcontrolinc/peninputlayoutrootctrl.inl                |../../../inc/peninputlayoutrootctrl.inl
-
-//pop up window
-../inc/peninputlayoutcontrolinc/peninputlayoutpopupwnd.h                |../../../inc/peninputlayoutpopupwnd.h
-
-//pop up list
-../inc/peninputlayoutcontrolinc/peninputlayoutchoicelist.h              |../../../inc/peninputlayoutchoicelist.h
-
-//latch button
-../inc/peninputlayoutcontrolinc/peninputlayoutlatchbutton.h             |../../../inc/peninputlayoutlatchbutton.h
-
-//bubble ctrl
-../inc/peninputlayoutcontrolinc/peninputlayoutbubblectrl.h              |../../../inc/peninputlayoutbubblectrl.h
-
-//inline file
-../inc/peninputlayoutcontrolinc/peninputlayout.inl                      |../../../inc/peninputlayout.inl
-../inc/peninputlayoutcontrolinc/peninputlayoutbasecontrol.inl           |../../../inc/peninputlayoutbasecontrol.inl
-../inc/peninputlayoutcontrolinc/peninputlayouteditareabase.inl          |../../../inc/peninputlayouteditareabase.inl
-../inc/peninputlayoutcontrolinc/peninputlayoutctrlgroup.inl             |../../../inc/peninputlayoutctrlgroup.inl
-
-../inc/peninputlayoutcontrolinc/peninputlayoutbutton.inl                |../../../inc/peninputlayoutbutton.inl
-../inc/peninputlayoutcontrolinc/peninputlayouthwrwnd.inl                |../../../inc/peninputlayouthwrwnd.inl
-../inc/peninputlayoutcontrolinc/peninputlayoutvkb.inl                   |../../../inc/peninputlayoutvkb.inl
-../inc/peninputlayoutcontrolinc/peninputlayoutcandidatewnd.inl          |../../../inc/peninputlayoutcandidatewnd.inl
-../inc/peninputlayoutcontrolinc/peninputlayoutchoicelist.inl            |../../../inc/peninputlayoutchoicelist.inl
-../inc/peninputlayoutcontrolinc/peninputlayoutlatchbutton.inl           |../../../inc/peninputlayoutlatchbutton.inl
-
-//fullscreen layout header file.
-../inc/peninputlayoutcontrolinc/peninputfullscrlayout.h                        |../../../inc/peninputfullscrlayout.h
-../inc/peninputlayoutcontrolinc/peninputfullscrlayout.inl                        |../../../inc/peninputfullscrlayout.inl
-
 //from peninputclient
 ../inc/pensrvcliinc/peninputcmdparamext.h                                  |../../../inc/peninputcmdparamext.h
 
-//from utils
-../utils/inc/peninputpluginutils.h                                      |../../../inc/peninputpluginutils.h
-
-//from Gs plugin
-//../gsplugin/gspeninputplugin/inc/peninputgsinterface.h                  |../../../inc/peninputgsinterface.h
-//../gsplugin/gspeninputplugin/inc/peninputgsinterface.inl                |../../../inc/peninputgsinterface.inl
-//../gsplugin/gspeninputplugin/inc/gspeninputplugin.h                       |../../inc/gspeninputplugin.h
-//../gsplugin/gspeninputplugin/loc/gspeninputplugin.loc  MW_LAYER_LOC_EXPORT_PATH(gspeninputplugin.loc)
-//../gsplugin/peninputsetting/inc/peninputsettingAppui.h                       |../../inc/peninputsettingappui.h
 
 PRJ_MMPFILES
 ../src/peninputlayoutinterface/peninputlayoutinterface.mmp
 ../src/peninputlayouteng/peninputlayouteng.mmp
 ../src/peninputcrp/peninputcrp.mmp
 ../src/peninputserverapp/peninputserver.mmp
-../src/peninputlayoutcontrol/peninputlayoutcontrol.mmp
 ../src/peninputanim/peninputanim.mmp
 ../src/peninputclient/peninputclient.mmp
-//utils
-../utils/group/peninputpluginutils.mmp
-
-// Gs plugin
-//../gsplugin/gspeninputplugin/group/gspeninputplugin.mmp
-
-// Peninput setting application
-//../gsplugin/peninputsetting/group/peninputsetting.mmp
 
 PRJ_TESTMMPFILES
 
-//PRJ_EXTENSIONS
-//START EXTENSION s60/mifconv
-//OPTION TARGETFILE gspeninputplugin_aif.mif
-//OPTION HEADERFILE gspeninputplugin.mbg
-//OPTION SOURCES -c8,8 qgn_prop_cp_dev_pen.svg
-//END
 
 // End of file
--- a/textinput/peninputarc/rom/peninputarc.iby	Fri Jun 11 16:25:13 2010 +0100
+++ b/textinput/peninputarc/rom/peninputarc.iby	Thu Jul 22 16:37:15 2010 +0100
@@ -29,10 +29,10 @@
 #ifdef __PEN_SUPPORT
 file=ABI_DIR\BUILD_DIR\peninputlayoutinterface.dll         SHARED_LIB_DIR\peninputlayoutinterface.dll
 file=ABI_DIR\BUILD_DIR\peninputlayouteng.dll            SHARED_LIB_DIR\peninputlayouteng.dll
-file=ABI_DIR\BUILD_DIR\peninputlayoutcontrol.dll     SHARED_LIB_DIR\peninputlayoutcontrol.dll
+//file=ABI_DIR\BUILD_DIR\peninputlayoutcontrol.dll     SHARED_LIB_DIR\peninputlayoutcontrol.dll
 file=ABI_DIR\BUILD_DIR\peninputanim.dll            SHARED_LIB_DIR\peninputanim.dll
 file=ABI_DIR\BUILD_DIR\peninputserver.exe            SHARED_LIB_DIR\peninputserver.exe
-file=ABI_DIR\BUILD_DIR\peninputpluginutils.dll            SHARED_LIB_DIR\peninputpluginutils.dll
+//file=ABI_DIR\BUILD_DIR\peninputpluginutils.dll            SHARED_LIB_DIR\peninputpluginutils.dll
 
 S60_APP_AIF_RSC(peninputserver)
 data = \EPOC32\DATA\Z\resource\apps\peninputserver.RSC 	"resource\apps\peninputserver.rsc" 
--- a/textinput/peninputarc/src/peninputserverapp/keyrotator.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/textinput/peninputarc/src/peninputserverapp/keyrotator.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -18,7 +18,7 @@
 #include "keyrotator.h"
 #include <UikonInternalPSKeys.h>
 #include <PSVariables.h>
-#include <AknPriv.rsg>
+#include <aknpriv.rsg>
 #include <barsread.h>
 #include <barsc.h>
 #include <bautils.h>
--- a/textinput/ptienginev2/src/PtiDefaultCore.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/textinput/ptienginev2/src/PtiDefaultCore.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -22,7 +22,7 @@
 #include "PtiLanguage.h"
 #include "PtiEngine.h"
 #include "PtiKeyMappings.h"
-#include <PtiEngine.rsg>
+#include <ptiengine.rsg>
 #include "PtiDefaultNumberModeMappingdata.h"
 
 #include <data_caging_path_literals.hrh> 
--- a/textinput/ptienginev2/src/PtiEngineImpl.cpp	Fri Jun 11 16:25:13 2010 +0100
+++ b/textinput/ptienginev2/src/PtiEngineImpl.cpp	Thu Jul 22 16:37:15 2010 +0100
@@ -23,7 +23,7 @@
 #include "PtiEngineImpl.h"
 #include "PtiDefaultCore.h"
 #include "PtiLanguage.h"
-#include <PtiEngine.rsg>
+#include <ptiengine.rsg>
 #include "PtiUserDicEntry.h"
 #include "PtiEngine.h"
 #include "PtiKeyMappings.h"
--- a/tsrc/group/bld.inf	Fri Jun 11 16:25:13 2010 +0100
+++ b/tsrc/group/bld.inf	Thu Jul 22 16:37:15 2010 +0100
@@ -22,9 +22,9 @@
 //#include "../../inputmethods_plat/pen_input_server_api/tsrc/group/bld.inf"
 //#include "../../inputmethods_plat/ptiengine_hwr_api/tsrc/group/bld.inf"
 //#include "../../inputmethods_plat/aknfep_uiinterface_api/tsrc/group/bld.inf"
-#include "../../inputmethods_plat/ptiengine_key_definations_api/tsrc/group/bld.inf"
+//#include "../../inputmethods_plat/ptiengine_key_definations_api/tsrc/group/bld.inf"
 
 
-#include "../../inputmethods_pub/ptiengine_iti_api/tsrc/group/bld.inf"
+//#include "../../inputmethods_pub/ptiengine_iti_api/tsrc/group/bld.inf"
 //#include "../../inputmethods_pub/optical_character_recognition_api/tsrc/group/bld.inf"
 //#include "../../inputmethods_pub/input_language_info_api/tsrc/group/bld.inf"