fep/aknfep/inc/aknfepuiinputstateinitialindicphoneticmultitap.h
branchRCL_3
changeset 44 ecbabf52600f
parent 0 eb1f2e154e89
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fep/aknfep/inc/aknfepuiinputstateinitialindicphoneticmultitap.h	Wed Sep 01 12:23:33 2010 +0100
@@ -0,0 +1,140 @@
+/*
+* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:            Provides the TAknFepInputStateInitialIndicPhoneticMultitap definition.
+*
+*/
+
+
+
+
+
+
+
+
+
+
+
+#ifndef __AKN_FEP_UI_INPUT_STATE_INIT_INDIC_PHONETIC_MULTITAP_H__
+#define __AKN_FEP_UI_INPUT_STATE_INIT_INDIC_PHONETIC_MULTITAP_H__
+
+#include "AknFepUIInputStateInitialMultitapBase.h"
+/**
+*  This class  handles the multitap input for Indic languages.
+*  @lib avkonfep.dll
+*  @since Series 60 3.1
+*/
+class TAknFepInputStateInitialIndicPhoneticMultitap : public TAknFepInputStateInitialMultitapBase
+    {
+public:
+    /**
+    * 
+    * Constructor for TAknFepInputStateInitialIndicPhoneticMultitap.	
+    * @since 5.0
+    * @return 
+    */
+    TAknFepInputStateInitialIndicPhoneticMultitap(MAknFepUIManagerStateInterface* aOwner, 
+                                                  TInt aLanguage); 
+public: //from TAknFepInputStateBase    
+    /**
+    * 
+    * Returns the virama character depending on the input language.	
+    * @since 5.0
+    * @return Etrue if the Key is handled. 
+    */
+
+    TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
+#ifdef RD_HINDI_PHONETIC_INPUT 
+    /**
+    * 
+    * Populates iPhoneticLatinChar to aChar.	
+    * @since 5.0
+    * @return None. 
+    */
+    virtual void GetPhoneticLatinChar(TChar& aChar)const;
+#endif 
+    
+public: //from MptiObserver
+    /**
+    * 
+    * Gets called when PTI Engine's timer expires.	
+    * @since 5.0
+    * @return 
+    */
+	void KeyTimerExpired();
+	/**
+	 * Transliterate the current inputted character to language specific character
+	 * of Halant.
+	 * @since 5.0
+	 * @param Null
+	 * @return Null
+	 */
+private:
+	void TransliterateFromLatinL();
+	/**
+     * Removes Halant added by Phonetic PtiENgine for North Indian Languages.
+     * 
+     * @since 5.0
+     * @param aLanguage- Current Phonetic input language is passed to this function.
+     * Engine.
+     * @return Nothing
+     */
+	void RemoveHalantL(TLanguage aLanguage);
+	
+	/**
+     * Checks wheather the current Phonetic Input Language follows North Indian style of editing. This is necessary for removal
+     * of Halant.
+     * @since 5.0
+     * @param aLanguage- Current Phonetic input language is passed to this function.
+     * Engine.
+     * @return Returns True if the current language comes under North Indian style of writting.
+     */
+	TBool IsToRemoveHalantForLanguage(TInt aLanguage);
+	/**
+	 * Checks if the character has phonetic equivallent to be Transliterated
+	 * of Halant.
+	 * @since 5.0
+	 * @param aChar character to be checked
+	 * @return returns ETrue if the character can be transliterated
+	 */
+	inline TBool IsToTransliterate(TChar& aChar);
+	/**
+	 * Checks if the current transliterated character can be inputted as per the language rule, if not then Question mark is inputted 
+	 * of Halant.
+	 * @since 5.0
+	 * @param aChar character to be validated for inputting
+	 * @return ETrue if the character is allowed
+	 */
+	TBool ValidatePhoneticInputL(const TDes& aBuf, TLanguage aLanguage);
+	/**
+	 * Checks if the current inputted character is a fallback rendered character
+	 * of Halant.
+	 * @since 5.0
+	 * @param aChar Character to be checked
+	 * @return ETrue is the character is a fallback rendered character
+	 */	
+	TBool IsInvalidPhoneticCharacter( TUint aChar, TLanguage aLanguage );
+	/**
+	 * Handels the key timer expiry
+	 * of Halant.
+	 * @since 5.0
+	 * @param Null
+	 * @return Null
+	 */
+	void HandleKeyTimerExpiryL();
+	};
+
+
+#endif //__AKN_FEP_UI_INPUT_STATE_INIT_INDIC_MULTITAP_H__
+
+// End of File