diff -r 000000000000 -r eb1f2e154e89 textinput/peninputsplititut/inc/peninputsplititutchnuistatepredict.h --- /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& aSrc, + RPointerArray& aTgt, + TInt aSrcStartIdx, + TInt aTgtStartIdx); + +private: + + /** + * last over lap index + */ + TInt iLastOverlapIdx; + }; + +#endif //C_CHNSPLITITUTUISTATEPREDICTBASE_H \ No newline at end of file