fep/aknfep/inc/aknfepuiinputstatestrokephrasebase.h
branchRCL_3
changeset 44 ecbabf52600f
parent 0 eb1f2e154e89
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fep/aknfep/inc/aknfepuiinputstatestrokephrasebase.h	Wed Sep 01 12:23:33 2010 +0100
@@ -0,0 +1,310 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:           
+*      Provides the TAknFepInputStateStrokePhraseBase definition.
+*
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+#ifndef T_AKNFEPUIINPUTSTATESTROKEPHRASEBASE_H
+#define T_AKNFEPUIINPUTSTATESTROKEPHRASEBASE_H
+
+#include "AknFepUiInputStateChineseBase.h"
+
+/**
+ * key struct.
+ * @since S60 v5.0
+ */
+
+struct TKeyMap
+    {
+    TUint16 iValue;
+    TInt iKeyCode;
+    };
+
+class TAknFepInputStateStrokePhraseBase : public TAknFepInputStateChineseBase
+    {
+public:
+    
+    /**
+     * C++ default constructor
+     *
+     * @since S60 v5.0
+     * @param aOwner Pointer to UI manager state interface
+     * @param aUIContainer Pointer to Chinese UI container
+     */
+    TAknFepInputStateStrokePhraseBase(
+        MAknFepUIManagerStateInterface* aOwner,
+        MAknFepUICtrlContainerChinese* aUIContainer
+        );
+    
+    /**
+     * Handle system key press event
+     *
+     * @since S60 v5.0
+     * @param aKey System key
+     * @param aLength Key press length
+     * @return ETrue if handle, otherwise this class do not handle this key
+     */
+    TBool HandleKeyL( TInt aKey, TKeyPressLength aLength );
+    
+    /**
+     * Update input window
+     *
+     * @since S60 v5.0
+     * @param aRefresh, if ETRue need to get the screen position, other need not.      
+     * @return None
+     */
+    void RefreshUI( TBool aRefresh = EFalse );
+    
+    /**
+     * Update popup window
+     *
+     * @since S60 v5.0
+     * @return ETrue if the first group stroke is valid, others return EFalse.
+     */
+    TBool CheckFirstGroupStroke();
+
+    /**
+     * Add phrase to the UDB.
+     * 
+     * @param aPhraseAdd that need to be added to the UDB.
+     * @since S60 v5.0.
+     * @return None.
+     */ 
+    void AddPhraseToDB( const TDesC& aPhraseAdd );    
+
+    
+    /**
+     * Refresh candidate
+     *
+     * @since S60 V5.0
+     * @return none
+     */
+    void RefreshCandidate();
+    
+    /**
+     * Check key whether need repeat.
+     * 
+     * @since S60 v5.0
+     * @return ETrue if the key need repeat, EFalse others.
+     */
+    TBool CheckKeyNeedRepeat( TKeyPressLength aLength );
+    
+    /**
+     * Get new candidate.
+     * 
+     * @since S60 v5.0
+     * @return None.
+     */
+    void GetNewCandidatesL(const TDesC& aSource, RPointerArray<HBufC>& aList);
+private:    
+    
+    /**
+     * Handle KeyBackspace event.
+     * 
+     * @param aLength Key press length
+     * @since S60 v5.0
+     * @return ETrue if handle, otherwise this class do not handle this key
+     */
+    void HandleKeyBackspaceL( TKeyPressLength aLength );
+    
+    /**
+     * Entry state handle CBA1 or OK key press event.
+     *
+     * @since S60 v5.0
+     * @param aKey System key
+     * @param aLength Key press length
+     * @return ETrue if handle, otherwise this class do not handle this key
+     */
+    void HandleKeyCBA1OrKeyOKEntry( TKeyPressLength aLength );
+    
+    /**
+     * Edit state handle CBA1 or OK key press event.
+     *
+     * @since S60 v5.0
+     * @param aKey System key
+     * @param aLength Key press length
+     * @return ETrue if handle, otherwise this class do not handle this key
+     */
+    void HandleKeyCBA1OrKeyOKEditL();
+    
+    /**
+     * Handle CBA1 or OK key press event.
+     *
+     * @since S60 v5.0
+     * @param aKey System key
+     * @param aLength Key press length
+     * @return ETrue if handle, otherwise this class do not handle this key
+     */
+    void HandleKeyCBA1OrKeyOKL( TKeyPressLength aLength );
+    
+    /**
+     * Handle default key press event.
+     *
+     * @since S60 v5.0
+     * @param aKey System key
+     * @param aLength Key press length
+     * @return ETrue if handle, otherwise this class do not handle this key
+     */
+    void HandleDefaultKeyL( TInt aKey );
+    
+    /**
+     * Show the showinfo on the EEP ctrl.
+     * 
+     * @since S60 v5.0.
+     * @return None.
+     */
+    void ShowInfoOnEEPPane();
+    
+    /**
+     * Show the showinfo on the candidate ctrl.
+     * 
+     * @since S60 v5.0.
+     * @return None.
+     */
+    void ShowInfoOnCandidatePane();
+    
+    /**
+     * get the show keystroke.
+     * 
+     * @param aKey, the input keystroke.
+     * @param aKeystroke the show keystroke.
+     * @since S60 v5.0.
+     * @return None.
+     */
+    void GetShowKeystroke( TInt aKey, TDes& aKeystroke );
+    
+    /**
+     * Handle horizontal navigation.
+     * 
+     * @param aKey the input keystroke.
+     * @since S60 v5.0.
+     * @return ETrue if high light can move, EFase others.
+     */ 
+    TBool HandleHorizontalNavigation( TInt aKey );
+    
+    /**
+     * Add keystroke.
+     * 
+     * @param aKey the input keystroke.
+     * @since S60 v5.0.
+     * @return ETrue if that the key can add to the current keystroke, EFase others.
+     */            
+    TBool AddKeystrokeL( TInt aKey );
+    
+    /**
+     * Get the candidate info.
+     * 
+     * @since S60 v5.0.
+     * @return none.
+     */            
+    void GetCandidateL();
+    
+    /**
+     * Change CBA.
+     *
+     * @since S60 v5.0
+     * @return None.
+     */        
+    void ChangeCbaL();
+    
+    /**
+     * Update indicator
+     *
+     * @since S60 v5.0
+     * @return None.
+     */
+    void UpdateIndicator();
+    
+    /**
+     * Delete current keystroke.
+     * 
+     * @since S60 v5.0.
+     * @return ETrue if that can be deleted, EFase others.
+     */            
+    TBool DeleteKeystroke();
+    
+    /**
+     * Clear Keystroke of PtiEngine.
+     *
+     * @since S60 v5.0
+     * @return None.
+     */
+    void ClearPtiEngineKeystroke();
+
+    /**
+     * get the key code.
+     * 
+     * @param aKey, the keycode.
+     * @param aKeystroke, the show keystroke.
+     * @since S60 v5.0
+     * @return none.
+     */
+    void GetKeystrokeCode( TInt& aKey, const TDesC& aKeystroke );
+    
+    /**
+     * Check all the keystroke.
+     * 
+     * @since S60 v5.0.
+     * @return True if All the keystroke is valid.
+     */            
+    TBool CheckAllKeystroke();
+    
+    /**
+     * Revert the phrase to keystroke.
+     * @since S60 v5.0
+     * @return none.
+     */
+    void RevertPhraseToKeystrokeL();
+    
+    /**
+     * set warning color.
+     * 
+     * @since S60 v5.0.
+     * @return none.
+     */         
+    void SetWarningColor();
+    
+    /**
+     * Move the cursor to Left.
+     * 
+     * @since S60 v5.0.
+     * @return none.
+     */         
+    void MoveCursorLeft();
+    
+    /**
+     * Move the cursor to Right.
+     * 
+     * @since S60 v5.0.
+     * @return none.
+     */         
+    void MoveCursorRight();
+
+    };		
+
+#endif //T_AKNFEPUIINPUTSTATESTROKEPHRASEBASE_H
+
+// End of file