textinput/peninputsplititut/inc/peninputsplititutchnuistatepredict.h
changeset 0 eb1f2e154e89
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/peninputsplititut/inc/peninputsplititutchnuistatepredict.h	Tue Feb 02 01:02:04 2010 +0200
@@ -0,0 +1,146 @@
+/*
+* Copyright (c) 2009 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 C_CHNSPLITITUTUISTATEPREDICTBASE_H
+#define C_CHNSPLITITUTUISTATEPREDICTBASE_H
+
+#include "peninputsplititutuistatebase.h"
+
+/**
+ *  class CChnSplitItutUiStatePredict.
+ *
+ *  chinese split itu-t predict state
+ *
+ *  @lib peninputsplititut.lib
+ *  @since S60 v5.0
+ */
+class CChnSplitItutUiStatePredict : public CSplitItutUiStateBase
+    {
+public:
+    /** 
+     * Symbian constructor.
+     *
+     * @since S60 5.0
+     * 
+     * @param aOwner
+     * @return Pointer to created CChnSplitItutUiStatePredict object
+     */
+    static CChnSplitItutUiStatePredict* NewL(CSplitItutUiMgrBase* aOwner);
+
+    /**
+     * standard c++ destructor.
+     *
+     * @since S60 5.0
+     * @return none
+     */
+    ~CChnSplitItutUiStatePredict();
+
+    /**
+     * From CSplitItutUiStateBase
+     * exit current state
+     *
+     * @since S60 5.0
+     * @return none
+     */
+    void OnExit();
+
+    /**
+     * From CSplitItutUiStateBase
+     * exit current state
+     *
+     * @since S60 5.0
+     * @return none
+     */
+    void OnEntryL();
+
+    /**
+     * From CSplitItutUiStateBase
+     * exit current state
+     *
+     * @since S60 5.0
+     * @return 
+     */
+    CSplitItutUiMgrBase::TUiState StateType();
+
+    /**
+     * From CSplitItutUiStateBase
+     * handle key event
+     *
+     * @since S60 5.0
+     * @param aCmd
+     * @param aKey
+     * @return none
+     */
+    TBool HandleKeyL(TInt aCmd, TInt aKey);
+    
+    /**
+     * From CSplitItutUiStateBase
+     * handle control event
+     *
+     * @since S60 5.0
+     * @param aEventType
+     * @param aCtrl
+     * @param aEventData
+     * @return none
+     */
+    TBool HandleCtrlEventL( TInt aEventType, 
+                            CFepUiBaseCtrl* aCtrl, 
+                            const TDesC& aEventData);
+
+protected:
+    /**
+     * C++ constructor
+     *
+     * @since S60 5.0
+     * @param aOwner
+     * @return none
+     */
+    CChnSplitItutUiStatePredict(CSplitItutUiMgrBase* aOwner);
+    
+private:
+    /**
+     * is valid key
+     *
+     * @since S60 5.0
+     * @param aKey
+     * @return none
+     */
+    TBool IsKeyValid(TInt aKey);
+
+    /**
+     * remove duplicate candidate
+     *
+     * @since S60 5.0
+     * @param aSrc
+     * @param aTgt
+     * @param aSrcStartIdx
+     * @param aTgtStartIdx
+     * @return none
+     */
+    TInt RemoveDuplicateCand(const RPointerArray<HBufC>& aSrc,
+                             RPointerArray<HBufC>& aTgt,
+                             TInt aSrcStartIdx,
+                             TInt aTgtStartIdx);
+
+private:
+
+    /**
+     * last over lap index
+     */
+    TInt iLastOverlapIdx;    
+    };
+
+#endif //C_CHNSPLITITUTUISTATEPREDICTBASE_H
\ No newline at end of file