--- a/fep/aknfep/inc/AknFepUiManagerBase.h Fri Jul 23 16:49:01 2010 +0800
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,479 +0,0 @@
-/*
-* 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:
-* Provides the CAknFepUIManagerBase definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_UI_MANAGER_BASE_H__
-#define __AKN_FEP_UI_MANAGER_BASE_H__
-
-// INCLUDES
-#include <uikon.hrh> //TAknEditorNumericKeymap
-
-#include "AknFepManagerUIInterface.h"
-#include "AknFepManagerInterface.h"
-#include "AknFepUIManagerStateInterface.h"
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-class CPtiEngine;
-class TAknFepInputStateBase;
-
-/**
- * CAknFepUIManagerBase class.
- *
- * @lib AknFep.lib
- * @since 2.6
- *
- */
-class CAknFepUIManagerBase :
- public CBase,
- public MAknFepManagerInterface,
- public MAknFepUIManagerStateInterface
- {
-private:
- /**
- * private constants
- */
- enum
- {
- EBaseLanguageNumericKeymapIndex = 0x00FF,
- EMaskShiftOffset = 8
- };
-
-public: // Constructors and destructor
- /**
- *
- *
- * @since 2.6
- */
- static CAknFepUIManagerBase* NewL(MAknFepManagerUIInterface* aFepMan,
- CAknFepCaseManager* aCaseMan, TLanguage aLanguage);
-
- /**
- *
- *
- * @since 2.6
- */
- virtual ~CAknFepUIManagerBase();
-
-public: // Functions from base classes
- /**
- * From MAknFepManagerInterface
- *
- * @since 2.6
- */
-#ifdef RD_INTELLIGENT_TEXT_INPUT
- void SetMode(TInt aMode, TBool aPredictive, TBool aQwertyInputMode,
- TInt aKeyboardType = EPtiKeyboardNone);
-#else
- void SetMode(TInt aMode, TBool aPredictive, TBool aQwertyInputMode);
-#endif
-
- /**
- * From MAknFepManagerInterface
- *
- * @since 2.6
- */
- void SetCase(TCase aCase);
-
- /**
- * From MAknFepManagerInterface
- *
- * @since 2.6
- */
- void SetNumberModeKeyMappingL(TAknEditorNumericKeymap aAknEditorNumericKeymap);
-
- /**
- * From MAknFepManagerInterface
- *
- * @since 2.6
- */
- const TDesC& NumberModeKeyMapping() const;
-
- /**
- * From MAknFepManagerInterface
- *
- * @since 2.6
- */
- TBool HandleKeyL(TInt aKey, TKeyPressLength aLength, TEventCode aEventCode = EEventKey );
-
- /**
- * From MAknFepManagerInterface
- * this is in base class only
- * @since 2.6
- */
- void HandleCommandL(TInt aCommandId);
- void HandleCommandL(TInt aCommandId, TInt aParam);
-
- /**
- * From MAknFepManagerInterface
- * this should be implemented in each ui manager
- *
- * @since 2.6
- */
- void CloseUI();
-
- /**
- * From MAknFepManagerInterface
- * this is in base class only
- *
- * @since 2.6
- */
- void ExpireMultitapTimer();
-
- /**
- * From MAknFepManagerInterface
- * this is in base class only
- *
- * @since 2.6
- */
- TBool IsValidNumericLongKeyPress(TInt aKey) const;
-
- /**
- * From MAknFepManagerInterface
- * this api use in chinese and western
- *
- * @since 2.6
- */
- void AddTextToUserDictionaryL(const TDesC& aText);
-
- /**
- * From MAknFepManagerInterface
- * this should be implemented in each ui manager
- *
- * @since 2.6
- */
- void GetFormatOfFepInlineText(TCharFormat& aFormat, TInt& aNumberOfCharactersWithSameFormat,
- TInt aPositionOfCharacter) const;
-
- /**
- * From MAknFepManagerInterface
- *
- * @since 2.6
- */
- virtual TInt SupportLanguage(TInt aMode) const;
-
- /**
- * From MAknFepManagerInterface
- *
- * @since 2.6
- */
- virtual void SetInputLanguageL(TLanguage aLanguage);
-
- /**
- * From MAknFepManagerInterface
- *
- * @since 2.6
- */
- TBool IsValidShiftKeyPress() const;
-#ifdef RD_INTELLIGENT_TEXT_INPUT
- TBool IsValidFnKeyPress() const;
-
- virtual TBool IsValidLongChrKeyPress() const;
-
-#endif
-
- /**
- * From MAknFepManagerInterface
- * this api use in chinese ui only
- *
- * @since 2.6
- */
- void SetEditorContext(TInt aContext);
-
- /**
- *
- *
- * @since 2.6
- */
- void ActivateUI();
-
- /**
- * From MAknFepUIManagerStateInterface
- * this is in base class only
- *
- * @since 2.6
- */
- TUIState State() const;
-
- /**
- * From MAknFepUIManagerStateInterface
- * this should be implemented in each ui manager
- *
- * @since 2.6
- */
- TUIState ChangeState(TUIState aState);
-
- /**
- * From MAknFepUIManagerStateInterface
- * this is in base class only
- *
- * @since 2.6
- */
- MAknFepManagerUIInterface* FepMan() const;
-
- /**
- * From MAknFepUIManagerStateInterface
- * using instead of PtiEngine()
- *
- * @since 2.6
- */
- CPtiEngine* PtiEngine() const;
-
- // the follow function for phrase creation
- MZhuyinKeyHandler* ZhuyinKeyHandler();
- CAknFepZhuyinAnalyser* ZhuyinAnalyser();
-
- /**
- * From MAknFepUIManagerStateInterface
- * this api use in chinese input states only
- *
- * @since 2.6
- */
- TBool IsValidChineseInputKey(TInt aKey) const;
-
- /**
- * From MAknFepUIManagerStateInterface
- * this api use in chinese Qwerty input states only
- *
- * @since 3.0
- */
- TBool IsValidChineseInputKeyQwerty(TInt aKey) const;
-
- /**
- * From MAknFepUIManagerStateInterface
- * this api use in chinese Qwerty input states only
- *
- * @since 3.0
- */
- TBool IsQwertyZhuyinToneMarkKey(TInt aKey) const;
-
- /**
- * this api use in HK Qwerty input states only
- *
- * @since 3.0
- */
- virtual void UpdateCangJieState();
-
- /**
- * From MAknFepUIManagerStateInterface
- * this api use in chinese input states only
- *
- * @since 3.0
- */
- TBool IsValidChineseSymbol(TInt aKey) const;
- /**
- * From MAknFepUIManagerStateInterface
- * this is in base class only
- * TLanguage is Language identity enumeration defined in e32std.h
- *
- * @since 2.6
- */
- TLanguage GetLanguage() const;
-
- /**
- * From MAknFepUIManagerStateInterface
- *
- * @since 2.6
- */
- CAknFepCaseManager* CaseMan() const;
-
- /**
- * From MAknFepUIManagerStateInterface
- *
- *
- * @since 2.6
- * this api use in chinese ui only
- */
- TPtr GetLatestDeliberateSelection() const;
-
- /**
- * From MAknFepUIManagerStateInterface
- * Thai only
- *
- * @since 2.6
- */
- TInt ThaiSCTResourceId(TUint aPrewChar, TInt aKey);
-
- /**
- * From MAknFepUIManagerStateInterface
- * Japanese only
- *
- * @since 2.6
- */
- CDesCArrayFlat* CandidateArray();
-
- /**
- * From MAknFepUIManagerStateInterface
- * Japanese only
- *
- * @since 2.6
- */
- TBool IsPredictive() const;
-
- /**
- * From MAknFepUIManagerStateInterface
- * Japanese only
- *
- * @since 2.6
- */
- void SetInlineEditUnderlineVisibility(TBool aFlag);
-
- /**
- * From MAknFepUIManagerStateInterface
- *
- * @since 3.0
- */
- TBool IsQwerty() const;
-
- /**
- * From MAknFepUIManagerStateInterface
- *
- * @since 3.2
- */
- void SetFepAwareEditorText(const TFepInputContextFieldData& /*aIcfData*/);
-
- /**
- * From MAknFepUIManagerStateInterface
- *
- * @since 3.2
- */
- TInt EditorMaxLength();
-
- /**
- * From MAknFepUIManagerStateInterface
- *
- * @since 3.2
- */
- void ResourceChanged(TInt aType);
-
- /**
- * From MAknFepUIManagerStateInterface
- *
- * @since 3.2
- */
- void SetNextFepUI(MAknFepManagerInterface* /*aNextUi*/);
-
- /**
- * Set the Star key flag
- *
- * @param aSet TBool.
- * @return None
- */
- void SetStarKeyFlag( TBool aSet );
-
-protected: // New Functions
- /**
- *
- *
- * @since 2.6
- */
- void ConstructL(TLanguage aLanguage);
-
- /**
- *
- *
- * @since 2.6
- */
- CAknFepUIManagerBase(MAknFepManagerUIInterface* aFepMan, CAknFepCaseManager* aCaseMan);
-
- /**
- *
- *
- * @since 2.6
- */
- virtual TAknFepInputStateBase* FepUIState();
-#ifdef __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-#ifdef RD_INTELLIGENT_TEXT_INPUT
- /**
- * Removes the character produced by the initial short key press and substitutes
- * it with the character found behind Fn. If no no Fn-mapping is available, the
- * function does nothing. Also, in non-QWERTY modes the function does nothing because
- * ITU-T input states handle long press internally.
- * @return ETrue if key was consumed and no further handling should be made.
- * This is the case when editor is filled up and no more characters can be entered.
- * EFalse if handling of the key event may continue. Either the mode has
- * been changed to Fn mode for the next character or nothing has
- * been done and normal key repeat should happen.
- * @since 3.2
- */
- virtual TBool HandleLongKeyL( TInt aKey );
-
- /**
- * Removes the character produced by the last handled key press. Long press number
- * entry uses this to remove the character which was entered when the key was pressed
- * down ("the initially short press character") before the key press turned out to be
- * a long press.
- * @return ETrue if something was really removed
- * EFalse if nothing was removed (the previous key press had produced no charcters)
- * @since 3.2
- */
- virtual TBool RollbackPreviousCharL();
-
-#endif //RD_INTELLIGENT_TEXT_INPUT
-#endif // __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-
-protected: // Data
- TInt iMode; //
- TInt iNumericKeymapResourceId;
- HBufC* iNumericKeymapBuffer;
- TLanguage iLanguage; //
-
- CPtiEngine* iPtiEngine; //owned
-
- TAknFepInputStateBase* iStatePtr; // gcc workaround to force compiler to use vtable lookup.
-
- MAknFepManagerUIInterface* iFepMan; //not owned
- CAknFepCaseManager* iCaseMan; //not owned
- TBool iPredictive; // ETrue: prediction is ON.
-#ifdef RD_INTELLIGENT_TEXT_INPUT
- // predictive QWERTY changes (e.g. XT9) ---->
- TBool iQwertyInputMode; // ETrue: QWERTY mode is ON
- // predictive QWERTY changes (e.g. XT9) <----
-#ifdef __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
- TInt iPreviousInputSeqLen;
- TInt iPreviousEditorTextLen;
- TInt iInputSeqLenDeltaWithLastKey;
- TInt iEditorTextLenDeltaWithLastKey;
-#endif //__ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-#endif //RD_INTELLIGENT_TEXT_INPUT
- TUIState iInitialFepUIState; //
- TInt iCaseBeforeLongKey;
- };
-
-#endif //__AKN_FEP_UI_MANAGER_BASE_H__
-
-// End of file