fep/aknfep/peninputplugins/peninputimeplugincn/src/pluginfepmanagerbase.cpp
changeset 36 a7632c26d895
parent 35 0f326f2e628e
child 42 b3eaa440ab06
--- a/fep/aknfep/peninputplugins/peninputimeplugincn/src/pluginfepmanagerbase.cpp	Fri Jul 23 16:49:01 2010 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,743 +0,0 @@
-/*
-* Copyright (c) 2002-2005 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:            Layout UI interface base class implementation
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-// System includes
-#include <w32std.h>
-#include <s32mem.h> 
-#include <aknedsts.h>               // CAknEdwinState
-#include <centralrepository.h>
-#include <peninputclient.h>
-#include <aknfeppeninputenums.h>
-#include <AknFepInternalCRKeys.h>
-
-// User includes
-#include "pluginfepmanagerbase.h"
-#include "peninputimeplugincn.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::CPluginFepManagerBase
-// Destructor
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPluginFepManagerBase::~CPluginFepManagerBase()
-    {
-    delete iRepository;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::OnInit
-// Initalize UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::OnInit()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::RetrieveEditorMaxLength
-// Explicitly get ICF max length from layout UI .
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::RetrieveEditorMaxLength()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::UpdateCaseMode
-// Update local copy of case mode.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::UpdateCaseMode( TInt aCaseMode )
-    {
-    iLastCase = aCaseMode; 
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetNumberModeKeyMappingL
-// Set layout UI current number mode.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetNumberModeKeyMappingL(
-                                            TAknEditorNumericKeymap aAknEditorNumericKeymap)
-    {
-    SendCommandToServer(ECmdPenInputEditorNumericKeyMap, aAknEditorNumericKeymap);    
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::HandleKeyL
-// Handle key event.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CPluginFepManagerBase::HandleKeyL( TInt aKey, TKeyPressLength aLength, TEventCode /*aEventCode*/ )
-    {
-    return iHkbUi->HandleKeyL( aKey, aLength );
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::HandleCommandL
-// Handle command come from FEP.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::HandleCommandL( TInt aCommandId )
-    {
-    SendCommandToServer( aCommandId );
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::HandleCommandL
-// Handle command come from FEP.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::HandleCommandL(TInt aCommandId,TInt aParam)
-    {
-    switch ( aCommandId )
-        {
-        case ECmdPenInputRange:
-            {
-            iHkbMode = aParam;
-            }
-            break;
-        case ECmdPenInputPermittedRange:
-            {
-            iLastCase = ECaseInvalide;
-            SetLayoutPermitedRanges( aParam );
-            }
-            break;
-        case ECmdPenInputEditorState:
-            {
-            SetLayoutRange(reinterpret_cast<CAknEdwinState*>(aParam));
-            }
-            break;
-        case ECmdPenInputSetWindowPos:
-            {
-            SetLayoutPosition(*reinterpret_cast<TRect*>(aParam));
-            }
-            break;
-        case ECmdPenInputCaseMode:
-            //if( aParam != iLastCase )
-                {
-                SendCommandToServer( ECmdPenInputCase, aParam );
-                iLastCase = aParam;
-                }
-            break;
-        case ECmdPenInputEditorCustomNumericKeyMap:
-            {
-            TDesC* res = (TDesC*)aParam;
-            TPtrC8 param;
-            param.Set((TUint8*)res->Ptr(), res->Size());
-            SendCommandToServer( aCommandId, param );                    
-            SetNumberModeKeyMappingL((TAknEditorNumericKeymap)EKeymapFromResource);
-            }
-            break;            
-        case ECmdPenInputSuggestRange:
-            iSuggestedRange = aParam;
-            if( iSuggestedRange == ERangeAccent )
-                {
-                iSuggestedRange = ERangeEnglish;
-                }
-            break;
-        case ECmdPenInputSendEditorTextAndCurPos:
-            {
-            TFepInputContextFieldData* pIcfData = 
-                reinterpret_cast<TFepInputContextFieldData*>( aParam );
-                       
-            TInt dataSize = sizeof( TFepInputContextFieldData );
-            TInt textSize = pIcfData->iText.Size();
-            
-			HBufC8* buf = HBufC8::NewLC(dataSize + textSize + 2*sizeof(TInt));
-			TPtr8 bufPtr = buf->Des();
-			
-			RDesWriteStream writeStream;
-			writeStream.Open(bufPtr);
-			CleanupClosePushL(writeStream);
-			
-			writeStream.WriteInt32L(dataSize);
-			writeStream.WriteInt32L(textSize);
-			
-			const TUint8* pData = reinterpret_cast<const TUint8*>( pIcfData );
-			writeStream.WriteL( pData, dataSize );
-        		
-    		const TUint8* pText = reinterpret_cast<const TUint8*>( pIcfData->iText.Ptr() );
-		    writeStream.WriteL( pText, textSize );
-		    
-            writeStream.CommitL();
-        
-            SendCommandToServer( aCommandId, bufPtr );
-    
-			CleanupStack::PopAndDestroy(&writeStream);
-			CleanupStack::PopAndDestroy(buf);
-            }
-            break;
-        case ECmdPenInputSetPromptText:
-            {
-            TFepPromptText* pPromptData = 
-                reinterpret_cast<TFepPromptText*>( aParam );
-                
-            TInt dataSize = sizeof( TFepPromptText );
-            TInt textSize = 0;
-            
-            if (pPromptData->iText.Length())
-                {
-                textSize = pPromptData->iText.Size();
-                }
-            
-			HBufC8* buf = HBufC8::NewLC(dataSize + textSize + 2*sizeof(TInt));
-			TPtr8 bufPtr = buf->Des();
-			
-			RDesWriteStream writeStream;
-			writeStream.Open(bufPtr);
-			CleanupClosePushL(writeStream);
-			
-			writeStream.WriteInt32L(dataSize);
-			writeStream.WriteInt32L(textSize);
-			
-			const TUint8* pData = reinterpret_cast<const TUint8*>( pPromptData );
-			writeStream.WriteL( pData, dataSize );
-        	
-        	if (textSize != 0)
-        	    {
-                const TUint16* pText = pPromptData->iText.Ptr();
-    		    writeStream.WriteL( pText, textSize/2 );
-        	    }
-		    
-            writeStream.CommitL();
-        
-            SendCommandToServer( aCommandId, bufPtr );
-    
-			CleanupStack::PopAndDestroy(&writeStream);
-			CleanupStack::PopAndDestroy(buf);
-            }
-            break;
-        case ECmdPenInputPopupTooltip:
-            {
-            TPtrC* tooltipTextPtr = reinterpret_cast<TPtrC*>( aParam );
-            if ( tooltipTextPtr )
-            	{
-				HBufC8* buf8 = HBufC8::NewLC
-							 ( sizeof( TInt ) + tooltipTextPtr->Size() );
-				TPtr8 buf8Ptr = buf8->Des();
-				RDesWriteStream writeStream;
-				CleanupClosePushL(writeStream);
-				writeStream.Open( buf8Ptr );
-				writeStream.WriteInt32L( tooltipTextPtr->Size() );
-				writeStream.WriteL( tooltipTextPtr->Ptr(), tooltipTextPtr->Length() );
-				writeStream.CommitL();
-				CleanupStack::PopAndDestroy( &writeStream );                        
-				SendCommandToServer( aCommandId, buf8Ptr );            
-				CleanupStack::PopAndDestroy( buf8 );
-            	}
-            }
-            break;
-        case ECmdPenInputPopupCandidateList:
-            {
-            TFepITICandidateList* candidatelist 
-                               = reinterpret_cast<TFepITICandidateList*>( aParam );
-            if ( candidatelist )
-            	{
-				CDesCArray* itemArray = candidatelist->iItemArray;
-				if ( itemArray )
-					{           
-					TInt sumSize = 0;     
-					for ( TInt i = 0; i < itemArray->Count(); i++ )
-						{
-						sumSize += (*itemArray)[i].Size();
-						}
-					HBufC8* buf8 = HBufC8::NewLC( sizeof(TInt) // For active index
-												 + sizeof(TInt) // For the count of item array
-												 + sizeof(TInt)*( itemArray->Count() ) // For the size of each item
-												 + sumSize// For all of char data 
-												 );
-					TPtr8 buf8Ptr = buf8->Des();
-					RDesWriteStream writeStream;
-					CleanupClosePushL(writeStream);                
-					writeStream.Open( buf8Ptr );                
-					writeStream.WriteInt32L( candidatelist->iActiveIndex );
-					writeStream.WriteInt32L( itemArray->Count() );                
-					for ( TInt i = 0; i < itemArray->Count(); i++  )
-						{
-						writeStream.WriteInt32L( (*itemArray)[i].Size() );
-						writeStream.WriteL( (*itemArray)[i].Ptr(), (*itemArray)[i].Length() );
-						}
-					writeStream.CommitL();                 
-					CleanupStack::PopAndDestroy( &writeStream );
-					SendCommandToServer( aCommandId, buf8Ptr );
-					CleanupStack::PopAndDestroy( buf8 );
-					}
-            	}
-            }
-            break;
-        default:
-            SendCommandToServer( aCommandId, aParam );
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::CloseUI
-// Close plugin layout UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::CloseUI()
-    {
-    iPenInputServer->ActivateLayout( EFalse ); 
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::ActivateUI
-// Activate plugin layout UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::ActivateUI()
-    {
-    iPenInputServer->ActivateLayout( ETrue );    
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::EditorMaxLength
-// Get max text length of layout UI ICF control.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CPluginFepManagerBase::EditorMaxLength()
-    {
-    return iMaxEditorLength;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SizeChanged
-// Handle screen size changed.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::ResourceChanged(TInt aType)
-    {
-    iPenInputServer->ResourceChanged(aType);
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetNextFepUI
-// Set underlining UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetNextFepUI( MAknFepManagerInterface* aNextUi )
-    {
-    iHkbUi = aNextUi;    
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SupportLanguage
-// Get support language in sepecfied mode.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CPluginFepManagerBase::SupportLanguage( TInt /*aMode*/ ) const
-    {
-    return iLanguage;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetInputLanguageL
-// Set current language.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetInputLanguageL(TLanguage aLanguage)
-    {
-    iLanguage = aLanguage;
-
-    if(iLanguage == ELangTaiwanChinese ||
-       iLanguage == ELangHongKongChinese ||
-       iLanguage == ELangPrcChinese)
-        {
-    	SendCommandToServer(ECmdPenInputLanguage, (TInt)aLanguage);
-        }
-    else 
-        {
-        // other language except chinese, will treated as English
-        iLanguage = ELangEnglish;
-    	SendCommandToServer(ECmdPenInputLanguage, (TInt)ELangEnglish);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetFepAwareEditorText
-// Set editor text and cursor information to layout UI ICF control.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetFepAwareEditorText(const TFepInputContextFieldData& /*aIcfData*/)
-    {
-    }
-    
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetMode
-// Set layout UI mode.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-#ifdef RD_INTELLIGENT_TEXT_INPUT          
-void CPluginFepManagerBase::SetMode( TInt aMode, TBool aPredictive, 
-                                     TBool aQwertyInputMode, TInt /*aKeyboardType*/)
-#else
-void CPluginFepManagerBase::SetMode( TInt aMode, TBool aPredictive, 
-                                     TBool aQwertyInputMode )
-#endif    
-    {
-    iHkbUi->SetMode(aMode, aPredictive, aQwertyInputMode);
-    }
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    TBool CPluginFepManagerBase::IsValidFnKeyPress() const
-    {
-    return EFalse;
-    }
-    TBool CPluginFepManagerBase::IsValidLongChrKeyPress() const
-    {
-    return EFalse;
-    }
-#endif
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetMode
-// Set layout UI current case.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetCase(TCase aCase)
-    {
-    iHkbUi->SetCase(aCase);
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::ExpireMultitapTimer
-// Compatibile with HKB UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::ExpireMultitapTimer()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::IsValidNumericLongKeyPress
-// Compatibile with HKB UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CPluginFepManagerBase::IsValidNumericLongKeyPress( TInt /*aKey*/ ) const
-    {
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::AddTextToUserDictionaryL
-// Compatibile with HKB UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::AddTextToUserDictionaryL( const TDesC& /*aText*/ )
-    {
-    }
-       
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::GetFormatOfFepInlineText
-// Compatibile with HKB UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::GetFormatOfFepInlineText( 
-                                TCharFormat& /*aFormat*/, 
-                                TInt& /*aNumberOfCharactersWithSameFormat*/, 
-                                TInt /*aPositionOfCharacter*/ ) const
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::IsValidShiftKeyPress
-// Compatibile with HKB UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CPluginFepManagerBase::IsValidShiftKeyPress() const
-    {
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetEditorContext
-// Compatibile with HKB UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetEditorContext( TInt /*aContext*/ )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetEditorContext
-// Compatibile with HKB UI.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetStarKeyFlag( TBool /*aSet*/ )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::CPluginFepManagerBase
-// C++ default constructor.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPluginFepManagerBase::CPluginFepManagerBase(CPenInputImePluginCn& aOwner,
-                                             RPeninputServer* aPenInputServer )
-    :iOwner( aOwner ), iPenInputServer( aPenInputServer )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::BaseConstructL
-// Symbian 2nd phase constructor.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::BaseConstructL()
-    {
-    iRepository = CRepository::NewL( KCRUidAknFep );
-    }
-    
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetLayoutPermitedRanges
-// Set layout permited ranges.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetLayoutPermitedRanges( TInt aPermittedMode )
-    {
-    // Not derived from edwin
-    if ( aPermittedMode == EAknEditorNumericInputMode ) 
-        {
-        iPermittedRange = ERangeNumber;         
-        }
-    else if ( aPermittedMode & EAknEditorTextInputMode )
-        {
-        // Derived from edwin and EAknEditorTextInputMode
-        iPermittedRange = ERangeNative | 
-                          ERangeNumber | 
-                          ERangeEnglish | 
-                          ERangeSymbol;
-        }
-    else if ( aPermittedMode & EAknEditorSecretAlphaInputMode ) 
-        {
-        // Derived from EAknEditorSecretAlphaInputMode 
-        iPermittedRange = ERangeNumber |
-                          ERangeEnglish | 
-                          ERangeSymbol;        
-        }
-    else
-        {
-        iPermittedRange = ERangeNative | 
-                          ERangeNumber | 
-                          ERangeEnglish | 
-                          ERangeSymbol;
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetLayoutRange
-// Set layout primary range.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetLayoutRange(const CAknEdwinState* aEditorState)
-    {
-    //calculate permitted ranges
-    if(aEditorState)
-        {
-        if( aEditorState->Flags() & EAknEditorFlagLatinInputModesOnly &&
-            iPermittedRange & ERangeNative )
-            {
-            iPermittedRange &= ~ERangeNative;
-            }
-        }
-
-    SendCommandToServer( ECmdPenInputPermittedRange, iPermittedRange );
-    
-    TInt priRange;
-    
-    switch( iHkbMode )
-        {
-        case ECangJie:
-        case EStrokeFind:
-        case EStroke:
-        case EPinyin:
-        case EZhuyin:
-        case EZhuyinFind:
-            {
-            priRange = ERangeNative;
-            }
-            break;                 
-        case ENumber:
-            {
-            priRange = ERangeNumber;
-            }
-            break;                 
-        case EPRCFind:
-        case ELatin:
-        case ELatinText:
-        case ELatinUpper:
-        case ELatinLower:
-        default:
-            {
-            priRange = ERangeEnglish;
-            }
-            break;               
-        }
-        
-    if ((iLanguage == ELangEnglish) && (priRange == ERangeNative))
-        {
-        // when language switch button switch to English, if original range is Native, 
-        // then it need to be changed to ERangeEnglish
-    	priRange = ERangeEnglish;
-        }
-        
-    if( iSuggestedRange != ERangeInvalid && (iSuggestedRange & iPermittedRange) )
-        {
-        priRange = iSuggestedRange;
-        iSuggestedRange = ERangeInvalid;
-        }
-
-    SendCommandToServer( ECmdPenInputRange, priRange );  
-    }
-    
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SendCommandToServer
-// Send command to pen input server utility function.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SendCommandToServer( TInt aCommandId )
-    {
-    iPenInputServer->HandleCommand( aCommandId );
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SendCommandToServer
-// Send command to pen input server utility function.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SendCommandToServer( TInt aCommandId, TInt aParam )
-    {
-    TBuf8<sizeof(TInt)> buf;
-    buf.Append( (TUint8*)&aParam, sizeof(TInt) );    
-    SendCommandToServer( aCommandId, buf );
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SendCommandToServer
-// Send command to pen input server utility function.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SendCommandToServer(TInt aCommandId, const TDesC8& aParam)
-    {
-    iPenInputServer->HandleCommand( aCommandId, aParam );        
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::LayoutLastUsedRange
-// Get layout UI last used range.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CPluginFepManagerBase::LayoutLastUsedRange()
-    {
-    TInt value = 0;
-    if( iRepository )
-        {
-        iRepository->Get( KAknFepLastUsedRange, value );
-        }
-        
-    return value;
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::SetLayoutPosition
-// Set layout UI position.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPluginFepManagerBase::SetLayoutPosition( const TRect& pParam )
-    {
-    TBuf8<sizeof( TRect )> buf;
-    buf.Append((TUint8*)&pParam, sizeof(pParam));
-    
-    SendCommandToServer( ECmdPenInputSetWindowPos, buf );
-    }
-
-// -----------------------------------------------------------------------------
-// CPluginFepManagerBase::GetLocalLanguage
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TLanguage CPluginFepManagerBase::GetLocalLanguage( 
-    const CAknEdwinState* aEditorState ) const
-    {
-    TLanguage language = ELangTest;
-    // Check for a local language override
-    if ( aEditorState )
-        {
-        TInt aknEditorFlags = aEditorState->Flags()	;
-        if ( aknEditorFlags & EAknEditorFlagLatinInputModesOnly )
-            {
-            language = ELangEnglish;
-            }
-        else
-            {
-            language = aEditorState->LocalLanguage();
-            }
-        }
-
-    return language;
-    }
-
- // End Of File