diff -r f1bdd6b078d1 -r 2cb9bae34d17 fep/aknfep/inc/AknFepLanguageManager.h --- a/fep/aknfep/inc/AknFepLanguageManager.h Tue Jul 06 14:38:41 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,274 +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: Declaration of core part of CAknFepLanguageManager class. -* -*/ - - - - - - - - - - - - -#ifndef __AKN_FEP_LANGUAGE_MANAGER__H__ -#define __AKN_FEP_LANGUAGE_MANAGER__H__ - -// INCLUDES -#include -#include -#include - -#include "AknFepGlobalEnums.h" // TWidthChar - -// CONSTANTS - -// MACROS - -// DATA TYPES - -// FUNCTION PROTOTYPES - -// FORWARD DECLARATION -class CAknFepPenInputImePlugin; -class MInputMethodInterface; - -// CLASS DECLARATION -class MAknFepManagerInterface; -class MAknFepManagerUIInterface; -class CAknFepCaseManager; -class RPeninputServer; -class TImePlguinImplDetail; -class CAknFepPluginManager; - -/** - * CAknFepLanguageManager is a part of Japanese FEP. - * - * @lib AknFep.lib - * @since 2.6 - * @see CAknFepManager, other application - */ -class CAknFepLanguageManager : public CBase - { -private: // enum - enum - { - EUiManWestern, - EUiManChinese, - EUiManJapanese, - EUiManKorean, - EUiManMax - }; - -public: // Constructer and Destructor - /** - * first phase construction - * - * @since 2.6 - * @param aFepMan - * @param aCaseMan - * @param aLanguage - */ - static CAknFepLanguageManager* NewL(MAknFepManagerUIInterface* aFepMan, - CAknFepCaseManager* aCaseMan); - - /** - * Destructor. - * - * @since 2.6 - */ - virtual ~CAknFepLanguageManager(); - -public: // New Functions - /** - * get ui manager object. - * - * @since 2.6 - * @param aMode - * @param aCharacterWidth - * @param aPredictive - * @return - */ - MAknFepManagerInterface* GetFepUI(TInt aMode, TWidthChar aCharacterWidth, TBool aPredictive); - - /** - * set language id to ui manager. - * - * @since 2.6 - * @param aMode - * @param aCharacterWidth - * @param aPredictive - * @return - */ - void SetInputLanguageL(TInt aInputLanguage); - - TLanguage InputLanguage() - { - return (TLanguage)iInputLanguage; - } - - /** - * Get plugin UI manager object. - * - * @since S60 v3.2 - * - * @param aPreferedMode The prefered plugin input mode. If prefered mode is not available - * a substitute choice (according UI sepc) is returned. - * @param aPenInputLan Current pen input language. - * @param aDisplayLang Current phone display language - * @param aPenServer The pen input server object. - * @return Plugin UI manager. - */ - MAknFepManagerInterface* GetPluginInputFepUiL(TPluginInputMode aPreferedMode, - TInt aPenInputLang, - TInt aDisplayLang, - RPeninputServer* aPenServer); - - /** - * Test specified plugin UI mode is support or not - * - * @since S60 v3.2 - * - * @param aMode The plugin input mode to test. - * @param aPenInputLan Current pen input language. - * @param aPenServer The pen input server object. - * @return ETrue if support, EFalse otherwise. - */ - TBool IsPluginInputAvaiable(TPluginInputMode aMode, - TInt aPenInputLang, - RPeninputServer* aPenServer); - - /** - * Set split view flag - * - * @since S60 v3.2 - * - * @param aIsSplitView - * @return None - */ - void SetSplitView(TBool aIsSplitView); - - /** - * Get current IME plugin object. - * - * @since S60 v3.2 - * - * @return IME Plugin object. - */ - inline CAknFepPenInputImePlugin* CurrentImePlugin(); - - /** - * Get split view flag - * - * - * @since S60 v3.2 - * @return ETrue if split view flag is set - */ - inline TBool IsSplitView(); - -private: // New Functions - /** - * private c++ constructor. - * - * @since 2.6 - */ - CAknFepLanguageManager(MAknFepManagerUIInterface* aFepManager, - CAknFepCaseManager* aCaseManager); - - /** - * Second phase construction - * - * @since 2.6 - */ - void ConstructL(); - - void ConstructUiManagerL(); - - TInt UiManagerId(); - - - - /** - * Activate IME plugin by implemenation. - * If current IME plugin's impl id is equal to aImeImplId, then current - * IME plugin object is returned. - * - * @since S60 v3.2 - * - * @param aImeImplId The IME implementation ID. - * @param aPenServer The pen input server object. - * @return IME Plugin imeplementation ID. - */ - CAknFepPenInputImePlugin* ActivateImePlugin(TInt aImeImplId, RPeninputServer* aPenServer); - - /** - * Activate IME plugin's UI by mode. - * - * @since S60 v3.2 - * - * @param aImePlugin The IME plugin object. - * @param aMode The mode of layout UI. - * @return The Plugin UI interface. - */ - MAknFepManagerInterface* ActivateLayoutUiPluginL(CAknFepPenInputImePlugin* aImePlugin, - TInt aPenInputLang, - TPluginInputMode aMode); - - TBool IsPluginInputAvaiableL(TPluginInputMode aMode, - TInt aPenInputLang, - RPeninputServer* aPenServer); - - -private: // Data - CArrayPtr* iUiManArray; - TInt iInputLanguage; - MAknFepManagerUIInterface* iFepManager; - CAknFepCaseManager* iCaseManager; - CAknFepPluginManager* iPluginManager; - - /** - * Current IME plugin object. Own. - * @since S60 v3.2 - */ - CAknFepPenInputImePlugin* iCurImePlugin; - - /** - * Current layout UI object. Not own. - * @since S60 v3.2 - */ - MAknFepManagerInterface* iCurUiPlugIn; - - /** - * Is split view flag - * @since S60 v3.2 - */ - TBool iIsSplitView; - }; - -inline CAknFepPenInputImePlugin* CAknFepLanguageManager::CurrentImePlugin() - { - return iCurImePlugin; - } - -inline TBool CAknFepLanguageManager::IsSplitView() - { - return iIsSplitView; - } - -#endif // __AKN_FEP_LANGUAGE_MANAGER__H__ -// End of file