diff -r 000000000000 -r eb1f2e154e89 fep/aknfep/inc/AknFepUiInputStateJapaneseBase.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fep/aknfep/inc/AknFepUiInputStateJapaneseBase.h Tue Feb 02 01:02:04 2010 +0200 @@ -0,0 +1,261 @@ +/* +* Copyright (c) 2002-2004 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 TAknFepUiInputStateJapaneseBase definition. +* +*/ + + + + + + + + + + + + +#ifndef __AKN_FEP_UI_INPUTSTATE_JAPANESE_BASE_H__ +#define __AKN_FEP_UI_INPUTSTATE_JAPANESE_BASE_H__ + +// INCLUDES +#include +#include + +#include "AknFepUiInputStateBase.h" +#include "AknFepGlobalEnums.h" +#include "AknFepUICtrlContainerJapanese.h" + +#include // MPtiObserver + +// CONSTANTS + +// MACROS + +// DATA TYPES + +// FUNCTION PROTOTYPES + +// FORWARD DECLARATIONS + +// CLASS DECLARATION +class MAknFepUIManagerStateInterface; + +/** + * TAknFepUiInputStateJapaneseBase class. + * + * @lib AknFep.lib + * @since 2.6 + */ +class TAknFepUiInputStateJapaneseBase : public TAknFepInputStateBase + { +protected: + enum TStateEvent + { + EStateEventNone, + EStateEventCompleteCharacter, + EStateEventDeleteCharacter, + EStateEventScrollLeft, + EStateEventScrollRigth, + EStateEventScrollUp, + EStateEventScrollDown, + EStateEventCandidateOff, + EStateEventCandidateOn + }; + +public: // Constructors and destructor + /** + * C++ default Constructor + * + * @since 2.6 + * @param aOwner Object derived MAknFepUIManagerStateInterface + * @param aUIContainer MAknFepUICtrlContainerJapanese object + */ + TAknFepUiInputStateJapaneseBase(MAknFepUIManagerStateInterface* aOwner, + MAknFepUICtrlContainerJapanese* aUIContainer); + + +public: // Functions from base classes + /** + * From MPtiObserver + * Call this function when Multitap timer of PtiEngine was time-out + * + * @since 2.6 + */ + void KeyTimerExpired(); + + /** + * From MPtiObserver + * not-use Japanese state + * + * @since 2.6 + */ + void LastWordInSelectionList(); + + /** + * From MPtiObserver + * not-use Japanese state + * + * @since 2.6 + */ + void FirstWordInSelectionList(); + + /** + * From TAknFepInputStateBase + * Hnadling Keypress events. This Method is called by CAknFepUIManagerJapanese. + * + * @since 2.6 + * @param aKey The event key code + * @param aLength The Length of keypress + * @return ETrue If aKey was handled + */ + TBool HandleKeyL(TInt aKey, TKeyPressLength aLength); + + /** + * From TAknFepInputStateBase + * Handling Command events. This Method is called by CAknFepUIManagerJapanese. + * + * @since 2.6 + * @param aCommandId Command ID value + */ + void HandleCommandL(TInt aCommandId); + + /** + * From TAknFepInputStateBase + * A patch to force the vtable to be copied during an assignment. + * + * @since 2.6 + */ + void operator=(const TAknFepInputStateBase& aState); + +protected: // New Functions + /** + * Handling short keypress events of the numeric and the star. + * HandleKeyEventL() call this method. + * + * @since 2.6 + * @param aKey The event key code + * @return ETrue If aKey was handled + */ + virtual TBool HandleNumericShortKeyL(TInt aKey); + + /** + * Handling numeric long-keypress events. + * HandleKeyEventL() call this method. + * + * @since 2.6 + * @param aKey The event key code + * @return ETrue If aKey was handled + */ + virtual TBool HandleNumericLongKeyL(TInt aKey); + + /** + * Handling Qwerty keypress events. + * HandleKeyEventL() call this method. + * + * @since 2.8 + * @param aKey The event key code + * @return ETrue If aKey was handled + */ + virtual TBool HandleQwertyShortKeyL(TInt aKey); + + /** + * Handling navigate keypress events. HandleKeyEventL() call this method. + * + * @since 2.6 + * @param aKey The event key code + * @param aLength The Length of keypress + * @return ETrue If aKey was handled + */ + virtual TBool HandleNaviKeyL(TInt aKey, TKeyPressLength aLength); + + /** + * Handling auxiliary keypress events including OK and Backspace. + * HandleKeyEventL() call this method. + * + * @since 2.6 + * @param aKey The event key code + * @param aLength The Length of keypress + * @return ETrue If aKey was handled + */ + virtual TBool HandleAuxKeyL(TInt aKey, TKeyPressLength aLength); + + /** + * Update inline editing string + * + * @since 2.6 + * @return ETrue If inline editing string was updated + */ + virtual TBool UpdateInlineEditingCharacterL(); + + /** + * Commit inline editing string + * + * @since 2.6 + * @return ETrue If inline editing string was updated + */ + virtual TBool CommitInlineEditingCharacterL(); + + /** + * Getting UI container object + * + * @since 2.6 + * @return Japanese UI container object + */ + MAknFepUICtrlContainerJapanese* UIContainer(); + + /** + * Update character case + * + * @since 2.6 + * @param aChar 1-character, Judgment data of character case + */ + void UpdateCase(TPtrC& aChar); + + TBool IsNumberKey(const TInt aKey); + TBool IsQwertyKey(const TInt aKey); + +private: // New Functions + /** + * Check whether last catacter case and current catacter case is same + * + * @since 2.6 + * @param aChar 1-character, Judgment data of character case + * @return ETrue If aChar case is diffrent from last character + */ + TBool IsDiffrentCase(TPtrC& aChar) const; + + /** + * Check a caracter case is upper + * + * @since 2.6 + * @param aChar 1-character, Judgment data of character case + * @return ETrue If aChar case is upper case + */ + TBool IsUpperCase(TPtrC& aChar) const; + + /** + * Check a caracter case is lower + * + * @since 2.6 + * @param aChar 1-character, Judgment data of character case + * @return ETrue If aChar case is lower case + */ + TBool IsLowerCase(TPtrC& aChar) const; + +protected: // Data + MAknFepUICtrlContainerJapanese* iUIContainer; // not owner + }; +#endif//__AKN_FEP_UI_INPUT_STATE_JAPANESE_BASE_H__ +// End of file