fep/aknfep/inc/AknFepVietnameseToneManager.h
changeset 0 eb1f2e154e89
child 11 c8fb4cf7b3ae
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fep/aknfep/inc/AknFepVietnameseToneManager.h	Tue Feb 02 01:02:04 2010 +0200
@@ -0,0 +1,174 @@
+/*
+* 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:           
+*
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+#ifndef __AKN_FEP_VIETNAMESE_TONE_MANAGER__
+#define __AKN_FEP_VIETNAMESE_TONE_MANAGER__
+
+#include <e32def.h>
+#include <e32base.h>
+
+#include "AknFepManager.h"
+#include "AknFepVietnameseInputTables.h"
+
+// CONSTANTS
+
+// MACROS
+
+// DATA TYPES
+
+// FUNCTION PROTOTYPES
+
+// FORWARD DECLARATIONS
+
+// CLASS DECLARATION
+
+/**
+ * CAknFepVietnameseToneManager class.
+ * This class is mounted based on CAknFepUIManagerWestern.
+ *
+ *  @lib AknFep.lib
+ *  @since 2.8
+ */
+class CAknFepVietnameseToneManager : public CBase
+    {
+private:
+     /**
+     * Construct
+     *
+     * @param aFepManager fep manager
+     *
+     */
+    void ConstructL();
+
+     /**
+     * private constructor
+     */
+    CAknFepVietnameseToneManager();     
+    
+public:
+     /**
+     * NewL first phase construction
+     *
+     * @param aFepManager fep manager
+     *
+     */
+    static CAknFepVietnameseToneManager* NewL();
+
+     /**
+     * Destructor
+     */
+    virtual ~CAknFepVietnameseToneManager();
+    
+public:
+    /**
+     * Start the tone mark looping 
+     */
+    TBool StartToneMarkLooping();
+
+    /**
+     * first phase construction
+     *
+     * @param aParent parent window
+     * @param aPaneLayout the required layout
+     *
+     */
+    TText GetVowelWithToneMark() const;
+
+    /**
+     * Increase the tone mark
+     */
+    inline void IncrementToneMark();
+
+    /**
+     * stop tone marking looping, counterpart to StartToneMarkLooping
+     */
+    void StopToneMarkLooping();
+
+    /**
+     * Set the fep manager pointer
+     *
+     * @param aFepManager Pointer to the fep manager
+     *
+     */
+    inline void SetFepManager(MAknFepManagerUIInterface* aFepManager);
+
+    /**
+     * Judge if the current state is looping or not
+     */
+    inline TBool IsLooping() const;
+
+    /**
+     * Judge if the current state is looping or not
+     */
+    inline void SetDeletedVowel(TText aDeletedVowel);
+    
+    /**
+     * Judge if the current state is looping or not
+     */
+    inline TText GetDeletedVowel() const;
+
+private:    // Data
+    MAknFepManagerUIInterface* iFepMan;     // not own
+    TInt iToneIndex;                        // Index of tone mark list
+    TInt iVowelIndex;                       // Index of vowel list
+    TBool iIsLooping;                       // Judge if input is in looping state
+    TText iPrevVowel;                       // Prev Vowel, used for undo the backdeletion
+    };
+
+// Inline function implementation
+inline TBool CAknFepVietnameseToneManager::IsLooping() const
+    {
+    return iIsLooping;
+    }
+
+inline void CAknFepVietnameseToneManager::SetFepManager(MAknFepManagerUIInterface* aFepManager)
+    {
+    iFepMan = aFepManager;
+    }
+
+inline void CAknFepVietnameseToneManager::IncrementToneMark()
+    {
+    if (iToneIndex+1 == KNumberOfToneMarks)
+        iToneIndex = 0;
+    else
+        ++iToneIndex;
+    }
+
+inline void CAknFepVietnameseToneManager::SetDeletedVowel(TText aDeletedVowel)
+    {
+    iPrevVowel = aDeletedVowel;
+    }
+
+inline TText CAknFepVietnameseToneManager::GetDeletedVowel() const
+    {
+    return iPrevVowel;
+    }
+
+#endif // __AKN_FEP_VIETNAMESE_TONE_MANAGER__
+
+// End of file