diff -r bd83ceabce89 -r 5a1685599b76 fep/aknfep/inc/aknfepuiinputminiqwertysogoupinyinphraseplugin.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fep/aknfep/inc/aknfepuiinputminiqwertysogoupinyinphraseplugin.h Wed Sep 15 12:34:44 2010 +0300 @@ -0,0 +1,226 @@ +/* +* 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 TAknFepInputMiniQwertySogouPinyinPhrasePlugin declaration. +* +*/ + + +#ifndef T_AKNFEPUIINPUTMINIQWERTYSOGOUPINYINPHRASEPLUGIN_H +#define T_AKNFEPUIINPUTMINIQWERTYSOGOUPINYINPHRASEPLUGIN_H + +class TAknFepInputMiniQwertySogouPinyinPhrasePlugin + { +public: + + /** + * C++ default constructor + * + * @since S60 v3.2.3 + * @param aOwner Pointer to UI manager state interface + * @param aUIContainer Pointer to Chinese UI container + * @param aState current state machine + */ + TAknFepInputMiniQwertySogouPinyinPhrasePlugin( + MAknFepUIManagerStateInterface* aOwner, + MAknFepUICtrlContainerChinese* aUIContainer, + TUIState aState + ); + + /** + * A patch to force the vtable to be copied during an assignment. + * + * @param aState + */ + void operator=(const TAknFepInputMiniQwertySogouPinyinPhrasePlugin& aPlugin); + +public: + /** + * Add phrase pinyin to the core. + * + * @since S60 v3.2.3. + * @param aPhraseAdd that need to be added to the UDB. + * @return None. + */ + void AddPhrasePinyinToPti(); + + /** + * Analyse spelling after user press key. + * + * @since S60 v3.2.3 + * @param None. + * @return None. + */ + void AnalyseL(); + + /** + * Commint text to EEP or editor + * + * @since S60 V3.2.3 + * @param aDes Text had been select from candidate pane + * @return ETrue if keep state, otherwise need to change to pridictive or editor + */ + TBool CommitInlineEEPL( const TDesC& aDes ); + + /** + * Enable or disable the plugin. + * + * @since S60 v3.2.3 + * @param aValid ETrue: enable the plugin, EFalse: disable the plugin. + * @return None + */ + void Enable( TBool aValid ); + + /** + * Detect whether the plugin enable or not. + * + * @since S60 v3.2.3 + * @param None + * @return ETrue if the plugin is enable, others return EFalse. + */ + TBool IsEnable(); + + /** + * Get the candidate info. + * + * @since S60 v3.2.3. + * @param None. + * @return none. + */ + void GetCandidateL(); + + /** + * Set whether to convert all stroke. + * + * @since S60 v3.2.3. + * @param None. + * @return none. + */ + void CanConvertAll( TBool aEnable ); + + /** + * Set the convert count. + * + * @since S60 v3.2.3. + * @param None. + * @return none. + */ + void ConvertCount( TInt aCount ); + +private: + /** + * Check the delimiter of spelling. + * + * @since S60 v3.2.3. + * @param aKeystroke the keystroke. + * @return ETrue if the param is delimiter, EFalse others. + */ + TBool CheckSpellingDLT( const TDesC& aKeystroke ); + + /** + * Clear Keystroke of PtiEngine. + * + * @since S60 v3.2.3. + * @param None. + * @return None. + */ + void ClearPtiEngineKeystroke(); + + /** + * Get pinyin tone mark. + * + * @since S60 v3.2.3. + * @param aKeystroke,The tone mark. + * @return pinyin tone mark. + */ + TInt ToneMark( const TDesC& aKeystroke ); + + /** + * Check the spelling after add tone mark to the PTI. + * + * @since S60 v3.2.3. + * @param aToneMark,The tone mark. + * @return ETue,if the splling is not phrase spelling,EFalse others. + */ + TBool CheckSpellingAddToneMarkToPTIL( const TInt aToneMark ); + + /** + * get the key code. + * + * @since S60 v3.2.3 + * @param aKey, the keycode. + * @param aKeystroke, the show keystroke. + * @return none. + */ + void GetKeystrokeCode( TInt& aKey, const TDesC& aKeystroke ); + + /** + * get the spell of least delimiter + * + * @since S60 v3.2.3 + * @return the spell of least delimiter + */ + TPtrC getCurrentLeastDLTSpell(); + + /** + * check result of tonemark. + * + * @since S60 v3.2.3 + * @param aDes The result of tonemark + * @param aIndex The index + * @return NULL + */ + void CheckResultOfToneMark( const TDesC16& aDes, + TInt& aIndex ); + +private: + /** + * The ui manager + */ + MAknFepUIManagerStateInterface* iOwner; + + /** + * The ui container. + */ + MAknFepUICtrlContainerChinese* iUIContainer; + + /** + * The machine state + */ + TUIState iState; + + /** + * The flag for judge the plugin enable or not + */ + TBool iValid; + + /** + * The flag for adding DLT at the first index. + */ + TBool iNeedAddDLT; + + /** + * The flag for convert all stroke. + */ + TBool iCanConvertAll; + + /** + * The count of stroke need to be convert. + */ + TInt iConvertCount; + }; + +#endif //T_AKNFEPUIINPUTMINIQWERTYSOGOUPINYINPHRASEPLUGIN_H + +// End of file