fep/aknfep/inc/aknfepinputstatepinyinphrasecreationbase.h
changeset 0 eb1f2e154e89
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fep/aknfep/inc/aknfepinputstatepinyinphrasecreationbase.h	Tue Feb 02 01:02:04 2010 +0200
@@ -0,0 +1,296 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:           
+ *      Provides the TAknFepInputStateEntryPinyinPhraseCreation methods.
+ *
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+#ifndef T_AKNFEPINPUTSTATEPINYINPHRASECREATIONBASE_H
+#define T_AKNFEPINPUTSTATEPINYINPHRASECREATIONBASE_H
+
+#include <PtiDefs.h>                            //keys
+
+#include "AknFepUiInputStateCandidateBase.h"
+
+enum TMkeyReturnValue
+    {
+    EKeyStrokeNull = -2, //  neans the keystroke is null  
+    EKeyDelimiter,   // means the input key is delimiter
+    EkeyNumber       // means the input key is the number( from 2 to 9 )
+    };
+
+class TAknFepInputStatePinyinPhraseCreationBase : public TAknFepInputStateCandidateBase
+    {
+public:
+    
+    /**
+     * C++ constructor.
+     * 
+     * @since S60 v5.0.
+     * @return self object.
+     */  
+    TAknFepInputStatePinyinPhraseCreationBase(
+                                    MAknFepUIManagerStateInterface* aOwner,
+                                    MAknFepUICtrlContainerChinese* aUIContainer);
+    
+    /**
+     * Add keystroke.
+     * 
+     * @param aKey the input keystroke.
+     * @since S60 v5.0.
+     * @return ETrue if that the key can add to the current keystroke, EFase others.
+     */            
+    TBool AddKeystroke( TInt aKey );
+    
+    /**
+     * Add tone mark.
+     * 
+     * @since S60 v5.0.
+     * @return ETrue if that the key can add to the current keystroke, EFase others.
+     */            
+    TBool AddToneMark(); 
+    
+    /**
+     * get the valid keystroke.
+     * 
+     * @since S60 v5.0.
+     * @return ETrue if valid keystroke happen change , EFase others.
+     */            
+    TBool GetValidKeystroke();
+    
+    /**
+     * Delete current keystroke.
+     * 
+     * @since S60 v5.0.
+     * @return ETrue if that can be deleted, EFase others.
+     */            
+    TBool DeleteCurrentKeystroke();
+    
+    /**
+     * Revert the current chinse to keystroke.
+     * 
+     * @since S60 v5.0.
+     * @return ETrue if that can be deleted, EFase others.
+     */            
+    TBool ChineseRevertKeystroke();
+    
+    /**
+     * show info to the eep ctrl.
+     * 
+     * @since S60 v5.0.
+     * @return none.
+     */            
+    void ShowInfo();
+    
+    /**
+     * set the show info warning color.
+     * 
+     * @since S60 v5.0.
+     * @return none.
+     */            
+    void SetWarningColor();
+    
+    /**
+     * Get the candidate info.
+     * 
+     * @since S60 v5.0.
+     * @return none.
+     */            
+    void GetCandidate( TInt aSelection = 0 );
+    
+    /**
+     * Change CBA.
+     *
+     * @since S60 v5.0
+     * @return None.
+     */        
+    void ChangeCba();
+  
+    /**
+     * Refresh the candidate info.
+     * 
+     * @since S60 v5.0.
+     * @return none.
+     */            
+    void RefreshCandidate();
+    
+    /**
+     * Update Selection
+     *
+     * @since S60 v5.0
+     * @param aSelection the index of selecion.
+     * @return None.
+     */ 
+    void RefreshUI(TInt aSelection = 0);
+    
+    /**
+     * clear Selection
+     *
+     * @since S60 v5.0
+     * @return None.
+     */
+    void ClearDeliberateSelection();
+    
+    /**
+     * Update indicator
+     *
+     * @since S60 v5.0
+     * @return None.
+     */
+    void UpdateIndicator();
+    
+private:
+    
+    /**
+     * clear the keystroke of PtiEngine.
+     * 
+     * @since S60 v5.0.
+     * @return none.
+     */
+    void ClearPtiEngineKeystroke();
+    
+    /**
+     * Add keystroke.
+     * 
+     * @param aKey the input keystroke.
+     * @since S60 v5.0.
+     * @return ETrue if that the key can add to the current keystroke, EFase others.
+     */            
+    TBool AddKeystrokeL( TInt aKey );  
+    
+    /**
+     * Add tone mark.
+     * 
+     * @since S60 v5.0.
+     * @return ETrue if that the key can add to the current keystroke, EFase others.
+     */            
+    TBool AddToneMarkL(); 
+    
+    /**
+     * check the keystroke.
+     * 
+     * @param aInput the input keystroke.
+     * @since S60 v5.0.
+     * @return ETrue if the input param is tone mark, EFalse others.
+     */            
+    TBool IsToneMark( const TDesC& aInput );
+    
+    /**
+     * check the keystroke.
+     * 
+     * @since S60 v5.0.
+     * @return EFalse if that have invalid keystroke, ETrue others.
+     */            
+    TBool CheckKeystroke();
+    
+    /**
+     * get the valid keystroke.
+     * 
+     * @since S60 v5.0.
+     * @return ETrue if that have valid keystroke than happens change, EFase others.
+     */            
+    TBool GetValidKeystrokeL();
+    
+    /**
+     * get the key code.
+     * 
+     * @param aKey the TPtiKey.
+     * @param aKeystroke the input show key.
+     * 
+     * @since S60 v5.0.
+     * @return -2 the aKeystroke is null,-1 if the input key is delimiter, 
+     *  0 the input key is 2 - 9, others return tome mark.
+     */
+    TInt GetKeystrokeCode( TPtiKey& aKey, 
+                           const TDesC& aKeystroke );
+    
+    /**
+     * Append the key to the ptiengine.
+     * 
+     * @param aKey the TPtiKey.
+     * @param aKey the add the spelling to the spelling array flag.
+     * @since S60 v5.0.
+     * @return ETrue if ptiengine can append keypress, others return EFalse.
+     */
+    TBool AppendKeyPressL( TPtiKey& aKey, TBool aAddSpellingFlag );
+    
+    
+    /**
+     * Append the tone mark to the ptiengine.
+     * 
+     * @param aToneMark the tone mark.
+     * 
+     * @since S60 v5.0.
+     * @return ETrue if ptiengine can append tone mark, others return EFalse.
+     */
+    TBool AppendToneMarkL( TInt& aToneMark );
+    
+    /**
+     * Revert the current chinse to keystroke.
+     * 
+     * @since S60 v5.0.
+     * @return ETrue if that can be deleted, EFase others.
+     */            
+    TBool ChineseRevertKeystrokeL();
+    
+    /**
+     * check the spelling delete the phrase spelling.
+     * 
+     * @since S60 v5.0.
+     * @return none.
+     */
+    void CheckSpellingL( CDesCArrayFlat* aTempSpelling, CDesCArrayFlat* aAfterCheck );
+    
+    /**
+     * check the tone mark and delete the phrase spelling.
+     * 
+     * @param aToneMark the tone mark.
+     * @since S60 v5.0.
+     * @return ETrue if the spelling is valid, EFalse others.
+     */
+    TBool CheckToneMark( TInt& aToneMark );
+    
+    /**
+     * Get the candidate info.
+     * 
+     * @since S60 v5.0.
+     * @return none.
+     */            
+    void GetCandidateL( TInt aSelection );
+    
+    /**
+     * Change CBA.
+     *
+     * @since S60 v5.0
+     * @return None.
+     */        
+    void ChangeCbaL();
+    
+    };
+
+#endif /*T_AKNFEPINPUTSTATEPINYINPHRASECREATIONBASE_H*/
+
+// End of file
+