fep/aknfep/inc/AknFepUiInputStateBase.h
changeset 0 eb1f2e154e89
child 50 5a1685599b76
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fep/aknfep/inc/AknFepUiInputStateBase.h	Tue Feb 02 01:02:04 2010 +0200
@@ -0,0 +1,219 @@
+/*
+* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:           
+*       Provides the TAknFepInputStateBase definition.
+*
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+#ifndef __AKN_FEP_UI_INPUTSTATE_BASE_H__
+#define __AKN_FEP_UI_INPUTSTATE_BASE_H__
+
+// INCLUDES
+#include <e32std.h>
+#include <uikon.hrh>
+
+#include "AknFepGlobalEnums.h"
+#include "AknFepManager.h"
+
+#include <PtiObserver.h> // MPtiObserver
+
+// CONSTANTS
+
+// MACROS
+
+// DATA TYPES
+
+// FUNCTION PROTOTYPES
+
+// FORWARD DECLARATION
+
+// CLASS DECLARATION
+class MAknFepUIManagerStateInterface;
+
+/**
+ *  TAknFepInputStateBase class.
+ *
+ *  @lib AknFep.lib
+ *  @since 2.6
+ */
+class TAknFepInputStateBase : public MPtiObserver
+    {
+public: // Constructors and destructor
+    /**
+     * C++ default constructor
+     *
+     * @since 2.6
+     * @param aOwner Object derived MAknFepUIManagerStateInterfa
+     */
+    TAknFepInputStateBase(MAknFepUIManagerStateInterface* aOwner);
+
+public: // Functions from base classes
+    /**
+     * From MPtiObserver interface
+     * Call this function when Multitap timer of PtiEngine was time-out
+     *
+     * @since 2.6
+     */
+    virtual void KeyTimerExpired();
+
+    /**
+     * From MPtiObserver interface
+     * Call this function when getting last word in selection list
+     *
+     * @since 2.6
+     */
+    virtual void LastWordInSelectionList();
+
+    /**
+     * From MPtiObserver interface
+     * Call this function when getting first word in selection list
+     *
+     * @since 2.6
+     */
+    virtual void FirstWordInSelectionList();
+
+public: // New functions
+    /**
+     * Hnadling Keypress events.
+     * This Method is called by CAknFepUIManagerJapanese.
+     *
+     * @since 2.6
+     * @param aKey The event key code
+     * @param aLength The Length of keypress
+     * @return ETrue If aKey was handled
+     */
+    virtual TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
+
+    /**
+     * Handling Command events.
+     * This Method is called by CAknFepUIManagerJapanese.
+     *
+     * @since 2.6
+     * @param aCommandId Command ID value
+     */
+    virtual void HandleCommandL(TInt aCommandId);
+    virtual void HandleCommandL(TInt aCommandId, TInt aParam);
+    /**
+     * return own input state.
+     *
+     * @since 2.6
+     * @return own input sate
+     */
+    virtual TUIState State() const;
+
+    /**
+     * Processing of Closeing UI
+     * @since 2.6
+     */
+    virtual void CloseUI();
+
+    /**
+     * Initialize state
+     * @since 2.6
+     */
+    virtual void InitializeStateL();
+
+    /**
+     * A patch to force the vtable to be copied during an assignment.
+     * @since 2.6
+     * @param aState TAknFepInputStateBase object
+     */
+    virtual void operator=(const TAknFepInputStateBase& aState);
+
+	/**
+	 * Set the Star key flag
+	 *
+     * @param aSet TBool.
+     * @return None
+	 */
+	virtual void SetStarKeyFlag( TBool aSet );
+#ifdef RD_HINDI_PHONETIC_INPUT 
+	/**
+	 * Gives the iPhoneticLatinChar
+	 *
+     * @param aChar TChar iPhoneticLatinChar value.
+     * @since 5.0
+     * @return None
+	 */
+	virtual void GetPhoneticLatinChar(TChar& aChar)const;
+#endif
+#ifdef RD_INTELLIGENT_TEXT_INPUT
+	/**
+	 * Gets the length of the character of the short key press
+     * @return Lenght of the character
+	 */
+	virtual TInt GetShortKeyPressTxtLength();
+	/**
+	 * Set the text for short key press
+	 *
+     * @param aText Teh text entered for short key press.
+     * @return None
+	 */
+	virtual void SetShortKeyPressText(const TDesC& aText);
+#endif // RD_INTELLIGENT_TEXT_INPUT	
+
+protected: // Data
+		TBool iFakeDelete;  	                                        
+		TBool iCharKeyException;	                                    
+protected: // Data
+    MAknFepUIManagerStateInterface* iOwner;
+    TUIState iState;
+    TWordMatchState iMatchState; 
+    TInt iData; // data store for sub-classes...
+    TInt iCbaResourceID;
+protected:
+#ifdef RD_HINDI_PHONETIC_INPUT        
+	TChar iPhoneticLatinChar; // Used for current Latin character to be transliterated on key timer expiry or on other key press 
+    TBuf<CAknFepManager::EMaximumFepWordLength > iIndicPhoneticBuffer; // Used to hold the uncommited word to append with latin character    
+#endif
+	//Used for Hindi
+    TBool iIsStarKeyPressed;
+	TBool iIsKeyTimerExpired;
+	TLanguage iIndicLanguage;
+	TBool iIsHalantAllowed;  
+	TBool iZWSPresent;
+	TBool iKey1Pressed;
+	TBool iRephaPresent;
+	TBool iRakarPresent;
+	TBool iResponseInsertZWS;
+	TBool iLigaturePresent;
+        TBool iIsLastWord;
+	/** Stores the character which was present in the editor before
+	  * multitapping started. Used for validation of current character.
+	  */
+	TUint iPreviousCommittedChar;
+
+#ifdef RD_MARATHI
+	TBool iEyeLashRaPresent;
+	TBool iChandraAPresent;
+#endif // RD_MARATHI
+#ifdef RD_INTELLIGENT_TEXT_INPUT
+    TBuf<CAknFepManager::EMaximumFepWordLength > iShortKeyPressText;
+#endif
+    };
+
+#endif
+
+// End of file