diff -r fc42a86c98e3 -r 694fa80c203c textinput/peninputcommonlayout/src/peninputlayoutconfig.cpp --- a/textinput/peninputcommonlayout/src/peninputlayoutconfig.cpp Wed Jun 23 04:57:58 2010 +0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,281 +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: common layout config management -* -*/ - - -// System includes -#include -#include -#include - -// User includes -#include "peninputlayoutconfig.h" -#include "peninputrangebarinfo.h" -#include -#include "peninputclientlayoutinfo.h" -#include "peninputshiftcapsInfo.h" - - -// Constants -const TInt KPeninputLayoutConfigInvalidId = -1; - - -// ======== MEMBER FUNCTIONS ======== - -// --------------------------------------------------------------------------- -// CPeninputLayoutConfig::NewL -// (other items were commented in a header) -// --------------------------------------------------------------------------- -// -EXPORT_C CPeninputLayoutConfig* CPeninputLayoutConfig::NewL( - CAknFepCtrlVkbLayout& aVkblayout, TResourceReader& aReader ) - { - CPeninputLayoutConfig* self = new ( ELeave ) CPeninputLayoutConfig(); - CleanupStack::PushL( self ); - self->ConstructL( aVkblayout, aReader ); - CleanupStack::Pop( self ); - - return self; - } - -// --------------------------------------------------------------------------- -// CPeninputLayoutConfig::CPeninputLayoutConfig -// (other items were commented in a header) -// --------------------------------------------------------------------------- -// -CPeninputLayoutConfig::CPeninputLayoutConfig() - : iLanguageString( NULL ), iRangeBarInfo( NULL ) - { - } - -// --------------------------------------------------------------------------- -// CPeninputLayoutConfig::ConstructL -// (other items were commented in a header) -// --------------------------------------------------------------------------- -// -void CPeninputLayoutConfig::ConstructL( CAknFepCtrlVkbLayout& aVkblayout, - TResourceReader& aReader ) - { - TResourceReader reader; - TInt count = 0; - TInt i = 0; - - iLanguage = aReader.ReadInt16(); - iLanguageString = aReader.ReadHBufCL(); - - if ( aReader.ReadInt16() != 0 ) - { - iCaseSensitive = ETrue; - } - else - { - iCaseSensitive = EFalse; - } - - iGuideLine = aReader.ReadInt16(); - iPositionTopLine = aReader.ReadInt16(); - iPositionBottomLine = aReader.ReadInt16(); - - const TInt32 clientLayoutInfoListResId = aReader.ReadInt32(); - const TInt32 vkbLayoutInfoListResId = aReader.ReadInt32(); - const TInt32 rangeBarInfoResId = aReader.ReadInt32(); - const TInt32 shiftCapsInfoResId = aReader.ReadInt32(); - - iRangeBarResId = aReader.ReadInt32(); - - // Create client layout list - if ( clientLayoutInfoListResId > 0 ) - { - CCoeEnv::Static()->CreateResourceReaderLC( reader, clientLayoutInfoListResId ); - - count = reader.ReadInt16(); - for ( i = 0; i < count; i++ ) - { - CPeninputClientLayoutInfo* clientLayoutInfo = - CPeninputClientLayoutInfo::NewL( reader ); - iClientLayoutInfoList.Append( clientLayoutInfo ); - } - // Pop and destroy reader - CleanupStack::PopAndDestroy( 1 ); - } - - // Create vkb layout list - if ( vkbLayoutInfoListResId > 0 ) - { - aVkblayout.SetResourceId( vkbLayoutInfoListResId ); - aVkblayout.ConstructFromResourceL(); - iVkbLayoutInfoList = aVkblayout.VkbLayoutInfoList(); - } - - // Create range bar - if ( rangeBarInfoResId > 0 ) - { - CCoeEnv::Static()->CreateResourceReaderLC( reader, rangeBarInfoResId ); - iRangeBarInfo = CPeninputRangeBarInfo::NewL( reader ); - // Pop and destroy reader - CleanupStack::PopAndDestroy( 1 ); - } - - // Create shift & caps - if ( shiftCapsInfoResId > 0 ) - { - CCoeEnv::Static()->CreateResourceReaderLC( reader, shiftCapsInfoResId ); - count = reader.ReadInt16(); - for ( i = 0; i < count; i++ ) - { - CPeninputShiftCapsInfo* shiftCapsInfo = - CPeninputShiftCapsInfo::NewL( reader ); - iShiftCapsInfoList.Append( shiftCapsInfo ); - } - // Pop and destroy reader - CleanupStack::PopAndDestroy( 1 ); - } - } - -// --------------------------------------------------------------------------- -// CPeninputLayoutConfig::~CPeninputLayoutConfig -// (other items were commented in a header) -// --------------------------------------------------------------------------- -// -EXPORT_C CPeninputLayoutConfig::~CPeninputLayoutConfig() - { - delete iLanguageString; - delete iRangeBarInfo; - iClientLayoutInfoList.ResetAndDestroy(); - iShiftCapsInfoList.ResetAndDestroy(); - } - -// --------------------------------------------------------------------------- -// CPeninputLayoutConfig::FindClientLayoutInfo -// (other items were commented in a header) -// --------------------------------------------------------------------------- -// -EXPORT_C CPeninputClientLayoutInfo* - CPeninputLayoutConfig::FindClientLayoutInfo( TInt aLayoutId ) - { - const TInt count = iClientLayoutInfoList.Count(); - - for ( TInt i = 0; i < count; i++ ) - { - if ( iClientLayoutInfoList[i]->LayoutID() == aLayoutId ) - { - return iClientLayoutInfoList[i]; - } - } - - return NULL; - } - -// --------------------------------------------------------------------------- -// CPeninputLayoutConfig::FindVkbLayoutInfo -// (other items were commented in a header) -// --------------------------------------------------------------------------- -// -EXPORT_C CPeninputVkbLayoutInfo* - CPeninputLayoutConfig::FindVkbLayoutInfo( TInt aLayoutId ) - { - const TInt count = iVkbLayoutInfoList.Count(); - - for ( TInt i = 0; i < count; i++ ) - { - if ( iVkbLayoutInfoList[i]->LayoutID() == aLayoutId ) - { - return iVkbLayoutInfoList[i]; - } - } - - return NULL; - } - -// --------------------------------------------------------------------------- -// CPeninputLayoutConfig::FindShiftCapsInfo -// (other items were commented in a header) -// --------------------------------------------------------------------------- -// -EXPORT_C CPeninputShiftCapsInfo* - CPeninputLayoutConfig::FindShiftCapsInfo( TInt aRangeId ) - { - const TInt count = iShiftCapsInfoList.Count(); - - for ( TInt i = 0; i < count; i++ ) - { - if ( iShiftCapsInfoList[i]->RangeId() == aRangeId ) - { - return iShiftCapsInfoList[i]; - } - } - - return NULL; - } - -// --------------------------------------------------------------------------- -// CPeninputLayoutConfig::ShiftCapsSingleVkbLayoutId -// (other items were commented in a header) -// --------------------------------------------------------------------------- -// -EXPORT_C TInt CPeninputLayoutConfig::ShiftCapsSingleVkbLayoutId( - TInt aRangeId, TInt aShiftCapsSingleId ) - { - CPeninputShiftCapsInfo* shiftCapsInfo = FindShiftCapsInfo( aRangeId ); - - if ( !shiftCapsInfo ) - { - return KPeninputLayoutConfigInvalidId; - } - else - { - CPeninputShiftCapsInfo::TPeninputShiftCapsSingle* shiftCapsSingle = - shiftCapsInfo->FindShiftCapsSingleById( aShiftCapsSingleId ); - if ( shiftCapsSingle ) - { - return shiftCapsSingle->iVkbLayoutId; - } - else - { - return KPeninputLayoutConfigInvalidId; - } - } - } - - -// --------------------------------------------------------------------------- -// CPeninputLayoutConfig::FindVkbLayoutIdByCase -// (other items were commented in a header) -// --------------------------------------------------------------------------- -// -EXPORT_C TInt CPeninputLayoutConfig::ShiftCapsSingleVkbLayoutByCase( - TInt aRangeId, TInt aCase ) - { - CPeninputShiftCapsInfo* shiftCapsInfo = FindShiftCapsInfo( aRangeId ); - - if ( !shiftCapsInfo ) - { - return KPeninputLayoutConfigInvalidId; - } - else - { - CPeninputShiftCapsInfo::TPeninputShiftCapsSingle* shiftCapsSingle = - shiftCapsInfo->FindShiftCapsSingleByCase( aCase ); - if ( shiftCapsSingle ) - { - return shiftCapsSingle->iVkbLayoutId; - } - else - { - return KPeninputLayoutConfigInvalidId; - } - } - }